:root{--ink:#162521;--muted:#65746f;--green:#174c3e;--green2:#236b54;--lime:#c9df86;--canvas:#f3f5f0;--line:#dce3dc;--danger:#a83333;--warning:#996515;--shadow:0 12px 36px #18372d14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(420px,.85fr)}.brand-panel{background:linear-gradient(145deg,#10392f,#1d5c49 65%,#527d55);color:#fff;padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.brand-panel:after{content:"";position:absolute;width:420px;height:420px;border:80px solid #c9df861f;border-radius:50%;right:-190px;bottom:-160px}.brand-mark,.mini-mark{display:grid;place-items:center;background:var(--lime);color:var(--green);font-weight:900;border-radius:14px}.brand-mark{width:64px;height:64px;font-size:2rem;margin-bottom:3rem}.brand-panel h1{font-size:clamp(2.4rem,4.6vw,5rem);line-height:1.02;letter-spacing:-.045em;max-width:780px;margin:.4rem 0 1.5rem}.brand-panel>p:not(.eyebrow){font-size:1.15rem;line-height:1.65;max-width:640px;color:#dbe9df}.brand-facts{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.brand-facts span{border:1px solid #ffffff45;padding:.55rem .8rem;border-radius:999px;font-size:.85rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:800;color:var(--green2)}.brand-panel .eyebrow{color:var(--lime)}.login-panel{display:grid;place-items:center;padding:2rem;background:#fafbf8}.login-card{width:min(430px,100%)}.wordmark{display:flex;align-items:center;gap:.65rem;font-size:1.2rem;margin-bottom:3rem}.mini-mark{width:36px;height:36px;border-radius:9px}.inverse{color:#fff;text-decoration:none}.inverse small{display:block;color:#bcd0c6;font-weight:500}.login-card h2{font-size:2rem;letter-spacing:-.03em;margin:.4rem 0}.muted{color:var(--muted)}label{display:grid;gap:.45rem;font-size:.86rem;font-weight:700;margin:1.15rem 0}input,select,textarea{width:100%;border:1px solid #cdd7cf;border-radius:10px;background:#fff;color:var(--ink);padding:.78rem .85rem;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px #236b541f}.button{border:0;border-radius:10px;padding:.78rem 1rem;font-weight:800;cursor:pointer}.primary{background:var(--green);color:#fff}.secondary{background:#e7eee8;color:var(--green)}.full{width:100%}.field-error{color:var(--danger);min-height:1.4rem;font-size:.88rem}.privacy-note{font-size:.78rem;color:var(--muted);text-align:center}.sidebar{position:fixed;inset:0 auto 0 0;width:278px;background:#123c32;color:#e9f1ec;display:flex;flex-direction:column;z-index:30}.sidebar-head{padding:1.25rem 1rem;display:flex;align-items:center;justify-content:space-between}.sidebar-head .wordmark{margin:0}.nav-scroll{padding:.25rem .7rem 1rem;overflow-y:auto}.nav-group{margin:.7rem 0}.nav-group-title{color:#91aa9f;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;padding:.65rem .8rem;font-weight:800}.nav-link{display:flex;align-items:center;gap:.75rem;color:#dce8e2;text-decoration:none;padding:.62rem .75rem;border-radius:9px;font-size:.88rem;margin:.12rem 0}.nav-link:hover,.nav-link.active{background:#ffffff16;color:#fff}.nav-icon{width:23px;text-align:center;color:var(--lime)}.sidebar-foot{margin-top:auto;border-top:1px solid #ffffff18;padding:1rem;display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center}.sidebar-foot small{display:block;color:#9fb7ad;text-transform:capitalize}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dce8df;color:var(--green);font-weight:900}.icon-button{border:0;background:transparent;padding:.55rem;border-radius:9px;cursor:pointer;color:inherit}.inverse-button{color:#dce8e2}.workspace{margin-left:278px;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.context{display:flex;align-items:center;gap:.7rem}.context small{display:block;color:var(--muted)}.status-dot{width:9px;height:9px;background:#4ea067;border-radius:50%;box-shadow:0 0 0 4px #e1f2e6}.top-actions{display:flex;gap:.5rem;align-items:center}.page{padding:2rem;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.page-head h1{margin:.2rem 0;font-size:2rem;letter-spacing:-.035em}.breadcrumbs{color:var(--muted);font-size:.78rem}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:1rem;margin:1.5rem 0}.metric{padding:1.25rem}.metric small{color:var(--muted)}.metric strong{display:block;font-size:2rem;margin-top:.3rem}.metric.warn strong{color:var(--warning)}.grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem}.panel{padding:1.25rem}.panel h2{font-size:1rem;margin:0 0 1rem}.toolbar{display:flex;gap:.75rem;align-items:center;padding:1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar .search{max-width:360px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid #edf0ec;font-size:.86rem}.data-table th{font-size:.71rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fafbf9}.data-table tr:hover td{background:#fafcf9}.data-table a{color:var(--green2);font-weight:800;text-decoration:none}.badge{display:inline-flex;padding:.28rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;background:#e6eee8;color:var(--green)}.badge.warning{background:#fff0d8;color:#8a5810}.badge.danger{background:#f9e3e3;color:#9b3030}.empty,.error-state,.loading{padding:3rem;text-align:center;color:var(--muted)}.error-state strong,.empty strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:.4rem}.notice{border-left:4px solid var(--warning);background:#fff9ea;padding:1rem 1.2rem;border-radius:8px;color:#6e531e}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.form-grid .wide{grid-column:1/-1}.modal-backdrop{position:fixed;inset:0;background:#102b2580;z-index:50;display:grid;place-items:center;padding:1rem}.modal{background:#fff;border-radius:16px;width:min(680px,100%);max-height:90vh;overflow:auto;padding:1.5rem;box-shadow:0 30px 90px #0004}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.5rem}.detail-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.detail-item{padding:1rem;background:#f7f9f6;border-radius:10px}.detail-item small{display:block;color:var(--muted);margin-bottom:.3rem}.toast{position:fixed;right:1.5rem;top:1.5rem;z-index:80;background:#173f35;color:#fff;padding:.9rem 1.1rem;border-radius:10px;box-shadow:var(--shadow);transform:translateY(-150%);transition:.2s}.toast.show{transform:translateY(0)}.mobile-only{display:none}.scrim{display:none}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.brand-panel{display:none}.login-panel{min-height:100vh;padding:1.25rem}.sidebar{transform:translateX(-102%);transition:.2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.mobile-only{display:inline-grid;place-items:center}.scrim.show{display:block;position:fixed;inset:0;background:#0007;z-index:25}.topbar{padding:0 1rem}.page{padding:1.1rem}.page-head{align-items:stretch;flex-direction:column}.page-head .button{width:100%}.metrics{grid-template-columns:1fr 1fr;gap:.7rem}.metric{padding:1rem}.metric strong{font-size:1.55rem}.form-grid,.detail-list{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.toolbar>*{width:100%;max-width:none!important}.top-actions .icon-button{display:none}.table-wrap{max-width:calc(100vw - 2.2rem)}}@media(max-width:390px){.metrics{grid-template-columns:1fr}}
[hidden]{display:none!important}body{overflow-x:hidden}.workspace,.page,.grid-2>*{min-width:0}

/* Recovery Phase 2 planning timeline: controlled horizontal scrolling on phones. */
.gantt-scroll{overflow-x:auto;padding:1rem;min-width:0}.gantt-head,.gantt-row{display:grid;grid-template-columns:220px minmax(900px,1fr);gap:1rem;min-width:1136px;align-items:center}.gantt-head{font-weight:700;color:#52606d;border-bottom:1px solid #dce3e8;padding-bottom:.5rem}.gantt-row{border-bottom:1px solid #eef1f3;min-height:56px}.gantt-row a{display:flex;flex-direction:column;color:#186455;text-decoration:none;font-weight:700}.gantt-row small{color:#65717b;font-weight:400}.gantt-days{display:grid;grid-template-columns:repeat(45,minmax(18px,1fr));gap:2px}.gantt-days span{display:block;text-align:center;min-height:20px;border-radius:3px}.gantt-head .gantt-days span{font-size:.7rem}.gantt-row .gantt-days span{background:#f2f5f5}.gantt-row .gantt-days .baseline{background:#b3bfd0}.gantt-row .gantt-days .scheduled{background:#2d9479}.gantt-row .gantt-days .completed{background:#3171ba}

/* Keep long navigation lists inside the viewport, with the account footer visible. */
.sidebar-head,.sidebar-foot{flex-shrink:0}
#navigation{flex:1;min-height:0;display:flex}
.nav-scroll{flex:1;min-width:0;min-height:0;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#91aa9f #123c32}
.nav-scroll::-webkit-scrollbar{width:10px}
.nav-scroll::-webkit-scrollbar-track{background:#123c32}
.nav-scroll::-webkit-scrollbar-thumb{background:#91aa9f;border:2px solid #123c32;border-radius:8px}
/* Allow company labels to shrink without pushing account controls off-screen. */
.topbar{gap:1rem;min-height:72px;height:auto;padding-top:1rem;padding-bottom:1rem}
.context{flex:1;min-width:0}
.context>div{min-width:0}
.context strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status-dot,.top-actions{flex-shrink:0}
.top-actions .icon-button svg{display:block;width:20px;height:20px}
/* An empty translated toast still had a visible green edge at the viewport top. */
.toast{top:5.5rem;max-width:calc(100vw - 3rem);opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s,opacity .2s,visibility .2s}
.toast.show{opacity:1;visibility:visible}
@media(max-width:760px){.topbar{gap:.6rem}.context small{font-size:.7rem}.context strong{font-size:.8rem}}
/* Compact, keyboard-accessible section navigation. */
summary.nav-group-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem;list-style:none;cursor:pointer;border-radius:8px;user-select:none}
summary.nav-group-title::-webkit-details-marker{display:none}
summary.nav-group-title:hover{background:#ffffff0d;color:#e9f1ec}
summary.nav-group-title:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.nav-group.has-active>summary{color:var(--lime);background:#ffffff0a}
.nav-chevron{font-size:1.2rem;line-height:1;transition:transform .15s}
.nav-group[open]>.nav-group-title .nav-chevron{transform:rotate(90deg)}
.nav-group-links{padding-top:.15rem}
.store-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;align-items:stretch}
.store-actions .button{min-height:48px;padding:.9rem 1.25rem;border:1px solid #174c3e;border-radius:10px;box-shadow:0 2px 4px #18372d12;text-align:center}
.store-actions .button:hover{background:var(--green2)}
.store-actions .button:focus-visible{outline:3px solid var(--green2);outline-offset:3px}
@media(max-width:760px){.store-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.store-actions .button{padding:.85rem .7rem}}