:root{color:#182230;font-synthesis:none;text-rendering:optimizelegibility;--ink:#182230;--muted:#667085;--line:#dfe5ec;--surface:#fff;--canvas:#f5f7fa;--primary:#0f5e87;--primary-dark:#0a4869;--primary-soft:#e7f3f9;--danger:#b42318;--danger-soft:#fef0ef;--success-soft:#ecfdf3;--shadow:0 16px 35px #10182814;--radius:.9rem;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-width:20rem}body{background:var(--canvas);margin:0}button,input,select,textarea{font:inherit}button{border:1px solid var(--primary);color:#fff;background:var(--primary);cursor:pointer;border-radius:.55rem;min-height:2.65rem;padding:.62rem 1rem;font-weight:700;transition:background-color .16s,border-color .16s,transform .16s}button:hover:not(:disabled){border-color:var(--primary-dark);background:var(--primary-dark);transform:translateY(-1px)}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e58d2273}a{color:var(--primary-dark);text-underline-offset:.18em;font-weight:700}a:hover{color:var(--primary)}h1,h2,h3,p{margin-top:0}h1{color:var(--ink);letter-spacing:-.035em;margin-bottom:.4rem;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.16}h2{margin-bottom:.25rem;font-size:1.1rem}.auth-page,.health-page{background:radial-gradient(circle at 12% 12%,#d8eff8 0,#0000 28rem),linear-gradient(135deg,#0b3851,#0f5e87 55%,#13819b);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card,.health-card{background:#fffffff7;border:1px solid #ffffff59;border-radius:1.15rem;gap:.75rem;width:min(100%,28rem);padding:clamp(1.5rem,5vw,2.5rem);display:grid;box-shadow:0 24px 56px #00182840}.auth-card:before,.health-card:before{content:"SGV";color:#fff;background:var(--primary);letter-spacing:.11em;border-radius:.35rem;width:max-content;padding:.32rem .55rem;font-size:.75rem;font-weight:800}.auth-card label,.admin-form>label,.button-row>label{color:#344054;font-size:.88rem;font-weight:700}input,select,textarea{width:100%;min-height:2.65rem;color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.58rem .72rem}textarea{resize:vertical;min-height:6rem}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px #0f5e8721}.form-error,.form-success{border:1px solid;border-radius:.55rem;margin:.25rem 0;padding:.72rem .85rem;font-size:.92rem}.form-error{color:#912018;background:var(--danger-soft);border-color:#fecdca}.form-success{color:#05603a;background:var(--success-soft);border-color:#abefc6}.form-links,.account-links{margin:.25rem 0 0}.account-links{flex-wrap:wrap;gap:.5rem 1rem;font-size:.9rem;display:flex}.page-status{min-height:100vh;color:var(--muted);background:var(--canvas);place-items:center;margin:0;display:grid}.app-page{width:min(100%,84rem);margin:0 auto;padding:1.25rem clamp(1rem,3vw,2rem) 3rem}.app-navigation{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffeb;align-items:center;gap:.85rem;margin-bottom:1.4rem;padding:.65rem .8rem;display:flex;box-shadow:0 5px 18px #1018280d}.brand-link{color:var(--ink);flex:none;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.brand-link:hover{color:var(--ink)}.brand-link small{color:var(--muted);letter-spacing:.02em;font-size:.66rem;font-weight:600;display:block}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--primary), #137ea1);letter-spacing:.05em;border-radius:.6rem;place-items:center;width:2.2rem;height:2.2rem;font-size:.72rem;font-weight:800;display:grid}.navigation-links{flex-wrap:wrap;flex:1;align-items:center;gap:.2rem;display:flex}.navigation-link{color:#475467;border-radius:.45rem;padding:.5rem .68rem;font-size:.88rem;text-decoration:none}.navigation-link:hover,.navigation-link-active{color:var(--primary-dark);background:var(--primary-soft)}.user-role{max-width:10rem;color:var(--primary-dark);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;background:#f0f9fc;border:1px solid #d5e7ef;border-radius:999px;flex:0 auto;padding:.35rem .55rem;font-size:.7rem;font-weight:800;overflow:hidden}.content-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);gap:1.35rem;padding:clamp(1.25rem,3vw,2rem);display:grid}.page-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.2rem;display:flex}.eyebrow{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem;font-size:.76rem;font-weight:800}.page-intro{max-width:42rem;color:var(--muted);margin-bottom:0}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:1.7rem;padding:.25rem .6rem;font-size:.75rem;font-weight:800;display:inline-flex}.status-badge-active{color:#05603a;background:var(--success-soft)}.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.summary-card{background:linear-gradient(145deg,#f5fbfe,#fff);border:1px solid #d8e7ee;border-radius:.7rem;gap:.35rem;min-height:8rem;padding:1.1rem;display:grid}.summary-card strong{color:var(--primary-dark);overflow-wrap:anywhere;font-size:1.05rem}.summary-card span:last-child{color:var(--muted);font-size:.87rem}.summary-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:800}.admin-form{background:#fbfcfd;border:1px solid #dbe4ea;border-radius:.75rem;gap:.5rem;max-width:48rem;padding:1.25rem;display:grid}.admin-form h2,.content-card h2{color:#243447;margin:0}.admin-form>h2{margin-bottom:.35rem}.admin-form>label:not(.checkbox-label){margin-top:.25rem}.checkbox-label{align-items:center;gap:.55rem;min-height:2.4rem;display:flex}.checkbox-label input{width:auto;min-height:auto}.button-row,.pagination{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.button-row{margin-top:.25rem}.button-row>label{gap:.3rem;min-width:10rem;display:grid}.button-row select{min-width:10rem}.secondary-button{color:#344054;background:#fff;border-color:#cbd5e1}.secondary-button:hover:not(:disabled){color:#182230;background:#f1f5f9;border-color:#94a3b8}.danger-button{border-color:var(--danger);background:var(--danger)}.danger-button:hover:not(:disabled){background:#912018;border-color:#912018}.detail-card{background:linear-gradient(135deg,#f1f9fc,#fff);border:1px solid #bcdbe8;border-radius:.75rem;gap:1rem;padding:1.2rem;display:grid}.detail-card>.button-row{justify-content:space-between}.detail-card ul{gap:.65rem;margin:0;padding-left:1.3rem;display:grid}.detail-card li{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.profile-details{grid-template-columns:minmax(8rem,max-content) 1fr;gap:.7rem 1.25rem;margin:0;display:grid}.profile-details dt{color:var(--muted);font-weight:700}.profile-details dd{overflow-wrap:anywhere;margin:0}.role-list{gap:.5rem;margin:0;padding-left:1.4rem;display:grid}.role-list li{border-bottom:1px solid #eef2f6;padding:.4rem 0}.table-scroll{border:1px solid var(--line);border-radius:.7rem;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:46rem}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e7edf2;padding:.82rem .9rem}th{color:#475467;letter-spacing:.055em;text-transform:uppercase;background:#f8fafc;font-size:.75rem;font-weight:800}tbody tr:hover{background:#fbfdfe}tbody tr:last-child td{border-bottom:0}td .button-row{flex-wrap:nowrap;margin:0}td .button-row button{min-height:2.25rem;padding:.4rem .6rem;font-size:.8rem}.pagination{color:var(--muted);justify-content:flex-end;font-size:.9rem}@media (width<=48rem){.app-page{padding:.8rem .75rem 2rem}.app-navigation{flex-wrap:wrap;align-items:flex-start;padding:.7rem}.navigation-links{order:3;width:100%}.user-role{margin-left:auto}.content-card{gap:1.1rem;padding:1.1rem}.page-heading{display:grid}.dashboard-summary{grid-template-columns:1fr}.profile-details{grid-template-columns:1fr;gap:.25rem}.profile-details dd{margin-bottom:.7rem}.pagination{justify-content:flex-start}}@media (width<=30rem){.auth-page,.health-page{padding:.9rem}.auth-card,.health-card{padding:1.3rem}.brand-link small,.user-role{display:none}.navigation-link{padding:.45rem .5rem;font-size:.82rem}.detail-card>.button-row{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
