:root{--navy:#03101c;--hospital-blue:#146694;--brand-blue:#b0d6e6;--slate:#254e63;--ink:#162b3b;--muted:#7c909b;--page-white:#fafbfb;--pale-panel:#eaf1f4;--error:#dc2626}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--page-white);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}@keyframes rotate{to{transform:rotate(360deg)}}.splash{background:var(--navy);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;display:flex}.splash-spinner{border:3px solid #ffffff26;border-top-color:var(--brand-blue);border-radius:50%;width:44px;height:44px;animation:.75s linear infinite rotate}.splash-label{color:#ffffff80;font-size:.9rem}.splash-error{color:#fca5a5;text-align:center;max-width:360px;font-size:.95rem;line-height:1.5}.splash-retry{cursor:pointer;background:var(--hospital-blue);color:#fff;border:none;border-radius:8px;padding:9px 22px;font-size:.9rem;font-weight:600;transition:background .15s}.splash-retry:hover{background:var(--slate)}.splash-retry--ghost{color:#ffffffa6;background:0 0;border:1.5px solid #fff3}.splash-retry--ghost:hover{background:#ffffff14}.auth-shell{background:linear-gradient(135deg, var(--navy) 0%, #0d2d42 100%);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:40px 36px;box-shadow:0 24px 48px #03101c59}.auth-brand{align-items:center;gap:10px;margin-bottom:28px;display:flex}.auth-logo-wrap{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.auth-logo{width:36px;height:auto;display:block}.auth-brand-name{color:var(--navy);letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.auth-title{color:var(--navy);letter-spacing:-.03em;margin-bottom:6px;font-size:1.6rem;font-weight:800;line-height:1.2}.auth-subtitle{color:var(--muted);margin-bottom:28px;font-size:.9rem}.auth-mfa-hint{color:var(--slate);margin-bottom:16px;font-size:.9rem;line-height:1.5}.auth-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--slate);font-size:.85rem;font-weight:600}.form-group input{color:var(--ink);background:#fff;border:1.5px solid #d1d9e0;border-radius:8px;outline:none;padding:10px 14px;font-size:1rem;transition:border-color .15s}.form-group input:focus{border-color:var(--hospital-blue)}.form-group input:disabled{opacity:.6;background:#f8fafc}.auth-btn{background:var(--hospital-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:1rem;font-weight:600;transition:background .15s,opacity .15s}.auth-btn:hover:not(:disabled){background:var(--slate)}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-error{color:var(--error);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:.87rem;line-height:1.45}.auth-loading{text-align:center;color:var(--muted);padding:20px 0}.dash-shell{background:var(--page-white);flex-direction:column;min-height:100dvh;display:flex}.dash-header{z-index:100;background:var(--navy);justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 32px;display:flex;position:sticky;top:0}.dash-header-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.dash-logo{flex-shrink:0;width:28px;height:auto;display:block}.dash-brand-name{color:#fff;letter-spacing:-.02em;white-space:nowrap;font-size:1rem;font-weight:700}.dash-header-actions{align-items:center;gap:12px;display:flex}.dash-user{color:#ffffffa6;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.82rem;overflow:hidden}.dash-logout-btn,.dash-refresh-btn{cursor:pointer;color:#ffffffd9;white-space:nowrap;background:0 0;border:1px solid #ffffff40;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:background .15s}.dash-logout-btn:hover,.dash-refresh-btn:hover{background:#ffffff1a}.dash-content{flex-direction:column;gap:40px;width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 64px;display:flex}.dash-section{flex-direction:column;gap:20px;display:flex}.dash-empty{background:var(--pale-panel);text-align:center;color:var(--muted);border-radius:12px;padding:40px 24px}.section-title{color:var(--navy);letter-spacing:-.02em;border-bottom:2px solid var(--pale-panel);padding-bottom:10px;font-size:1.25rem;font-weight:700}.section-desc{color:var(--muted);margin-top:-12px;font-size:.88rem}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.stat-card{border:1.5px solid var(--pale-panel);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:20px 20px 16px;display:flex}.stat-value{color:var(--hospital-blue);letter-spacing:-.04em;font-size:2.2rem;font-weight:800;line-height:1}.stat-label{color:var(--muted);font-size:.8rem;font-weight:500}.question-grid{grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:20px;display:grid}.chart-card{border:1.5px solid var(--pale-panel);background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:20px 20px 16px;display:flex;overflow:hidden}.chart-card--full,.chart-card--text{grid-column:1/-1}.chart-title{color:var(--navy);font-size:.95rem;font-weight:700;line-height:1.4}.chart-type-label{color:var(--muted);margin-bottom:4px;font-size:.78rem}.scale-range-labels{color:var(--muted);justify-content:space-between;font-size:.75rem;font-style:italic;display:flex}.freq-legend{flex-wrap:wrap;gap:12px;margin-bottom:4px;display:flex}.freq-legend-item{color:var(--slate);align-items:center;gap:5px;font-size:.78rem;display:flex}.freq-legend-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.text-responses{border:1px solid var(--pale-panel);border-radius:8px;flex-direction:column;gap:0;max-height:420px;list-style:none;display:flex;overflow-y:auto}.text-response-item{border-bottom:1px solid var(--pale-panel);gap:12px;padding:10px 14px;font-size:.88rem;line-height:1.55;display:flex}.text-response-item:last-child{border-bottom:none}.text-response-id{color:var(--muted);flex-shrink:0;min-width:66px;padding-top:2px;font-family:monospace;font-size:.75rem}.text-response-text{color:var(--ink);white-space:pre-wrap;word-break:break-word}.recharts-cartesian-axis-tick-value{font-size:11px}.recharts-tooltip-wrapper{font-size:13px}@media (width<=640px){.auth-card{padding:28px 20px}.dash-header{padding:0 16px}.dash-brand-name{display:none}.dash-content{gap:28px;padding:20px 12px 48px}.question-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.8rem}.dash-user{display:none}}
