/* Phase 1 shared visual language. Legacy screen classes remain supported. */
:root{--navy:#172e4e;--blue:#356bb6;--sky:#edf4fc;--ink:#22334a;--muted:#63738a;--line:#e1e7ef;--bg:#f7f9fc;--white:#fff;--green:#187457;--amber:#926016;--shadow:0 2px 12px #192f4b09;--radius:12px;--focus:#4c83ce}
body{color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sidebar{background:var(--navy);width:216px;padding:22px 13px}.brand{padding:0 10px 24px}.brand-mark{background:#e4effd;color:var(--navy);border-radius:11px}.nav{display:grid;gap:4px}.nav button{min-height:44px;margin:0;color:#d2deed;padding:10px 12px;font-size:13px;border-radius:9px}.nav button.active{background:#ffffff20;color:#fff;font-weight:700}.nav .ico{font-size:16px}.nav-label{padding:10px 12px;color:#a9bdd4}.main{margin-left:216px}.topbar{height:60px;padding:0 30px}.content{max-width:1120px;padding:26px 30px 60px}.crumb{display:none}.hello{margin:0 0 20px}.hello h1,.screen h1{font-size:clamp(23px,2vw,28px);line-height:1.2;letter-spacing:-.035em;margin:0;color:var(--navy)}.hello p{margin:7px 0 0;font-size:13px}.panel,.card,.section-card,.schedule-form{border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;background:#fff}.panel{padding:20px;margin-bottom:16px}.section-card,.schedule-form{padding:20px}.stat{min-height:100px}.cards{gap:12px}.panel h2,.section-card h2{font-size:15px;letter-spacing:-.015em}.button,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:9px 14px;font-size:13px;font-weight:650;border-radius:9px;box-shadow:none;cursor:pointer}.button{background:var(--blue);color:#fff;border:1px solid var(--blue)}.button:hover{background:#255a9d}.secondary{background:#f1f5fa;color:var(--navy);border:1px solid #e3e9f0}.secondary:hover{background:#e6eef8}.link{font-size:13px;min-height:32px}.input,select,textarea{border:1px solid #cfd9e5;border-radius:9px;min-height:42px;padding:10px 12px;color:var(--ink);background:#fff;font-size:14px}.field{font-size:12px;color:#40536d;font-weight:650}.pill{display:inline-flex;align-items:center;padding:4px 9px;border-radius:7px;font-size:11px}.pill.ok{background:#e7f5ef;color:#176d51}.pill.pending{background:#fff4e0;color:#87570c}.pill.review{background:#edf2f9;color:#536780}.warning{background:#fff8eb;color:#785317;border:1px solid #f3e4bd;border-radius:9px}.schedule-status{border-radius:9px}.modal-wrap{padding:16px}.modal{border-radius:14px;width:min(480px,100%);padding:24px}.close{min-width:40px;min-height:40px}.menu-item{min-height:50px;padding:14px 0}.more-list{box-shadow:none}.shift-card{background:#f9fbfe;border-radius:10px}.toast{border-radius:9px}.screen [role="alert"]{color:#973940}.screen [role="status"]{line-height:1.5}
.mobile-nav{box-shadow:0 -4px 20px #172e4e0a}.mobile-nav button{border-radius:8px;min-height:48px}.mobile-nav button.active{background:#eaf2fd;color:var(--navy)}
@media(max-width:900px){.sidebar{width:194px}.main{margin-left:194px}.content{padding:24px 22px 45px}.topbar{padding:0 22px}}
@media(max-width:620px){.sidebar{display:none}.main{margin:0;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.content{padding:20px 16px 30px}.topbar{min-height:54px;height:auto;padding:9px 16px}.mobile-nav{display:flex;gap:3px;padding:6px 5px calc(6px + env(safe-area-inset-bottom))}.mobile-nav button{min-width:0;flex:1;font-size:10px}.mobile-nav button span{font-size:17px}.panel,.section-card,.schedule-form{padding:16px}.cards{gap:9px}.hello{align-items:center}.hello .button{font-size:13px;padding:9px 12px}.hello .button .plus{display:none}.row{grid-template-columns:1fr}.input,select,textarea{font-size:16px}.modal{padding:19px}.topright{max-width:none}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.mobile-nav button{font-size:9px}.cards{grid-template-columns:1fr 1fr}.stat strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Phase 2: information-led Home, shared with the existing app shell. */
#overview .home-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#overview .home-actions .button{font-size:14px}
#overview .home-primary{padding:20px 24px}
#overview .home-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
#overview .home-section{padding:16px 0;border-top:1px solid var(--line)}
#overview .home-section h2,#overview .home-review h2{font-size:17px;margin:0}
#overview .home-day h3{font-size:15px;margin:0}
#overview .home-day+.home-day{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
#overview .home-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:10px 0;border-bottom:1px solid var(--line);align-items:baseline;overflow-wrap:anywhere}
#overview .home-line small{grid-column:1/-1;color:var(--muted)}
#overview .home-line span{text-align:right}
#overview .home-meta,#overview .home-note,#overview .home-empty{font-size:13px;color:var(--muted);margin:8px 0 12px}
#overview .home-coverage{margin-top:12px;font-size:13px}
#overview .home-coverage summary{padding:6px 0}
#overview .home-review{border-left:3px solid var(--blue);padding:10px 16px;margin-bottom:18px;background:var(--sky)}
#overview .home-review p{font-size:13px;margin:4px 0}
#overview .home-switch{display:flex;gap:4px}
#overview .home-switch [aria-pressed=true]{background:var(--navy);color:white}
#overview .home-week-summary{display:flex;justify-content:space-between;gap:16px}
#overview .home-week-summary p{margin:8px 0}
#overview .home-week-summary strong{font-size:28px;color:var(--navy)}
#overview .home-today{background:var(--sky)}
#overview .panel-head{flex-wrap:wrap;gap:8px}
@media(max-width:620px){
 #overview .hello{gap:8px;flex-wrap:wrap}
 #overview .home-actions{justify-content:flex-start}
 #overview .home-primary{padding:16px}
 #overview .home-columns{grid-template-columns:minmax(0,1fr);gap:0}
 #overview .home-week-summary{flex-direction:column;gap:0}
 #overview .home-line{font-size:13px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 8px}
 #overview .pill{white-space:normal}
}
