:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#030a10;color:#f7faf9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #06121a;--bg-top: #081c2a;--bg-deep: #030a10;--surface: rgba(12, 34, 49, .82);--surface-raised: rgba(14, 42, 61, .9);--surface-soft: rgba(16, 45, 64, .68);--surface-field: rgba(5, 16, 24, .76);--border: rgba(167, 184, 196, .16);--border-strong: rgba(4, 189, 175, .42);--teal: #04bdaf;--teal-bright: #23d6d2;--text: #f7faf9;--text-soft: #c8d5dc;--text-muted: #8da1ad;--warning: #e8b931;--danger: #e5565b;--shadow: rgba(0, 0, 0, .38)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 12% 8%,rgba(35,214,210,.2),transparent 28rem),radial-gradient(circle at 90% 15%,rgba(9,52,81,.54),transparent 34rem),linear-gradient(155deg,var(--bg-top) 0%,var(--bg) 44%,var(--bg-deep) 100%)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:12px;padding:0 18px;font-size:1rem;font-weight:800;letter-spacing:0;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button--primary{background:linear-gradient(135deg,var(--teal-bright),var(--teal));color:#031018;box-shadow:0 14px 30px #04bdaf38}.button--danger{background:linear-gradient(135deg,#f07175,var(--danger));color:#fff;box-shadow:0 14px 30px #e5565b2e}.button--ghost{background:#ffffff0f;border-color:var(--border);color:var(--text)}.button--ghost:hover:not(:disabled){border-color:var(--border-strong);background:#04bdaf1a}.button--full{width:100%}.eyebrow{margin:0 0 8px;color:var(--teal-bright);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.env-pill,.soft-tag{display:inline-flex;width:fit-content;align-items:center;border:1px solid rgba(35,214,210,.32);border-radius:999px;background:#04bdaf1f;color:var(--teal-bright);font-size:.8rem;font-weight:900;padding:6px 11px}.login-page,.auth-blocked{display:grid;min-height:100vh;place-items:center;padding:32px}.login-panel{display:grid;width:min(1040px,100%);min-height:640px;grid-template-columns:minmax(0,1fr) 430px;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:#06121ae0;box-shadow:0 30px 90px var(--shadow)}.login-copy{display:flex;min-height:100%;flex-direction:column;justify-content:space-between;padding:48px;background:linear-gradient(140deg,#030a1057,#06121aeb),radial-gradient(circle at 25% 18%,rgba(35,214,210,.24),transparent 18rem),linear-gradient(160deg,#0e2a3d,#071927 56%,#030a10)}.login-copy p{max-width:620px;margin:0;color:var(--text-soft);font-size:1.18rem;line-height:1.7}.brand-row{display:flex;align-items:center;gap:18px}.brand-mark{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border:1px solid rgba(35,214,210,.36);border-radius:16px;background:#04bdaf24;color:var(--teal-bright);box-shadow:0 0 24px #04bdaf29}.brand-mark--large{width:70px;height:70px;border-radius:22px}.login-copy h1{max-width:620px;margin:0;color:var(--text);font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.04}.login-assurance{display:flex;max-width:560px;align-items:center;gap:12px;border:1px solid rgba(35,214,210,.2);border-radius:16px;background:#04bdaf14;color:var(--text-soft);padding:16px}.login-form,.auth-card{display:flex;flex-direction:column;justify-content:center;gap:20px;border-left:1px solid var(--border);background:#071927eb;padding:40px}.form-heading{display:grid;gap:10px;margin-bottom:4px}.form-heading h2,.auth-card h1{margin:0;color:var(--text);font-size:1.8rem;line-height:1.16}.form-heading p,.auth-card p{margin:0;color:var(--text-soft);font-size:1.02rem;line-height:1.55}.auth-card--narrow{width:min(520px,100%);border:1px solid var(--border);border-radius:22px;box-shadow:0 24px 70px var(--shadow)}label{display:grid;gap:10px;color:var(--text-soft);font-size:1rem;font-weight:800}input,textarea{width:100%;border:1px solid rgba(167,184,196,.22);border-radius:12px;background:var(--surface-field);color:var(--text);outline:none}input{height:58px;padding:0 16px;font-size:1.05rem}textarea{min-height:178px;resize:vertical;padding:16px;font-size:1.02rem;line-height:1.58}input:focus,textarea:focus{border-color:var(--teal-bright);box-shadow:0 0 0 4px #04bdaf24}.login-form small{color:var(--text-muted);font-size:.88rem;line-height:1.5}.app-shell{display:grid;min-height:100vh;grid-template-columns:286px minmax(0,1fr);background:radial-gradient(circle at 80% 8%,rgba(35,214,210,.14),transparent 26rem),linear-gradient(145deg,var(--bg-top),var(--bg) 42%,var(--bg-deep))}.clinical-rail{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:24px;border-right:1px solid var(--border);background:#030a10ad;padding:28px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.clinical-rail h1{margin:0;color:var(--text);font-size:1.24rem;line-height:1.25}.rail-nav{display:grid;gap:10px}.rail-nav a{display:flex;min-height:54px;align-items:center;gap:12px;border:1px solid transparent;border-radius:14px;color:var(--text-soft);font-weight:800;padding:0 14px}.rail-nav a.active,.rail-nav a:hover{border-color:#23d6d242;background:#04bdaf1f;color:var(--text)}.rail-footer{display:grid;gap:14px;margin-top:auto}.doctor-mini{display:flex;min-width:0;align-items:center;gap:10px;color:var(--text-muted);font-size:.92rem}.doctor-mini span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clinical-main{min-width:0;padding:34px}.page-stack,.encounter{display:grid;gap:24px}.page-header,.encounter-header{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--border);border-radius:20px;background:#0c223194;padding:22px;box-shadow:0 18px 50px #0000002e}.page-header h2,.encounter-header h2{margin:0;color:var(--text);font-size:clamp(2rem,3vw,2.65rem);line-height:1.1}.page-header p,.encounter-header p{margin:8px 0 0;color:var(--text-soft);font-size:1.05rem}.header-actions{display:flex;flex-wrap:wrap;gap:12px}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.metric-card,.appointment-card,.panel,.empty-state,.error-notice,.success-notice{border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 20px 60px #0000002e}.metric-card{display:grid;gap:8px;padding:20px}.metric-card span{color:var(--text-soft);font-weight:800}.metric-card strong{color:var(--text);font-size:2.05rem;line-height:1}.metric-card small{color:var(--text-muted);font-size:.9rem}.appointment-list{display:grid;gap:16px}.appointment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:22px}.appointment-main{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px;grid-column:1 / -1}.appointment-main h3{margin:6px 0 0;color:var(--text);font-size:1.48rem;line-height:1.25}.card-kicker{color:var(--text-muted);font-size:.86rem;font-weight:900}.appointment-time{display:inline-flex;min-height:40px;align-items:center;gap:8px;border:1px solid rgba(232,185,49,.24);border-radius:999px;background:#e8b93114;color:#ffe08a;font-weight:850;padding:0 13px}.appointment-tags,.room-facts{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.room-facts span{border:1px solid var(--border);border-radius:999px;color:var(--text-soft);padding:8px 12px}.status-badge{display:inline-flex;width:fit-content;align-items:center;border:1px solid transparent;border-radius:999px;font-size:.78rem;font-weight:950;padding:7px 11px}.status-badge--neutral{border-color:#a7b8c438;background:#a7b8c41a;color:var(--text-soft)}.status-badge--good{border-color:#04bdaf6b;background:#04bdaf24;color:var(--teal-bright)}.status-badge--warning{border-color:#e8b93161;background:#e8b9311f;color:#ffda75}.status-badge--danger{border-color:#e5565b66;background:#e5565b24;color:#ff989b}.status-badge--info{border-color:#23d6d257;background:#23d6d21a;color:var(--teal-bright)}.encounter-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:20px}.panel{display:grid;gap:18px;padding:22px}.panel--record{grid-column:1 / -1}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel-title h3{margin:0;color:var(--text);font-size:1.28rem}.video-surface{display:grid;min-height:360px;place-items:center;gap:10px;border:1px solid rgba(35,214,210,.18);border-radius:18px;background:radial-gradient(circle at 50% 38%,rgba(4,189,175,.14),transparent 12rem),linear-gradient(145deg,#04111afa,#071927eb);color:var(--text-soft);text-align:center;padding:28px}.video-surface strong{color:var(--text);font-size:1.28rem}.video-surface span{max-width:520px;line-height:1.55}.chat-stream{display:flex;min-height:320px;max-height:470px;flex-direction:column;gap:12px;overflow:auto;border:1px solid var(--border);border-radius:16px;background:#030a106b;padding:14px}.chat-message{border:1px solid rgba(167,184,196,.16);border-radius:14px;background:#102d40ad;padding:13px}.chat-message p{margin:7px 0;color:var(--text);line-height:1.5}.chat-message small,.muted{color:var(--text-muted)}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.read-only-note{display:flex;align-items:center;gap:8px;border:1px solid rgba(232,185,49,.22);border-radius:12px;background:#e8b93114;color:#ffda75;font-size:.94rem;font-weight:800;padding:12px}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.record-actions{position:sticky;bottom:0;z-index:2;display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--border);background:linear-gradient(180deg,#0c2231d1,#06121afa);padding-top:16px}.empty-state{padding:40px;text-align:center}.empty-state h2{margin:0 0 10px;color:var(--text)}.empty-state p{color:var(--text-soft)}.error-notice,.success-notice{display:flex;align-items:flex-start;gap:12px;padding:16px}.error-notice{border-color:#e5565b5c;background:#e5565b1f;color:#ffd0d1}.error-notice p,.error-notice strong{margin:0}.error-notice small{display:inline-block;margin-top:5px;color:#ff989b;font-weight:900}.success-notice{border-color:#04bdaf57;background:#04bdaf1f;color:var(--teal-bright);font-weight:900}@media(max-width:1180px){.app-shell{grid-template-columns:236px minmax(0,1fr)}.encounter-grid,.record-grid{grid-template-columns:1fr}}@media(max-width:860px){.login-page,.auth-blocked{padding:18px}.login-panel{grid-template-columns:1fr}.login-copy,.login-form{padding:28px}.login-form{border-left:0;border-top:1px solid var(--border)}.app-shell{grid-template-columns:1fr}.clinical-rail{position:static;height:auto}.clinical-main{padding:20px}.metric-row,.appointment-card{grid-template-columns:1fr}.page-header,.encounter-header{align-items:stretch;flex-direction:column}.header-actions{flex-direction:column}.chat-form{grid-template-columns:1fr}}
