*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1e293b;background:#f0f4f8;min-height:100vh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit;font-size:inherit}#root{min-height:100vh}:root,[data-theme=light]{--primary:#2563eb;--primary-light:#dbeafe;--primary-dark:#1d4ed8;--success:#16a34a;--success-light:#dcfce7;--danger:#dc2626;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--bg:#f0f4f8;--card-bg:#fff;--text:#1e293b;--text-muted:#64748b;--border:#e2e8f0;--radius:12px;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-lg:0 4px 12px #0000001a;--vital-bg:#f8fafc;--table-header-bg:#f8fafc;--streak-bg:#fff7ed;--streak-border:#fed7aa;--streak-text:#9a3412}[data-theme=dark]{--primary:#60a5fa;--primary-light:#1e3a5f;--primary-dark:#93bbfd;--success:#4ade80;--success-light:#14532d;--danger:#f87171;--danger-light:#450a0a;--warning:#fbbf24;--warning-light:#451a03;--bg:#0f172a;--card-bg:#1e293b;--text:#e2e8f0;--text-muted:#94a3b8;--border:#334155;--shadow:0 1px 3px #0000004d;--shadow-lg:0 4px 12px #0006;--vital-bg:#0f172a;--table-header-bg:#0f172a;--streak-bg:#451a03;--streak-border:#92400e;--streak-text:#fbbf24}.app{flex-direction:column;min-height:100vh;display:flex}.app-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px 16px}.header{background:var(--card-bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:100;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:10px;display:flex}.header-icon{font-size:28px}.header-title{color:var(--primary);font-size:22px;font-weight:700}.header-right{align-items:center;gap:12px;display:flex}.header-btn{border-radius:8px;padding:6px 10px;font-size:22px;transition:background .2s}.header-btn:hover{background:var(--primary-light)}.streak-display{background:var(--streak-bg);color:var(--streak-text);border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-weight:700;display:flex}.streak-fire{font-size:18px}.streak-count{font-size:16px}.main-menu{max-width:600px;margin:0 auto}.menu-hero{text-align:center;margin-bottom:32px}.menu-hero h2{color:var(--text);margin-bottom:8px;font-size:32px}.menu-subtitle{color:var(--text-muted);font-size:18px}.menu-actions{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.menu-btn{border-radius:var(--radius);background:var(--card-bg);border:2px solid var(--border);text-align:left;box-shadow:var(--shadow);align-items:center;gap:16px;padding:16px 20px;transition:all .2s;display:flex}.menu-btn:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.menu-btn.primary{border-color:var(--primary);background:var(--primary-light)}.menu-btn.primary:hover{background:var(--primary);color:#fff}.menu-btn.daily.completed{border-color:var(--success);background:var(--success-light)}.btn-icon{font-size:32px}.btn-text{flex-direction:column;display:flex}.btn-text strong{font-size:16px}.btn-text small{color:var(--text-muted);font-size:13px}.menu-section{margin-bottom:24px}.menu-section h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:16px}.menu-streak-banner{background:var(--streak-bg);border:1px solid var(--streak-border);border-radius:var(--radius);text-align:center;color:var(--streak-text);padding:12px 16px}.specialty-filter{flex-wrap:wrap;gap:8px;display:flex}.specialty-pill{border:2px solid var(--border);background:var(--card-bg);color:var(--text-muted);border-radius:20px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}.specialty-pill:hover{border-color:var(--primary);color:var(--primary)}.specialty-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.game-screen{animation:.3s fadeIn}.case-intro{max-width:700px;margin:0 auto}.case-badge{gap:8px;margin-bottom:12px;display:flex}.difficulty-badge,.specialty-badge{text-transform:uppercase;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:700}.difficulty-badge.easy{background:var(--success-light);color:var(--success)}.difficulty-badge.medium{background:var(--warning-light);color:#b45309}.difficulty-badge.hard{background:var(--danger-light);color:var(--danger)}.specialty-badge{background:var(--primary-light);color:var(--primary)}.case-intro h2{margin-bottom:20px;font-size:28px}.begin-btn,.ready-btn,.submit-btn{border-radius:var(--radius);color:#fff;background:var(--primary);width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:700;transition:background .2s}.begin-btn:hover,.ready-btn:hover,.submit-btn:hover{background:var(--primary-dark)}.submit-btn:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.ready-btn{background:var(--success)}.ready-btn:hover{background:#15803d}.game-layout{grid-template-columns:1fr 380px;gap:20px;margin-top:16px;display:grid}.game-left,.game-right{flex-direction:column;gap:16px;display:flex}.patient-vignette{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.vignette-section{margin-bottom:16px}.vignette-section:last-child{margin-bottom:0}.vignette-section h3{text-transform:uppercase;letter-spacing:.5px;color:var(--primary);border-bottom:2px solid var(--primary-light);margin-bottom:8px;padding-bottom:4px;font-size:14px}.chief-complaint{color:var(--text);font-size:16px;font-weight:600}.vitals-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.vital{background:var(--vital-bg);border:1px solid var(--border);text-align:center;border-radius:8px;padding:8px}.vital-label{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600;display:block}.vital-value{color:var(--text);font-size:16px;font-weight:700;display:block}.pe-finding{margin-bottom:6px;font-size:14px}.timer{align-items:center;gap:12px;display:flex}.timer-bar{background:var(--border);border-radius:4px;flex:1;height:8px;overflow:hidden}.timer-fill{background:var(--primary);border-radius:4px;height:100%;transition:width 1s linear}.timer-warning .timer-fill{background:var(--warning)}.timer-critical .timer-fill{background:var(--danger)}.timer-text{font-variant-numeric:tabular-nums;min-width:60px;font-size:20px;font-weight:700}.timer-warning .timer-text{color:var(--warning)}.timer-critical .timer-text{color:var(--danger);animation:1s infinite pulse}.test-order-panel{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-header h3{font-size:16px}.cost-total{color:var(--danger);font-size:14px;font-weight:700}.test-category{margin-bottom:12px}.test-category h4{color:var(--text-muted);margin-bottom:6px;font-size:13px}.test-list{flex-direction:column;gap:6px;display:flex}.test-btn{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;transition:all .15s;display:flex}.test-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}.test-btn.ordered{background:var(--vital-bg);border-color:var(--success);color:var(--text-muted)}.test-cost{color:var(--danger);font-size:12px;font-weight:600}.test-btn.ordered .test-cost{color:var(--success)}.test-results{flex-direction:column;gap:8px;display:flex}.test-results h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:14px}.test-results.empty{text-align:center;padding:24px}.results-hint{color:var(--text-muted);font-style:italic}.result-card{background:var(--card-bg);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;padding:12px;animation:.3s slideIn}.result-header{justify-content:space-between;margin-bottom:4px;display:flex}.result-name{font-size:14px;font-weight:600}.result-cost{color:var(--danger);font-size:12px}.result-text{color:var(--text-muted);font-size:13px;line-height:1.5}.diagnosis-submission{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.diagnosis-submission h3{margin-bottom:16px;font-size:18px}.input-group{margin-bottom:16px}.input-group label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.input-group input,.input-group textarea{border:2px solid var(--border);resize:vertical;background:var(--card-bg);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-size:15px;transition:border-color .2s}.input-group input:focus,.input-group textarea:focus{border-color:var(--primary);outline:none}.score-screen{max-width:600px;margin:0 auto;animation:.3s fadeIn}.score-header{text-align:center;margin-bottom:24px}.grade-circle{border:6px solid;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:12px;display:inline-flex}.grade-letter{font-size:48px;font-weight:800}.score-total{color:var(--text);font-size:36px;font-weight:700}.score-breakdown{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.score-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:10px 0;font-size:15px;display:flex}.score-row:last-child{border-bottom:none}.positive{color:var(--success);font-weight:600}.negative{color:var(--danger);font-weight:600}.score-explanation{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.explanation-block{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.explanation-block h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:13px}.correct-answer{color:var(--success);margin-bottom:6px;font-weight:700}.explanation-text{color:var(--text-muted);font-size:14px;line-height:1.5}.score-actions{gap:12px;display:flex}.score-actions .menu-btn{text-align:center;flex:1;justify-content:center}.leaderboard{animation:.3s fadeIn}.lb-header,.ach-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.lb-header h2,.ach-header h2{flex:1;font-size:24px}.back-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:8px 16px;font-weight:600;transition:all .2s}.back-btn:hover{background:var(--primary-light);border-color:var(--primary)}.lb-tabs{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.lb-tab{color:var(--text-muted);border-radius:6px;flex:1;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}.lb-tab.active{background:var(--primary);color:#fff}.lb-empty{text-align:center;color:var(--text-muted);background:var(--card-bg);border-radius:var(--radius);padding:48px}.lb-table{border-collapse:collapse;background:var(--card-bg);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}.lb-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--table-header-bg);border-bottom:2px solid var(--border);padding:12px 16px;font-size:12px}.lb-table td{border-bottom:1px solid var(--border);padding:10px 16px;font-size:14px}.lb-table tr.top-1 td{background:var(--warning-light)}.lb-table tr.top-2 td{background:var(--vital-bg)}.lb-table tr.top-3 td{background:var(--streak-bg)}.rank{font-weight:700}.score-cell{color:var(--primary);font-weight:700}.grade-badge{border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.grade-A{background:var(--success-light);color:var(--success)}.grade-B{background:var(--primary-light);color:var(--primary)}.grade-C{background:var(--warning-light);color:#b45309}.grade-D{color:#ea580c;background:#fee2e2}.grade-F{background:var(--danger-light);color:var(--danger)}.ach-count{color:var(--text-muted);font-size:14px;font-weight:600}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.ach-card{background:var(--card-bg);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:20px;transition:transform .2s}.ach-card.unlocked:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ach-card.locked{opacity:.5;filter:grayscale()}.ach-icon{margin-bottom:8px;font-size:40px;display:block}.ach-title{margin-bottom:4px;font-size:15px}.ach-desc{color:var(--text-muted);font-size:12px}.achievement-toast{background:var(--text);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);cursor:pointer;z-index:1000;align-items:center;gap:12px;padding:16px 20px;animation:.4s slideUp,.4s 3.6s fadeOut;display:flex;position:fixed;bottom:24px;right:24px}.toast-icon{font-size:32px}.toast-text{flex-direction:column;display:flex}.toast-text strong{text-transform:uppercase;letter-spacing:.5px;color:var(--warning);font-size:12px}.toast-text span{font-size:16px;font-weight:600}.name-prompt-overlay{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.name-prompt{background:var(--card-bg);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-lg);width:100%;max-width:400px;padding:32px}.name-prompt h3{margin-bottom:8px;font-size:24px}.name-prompt p{color:var(--text-muted);margin-bottom:20px}.name-prompt input{border:2px solid var(--border);text-align:center;background:var(--card-bg);width:100%;color:var(--text);border-radius:8px;margin-bottom:16px;padding:12px;font-size:16px}.name-prompt input:focus{border-color:var(--primary);outline:none}.name-prompt button{background:var(--primary);color:#fff;border-radius:8px;width:100%;padding:12px;font-size:16px;font-weight:700;transition:background .2s}.name-prompt button:hover:not(:disabled){background:var(--primary-dark)}.name-prompt button:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.learning-banner{background:var(--success-light);border:1px solid var(--success);border-radius:var(--radius);text-align:center;color:var(--success);padding:10px 16px;font-size:14px;font-weight:600}.mode-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--success-light);color:var(--success);border-radius:12px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.menu-btn.learning{border-color:var(--success);background:var(--success-light)}.menu-btn.learning:hover{background:var(--success);color:#fff}.menu-btn.review{border-color:var(--warning);background:var(--warning-light)}.menu-btn.review:hover{background:var(--warning);color:#fff}.review-case-list{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:16px;animation:.3s fadeIn}.review-case-list h3{color:var(--text);margin-bottom:12px;font-size:16px}.review-case-item{border:1px solid var(--border);background:var(--card-bg);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:12px;transition:all .2s;display:flex}.review-case-item:hover{border-color:var(--primary);background:var(--primary-light)}.review-case-title{font-size:14px;font-weight:600}.review-case-meta{gap:8px;display:flex}.hint-panel{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.hint-panel h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px;font-size:14px}.hint-btn{background:var(--warning-light);border:1px solid var(--warning);width:100%;color:var(--warning);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:10px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.hint-meta{opacity:.8;font-size:12px}.hint-btn:hover:not(:disabled){background:var(--warning);color:#fff}.hint-btn:disabled{opacity:.5;cursor:not-allowed}.hints-revealed{flex-direction:column;gap:8px;display:flex}.hint-card{background:var(--warning-light);border:1px solid var(--warning);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5;animation:.3s slideIn}.hint-number{color:var(--warning);margin-right:6px;font-weight:700}.grade-pop{animation:.4s cubic-bezier(.68,-.55,.265,1.55) gradePop}@keyframes gradePop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.score-breakdown,.score-explanation,.score-actions{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(15px)}.score-breakdown.show,.score-explanation.show,.score-actions.show{opacity:1;transform:translateY(0)}.score-explanation.show{transition-delay:.15s}.score-actions.show{transition-delay:.3s}.stats-screen{max-width:700px;margin:0 auto;animation:.3s fadeIn}.stats-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.stats-screen h2{flex:1;font-size:24px}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat-card{background:var(--card-bg);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:16px}.stat-value{color:var(--primary);font-size:28px;font-weight:800;display:block}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:12px}.specialty-progress{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.specialty-progress h3{margin-bottom:12px;font-size:16px}.specialty-bars{flex-direction:column;gap:10px;display:flex}.specialty-bar-row{align-items:center;gap:12px;display:flex}.specialty-bar-row span:first-child{width:70px;color:var(--text-muted);font-size:13px;font-weight:600}.specialty-indicator{background:var(--border);border-radius:4px;flex:1;height:8px;overflow:hidden}.specialty-indicator-fill{background:var(--primary);border-radius:4px;height:100%;transition:width .5s}.case-review{max-width:800px;margin:0 auto;animation:.3s fadeIn}.review-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.review-header h2{flex:1;font-size:22px}.review-section{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.review-section h3{color:var(--primary);border-bottom:2px solid var(--primary-light);margin-bottom:12px;padding-bottom:8px;font-size:16px}.review-tests{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.review-test-card{background:var(--vital-bg);border:1px solid var(--border);border-radius:8px;padding:12px}.review-test-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.review-test-header .test-name{font-size:14px;font-weight:600}.review-test-card h4{justify-content:space-between;align-items:center;margin-bottom:4px;font-size:14px;display:flex}.review-test-card p{color:var(--text-muted);font-size:13px;line-height:1.5}.relevance-tag{text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.relevance-tag.relevant{background:var(--success-light);color:var(--success)}.relevance-tag.irrelevant{background:var(--danger-light);color:var(--danger)}.ideal-tests{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.ideal-tests h4{color:var(--text-muted);margin-bottom:8px;font-size:13px}.ideal-test-pills{flex-wrap:wrap;gap:6px;display:flex}.ideal-test-pill{background:var(--primary-light);color:var(--primary);border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600}.review-teaching{margin-top:16px}.review-teaching h4{margin-bottom:8px;font-size:14px}.review-teaching ul{padding-left:20px;list-style:outside}.review-teaching li{color:var(--text-muted);margin-bottom:4px;font-size:14px;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (width<=768px){.game-layout{grid-template-columns:1fr}.vitals-grid{grid-template-columns:repeat(3,1fr)}.score-actions{flex-direction:column}.header-title{font-size:18px}.ach-grid{grid-template-columns:repeat(2,1fr)}.lb-table th:nth-child(5),.lb-table td:nth-child(5){display:none}}@media (width<=480px){.vitals-grid{grid-template-columns:repeat(2,1fr)}.ach-grid{grid-template-columns:1fr}.specialty-filter{justify-content:center}}.full-case-screen{flex-direction:column;gap:16px;max-width:1200px;margin:0 auto;display:flex}.fc-layout{gap:20px;display:flex}.fc-sidebar{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:12px;width:280px;max-height:calc(100vh - 100px);display:flex;position:sticky;top:80px}.fc-content{flex:1;min-width:0}.phase-progress-bar{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:4px;padding:12px 20px;display:flex;overflow-x:auto}.phase-step{color:var(--text-muted);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;transition:all .3s;display:flex}.phase-step.active{background:var(--primary-light);color:var(--primary);font-weight:600}.phase-step.completed{color:var(--success)}.phase-step .phase-icon{font-size:16px}.phase-connector{background:var(--border);flex-shrink:0;width:20px;height:2px}.phase-connector.completed{background:var(--success)}.vitals-monitor{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.vitals-monitor-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.vitals-monitor-header h3{color:var(--text);margin:0;font-size:14px}.game-time{color:var(--text-muted);font-family:monospace;font-size:12px}.vitals-monitor-grid{flex-direction:column;gap:8px;display:flex}.vital-gauge{background:var(--vital-bg);border-radius:8px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;display:flex}.vital-gauge .vital-label{color:var(--text-muted);font-weight:500}.vital-gauge .vital-value{font-family:monospace;font-size:14px;font-weight:700}.vital-gauge.status-normal .vital-value{color:var(--success)}.vital-gauge.status-borderline .vital-value{color:var(--warning)}.vital-gauge.status-critical .vital-value{color:var(--danger)}.narrative-log{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);max-height:300px;padding:12px;overflow-y:auto}.narrative-log h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:13px}.narrative-entry{border-bottom:1px solid var(--border);color:var(--text);padding:8px 0;font-size:13px;line-height:1.5}.narrative-entry:last-child{border-bottom:none}.narrative-time{color:var(--text-muted);margin-bottom:2px;font-family:monospace;font-size:11px;display:block}.phase-container{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.phase-header{margin-bottom:20px}.phase-header h2{color:var(--text);margin:0 0 4px}.phase-submit-btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;margin-top:24px;padding:14px 24px;font-size:16px;font-weight:600;transition:background .2s;display:block}.phase-submit-btn:hover:not(:disabled){background:var(--primary-dark)}.phase-submit-btn:disabled{cursor:not-allowed;opacity:.6;background:#b0b8c9}.submit-hint{text-align:center;color:var(--warning);margin:12px 0 0;font-size:14px;font-weight:500}.phase-nav-buttons{gap:12px;margin-top:24px;display:flex}.phase-back-btn{cursor:pointer;border:2px solid var(--border);background:var(--card-bg);color:var(--text-secondary);border-radius:10px;flex:none;padding:14px 24px;font-size:15px;font-weight:600;transition:all .2s}.phase-back-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.phase-nav-buttons .phase-submit-btn{flex:1}.arrival-info{background:var(--vital-bg);color:var(--text);border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.patient-vignette{background:var(--vital-bg);border-left:4px solid var(--primary);border-radius:8px;margin-bottom:20px;padding:16px}.patient-vignette h3{margin:0 0 8px;font-size:15px}.patient-vignette p{color:var(--text);margin:4px 0;font-size:14px;line-height:1.6}.focused-exam-section{margin-bottom:20px}.focused-exam-section h3{color:var(--text);margin:0 0 10px;font-size:15px}.exam-buttons{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.exam-btn{border:2px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:13px;transition:all .2s}.exam-btn:hover{border-color:var(--primary)}.exam-btn.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.exam-finding{background:var(--vital-bg);color:var(--text);border-left:3px solid var(--primary);border-radius:8px;margin-top:8px;padding:12px 16px;font-size:14px;line-height:1.6}.disposition-section{margin-bottom:16px}.disposition-section h3{margin:0 0 10px;font-size:15px}.disposition-options{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.disposition-btn{border:2px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);cursor:pointer;text-align:left;padding:12px 16px;font-size:14px;transition:all .2s}.disposition-btn:hover{border-color:var(--primary)}.disposition-btn.selected{border-color:var(--primary);background:var(--primary-light);font-weight:600}.acuity-selector{margin-bottom:20px}.acuity-selector h3{margin:0 0 10px;font-size:15px}.acuity-options{gap:8px;display:flex}.acuity-btn{border:2px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);cursor:pointer;text-align:center;flex:1;padding:12px 8px;font-size:13px;transition:all .2s}.acuity-btn:hover{border-color:var(--primary)}.acuity-btn.selected{font-weight:700}.acuity-btn.esi-1.selected{color:#dc2626;background:#fee2e2;border-color:#dc2626}.acuity-btn.esi-2.selected{color:#ea580c;background:#fff7ed;border-color:#ea580c}.acuity-btn.esi-3.selected{color:#92400e;background:#fef3c7;border-color:#f59e0b}.acuity-btn.esi-4.selected{color:#2563eb;background:#dbeafe;border-color:#2563eb}.acuity-btn.esi-5.selected{color:#16a34a;background:#dcfce7;border-color:#16a34a}.acuity-btn .esi-level{font-size:20px;font-weight:700;display:block}.acuity-btn .esi-label{margin-top:4px;font-size:11px;display:block}.orders-grid,.lab-imaging-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px;display:grid}.order-section{margin-bottom:16px}.order-section h3{color:var(--text);margin:0 0 10px;font-size:15px}.order-options{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.order-btn{border:2px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;padding:10px 14px;font-size:13px;transition:all .2s}.order-btn:hover{border-color:var(--primary)}.order-btn.selected{border-color:var(--primary);background:var(--primary-light)}.order-btn.none-btn{color:var(--text-muted);border-style:dashed;font-style:italic}.order-btn.none-btn.selected{border-color:var(--text-muted);background:var(--vital-bg);color:var(--text-secondary)}.order-btn small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.order-list{flex-direction:column;gap:6px;display:flex}.order-item{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--text);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-size:13px;transition:all .2s;display:flex}.order-item:hover{border-color:var(--primary)}.order-item.ordered{border-color:var(--success);background:var(--success-light)}.order-item.none-item{color:var(--text-muted);border-style:dashed;margin-bottom:8px;font-style:italic}.order-item.none-item.selected{border-color:var(--text-muted);background:var(--vital-bg);color:var(--text-secondary)}.order-meta{color:var(--text-muted);flex-shrink:0;gap:12px;font-size:12px;display:flex}.order-cost{color:var(--warning);font-weight:600}.order-time{color:var(--text-muted)}.order-feedback{background:var(--vital-bg);color:var(--text-muted);border-left:3px solid var(--primary);border-radius:8px;margin-top:8px;padding:10px 14px;font-size:13px;line-height:1.5}.lab-catalog,.imaging-catalog{flex-direction:column;gap:6px;display:flex}.lab-item,.imaging-item{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;transition:all .2s;display:flex}.lab-item:hover,.imaging-item:hover{border-color:var(--primary)}.lab-item.ordered,.imaging-item.ordered{border-color:var(--success);background:var(--success-light)}.lab-meta,.imaging-meta{color:var(--text-muted);gap:12px;font-size:12px;display:flex}.lab-cost,.imaging-cost{color:var(--warning);font-weight:600}.results-section{margin-bottom:20px}.results-section h3{margin:0 0 10px}.results-grid{flex-direction:column;gap:8px;display:flex}.abnormal-badge{color:var(--danger);text-transform:uppercase;font-size:11px;font-weight:700}.waiting-text{color:var(--text-muted);text-align:center;padding:16px;font-style:italic}.additional-tests{margin-bottom:20px}.additional-tests h3{margin:0 0 10px}.section-hint{color:var(--text-muted);margin:0 0 12px;font-size:13px}.differential-ranked{background:var(--vital-bg);border-radius:8px;margin-top:16px;padding:16px}.differential-ranked h4{color:var(--text);margin:0 0 10px;font-size:14px}.diff-ranked-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;display:flex}.diff-ranked-item:last-child{border-bottom:none}.diff-action-btn.active{background:var(--success);color:#fff;border-color:var(--success)}.results-panel{margin-bottom:20px}.results-panel h3{margin:0 0 10px}.result-card{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;margin-bottom:8px;padding:12px 16px}.result-card.abnormal{border-left:4px solid var(--danger)}.result-card.normal{border-left:4px solid var(--success)}.result-card .result-name{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.result-card .result-value{color:var(--text);margin-bottom:4px;font-family:monospace;font-size:13px}.result-card .result-interp{color:var(--text-muted);font-size:12px;line-height:1.5}.result-pending{color:var(--text-muted);padding:10px;font-size:13px;font-style:italic}.differential-section{margin-bottom:20px}.differential-section h3{margin:0 0 10px}.differential-list{flex-direction:column;gap:6px;display:flex}.diff-item{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;transition:all .2s;display:flex}.diff-item:hover{border-color:var(--primary)}.diff-item.selected{border-color:var(--primary);background:var(--primary-light)}.diff-item.primary-dx{border-color:var(--success);background:var(--success-light);font-weight:600}.diff-rank{background:var(--border);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.diff-item.selected .diff-rank{background:var(--primary);color:#fff}.diff-item.primary-dx .diff-rank{background:var(--success);color:#fff}.diff-label{color:var(--text);flex:1;font-size:14px}.diff-actions{gap:4px;display:flex}.diff-action-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--text-muted);border-radius:4px;padding:4px 8px;font-size:12px}.diff-action-btn:hover{background:var(--primary-light);color:var(--primary)}.set-primary-btn{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:8px 16px;font-size:13px;font-weight:600}.medication-picker{margin-bottom:20px}.medication-picker h3{margin:0 0 10px}.med-category{margin-bottom:16px}.med-category-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:600}.med-list{flex-direction:column;gap:6px;display:flex}.med-item{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:8px;padding:12px 16px;transition:all .2s}.med-item:hover,.med-item.expanded{border-color:var(--primary)}.med-item.prescribed{border-color:var(--success);background:var(--success-light)}.med-item-header{cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.expand-icon{color:var(--text-muted);font-size:12px}.prescribed-badge{color:var(--success);font-size:12px;font-weight:600}.prescribed-info{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;font-size:13px;display:flex}.remove-med-btn{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.consult-options{flex-direction:column;gap:6px;display:flex}.consult-btn{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--text);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;transition:all .2s;display:flex}.consult-btn:hover{border-color:var(--primary)}.consult-btn.requested{border-color:var(--success);background:var(--success-light)}.consult-btn:disabled{opacity:.6;cursor:default}.treatment-summary{background:var(--vital-bg);border-radius:8px;margin-top:20px;padding:16px}.treatment-summary h3{margin:0 0 8px;font-size:14px}.order-summary-list{margin:0;padding:0;list-style:none}.order-summary-list li{border-bottom:1px solid var(--border);color:var(--text);padding:6px 0;font-size:13px}.order-summary-list li:last-child{border-bottom:none}.med-name{color:var(--text);font-size:14px;font-weight:600}.med-required-badge{background:var(--danger-light);color:var(--danger);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.med-prescribed-badge{background:var(--success-light);color:var(--success);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.dose-selector{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.dose-options{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.dose-card{border:2px solid var(--border);background:var(--vital-bg);cursor:pointer;border-radius:8px;padding:10px 14px;transition:all .2s}.dose-card:hover{border-color:var(--primary)}.dose-card.selected{border-color:var(--primary);background:var(--primary-light)}.dose-main{color:var(--text);font-size:14px;font-weight:600}.dose-detail{color:var(--text-muted);margin-top:2px;font-size:12px}.med-info-section{background:var(--vital-bg);border-radius:8px;margin-top:10px;padding:10px;font-size:12px}.med-info-section h4{color:var(--text-muted);text-transform:uppercase;margin:0 0 4px;font-size:12px}.med-info-section ul{color:var(--text);margin:0;padding-left:16px}.med-info-section li{margin:2px 0}.consult-section{margin-bottom:20px}.consult-section h3{margin:0 0 10px}.consult-list{flex-direction:column;gap:6px;display:flex}.consult-item{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;transition:all .2s;display:flex}.consult-item:hover{border-color:var(--primary)}.consult-item.requested{border-color:var(--success);background:var(--success-light)}.urgency-badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.urgency-badge.emergent{background:var(--danger-light);color:var(--danger)}.urgency-badge.urgent{background:var(--warning-light);color:#92400e}.urgency-badge.non-urgent{background:var(--vital-bg);color:var(--text-muted)}.current-orders{background:var(--vital-bg);border-radius:var(--radius);margin-bottom:20px;padding:16px}.current-orders h3{margin:0 0 8px;font-size:14px}.current-order-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.current-order-item:last-child{border-bottom:none}.remove-order-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px}.monitoring-phase .clock-display{background:var(--vital-bg);border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.clock-display .clock-time{color:var(--primary);font-family:monospace;font-size:18px;font-weight:700}.clock-display .clock-speed{color:var(--text-muted);font-size:12px}.complication-alert{border:2px solid var(--danger);border-radius:var(--radius);background:var(--danger-light);margin-bottom:16px;padding:16px;animation:1.5s infinite pulse-border}@keyframes pulse-border{0%,to{border-color:var(--danger)}50%{border-color:#0000}}.complication-alert h3{color:var(--danger);margin:0 0 8px}.complication-alert .comp-narrative{color:var(--text);margin-bottom:12px;font-size:14px;line-height:1.6}.comp-responses{flex-direction:column;gap:8px;display:flex}.comp-response-btn{border:2px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;padding:10px 16px;font-size:14px;transition:all .2s}.comp-response-btn:hover{border-color:var(--primary)}.comp-response-btn.correct{border-color:var(--success);background:var(--success-light)}.comp-response-btn.incorrect{border-color:var(--danger);background:var(--danger-light)}.comp-feedback{border-radius:8px;margin-top:10px;padding:12px;font-size:13px;line-height:1.5}.comp-feedback.correct{background:var(--success-light);border-left:4px solid var(--success);color:var(--text)}.comp-feedback.incorrect{background:var(--danger-light);border-left:4px solid var(--danger);color:var(--text)}.followup-lab-result{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;margin-bottom:8px;padding:12px 16px}.followup-lab-result .lab-time{color:var(--text-muted);font-family:monospace;font-size:11px}.followup-lab-result .lab-name{color:var(--text);font-size:14px;font-weight:600}.followup-lab-result .lab-value{margin-top:4px;font-family:monospace;font-size:13px}.discharge-phase .los-info{color:var(--text-muted);gap:20px;margin-top:4px;font-size:14px;display:flex}.discharge-criteria{background:var(--vital-bg);border-radius:8px;margin-bottom:20px;padding:16px}.discharge-criteria h3{margin:0 0 8px;font-size:14px}.discharge-criteria ul{color:var(--text);margin:0;padding-left:20px;font-size:13px;line-height:1.8}.discharge-section{margin-bottom:20px}.discharge-section h3{color:var(--text);margin:0 0 10px;font-size:15px}.discharge-med-list{flex-direction:column;gap:6px;display:flex}.discharge-med-item{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;text-align:left;color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-size:14px;transition:all .2s;display:flex}.discharge-med-item:hover{border-color:var(--primary)}.discharge-med-item.selected{border-color:var(--success);background:var(--success-light)}.dc-med-info{flex-direction:column;gap:2px;display:flex}.dc-med-info span{color:var(--text-muted);font-size:12px}.required-badge{background:var(--danger-light);color:var(--danger);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.followup-list{flex-direction:column;gap:6px;display:flex}.followup-item{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;text-align:left;width:100%;color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;transition:all .2s;display:flex}.followup-item:hover{border-color:var(--primary)}.followup-item.selected{border-color:var(--success);background:var(--success-light)}.followup-item span{color:var(--text-muted);font-size:12px}.precaution-list,.education-list{flex-direction:column;gap:6px;display:flex}.precaution-item,.education-item{color:var(--text);cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;line-height:1.5;display:flex}.precaution-item input,.education-item input{accent-color:var(--primary);margin-top:3px}.fc-results .fc-score-breakdown{opacity:0;transition:all .5s;transform:translateY(20px)}.fc-results .fc-score-breakdown.show{opacity:1;transform:translateY(0)}.fc-score-breakdown h3{color:var(--text);margin:0 0 16px;font-size:16px}.fc-phase-score{align-items:center;gap:12px;margin-bottom:10px;display:flex}.fc-phase-info{flex-shrink:0;align-items:center;gap:8px;width:160px;display:flex}.fc-phase-icon{font-size:16px}.fc-phase-label{color:var(--text);font-size:13px}.fc-phase-bar-wrap{background:var(--vital-bg);border-radius:6px;flex:1;height:12px;overflow:hidden}.fc-phase-bar{border-radius:6px;height:100%;transition:width .8s}.fc-phase-pts{text-align:right;width:80px;color:var(--text-muted);font-family:monospace;font-size:13px}@media (width<=768px){.fc-layout{flex-direction:column}.fc-sidebar{flex-flow:wrap;width:100%;max-height:none;position:static}.fc-sidebar>*{flex:1;min-width:250px}.phase-progress-bar{padding:8px 12px}.phase-step{padding:4px 8px;font-size:12px}.phase-step .phase-label{display:none}.disposition-options,.order-options{grid-template-columns:1fr}.acuity-options{flex-wrap:wrap}.acuity-btn{min-width:60px}.fc-phase-info{width:120px}.fc-phase-pts{width:60px;font-size:12px}}
