:root{--bg:#f2f0eb;--bg-elevated:#fffcf7;--bg-sidebar:#1c2b2a;--bg-sidebar-hover:#243836;--ink:#1c2420;--ink-muted:#5c6a68;--line:#d8d2c6;--accent:#0f7a6c;--accent-strong:#0b5f54;--accent-soft:#d7efe9;--danger:#b42318;--danger-soft:#fce8e6;--warn:#9a6700;--warn-soft:#fff4d6;--ok:#0f6b3b;--ok-soft:#ddf5e7;--shadow:0 10px 30px #1c2b2a14;--radius:12px;--radius-sm:8px;--font-sans:"Figtree", system-ui, sans-serif;--font-display:"Lora", Georgia, serif;--sidebar-width:216px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-sans);background:var(--bg);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{color:#dfe8e2;background:linear-gradient(#1f302b,#162320);flex-direction:column;gap:20px;height:100vh;padding:24px 14px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.nav-toggle{display:none}.sidebar-role{color:#9fb3aa;margin-top:2px;font-size:12px}.sign-out-btn{width:100%;margin-top:.75rem}.brand{padding:0 10px}.brand-mark{font-family:var(--font-display);color:#f4efe4;margin:0;font-size:20px;font-weight:700}.brand-sub{color:#9fb3aa;margin:2px 0 0;font-size:12px}.nav-group{flex-direction:column;gap:.25rem;display:flex}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:#8da197;margin:8px 10px 4px;font-size:10.5px}.nav-link{color:#dfe8e2;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13.5px;transition:background .12s,color .12s;display:flex}.nav-link:hover,.nav-link.active{color:#fff;background:#ffffff14}.nav-link.active{font-weight:500;box-shadow:inset 2px 0 #2bb39b}.sidebar-footer{color:#c9d6cf;border-top:0;flex-direction:column;gap:10px;margin-top:auto;padding:0;font-size:13px;display:flex}.main{--sticky-head:0px;--sticky-chrome:0px;min-width:0;height:100vh;padding:0 32px 32px;overflow:auto}.main>p{margin-top:28px}.page-header{z-index:6;background:var(--bg);box-shadow:0 -24px 0 0 var(--bg);justify-content:space-between;align-items:flex-start;gap:1rem;margin:0 -32px;padding:28px 32px 1rem;display:flex;position:sticky;top:0}.page-header h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.85rem}.page-header p{color:var(--ink-muted);margin:.35rem 0 0}.panel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:visible}.filter-bar{border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;top:var(--sticky-head);z-index:5;background:linear-gradient(#fff 0%,#faf7f1 100%);flex-wrap:wrap;align-items:end;gap:.75rem;padding:1rem 1.1rem;display:flex;position:sticky}.field{flex-direction:column;gap:.3rem;min-width:160px;display:flex}.field label{color:var(--ink-muted);font-size:.78rem;font-weight:600}.req-mark{color:var(--danger);font-weight:700}.opt-mark{color:var(--ink-muted);font-weight:500}.field input,.field select,.field textarea,.search-input input{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fff;padding:.55rem .7rem}.field input:focus,.field select:focus,.field textarea:focus,.search-input input:focus{border-color:var(--accent);outline:2px solid #0f7a6c40}.field-invalid label{color:var(--danger)}.field input.input-invalid,.field select.input-invalid,.field textarea.input-invalid{border-color:var(--danger);background:#fff8f7}.field input.input-invalid:focus,.field select.input-invalid:focus,.field textarea.input-invalid:focus{border-color:var(--danger);outline:2px solid #b4231833}.field-error{color:var(--danger);margin:0;font-size:.8rem;font-weight:600}.field-hint{color:var(--ink-muted);margin:0;font-size:.78rem}.form-error-summary{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);border:1px solid #b4231833;padding:.75rem .9rem}.form-error-summary strong{margin-bottom:.35rem;display:block}.form-error-summary ul{margin:0;padding-left:1.1rem}.form-error-summary a{color:var(--danger);font-weight:600;text-decoration:underline}.skill-hours-grid{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.skill-hours-head,.skill-hours-row,.skill-hours-total{grid-template-columns:1fr 120px;align-items:start;gap:.75rem;padding:.65rem .8rem;display:grid}.skill-hours-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);background:#f7f4ee;font-size:.72rem;font-weight:700}.skill-hours-row{border-top:1px solid var(--line)}.skill-hours-row label{color:var(--ink);padding-top:.55rem;font-size:.92rem;font-weight:600}.skill-hours-row input{border:1px solid var(--line);border-radius:var(--radius-sm);text-align:right;width:100%;padding:.5rem .65rem}.skill-hours-row.is-invalid input,.skill-hours-row input.input-invalid{border-color:var(--danger);background:#fff8f7}.skill-hours-total{border-top:1px solid var(--line);background:#f3faf8;align-items:center}.skill-hours-total strong{text-align:right;font-family:var(--font-display);color:var(--accent-strong);font-size:1.1rem}.field-invalid .skill-hours-grid{border-color:var(--danger)}.search-input{flex:1;min-width:220px}.toolbar-actions{gap:.5rem;margin-left:auto;display:flex}.btn{border:1px solid #0000;border-radius:999px;padding:.55rem 1rem;font-weight:600;transition:transform .12s,background .12s,border-color .12s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{border-color:var(--line);color:var(--ink);background:#fff}.btn-secondary:hover{border-color:var(--accent);color:var(--accent-strong)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-ghost{color:var(--ink-muted);background:0 0}.btn:disabled{opacity:.55;cursor:not-allowed}.pull-confirm{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7f4ee;margin:.25rem 0 .75rem;padding:.85rem 1rem}.pull-confirm p{margin:0 0 .75rem}.pull-confirm-actions{flex-wrap:wrap;gap:.5rem;display:flex}.table-wrap{overflow:visible}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.85rem 1rem}.data-table .cell-wrap{white-space:normal;min-width:140px;max-width:280px;display:inline-block}.data-table .btn{padding:.4rem .75rem;font-size:.85rem}.data-table th{top:var(--sticky-chrome);z-index:4;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);box-shadow:inset 0 -1px 0 var(--line), 0 -16px 0 0 #f7f4ee;background:#f7f4ee;font-size:.75rem;position:sticky}.data-table tr:hover td{background:#0f7a6c0a}.row-actions{gap:.35rem;display:flex}.badge{border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-muted{color:var(--ink-muted);background:#ece8e0}.badge-danger{background:var(--danger-soft);color:var(--danger)}.empty-state,.loading-state,.error-banner{text-align:center;color:var(--ink-muted);padding:2rem 1.25rem}.error-banner{color:var(--danger);background:var(--danger-soft);text-align:left;border-radius:var(--radius-sm);margin-bottom:1rem;padding:.85rem 1rem}.drawer-error{margin:0}.check-row{color:var(--ink);align-items:center;gap:.55rem;font-size:.92rem;display:flex}.check-row input{width:1rem;height:1rem}.drawer-backdrop{z-index:40;background:#14201f73;justify-content:flex-end;animation:.16s fade-in;display:flex;position:fixed;inset:0}.drawer{background:var(--bg-elevated);flex-direction:column;gap:.85rem;width:min(440px,100%);height:100%;padding:1.25rem;animation:.18s slide-in;display:flex;box-shadow:-12px 0 40px #0000002e}.drawer-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.drawer h2{font-family:var(--font-display);margin:0}.drawer-close{color:var(--ink-muted)}.drawer-form{flex-direction:column;flex:1;min-height:0;display:flex}.drawer-body{flex-direction:column;flex:1;gap:.85rem;padding-right:.15rem;display:flex;overflow:auto}.drawer-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.5rem;margin-top:auto;padding-top:.85rem;display:flex}.pagination{border-top:1px solid var(--line);color:var(--ink-muted);background:#faf7f1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.1rem;font-size:.9rem;display:flex}.pagination-actions{align-items:center;gap:.65rem;display:flex}.login-page{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{background:var(--bg-elevated);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:18px;padding:2rem}.login-card h1{font-family:var(--font-display);margin:0}.login-card p{color:var(--ink-muted);margin:.4rem 0 1.25rem}.login-card .field{margin-bottom:.85rem}.login-card .btn-primary{width:100%;margin-top:.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit;padding:1rem 1.1rem;text-decoration:none}a.stat-card:hover{border-color:var(--ink-muted)}.stat-card strong{font-family:var(--font-display);margin-top:.25rem;font-size:1.6rem;display:block}.stat-card span{color:var(--ink-muted);font-size:.85rem}.quick-links-panel{padding:1.25rem}.quick-links-title{margin:0 0 .85rem;font-weight:600}.quick-links{flex-wrap:wrap;gap:.75rem;display:flex}.work-list{flex-direction:column;gap:.75rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.work-list a,.work-note{background:var(--bg-elevated);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);color:inherit;padding:.9rem 1rem;text-decoration:none;display:block}.work-list a:hover{border-color:var(--ink-muted);border-left-color:var(--accent)}.work-list strong,.work-note strong{margin-bottom:.2rem;display:block}.work-list span,.work-note span{color:var(--ink-muted)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:.6;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (width<=900px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.sidebar{z-index:10;gap:.75rem;height:auto;position:sticky;top:0;overflow:visible}.main{height:auto;overflow:visible}.nav-toggle{display:inline-flex}.sidebar .nav-group,.sidebar .sidebar-footer{display:none}.sidebar.is-open .nav-group,.sidebar.is-open .sidebar-footer{flex-direction:column;display:flex}.main{padding:1rem}.page-header{flex-direction:column}.toolbar-actions{width:100%;margin-left:0}.toolbar-actions .btn{flex:1}.filter-bar .toolbar-actions{width:100%}}.row-excluded td{opacity:.55;text-decoration:line-through}.row-excluded td:last-child{opacity:1;text-decoration:none}.health-track{background:var(--line);border-radius:99px;height:.45rem;margin-top:.35rem;overflow:hidden}.health-fill{background:var(--brand,#0f7a6c);height:100%}.health-fill.is-amber,.health-fill.is-orange{background:#b86e00}.health-fill.is-red,.health-fill.is-overrun{background:#9f2d2d}.health-detail{border-top:1px solid var(--line);padding:1rem 1.25rem 1.25rem}.health-detail h2{margin:0 0 .75rem;font-size:1.15rem}.health-weeks{gap:.55rem;margin:.75rem 0 1rem;display:grid}.health-months{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.health-month{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);min-width:8.5rem;color:inherit;text-align:left;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.55rem .7rem;display:flex}.health-month.is-selected,.data-table tr.is-selected td{background:var(--bg)}.health-month.is-selected{border-color:var(--ink)}.health-month strong{font-size:1.15rem}.health-contract{padding:1rem 1.25rem 1.25rem}.health-contract h2{margin:0 0 .75rem;font-size:1.15rem}.insight-board{margin-bottom:1.25rem}.insight-board h3{margin:0 0 .35rem;font-size:1.05rem}.insight-actions{gap:.6rem;margin:0 0 1rem;display:grid}.insight-action{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);border-left:3px solid #9f2d2d;padding:.75rem .9rem;display:block}.insight-action.is-warn{border-left-color:#b86e00}.insight-action strong{margin-bottom:.2rem;display:block}.insight-action span{color:var(--ink-muted);font-size:.92rem}button.stat-card{text-align:left;width:100%}button.stat-card.is-selected{border-color:var(--ink)}.health-work{margin:1.25rem 0 .5rem}.health-callout{background:var(--bg);border-left:3px solid #0f7a6c;margin:0 0 .75rem;padding:.85rem 1rem;font-size:1.05rem;line-height:1.45}.health-work-note{color:var(--ink-soft,#4d5c5a);margin:0 0 .75rem;font-size:.92rem}.health-split{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;display:grid}.share-cell{min-width:8.5rem}.share-bar{background:var(--line);border-radius:99px;height:.45rem;margin-top:.3rem;overflow:hidden}.share-bar>span{background:#0f7a6c;height:100%;display:block}.share-bar.is-total>span{background:#7f9c97}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.health-split{grid-template-columns:1fr}}.os-page{color:#1c2420;flex-direction:column;gap:18px;font-size:13.5px;display:flex}.os-eyebrow{color:#5f645d;font-size:13px}.os-page h1{font-family:var(--font-display);overflow-wrap:anywhere;margin:4px 0 0;font-size:30px;font-weight:700;line-height:1.15}.os-sub{color:#5f645d;margin-top:4px;font-size:13.5px}.os-chrome{z-index:6;background:var(--bg);box-shadow:0 -24px 0 0 var(--bg);flex-direction:column;gap:14px;margin:0 -32px;padding:28px 32px 14px;display:flex;position:sticky;top:0}.os-chrome .os-head,.os-chrome .os-filters{box-shadow:none;background:0 0;margin:0;padding:0;position:static}.os-head{z-index:6;background:var(--bg);box-shadow:0 -24px 0 0 var(--bg);justify-content:space-between;align-items:flex-start;gap:20px;margin:0 -32px;padding:28px 32px 12px;display:flex;position:sticky;top:0}.os-head>div:first-child{flex:auto;min-width:0}.os-banner{background:#fbf3dc;border:1px solid #ecd9a4;border-radius:10px;align-items:center;gap:14px;padding:12px 16px;display:flex}.os-dot{background:#c58a0d;border-radius:50%;flex:none;width:8px;height:8px}.os-banner p{flex:1;margin:0;line-height:1.45}.os-grid-2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.os-grid-wide{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.os-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.os-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.os-card{background:#fffcf7;border:1px solid #e4dfd3;border-radius:12px;padding:16px 18px}.os-card-pad{padding:18px 20px}.os-stack{flex-direction:column;gap:12px;display:flex}.os-kpi-label{color:#5f645d;font-size:12.5px}.os-kpi{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:700}.os-kpi span,.os-kpi-note{font-family:var(--font-sans);color:#5f645d;font-size:15px;font-weight:500}.os-kpi-foot{color:#5f645d;margin-top:2px;font-size:12.5px}.os-pill{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.os-row-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.os-muted{color:#5f645d;font-size:12px}.os-fact{font-size:16px;font-weight:600}.os-explain{color:#4a5049;margin-top:4px;line-height:1.5}.os-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:flex-start;gap:8px;max-width:100%;display:flex}.os-btn{color:#1c2420;white-space:nowrap;background:#fff;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.os-btn.primary{color:#fff;background:#0f7a6c}.os-btn.secondary{background:#fff;border-color:#d6d0c3}.os-btn.block{text-align:center;width:100%;padding:8px 12px;display:block}.os-btn:disabled{opacity:.55;cursor:default}.os-bar{background:#e3ddd0;border-radius:4px;height:8px;position:relative}.os-bar i,.os-bar b{border-radius:4px;position:absolute;top:0;bottom:0;left:0}.os-bar b{background:#1c2420;width:2px;top:-3px;bottom:-3px}.os-bar.thin{border-radius:3px;height:6px}.os-bar.scale{background:#ebe6db;border-radius:2px;height:9px}.os-bar.scale i,.os-bar.scale b{border-radius:2px}.os-bar.scale b{width:1.5px;top:-4px;bottom:-4px}.os-contract-line{flex-direction:column;gap:6px;display:flex}.os-contract-line .os-line{justify-content:space-between;gap:8px;font-size:13.5px;display:flex}.os-split{border-top:1px solid #eee9de;justify-content:space-between;gap:12px;padding-top:8px;font-size:13.5px;display:flex}.os-note{color:#5f645d;border-top:1px solid #eee9de;padding-top:12px;font-size:12.5px;line-height:1.5}.os-toggle{background:#e6e1d6;border-radius:999px;flex:none;padding:3px;font-size:13px;display:flex}.os-toggle button,.os-toggle a{color:#1c2420;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.os-kanban{align-items:flex-start;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.os-kanban>.os-board{flex:1 0 260px;max-height:70vh;overflow:auto}.os-kanban>.os-board>header{z-index:2;background:#ebe7de;position:sticky;top:0}.os-grid-4>.os-board>header{top:var(--sticky-chrome);z-index:3;background:#ebe7de;position:sticky}.os-toggle .on{background:#fff;font-weight:600}.os-toggle .future{color:#8a8d85}.os-plan-row{grid-template-columns:150px 1fr 52px;align-items:center;gap:10px;height:21px;font-size:12.5px;display:grid}.os-plan-row span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.os-plan-row span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.os-list{gap:0 16px;font-size:13px;display:grid}.os-list.health{grid-template-columns:minmax(140px,1.5fr) minmax(110px,1fr) 120px 72px 72px 48px}.os-list.deliveries{grid-template-columns:minmax(160px,1.6fr) minmax(120px,1fr) 130px 110px}.os-list>*{border-top:1px solid #eee9de;padding:8px 0}.os-list .head{top:var(--sticky-chrome);z-index:4;color:#5f645d;background:#fffcf7;border-top:0;font-size:12px;position:sticky;box-shadow:0 -12px #fffcf7}.os-list.reports{grid-template-columns:minmax(140px,1.3fr) 120px minmax(140px,1.2fr) 120px 90px minmax(160px,auto)}.os-list a{color:inherit;font-weight:600;text-decoration:none}.os-table{grid-template-columns:minmax(0,1fr) 48px 64px 48px;row-gap:0;font-size:13px;display:grid}.os-table div{border-top:1px solid #eee9de;padding:6px 0}.os-table .head{color:#5f645d;border-top:0;padding-bottom:4px;font-size:12.5px}.os-num{text-align:right;font-variant-numeric:tabular-nums}.os-callout{color:#e8efe9;background:#1f302b;border-radius:12px;padding:16px 18px;font-size:13.5px;line-height:1.55}.os-callout h2{font-family:var(--font-display);color:#f4efe4;margin:0 0 6px;font-size:16px;font-weight:700}.os-brief{font-family:var(--font-display);max-width:860px;margin:0;font-size:26px;font-weight:500;line-height:1.4}.os-brief b{font-weight:700}.os-lens-row{justify-content:space-between;gap:12px;line-height:1.45;display:flex}.os-lens-row+.os-lens-row{border-top:1px solid #eee9de;padding-top:12px}.os-lens-row strong{white-space:nowrap;font-variant-numeric:tabular-nums}.os-bars{align-items:flex-end;gap:18px;height:150px;display:flex}.os-bars .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.os-bars .col em{font-size:12px;font-style:normal;font-weight:600}.os-bars .col i{background:#0f7a6c;border-radius:4px 4px 0 0;width:100%}.os-bars .col i.partial{background:#c9b98f}.os-bars .col span{color:#5f645d;font-size:12px}.os-col{background:#fffcf7;border:1px solid #e4dfd3;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.os-col header{border-bottom:1px solid #eee9de;padding:14px 16px 12px}.os-col header strong{font-size:15px}.os-col header b{font-family:var(--font-display);font-size:20px;font-weight:700}.os-col header p{color:#5f645d;margin:4px 0 0;font-size:12.5px;line-height:1.4}.os-item{color:inherit;border-bottom:1px solid #f0ebe1;flex-direction:column;gap:6px;padding:10px 16px;display:flex}.os-item:hover{background:#faf7f1}.os-item .meta{justify-content:space-between;gap:8px;font-size:13px;display:flex}.os-item .meta span:first-child{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.os-item .meta span:last-child{color:#5f645d;white-space:nowrap}.os-more{color:#5f645d;padding:9px 16px;font-size:12.5px}.os-col footer{padding:12px 16px}.os-mini{background:#ebe6db;border-radius:2px;height:5px}.os-mini i{border-radius:2px;height:100%;display:block}.os-heat{grid-template-columns:160px repeat(6,minmax(0,1fr)) 52px;align-items:center;gap:4px;display:grid}.os-heat.head{letter-spacing:.06em;text-transform:uppercase;color:#5f645d;padding-bottom:6px;font-size:11px;font-weight:600}.os-heat .name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.os-cell{border-radius:3px;justify-content:center;align-items:center;height:24px;font-size:11.5px;font-weight:600;display:flex}.os-legend{color:#5f645d;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:11.5px;display:flex}.os-legend i{vertical-align:-1px;border-radius:2px;width:12px;height:12px;margin-right:5px;display:inline-block}.os-pattern{box-shadow:inset 3px 0 #c8473a}.os-meta-line{color:#5f645d;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.os-month-chart{border-bottom:1px solid #d6d0c3;align-items:flex-end;gap:14px;height:190px;margin-top:16px;display:flex;position:relative}.os-month-chart .plan-line{border-top:1.5px dashed #1c2420;position:absolute;left:0;right:0}.os-month-chart .bar{background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;padding:0;display:flex}.os-month-chart .bar b{font-size:12px;font-weight:600}.os-month-chart .bar i{border-radius:4px 4px 0 0;width:100%}.os-month-labels{gap:14px;margin-top:6px;display:flex}.os-month-labels span{text-align:center;color:#5f645d;flex:1;font-size:12px}.os-option{text-align:left;color:#e8efe9;background:#ffffff14;border:1px solid #ffffff24;border-radius:10px;padding:10px 14px;font-size:13.5px}.os-option.pick{color:#1c2420;background:#fff;border-color:#fff}.os-option small{color:#9fb3aa;margin-top:2px;font-size:12.5px;display:block}.os-option.pick small{color:#5f645d}.os-option strong{font-weight:600}.os-break div{justify-content:space-between;gap:8px;padding:5px 0;display:flex}.os-break div+div{border-top:1px solid #eee9de}.os-kicker{letter-spacing:.06em;text-transform:uppercase;color:#5f645d;font-size:12px;font-weight:600}.os-reflect{color:#3c443d;max-width:68ch;margin:0;font-size:14px;line-height:1.45}.os-client{background:#fff;border:1px solid #e4dfd3;border-radius:12px;flex-direction:column;gap:16px;padding:24px 26px;display:flex;box-shadow:0 8px 24px #1e28230f}.os-client h2{font-family:var(--font-display);margin:0;font-size:20px;font-weight:700}.os-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.os-stat{background:#f6f3ec;border-radius:8px;padding:10px 12px}.os-stat.hot{color:#a8261b;background:#fbe6e3}.os-stat b{font-family:var(--font-display);margin-top:2px;font-size:20px;font-weight:700;display:block}.os-draft{resize:vertical;color:#1c2420;background:0 0;border:0;width:100%;min-height:96px;padding:0;font-size:14px;line-height:1.6}.os-rates{grid-template-columns:1fr 54px 64px 60px;column-gap:8px;font-size:13px;display:grid}.os-rates span{border-top:1px solid #eee9de;padding:5px 0}.os-rates .head{color:#5f645d;border-top:0;padding-bottom:4px;font-size:12px}.os-rates .total{border-top:1px solid #1c2420;font-weight:600}.os-week{grid-template-columns:92px 1fr 72px;align-items:center;gap:10px;height:24px;font-size:12.5px;display:grid}.os-week i{background:#ebe6db;border-radius:2px;height:9px;display:block;overflow:hidden}.os-week i b{background:#0f7a6c;height:100%;display:block}.os-board{background:#ebe7de;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.os-board header{justify-content:space-between;align-items:baseline;padding:2px 4px 0;font-size:14px;font-weight:600;display:flex}a.os-ticket{text-decoration:none}.os-issues{grid-template-columns:minmax(180px,1.6fr) 120px 110px 70px;gap:8px 12px;margin-top:12px;font-size:13px;display:grid}.os-issues>*{overflow-wrap:anywhere;min-width:0}.os-issues.est{grid-template-columns:minmax(180px,1.6fr) 120px 110px 80px 70px}.os-issues .head{color:#6d746c;font-size:12px}.os-ticket{text-align:left;color:inherit;background:#fffcf7;border:1px solid #e4dfd3;border-radius:9px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.os-ticket .who{color:#5f645d;justify-content:space-between;gap:8px;font-size:12px;display:flex}.os-ticket .who span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.os-ticket nav{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.os-ticket nav a{color:#0f7a6c;font-size:12px;font-weight:600}.os-empty{color:#5f645d;background:#fffcf7;border:1px dashed #cfc8b9;border-radius:9px;padding:16px 12px;font-size:12.5px;line-height:1.45}.os-sync{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px}.os-sync-age{color:#f2c76a;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.os-sync-when{color:#c9d6cf;margin-top:4px;font-size:12px}.os-count{color:#fff;background:#c8473a;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.os-signout{color:#9fb3aa;text-align:left;background:0 0;border:0;padding:0;font-size:12px}.os-user{color:#f4efe4;font-size:13.5px}.os-crumb ol{flex-wrap:wrap;align-items:baseline;gap:0;margin:0;padding:0;list-style:none;display:flex}.os-crumb li{overflow-wrap:anywhere;min-width:0;max-width:100%;display:inline}.os-crumb li:not(:last-child):after{content:"/";color:#8a8d85;margin:0 8px}.os-crumb a{color:#0f7a6c;white-space:nowrap;font-weight:600}.os-crumb [aria-current=page]{color:#1c2420}.os-props{flex-wrap:wrap;gap:12px 28px;margin:12px 0 0;display:flex}.os-props div{min-width:0;max-width:100%}.os-props dt{color:#6d746c;font-size:12px}.os-props dd{overflow-wrap:anywhere;margin:2px 0 0}.os-props a{color:#0f7a6c;font-weight:600}.os-error{color:#a8261b;font-size:13px}.os-ticket{border-top:1px solid #e4e0d8;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.os-sheet,.os-steps{gap:8px 12px;margin-top:12px;font-size:13px;display:grid}.os-sheet{grid-template-columns:90px 110px 80px minmax(140px,1.4fr) minmax(140px,1fr) 90px 70px}.os-steps{grid-template-columns:1.4fr repeat(4,90px)}.os-sheet .head,.os-steps .head{color:#6d746c;font-size:12px}.os-sheet-row{display:contents}.os-sheet input{width:100%;font:inherit;background:#fff;border:1px solid #d9d3c7;border-radius:6px;padding:6px 8px}.os-cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.os-cal-head,.os-cal-day{min-height:28px;font-size:12px}.os-cal-day{background:#f7f4ee;border-radius:8px;padding:6px}.os-cal-day.mark{background:#f3e4d4}.os-log{grid-template-columns:140px 64px 110px 1fr;gap:8px;font-size:13px;display:grid}.os-check{align-items:center;gap:8px;display:flex}.os-filters{top:var(--sticky-head);z-index:5;background:var(--bg);flex-wrap:wrap;align-items:end;gap:12px 16px;display:flex;position:sticky}.os-filters label{color:#6d746c;flex-direction:column;gap:4px;font-size:12px;display:flex}.os-filters select,.os-filters input{color:#1c2420;background:#fff;border:1px solid #d9d3c7;border-radius:8px;min-width:160px;padding:8px 10px}.os-filters .os-check{color:#1c2420;min-height:38px;font-size:14px}.os-owner{text-align:left;color:inherit;background:0 0;border:0;padding:0;font-weight:600}@media (width<=1100px){.os-grid-4,.os-grid-3,.os-grid-2,.os-grid-wide{grid-template-columns:1fr 1fr}.os-heat{grid-template-columns:120px repeat(6,minmax(28px,1fr)) 44px}}
