:root{color-scheme:light;--bg: #f3f4ef;--panel: rgba(255, 255, 255, .88);--panel-strong: #ffffff;--ink: #0c1b33;--muted: #667085;--line: rgba(12, 27, 51, .12);--accent: #0b8a7a;--accent-2: #0f5d8c;--accent-soft: rgba(11, 138, 122, .12);--danger: #b91c1c;--shadow: 0 24px 60px rgba(12, 27, 51, .14);--radius-lg: 24px;--radius-md: 16px;--radius-sm: 12px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-size:12px;line-height:1.3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(circle at top right,rgba(11,138,122,.14),transparent 32%),radial-gradient(circle at bottom left,rgba(15,93,140,.14),transparent 30%),var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.app-main{flex:1;min-width:0}.app-loading,.center-state{min-height:100vh;display:grid;place-items:center}.spinner{width:32px;height:32px;border-radius:999px;border:3px solid rgba(11,138,122,.14);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sidebar{width:200px;flex:0 0 200px;display:flex;flex-direction:column;padding:24px 0 16px;background:linear-gradient(180deg,#0c1b33,#09101f);color:#fff;box-shadow:inset -1px 0 #ffffff0d}.sidebar-brand{padding:0 20px 18px;display:flex;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#0b8a7a,#32b8a7);box-shadow:0 12px 24px #0b8a7a66}.sidebar-brand-name{font-size:15px;font-weight:800;letter-spacing:.01em}.sidebar-brand-meta{font-size:11px;color:#ffffff7a;margin-top:3px}.sidebar-nav{display:grid;padding:14px 0 0}.sidebar-link{padding:10px 20px;color:#ffffff8a;font-size:12px;font-weight:700;border-right:2px solid transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.sidebar-link:hover,.sidebar-link.is-active{color:#fff;background:#0b8a7a29;border-right-color:#0b8a7a}.sidebar-footer{margin-top:auto;padding:16px 20px 0;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:10px}.sidebar-avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:#0b8a7a;font-weight:800;box-shadow:0 12px 24px #0b8a7a3d}.sidebar-clinician-name{font-size:10px;font-weight:700}.sidebar-clinician-role,.sidebar-version,.page-subtitle,.section-caption,.body-copy,.risk-summary,.metric-delta,.trend-empty,.form-success,.queue-label,.page-kicker,.sidebar-brand-meta{color:var(--muted)}.sidebar-clinician-role,.sidebar-version{font-size:10px}.sidebar-signout{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#fff;border-radius:12px;padding:8px 12px;font-weight:700;transition:transform .12s ease,background-color .12s ease}.sidebar-signout:hover{background:#ffffff14}.sidebar-signout:active{transform:translateY(1px)}.auth-shell{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;padding:24px;background:#08111f}.auth-glow{position:absolute;border-radius:999px;filter:none;pointer-events:none}.auth-glow-top{top:-120px;right:-80px;width:320px;height:320px;background:#0b8a7a3d}.auth-glow-bottom{bottom:-130px;left:-110px;width:360px;height:360px;background:#ffffff14}.auth-card{width:min(100%,400px);position:relative;z-index:1;background:#f5f4f0fa;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:var(--shadow);padding:24px;display:grid;gap:0}.auth-kicker{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-title{margin:8px 0 10px;font-size:24px;line-height:29px;color:var(--ink)}.field{display:grid;gap:8px;font-size:11px;font-weight:700;color:#344054;margin-top:10px}.input{width:100%;border:1px solid #d6dde6;border-radius:14px;background:#fff;color:var(--ink);padding:13px 14px;font-size:13px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.input:focus{border-color:#0b8a7a8c;box-shadow:0 0 0 4px #0b8a7a1f}.input-multiline{min-height:96px;resize:vertical}.button-primary,.button-secondary,.button-link,.patient-row{border-radius:14px}.button-primary{border:none;background:linear-gradient(135deg,#0b8a7a,#0f6b92);color:#fff;padding:12px 16px;font-weight:800;box-shadow:0 10px 24px #0b8a7a33;transition:transform .12s ease,opacity .12s ease}.button-primary:hover{transform:translateY(-1px)}.button-primary.is-disabled,.button-primary:disabled{opacity:.65;cursor:not-allowed;transform:none}.button-secondary,.button-link{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 14px;font-weight:700}.button-link{background:transparent;border-color:transparent;color:var(--accent);padding-inline:6px}.form-error{color:var(--danger);font-size:13px;font-weight:600;margin-top:12px}.auth-card .button-primary{margin-top:18px}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0c1b338f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-card{width:min(100%,620px);max-height:min(90vh,760px);overflow:hidden;background:var(--panel-strong);border-radius:22px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.36);display:flex;flex-direction:column}.modal-title{padding:20px 20px 0;font-size:18px;font-weight:800;color:var(--ink)}.modal-scroll{padding:20px;overflow:auto;display:grid;gap:12px}.modal-footer{padding:14px 20px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}.invite-link{width:100%;border:1px dashed rgba(11,138,122,.35);background:#0b8a7a0f;color:var(--accent);border-radius:14px;padding:12px 14px;text-align:left;word-break:break-word;font-weight:700}.button-row{display:flex;gap:10px;flex-wrap:wrap}.qr-wrap{display:grid;place-items:center;padding-top:6px}.page{padding:24px;display:grid;gap:16px}.page-header,.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px}.page-title{margin:0;font-size:17px;line-height:1.1;color:var(--ink)}.page-subtitle{font-size:10px;margin-top:6px}.queue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.queue-card{border:1px solid rgba(12,27,51,.08);background:#ffffffdb;border-radius:18px;padding:12px;text-align:left;box-shadow:0 10px 24px #0c1b330f;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}.queue-card:hover{transform:translateY(-1px)}.queue-card.is-active{border-color:#0b8a7a66;background:#0b8a7a1a}.queue-count{font-size:17px;font-weight:900;color:var(--ink)}.queue-label{margin-top:2px;font-size:12px;font-weight:700}.table-card,.summary-box,.avg-card,.metric-card,.trend-card,.risk-row{background:#ffffffe0;border:1px solid rgba(12,27,51,.08);box-shadow:0 10px 24px #0c1b330f}.table-card,.summary-box{border-radius:20px}.table-head{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:12px;padding:8px;border-bottom:1px solid var(--line)}.th{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.table-body{display:grid}.patient-row{width:100%;border:none;background:transparent;display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:12px;align-items:center;text-align:left;padding:12px 8px;border-top:1px solid rgba(12,27,51,.08);transition:background-color .12s ease,transform .12s ease}.patient-row:first-child{border-top:none}.patient-row:hover{background:#0b8a7a0a}.patient-row.is-dim{opacity:.58}.patient-col-name{display:grid;gap:4px}.patient-name,.risk-name{font-weight:700;color:var(--ink);font-size:12px}.patient-badge-small{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;padding:2px 8px;background:#0c1b3314;color:#475467;font-size:10px;font-weight:800}.patient-expired{color:var(--danger);font-size:11px;font-weight:700}.patient-col-sync,.patient-col-summary{color:#475467;font-size:10px}.patient-col-status{display:flex;align-items:center}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em}.status-badge-dot{width:7px;height:7px;border-radius:999px}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{border-radius:18px;padding:14px}.metric-label{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:8px}.metric-row{display:flex;align-items:baseline;gap:8px}.metric-value{font-size:18px;font-weight:900;line-height:1}.metric-unit{font-size:10px;color:var(--muted);font-weight:700}.metric-trend{color:var(--accent);font-size:1.1rem;font-weight:900;margin-left:auto}.metric-delta{margin-top:8px;font-size:12px}.trend-card{border-radius:20px;padding:12px;display:grid;gap:8px}.trend-title{font-size:11px;font-weight:800;color:var(--ink)}.trend-empty{padding:22px 0;font-size:12px}.trend-svg{width:100%;height:auto;display:block}.trend-axis,.trend-baseline{stroke:#0c1b3329;stroke-width:1}.trend-baseline{stroke-dasharray:5 5}.trend-line{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.trend-point{fill:#fff;stroke:var(--accent);stroke-width:3}.trend-bar{fill:#0b8a7ae6}.trend-label{fill:var(--muted);font-size:10px;font-weight:700}.back-link{color:var(--accent);font-weight:800;font-size:14px}.detail-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.summary-box{padding:14px;border-radius:12px;color:#374151;line-height:1.5}.detail-card{background:#ffffffe0;border:1px solid rgba(12,27,51,.08);box-shadow:0 10px 24px #0c1b330f;border-radius:12px;padding:14px}.detail-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.detail-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-notes{grid-column:1 / -1}.detail-actions{display:flex;justify-content:flex-end;margin-top:12px}.danger-button{border:1px solid rgba(185,28,28,.18);background:#fee2e2;color:#991b1b;border-radius:12px;padding:10px 14px;font-weight:800}.danger-button:disabled{opacity:.65;cursor:not-allowed}.modal-card-small{width:min(100%,520px)}.modal-footer-danger{justify-content:space-between}.delete-warning{color:#991b1b;background:#fef2f2;border:1px solid rgba(185,28,28,.14);border-radius:12px;padding:12px;line-height:1.45;font-size:12px;font-weight:700}.delete-warning-sub{color:#6b7280;font-size:11px;font-weight:600;margin-top:6px}.section-title{font-size:14px;font-weight:800;color:var(--ink);margin-top:6px}.section-caption,.body-copy{font-size:13px}.status-bar{display:flex;height:12px;overflow:hidden;border-radius:999px;background:#0c1b3314}.status-bar-ok{background:#d1fae5}.status-bar-review{background:#fef3c7}.status-bar-nodata{background:#f3f4f6}.avg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.avg-card{border-radius:12px;padding:12px}.avg-label{font-size:11px;color:var(--muted);font-weight:700}.avg-value{margin-top:4px;font-size:15px;font-weight:900}.risk-list{display:grid;gap:10px}.risk-row{border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.risk-copy{min-width:0}.risk-summary{margin-top:4px;font-size:11px;line-height:1.45}.error-state{color:var(--danger);font-weight:700;text-align:center}.toast{position:fixed;top:20px;right:20px;z-index:80;min-width:220px;max-width:min(360px,calc(100vw - 40px));padding:12px 14px;border-radius:14px;box-shadow:0 12px 28px #0c1b332e;border:1px solid transparent;font-size:12px;font-weight:800}.toast-success{background:#dcfce7;color:#14532d;border-color:#14532d1f}.toast-error{background:#fee2e2;color:#7f1d1d;border-color:#7f1d1d1f}@media(max-width:1100px){.sidebar{width:200px;flex-basis:200px}}@media(max-width:920px){.app-shell{flex-direction:column}.sidebar{width:100%;flex-basis:auto}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-link{border-right:none;border-bottom:2px solid transparent}.sidebar-link:hover,.sidebar-link.is-active{border-right-color:transparent;border-bottom-color:#0b8a7a}.page{padding:18px}}@media(max-width:720px){.queue-grid,.metric-grid,.avg-grid{grid-template-columns:1fr}.page-header,.detail-head,.risk-row{flex-direction:column}.table-head,.patient-row{grid-template-columns:1fr}.th{display:none}.patient-col-status{justify-content:flex-start}.modal-backdrop{padding:12px}.modal-card{max-height:92vh}.detail-form{grid-template-columns:1fr}.detail-card-head,.modal-footer-danger{flex-direction:column}}
