:root{color-scheme:light;--ink: #004f71;--muted: #665b56;--surface: #f7f2ec;--paper: #ffffff;--line: #eadfd6;--warm-band: #fff8f2;--brand: #dd0033;--brand-dark: #990023;--gold: #f4b740;--green: #249e6b;--yellow: #b97900;--red: #dd0033;--blue: #004f71;--plum: #5d3754;--plum-soft: #f3edf2;--shadow: 0 10px 28px rgba(54, 34, 26, .09);font-family:Apercu,Apercu Pro,Apercu Regular,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,rgba(221,0,51,.06),rgba(255,248,242,.9) 260px,transparent 520px),var(--surface);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,980px);margin:0 auto;padding:18px 14px 104px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:#fffffff2;box-shadow:var(--shadow)}.topbar h1{margin:0;font-size:clamp(1.45rem,6vw,2.35rem);line-height:1.05;letter-spacing:0}.topbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.brand-heading{display:grid;gap:4px;min-width:0}.logo-row{display:flex;align-items:flex-end;gap:10px;min-width:0}.app-logo{display:block;width:min(152px,42vw);height:auto;flex:0 1 auto}.location-label{margin:0;color:var(--brand);font-family:Apercu,Apercu Pro,Apercu Regular,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.88rem;font-weight:900;letter-spacing:0;text-align:left;white-space:nowrap}.director-switcher{display:grid;gap:12px;padding:14px;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.director-switcher strong{display:block;margin-top:2px;font-size:1rem}.director-controls{display:grid;gap:8px}.director-select{display:grid;gap:6px}.director-select span{color:var(--muted);font-size:.82rem;font-weight:800}.leader-required{display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.leader-required h2{margin:0;color:var(--plum);font-size:1.25rem}.leader-required p:not(.eyebrow){margin:0;color:var(--muted)}.password-gate{display:grid;gap:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#ffffff 0%,var(--warm-band) 100%);box-shadow:var(--shadow)}.password-gate h2{margin:0;color:var(--plum);font-size:1.25rem}.password-gate p:not(.eyebrow):not(.form-error){margin:8px 0 0;color:var(--muted)}.password-form{display:grid;gap:10px}.form-error{margin:0;color:var(--red);font-size:.88rem;font-weight:900}.eyebrow{margin:0;color:var(--brand);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.brand-tagline{color:#5b6770}.page,.stack{display:grid;gap:14px}.hero-band,.section-intro,.panel,.data-card,.metric{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.hero-band{display:grid;gap:16px;padding:18px;overflow:hidden;position:relative;background:linear-gradient(135deg,#ffffff 0%,var(--warm-band) 100%)}.hero-band h2,.section-intro h2,.panel-title h2{margin:0;color:var(--plum);font-size:1.2rem;letter-spacing:0}.hero-band p,.section-intro p{margin:8px 0 0;color:var(--muted)}.section-intro{padding:16px}.primary-button,.ghost-button,.mini-button,.row-button,.check-button,.status-pill,.icon-chip{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:999px;font-weight:800}.primary-button{width:fit-content;padding:0 18px;color:#fff;background:var(--brand);box-shadow:0 8px 18px #dd00332e}.primary-button.full,.mini-button.full{width:100%}.ghost-button{background:transparent;color:var(--brand-dark);padding:0 10px}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{min-height:132px;padding:14px;display:grid;align-content:space-between;background:linear-gradient(180deg,#fff,#fffbf7)}.metric-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--brand);background:#fff0f3}.metric span{color:var(--muted);font-size:.82rem}.metric strong{font-size:1.35rem}.focus-card,.learning-card,.five-d-list,.five-d-reflection-grid,.five-d-reflection-card,.role-lens,.role-prompt-list,.role-action-list{display:grid;gap:10px}.focus-card h3,.focus-card p{margin:0}.challenge-box,.five-d-prompt{display:grid;gap:4px;padding:10px;border:1px solid #cfeee2;border-radius:8px;background:#eefaf5}.challenge-box span,.five-d-prompt span{color:var(--muted);font-size:.9rem}.role-lens h3{margin:0;color:var(--plum);font-size:1.05rem}.role-chip-row{display:flex;flex-wrap:wrap;gap:6px}.role-prompt,.role-action{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--warm-band);color:var(--ink);font-weight:800}.role-prompt svg,.role-action svg{margin-top:2px;color:var(--brand)}.role-prompt span,.role-action span{color:var(--muted);font-size:.9rem;line-height:1.35}.role-action{border-color:#cfeee2;background:#eefaf5}.role-action svg{color:var(--green)}.role-details summary{cursor:pointer;color:var(--plum);font-weight:900}.role-details .role-prompt-list{margin-top:8px}.learning-card summary{cursor:pointer;color:var(--plum);font-weight:900}.five-d-list article{display:grid;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.five-d-list article:last-child{border-bottom:0}.five-d-list p{margin:0;color:var(--muted);font-size:.9rem}.model-attribution{margin:0;padding-top:2px;color:var(--muted);font-size:.78rem;line-height:1.35}.five-d-badge{width:fit-content;min-height:28px;display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;color:var(--plum);background:var(--plum-soft);font-size:.76rem;font-weight:900}.panel{padding:14px}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:var(--plum)}.panel-title svg{color:var(--brand)}.walk-section{padding:12px}.walk-section.current{border-color:#dd003359;box-shadow:0 12px 30px #dd00331f}.walk-section details{display:grid;gap:12px}.walk-section summary{list-style:none}.walk-section summary::-webkit-details-marker{display:none}.walk-section-summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.walk-title{min-width:0;margin-bottom:0}.walk-title-copy{display:grid;gap:2px;min-width:0}.walk-title-copy p{margin:0;color:var(--muted);font-size:.82rem;font-weight:900}.current-walk-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;color:#fff;background:var(--brand);font-size:.72rem;font-weight:900;white-space:nowrap}.list,.walk-list,.card-list,.form-grid,.commitments,.scorecard-list{display:grid;gap:10px}.row-button{width:100%;justify-content:space-between;padding:12px;text-align:left;background:var(--warm-band);border:1px solid var(--line)}.assigned-alert-list{display:grid;gap:8px}.assigned-alert{border-color:#cfeee2;background:#eefaf5}.action-card{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--warm-band)}.action-card .priority,.action-card .mini-button{justify-self:end}.action-card-main{min-height:auto;padding:0;border:0;background:transparent;color:var(--ink);display:grid;gap:3px;text-align:left}.action-card-main span{color:var(--muted);font-size:.88rem}.row-button div,.card-topline div{display:grid;gap:3px}.row-button span,.muted,.data-card p,.walk-header p{color:var(--muted);font-size:.88rem}.commitment{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.commitment:last-child{border-bottom:0}.status-dot{width:13px;height:13px;flex:0 0 13px;border-radius:50%;box-shadow:0 0 0 4px #0000000a}.green{background:var(--green)}.yellow{background:var(--yellow)}.red{background:var(--red)}.priority,.status-pill{min-width:70px;min-height:32px;padding:0 10px;border-radius:999px;text-align:center;font-size:.78rem;font-weight:900;text-transform:uppercase}.priority.high,.status-pill.open{color:var(--red);background:#fde9e9}.priority.medium{color:var(--yellow);background:#fff2cf}.priority.low,.status-pill.complete{color:var(--green);background:#e8f7f0}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:10px}.timeline-dot{width:11px;height:11px;margin-top:6px;border-radius:50%;background:var(--brand)}.timeline h3,.data-card h3,.walk-item h3{margin:0;font-size:1rem}.timeline p,.data-card p{margin:7px 0 0}.walk-item{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--warm-band)}.walk-item.complete{background:#fbfff9}.walk-item.flagged{border-color:#dd003373;background:#fff5f4}.section-quick{display:grid;gap:8px;align-items:center;padding:10px;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:var(--warm-band)}.section-quick span{color:var(--muted);font-size:.86rem;font-weight:800}.walk-header{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.check-button,.walk-status-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;color:var(--muted);background:#f1e8e4}.check-button.checked,.walk-status-icon.good{color:#fff;background:var(--green)}.walk-status-icon.attention{color:#fff;background:var(--red)}textarea,input,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:999px;padding:10px 11px;background:#fff;color:var(--ink)}textarea{min-height:78px;border-radius:8px;resize:vertical}.walk-item textarea{margin:10px 0}.quick-walk-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.quick-action{min-height:48px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--ink);font-weight:900}.quick-action.good{color:var(--green);background:#eefaf5}.quick-action.attention{color:var(--red);background:#fdeeee}.quick-action.selected{color:#fff}.quick-action.good.selected{background:var(--green);border-color:var(--green)}.quick-action.attention.selected{background:var(--red);border-color:var(--red)}.attention-detail{display:grid;gap:8px;margin-top:10px}.walk-photo-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-upload{cursor:pointer}.photo-upload input{display:none}.walk-photo-preview,.summary-photo,.recap-photo{width:100%;max-height:220px;object-fit:cover;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.summary-photo{max-height:160px}.recap-photo{max-height:180px}.action-row,.issue-meta,.card-topline,.recap-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.mini-button{padding:0 12px;color:var(--blue);background:#e5f2f7}.mini-button.warning{color:var(--red);background:#fde9e9}.mini-button.active,.icon-chip.active{color:#fff;background:var(--blue)}.report-card{display:grid;gap:10px}.report-card p{margin:0;color:var(--muted);font-size:.9rem}.summary-list{display:grid;gap:10px}.summary-item{display:grid;gap:8px;padding:12px;border:1px solid rgba(221,0,51,.28);border-radius:8px;background:#fff5f4}.summary-item div{display:grid;gap:3px}.summary-item span,.summary-item p{margin:0;color:var(--muted);font-size:.88rem}.empty-summary{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #cfeee2;border-radius:8px;color:var(--green);background:#eefaf5;font-weight:900}.field{display:grid;gap:6px}.field span{color:var(--muted);font-size:.82rem;font-weight:800}.five-d-field{margin-top:10px}.segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:#fff6ef}.segmented button{min-height:38px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:900;text-transform:capitalize}.segmented button.selected{color:#fff;background:var(--brand)}.data-card{padding:14px}.scorecard-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.commitment-card{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--warm-band)}.commitment-card .card-topline{align-items:flex-start;margin-bottom:12px}.commitment-card h3{margin:2px 0 0;font-size:1rem;line-height:1.25}.compact-form{gap:8px}.reflection-form textarea{min-height:108px}.five-d-reflection-card{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--warm-band)}.five-d-reflection-card p,.five-d-reflection-card ul{margin:0;color:var(--muted);font-size:.9rem}.five-d-reflection-card ul{padding-left:18px}.icon-chip{width:42px;color:var(--blue);background:#e5f2f7}.recap-header{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.recap-header h2{margin:2px 0 0;font-size:1.35rem}.recap-header p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}.recap-score-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recap-stat,.recap-section{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.recap-stat{min-height:96px;padding:14px;display:grid;align-content:space-between}.recap-stat span{color:var(--muted);font-size:.82rem;font-weight:800}.recap-stat strong{font-size:1.5rem}.recap-section{padding:14px}.recap-section h2{margin:0 0 10px;color:var(--plum);font-size:1.08rem}.recap-table,.reflection-summary,.recap-two-column{display:grid;gap:10px}.recap-row{display:grid;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.recap-row:last-child{border-bottom:0}.recap-row div{display:grid;gap:3px}.recap-row span,.recap-row p,.reflection-summary p,.recap-two-column p,.recap-empty{margin:0;color:var(--muted);font-size:.9rem}.recap-two-column h3{margin:0 0 8px;font-size:.98rem}.recap-status{width:fit-content;min-height:30px;padding:7px 10px;border-radius:999px;font-size:.76rem;font-weight:900;text-transform:uppercase}.recap-status.green{color:var(--green);background:#e8f7f0}.recap-status.yellow{color:var(--yellow);background:#fff2cf}.recap-status.red{color:var(--red);background:#fde9e9}.meeting-lines{display:grid;gap:18px;padding-top:6px}.meeting-lines span{min-height:26px;border-bottom:1px solid var(--line)}.bottom-nav{position:fixed;left:50%;bottom:12px;transform:translate(-50%);width:min(calc(100% - 20px),720px);display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:6px;border:1px solid var(--line);border-radius:999px;background:#fffffff5;box-shadow:0 18px 60px #261f1d2e;z-index:10}.bottom-nav button{min-height:56px;border:0;border-radius:999px;background:transparent;color:var(--muted);display:grid;place-items:center;align-content:center;gap:4px;font-size:clamp(.54rem,2.2vw,.66rem);font-weight:800;line-height:1.05}.bottom-nav button.active{color:#fff;background:var(--brand)}.footer-actions{display:grid;place-items:center;padding-top:18px}@media(min-width:720px){.app-shell{padding-inline:24px}.hero-band,.recap-header{grid-template-columns:1fr auto;align-items:center}.director-switcher{grid-template-columns:minmax(180px,.7fr) 1.3fr;align-items:end}.director-controls{grid-template-columns:minmax(160px,.8fr) 1.2fr;align-items:end}.metric-grid,.recap-score-row{grid-template-columns:repeat(4,minmax(0,1fr))}.recap-two-column,.five-d-reflection-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field:has(textarea),.full{grid-column:1 / -1}}@media print{@page{margin:.45in}body{background:#fff;color:#111}.app-shell{width:100%;max-width:none;padding:0}.topbar,.director-switcher,.bottom-nav,.footer-actions,.print-button{display:none}.page,.stack{gap:10px}.weekly-recap{display:grid;color:#111}.weekly-recap .recap-header,.weekly-recap .recap-stat,.weekly-recap .recap-section{break-inside:avoid;box-shadow:none;border-color:#bbb;background:#fff}.recap-header{padding:0 0 10px;border-width:0 0 2px;border-radius:0}.recap-header h2{font-size:18pt}.recap-score-row{grid-template-columns:repeat(4,1fr)}.recap-stat{min-height:auto;padding:8px}.recap-stat strong{font-size:16pt}.recap-section{padding:10px}.recap-section h2{color:#111;font-size:12pt}.recap-row p,.recap-row span,.reflection-summary p,.recap-two-column p,.recap-empty{color:#333;font-size:9.5pt}.recap-two-column{grid-template-columns:repeat(2,1fr)}.meeting-lines{gap:14px}}
