@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-arabic-arabic-400-normal-CyU-ddYS.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-400-normal-EA1o-u_Q.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-arabic-arabic-600-normal-0pRdybE_.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-600-normal-MJZ0liF5.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-arabic-arabic-700-normal-DrtBj6UE.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-arabic-700-normal-9rXc6cUL.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-arabic-latin-400-normal-Bo5KPYvw.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-latin-400-normal-CFZh1unN.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-arabic-latin-600-normal-KrqB56Mw.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-latin-600-normal-Dk5eISD_.woff)format("woff")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-arabic-latin-700-normal-BzSf6GNr.woff2)format("woff2"),url(/assets/ibm-plex-sans-arabic-latin-700-normal-Cl4F7CZR.woff)format("woff")}:root{--bg:#f4f6f8;--surface:#fff;--surface-muted:#eef2f5;--text:#1b1f2a;--muted:#667085;--border:#d9e0e7;--green:#1c8068;--blue:#315b8a;--copper:#b86638;--red:#c3423f;--amber:#c58b18;--shadow:0 18px 45px #1f2e4014;--radius:8px;--sidebar-width:280px;color:var(--text);background:var(--bg);letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans Arabic,Segoe UI,Tahoma,Arial,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}#root{min-height:100svh;max-inline-size:100vw;overflow-x:hidden}.route-loader{background:var(--bg);min-block-size:100svh}.app-shell{min-height:100svh;display:block}.sidebar{z-index:20;inline-size:var(--sidebar-width);color:#f8fafc;background:#243447;flex-direction:column;gap:clamp(14px,2vh,22px);block-size:100dvh;min-block-size:100dvh;padding:clamp(16px,2vh,22px);display:flex;position:fixed;inset-block:0;inset-inline-start:0;overflow:visible}.app-shell.sidebar-collapsed .sidebar{display:none}.app-shell.sidebar-collapsed .workspace{margin-inline-start:0}.brand{align-items:center;gap:12px;min-block-size:54px;display:flex}.brand-mark{border-radius:var(--radius);color:#fff;background:var(--green);place-items:center;block-size:44px;inline-size:44px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span{color:#b9c6d4;font-size:13px}.nav-list{flex:none;gap:clamp(6px,.8vh,8px);display:grid}.nav-link{border-radius:var(--radius);color:#dce5ef;align-items:center;gap:10px;min-block-size:clamp(38px,4.8vh,42px);padding:8px 12px;text-decoration:none;transition:background .16s,color .16s;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff1f}.sidebar-panel{border-radius:var(--radius);background:#ffffff0f;border:1px solid #ffffff1f;flex:none;margin-block-start:auto;padding:clamp(12px,1.8vh,16px)}.sidebar-panel span{color:#b9c6d4;font-size:13px;display:block}.sidebar-panel strong{overflow-wrap:anywhere;margin-block:6px 12px;display:block}.sidebar-panel small{color:#dce5ef;margin-block-end:10px;font-size:12px;display:block}.mini-progress,.progress-track{background:#ffffff29;border-radius:999px;block-size:8px;overflow:hidden}.mini-progress span,.progress-track span{border-radius:inherit;background:var(--green);block-size:100%;display:block}.workspace{flex-direction:column;min-width:0;margin-inline-start:var(--sidebar-width);transition:margin-inline-start .2s;display:flex}.topbar-start{flex:1;align-items:center;gap:12px;min-inline-size:0;display:flex}.topbar-start .search-menu{flex:1;min-inline-size:0}.sidebar-toggle{flex:none}.topbar{z-index:5;border-block-end:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f6f8eb;justify-content:space-between;align-items:center;gap:16px;min-block-size:72px;padding:14px 28px;display:flex;position:sticky;inset-block-start:0}.search-menu{inline-size:min(560px,100%);position:relative}.search-box{border:1px solid var(--border);border-radius:var(--radius);min-block-size:42px;inline-size:100%;color:var(--muted);background:var(--surface);align-items:center;gap:10px;padding-inline:12px;display:flex}.search-box input{inline-size:100%;color:var(--text);background:0 0;border:0;outline:0}.search-popover{z-index:30;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:8px;padding:10px;display:grid;position:absolute;inset-block-start:calc(100% + 10px);inset-inline:0}.search-popover>span{color:var(--muted);padding:10px}.search-result{border-radius:var(--radius);inline-size:100%;color:var(--text);text-align:start;background:0 0;border:0;gap:2px;padding:10px;display:grid}.search-result:hover{background:var(--surface-muted)}.search-result span{color:var(--muted);font-size:13px}.topbar-actions,.editor-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.notification-menu{position:relative}.notification-badge{color:#fff;background:var(--red);border-radius:999px;place-items:center;block-size:18px;min-inline-size:18px;font-size:11px;font-weight:800;display:grid;position:absolute;inset-block-start:-5px;inset-inline-end:-5px}.notification-dot{background:var(--muted);border-radius:999px;block-size:8px;inline-size:8px;position:absolute;inset-block-start:-1px;inset-inline-end:-1px}.notification-more{color:var(--muted);padding-inline:4px;font-size:.76rem}.notification-group{color:var(--muted);letter-spacing:.02em;padding-block-start:4px;padding-inline:4px;font-size:11px;font-weight:700}.notification-popover{z-index:30;border:1px solid var(--border);border-radius:var(--radius);inline-size:min(360px,90vw);box-shadow:var(--shadow);background:#fff;align-content:start;gap:10px;max-block-size:calc(100vh - 96px);max-inline-size:calc(100vw - 24px);padding:14px;display:grid;position:absolute;inset-block-start:calc(100% + 10px);inset-inline-end:0;overflow-y:auto}@media (width<=900px){.notification-popover{z-index:40;max-block-size:calc(100dvh - 168px);inline-size:auto;max-inline-size:none;position:fixed;inset-block-start:72px;inset-inline:12px}}.notification-popover>strong{background:#fff;padding-block:4px;position:sticky;inset-block-start:-14px}.notification-popover>span{color:var(--muted)}.notification-item{border:0;border-inline-start:4px solid var(--blue);border-radius:var(--radius);inline-size:100%;color:var(--text);text-align:start;background:var(--surface-muted);gap:3px;padding:10px;display:grid}.notification-item:hover{background:#e5ebf1}.notification-item.high{border-inline-start-color:var(--amber)}.notification-item.critical{border-inline-start-color:var(--red)}.notification-item.warning{border-inline-start-color:var(--amber)}.notification-item small{color:var(--muted);font-weight:700}.icon-button,.language-button,.primary-button,.secondary-button{border-radius:var(--radius);border:1px solid var(--border);min-block-size:40px;color:var(--text);background:var(--surface);justify-content:center;align-items:center;gap:8px;display:inline-flex}.icon-button{inline-size:40px}.language-button,.primary-button,.secondary-button{padding-inline:12px}.primary-button{color:#fff;border-color:var(--green);background:var(--green);font-weight:600}.secondary-button:hover,.language-button:hover,.icon-button:hover{border-color:#a8b4c2}.content{padding:28px}.page-stack{gap:22px;display:grid}.gantt-page>.page-heading{order:0}.gantt-page>.timeline-panel{order:1}.gantt-page>.panel:not(.timeline-panel){order:2}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.page-heading>:first-child{flex:none}.eyebrow{color:var(--green);font-size:13px;font-weight:700;display:inline-flex}h1,h2,p{margin:0}h1{margin-block-start:4px;font-size:32px;font-weight:800;line-height:1.2}h2{font-size:18px;font-weight:750;line-height:1.3}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card,.panel,.project-card,.progress-editor,.lookahead-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.metric-card{align-content:space-between;min-block-size:156px;padding:18px;display:grid;position:relative}.metric-card span{color:var(--muted)}.metric-card strong{font-size:30px;line-height:1}.metric-card small{font-weight:700}.metric-icon{border-radius:var(--radius);block-size:40px;inline-size:40px;color:var(--blue);background:#e9f0f7;place-items:center;display:grid}.positive,.negative,.metric-card strong{unicode-bidi:plaintext}.positive{color:var(--green)}.negative{color:var(--red)}.warning{color:var(--amber,#b45309)}.staleness{color:var(--muted);margin-block-start:2px;font-size:.78rem;display:block}.staleness.warning,.staleness.negative{font-weight:600}.project-forecast{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.85rem;display:flex}.project-forecast>span{color:var(--muted)}.project-team-empty{border-radius:var(--radius);color:#8a5a12;text-align:start;cursor:pointer;background:#fdf6e9;border:1px solid #f0c98a;grid-column:1/-1;align-items:center;gap:8px;inline-size:100%;padding:9px 12px;font-family:inherit;font-size:.82rem;font-weight:600;display:flex}.project-team-empty:hover{background:#fbeed5}.project-team-empty>svg{flex-shrink:0}.audit-filter{flex-wrap:wrap;align-items:center;gap:12px;margin-block-end:12px;display:flex}.checkbox-field{cursor:pointer;align-items:center;gap:8px;font-weight:600;display:inline-flex}.checkbox-field input[type=checkbox]{block-size:18px;inline-size:18px;accent-color:var(--green);flex:none;margin:0}.self-start{place-self:flex-start start}.date-control{display:block;position:relative}.date-control>input[type=text]{text-align:left;direction:ltr;inline-size:100%;padding-left:12px;padding-right:38px}.date-calendar-button{right:2px;block-size:36px;inline-size:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;inset-block-start:50%;transform:translateY(-50%)}.date-calendar-button:hover{color:var(--green);background:var(--surface-muted)}.date-native-picker{right:10px;opacity:0;pointer-events:none;border:0;block-size:1px;inline-size:1px;padding:0;position:absolute;inset-block-end:0}.mobile-tabbar{display:none}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr);gap:18px;display:grid}.panel{min-width:0;padding:18px}.panel-header{justify-content:space-between;gap:12px;margin-block-end:16px;display:flex}.panel-header span{color:var(--muted);font-size:14px}.chart-frame{block-size:300px;inline-size:100%}.issue-row strong,.issue-row span{display:block}.issue-row span,.issue-row small{color:var(--muted)}.issue-row small{align-items:center;gap:4px;display:inline-flex}.severity-dot.critical{background:var(--red)}.data-table{gap:8px;display:grid}.delayed-works-table .table-row{grid-template-columns:.9fr 1.2fr .75fr .5fr .5fr .85fr .9fr 1.05fr}.table-row{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1.2fr 1.4fr 1fr .6fr .6fr .6fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.weekly-table .table-row{grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(82px,.55fr)) minmax(82px,.55fr) minmax(100px,.7fr) minmax(120px,.8fr)}.schedule-segments-table .table-row{grid-template-columns:minmax(120px,.9fr) minmax(150px,1fr) repeat(5,minmax(84px,.55fr)) minmax(96px,.5fr)}.users-table .table-row{grid-template-columns:minmax(170px,1fr) minmax(180px,1fr) minmax(150px,.9fr) minmax(140px,.8fr) minmax(280px,1.1fr)}.audit-table .table-row{grid-template-columns:minmax(160px,.8fr) minmax(180px,1fr) minmax(100px,.5fr) minmax(140px,.7fr) minmax(220px,1.2fr)}.attachments-table .table-row{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) minmax(130px,.7fr) minmax(90px,.45fr) minmax(110px,.55fr) minmax(110px,.5fr)}.project-members-table{margin-block-start:16px}.project-members-table .table-row{grid-template-columns:minmax(160px,1fr) minmax(120px,.6fr) minmax(260px,1.4fr) minmax(90px,.4fr)}.toggle-field{border:1px solid var(--border);border-radius:var(--radius);background:#fff;align-items:center;gap:8px;min-block-size:42px;padding:9px 11px;display:inline-flex}.toggle-field input{min-block-size:auto;inline-size:auto}.execution-board-panel{contain:inline-size;overflow:hidden}.execution-board{overscroll-behavior-inline:contain;contain:layout paint;direction:ltr;inline-size:100%;max-inline-size:100%;padding-block-end:2px;overflow:auto hidden}.execution-grid{--day-count:7;min-inline-size:calc(388px + var(--day-count) * 104px);grid-template-columns:minmax(220px, 1.3fr) repeat(var(--day-count), minmax(104px, .8fr)) minmax(168px, .75fr);direction:rtl;display:grid}.execution-grid>*{border-inline-end:1px solid var(--border);border-block-end:1px solid var(--border)}.execution-row>.execution-work,.execution-head>span:first-child{z-index:2;background:var(--surface);clip-path:inset(0 -14px 0 0);position:sticky;inset-inline-start:0;box-shadow:-8px 0 8px -8px #0f172a40}.execution-head>span:first-child{background:var(--surface-muted,var(--surface))}.execution-grid>:first-child{border-inline-start:1px solid var(--border)}.execution-head{color:var(--muted);background:var(--surface-muted);font-weight:800}.execution-head>span{align-content:center;gap:2px;min-block-size:58px;padding:10px 12px;display:grid}.execution-head strong,.execution-head small{display:block}.execution-head small{color:var(--muted);font-size:12px}.execution-row{background:#fff}.execution-work{align-content:center;gap:3px;min-width:0;padding:11px 12px;display:grid}.execution-work strong,.execution-work span{display:block}.execution-work strong{overflow-wrap:anywhere}.execution-work span{color:var(--muted);font-size:12px}.execution-cell{min-width:0;border-block-start:3px solid #0000;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px;min-block-size:66px;padding:8px;display:grid}.cell-status-button{min-block-size:40px;color:inherit;font:inherit;text-align:center;cursor:pointer;background:#ffffffb8;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding-inline:6px;font-size:12px;font-weight:800;line-height:1.2;transition:transform .12s,box-shadow .12s;display:flex}.cell-status-button:hover:not(:disabled),.cell-status-button:focus-visible{border-color:currentColor;outline:none;transform:translateY(-1px);box-shadow:0 2px 8px #0f17211f}.cell-status-button:disabled{cursor:default;opacity:.75;background:0 0;font-weight:700}.execution-cell.completed .cell-status-button{color:#12654c}.execution-cell.blocked .cell-status-button,.execution-cell.delayed .cell-status-button{color:#93312e}.execution-cell.not-scheduled .cell-status-button{color:var(--muted);font-weight:700}.execution-cell.not-scheduled{background:repeating-linear-gradient(135deg,#eceff2,#eceff2 5px,#dfe4e9 5px 10px);border-block-start-color:#9aa7b4}.execution-cell.not-scheduled .cell-status-button{color:#78848f;background:0 0;text-decoration:line-through;text-decoration-thickness:1px}.execution-cell.not-scheduled .cell-note-button{opacity:.4}.execution-cell.planned{border-block-start-color:var(--blue);background:#edf4fb}.execution-cell.in-progress{border-block-start-color:var(--amber);background:#fff8e7}.execution-cell.completed{border-block-start-color:var(--green);background:#eaf6f1}.execution-cell.delayed{border-block-start-color:var(--red);background:#fff1f0}.execution-cell.future-day{background:#fbfcfd;border-block-start-color:#ccd4dc}.execution-cell.future-day .cell-status-button,.execution-cell.future-day .cell-note-button{color:#9aa7b4;opacity:.75;cursor:not-allowed}.execution-cell.blocked{border-block-start-color:var(--red);background:#fff1f0}.cell-note-button{border:1px solid var(--border);block-size:40px;inline-size:32px;color:var(--muted);background:#ffffffb8;border-radius:6px;place-items:center;display:inline-grid}.cell-note-button.active{color:var(--blue);background:#fff;border-color:#a8bdd3}.execution-summary{background:#fbfcfd;align-content:center;gap:4px;padding:10px 12px;display:grid}.execution-summary span,.execution-summary strong{overflow-wrap:anywhere;display:block}.execution-summary span{color:var(--muted);font-size:12px}.execution-note-editor{border:2px solid var(--green);grid-template-columns:minmax(220px,.7fr) minmax(180px,.45fr) minmax(260px,1fr) auto;align-items:end;gap:14px;scroll-margin-block:92px;display:grid;position:relative}.note-editor-close{position:absolute;inset-block-start:10px;inset-inline-end:10px}.execution-note-editor .full-field{grid-column:auto}.table-head{color:var(--muted);background:var(--surface-muted);font-weight:700}.project-list{gap:12px;display:grid}.project-card{grid-template-columns:120px minmax(220px,1fr) minmax(280px,.9fr);align-items:center;gap:16px;padding:16px;display:grid}.project-code{color:var(--blue);align-items:center;gap:8px;font-weight:800;display:inline-flex}.project-main span{color:var(--muted)}.project-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.project-progress div{border-radius:var(--radius);background:var(--surface-muted);padding:10px}.project-progress span,.project-progress strong{display:block}.project-progress span{color:var(--muted);font-size:13px}.progress-track{background:var(--surface-muted);grid-column:1/-1}.timeline-panel{overflow:auto}.timeline-header,.timeline-row{grid-template-columns:320px minmax(var(--track-min,760px), 1fr);display:grid}.timeline-header{z-index:3;color:var(--muted);background:var(--surface);font-weight:700;position:sticky;inset-block-start:0}.timeline-header>div:first-child,.task-cell{border-inline-end:1px solid var(--border);z-index:2;background:var(--surface);padding:12px;position:sticky;inset-inline-start:0}.timeline-header>div:first-child{z-index:4}.week-grid{border-block-end:1px solid var(--border);grid-template-columns:repeat(15,minmax(48px,1fr));display:grid}.week-grid span{text-align:center;border-inline-end:1px solid var(--border);padding:12px 4px}.timeline-body{display:grid}.timeline-row{border-block-end:1px solid var(--border);min-block-size:66px}.task-cell{align-items:center;gap:10px;display:flex}.task-cell div{min-width:0}.task-cell strong,.task-cell span{display:block}.task-cell strong{overflow-wrap:anywhere}.task-cell span{color:var(--muted);font-size:13px}.timeline-track{background-image:repeating-linear-gradient(to right, transparent 0, transparent calc(100% / var(--cols,15) - 1px), #e1e6ed calc(100% / var(--cols,15) - 1px), #e1e6ed calc(100% / var(--cols,15)));position:relative}[dir=rtl] .timeline-track{background-image:repeating-linear-gradient(to left, transparent 0, transparent calc(100% / var(--cols,15) - 1px), #e1e6ed calc(100% / var(--cols,15) - 1px), #e1e6ed calc(100% / var(--cols,15)))}.gbar-wrap{cursor:pointer;background:0 0;border:0;block-size:30px;min-inline-size:46px;padding:0;position:absolute;inset-block-start:18px}.gbar{border-radius:6px;block-size:100%;position:absolute;inset-block-start:0}.gbar-planned{background:#dce4ec;inline-size:100%;inset-inline-start:0;box-shadow:inset 0 0 0 1px #c7d2dd}.gbar-done{background:var(--green)}.gbar-overrun{background:var(--red)}.gbar-wrap.future .gbar-planned{background:repeating-linear-gradient(45deg,#e6ecf2,#e6ecf2 6px,#dbe3ea 6px 12px)}.gbar-wrap.active .gbar-done{background:var(--blue)}.gbar-wrap.selected{outline:2px solid var(--copper);outline-offset:2px;border-radius:8px}.gbar-wrap.is-readonly{cursor:default}.gbar-label{color:#14324a;pointer-events:none;text-shadow:0 1px 2px #fff9;justify-content:center;align-items:center;block-size:100%;font-size:12px;font-weight:800;display:flex;position:absolute;inset-block-start:0;inset-inline:0}.gbar-tooltip{z-index:6;border-radius:var(--radius);color:#fff;inline-size:max-content;max-inline-size:260px;box-shadow:var(--shadow);background:#1b1f2a;flex-direction:column;gap:2px;padding:10px 12px;font-size:12px;font-weight:600;display:none;position:absolute;inset-block-end:calc(100% + 8px);inset-inline-start:0}.gbar-tooltip strong{font-size:13px}.gbar-tooltip .is-delay{color:#ffb4b2}.gbar-tooltip .is-early{color:#a7e8d4}.gbar-wrap:hover .gbar-tooltip,.gbar-wrap:focus-visible .gbar-tooltip{display:flex}.timeline-legend{color:var(--muted);border-block-end:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:12px;font-size:13px;font-weight:600;display:flex}.timeline-legend span{align-items:center;gap:6px;display:inline-flex}.timeline-legend .timeline-hint{margin-inline-start:auto;font-weight:500}.legend-swatch{border-radius:4px;block-size:14px;inline-size:14px}.legend-swatch.done{background:var(--green)}.legend-swatch.planned{background:#dce4ec;box-shadow:inset 0 0 0 1px #c7d2dd}.legend-swatch.overrun{background:var(--red)}.legend-swatch.baseline{box-shadow:inset 0 0 0 2px var(--copper);background:0 0}.today-line{background:var(--copper);opacity:.65;z-index:1;pointer-events:none;inline-size:2px;margin-inline-start:-1px;position:absolute;inset-block:0}.week-grid span{text-align:center;justify-content:center;align-items:center;gap:6px;padding:10px 4px;display:flex;position:relative}.week-grid span em{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.axis-month{cursor:pointer}.axis-toggle{border:1px solid var(--border);background:var(--surface-muted);block-size:20px;inline-size:20px;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.axis-toggle:hover{background:var(--surface)}.field-hint{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-block-start:4px;font-weight:500;display:flex}.copy-field{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted,#f7fafc);text-align:left;direction:ltr;inline-size:100%;margin-block-end:16px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.link-button{min-block-size:32px;color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-weight:700}.link-button:hover{background:#1f8a701a}.task-detail-sidebar{z-index:30;background:var(--surface);border-inline-start:1px solid var(--border);inline-size:min(420px,100vw);box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;inset-block:0;inset-inline-end:0}.sidebar-head{border-block-end:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.sidebar-head h3{margin:0}.sidebar-body{flex-direction:column;gap:14px;min-inline-size:0;padding:18px;display:flex;overflow:hidden auto}.sidebar-body>*{min-inline-size:0}.sidebar-task-name{overflow-wrap:anywhere;font-size:16px}.sidebar-field textarea{resize:vertical}.sidebar-warning p{margin:0}.sidebar-facts{gap:8px;margin:0;display:grid}.sidebar-facts>div{border-block-end:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-block-end:8px;display:flex}.sidebar-facts dt{color:var(--muted);font-weight:600}.sidebar-facts dd{margin:0;font-weight:700}.sidebar-hint{color:var(--muted);margin:4px 0 0;font-size:13px}.sidebar-progress{border-block-start:1px dashed var(--border);flex-direction:column;gap:12px;margin-block-start:8px;padding-block-start:16px;display:flex}.progress-editor-panel{border:2px solid var(--green)}.row-progress-btn{white-space:nowrap;padding:4px 10px;font-size:12px}.sidebar-field{flex-direction:column;gap:6px;font-weight:600;display:flex}.sidebar-field input,.sidebar-field textarea{border:1px solid var(--border);border-radius:var(--radius);inline-size:100%;min-inline-size:0;max-inline-size:100%;font:inherit;background:var(--surface);color:var(--text);padding:10px}.modal-overlay{z-index:40;background:#0f172173;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius);background:var(--surface);inline-size:min(440px,100%);box-shadow:var(--shadow);padding:22px}.modal-card h3{margin:0 0 8px}.modal-card p{color:var(--muted);margin:0 0 18px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-phrase{color:var(--muted);flex-direction:column;gap:6px;margin-block-end:16px;font-size:13px;font-weight:600;display:flex}.confirm-phrase input{letter-spacing:.02em;inline-size:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.table-row.is-purged{opacity:.65}.table-row.is-purged strong{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.data-table .table-row.is-clickable{cursor:pointer;text-align:start;font:inherit;color:inherit;transition:background .15s}.data-table .table-row.is-clickable:hover,.data-table .table-row.is-clickable:focus-visible{background:var(--surface-muted);outline:none}.toaster{z-index:60;flex-direction:column;gap:10px;max-inline-size:min(380px,92vw);display:flex;position:fixed;inset-block-end:20px;inset-inline-end:20px}.toast{border-radius:var(--radius);background:var(--surface);border-inline-start:4px solid var(--muted);box-shadow:var(--shadow);align-items:center;gap:10px;padding:12px 14px;font-weight:600;animation:.18s toast-in;display:flex}.toast span{flex:1;min-inline-size:0}.toast-success{border-inline-start-color:var(--green)}.toast-success svg{color:var(--green)}.toast-error{border-inline-start-color:var(--red)}.toast-error svg{color:var(--red)}.toast-info svg{color:var(--blue)}.toast-close{min-block-size:32px;min-inline-size:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.progress-editor{box-shadow:none;gap:14px;padding:16px;display:grid}label{color:var(--muted);gap:6px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);inline-size:100%;color:var(--text);background:var(--surface)}input,select{min-block-size:38px;padding-inline:10px}textarea{resize:vertical;padding:10px}.week-picker{align-items:center;gap:10px;display:flex}.week-picker input{inline-size:84px}.lookahead-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.lookahead-card{gap:14px;padding:16px;display:grid}.wbs-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.wbs-summary article{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-block-size:108px;box-shadow:var(--shadow);align-content:center;gap:8px;padding:18px;display:grid}.wbs-summary svg{color:var(--green)}.wbs-summary span{color:var(--muted)}.wbs-summary strong{font-size:28px;line-height:1}.wbs-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.wbs-category{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);align-self:start;gap:14px;padding:16px;display:grid}.wbs-category header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.wbs-category-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.wbs-category-metrics div{border-radius:var(--radius);background:var(--surface-muted);padding:10px}.wbs-category-metrics span,.wbs-category-metrics strong{display:block}.wbs-category-metrics span{color:var(--muted);font-size:12px}.wbs-tree{gap:8px;display:grid}.catalog-grid,.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.catalog-category,.scope-panel,.scope-category{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.catalog-category{gap:12px;padding:16px;display:grid}.catalog-category.archived,.catalog-node.archived{opacity:.62}.catalog-category header,.scope-actions{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);flex-wrap:wrap;align-items:center;padding:12px}.scope-actions-count{color:var(--muted);font-size:13px;font-weight:700}.scope-panel header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.catalog-category p{color:var(--muted)}.catalog-tree,.scope-items{gap:8px;display:grid}.catalog-node{--level:1;border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;padding-inline-start:calc(10px + (var(--level) - 1) * 18px);display:grid}.scope-panel{flex-direction:column;gap:16px;padding:18px;display:flex}.scope-stats{color:var(--muted);grid-template-columns:repeat(3,auto auto);align-items:baseline;gap:4px 8px;display:grid}.scope-stats strong{color:var(--blue);font-size:20px}.scope-category{box-shadow:none;gap:10px;padding:14px;display:grid}.scope-category-header{color:var(--text);grid-template-columns:none;align-items:flex-start;gap:10px;display:flex}.scope-category-header input,.scope-item input{min-block-size:auto;inline-size:auto;margin-block-start:4px}.scope-category-header strong,.scope-category-header small,.scope-item strong,.scope-item small{display:block}.scope-category-header small,.scope-item small{color:var(--muted)}.scope-item{--level:1;gap:8px;padding-inline-start:calc((var(--level) - 1) * 18px);display:grid}.scope-item label{border:1px solid var(--border);border-radius:var(--radius);background:#fff;align-items:flex-start;gap:9px;padding:8px 10px;display:flex}.catalog-badge{inline-size:fit-content;color:var(--copper);background:#fff4ec;border-radius:999px;margin-block-start:6px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.catalog-badge.inline{margin-block-start:0;margin-inline-start:8px}.wbs-node{--level:1;border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;padding-inline-start:calc(10px + (var(--level) - 1) * 18px);display:grid}.wbs-node-main{align-items:center;gap:8px;min-width:0;display:flex}.wbs-node-main div{min-width:0}.wbs-node-main strong,.wbs-node-main span{display:block}.wbs-node-main strong{overflow-wrap:anywhere}.wbs-node-main span{color:var(--muted);font-size:12px}.file-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:center;gap:10px;min-block-size:40px;padding:4px 6px;display:flex;position:relative}.file-input>input[type=file]{opacity:0;cursor:pointer;border:0;block-size:100%;inline-size:100%;padding:0;position:absolute;inset:0}.file-input-button{background:var(--surface-muted,#f7fafc);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.file-input-name{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;color:var(--muted);font-size:13px;overflow:hidden}.file-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #107a5726}.wbs-node-contractor{color:var(--blue);overflow-wrap:anywhere;margin-block-start:2px;font-weight:600}.status-pill,.status-chip{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-block-size:28px;padding-inline:10px;font-size:12px;font-weight:800;display:inline-flex}.status-chip.on-track,.status-pill.on-track{color:var(--green);background:#e6f4ef}.status-chip.ahead,.status-pill.ahead{color:var(--blue);background:#e9f0f7}.status-chip.delayed,.status-pill.delayed{color:var(--red);background:#fff1f0}.status-chip.not-started,.status-pill.not-started{color:var(--muted);background:#edf1f5}.lookahead-week{color:var(--blue);align-items:center;gap:8px;font-weight:800;display:inline-flex}dl{gap:10px;margin:0;display:grid}dl div{border-block-end:1px solid var(--border);justify-content:space-between;gap:12px;padding-block-end:8px;display:flex}dt{color:var(--muted)}dd{margin:0;font-weight:700}.segmented-control{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:4px;display:inline-flex}.segmented-control button{min-block-size:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding-inline:12px}.segmented-control button.active{color:#fff;background:var(--blue)}.computed-week{border-radius:var(--radius);background:#f7fafc;border:1px solid #b9c6d4;align-content:center;align-self:stretch;gap:3px;min-block-size:70px;padding:10px 12px;display:grid}.computed-week span,.computed-week small{color:var(--muted);font-size:12px;font-weight:700}.computed-week strong{color:var(--blue);font-size:18px;line-height:1.1}.computed-week.invalid{background:#fff7f7;border-color:#e5b8b7}.computed-week.invalid strong{color:var(--red)}.advanced-fields{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.advanced-fields>span,.progress-method-panel>span{color:var(--blue);grid-column:1/-1;font-size:13px;font-weight:800}.stage-options{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;display:grid}.stage-options button{border:1px solid var(--border);border-radius:var(--radius);min-block-size:42px;color:var(--text);background:#fff;padding-inline:10px;font-weight:800}.stage-options button.active{color:#fff;border-color:var(--green);background:var(--green)}.checklist-progress{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:8px;display:grid}.checklist-progress small{color:var(--muted)}.checklist-step{border:1px solid var(--border);border-radius:var(--radius);min-block-size:42px;color:var(--text);background:#fff;grid-template-columns:none;align-items:center;gap:9px;padding:9px 11px;display:flex}.checklist-step input{min-block-size:auto;inline-size:auto}.empty-timeline{color:var(--muted);text-align:center;padding:22px}.login-shell{background:var(--bg);place-items:center;min-block-size:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);inline-size:min(100%,480px);box-shadow:var(--shadow);gap:18px;padding:24px;display:grid}.brand.compact{margin-block-end:6px}.login-form,.crud-form{gap:14px;display:grid}.crud-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;scroll-margin-block-start:92px;transition:border-color .16s,box-shadow .16s,background .16s}.crud-form h2,.crud-form .full-field,.crud-form .form-mode-banner,.crud-form .form-actions{grid-column:1/-1}.crud-form.is-editing{box-shadow:0 0 0 3px #1f8a701f, var(--shadow);background:linear-gradient(#f8fffc 0%,#fff 140px);border-color:#1f8a7085}.form-mode-banner{border-radius:var(--radius);color:#165f4d;background:#eefaf6;border:1px solid #1f8a7038;align-items:center;gap:9px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.form-mode-banner strong{color:var(--text)}.form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}label{min-width:0;color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);min-block-size:42px;inline-size:100%;color:var(--text);font:inherit;background:#fff;padding:9px 11px}textarea{resize:vertical}.form-error{border-radius:var(--radius);color:var(--red);background:#fff1f0;padding:10px 12px;font-weight:800}.demo-account-grid,.inline-actions,.card-actions,.wbs-node-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.management-grid{grid-template-columns:.85fr 1.15fr;gap:14px;display:grid}.select-control,.week-picker{min-inline-size:180px}.card-actions{grid-column:1/-1;justify-content:flex-end}.secondary-button.danger,.icon-button.danger{color:var(--red)}.primary-button.danger{border-color:var(--red);color:#fff;background:var(--red)}.wbs-node-actions{justify-content:flex-end}.drawer-panel{z-index:20;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;grid-template-columns:1fr 1fr auto;align-items:center;gap:14px;padding:16px;display:grid;position:fixed;inset-block-end:24px;inset-inline:24px}.role-picker{flex-wrap:wrap;gap:8px;display:flex}.role-picker label{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.role-picker input{min-block-size:auto;inline-size:auto}.role-picker.compact{max-inline-size:420px}.role-picker .role-options{flex-wrap:wrap;gap:8px;display:flex}.role-option.is-on{border-color:var(--blue);background:#edf4fb;font-weight:700}.role-chips{flex-wrap:wrap;gap:6px;display:flex}.role-chip{background:var(--surface-muted,#eef2f6);color:var(--text);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.user-identity{flex-direction:column;gap:2px;min-inline-size:0;display:flex}.user-identity span{color:var(--muted);font-size:13px}.table-row.is-inactive{opacity:.62}.panel.is-editing{border-inline-start:4px solid var(--blue)}.link-button{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;font-weight:700;text-decoration:underline}.empty-state{text-align:center;place-items:center;min-block-size:220px}.empty-state svg{color:var(--green)}.empty-state>span{color:var(--muted)}@media (width<=1180px){.metric-grid,.editor-grid,.lookahead-grid,.wbs-summary,.wbs-grid,.catalog-grid,.scope-grid,.management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.project-card{grid-template-columns:1fr}}@media (width<=860px){.sidebar{z-index:40;inline-size:min(320px,88vw);overflow-y:auto;box-shadow:0 0 0 100vmax #0f172a73}.workspace{margin-inline-start:0}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.page-heading{flex-direction:column;align-items:stretch}.search-menu,.topbar-actions{inline-size:100%}.topbar-new-project{display:none}.mobile-tabbar{z-index:30;background:var(--surface);border-block-start:1px solid var(--border);grid-template-columns:repeat(3,1fr);padding-block-end:env(safe-area-inset-bottom,0);display:grid;position:fixed;inset-block-end:0;inset-inline:0;box-shadow:0 -6px 18px #0f172a14}.mobile-tabbar a{min-block-size:56px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:.72rem;font-weight:600;text-decoration:none;display:flex}.mobile-tabbar a.active{color:var(--brand,var(--green))}.metric-grid,.wbs-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{gap:2px;padding:12px}.metric-card strong{font-size:1.5rem}.content{padding:18px;padding-block-end:calc(84px + env(safe-area-inset-bottom,0px))}.notification-popover{max-block-size:calc(100dvh - 72px - 84px - env(safe-area-inset-bottom,0px))}.toaster{max-inline-size:none;inset-block-end:calc(84px + env(safe-area-inset-bottom,0px));inset-inline:12px}.editor-grid,.lookahead-grid,.wbs-grid,.catalog-grid,.scope-grid,.project-progress,.management-grid,.crud-form,.advanced-fields,.execution-note-editor,.drawer-panel{grid-template-columns:1fr}.execution-note-editor .full-field{grid-column:1}.wbs-category-metrics,.wbs-node,.catalog-node,.scope-stats,.table-row,.weekly-table .table-row,.schedule-segments-table .table-row,.users-table .table-row,.attachments-table .table-row,.project-members-table .table-row{grid-template-columns:1fr}.audit-table .table-row{grid-template-columns:1fr auto;gap:2px 10px;padding-block:8px;font-size:.85rem}.audit-table .table-row>[data-label]:before{content:none}.audit-table .table-row>[data-label],.audit-table .table-row>strong{padding:0;display:block}.audit-table .table-row>:first-child{color:var(--muted);grid-column:1;font-size:.78rem}.audit-table .table-row>:nth-child(2){text-align:end;grid-column:2;font-weight:600}.audit-table .table-row>:nth-child(3){grid-column:1}.audit-table .table-row>:nth-child(4){text-align:end;color:var(--muted);grid-column:2}.audit-table .table-row>:nth-child(5){color:var(--muted);grid-column:1/-1;font-size:.8rem}.table-head{display:none}.table-row>[data-label]{justify-content:space-between;align-items:center;gap:12px;display:flex}.table-row>[data-label]:before{content:attr(data-label);color:var(--muted);flex-shrink:0;font-size:12px;font-weight:600}.timeline-header,.timeline-row{grid-template-columns:132px minmax(var(--track-min,760px), 1fr)}.timeline-header>div:first-child,.task-cell{padding:10px 8px}.task-cell{gap:6px}.task-cell>svg{display:none}}@media (width<=860px),(pointer:coarse){.cell-note-button{block-size:40px;inline-size:40px}.execution-cell{grid-template-columns:minmax(0,1fr) 40px;gap:10px}.execution-grid{min-inline-size:calc(276px + var(--day-count) * 134px);grid-template-columns:minmax(116px, .9fr) repeat(var(--day-count), minmax(134px, .8fr)) minmax(160px, .7fr)}.execution-work{padding:8px}.execution-work strong{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.execution-work span{font-size:11px;line-height:1.3}.task-detail-sidebar{inset-block-end:calc(64px + env(safe-area-inset-bottom,0px))}.axis-toggle{block-size:40px;inline-size:40px}.week-grid span{flex-direction:column;gap:4px}}.attachment-name{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.attachment-name .delay-photo-thumb{flex-shrink:0;block-size:44px;inline-size:44px}.field-hint{color:var(--muted);margin-block-start:4px;font-size:12px;display:block}.data-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.forecast-list{flex-direction:column;gap:12px;display:flex}.forecast-row{border-block-end:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-block-end:12px;display:flex}.forecast-row:last-child{border-block-end:none;padding-block-end:0}.forecast-row strong{font-size:15px;display:block}.forecast-row span{color:var(--muted);font-size:12px}.forecast-value{text-align:end;flex-shrink:0}.forecast-value span{font-size:15px;font-weight:700;display:block}.forecast-value small{font-size:12px}.forecast-value.is-provisional>span,.forecast-value.is-provisional>small:not(.forecast-provisional),.project-forecast.is-provisional>strong{opacity:.62;font-weight:600}.forecast-provisional{border:1px solid var(--border);color:var(--muted);background:var(--surface-muted,#f7fafc);white-space:nowrap;cursor:help;border-radius:999px;margin-block-start:2px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.upload-progress{background:var(--surface-muted);border-radius:999px;block-size:6px;overflow:hidden}.upload-progress span{background:var(--green);block-size:100%;transition:inline-size .2s;display:block}.delay-list{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px;display:grid}.delay-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.delay-empty svg{color:var(--green)}.delay-empty strong{color:var(--text,#1f2e40);font-size:18px}.delay-card{background:var(--surface);border:1px solid var(--border);border-inline-start:4px solid var(--red);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:18px;display:flex}.board-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.progress-item-switch{border:1px solid var(--border);border-radius:var(--radius);max-inline-size:min(420px,100%);font:inherit;background:var(--surface);color:var(--text);margin-block-start:6px;padding:6px 10px}.approvals-panel{border-inline-start:4px solid var(--blue)}.approval-list{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:14px;display:grid}.approval-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted,#f7fafc);flex-direction:column;gap:10px;padding:16px;display:flex}.approval-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.approval-card-head strong{font-size:15px;display:block}.approval-week{color:var(--muted);font-size:13px}.approval-jump{white-space:nowrap;color:var(--muted);font-size:14px}.approval-jump strong{color:var(--green);font-size:17px}.approval-facts{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.approval-notes{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);margin:0;padding:10px 12px;line-height:1.6}.evidence-strip{flex-wrap:wrap;gap:8px;display:flex}.evidence-thumb{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted,#eef2f5);cursor:pointer;block-size:64px;inline-size:64px;padding:0;overflow:hidden}.evidence-thumb img{object-fit:cover;block-size:100%;inline-size:100%;display:block}.evidence-thumb.is-loading{animation:1.2s ease-in-out infinite pulse;display:inline-block}.evidence-file{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.approval-actions{flex-wrap:wrap;gap:10px;margin-block-start:auto;display:flex}.delay-card.is-highlighted{border-color:var(--blue);box-shadow:0 0 0 3px #315b8a2e, var(--shadow)}.delay-card-link{border-block-start:1px solid var(--border);color:var(--blue);align-items:center;gap:6px;margin-block-start:auto;padding-block-start:12px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.delay-card-link:hover,.delay-card-link:focus-visible{text-decoration:underline}.delay-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.delay-card-head strong{font-size:16px;display:block}.delay-card-head .delay-category{color:var(--muted);font-size:13px}.delay-metrics{color:var(--muted);flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.delay-metrics strong{color:var(--text,#1f2e40)}.delay-reason{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.delay-reason .delay-reason-label{color:var(--muted);font-size:12px}.delay-reason .delay-reason-chip{color:var(--red);background:#fff1f0;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.delay-reason .delay-reason-none{color:var(--muted);font-size:13px;font-style:italic}.delay-notes{background:var(--surface-muted);border-radius:var(--radius);margin:0;padding:10px 12px;font-size:13px;line-height:1.6}.delay-photos{flex-wrap:wrap;gap:8px;display:flex}.delay-photo-thumb{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--surface-muted);block-size:72px;inline-size:72px;padding:0;overflow:hidden}.delay-photo-thumb img{object-fit:cover;block-size:100%;inline-size:100%;display:block}.delay-photo-thumb.is-loading{animation:1.2s ease-in-out infinite delay-pulse}.delay-photo-thumb.is-missing{color:var(--muted);cursor:default;border-style:dashed;justify-content:center;align-items:center;display:inline-flex}@keyframes delay-pulse{0%,to{opacity:.5}50%{opacity:1}}.delay-photo-file{color:var(--muted);background:var(--surface-muted);border-radius:var(--radius);align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.delay-lightbox{z-index:1000;background:#0f1720d1;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.delay-lightbox img{border-radius:var(--radius);max-block-size:88vh;max-inline-size:92vw;box-shadow:0 24px 60px #00000080}.delay-lightbox .delay-lightbox-close{color:#fff;background:#ffffff24;position:absolute;inset-block-start:20px;inset-inline-end:20px}.access-level{gap:10px;display:grid}.access-level-label{color:var(--muted);font-size:13px;font-weight:700}.access-presets{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.access-preset{text-align:start;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);justify-items:start;gap:6px;padding:14px;transition:border-color .16s,box-shadow .16s,background .16s;display:grid}.access-preset svg{color:var(--muted)}.access-preset strong{color:var(--text);font-size:15px}.access-preset span{color:var(--muted);font-size:13px;line-height:1.6}.access-preset:hover{border-color:var(--blue)}.access-preset.is-selected{border-color:var(--green);background:#f4fbf8;box-shadow:0 0 0 2px #1f8a7029}.access-preset.is-selected svg{color:var(--green)}.access-custom-toggle{justify-self:start;align-items:center;gap:6px;display:inline-flex}.access-custom-badge{background:var(--surface-muted);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.access-permission-grid{border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-muted);flex-wrap:wrap;gap:8px;padding:12px;display:flex}.field-caption{color:var(--text);margin-block-end:6px;font-size:13px;font-weight:600;display:block}.photo-picker{flex-direction:column;gap:10px;display:flex}.photo-picker-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-picker-actions .field-hint{flex:100%;margin:0}.photo-preview-strip{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.photo-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted,#eef2f5);block-size:84px;inline-size:84px;position:relative;overflow:hidden}.photo-preview img{object-fit:cover;block-size:100%;inline-size:100%;display:block}.photo-preview-remove{color:#fff;cursor:pointer;background:#0000009e;border:none;border-radius:50%;justify-content:center;align-items:center;block-size:22px;inline-size:22px;padding:0;display:inline-flex;position:absolute;inset-block-start:4px;inset-inline-end:4px}.photo-preview-remove:hover:not(:disabled){background:#000000d1}.photo-preview-remove:disabled{opacity:.5;cursor:default}.photo-preview-badge{color:#fff;text-align:center;background:#0000008c;padding:2px 4px;font-size:10px;position:absolute;inset-block-end:0;inset-inline:0}.weekly-update-evidence{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.weekly-update-evidence:empty{display:none}.weekly-update-evidence .approval-notes{flex:240px;margin:0}.sidebar-delay-notes{border-inline-start:3px solid var(--danger,#d4344a);border-radius:var(--radius);background:var(--surface-muted,#eef2f5);color:var(--text);margin:0;padding:8px 10px;font-size:13px}
