.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:#f7f8fb;color:var(--color-text);font-family:Work Sans,Source Sans Pro,system-ui,-apple-system,sans-serif;transition:grid-template-columns .2s ease}.app-shell.sidebar-collapsed{grid-template-columns:96px 1fr}.auth-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(120deg,#134fc538,#91e80014)}.sidebar{background:var(--color-primary);color:#fff;padding:1.75rem 1.35rem;display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:0;height:100vh;box-shadow:12px 0 32px #134fc52e;transition:padding .2s ease,gap .2s ease}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.brand{display:flex;align-items:center;gap:.5rem;min-width:0}.brand-logo-full{display:block;height:48px;width:auto;max-width:160px;object-fit:contain;object-position:left center;background:#fff;border-radius:10px;padding:6px 10px;box-shadow:0 2px 8px #0000002e;transition:opacity .2s ease}.brand-logo-full:hover{opacity:.92}.brand-logo-icon{display:none;width:42px;height:42px;object-fit:contain;background:#fff;border-radius:50%;padding:5px;box-shadow:0 2px 8px #0000002e}.brand-divider{height:1px;background:#ffffff26;margin:0 -.35rem}.profile-card{background:#ffffff14;border-radius:14px;padding:1rem;display:flex;gap:.75rem;align-items:center;border:1px solid rgba(255,255,255,.12)}.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-light),#6fbaff);color:#0b1f52;display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden;border:2px solid rgba(255,255,255,.2)}.avatar img{width:100%;height:100%;object-fit:cover}.profile-copy{display:grid;gap:.25rem}.name{margin:0;font-weight:700}.subtitle{margin:0;color:#fffc;font-size:.9rem}.nav-links{display:flex;flex-direction:column;gap:.4rem}.nav-item{padding:.75rem .9rem;border-radius:10px;color:#ffffffe6;text-decoration:none;font-weight:600;display:flex;align-items:center;gap:.65rem;transition:background .2s ease,transform .2s ease,color .2s ease}.nav-short{display:none;font-weight:800;letter-spacing:.04em}.nav-item:hover,.nav-item.active{background:#ffffff1a;color:#fff;transform:translate(2px);box-shadow:inset 0 0 0 1px #ffffff14}.emergency-btn{background:linear-gradient(135deg,#f44336,#f87171);color:#fff;border:none;border-radius:8px;padding:.85rem 1rem;font-weight:700;box-shadow:0 14px 26px #f4433659}.support-card{margin-top:auto;background:#ffffff14;border-radius:12px;padding:1rem;border:1px solid rgba(255,255,255,.12)}.support-title{margin:0;font-weight:700}.support-subtitle{margin:.35rem 0 0;color:#ffffffd9;font-size:.9rem}.btn-label{display:inline-block}.content-wrapper{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 2rem 1.25rem;position:sticky;top:0;background:#fff;border-bottom:1px solid #e2e8f0;z-index:5}.eyebrow{margin:0;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;color:#6b7280;font-weight:700}.app-header h1{margin:.25rem 0 0}.header-subtitle{margin:.35rem 0 0;color:#475569;max-width:640px}.header-actions{display:flex;gap:.6rem}.collapse-btn{border-color:#ffffff59;color:#fff;padding:.45rem .65rem;border-radius:10px;min-width:42px;display:grid;place-items:center;background:#ffffff14}.collapse-btn:hover{background:#ffffff24}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;padding:1rem 2rem}.kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.1rem;display:flex;gap:.85rem;align-items:center;box-shadow:0 12px 28px #0f172a14}.kpi-icon{width:46px;height:46px;border-radius:10px;background:#eef3ff;display:grid;place-items:center;font-size:1.3rem}.kpi-label{margin:0;color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.kpi-value{margin:.15rem 0;font-size:2.1rem;font-weight:800;letter-spacing:-.02em}.kpi-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:14px;font-weight:700;font-size:.85rem;color:#0f172a;background:#f3f4f6}.kpi-pill.success{color:#1f5f2d;background:#91e8002e}.kpi-pill.warning{color:#92400e;background:#ffb84038}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 2rem;border-bottom:1px solid #e2e8f0;background:#f2f4f8}.filter-title{margin:0;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;color:#475569}.filter-subtitle{margin:.25rem 0 0;color:#6b7280}.filter-actions{display:flex;gap:.5rem;flex-wrap:wrap}.chip{padding:.55rem .85rem;border-radius:8px;font-weight:700;border:1px solid transparent}.app-content{flex:1;padding:1.25rem 2rem 2.5rem;display:grid;gap:1.25rem;align-content:start}.primary,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.primary{background:var(--color-primary);color:#fff;border:1px solid rgba(0,0,0,.1)}.primary:hover{transform:translateY(-1px);filter:brightness(1.1);box-shadow:0 4px 12px #134fc54d}.primary:active{transform:translateY(0)}.ghost{border-color:#e2e8f0;color:#475569}.ghost:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.btn-new-consultation{background:linear-gradient(135deg,var(--color-primary),#3b82f6);padding-left:.9rem;font-weight:700}.btn-new-consultation svg{color:#ffffffe6}.btn-help{color:#64748b}.btn-help:hover{color:var(--color-primary)}.logout-btn{color:#ef4444;border-color:#fee2e2;background:transparent}.logout-btn:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.chip.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.chip.ghost{background:#fff;border-color:#d0d7e2;color:#0f172a}.chip.ghost.active{border-color:var(--color-primary);color:var(--color-primary);background:#134fc514}.app-shell.sidebar-collapsed .sidebar{padding:1rem .85rem;gap:.9rem;align-items:center}.app-shell.sidebar-collapsed .brand-logo-full{display:none}.app-shell.sidebar-collapsed .brand-logo-icon{display:block}.app-shell.sidebar-collapsed .brand-row{flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;width:100%}.app-shell.sidebar-collapsed .collapse-btn{padding:.35rem;min-width:32px;height:32px;border-radius:8px}.app-shell.sidebar-collapsed .collapse-btn svg{width:18px;height:18px}.app-shell.sidebar-collapsed .profile-copy,.app-shell.sidebar-collapsed .support-card,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .support-title,.app-shell.sidebar-collapsed .support-subtitle,.app-shell.sidebar-collapsed .btn-label{display:none}.app-shell.sidebar-collapsed .nav-short{display:inline-flex}.app-shell.sidebar-collapsed .nav-links{align-items:center}.app-shell.sidebar-collapsed .nav-item{justify-content:center;width:100%;padding:.65rem .75rem}.app-shell.sidebar-collapsed .profile-card{justify-content:center;padding:.75rem}.app-shell.sidebar-collapsed .avatar{margin-inline:auto}.app-shell.sidebar-collapsed .emergency-btn{padding:.7rem;display:grid;place-items:center}.app-shell.sidebar-collapsed .emergency-btn:after{content:"SOS";font-weight:800;letter-spacing:.08em}.app-shell.sidebar-collapsed .collapse-btn{border-color:#ffffff8c}@media(max-width:1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap}.nav-links{flex-direction:row;flex-wrap:wrap;gap:.5rem}.filter-bar{align-items:flex-start}}@media(max-width:768px){.app-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.filter-bar{flex-direction:column;align-items:flex-start}.header-actions button span{display:none}.header-actions button{padding:.65rem;min-width:44px}}:root{color-scheme:light;--color-primary: #0284c7;--color-primary-dark: #0369a1;--color-primary-light: #e0f2fe;--color-accent: #84cc16;--color-neutral: #94a3b8;--color-surface: #f8fafc;--color-surface-card: #ffffff;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem}*{box-sizing:border-box}body{margin:0;background-color:var(--color-surface);font-family:Inter,Work Sans,system-ui,sans-serif;color:var(--color-text);line-height:1.5}a{color:var(--color-primary);text-decoration:none;transition:color .15s}a:hover{color:var(--color-primary-dark);text-decoration:underline}button{font-family:inherit;cursor:pointer}.card{background:var(--color-surface-card);border-radius:var(--radius-xl);padding:2rem;border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem;position:relative}.form label{font-weight:600;color:var(--color-text);font-size:.9rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--color-text-muted);pointer-events:none;width:20px;height:20px}.form input,.form select{width:100%;padding:.75rem 1rem .75rem 2.75rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:1rem;transition:all .2s ease}.form input:not([type=checkbox]):focus,.form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);background:#fff}.form input.has-no-icon{padding-left:1rem}.checkbox-group{flex-direction:row;align-items:flex-start;gap:.75rem}.checkbox-group input[type=checkbox]{width:1.25rem;height:1.25rem;margin:.15rem 0 0;padding:0;flex-shrink:0;accent-color:var(--color-primary)}.form button.primary-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-lg);padding:.875rem 1.5rem;font-size:1rem;font-weight:600;box-shadow:0 4px 6px -1px #0284c74d;transition:transform .15s ease,box-shadow .15s ease,filter .15s}.form button.primary-btn:hover{transform:translateY(-1px);box-shadow:0 10px 15px -3px #0284c766;filter:brightness(1.1)}.form button.primary-btn:active{transform:translateY(0)}.form button.primary-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.error-message{color:#ef4444;font-size:.875rem;padding:.5rem;background:#fee2e2;border-radius:.5rem;display:flex;align-items:center;gap:.5rem}.success-message{color:#15803d;font-size:.875rem;padding:.5rem;background:#dcfce7;border-radius:.5rem}.auth-container{display:flex;min-height:100vh;justify-content:center;align-items:center;background-color:#f1f5f9;padding:2rem}.auth-grid{display:grid;grid-template-columns:1.2fr 1fr;width:100%;max-width:1100px;background:#fff;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-xl);min-height:700px}@media(max-width:968px){.auth-grid{grid-template-columns:1fr;min-height:auto;max-width:500px}.auth-visual{display:none}}.auth-content{padding:3rem;display:flex;flex-direction:column;justify-content:center;animation:fadeIn .5s ease-out}.auth-visual{background:linear-gradient(135deg,#0284c7e6,#0f172acc),url(/img/triage-login.webp) center/cover no-repeat;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:3rem;color:#fff}.auth-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.1) 0%,transparent 60%)}.visual-quote{position:relative;z-index:2}.visual-quote h2{font-size:2rem;line-height:1.2;margin-bottom:1rem;font-weight:700}.visual-quote p{font-size:1.1rem;opacity:.9}.brand-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#0284c71a;color:var(--color-primary-dark);border-radius:2rem;font-weight:700;font-size:.875rem;margin-bottom:1.5rem;align-self:flex-start}.auth-header h1{font-size:2rem;font-weight:800;margin:0 0 .5rem;color:var(--color-text);letter-spacing:-.025em}.auth-header p{color:var(--color-text-muted);margin-bottom:2rem}.role-switch{display:flex;background:var(--color-surface);padding:.3rem;border-radius:var(--radius-xl);margin-bottom:2rem;position:relative;border:1px solid var(--color-border)}.role-switch button{flex:1;border:none;background:transparent;padding:.6rem;border-radius:var(--radius-lg);font-size:.9rem;font-weight:600;color:var(--color-text-muted);transition:color .2s;z-index:2}.role-switch button.active{color:var(--color-primary-dark);background:#fff;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}.toggle-auth-mode{margin-top:1.5rem;text-align:center;font-size:.95rem;color:var(--color-text-muted)}.toggle-auth-mode button{background:none;border:none;color:var(--color-primary);font-weight:600;margin-left:.5rem;padding:0}.toggle-auth-mode button:hover{text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
