.dashboard{--alarm: #b3261e;--amber: color-mix(in srgb, #c98a12 88%, var(--brown));--green: color-mix(in srgb, #1e7a46 80%, var(--brown));--purple: color-mix(in srgb, #6a1b8a 75%, var(--brown));--orange: color-mix(in srgb, #b87013 88%, var(--brown));--grey: color-mix(in srgb, var(--muted) 78%, var(--paper));--label: 12px;--small: 14px;--body: 16px;--heading: 20px}.page-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.dashboard .week-switch{display:flex;gap:4px}.dashboard .week-switch .icon-button{width:44px;height:44px}.dashboard .page-heading p,.dashboard .eyebrow{font-size:var(--small)}.dashboard .page-heading .eyebrow{font-size:var(--label)}.tabs{display:inline-flex;padding:3px;border:1px solid var(--stone);border-radius:2px;background:var(--paper)}.tab{border:0;background:transparent;color:var(--muted);padding:9px 18px;border-radius:2px;white-space:nowrap;font-size:var(--body);font-weight:600}.tab[aria-selected=true]{background:var(--navy);color:var(--paper)}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:36px 0 20px}.kpi{background:var(--paper);border:1px solid var(--stone);padding:22px 24px;min-width:0}.kpi strong{display:block;margin:12px 0 8px;color:var(--navy);font-size:36px;font-weight:500;letter-spacing:-1px}.kpi strong.worse{color:var(--alarm)}.delta{color:var(--muted);font-size:var(--small)}.groups{display:grid;gap:20px}.board{border:1px solid var(--stone);border-radius:2px;background:var(--paper);min-width:0}.board-heading{padding:18px 23px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--stone)}.board-heading h2{margin:0;font-size:var(--heading);font-weight:600}.board-heading h2 small{margin-left:12px;color:var(--muted);font-size:var(--small);font-weight:400}.board-group h3{margin:0;padding:18px 23px 8px;color:var(--navy);font-size:var(--body);font-weight:600}.board-group+.board-group h3{border-top:1px solid var(--stone)}.count{display:inline-block;margin-left:8px;padding:3px 7px;background:var(--sand);border-radius:2px;color:var(--muted);font-size:var(--small);font-weight:400}.counts{display:flex;align-items:center;gap:8px;margin:0}.counts .count{margin-left:0}.empty{margin:0;padding:40px 23px;text-align:center;color:var(--muted);font-size:var(--body)}.entry-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--body)}.entry-table th.narrow{width:200px}.entry-table th.status-column{width:230px}.entry-table th.due-column{width:150px}.entry-table th.wide{width:380px}.entry-table th,.entry-table td{text-align:left;vertical-align:top;padding:12px 23px;border-top:1px solid var(--stone)}.entry-table th{color:var(--muted);border-top:0;white-space:nowrap;font-size:var(--label);font-weight:600;letter-spacing:.7px;text-transform:uppercase}.entry-table td strong{font-weight:600}.entry-table td small{display:block;color:var(--muted);margin-top:4px;font-size:var(--small)}.tag{display:inline-block;font-variant-numeric:tabular-nums;padding:3px 8px;border:1px solid var(--stone);border-radius:2px;color:var(--muted);white-space:nowrap;font-size:var(--small)}.tag.status{border-color:var(--status);background:var(--status);color:var(--paper);font-weight:600}.dashboard .on_track{--status: var(--green)}.dashboard .at_risk{--status: var(--amber)}.dashboard .blocked{--status: var(--alarm)}.dashboard .waiting_on_decision{--status: var(--purple)}.dashboard .waiting_on_third_party{--status: var(--orange)}.dashboard .done{--status: var(--blue)}.dashboard .not_started{--status: var(--grey)}.tag.overdue{color:var(--alarm);border-color:var(--alarm);font-weight:600}.tag.none{border-style:dashed}.flag{display:inline-block;padding:1px 7px;border-radius:2px;background:#fff1e8;color:#8c3921;font-size:var(--small);font-weight:600}.blocker{margin:6px 0 0;color:#8c3921;line-height:1.5}.blocker .flag{margin-right:8px}.entry-table details{margin-top:6px}.entry-table summary{cursor:pointer;color:var(--blue);font-size:var(--small);font-weight:600}.entry-table dl{margin:4px 0 0;max-width:78ch}.entry-table dt{margin-top:10px;color:var(--muted);font-size:var(--label);font-weight:600;letter-spacing:.7px;text-transform:uppercase}.entry-table dd{margin:4px 0 0;line-height:1.55;white-space:pre-wrap}.charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.bars,.legend{list-style:none;margin:0;padding:16px 23px}.bars li{display:grid;grid-template-columns:190px minmax(0,1fr) 32px;align-items:center;gap:14px;padding:7px 0;font-size:var(--small)}.bar-track{display:block;height:14px}.bar,.bar-stack{display:block;height:100%}.bar{min-width:3px;border-radius:2px;background:var(--status)}.bar-stack{display:flex;gap:2px}.bar-figure{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:0;font-size:var(--small);color:var(--muted)}.legend li{display:flex;align-items:center;gap:7px}.swatch{width:12px;height:12px;border-radius:2px;background:var(--status)}.figures .flag{margin-left:10px}@media(max-width:1100px){.charts{grid-template-columns:minmax(0,1fr)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:760px){.dashboard .page-heading{flex-wrap:wrap}.entry-table thead{display:none}.entry-table tr{display:block;padding:12px 23px;border-top:1px solid var(--stone)}.entry-table td{display:inline-block;width:auto;padding:0 12px 6px 0;border:0}.entry-table td.work{display:block}}@page{size:A4 landscape;margin:14mm}@media print{.dashboard{--label: 7pt;--small: 8pt;--body: 9.5pt;--heading: 12pt}.dashboard .page-actions,.entry-table details{display:none}.dashboard .page-heading h1{font-size:22pt}.kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0 10px}.kpi{padding:10px 12px}.kpi strong{margin:6px 0 4px;font-size:20pt}.groups,.charts{gap:10px}.charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.board-heading,.bars,.legend{padding:8px 12px}.legend{padding-top:0}.bars li{grid-template-columns:120px minmax(0,1fr) 24px;gap:8px;padding:3px 0}.bar-track{height:9px}.entry-table th,.entry-table td{padding:6px 12px}.entry-table th.narrow{width:115px}.entry-table th.status-column{width:125px}.entry-table th.due-column{width:100px}.entry-table th.wide{width:200px}.entry-table tr,.kpi,.charts .board,.board-heading{break-inside:avoid}.board-heading,.board-group h3{break-after:avoid}.bar,.swatch,.tag,.flag,.count,.tab{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.report{max-width:1000px}.report form{display:grid;gap:20px;margin-top:36px}.entries{display:grid;gap:20px;border:0;margin:0;padding:0;min-width:0}.entries:disabled .field input,.entries:disabled .field select,.entries:disabled .field textarea{background:var(--sand);color:var(--muted)}.week-switch{display:flex;gap:4px}.week-switch button:disabled{cursor:not-allowed}.panel{background:var(--paper);border:1px solid var(--stone);padding:22px 24px;min-width:0}.panel>header{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}.panel h2{font-size:17px;font-weight:600;margin:0}.entry{display:grid;gap:16px}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.field{display:grid;gap:6px;min-width:0}.field label{font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-height:38px;border:1px solid var(--stone);border-radius:2px;background:var(--paper);color:var(--brown);padding:7px 10px}.field textarea{resize:vertical;min-height:72px;line-height:1.5}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--steel);outline-offset:1px}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.secondary.compact{gap:6px;padding:7px 13px;font-size:13px}.report .error{margin-top:0}.panel h2 small{margin-left:10px;font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--stone);margin:32px 0 24px;overflow-x:auto;overflow-y:hidden}.tabs a{padding:12px 16px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs a:hover{color:var(--navy)}.tabs a.active{color:var(--navy);border-bottom-color:var(--navy)}.users>header{flex-wrap:wrap;margin-bottom:12px}.users>header .primary{gap:6px}.muted{color:var(--muted);font-size:13px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--stone);white-space:nowrap}.data-table td{padding:11px 12px;border-bottom:1px solid #eeeae5;vertical-align:middle}.row-actions{white-space:nowrap;text-align:right}.settings-dialog{border:1px solid var(--stone);border-radius:2px;padding:24px 28px;width:min(480px,calc(100vw - 32px));box-shadow:0 20px 50px #2d51674d;background:var(--paper);color:var(--brown)}.settings-dialog::backdrop{background:#4a464366}.settings-dialog form{display:grid;gap:16px}.settings-dialog header{display:flex;justify-content:space-between;align-items:center}.settings-dialog h2{margin:0;font-size:20px;font-weight:500}.settings-dialog p{margin:0}.field input:disabled{background:var(--sand);color:var(--muted)}.field-error{color:#8c3921;font-size:12px}.role-choices{border:0;margin:0;padding:0;display:grid;gap:10px}.role-choices legend{font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.role-choice{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.role-choice input{margin-top:3px}.role-choice span{display:grid;gap:2px}.role-choice strong{font-size:14px;font-weight:600}.role-choice small{color:var(--muted);font-size:12px}.env-strip{position:sticky;top:0;z-index:30;height:16px;background:#c45a1a}.brand-group{display:flex;align-items:center;gap:18px}.env-badge{padding:3px 12px;border-radius:999px;background:#c45a1a;color:var(--paper);font-size:12px;font-weight:700;letter-spacing:1.2px;line-height:1.4}.menu{display:flex;gap:4px;margin-left:14px}.menu a{position:relative;padding:8px 12px;border-radius:2px;color:var(--brown);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap}.menu a:hover{color:var(--navy);background:var(--sand)}.menu a[aria-current=page]{color:var(--navy);font-weight:600}.menu a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:var(--blue)}@media(max-width:760px){.topbar{height:auto;padding-top:12px;padding-bottom:12px;flex-wrap:wrap;gap:8px}.brand-group{flex-wrap:wrap;gap:10px}.menu{margin-left:0}}@media print{:root,body{background:var(--paper)}.env-strip,.topbar,.workspace>footer,.firebase-emulator-warning{display:none!important}.home{padding:0;max-width:none;min-height:0}}:root{--navy: #2d5167;--blue: #36759c;--steel: #9aabba;--sand: #f4f0ea;--stone: #d3cfcb;--dust: #b1a9a0;--brown: #4a4643;--muted: #666666;--paper: #ffffff;--shadow: rgb(74 70 67 / .14);font-family:Switzer,Arial,sans-serif;font-synthesis:none;font-weight:400;color:var(--brown);background:var(--sand)}@font-face{font-family:Switzer;src:url(/assets/Switzer-Regular-BxEtgLLb.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Switzer;src:url(/assets/Switzer-Medium-Cv4k0_Dw.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Switzer;src:url(/assets/Switzer-Semibold-DSnGZNn0.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Switzer;src:url(/assets/Switzer-Bold-9JzFtTp4.woff2) format("woff2");font-weight:700;font-display:swap}*{box-sizing:border-box}html:has(.workspace){scrollbar-gutter:stable both-edges}body{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Switzer,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .15s,transform .15s}button:disabled{cursor:wait;opacity:.55}button:disabled.forbidden{cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--steel);outline-offset:4px}::placeholder{color:var(--dust)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;color:var(--muted);display:block}button.primary,.primary{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:0;border-radius:2px;background:var(--navy);color:var(--paper);padding:15px 21px;font-weight:600}.primary:hover{background:var(--blue)}.primary.compact{padding:9px 18px;font-size:13px}.primary:disabled{opacity:.55}.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--stone);background:transparent;color:var(--navy);padding:11px 15px;border-radius:2px;font-weight:600}.quiet{border:0;background:transparent;color:var(--navy);padding:9px;font-size:13px;font-weight:600}.quiet:hover,.secondary:hover{background:var(--sand)}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--navy)}.icon-button:hover{background:var(--sand)}.icon-button.small{width:36px;height:36px}.danger{border:0;border-radius:2px;padding:9px 18px;font-size:13px;font-weight:600;background:#9a3b2c;color:var(--paper)}.danger:hover{background:#7f2f22}.startup{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:48px 24px}.startup .progress{max-width:320px}.progress{width:100%;height:4px;border-radius:2px;background:var(--stone);overflow:hidden;position:relative}.progress span{position:absolute;inset:0;width:40%;border-radius:inherit;background:var(--navy);animation:progress-sweep 1.4s cubic-bezier(.4,0,.2,1) infinite}@keyframes progress-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}.sign-in{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:48px 24px;background:var(--sand);text-align:center}.login-card{max-width:26rem;width:100%;min-width:0}.login-symbol{width:auto;height:48px;margin:0 auto 1.1rem;display:block}.wordmark{margin-bottom:2.25rem}.wordmark img{width:auto;height:20px;display:block;margin:0 auto}.lockup{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin-bottom:2.5rem;color:var(--navy)}.lockup .cadence-mark{display:block}.lockup-title{font-size:2rem;font-weight:700;letter-spacing:.28em;line-height:1;margin-left:.28em}.login-card .eyebrow{margin-bottom:1rem;font-size:.95rem;font-weight:600;letter-spacing:.28em;color:var(--brown)}.login-card h1{font-size:clamp(1.5rem,3.5vw,2rem);letter-spacing:-.02em;font-weight:500;line-height:1.2;margin-bottom:1.25rem;color:var(--muted)}.login-card p{color:var(--muted);line-height:1.7;font-size:14px}button.microsoft{display:flex;width:100%;min-height:3.25rem;margin-top:1.5rem;gap:.8rem;font-size:.95rem}.ms-mark{display:grid;grid-template-columns:7px 7px;gap:2px;flex-shrink:0}.ms-mark i{height:7px;background:var(--paper)}.login-card .progress{margin-top:36px}.access-note{display:block;margin-top:1.5rem;color:var(--muted);font-size:.7rem;line-height:1.6}.topbar{height:90px;border-bottom:1px solid var(--stone);padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--brown)}.brand img{width:132px;height:auto;display:block}.brand-name{font-size:11px;font-weight:600;letter-spacing:2.6px;padding-left:16px;border-left:1px solid var(--stone);line-height:20px}.account{display:flex;align-items:center;gap:28px;font-size:13px}.account-actions{display:flex;align-items:center;gap:4px}a.icon-button.active{background:var(--sand)}.account small{display:block;color:var(--muted);text-transform:capitalize;font-size:10px;margin-top:4px}footer{padding:23px 6%;border-top:1px solid var(--stone);display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}footer span{font-size:8px;letter-spacing:1.5px}.home{padding:54px 6% 70px;max-width:1600px;margin:auto;min-height:calc(100vh - 155px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.page-heading .eyebrow{margin-bottom:17px}.page-heading h1{font-size:39px;font-weight:500;letter-spacing:-1.8px;margin-bottom:13px}.page-heading h1 span{color:var(--blue)}.page-heading p{font-size:14px;color:var(--muted);margin-bottom:0}.page-heading .icon-button{width:52px;height:52px;flex-shrink:0}.error{padding:14px 17px;border:1px solid #edd1c2;background:#fff1e8;color:#8c3921!important;border-radius:2px;font-size:13px;margin-top:16px;line-height:1.5}@media(prefers-reduced-motion:reduce){.progress span{animation-duration:3s}}@media(max-width:480px){.brand-name{display:none}}
