:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#14233b;background:#f6f8fb}body{margin:0;background:linear-gradient(180deg,#fff 0 400px,#f6f8fb 100%)}main{max-width:1240px;margin:auto;padding:24px 32px 56px}.app-header{display:flex;justify-content:space-between;align-items:center;min-height:82px;padding-bottom:18px;border-bottom:1px solid #dfe6ef}.brand-lockup{display:flex;align-items:center;gap:14px}.brand-lockup img{display:block;width:106px;height:64px;object-fit:contain}.eyebrow{margin:2px 0 0;font-size:.65rem;letter-spacing:.12em;color:#66768a;font-weight:800}.identity{background:#eff3f8;border:1px solid #e0e7ef;border-radius:999px;padding:.58rem .85rem;font-size:.85rem;color:#25364d}.dashboard-intro{padding:56px 2px 24px}.dashboard-intro h1,.landing h1{margin:0;font-size:clamp(2.25rem,5vw,3.45rem);letter-spacing:-.055em;line-height:1.05}.dashboard-intro p{margin:.75rem 0 0;color:#5e6e82;font-size:1.08rem}.login,button{border:0;border-radius:8px;padding:.7rem .95rem;background:#2563eb;color:#fff;text-decoration:none;font-weight:700;cursor:pointer;box-shadow:0 1px 2px #13223814}.landing{max-width:600px;margin:4rem 0;background:white;padding:2.5rem;border:1px solid #dfe6ef;border-radius:14px;box-shadow:0 12px 30px #1322380d}.landing p:last-of-type{line-height:1.6;color:#52647a;margin:1rem 0 1.5rem}.notice{margin:0 0 18px;padding:13px 15px;border:1px solid #d9e5fa;border-left:4px solid #2563eb;border-radius:8px;background:#f4f8ff;color:#39516e;font-size:.9rem}.sync-health{margin:1rem 0;padding:1rem;border-left:4px solid #b55b00;background:#fff5e6;color:#653400;font-weight:600}.sync-health.healthy{border-left-color:#15803d;background:#effaf3;color:#166534}.dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 24px}.metric{background:#fff;border:1px solid #dfe6ef;border-radius:12px;padding:18px;min-height:134px;box-shadow:0 1px 2px #13223808}.metric p,.metric small{display:block;margin:0;color:#5e6e82;font-size:.88rem}.metric strong{display:block;font-size:2.15rem;letter-spacing:-.04em;line-height:1.1;margin:.5rem 0}.toolbar,.actions{display:flex;gap:8px;flex-wrap:wrap}.toolbar{padding:20px;border:1px solid #dfe6ef;border-radius:12px;background:#fff;box-shadow:0 1px 2px #13223808}.toolbar button{background:#2563eb}.toolbar button#daily,.toolbar button#review-access,.toolbar button#audit,.toolbar button#logout{background:#fff;color:#25415f;border:1px solid #cfd9e5}.toolbar button#review-q{background:#2563eb;padding-left:1.15rem;padding-right:1.15rem}.segments{display:grid;gap:12px}.segment{background:white;border:1px solid #dce5ea;border-radius:10px;padding:16px;display:grid;grid-template-columns:auto 1.2fr 1fr;gap:16px}.segment p{margin:.3rem 0}.merge-choice{font-size:.8rem}.assignment{display:grid;gap:6px}.assignment label{display:grid;font-size:.78rem;color:#40566a}.assignment select,.assignment input,.project-panel input,.review-q-actions input{padding:.45rem;border:1px solid #b8c7d1;border-radius:5px}.actions{grid-column:2/4}.actions button{background:#34516a;font-size:.8rem}.error{color:#9d1c1c;font-weight:600}dialog{max-width:800px;border:0;border-radius:10px;box-shadow:0 10px 35px #0004}dialog pre{max-height:60vh;overflow:auto;white-space:pre-wrap}
.review-q-header{margin-top:1.5rem;align-items:end;scroll-margin-top:16px}.review-q-header h2{margin:.2rem 0}.review-q-header button{background:#274b66}.review-q-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;margin-top:16px;align-items:start}.project-panel,.review-q-timeline{background:#fff;border:1px solid #dce5ea;border-radius:12px;padding:16px;box-shadow:0 5px 20px #1322380d}.project-panel{position:sticky;top:16px}.project-panel label{display:block;color:#40566a;font-weight:700;font-size:.85rem}.project-panel input{box-sizing:border-box;width:100%;margin-top:7px}.project-panel-title{color:#476780;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700;margin:20px 0 8px}.project-list{display:grid;gap:8px}.project-chip{background:#eef6fa;color:#1b4861;text-align:left;border:1px solid #c8deea;padding:.65rem}.project-chip.selected{background:#126c98;color:#fff;border-color:#126c98}.project-chip span,.project-chip small{display:block}.project-chip small{font-weight:500;margin-top:3px;opacity:.85}.review-q-timeline{min-width:0}.review-q-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.review-q-actions label,.date-control{font-weight:700;color:#40566a}.date-control{display:flex;align-items:center;gap:6px}.date-control input{min-height:36px;box-sizing:border-box}.date-nav{min-width:38px;min-height:36px;padding:.35rem .65rem;background:#274b66!important;font-size:1.1rem;line-height:1}.review-q-actions button{background:#18794e}.review-q-hours{border:1px solid #dce5ea;border-radius:8px;max-height:min(70vh,720px);min-height:320px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:repeating-linear-gradient(to bottom,#f8fbfd 0,#f8fbfd 58px,#e5edf2 59px,#e5edf2 60px)}.timeline-hour{display:grid;grid-template-columns:62px 1fr;min-height:60px;border-bottom:1px solid #e5edf2}.timeline-hour:last-child{border-bottom:0}.timeline-hour time{padding:8px;color:#476780;font-size:.78rem;font-variant-numeric:tabular-nums}.timeline-lane{position:relative;min-height:60px;border-left:1px solid #e5edf2}.timeline-block,.suggestion-overlay{position:absolute;left:6px;right:6px;overflow:hidden;text-align:left;border-radius:6px;font-size:.72rem;padding:5px 8px}.timeline-block{background:#d5ecf7;color:#17405a;border:1px solid #8fc4dc}.timeline-block strong,.timeline-block span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-overlay{background:#274b66;color:#fff;border:1px solid #183a54;display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:24px;touch-action:none}.suggestion-copy{min-width:0}.suggestion-copy strong,.suggestion-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-actions{display:flex;gap:4px;flex:none}.icon-action{width:26px;height:26px;padding:0;border-radius:5px;background:#fff;color:#274b66;font-size:1rem;line-height:1}.icon-action.accept{color:#18794e}.icon-action.reject{color:#a43131}.suggestion-overlay.editing{outline:3px solid #f4bd4f}.resize-handle{position:absolute;bottom:0;left:0;right:0;height:7px;cursor:ns-resize;background:#ffffff55}@media(max-width:800px){header,.segment,.review-q-header{display:flex;align-items:flex-start;flex-direction:column}.dashboard{grid-template-columns:1fr}.actions{grid-column:auto}.review-q-layout{grid-template-columns:1fr}.project-panel{position:static}.review-q-actions{align-items:flex-start;flex-direction:column}}
.review-q-hours{max-height:none;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto}
.review-q-sticky-header{position:sticky;top:16px;z-index:3;background:#fff;padding:2px 0 8px;border-bottom:1px solid #dce5ea}
.review-q-sticky-header:before{content:"";position:absolute;left:-16px;right:-16px;bottom:100%;height:16px;background:#fff}
.project-panel{max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.project-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
dialog dl{display:grid;gap:10px;min-width:min(560px,75vw)}dialog dl div{display:grid;grid-template-columns:120px 1fr;gap:12px;border-bottom:1px solid #dce5ea;padding-bottom:8px}dialog dt{font-weight:700;color:#40566a}dialog dd{margin:0;overflow-wrap:anywhere}
.project-chip-row{position:relative}.project-chip-row>.project-chip{width:100%;padding-right:42px}.project-pin{position:absolute;right:6px;top:6px;z-index:2;width:30px;height:30px;padding:0;background:#fff;color:#274b66;border:1px solid #8fc4dc}.project-pin[aria-pressed="true"]{background:#f4bd4f;color:#132238}.project-color-blue{--project-color:#2878b5}.project-color-teal{--project-color:#17857f}.project-color-green{--project-color:#397b3b}.project-color-amber{--project-color:#bd7900}.project-color-orange{--project-color:#c45b19}.project-color-purple{--project-color:#7651a8}.project-color-rose{--project-color:#b84567}.project-color-slate{--project-color:#586779}.project-chip[class*="project-color-"],.timeline-block[class*="project-color-"]{border-left:8px solid var(--project-color)}#assignment-dialog{width:min(520px,92vw)}#assignment-dialog>label{display:grid;gap:5px;margin:10px 0}#assignment-dialog input,#assignment-dialog textarea{padding:.55rem;border:1px solid #b8c7d1;border-radius:5px}#assignment-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:1px solid #dce5ea;border-radius:7px;margin:12px 0}#assignment-colors label{padding:5px}
.timeline-block{z-index:1}.suggestion-overlay{z-index:2}
.timeline-clock-bucket .timeline-lane{display:flex;gap:5px;align-items:stretch}.timeline-clock-bucket .clock-group{flex:1;min-width:0;border-left:6px solid var(--continuity-color,#18794e);border-radius:3px}.timeline-clock-bucket .clock-group.continues-from{border-top-left-radius:0;border-top-right-radius:0}.timeline-clock-bucket .clock-group.continues-to{border-bottom-left-radius:0;border-bottom-right-radius:0}
.allocation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 7rem auto;gap:6px;margin:8px 0}.allocation-row select,.allocation-row input{min-width:0;padding:.45rem;border:1px solid #b8c7d1;border-radius:5px}@media(max-width:620px){.allocation-row{grid-template-columns:1fr 1fr}.allocation-row input,.allocation-row button{grid-column:span 1}}
.timeline-hour{min-height:46px;grid-template-columns:minmax(136px,max-content) minmax(0,1fr)}.timeline-time{display:flex;align-items:center;gap:4px;white-space:nowrap;box-sizing:border-box;overflow:hidden}.timeline-hour time{white-space:nowrap}.timeline-hour .timeline-lane{min-width:0;min-height:46px;padding:5px;box-sizing:border-box}.timeline-hour .timeline-block{position:static;width:100%;box-sizing:border-box}.timeline-gap{background:#f5f7f9;color:#617486}.timeline-gap .timeline-lane{display:flex;align-items:center;font-style:italic}.timeline-expander{position:relative;z-index:2;flex:0 0 24px;width:24px;height:24px;min-width:24px;min-height:24px;margin:0;padding:0;border-radius:4px;background:transparent;color:#274b66;font-size:18px;line-height:1}.timeline-expander:hover,.timeline-expander:focus-visible{background:#dce8ef}.compact-suggestion{position:static;margin-top:5px;min-height:34px}.jump-target{outline:3px solid #f4bd4f;outline-offset:-3px}.access-row{display:flex;gap:8px;padding:10px;border-bottom:1px solid #dce5ea}.review-q-actions{justify-content:flex-start;flex-wrap:wrap}#review-q-owner{margin:.5rem 0;padding:.45rem;border:1px solid #b8c7d1;border-radius:5px}
.ai-wait-overlay{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:rgba(3,20,35,.62);cursor:wait}.ai-wait-overlay[hidden]{display:none}.ai-wait-card{width:min(520px,92vw);box-sizing:border-box;background:#fff;border:1px solid #b8c7d1;border-radius:12px;padding:14px;box-shadow:0 20px 50px #0f172a47}.ai-wait-card h2{margin:0 0 12px}.ai-wait-spinner-row{display:flex;align-items:center;gap:10px;min-height:28px;margin-bottom:12px;color:#40566a}.ai-wait-spinner{width:22px;height:22px;box-sizing:border-box;border:3px solid #b9dce9;border-top-color:#126c98;border-radius:50%;animation:ai-wait-spin .8s linear infinite;flex:none}#ai-wait-status{min-width:0;flex:1}#ai-wait-elapsed{margin-left:auto;white-space:nowrap;font-size:.82rem}.ai-wait-steps{display:grid;gap:0;border:1px solid #d6e4f0;border-radius:9px;overflow:hidden;background:#fff}.ai-wait-step{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:7px 10px;border-top:1px solid #e3edf5;color:#617486;font-size:.84rem}.ai-wait-step:first-child{border-top:0}.ai-wait-step-marker{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e8eef2;font-weight:800}.ai-wait-step-status{white-space:nowrap;font-size:.74rem;font-weight:700}.ai-wait-step.is-current{background:#eef7fb;color:#17405a}.ai-wait-step.is-current .ai-wait-step-marker{background:#126c98;color:#fff}.ai-wait-step.is-complete{color:#155c3b}.ai-wait-step.is-complete .ai-wait-step-marker{background:#18794e;color:#fff}@keyframes ai-wait-spin{to{transform:rotate(360deg)}}@media(max-width:520px){.ai-wait-card{width:calc(100vw - 24px)}.ai-wait-step{grid-template-columns:24px minmax(0,1fr)}.ai-wait-step-status{grid-column:2}}#review-q-details-dialog[class*="project-color-"]{border-top:8px solid var(--project-color)}

/* Authentication must conceal toolbar/content even when their layout uses flex/grid. */
[hidden]{display:none!important}
