:root{--navy:#102f4c;--ink:#183247;--muted:#718293;--line:#e4ebf0;--bg:#f5f8fa;--green:#1d9a6c;--orange:#ec8b42;--purple:#7f6bc3;--blue:#2d71d8;--shadow:0 12px 32px rgba(25,53,77,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{min-height:100vh;padding-bottom:76px}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-.04em;color:var(--navy)}.brand-mark{background:var(--navy);color:#fff;border-radius:9px;width:31px;height:31px;display:grid;place-items:center;font-size:17px}.brand-accent{color:var(--blue)}.topbar-actions{display:flex;gap:20px;align-items:center}.sync-pill{color:var(--green);font-size:12px;font-weight:700}.sync-pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px}.icon-button{border:0;background:#eef4f7;color:var(--navy);font-weight:800;width:36px;height:36px;border-radius:50%}main{max-width:1180px;margin:0 auto;padding:36px 24px}.page-section{display:none}.page-section.active{display:block}.welcome-row,.form-header,.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.eyebrow{color:#8b9ba9;font-size:10px;font-weight:800;letter-spacing:.15em;margin:0 0 7px}.muted{color:var(--muted);margin:5px 0 0}.welcome-row h1,.form-header h1,.page-heading h1{font-size:31px;letter-spacing:-.045em;margin:0;color:var(--navy)}h2{font-size:17px;margin:0;color:var(--navy);letter-spacing:-.02em}.primary-button,.outline-button,.filter-button,.text-button{font:inherit;font-weight:750;border-radius:8px;padding:12px 18px;cursor:pointer}.primary-button{border:1px solid var(--navy);background:var(--navy);color:white;box-shadow:0 5px 15px rgba(16,47,76,.16)}.primary-button:hover{background:#174264}.primary-button.compact{padding:11px 17px}.outline-button{border:1px solid #cbd8e1;background:#fff;color:var(--navy)}.text-button{padding:0;border:0;background:none;color:var(--blue);font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px;box-shadow:var(--shadow)}.stat-card.navy{background:var(--navy);color:#fff;border-color:var(--navy)}.stat-card p{font-size:12px;margin:12px 0 3px;color:var(--muted)}.stat-card.navy p,.stat-card.navy small{color:#bdcedb}.stat-card strong{font-size:28px;letter-spacing:-.05em}.stat-card small{display:block;color:#79909d;font-size:11px;margin-top:3px}.stat-icon{font-size:18px;color:var(--navy)}.stat-card.navy .stat-icon{color:#70b0e7}.stat-icon.green{color:var(--green)}.stat-icon.orange{color:var(--orange)}.stat-icon.purple{color:var(--purple)}.content-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.progress-chart{height:180px;border-bottom:1px solid var(--line);padding:10px 10px 0}.chart-bars{height:140px;display:flex;align-items:flex-end;justify-content:space-around;gap:14px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 34px,#eef2f5 35px)}.chart-bars span{width:24px;max-width:12%;background:#aec7dc;border-radius:5px 5px 0 0}.chart-bars span.today{background:var(--blue)}.chart-labels{display:flex;justify-content:space-around;color:#9aa8b2;font-size:10px;margin-top:8px}.legend{display:flex;gap:20px;margin-top:16px;color:#82909c;font-size:11px;align-items:center}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.navy-dot{background:#aec7dc}.green-dot{background:var(--green)}.legend-value{margin-left:auto;color:var(--green);font-weight:800}.action-link{display:flex;width:100%;gap:12px;align-items:center;border:0;border-top:1px solid #edf1f4;background:none;padding:14px 0;text-align:left;cursor:pointer;color:var(--ink)}.action-link:first-of-type{border-top:0}.action-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;font-size:20px}.blue-bg{background:#e7f0ff;color:var(--blue)}.orange-bg{background:#fff1e7;color:var(--orange)}.purple-bg{background:#f0edff;color:var(--purple)}.action-link b,.action-link small{display:block}.action-link small{font-size:11px;color:var(--muted);margin-top:3px}.action-link em{font-style:normal;color:#a6b2bb;margin-left:auto;font-size:18px}.recent-panel{margin-top:18px}.report-row{display:flex;align-items:center;gap:12px;border-top:1px solid #edf1f4;padding:13px 0}.report-row>div{flex:1}.report-row b,.report-row small{display:block}.report-row small{color:var(--muted);font-size:11px;margin-top:2px}.site-avatar,.member-avatar{display:grid;place-items:center;border-radius:9px;font-size:11px;font-weight:800;width:36px;height:36px}.teal{background:#e1f3f1;color:#179484}.orange{background:#fff0e5;color:#d67629}.purple{background:#eeeaff;color:#705bbd}.status-badge{font-size:10px;font-weight:800;border-radius:20px;padding:5px 9px;white-space:nowrap}.completed{background:#e2f5ed;color:#18855d}.partial{background:#fff0e1;color:#c7762e}.draft-label{font-size:11px;color:var(--green);font-weight:700}.back-button{border:0;background:none;color:var(--blue);padding:0 0 18px;display:block;font-weight:700;cursor:pointer}.stepper{display:flex;align-items:center;max-width:800px;margin:0 auto 25px}.step{color:#9aa9b4;font-size:11px;font-weight:700;display:flex;align-items:center;gap:7px;white-space:nowrap}.step b{display:grid;place-items:center;border:1px solid #d8e1e7;color:#91a0aa;border-radius:50%;height:25px;width:25px;font-size:11px}.step.active{color:var(--navy)}.step.active b{background:var(--navy);color:#fff;border-color:var(--navy)}.stepper i{height:1px;background:#dce4e9;flex:1;margin:0 12px}.form-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow);display:none}.form-card.active{display:block}.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:25px}.section-title>span{color:var(--blue);font-size:11px;font-weight:800;background:#e9f0ff;border-radius:7px;padding:7px 8px}.section-title p{color:var(--muted);font-size:12px;margin:4px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px 18px}label{display:block;color:#516473;font-size:11px;font-weight:750}label input,label select,label textarea{display:block;width:100%;border:1px solid #d7e1e7;border-radius:7px;background:#fff;color:var(--ink);padding:11px 12px;margin-top:7px;font:inherit;font-weight:500;outline:none}label input:focus,label select:focus,label textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #e7effc}.full{grid-column:1/-1}.required{color:#dd5b42}.search-select{position:relative}.search-select span{position:absolute;left:12px;top:11px;color:#8d9ba5;font-size:18px}.search-select input{padding-left:36px}.location-box{background:#f5f9fb;border:1px solid #e1ebef;border-radius:9px;padding:14px;display:flex;align-items:center;gap:12px;margin-top:24px}.location-box p{margin:2px 0 0;font-size:11px;color:var(--muted)}.location-icon{font-size:23px;color:var(--blue)}.location-box .outline-button{margin-left:auto;padding:8px 12px;font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid #edf1f4}.chip-select{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.choice-chip{border:1px solid #d4dfe5;background:#fff;border-radius:20px;padding:8px 12px;color:#5e7280;font:inherit;font-size:11px;cursor:pointer}.choice-chip.selected{background:#e7f0ff;color:var(--blue);border-color:#a9c5f4;font-weight:750}.voice-input{position:relative}.voice-input textarea{padding-right:44px}.voice-input button{position:absolute;right:9px;top:14px;border:0;background:#eaf1ff;color:var(--blue);border-radius:7px;width:28px;height:28px;cursor:pointer}.conditional-box{background:#fff8ef;border:1px solid #f8dfc5;border-radius:9px;padding:14px;margin-top:18px}.hidden{display:none!important}.conditional-box b{font-size:12px}.radio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:12px}.radio-grid label{font-weight:500}.radio-grid input{display:inline;width:auto;margin:0 5px 0 0}.member-list{border:1px solid #e2e9ee;border-radius:9px;overflow:hidden;margin-top:7px}.member-row{display:grid;grid-template-columns:18px 36px 1fr 140px 140px;gap:10px;align-items:center;border-bottom:1px solid #edf1f4;padding:11px;background:#fff}.member-row:last-child{border-bottom:0}.member-row>input{width:auto;margin:0}.member-row select{margin:0;padding:8px;font-size:11px}.member-row b,.member-row small{display:block}.member-row small{font-size:10px;color:var(--muted);font-weight:500;margin-top:2px}.material-card{border:1px solid #e2e9ee;border-radius:9px;margin-top:22px}.material-heading{display:flex;align-items:center;gap:12px;padding:15px}.material-heading small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.material-icon{background:#fff0e6;color:var(--orange);padding:8px;border-radius:8px}.toggle-group{display:flex;gap:10px;margin-left:auto}.toggle-group label{font-size:11px;font-weight:500}.toggle-group input{display:inline;width:auto;margin:0 4px 0 0}.material-extra{border-top:1px solid #edf1f4;padding:15px}.upload-zone-group{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.upload-zone-group .upload-zone{margin-top:0}@media(max-width:600px){.upload-zone-group{grid-template-columns:1fr}}.upload-zone{border:1px dashed #b9cad5;border-radius:9px;text-align:center;padding:19px;margin-top:18px;color:#718596;cursor:pointer}.upload-zone input{display:none}.upload-zone span,.upload-zone b,.upload-zone small{display:block}.upload-zone span{font-size:23px;color:var(--blue)}.upload-zone b{color:var(--navy);font-size:12px}.upload-zone small{font-size:10px;margin-top:4px}.review-summary{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid #e2e9ee;border-radius:9px;overflow:hidden}.review-summary div{padding:14px;border-bottom:1px solid #edf1f4}.review-summary div:nth-child(odd){border-right:1px solid #edf1f4}.review-summary span,.review-summary b{display:block}.review-summary span{color:var(--muted);font-size:10px;margin-bottom:5px}.review-summary b{font-size:12px}.green-text{color:var(--green)}.ai-note{display:flex;gap:12px;background:#f2f0ff;border:1px solid #e6e0ff;border-radius:9px;padding:14px;margin-top:17px}.ai-note>span{color:var(--purple);font-size:20px}.ai-note b{font-size:12px}.ai-note p{color:#746d93;font-size:11px;margin:3px 0 0}.filter-bar{display:flex;gap:10px;margin-bottom:18px}.filter-bar .search-select{flex:1}.filter-button{background:#fff;border:1px solid #d5e0e6;color:#576c7b;padding:10px 14px;font-size:12px}.table-panel{padding:0;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;align-items:center;padding:14px 20px}.table-head{background:#f7fafb;color:#8b9ba8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.table-row{border-top:1px solid #edf1f4;font-size:12px;color:#5b6e7a}.table-row b,.table-row small{display:block}.table-row small{font-size:10px;color:var(--muted);margin-top:2px}.bottom-nav{height:66px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;gap:clamp(25px,8vw,100px);position:fixed;bottom:0;left:0;right:0;z-index:4}.nav-item{border:0;background:none;color:#8c9aa4;font:inherit;font-size:10px;font-weight:700;cursor:pointer;padding:10px 12px}.nav-item span{display:block;font-size:19px;line-height:22px}.nav-item.active,.nav-item:hover{color:var(--blue)}.toast{position:fixed;bottom:87px;left:50%;transform:translate(-50%,15px);background:var(--navy);color:#fff;padding:12px 17px;border-radius:8px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){main{padding:24px 15px}.topbar{padding:0 15px;height:62px}.welcome-row,.form-header,.page-heading{align-items:flex-start;flex-direction:column}.welcome-row h1,.form-header h1,.page-heading h1{font-size:26px}.welcome-row .primary-button{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.panel{padding:17px}.recent-panel{margin-top:14px}.report-row .status-badge{font-size:9px}.form-card,.service-end-card{padding:20px 16px}.form-grid{grid-template-columns:1fr;gap:14px}.full{grid-column:auto}.stepper{overflow:auto;padding-bottom:5px}.stepper i{min-width:18px;margin:0 7px}.step{font-size:10px}.step:not(.active){font-size:0}.step:not(.active) b{font-size:10px}.radio-grid{grid-template-columns:repeat(2,1fr)}.member-row{grid-template-columns:18px 32px 1fr;gap:8px}.member-row select{grid-column:3}.location-box{align-items:flex-start;flex-wrap:wrap}.location-box .outline-button{margin-left:46px}.review-summary{grid-template-columns:1fr}.review-summary div:nth-child(odd){border-right:0}.filter-bar{flex-wrap:wrap}.filter-bar .search-select{flex-basis:100%}.filter-button{flex:1}.table-panel{overflow:auto}.table-head,.table-row{min-width:640px}.bottom-nav{gap:0;justify-content:space-around}.button-row{display:flex;gap:8px}.button-row .outline-button{font-size:10px;padding:10px}.login-card{width:calc(100% - 30px);padding:26px 20px}}
.login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#102f4c,#1d537d);display:grid;place-items:center;z-index:20;padding:20px}.login-overlay.hidden{display:none}.login-card{background:#fff;border-radius:16px;padding:34px;width:min(420px,100%);box-shadow:0 24px 60px rgba(0,0,0,.2)}.login-brand{margin-bottom:34px}.login-card h1{color:var(--navy);font-size:28px;letter-spacing:-.04em;margin:0}.login-card .muted{margin-bottom:24px}.otp-row{display:flex;align-items:end;gap:12px}.otp-row label{flex:1}.otp-row .text-button{margin-bottom:10px}.full-width{width:100%;margin-top:20px}.login-hint{font-size:10px;color:var(--muted);text-align:center;margin:16px 0 0}.button-row{display:flex;gap:10px}.plan-panel{margin-bottom:18px}.plan-row{display:flex;align-items:center;gap:12px;border-top:1px solid #edf1f4;padding:13px 0}.plan-row div{flex:1}.plan-row b,.plan-row small{display:block}.plan-row small{font-size:11px;color:var(--muted);margin-top:2px}.service-end-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;margin-top:18px;box-shadow:var(--shadow)}
