@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";.notification-bell-anchor{position:relative;display:inline-flex}.notification-bell{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-md, 12px);background:var(--paper, #ffffff);color:var(--slate-700, #334155);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.notification-bell:hover,.notification-bell[aria-expanded=true]{border-color:var(--slate-300, #cbd5e1);background:var(--slate-100, #f1f5f9)}.notification-bell:focus-visible{outline:2px solid var(--blue-600, #2563eb);outline-offset:2px}.notification-bell__badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rose-600, #be123c);box-shadow:0 0 0 2px var(--paper, #ffffff);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}.notification-panel{box-sizing:border-box;position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:flex;flex-direction:column;width:min(380px,calc(100vw - 32px));max-height:min(480px,calc(100vh - 96px));overflow:hidden;border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-md, 12px);background:var(--paper, #ffffff);box-shadow:var(--shadow-lg, 0 18px 40px rgba(15, 31, 61, .18));color:var(--slate-700, #334155)}.notification-panel:focus{outline:none}.notification-panel:focus-visible{outline:2px solid var(--blue-600, #2563eb);outline-offset:2px}.notification-panel__header{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--line, #e2e8f0)}.notification-panel__title{flex:1;margin:0;color:var(--navy-900, #0f1f3d);font-size:15px;font-weight:700}.notification-panel__read-all,.notification-panel__close{padding:4px 8px;border:0;border-radius:8px;background:none;font:inherit;cursor:pointer}.notification-panel__read-all{color:var(--blue-600, #2563eb);font-size:13px;font-weight:600}.notification-panel__read-all:disabled{color:var(--slate-500, #64748b);cursor:default}.notification-panel__close{color:var(--slate-500, #64748b);font-size:20px;line-height:1}.notification-panel__read-all:hover:not(:disabled),.notification-panel__close:hover{background:var(--slate-100, #f1f5f9)}.notification-panel__read-all:focus-visible,.notification-panel__close:focus-visible,.notification-item:focus-visible{outline:2px solid var(--blue-600, #2563eb);outline-offset:-2px}.notification-panel__error{margin:0;padding:8px 16px;background:var(--rose-100, #ffe4e6);color:var(--rose-600, #be123c);font-size:13px}.notification-panel__list{margin:0;padding:4px 0;overflow-y:auto;overscroll-behavior:contain;list-style:none}.notification-panel__empty,.notification-panel__loading{margin:0;padding:28px 16px;color:var(--slate-500, #64748b);font-size:14px;text-align:center}.notification-item{box-sizing:border-box;display:grid;grid-template-areas:"dot title date" ". platforms platforms" ". body body" ". state state";grid-template-columns:8px minmax(0,1fr) auto;gap:2px 10px;width:100%;padding:10px 16px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease}.notification-item:hover{background:var(--slate-100, #f1f5f9)}.notification-item__dot{grid-area:dot;width:8px;height:8px;margin-top:6px;border-radius:50%;background:transparent}.notification-item.is-unread .notification-item__dot{background:var(--blue-600, #2563eb)}.notification-item__title{grid-area:title;min-width:0;color:var(--slate-700, #334155);font-size:14px;font-weight:600;overflow-wrap:anywhere}.notification-item.is-unread .notification-item__title{color:var(--navy-900, #0f1f3d);font-weight:700}.notification-item__date{grid-area:date;color:var(--slate-500, #64748b);font-size:12px;white-space:nowrap}.notification-item__platforms{grid-area:platforms;color:var(--blue-700, #1d4ed8);font-size:11px;font-weight:700;letter-spacing:.04em}.notification-item__body{display:-webkit-box;grid-area:body;overflow:hidden;color:var(--slate-500, #64748b);font-size:13px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.notification-item.is-announcement .notification-item__body{display:block;overflow:visible;white-space:pre-wrap;-webkit-line-clamp:unset}.notification-item__state{grid-area:state;color:var(--slate-500, #64748b);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.notification-item.is-unread .notification-item__state{color:var(--blue-600, #2563eb)}@media(max-width:699px){.notification-panel{position:fixed;top:var(--notification-panel-top, 64px);right:8px;left:8px;width:auto;max-height:calc(100vh - var(--notification-panel-top, 64px) - 16px)}}@media(prefers-reduced-motion:reduce){.notification-bell,.notification-item{transition:none}}.draft-notice{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 12px;padding:8px 12px;border-radius:10px;background:#2563eb14;color:inherit;font-size:.85rem;line-height:1.35}.draft-notice__label{font-weight:600}.draft-notice__hint{opacity:.8}.draft-notice__discard{margin-left:auto;border:0;background:none;padding:4px 6px;color:inherit;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;min-height:32px}.draft-notice__discard:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:6px}.timeline{position:relative;--timeline-track: 56px;--timeline-bar-height: 36px;--timeline-bar-offset: 10px;--timeline-video-lane: 22px;--timeline-video-bar-height: 18px;min-width:0;overflow:hidden;border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-md, 12px);background:var(--paper, #ffffff)}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line, #e2e8f0)}.timeline-nav{display:flex;align-items:center;gap:4px}.timeline-toolbar-main{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.timeline-filter{display:inline-flex;padding:2px;border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-sm, 8px);background:var(--slate-100, #f1f5f9)}.timeline-filter-button{min-height:26px;padding:0 10px;border:0;border-radius:6px;color:var(--slate-600, #475569);font:inherit;font-size:11px;font-weight:700;background:transparent;cursor:pointer}.timeline-filter-button[aria-checked=true]{color:var(--navy-900, #0f1f3d);background:var(--paper, #ffffff);box-shadow:0 1px 2px #0e316033}.timeline-nav-button,.timeline-today-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-sm, 8px);color:var(--slate-700, #334155);font:inherit;font-size:12px;font-weight:700;background:var(--paper, #ffffff);cursor:pointer}.timeline-nav-button{width:32px;padding:0}.timeline-nav-button:hover,.timeline-today-button:hover{border-color:var(--slate-300, #cbd5e1);color:var(--navy-900, #0f1f3d)}.timeline-period{margin:0;color:var(--slate-600, #475569);font-size:11px;font-weight:700;text-transform:capitalize}.timeline-empty{margin:0;padding:28px 22px;color:var(--slate-500, #64748b);font-size:13px;text-align:center}.timeline-scroll{overflow-x:auto;padding-bottom:9px;scrollbar-color:var(--slate-300, #cbd5e1) transparent}.timeline-grid{display:grid;min-width:980px;grid-template-columns:180px minmax(800px,1fr)}.timeline-axis-label{display:flex;align-items:end;padding:0 18px 9px 22px;border-bottom:1px solid var(--line, #e2e8f0);color:var(--slate-500, #64748b);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.timeline-axis{display:grid;grid-template-columns:repeat(var(--day-count),minmax(38px,1fr));border-bottom:1px solid var(--line, #e2e8f0)}.timeline-day{display:flex;min-height:43px;align-items:center;justify-content:center;flex-direction:column;gap:3px;border-left:1px solid #edf1f5;color:var(--slate-500, #64748b);font-size:9px;text-transform:capitalize}.timeline-day strong{color:var(--slate-700, #334155);font-size:12px}.timeline-day.is-today strong,.timeline-day.is-today span{color:var(--blue-600, #2563eb)}.timeline-row{display:contents}.timeline-client{display:flex;width:100%;min-height:calc(var(--track-count) * var(--timeline-track) + var(--lane-count, 0) * var(--timeline-video-lane));align-items:flex-start;gap:9px;padding:14px 12px 10px 22px;border:0;border-bottom:1px solid var(--line, #e2e8f0);color:inherit;font:inherit;text-align:left;background:var(--paper, #ffffff)}button.timeline-client{cursor:pointer}button.timeline-client:hover strong{color:var(--blue-600, #2563eb)}.timeline-client-dot{width:8px;height:8px;flex:none;margin-top:4px;border-radius:3px;background:#6d87ab;box-shadow:0 0 0 3px #e8eef6}.timeline-client-dot.timeline-tone-blue{background:var(--blue-600, #2563eb)}.timeline-client-dot.timeline-tone-teal{background:var(--teal-600, #0f766e)}.timeline-client-dot.timeline-tone-amber{background:var(--amber-600, #b45309)}.timeline-client-dot.timeline-tone-rose{background:var(--rose-600, #be123c)}.timeline-client-dot.timeline-tone-violet{background:var(--violet-600, #6d28d9)}.timeline-client-dot.timeline-tone-slate{background:var(--slate-500, #64748b)}.timeline-client-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.timeline-client strong{overflow:hidden;color:var(--slate-800, #1e293b);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.timeline-client small{color:var(--slate-500, #64748b);font-size:9px}.timeline-row.is-highlighted>.timeline-client,.timeline-row.is-highlighted>.timeline-lane{background:var(--blue-100, #dbeafe)}.timeline-lane{position:relative;display:grid;min-height:calc(var(--track-count) * var(--timeline-track) + var(--lane-count, 0) * var(--timeline-video-lane));grid-template-columns:repeat(var(--day-count),minmax(38px,1fr));border-bottom:1px solid var(--line, #e2e8f0);background:var(--paper, #ffffff)}.timeline-cell{border-left:1px solid #edf1f5}.timeline-cell.is-today{background:#2a70ce0b}.timeline-project{position:absolute;z-index:1;left:calc(var(--project-left) * (100% / var(--day-count)));width:calc(var(--project-width) * (100% / var(--day-count)) - 6px);min-width:45px;top:calc(var(--project-track) * var(--timeline-track) + var(--lanes-before, 0) * var(--timeline-video-lane) + var(--timeline-bar-offset));display:flex;height:var(--timeline-bar-height);flex-direction:column;justify-content:center;align-items:stretch;gap:2px;overflow:hidden;padding:4px 7px;border:0;border-left:3px solid currentColor;border-radius:5px;color:var(--blue-700, #1d4ed8);font:inherit;text-align:left;background:var(--blue-100, #dbeafe);cursor:pointer;transition:box-shadow .15s,transform .15s}button.timeline-project:hover{z-index:3;box-shadow:0 4px 12px #0e316033;transform:translateY(-1px)}.timeline-project:not(button){cursor:default}.timeline-project-title{overflow:hidden;font-size:9px;font-weight:800;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.timeline-project-meta{overflow:hidden;font-size:8px;font-weight:600;line-height:10px;text-overflow:ellipsis;white-space:nowrap;opacity:.72}.timeline-project-blue{color:var(--blue-600, #2563eb);background:var(--blue-100, #dbeafe)}.timeline-project-teal{color:var(--teal-600, #0f766e);background:var(--teal-100, #ccfbf1)}.timeline-project-amber{color:var(--amber-600, #b45309);background:var(--amber-100, #fef3c7)}.timeline-project-violet{color:var(--violet-600, #6d28d9);background:var(--violet-100, #ede9fe)}.timeline-project-slate{color:var(--slate-600, #475569);background:var(--slate-100, #f1f5f9)}.timeline-project.is-open-ended{border-top-right-radius:0;border-bottom-right-radius:0}.timeline-project.is-open-ended:after{content:"";position:absolute;z-index:0;inset:0 0 0 70%;border-radius:inherit;background:linear-gradient(to right,transparent,var(--timeline-fade-to, var(--paper, #ffffff)));pointer-events:none}.timeline-row.is-highlighted{--timeline-fade-to: var(--blue-100, #dbeafe)}.timeline-video{position:absolute;z-index:4;box-sizing:border-box;width:12px;height:12px;padding:0;border:2px solid var(--paper, #ffffff);border-radius:50%;background:var(--slate-500, #64748b);box-shadow:0 0 0 1px #0f1f3d38;cursor:default;left:calc((var(--video-left) + .5) * (100% / var(--day-count)) - 6px + var(--video-slot, 0) * 9px);top:calc(var(--video-track) * var(--timeline-track) + var(--lanes-before, 0) * var(--timeline-video-lane) + var(--timeline-bar-offset) + var(--timeline-bar-height) - 7px);transition:transform .12s}button.timeline-video{cursor:pointer}button.timeline-video:hover{z-index:5;transform:scale(1.25)}.timeline-video-blue{background:var(--blue-600, #2563eb)}.timeline-video-teal{background:var(--teal-600, #0f766e)}.timeline-video-amber{background:var(--amber-600, #b45309)}.timeline-video-violet{background:var(--violet-600, #6d28d9)}.timeline-video-slate{background:var(--slate-500, #64748b)}.timeline-video.is-done{opacity:.45}.timeline-video.is-overdue{box-shadow:0 0 0 2px var(--rose-600, #be123c)}.timeline-video.is-outside{outline:1px dashed var(--slate-500, #64748b);outline-offset:1px}.timeline-video.is-cluster{width:auto;min-width:22px;height:16px;padding:0 5px;border-radius:8px;color:var(--paper, #ffffff);background:var(--navy-900, #0f1f3d);font-family:inherit;font-size:9px;font-weight:800;line-height:1;top:calc(var(--video-track) * var(--timeline-track) + var(--lanes-before, 0) * var(--timeline-video-lane) + var(--timeline-bar-offset) + var(--timeline-bar-height) - 9px)}.timeline-video-bar{position:absolute;z-index:2;box-sizing:border-box;left:calc(var(--video-left) * (100% / var(--day-count)));width:calc(var(--video-width) * (100% / var(--day-count)) - 6px);min-width:20px;top:calc(var(--video-track) * var(--timeline-track) + var(--lanes-before, 0) * var(--timeline-video-lane) + var(--timeline-bar-offset) + var(--timeline-bar-height) + 3px + var(--video-lane) * var(--timeline-video-lane));display:flex;height:var(--timeline-video-bar-height);align-items:center;padding:0 8px;border:1px solid currentColor;border-radius:5px;color:var(--slate-600, #475569);font:inherit;text-align:left;background:var(--slate-100, #f1f5f9);cursor:default;transition:box-shadow .12s,transform .12s}button.timeline-video-bar{cursor:pointer}button.timeline-video-bar:hover{z-index:3;box-shadow:0 3px 8px #0e31602e}.timeline-video-bar-title{overflow:hidden;font-size:9px;font-weight:700;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.timeline-video-bar-blue{color:var(--blue-600, #2563eb);background:var(--blue-100, #dbeafe)}.timeline-video-bar-teal{color:var(--teal-600, #0f766e);background:var(--teal-100, #ccfbf1)}.timeline-video-bar-amber{color:var(--amber-600, #b45309);background:var(--amber-100, #fef3c7)}.timeline-video-bar-violet{color:var(--violet-600, #6d28d9);background:var(--violet-100, #ede9fe)}.timeline-video-bar-slate{color:var(--slate-600, #475569);background:var(--slate-100, #f1f5f9)}.timeline-video-bar.is-auto{border-style:dashed;background:var(--paper, #ffffff)}.timeline-video-bar.is-done{opacity:.5}.timeline-video-bar.is-overdue{box-shadow:0 0 0 2px var(--rose-600, #be123c)}.timeline-video-bar.is-draggable{cursor:grab}.timeline .timeline-video-bar.is-dragging{opacity:.45;box-shadow:none;transform:none}.timeline-ghost.is-video{min-width:20px;height:var(--timeline-video-bar-height);top:calc(var(--ghost-track) * var(--timeline-track) + var(--lanes-before, 0) * var(--timeline-video-lane) + var(--timeline-bar-offset) + var(--timeline-bar-height) + 3px + var(--ghost-lane, 0) * var(--timeline-video-lane));border-radius:5px}.timeline-legend-bar{width:18px;height:8px;box-sizing:border-box;border:1px solid var(--slate-500, #64748b);border-radius:3px;background:var(--slate-100, #f1f5f9)}.timeline-legend-bar.is-auto{border-style:dashed;background:var(--paper, #ffffff)}.timeline-legend-bar.is-overdue{box-shadow:0 0 0 2px var(--rose-600, #be123c)}.timeline-legend-bar.is-done{opacity:.5}.timeline-appointment{position:absolute;z-index:4;left:calc((var(--appt-left) + .5) * (100% / var(--day-count)) - 8px);top:calc(var(--appt-track) * var(--timeline-track) + var(--lanes-before, 0) * var(--timeline-video-lane) + 2px);display:grid;width:16px;height:16px;place-items:center;padding:0;border:1.5px solid var(--rose-600, #be123c);border-radius:50%;color:var(--rose-600, #be123c);background:var(--paper, #ffffff);box-shadow:0 1px 3px #0e316026;cursor:pointer}.timeline-legend{display:flex;flex-wrap:wrap;gap:16px;padding:14px 22px 17px;color:var(--slate-500, #64748b);font-size:9px}.timeline-legend span{display:flex;align-items:center;gap:6px}.timeline-legend-swatch{width:7px;height:7px;border-radius:2px}.timeline-legend-blue{background:var(--blue-600, #2563eb)}.timeline-legend-teal{background:var(--teal-600, #0f766e)}.timeline-legend-amber{background:var(--amber-600, #b45309)}.timeline-legend-violet{background:var(--violet-600, #6d28d9)}.timeline-legend-open{width:18px;background:linear-gradient(to right,var(--slate-500, #64748b) 40%,transparent)}.timeline-legend-appointment{border:1.5px solid var(--rose-600, #be123c);border-radius:50%;background:var(--paper, #ffffff)}.timeline-legend-video{width:8px;height:8px;border-radius:50%;background:var(--slate-500, #64748b);box-shadow:0 0 0 1px var(--paper, #ffffff),0 0 0 2px #0f1f3d38}.timeline-legend-video.is-done{opacity:.45}.timeline-legend-video.is-overdue{box-shadow:0 0 0 1px var(--paper, #ffffff),0 0 0 3px var(--rose-600, #be123c)}.timeline-legend-cluster{display:inline-grid;place-items:center;min-width:16px;height:12px;padding:0 3px;border-radius:6px;background:var(--navy-900, #0f1f3d);color:var(--paper, #ffffff);font-size:7px;font-weight:800;font-style:normal}.timeline :focus-visible{outline:2px solid var(--blue-600, #2563eb);outline-offset:2px}@media(min-width:720px){.timeline.is-interactive .timeline-lane{touch-action:pan-y;-webkit-user-select:none;user-select:none}}.timeline.can-create .timeline-cell{cursor:cell}.timeline.can-move-projects .timeline-project{cursor:grab}.timeline.is-dragging,.timeline.is-dragging *{cursor:grabbing}.timeline .timeline-project.is-dragging,.timeline .timeline-appointment.is-dragging{opacity:.45;box-shadow:none;transform:none}.timeline-handle{position:absolute;z-index:2;top:0;bottom:0;width:8px;cursor:ew-resize}.timeline-handle.is-start{left:0}.timeline-handle.is-end{right:0}.timeline-handle:hover{background:#0f1f3d1f}.timeline-ghost{position:absolute;z-index:5;left:calc(var(--ghost-left) * (100% / var(--day-count)));width:calc(var(--ghost-width) * (100% / var(--day-count)) - 6px);top:calc(var(--ghost-track) * var(--timeline-track) + var(--lanes-before, 0) * var(--timeline-video-lane) + var(--timeline-bar-offset));height:var(--timeline-bar-height);min-width:45px;border:2px dashed var(--blue-600, #2563eb);border-radius:5px;background:#2563eb14;pointer-events:none;transition:left .08s,width .08s}.timeline-ghost.is-appointment{left:calc((var(--ghost-left) + .5) * (100% / var(--day-count)) - 8px);width:16px;min-width:0;height:16px;top:calc(var(--ghost-track) * var(--timeline-track) + var(--lanes-before, 0) * var(--timeline-video-lane) + 2px);border-color:var(--rose-600, #be123c);border-radius:50%}.timeline-ghost.is-select{left:calc(var(--ghost-left) * (100% / var(--day-count)) + 1px);width:calc(var(--ghost-width) * (100% / var(--day-count)) - 2px);min-width:0;top:4px;bottom:4px;height:auto}.timeline-add-row{display:flex;grid-column:1 / -1;width:100%;min-height:44px;align-items:center;padding:0 22px;border:0;border-bottom:1px dashed var(--line, #e2e8f0);color:var(--blue-600, #2563eb);font:inherit;font-size:12px;font-weight:700;text-align:left;background:transparent;cursor:pointer}.timeline-add-row:hover{background:var(--blue-100, #dbeafe)}.timeline-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:719px){.timeline-handle{display:none}.timeline.can-move-projects .timeline-project{cursor:pointer}.timeline.can-create .timeline-cell{cursor:default}.timeline-video-bar.is-draggable{cursor:pointer}}@media(max-width:1099px){.timeline-grid{grid-template-columns:160px minmax(800px,1fr)}}@media(max-width:699px){.timeline-toolbar{align-items:flex-start;flex-direction:column;padding-inline:16px}.timeline-legend{padding-inline:16px}.timeline-grid{grid-template-columns:150px minmax(800px,1fr)}.timeline-axis-label{padding-left:16px}.timeline-client{position:sticky;left:0;z-index:6;padding-left:16px}}@media(prefers-reduced-motion:reduce){.timeline-project{transition:none}button.timeline-project:hover{transform:none}.timeline-ghost,.timeline-video{transition:none}button.timeline-video:hover{transform:none}.timeline-video-bar{transition:none}}.kanban{position:relative;min-width:0;overflow:clip;border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-md, 12px);background:var(--paper, #ffffff);--kanban-cell: #f7f9fc;--kanban-ghost: rgba(42, 112, 206, .14)}.kanban-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--line, #e2e8f0)}.kanban-toolbar-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kanban-scroll{overflow-x:auto;padding-bottom:6px;scrollbar-color:var(--slate-300, #cbd5e1) transparent}.kanban-grid{display:grid;min-width:1040px;grid-template-columns:112px repeat(var(--kanban-columns, 6),minmax(150px,1fr))}.kanban-corner{grid-row:1;grid-column:1;border-bottom:1px solid var(--line, #e2e8f0);background:var(--paper, #ffffff)}.kanban-column-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid var(--line, #e2e8f0);border-left:1px solid var(--line, #e2e8f0);color:var(--slate-800, #1e293b);font-size:11px;font-weight:800;background:var(--paper, #ffffff)}.kanban-column-head.is-terminal{color:var(--slate-600, #475569)}.kanban-count{margin-left:auto;display:inline-grid;min-width:18px;height:18px;padding:0 5px;place-items:center;border-radius:99px;color:var(--slate-600, #475569);font-size:10px;font-weight:800;background:var(--slate-100, #f1f5f9)}.kanban-dot{width:7px;height:7px;flex:none;border-radius:2px;background:var(--slate-500, #64748b)}.kanban-dot-blue{background:var(--blue-600, #2563eb)}.kanban-dot-teal{background:var(--teal-600, #0f766e)}.kanban-dot-amber{background:var(--amber-600, #b45309)}.kanban-dot-violet{background:var(--violet-600, #6d28d9)}.kanban-dot-rose{background:var(--rose-600, #be123c)}.kanban-dot-slate{background:var(--slate-500, #64748b)}.kanban-row-label{position:sticky;left:0;z-index:1;display:flex;flex-direction:column;gap:3px;padding:12px;border-bottom:1px solid var(--line, #e2e8f0);color:var(--slate-800, #1e293b);font-size:11px;font-weight:800;background:var(--paper, #ffffff)}.kanban-row-label small{color:var(--slate-500, #64748b);font-size:10px;font-weight:600}.kanban-row-label.is-late{color:var(--rose-600, #be123c)}.kanban-cell{display:flex;flex-direction:column;gap:8px;min-height:64px;padding:10px 8px;border-bottom:1px solid var(--line, #e2e8f0);border-left:1px solid var(--line, #e2e8f0);background:var(--kanban-cell);transition:background .15s,box-shadow .15s}.kanban-cell.is-target{box-shadow:inset 0 0 0 2px var(--blue-600, #2563eb);background:var(--kanban-ghost)}.kanban-cell.is-target.is-over{background:var(--blue-100, #dbeafe)}.kanban-cell.is-blocked{background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(133,146,165,.12) 6px 8px)}.kanban-cell.is-terminal{min-height:100%;max-height:420px;overflow-y:auto}.kanban-older{margin-top:auto;padding-top:6px;color:var(--slate-500, #64748b);font-size:10px;font-weight:700}.kanban-ghost{position:fixed;z-index:30;display:flex;flex-direction:column;gap:4px;max-width:220px;padding:8px 9px 8px 10px;border-left:3px solid var(--kanban-tone, var(--blue-600, #2563eb));border-radius:6px;color:inherit;font-size:11px;background:var(--paper, #ffffff);box-shadow:0 12px 34px #10244238;pointer-events:none}.kanban-card{position:relative;display:flex;flex-direction:column;gap:5px;padding:8px 9px 8px 10px;border-left:3px solid var(--kanban-tone, var(--blue-600, #2563eb));border-radius:6px;color:inherit;font-size:11px;text-align:left;background:var(--paper, #ffffff);box-shadow:0 1px 2px #10244214;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:box-shadow .15s,transform .15s}.kanban-card:hover{box-shadow:0 4px 12px #0e31602e;transform:translateY(-1px)}.kanban-card:focus-visible{outline:3px solid rgba(42,112,206,.4);outline-offset:2px}.kanban-card.is-static{cursor:pointer}.kanban-card.is-dragging{opacity:.45}.kanban.is-dragging .kanban-card{pointer-events:none}.kanban.is-dragging .kanban-card[aria-grabbed=true]{pointer-events:auto}.kanban-tone-blue{--kanban-tone: var(--blue-600, #2563eb)}.kanban-tone-teal{--kanban-tone: var(--teal-600, #0f766e)}.kanban-tone-amber{--kanban-tone: var(--amber-600, #b45309)}.kanban-tone-violet{--kanban-tone: var(--violet-600, #6d28d9)}.kanban-tone-rose{--kanban-tone: var(--rose-600, #be123c)}.kanban-tone-slate{--kanban-tone: var(--slate-500, #64748b)}.kanban-card-eyebrow{overflow:hidden;color:var(--slate-500, #64748b);font-size:9.5px;font-weight:700;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;padding-right:22px}.kanban-card-title{color:var(--navy-900, #0f1f3d);font-size:11.5px;font-weight:700;line-height:1.25}.kanban-correction-badge{align-self:flex-start;padding:2px 6px;border:1px solid #fed7aa;border-radius:999px;color:#9a3412;background:#fff7ed;font:inherit;font-size:9px;font-weight:700;line-height:1.25;text-align:left}button.kanban-correction-badge{cursor:pointer}button.kanban-correction-badge:hover{border-color:#fb923c;background:#ffedd5}button.kanban-correction-badge:focus-visible{outline:2px solid var(--blue-600, #2563eb);outline-offset:2px}.kanban-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--slate-600, #475569);font-size:10px}.kanban-due{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-variant-numeric:tabular-nums}.kanban-due.is-late{color:var(--rose-600, #be123c)}.kanban-due.is-soon{color:var(--amber-600, #b45309)}.kanban-avatar{display:inline-grid;width:18px;height:18px;place-items:center;border-radius:50%;color:var(--slate-700, #334155);font-size:8.5px;font-weight:800;background:var(--slate-100, #f1f5f9)}.kanban-avatar.is-empty{border:1px dashed var(--slate-300, #cbd5e1);color:var(--slate-500, #64748b);background:transparent}.kanban-card-note{color:var(--slate-600, #475569)}.kanban-progress{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-variant-numeric:tabular-nums}.kanban-bar{display:inline-block;width:34px;height:4px;overflow:hidden;border-radius:2px;background:var(--slate-100, #f1f5f9)}.kanban-bar i{display:block;height:100%;background:var(--kanban-tone, var(--blue-600, #2563eb))}.kanban-badge{align-self:flex-start;padding:2px 6px;border-radius:99px;color:var(--rose-600, #be123c);font-size:8.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--rose-100, #ffe4e6)}.kanban-menu{position:absolute;top:4px;right:4px}.kanban-menu-button{width:22px;height:22px;padding:0;border:0;border-radius:6px;color:var(--slate-500, #64748b);font:inherit;font-weight:800;line-height:1;background:transparent;cursor:pointer}.kanban-menu-button:hover,.kanban-menu-button[aria-expanded=true]{color:var(--navy-900, #0f1f3d);background:var(--slate-100, #f1f5f9)}.kanban-menu-list{position:absolute;z-index:5;right:0;top:24px;min-width:160px;margin:0;padding:4px;list-style:none;border:1px solid var(--line, #e2e8f0);border-radius:8px;background:var(--paper, #ffffff);box-shadow:0 12px 34px #10244224}.kanban-menu-list button{display:block;width:100%;padding:7px 9px;border:0;border-radius:6px;color:var(--slate-800, #1e293b);font:inherit;font-size:11px;font-weight:700;text-align:left;background:transparent;cursor:pointer}.kanban-menu-list button:hover{background:var(--blue-100, #dbeafe)}.kanban-live{margin:0;min-height:30px;padding:8px 18px;border-top:1px solid var(--line, #e2e8f0);color:var(--slate-600, #475569);font-size:11.5px}.kanban-empty{margin:0;padding:28px 22px;color:var(--slate-500, #64748b);font-size:13px;text-align:center}.kanban-legend{display:flex;flex-wrap:wrap;gap:14px;padding:12px 18px;border-top:1px solid var(--line, #e2e8f0);color:var(--slate-500, #64748b);font-size:10px}.kanban-legend span{display:inline-flex;align-items:center;gap:6px}.kanban-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;scrollbar-width:none;border-bottom:1px solid var(--line, #e2e8f0)}.kanban-tabs button{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid var(--line, #e2e8f0);border-radius:99px;color:var(--slate-600, #475569);font:inherit;font-size:11px;font-weight:700;background:var(--paper, #ffffff);cursor:pointer}.kanban-tabs button.is-on{border-color:var(--navy-900, #0f1f3d);color:var(--paper, #ffffff);background:var(--navy-900, #0f1f3d)}.kanban-tabs button.is-on .kanban-count{color:inherit;background:#fff3}.kanban-list{display:flex;flex-direction:column;gap:8px;padding:10px 12px 16px}.kanban-list-group{display:flex;flex-direction:column;gap:8px}.kanban-list .kanban-card{cursor:pointer;touch-action:auto}.kanban-divider{margin:4px 2px 0;color:var(--slate-500, #64748b);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.kanban-divider.is-late{color:var(--rose-600, #be123c)}.kanban-move-buttons{display:flex;gap:6px;margin-top:2px}.kanban-move-buttons button{flex:1;min-height:28px;border:1px solid var(--line, #e2e8f0);border-radius:6px;color:var(--blue-700, #1d4ed8);font:inherit;font-size:10.5px;font-weight:700;background:var(--paper, #ffffff);cursor:pointer}@media(prefers-reduced-motion:reduce){.kanban-card,.kanban-cell{transition:none}}.review-history{display:grid;margin:0;padding:0;list-style:none}.review-history__item{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:12px;padding-bottom:16px}.review-history__item:before{position:absolute;top:10px;bottom:-10px;left:6px;width:2px;background:var(--line, #e2e8f0);content:""}.review-history__item:last-child{padding-bottom:0}.review-history__item:last-child:before{display:none}.review-history__dot{position:relative;z-index:1;width:14px;height:14px;margin-top:3px;border-radius:50%;background:var(--slate-300, #cbd5e1);box-shadow:0 0 0 3px var(--paper, #ffffff)}.review-history__item.is-approve .review-history__dot{background:var(--teal-600, #0f766e)}.review-history__item.is-reject .review-history__dot{background:var(--rose-600, #be123c)}.review-history__item.is-latest .review-history__dot{box-shadow:0 0 0 3px var(--paper, #ffffff),0 0 0 5px var(--slate-300, #cbd5e1)}.review-history__content{min-width:0;padding:0 0 2px}.review-history__item.is-latest .review-history__content{padding:8px 10px;border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-md, 12px);background:var(--slate-100, #f1f5f9)}.review-history__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin:0;color:var(--slate-500, #64748b);font-size:13px;line-height:1.4}.review-history__author{color:var(--navy-900, #0f1f3d);font-weight:700}.review-history__decision{color:var(--slate-700, #334155);font-weight:600}.review-history__item.is-approve .review-history__decision{color:var(--teal-600, #0f766e)}.review-history__item.is-reject .review-history__decision{color:var(--rose-600, #be123c)}.review-history__date{margin-left:auto;white-space:nowrap}.review-history__feedback{margin:4px 0 0;color:var(--slate-700, #334155);font-size:14px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.review-history__notes{display:grid;gap:2px;margin:6px 0 0;padding-left:18px;color:var(--slate-700, #334155);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.review-history__empty{margin:0;color:var(--slate-500, #64748b);font-size:14px}@media(max-width:699px){.review-history__item{column-gap:10px}.review-history__date{flex-basis:100%;margin-left:0}}:root{--navy-950: #091626;--navy-900: #102442;--navy-800: #18345d;--blue-700: #1f5cae;--blue-600: #2a70ce;--blue-100: #e8f1ff;--teal-700: #0b706d;--teal-600: #108d89;--teal-100: #e2f6f3;--amber-700: #96600f;--amber-600: #b87817;--amber-100: #fff2d9;--rose-700: #9c3a4e;--rose-600: #c45469;--rose-100: #ffe9ef;--slate-950: #172338;--slate-800: #34435b;--slate-700: #53627a;--slate-600: #69778d;--slate-500: #8592a5;--slate-300: #cbd5e2;--slate-200: #dce4ee;--slate-100: #edf2f7;--canvas: #f5f8fc;--paper: #ffffff;--line: #e1e8f0;--shadow-sm: 0 1px 2px rgba(16, 36, 66, .04), 0 8px 24px rgba(16, 36, 66, .04);--shadow-md: 0 12px 34px rgba(16, 36, 66, .08);--shadow-lg: 0 22px 70px rgba(10, 27, 53, .18);--radius-sm: 8px;--radius-md: 13px;--radius-lg: 18px;font-family:DM Sans,Avenir Next,Segoe UI,system-ui,sans-serif;color:var(--slate-950);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-behavior:smooth}body{min-width:320px;background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,dialog:focus-visible{outline:3px solid rgba(42,112,206,.42);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.desktop-only{display:block}.mobile-only{display:none}.eyebrow{margin:0 0 7px;color:var(--blue-600);font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.muted-copy,.muted-value{color:var(--slate-500)}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(320px,.9fr) minmax(430px,1.1fr);background:var(--paper)}.login-aside{position:relative;display:flex;min-height:100vh;flex-direction:column;padding:44px 56px;overflow:hidden;color:#fff;background:var(--navy-900)}.login-aside:before{position:absolute;inset:0;content:"";opacity:.24;background:linear-gradient(142deg,transparent 0 33%,rgba(49,126,220,.7) 33.1% 33.6%,transparent 33.7% 66%,rgba(21,177,171,.55) 66.1% 66.5%,transparent 66.6%),radial-gradient(circle at 76% 20%,rgba(54,141,235,.55),transparent 32%)}.login-aside:after{position:absolute;width:380px;height:380px;right:-190px;bottom:-150px;border:1px solid rgba(128,187,255,.2);border-radius:50%;content:"";box-shadow:0 0 0 42px #80bbff08,0 0 0 90px #80bbff06}.brand-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:21px;font-weight:800;letter-spacing:-.07em}.brand-lockup--light{color:#fff}.brand-mark{position:relative;width:30px;height:30px;flex:none;overflow:hidden;border:1px solid rgba(255,255,255,.32);border-radius:9px;background:linear-gradient(135deg,#3479d5,#1aa69d);box-shadow:0 7px 17px #00000026}.brand-mark:before,.brand-mark:after{position:absolute;display:block;content:"";border-radius:999px;background:#ffffffd6;transform:rotate(-38deg)}.brand-mark:before{width:5px;height:22px;top:4px;left:9px}.brand-mark:after{width:5px;height:15px;top:8px;left:17px;opacity:.62}.login-aside__copy{position:relative;z-index:1;align-self:center;max-width:440px;margin:auto 0;padding-bottom:70px}.login-aside__copy .eyebrow{color:#76cbd0}.login-aside__copy h1{max-width:390px;margin:0 0 21px;font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:clamp(42px,4.4vw,70px);line-height:.99;letter-spacing:-.08em}.login-aside__copy>p:last-child{max-width:380px;margin:0;color:#ebf3ffb8;font-size:16px;line-height:1.65}.login-aside__note{position:relative;z-index:1;display:flex;align-items:center;gap:9px;color:#ebf3ff9e;font-size:11px;letter-spacing:.04em}.login-aside__note svg{color:#75cbd0}.login-card{display:flex;width:min(100%,470px);min-height:100vh;flex-direction:column;justify-content:center;margin:0 auto;padding:56px 46px}.login-card__intro{margin-bottom:31px}.login-card__intro h2{margin:0 0 9px;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:30px;line-height:1.18;letter-spacing:-.055em}.login-card__intro>p:last-child{margin:0;color:var(--slate-600);font-size:14px;line-height:1.6}.login-card__foot{margin:27px 0 0;color:var(--slate-500);font-size:12px;line-height:1.55;text-align:center}.portal-shell{display:grid;min-height:100vh;grid-template-columns:254px minmax(0,1fr)}.sidebar{position:sticky;top:0;z-index:30;display:flex;width:254px;height:100vh;flex-direction:column;padding:24px 13px 16px;color:#eff6ffb8;background:var(--navy-900)}.sidebar__top{display:flex;align-items:center;justify-content:space-between;padding:0 9px 25px}.sidebar__welcome{margin:0 4px 24px;padding:15px 12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0d}.sidebar__welcome .eyebrow{color:#aecdf480}.sidebar__name{max-width:190px;margin:0 0 12px;overflow:hidden;color:#f2f7ff;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.sidebar__role{color:#d6e7ff8c;font-size:10px}.sidebar__nav{flex:1;overflow-y:auto;scrollbar-width:thin}.nav-item{display:flex;width:100%;min-height:40px;align-items:center;gap:12px;padding:9px 12px;border:0;border-radius:8px;color:#e8f2ffa8;font-size:12px;text-align:left;background:transparent;transition:color .16s ease,background .16s ease,transform .16s ease}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item:active{transform:translate(1px)}.nav-item--active{color:#fff;font-weight:700;background:linear-gradient(90deg,#377edf5c,#2360b226);box-shadow:inset 2px 0 #63c4cf}.nav-item:disabled{color:#e8f2ff45;background:transparent}.nav-item__arrow{margin-left:auto;color:#73c8cf}.sidebar__bottom{padding-top:16px}.sidebar__support{display:flex;align-items:center;gap:10px;margin:0 4px 15px;padding:11px;border-radius:9px;color:#d8eaff99;font-size:11px;line-height:1.45;background:#ffffff0b}.sidebar__support small{color:#c8dcf775;font-size:9px}.sidebar__support--link{text-decoration:none;cursor:pointer;transition:background .15s ease}.sidebar__support--link:hover,.sidebar__support--link:focus-visible{background:#ffffff17}.support-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#5fd0c5;box-shadow:0 0 0 4px #5fd0c51f}.sidebar__logout{display:flex;width:100%;align-items:center;gap:10px;padding:10px 12px;border:0;border-top:1px solid rgba(255,255,255,.1);color:#dcebff8f;font-size:12px;text-align:left;background:transparent}.sidebar__logout:hover{color:#fff}.workspace{min-width:0;background:var(--canvas)}.topbar{display:flex;height:70px;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:#ffffffd6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar__crumb{display:flex;align-items:center;gap:9px;color:var(--slate-500);font-size:12px}.topbar__crumb strong{color:var(--slate-800);font-weight:700}.topbar__actions{display:flex;align-items:center;gap:12px}.avatar{display:grid;width:30px;height:30px;place-items:center;border:1px solid #b8d0ec;border-radius:50%;color:var(--blue-700);font-size:12px;font-weight:800;background:var(--blue-100)}.profile-menu{position:relative}.profile-menu__trigger{display:flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border:1px solid transparent;border-radius:999px;color:var(--slate-700);font-size:12px;font-weight:600;background:transparent}.profile-menu__trigger:hover{border-color:var(--line);background:var(--paper)}.profile-menu__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:flex;min-width:190px;flex-direction:column;padding:6px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-md)}.profile-menu__item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;color:var(--slate-700);font-size:12px;font-weight:600;text-align:left;background:transparent}.profile-menu__item:hover{color:var(--blue-700);background:var(--blue-100)}.topbar{position:relative;z-index:18}.profile-dialog__identity{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:6px}.profile-dialog__identity strong{display:block;margin-top:2px;color:var(--navy-900);font-size:13px}.profile-dialog__saved{margin:0;color:var(--teal-600);font-size:12px;font-weight:700}.dialog__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.main-content{width:100%;max-width:1480px;margin:0 auto;padding:35px 42px 64px}button.mobile-menu,button.mobile-close,.sidebar-scrim{display:none}.view-stack{display:flex;flex-direction:column;gap:27px}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-intro h1{margin:0;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:clamp(27px,3vw,40px);line-height:1.08;letter-spacing:-.065em}.page-intro__description{max-width:610px;margin:11px 0 0;color:var(--slate-600);font-size:14px;line-height:1.6}.page-intro__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.section-heading--tight{align-items:center}.section-heading h2,.section-heading h3{margin:0;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;letter-spacing:-.045em}.section-heading h2{font-size:20px}.section-heading h3{font-size:16px}.button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:700;line-height:1;text-decoration:none;transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button--primary{color:#fff;background:var(--blue-600);box-shadow:0 8px 16px #2a70ce2e}.button--primary:hover:not(:disabled){background:var(--blue-700);box-shadow:0 10px 20px #2a70ce40}.button--soft{color:var(--blue-700);border-color:#cfe0f5;background:var(--blue-100)}.button--soft:hover:not(:disabled){border-color:#a6c4e9;background:#dceaff}.button--ghost{color:var(--slate-700);border-color:var(--line);background:var(--paper)}.button--ghost:hover:not(:disabled){color:var(--blue-700);border-color:#b9cfe9;background:#f8fbff}.button--danger{color:var(--rose-700);border-color:#efc0cb;background:var(--rose-100)}.button--danger:hover:not(:disabled){border-color:#d990a0;background:#ffdde5}.button--sm{min-height:34px;padding:8px 12px;font-size:11px}.button--full{width:100%}.text-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;border-radius:5px;color:var(--blue-700);font-size:12px;font-weight:700;text-decoration:none;background:transparent;cursor:pointer}.text-link:hover{color:var(--teal-600);text-decoration:underline;text-underline-offset:3px}.icon-button{display:inline-grid;width:34px;height:34px;flex:none;place-items:center;border:1px solid transparent;border-radius:8px;color:var(--slate-600);background:transparent}.icon-button:hover{border-color:var(--line);color:var(--blue-700);background:var(--paper)}.icon-button--light{color:#dcebffa6}.icon-button--light:hover{border-color:#ffffff1f;color:#fff;background:#ffffff14}.icon-button--small{width:26px;height:26px}.form-stack{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:7px;color:var(--slate-700);font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid var(--slate-300);border-radius:8px;outline:0;color:var(--slate-950);background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.field textarea{min-height:104px;resize:vertical;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#a5b2c1}.field input:focus,.field select:focus,.field textarea:focus{border-color:#77a9dd;box-shadow:0 0 0 4px #2a70ce1a}.field small{color:var(--slate-500);font-size:10px;font-weight:500}.revision-counter{font-weight:600;margin:0}.note-list{border:0;padding:0;margin:0;display:grid;gap:.5rem}.note-list legend{font-weight:600;margin-bottom:.25rem}.note-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:start}.note-row textarea{width:100%}.note-list__foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.note-list__counter{color:var(--slate-500);font-size:10px;font-weight:700}.field-error,.inline-error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid #f2c5cf;border-radius:8px;color:var(--rose-700);font-size:12px;line-height:1.45;background:var(--rose-100)}.chip{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;color:var(--slate-700);font-size:10px;font-weight:800;background:var(--slate-100)}.chip--version{color:var(--blue-700);background:var(--blue-100)}.spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.state-panel{display:flex;min-height:128px;align-items:center;gap:15px;padding:24px;border:1px dashed var(--slate-300);border-radius:var(--radius-md);color:var(--slate-600);background:#ffffff8f}.state-panel>div{flex:1}.state-panel strong{display:block;margin-bottom:4px;color:var(--slate-800);font-size:14px}.state-panel p{margin:0;font-size:12px;line-height:1.55}.state-panel--error{border-style:solid;border-color:#f0c8d0;color:#a34053;background:var(--rose-100)}.state-panel--error strong{color:#8e3044}.state-panel--empty{min-height:142px}.state-panel--large{max-width:660px;min-height:190px;border-style:solid;box-shadow:var(--shadow-md)}.state-panel--large h1{margin:0 0 8px;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:26px;letter-spacing:-.05em}.empty-mark{display:grid;width:42px;height:42px;flex:none;place-items:center;border-radius:12px;color:var(--blue-600);background:var(--blue-100)}.loading-rows{display:flex;flex-direction:column;gap:12px;padding:16px 0}.loading-rows span{display:block;width:100%;height:58px;border-radius:11px;background:linear-gradient(100deg,var(--slate-100),#f8fafc,var(--slate-100));background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.loading-rows--compact{gap:8px;padding:0}.loading-rows--compact span{width:180px;height:9px;border-radius:999px}.toast{position:fixed;z-index:100;right:24px;bottom:24px;display:flex;max-width:min(420px,calc(100vw - 32px));align-items:center;gap:10px;padding:12px 12px 12px 15px;border:1px solid #b6ded8;border-radius:10px;color:#126c6a;font-size:12px;font-weight:600;background:#ecfbf8;box-shadow:var(--shadow-md)}.toast--error{border-color:#f1c4cd;color:#9b3d50;background:#fff2f4}.toast span{flex:1}.status-pill{display:inline-flex;min-height:24px;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-pill--success{color:var(--teal-600);background:var(--teal-100)}.status-pill--warning{color:var(--amber-600);background:var(--amber-100)}.status-pill--danger{color:var(--rose-600);background:var(--rose-100)}.status-pill--neutral{color:var(--slate-600);background:var(--slate-100)}.stat-card{position:relative;display:flex;min-width:0;min-height:128px;flex-direction:column;justify-content:center;gap:8px;padding:20px 20px 18px 23px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--shadow-sm)}.stat-card:before{position:absolute;inset:0 auto 0 0;width:4px;content:"";background:var(--blue-600)}.stat-card>span{color:var(--slate-600);font-size:11px;font-weight:700}.stat-card strong{overflow:hidden;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:clamp(20px,2.2vw,27px);letter-spacing:-.06em;text-overflow:ellipsis;white-space:nowrap}.stat-card small{color:var(--slate-500);font-size:10px;line-height:1.3}.stat-card--teal:before{background:var(--teal-600)}.stat-card--amber:before{background:var(--amber-600)}.stat-card--rose:before{background:var(--rose-600)}.stat-card--button{width:100%;cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.stat-card--button:hover{border-color:var(--slate-300);box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card--button:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px}.kpi-detail__list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.kpi-detail__list>li+li{border-top:1px solid var(--slate-100)}.kpi-detail__row{display:flex;width:100%;align-items:center;gap:12px;padding:11px 6px;border:0;border-radius:var(--radius-sm);color:var(--slate-950);background:transparent;cursor:pointer;font:inherit;text-align:left}.kpi-detail__row:hover{background:var(--canvas)}.kpi-detail__row:focus-visible{outline:2px solid var(--blue-600);outline-offset:-2px}.kpi-detail__row>svg{flex:none;color:var(--slate-500)}.kpi-detail__main{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.kpi-detail__main strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.kpi-detail__main small,.kpi-detail__meta small{color:var(--slate-500);font-size:11px}.kpi-detail__meta{display:flex;flex:none;flex-direction:column;align-items:flex-end;gap:4px}.kpi-detail__meta strong{color:var(--navy-900);font-size:13px}.kpi-detail__meta small.kpi-detail__overdue{color:var(--rose-600);font-weight:700}.finance-kpi-detail .kpi-detail__row--with-actions{flex-wrap:wrap}.finance-kpi-detail .kpi-detail__actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}@media(max-width:699px){.finance-kpi-detail .kpi-detail__actions{width:100%;margin-left:0}}.section-block{min-width:0;padding:22px 23px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.section-block>.section-heading{margin-bottom:20px}.compact-list,.agenda-list,.video-list{display:flex;flex-direction:column;gap:10px}.appointment-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--slate-100)}.appointment-row:last-child{border-bottom:0}.appointment-row__main{display:flex;min-width:0;flex:1;align-items:center;gap:14px;border:0;color:inherit;font:inherit;text-align:left;background:none;cursor:pointer}.appointment-row__main:hover .appointment-row__body strong{color:var(--blue-700)}.appointment-row__time{display:flex;width:88px;flex:none;flex-direction:column;gap:2px;color:var(--blue-700);font-size:10px}.appointment-row__time span{color:var(--slate-500)}.appointment-row__body{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.appointment-row__body strong{overflow:hidden;color:var(--slate-800);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.appointment-row__body span{overflow:hidden;color:var(--slate-500);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffad}.search-field,.select-field{position:relative;display:flex;min-height:38px;align-items:center;gap:8px;color:var(--slate-500)}.search-field{min-width:min(360px,100%);flex:1}.select-field{flex:0 1 240px}.search-field input,.select-field select{width:100%;min-height:38px;padding:8px 11px 8px 35px;border:1px solid var(--slate-200);border-radius:8px;outline:0;color:var(--slate-800);font-size:12px;background:#fff}.select-field select{padding-left:34px;cursor:pointer}.search-field svg,.select-field svg{position:absolute;z-index:1;left:11px;pointer-events:none}.search-field input::placeholder{color:var(--slate-500)}.search-field input:focus,.select-field select:focus{border-color:#77a9dd;box-shadow:0 0 0 4px #2a70ce1a}.dashboard-page .timeline{--timeline-track: 44px;--timeline-bar-height: 40px;--timeline-bar-offset: 2px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px}.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:16px}.upcoming-meet{display:inline-flex;min-height:36px;flex:none;align-items:center;padding:0 12px;border-radius:8px;color:var(--blue-700);font-size:11px;font-weight:800;text-decoration:none;background:var(--blue-100)}.upcoming-meet:hover{color:var(--navy-900)}.approval-card-list{display:flex;flex-direction:column;gap:10px}.approval-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-left:3px solid var(--teal-600);border-radius:10px;background:#fff}.approval-card__thumb{display:grid;width:48px;height:48px;place-items:center;overflow:hidden;border-radius:8px;color:var(--slate-500);background:var(--slate-100)}.approval-card__thumb img{width:100%;height:100%;object-fit:cover}.approval-card__body{display:flex;min-width:0;flex-direction:column;gap:2px}.approval-card__title{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.approval-card__project,.approval-card__version{color:var(--slate-500);font-size:10px}@media(prefers-reduced-motion:no-preference){.approval-card--enter{animation:approval-card-in .32s ease backwards;animation-delay:var(--approval-card-delay, 0ms)}}@keyframes approval-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:13px}.project-card{position:relative;display:flex;min-height:187px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.project-card:hover{border-color:#bdd2e9;box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card__stripe{width:5px;flex:none;background:linear-gradient(180deg,var(--blue-600),#60c6bd)}.project-card__stripe--planned{background:#b9cbe0}.project-card__stripe--in_progress{background:var(--blue-600)}.project-card__stripe--review{background:var(--amber-600)}.project-card__stripe--delivered,.project-card__stripe--completed{background:var(--teal-600)}.project-card__body{display:flex;min-width:0;flex:1;flex-direction:column;padding:19px 17px}.project-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--slate-500);font-size:10px}.project-card__meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card h2{margin:16px 0 7px;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:16px;letter-spacing:-.04em}.project-card__dates{display:flex;align-items:center;gap:5px;margin:0;color:var(--slate-600);font-size:11px}.project-card__dates span{color:var(--slate-400, #a0acbb)}.tag{display:inline-flex;width:fit-content;min-height:21px;align-items:center;gap:4px;padding:3px 7px;border-radius:99px;font-size:9px;font-weight:800}.tag--teal{color:var(--teal-600);background:var(--teal-100)}.tag--blue{color:var(--blue-700);background:var(--blue-100)}.project-card .tag{margin:12px 0 14px}.project-card__open{align-self:flex-start;margin-top:auto}.video-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:17px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.video-card--actionable{border-color:#c9dceb;background:linear-gradient(105deg,#fff,#f8fbff)}.video-card--actionable:hover{border-color:#a9c6e6;box-shadow:var(--shadow-md)}.video-card__thumb{display:flex;width:72px;height:72px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:13px;color:#fff;background:linear-gradient(145deg,var(--blue-600),#4597d8)}.video-card__thumb--approved{background:linear-gradient(145deg,#138c88,#36b3a7)}.video-card__thumb--client_approved{background:linear-gradient(145deg,#0d7e79,#2aa8a0)}.video-card__thumb--changes_requested,.video-card__thumb--client_rejected{background:linear-gradient(145deg,#c45469,#da7b8c)}.video-card:has(.video-card__thumb>img){grid-template-columns:128px minmax(0,1fr) auto}.video-card__thumb:has(>img){overflow:hidden;width:128px;height:auto;aspect-ratio:16 / 9;background:var(--slate-100)}.video-card__thumb img,.video-thumb{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.video-card__thumb span{font-size:9px;font-weight:800;letter-spacing:.08em}.video-card__main{min-width:0}.video-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--slate-500);font-size:10px}.video-card__meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-card__main h2{margin:9px 0 8px;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:16px;letter-spacing:-.04em}.video-card__source{display:flex;flex-wrap:wrap;align-items:center;gap:8px 17px;color:var(--slate-500);font-size:10px}.video-card__source span{display:inline-flex;align-items:center;gap:5px}.video-card__hint{margin:12px 0 0;color:var(--teal-700);font-size:11px;line-height:1.45}.video-card__actions{display:flex;align-items:center;align-self:center}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #c9dceb;border-radius:var(--radius-lg);background:linear-gradient(115deg,#eef6ff,#fff 67%,#effaf8);box-shadow:var(--shadow-sm)}.finance-summary .stat-card{min-height:116px;border-color:#c9dcebad;box-shadow:none}.filter-tabs{display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid var(--line)}.filter-tab{display:inline-flex;min-height:37px;align-items:center;gap:7px;padding:7px 10px;border:0;border-bottom:2px solid transparent;color:var(--slate-600);font-size:11px;font-weight:700;background:transparent}.filter-tab span{display:grid;min-width:18px;height:18px;place-items:center;border-radius:99px;color:var(--slate-500);font-size:9px;background:var(--slate-100)}.filter-tab:hover,.filter-tab--active{color:var(--blue-700);border-bottom-color:var(--blue-600)}.filter-tab--active span{color:var(--blue-700);background:var(--blue-100)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.invoice-table{width:100%;min-width:760px;border-collapse:collapse;color:var(--slate-700);font-size:12px}.invoice-table th{padding:12px 15px;border-bottom:1px solid var(--line);color:var(--slate-500);font-size:10px;font-weight:800;text-align:left;white-space:nowrap;background:#fbfdff}.invoice-table td{padding:15px;border-bottom:1px solid var(--slate-100);vertical-align:middle}.invoice-table tbody tr:last-child td{border-bottom:0}.invoice-table tbody tr:hover{background:#fbfdff}.invoice-table td:first-child{min-width:185px}.invoice-table td strong{display:block;color:var(--slate-800);font-weight:700}.invoice-table td small{display:block;margin-top:4px;color:var(--slate-500);font-size:10px}.invoice-table td:nth-child(4) strong{color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:13px}.invoice-status{display:inline-flex;min-height:23px;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.invoice-status--paid{color:var(--teal-600);background:var(--teal-100)}.invoice-status--open{color:var(--amber-700);background:var(--amber-100)}.invoice-status--overdue{color:var(--rose-700);background:var(--rose-100)}.agenda-card{display:grid;grid-template-columns:66px minmax(0,1fr);gap:19px;padding:19px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.agenda-card__date{display:flex;min-height:66px;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;color:var(--blue-700);background:var(--blue-100)}.agenda-card__date strong{font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:25px;line-height:1;letter-spacing:-.07em}.agenda-card__date span{margin-top:5px;font-size:10px;font-weight:800;text-transform:uppercase}.agenda-card__main{display:flex;min-width:0;flex-direction:column;gap:8px}.agenda-card__main .eyebrow{margin-bottom:5px;color:var(--slate-500);letter-spacing:.08em}.agenda-card__main h2{margin:0;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:17px;letter-spacing:-.04em}.agenda-card__main>p{margin:0;color:var(--slate-600);font-size:12px;line-height:1.55}.review-dialog{display:flex;flex-direction:column;gap:16px}.review-dialog__context{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--slate-500);font-size:11px}.review-form{display:flex;flex-direction:column;gap:15px}.review-form__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.review-closed{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #c8dedb;border-radius:10px;color:var(--teal-700);background:#effaf8}.review-closed p{flex:1;margin:0;color:var(--slate-700);font-size:12px;line-height:1.5}.media-preview{overflow:hidden;border:1px solid #203554;border-radius:12px;background:#0b1729;box-shadow:0 14px 28px #09162624}.media-preview video{display:block;width:100%;max-height:min(54vh,500px);aspect-ratio:16 / 9;object-fit:contain;background:#07111f}.media-preview__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;color:#e8f2ffb3;font-size:10px}.media-preview__foot .text-link{color:#9cc7ff;font-size:11px}.media-fallback{display:flex;min-height:174px;align-items:center;gap:15px;padding:22px;border:1px dashed #abc1dc;border-radius:12px;color:var(--slate-600);background:#f7faff}.media-fallback__icon{display:grid;width:45px;height:45px;flex:none;place-items:center;border-radius:12px;color:var(--blue-700);background:var(--blue-100)}.media-fallback strong{display:block;margin-bottom:5px;color:var(--navy-900);font-size:14px}.media-fallback p{margin:0 0 12px;font-size:12px;line-height:1.55}dialog.dialog{width:min(560px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 40px));margin:auto;padding:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--slate-950);background:#fff;box-shadow:var(--shadow-lg)}dialog.dialog--wide{width:min(850px,calc(100vw - 32px))}dialog.dialog::backdrop{background:#0916267a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media(prefers-reduced-motion:no-preference){dialog.dialog--stacked{transition:opacity .16s ease,transform .16s ease,overlay .16s allow-discrete,display .16s allow-discrete;opacity:1;transform:scale(1) translateY(0)}dialog.dialog--stacked[open]{transition-duration:.22s;transition-timing-function:cubic-bezier(.22,1,.36,1)}dialog.dialog--stacked::backdrop{transition:opacity .16s ease;opacity:1}dialog.dialog--stacked[open]::backdrop{transition-duration:.22s}@starting-style{dialog.dialog--stacked[open]{opacity:0;transform:scale(.96) translateY(8px)}dialog.dialog--stacked[open]::backdrop{opacity:0}}dialog.dialog--stacked:not([open]){opacity:0;transform:scale(.96) translateY(8px)}dialog.dialog--stacked:not([open])::backdrop{opacity:0}}.dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 25px 18px;border-bottom:1px solid var(--line);background:#fbfdff}.dialog__head h2{margin:0 0 7px;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:20px;letter-spacing:-.05em}.dialog__head p{max-width:550px;margin:0;color:var(--slate-600);font-size:12px;line-height:1.55}.dialog>.form-stack,.dialog__body,.project-dialog__body{padding:22px 25px 25px}.dialog__body{min-width:0}.project-dialog{display:flex;flex-direction:column;gap:19px}.project-dialog__status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:4px}.project-dialog__dates{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:13px;color:var(--slate-500);font-size:10px}.project-dialog__dates span{display:inline-flex;align-items:center;gap:5px}.project-dialog__dates strong{color:var(--slate-700)}.detail-block{padding-top:16px;border-top:1px solid var(--slate-100)}.detail-block>p:not(.eyebrow){margin:0;color:var(--slate-600);font-size:12px;line-height:1.65;white-space:pre-wrap}.appointment-dialog{display:flex;flex-direction:column;gap:19px}.appointment-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0}.appointment-facts dt{margin:0 0 5px;color:var(--slate-500);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.appointment-facts dd{margin:0;color:var(--navy-900);font-size:13px;font-weight:700}.detail-section{padding-top:16px;border-top:1px solid var(--slate-100)}.detail-section>summary{display:flex;align-items:center;gap:8px;margin:-2px 0 0;list-style:none;cursor:pointer}.detail-section>summary::-webkit-details-marker{display:none}.detail-section>summary:before{content:"";width:8px;height:8px;border-right:2px solid var(--slate-400, #a0acbb);border-bottom:2px solid var(--slate-400, #a0acbb);transform:rotate(-45deg);transition:transform .15s ease}.detail-section[open]>summary:before{transform:rotate(45deg)}.detail-section>summary .eyebrow{margin:0}.detail-section>summary h3{margin:0;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:14px;letter-spacing:-.03em}.detail-section__body{padding-top:12px}.detail-section__body>p:not(.eyebrow){margin:0;color:var(--slate-600);font-size:12px;line-height:1.65;white-space:pre-wrap}.detail-section__body .project-media{padding-top:0;border-top:0}.project-media{display:flex;flex-direction:column;gap:14px;padding-top:18px;border-top:1px solid var(--slate-100)}.project-media__heading{align-items:flex-start}.project-media__heading h3{margin:0;color:var(--navy-900);font-family:Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif;font-size:15px;letter-spacing:-.035em}.project-media__heading p:not(.eyebrow){max-width:570px;margin:6px 0 0;color:var(--slate-600);font-size:11px;line-height:1.5}.source-upload{display:flex;flex-direction:column;gap:9px;padding:13px;border:1px solid #cadcee;border-radius:11px;background:#f7faff}.source-upload__picker{position:relative;display:flex;min-height:66px;align-items:center;gap:11px;padding:12px;border:1px dashed #9fbedf;border-radius:9px;color:var(--blue-700);background:#fff;cursor:pointer}.source-upload__picker:hover{border-color:var(--blue-600);background:var(--blue-100)}.source-upload__picker>span{display:flex;min-width:0;flex-direction:column;gap:4px}.source-upload__picker strong{overflow:hidden;color:var(--slate-800);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.source-upload__picker small{color:var(--slate-500);font-size:10px}.source-upload__picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.source-upload__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.source-upload__progress{display:grid;grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:10px}.source-upload__bar{height:7px;overflow:hidden;border-radius:999px;background:var(--slate-200)}.source-upload__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-600),var(--teal-600));transition:width .2s ease}.source-upload__progress small{color:var(--slate-600);font-size:10px;white-space:nowrap}.source-upload__error{margin:0;color:var(--rose-700);font-size:11px}.source-upload__message{padding:9px 11px;border-radius:8px;font-size:11px;line-height:1.45}.source-upload__message--error{color:var(--rose-700);background:var(--rose-100)}.source-upload__message--info{color:var(--blue-700);background:var(--blue-100)}.source-upload__message--success{color:var(--teal-700);background:var(--teal-100)}.source-list{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;list-style:none}.source-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.source-row__icon{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;color:var(--blue-700);background:var(--blue-100)}.source-row__main{min-width:0}.source-row__main strong,.source-row__main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-row__main strong{color:var(--slate-800);font-size:11px}.source-row__main small{margin-top:4px;color:var(--slate-500);font-size:9px}.source-row__actions{display:flex;align-items:center;gap:6px}.source-preview{overflow:hidden;border:1px solid #203554;border-radius:11px;background:#0b1729}.source-preview__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:#eef5ff}.source-preview__head>div{min-width:0}.source-preview__head strong,.source-preview__head span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-preview__head strong{font-size:11px}.source-preview__head span{margin-top:3px;color:#e8f2ff9e;font-size:9px}.source-preview__head .icon-button{color:#e7f0fc;border-color:#ffffff2e;background:#ffffff14}.source-preview video{display:block;width:100%;max-height:min(48vh,430px);aspect-ratio:16 / 9;object-fit:contain;background:#07111f}.source-preview__fallback{display:flex;min-height:180px;align-items:center;justify-content:center;gap:13px;padding:24px;color:#dfe9f7;text-align:left}.source-preview__fallback strong{font-size:13px}.source-preview__fallback p{max-width:470px;margin:5px 0 0;color:#e8f2ffad;font-size:11px;line-height:1.5}.source-preview__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:#e8f2ff9e;font-size:9px}.source-preview__foot>div{display:flex;align-items:center;gap:13px}.source-preview__foot .text-link{color:#9cc7ff;font-size:10px}.mini-video-list{display:flex;flex-direction:column;gap:7px;margin-top:13px}.mini-video-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-height:39px;padding:9px 10px;border-radius:8px;color:var(--slate-700);font-size:11px;background:var(--slate-100)}.mini-video-row__thumb{display:grid;flex:none;width:64px;aspect-ratio:16 / 9;place-items:center;overflow:hidden;border-radius:5px;color:var(--slate-500);background:var(--slate-200)}.mini-video-row__thumb img{display:block;width:100%;height:100%;aspect-ratio:16 / 9;object-fit:cover}.mini-video-row>span:first-of-type{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-video-row__due{flex:none;color:var(--slate-600);white-space:nowrap}.mini-video-row--overdue .mini-video-row__due{color:var(--rose-700);font-weight:600}.mini-video-row__due--warn:after{content:" ⚠"}.mini-video-row__action{display:inline-flex;flex:none;align-items:center;gap:4px;margin-left:auto;color:var(--blue-700);font-size:11px;font-weight:700;white-space:nowrap}.due-date-summary{margin:8px 0 0;padding-left:18px;color:var(--slate-700);font-size:12px}.progress-steps{display:flex;flex-wrap:wrap;gap:8px 4px;margin:10px 0 0;padding:0;list-style:none}.progress-step{display:flex;align-items:center;gap:6px;padding:5px 9px 5px 7px;border-radius:999px;color:var(--slate-500);font-size:10px;font-weight:700;background:var(--slate-100)}.progress-step__dot{display:block;width:7px;height:7px;border-radius:50%;background:var(--slate-300)}.progress-step--current{color:var(--blue-700);background:var(--blue-100)}.progress-step--current .progress-step__dot{background:var(--blue-600)}.progress-step--done{color:var(--teal-700);background:var(--teal-100)}.progress-step--done .progress-step__dot{background:var(--teal-600)}.progress-block{display:flex;flex-direction:column;gap:10px}.progress-enrichment{margin:0;color:var(--slate-600);font-size:11px}.progress-video-list{display:flex;flex-direction:column;gap:6px;margin:2px 0 0;padding:0;list-style:none}.progress-video-row{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;background:var(--slate-100)}.progress-video-row__title{min-width:0;flex:1;overflow:hidden;color:var(--slate-700);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.progress-video-row__due{display:flex;align-items:center;gap:4px;color:var(--slate-500);font-size:10px}.tag--stage-editing,.tag--stage-internal_review{color:var(--slate-600);background:var(--slate-200, #e5e9f0)}.tag--stage-awaiting_approval{color:var(--amber-700);background:var(--amber-100)}.tag--stage-approved{color:var(--teal-700);background:var(--teal-100)}.tag--stage-changes_requested{color:var(--rose-700);background:var(--rose-100)}.request-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.link-section{display:flex;flex-direction:column;gap:11px;margin-top:10px}.link-item-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.link-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.link-item .text-link{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.link-add-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px;align-items:start}.link-add-form .field{gap:0}.request-form__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.check-field{display:inline-flex;align-items:center;gap:9px;min-height:40px;color:var(--slate-700);font-size:12px;font-weight:700;cursor:pointer}.check-field input{width:18px;height:18px;accent-color:var(--blue-700)}.request-material{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #9ebfe2;border-left:4px solid var(--blue-600);border-radius:11px;margin:0;background:linear-gradient(135deg,#f1f7ff,#fbfdff)}.request-material legend{padding:0;color:var(--slate-800);font-size:13px;font-weight:800}.request-material legend small{color:var(--slate-500);font-size:10px;font-weight:600}.request-material__notice{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border-radius:8px;color:var(--blue-800);background:#e2efff;font-size:11px;line-height:1.45}.request-material__notice strong{color:var(--slate-800);font-size:12px}.request-material__picker{position:relative;display:flex;min-height:64px;align-items:center;gap:11px;padding:11px;border:1px dashed #8eafd1;border-radius:9px;color:var(--blue-700);background:#fff;cursor:pointer}.request-material__picker:hover{border-color:var(--blue-600);background:var(--blue-100)}.request-material__picker>span{display:flex;min-width:0;flex-direction:column;gap:4px}.request-material__picker strong{color:var(--slate-800);font-size:12px}.request-material__picker small{color:var(--slate-500);font-size:10px}.request-material__picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.request-material__list,.request-material__queue{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.request-material__file,.request-material__queue-item{display:flex;min-width:0;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.request-material__file--invalid{border-color:#e8a6af;background:#fff7f8}.request-material__file-icon{display:inline-grid;flex:0 0 auto;width:28px;height:28px;place-items:center;border-radius:7px;color:var(--blue-700);background:var(--blue-100)}.request-material__file-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.request-material__file-main strong{overflow:hidden;color:var(--slate-800);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.request-material__file-main small{color:var(--slate-500);font-size:10px}.request-material--progress{gap:14px}.request-material__status{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:9px;font-size:11px;line-height:1.45}.request-material__status>div{display:flex;flex-direction:column;gap:2px}.request-material__status strong{color:var(--slate-800);font-size:13px}.request-material__status--info{color:var(--blue-700);background:var(--blue-100)}.request-material__status--success{color:var(--teal-700);background:var(--teal-100)}.request-material__status--error{color:var(--rose-700);background:var(--rose-100)}.request-material__queue-item--uploading{border-color:#8eafd1}.request-material__queue-item--uploaded .request-material__file-icon{color:var(--teal-700);background:var(--teal-100)}.request-material__queue-item--failed{border-color:#e8a6af}.request-material__queue-item--failed .request-material__file-icon{color:var(--rose-700);background:var(--rose-100)}.request-material__progress{display:block;height:6px;overflow:hidden;margin-top:3px;border-radius:999px;background:var(--slate-200)}.request-material__progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-600),var(--teal-600));transition:width .2s ease}.request-material__error{color:var(--rose-700);font-size:10px;line-height:1.4}.request-material__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.request-form__after-send-notice{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid #e1b763;border-left:4px solid #d38c18;border-radius:9px;color:#78510c;background:#fff7df;font-size:11px;line-height:1.45}.request-form__after-send-notice strong{color:#654305;font-size:12px}.link-list{display:flex;flex-direction:column;gap:9px;padding:0;border:0;margin:0}.link-list legend{padding:0;margin:0 0 2px;color:var(--slate-700);font-size:12px;font-weight:700}.link-list legend small{color:var(--slate-500);font-weight:500}.link-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px;align-items:center}.due-date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.center-page{display:grid;min-height:100vh;place-items:center;padding:30px;background:var(--canvas)}.app-loading{display:grid;min-height:100vh;place-items:center;align-content:center;gap:20px;background:var(--canvas)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:1120px){.portal-shell{grid-template-columns:226px minmax(0,1fr)}.sidebar{width:226px}.main-content{padding-inline:28px}}@media(max-width:900px){.portal-shell{display:block}.sidebar{position:fixed;width:278px;transform:translate(-102%);transition:transform .22s ease;box-shadow:16px 0 38px #0916262e}.sidebar--open{transform:translate(0)}.sidebar-scrim{position:fixed;z-index:20;inset:0;display:block;border:0;background:#0916266b}button.mobile-menu,button.mobile-close{display:inline-grid}.topbar{padding-inline:22px}.profile-menu__trigger>span:last-child{display:none}.desktop-only{display:none}.mobile-only{display:block}}@media(max-width:760px){.login-page{display:block}.login-aside{min-height:300px;padding:28px 30px 34px}.login-aside__copy{margin:55px 0 0;padding:0}.login-aside__copy h1{margin-bottom:12px;font-size:39px}.login-aside__copy>p:last-child{max-width:440px;font-size:13px}.login-aside__note{display:none}.login-card{width:100%;min-height:auto;padding:40px 30px 44px}}@media(max-width:700px){.main-content{padding:26px 18px 45px}.topbar{height:61px;padding-inline:14px}.topbar__crumb{font-size:11px}.page-intro{align-items:flex-start;flex-direction:column;gap:15px}.page-intro__actions{justify-content:flex-start}.dashboard-bottom-grid{grid-template-columns:1fr}.kpi-grid,.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.section-block{padding:18px}.toolbar{align-items:stretch;flex-direction:column}.search-field,.select-field{width:100%;min-width:0;flex:auto}.project-grid{grid-template-columns:1fr}.video-card{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:14px}.video-card__thumb{width:58px;height:58px}.video-card:has(.video-card__thumb>img){grid-template-columns:96px minmax(0,1fr)}.video-card__thumb:has(>img){width:96px;height:auto}.video-card__actions{grid-column:2;justify-content:flex-start;align-self:auto}.video-card__actions .button{width:fit-content}.agenda-card{grid-template-columns:56px minmax(0,1fr);gap:13px;padding:14px}.agenda-card__date{min-height:58px}.agenda-card__date strong{font-size:21px}}@media(max-width:540px){.appointment-dialog .dialog__actions{flex-direction:column-reverse}.appointment-dialog .dialog__actions .button{width:100%}.login-aside{min-height:266px;padding:24px 24px 28px}.login-aside__copy{margin:39px 0 0}.login-aside__copy h1{margin-bottom:10px;font-size:32px}.login-aside__copy>p:last-child{max-width:330px;font-size:12px}.login-card{padding:34px 24px 38px}.login-card__intro h2{font-size:25px}.main-content{padding-inline:14px}.topbar__crumb span{display:none}.page-intro h1{font-size:28px}.kpi-grid,.finance-summary{grid-template-columns:1fr}.stat-card{min-height:102px}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.project-dialog__status{align-items:flex-start;flex-direction:column}.project-dialog__dates{justify-content:flex-start}.source-upload__progress{grid-template-columns:1fr}.source-upload__progress .button{justify-self:flex-start}.source-row{grid-template-columns:36px minmax(0,1fr)}.source-row__actions{grid-column:1 / -1;flex-wrap:wrap}.source-preview__foot{align-items:flex-start;flex-direction:column}.source-preview__foot>div{flex-wrap:wrap}.request-material__queue-item{align-items:flex-start;flex-wrap:wrap}.request-material__queue-item>.button{margin-left:37px}.request-material__actions{justify-content:stretch}.request-material__actions .button{flex:1 1 100%}.dialog__head,.dialog>.form-stack,.dialog__body,.project-dialog__body{padding-inline:18px}.review-form__actions{align-items:stretch;flex-direction:column-reverse}.review-form__actions .button{width:100%}.media-preview__foot{align-items:flex-start;flex-direction:column;gap:8px}.media-fallback{align-items:flex-start;flex-direction:column}.toast{right:14px;bottom:14px}.request-form__grid,.link-row,.link-add-form{grid-template-columns:1fr}.link-row .icon-button,.link-add-form .button{justify-self:start}.detail-actions{flex-direction:column;align-items:stretch}.link-item{align-items:flex-start;flex-direction:column;gap:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.media-preview iframe{width:100%;aspect-ratio:16 / 9;border:0;border-radius:14px;background:#000}.booking-picker{display:grid;gap:14px}.booking-days,.booking-times{display:flex;flex-wrap:wrap;gap:8px}.booking-chip{border:1px solid var(--line);border-radius:999px;background:var(--paper);padding:7px 13px;font:inherit;cursor:pointer}.booking-chip--active{border-color:var(--blue-700);background:var(--blue-700);color:#fff}.agenda-card__tags{display:flex;flex-wrap:wrap;gap:6px}.agenda-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}@media(max-width:560px){.agenda-card__actions .button{flex:1 1 auto}}.dashboard-toolbar{display:flex;align-items:center;gap:10px}.view-switch{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm)}.view-switch button{min-height:36px;padding:0 12px;border:0;color:var(--slate-600);font:inherit;font-size:12px;font-weight:700;background:var(--paper);cursor:pointer}.view-switch button[aria-pressed=true]{color:#fff;background:var(--navy-900)}@media(max-width:700px){body{min-width:0}.button,.button--sm{min-height:44px}.icon-button,.icon-button--small{width:44px;height:44px}.notification-bell{min-width:44px;min-height:44px}.field input,.field select{min-height:44px;font-size:16px}.field textarea{font-size:16px}.search-field input,.select-field select{min-height:44px;font-size:16px}.nav-item,.profile-menu__trigger,.profile-menu__item,.sidebar__logout,.view-switch button,.filter-tab,.booking-chip,.text-link{min-height:44px}}
