:root{--bg-primary: #f9fafb;--bg-card: #ffffff;--bg-secondary: #f8f9fa;--bg-hover: #f3f4f6;--border: #e5e7eb;--border-secondary: #dee2e6;--border-input: #d1d5db;--text-primary: #111827;--text-heading: #1f2937;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-muted: #6c757d;--text-body: #495057;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06)}[data-theme=dark]{--bg-primary: #111827;--bg-card: #1f2937;--bg-secondary: #1f2937;--bg-hover: #374151;--border: #374151;--border-secondary: #4b5563;--border-input: #4b5563;--text-primary: #f9fafb;--text-heading: #f3f4f6;--text-secondary: #9ca3af;--text-tertiary: #6b7280;--text-muted: #9ca3af;--text-body: #d1d5db;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .2s,color .2s}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}[data-theme=dark] .approval-card,[data-theme=dark] .modal-content,[data-theme=dark] .opa-rationale,[data-theme=dark] .action-details pre{background-color:var(--bg-card);border-color:var(--border-secondary);color:var(--text-primary)}[data-theme=dark] .approval-card.urgent{background-color:#2d1515;border-color:#dc3545}[data-theme=dark] .dashboard-header h1,[data-theme=dark] .action-type,[data-theme=dark] .opa-rationale strong,[data-theme=dark] .action-details strong,[data-theme=dark] .form-label{color:var(--text-heading)}[data-theme=dark] .timestamp,[data-theme=dark] .patient-info,[data-theme=dark] .approver,[data-theme=dark] .loading,[data-theme=dark] .empty-state,[data-theme=dark] .character-count{color:var(--text-secondary)}[data-theme=dark] .opa-rationale p,[data-theme=dark] .action-details pre{color:var(--text-body)}[data-theme=dark] .tabs{border-color:var(--border-secondary)}[data-theme=dark] .tab{color:var(--text-secondary)}[data-theme=dark] .tab:hover{color:var(--text-body);background-color:var(--bg-hover)}[data-theme=dark] .tab.active{background-color:var(--bg-hover)}[data-theme=dark] .card-header,[data-theme=dark] .card-actions,[data-theme=dark] .completion-info,[data-theme=dark] .modal-footer{border-color:var(--border-secondary)}[data-theme=dark] .modal-header{background-color:#2d1515;border-color:#dc3545}[data-theme=dark] .modal-footer,[data-theme=dark] .opa-rationale,[data-theme=dark] .action-details pre{background-color:var(--bg-secondary)}[data-theme=dark] .form-textarea,[data-theme=dark] .radio-option,[data-theme=dark] .checkbox-label{background-color:var(--bg-card);border-color:var(--border-input);color:var(--text-primary)}[data-theme=dark] .radio-option:hover,[data-theme=dark] .checkbox-label:hover{background-color:var(--bg-hover);border-color:var(--border-secondary)}[data-theme=dark] .close-button{color:var(--text-secondary)}[data-theme=dark] .close-button:hover{color:var(--text-primary)}[data-theme=dark] .error-message{background-color:#2d1515;color:#f87171}[data-theme=dark] .workflow-status-badge.in-progress{background-color:#1e3a5f;color:#93c5fd}[data-theme=dark] .workflow-status-badge.awaiting-approval{background-color:#3d2e0a;color:#fcd34d}[data-theme=dark] .workflow-status-badge.completed{background-color:#0a3a2a;color:#6ee7b7}[data-theme=dark] .workflow-status-badge.cancelled{background-color:var(--bg-hover);color:var(--text-secondary)}[data-theme=dark] .workflow-card h3{color:var(--text-heading)}[data-theme=dark] .workflow-card p{color:var(--text-secondary)}[data-theme=dark] .stat-icon-blue{background-color:#1e3a5f;color:#93c5fd}[data-theme=dark] .stat-icon-yellow{background-color:#3d2e0a;color:#fcd34d}[data-theme=dark] .stat-icon-red{background-color:#2d1515;color:#f87171}[data-theme=dark] .stat-icon-green{background-color:#0a3a2a;color:#6ee7b7}.App{min-height:100vh;background-color:var(--bg-primary);transition:background-color .2s}.tab-navigation{background-color:var(--bg-card);border-bottom:1px solid var(--border);padding:0 24px;display:flex;gap:32px}.tab-button{padding:16px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:#2563eb;border-bottom-color:#2563eb}.tab-content{padding:24px}.overview-container{max-width:1200px;margin:0 auto;position:relative}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;transition:box-shadow .2s,background-color .2s}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.stat-content{display:flex;justify-content:space-between;align-items:flex-start}.stat-info{flex:1}.stat-title{color:var(--text-secondary);font-size:14px;font-weight:500;margin:0 0 12px}.stat-number{color:var(--text-primary);font-size:36px;font-weight:700;margin:0 0 8px;line-height:1}.stat-description{color:var(--text-tertiary);font-size:14px;margin:0}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-icon .icon{width:24px;height:24px}.stat-icon-blue{background-color:#dbeafe;color:#2563eb}.stat-icon-yellow{background-color:#fef3c7;color:#f59e0b}.stat-icon-red{background-color:#fee2e2;color:#ef4444}.stat-icon-green{background-color:#d1fae5;color:#10b981}.error-banner{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:24px}.loading-overlay{position:absolute;inset:0;background-color:rgba(var(--bg-card, 255, 255, 255),.8);display:flex;align-items:center;justify-content:center;border-radius:12px}[data-theme=dark] .loading-overlay{background-color:#1f2937cc}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workflow-container{background-color:var(--bg-primary);min-height:calc(100vh - 200px);transition:background-color .2s}.workflow-search-section{background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm);transition:background-color .2s}.workflow-search-container{display:flex;align-items:center;gap:16px}.workflow-search-input-wrapper{flex:1;position:relative}.workflow-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#9ca3af;width:20px;height:20px}.workflow-search-input{width:100%;padding:12px 16px 12px 48px;border:1px solid var(--border-input);border-radius:8px;font-size:16px;outline:none;background-color:var(--bg-card);color:var(--text-primary);transition:border-color .2s,box-shadow .2s,background-color .2s}.workflow-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.workflow-search-input::placeholder{color:#9ca3af}.workflow-filter-button,.workflow-refresh-button{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;border:none;white-space:nowrap}.workflow-filter-button{background-color:var(--bg-card);border:1px solid var(--border-input);color:var(--text-heading)}.workflow-filter-button:hover{background-color:var(--bg-hover)}.workflow-refresh-button{background-color:#3b82f6;color:#fff}.workflow-refresh-button:hover{background-color:#2563eb}.workflow-button-icon{width:20px;height:20px}.workflow-cards-container{display:flex;flex-direction:column;gap:16px}.workflow-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;cursor:pointer;transition:box-shadow .2s,background-color .2s}.workflow-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.workflow-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.workflow-patient-info h3{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.workflow-patient-info p{font-size:14px;color:var(--text-secondary);margin:0}.workflow-card-status-section{display:flex;align-items:center;gap:8px}.workflow-status-badge{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.025em}.workflow-status-badge.in-progress{background-color:#dbeafe;color:#1e40af}.workflow-status-badge.awaiting-approval{background-color:#fef3c7;color:#92400e}.workflow-status-badge.completed{background-color:#d1fae5;color:#065f46}.workflow-status-badge.cancelled{background-color:#f3f4f6;color:#4b5563}.workflow-chevron{width:24px;height:24px;color:#9ca3af}.workflow-card-details{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:16px}.workflow-detail-item{display:flex;flex-direction:column;gap:4px}.workflow-detail-label{font-size:13px;color:var(--text-secondary)}.workflow-detail-value{font-size:15px;font-weight:500;color:var(--text-primary)}.workflow-card-actions{padding-top:16px;border-top:1px solid var(--border)}.workflow-actions-label{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.workflow-actions-list{display:flex;gap:12px;flex-wrap:wrap}.workflow-action-tag{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--bg-hover);border-radius:8px}.workflow-action-icon{width:16px;height:16px;color:var(--text-heading)}.workflow-action-label{font-size:14px;color:var(--text-heading)}.workflow-empty-state{background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:48px;text-align:center}.workflow-empty-state p{font-size:16px;color:var(--text-secondary);margin:0}.workflow-loading-state{background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:48px;text-align:center}.workflow-loading-state p{font-size:16px;color:var(--text-secondary);margin:0}.policy-dashboard{display:flex;gap:20px;height:calc(100vh - 140px)}.policy-sidebar{width:400px;flex-shrink:0;background:var(--bg-card);border-radius:8px;border:1px solid var(--border);overflow:hidden;transition:background-color .2s}.policy-editor-panel{flex:1;min-width:0}.policy-test-panel{width:350px;flex-shrink:0;border-radius:8px;overflow:hidden}.header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background-color:var(--bg-card);border-bottom:1px solid var(--border);transition:background-color .2s,border-color .2s}.header-left{display:flex;flex-direction:column;gap:8px}.header-title{margin:0;font-size:32px;font-weight:700;color:var(--text-heading)}.header-subtitle{margin:0;font-size:16px;color:var(--text-secondary);font-weight:400}.header-right{display:flex;align-items:center;gap:24px}.header-alarm{position:relative;cursor:pointer}.alarm-icon{color:var(--text-heading);transition:color .2s}.alarm-icon:hover{color:var(--text-primary)}.alarm-badge{position:absolute;top:-2px;right:-2px;width:10px;height:10px;background-color:#ef4444;border-radius:50%;border:2px solid var(--bg-card)}.header-settings{cursor:pointer}.header-logout-btn{background:none;border:none;padding:6px;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;border-radius:6px;transition:color .2s,background-color .2s}.header-logout-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.settings-icon{color:var(--text-heading);transition:color .2s}.settings-icon:hover{color:var(--text-primary)}.header-user{display:flex;align-items:center;gap:12px}.user-avatar{width:56px;height:56px;border-radius:50%;background-color:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-size:18px;font-weight:600;color:var(--text-heading)}.user-role{font-size:14px;color:var(--text-secondary)}.nurse-name{font-size:13px;color:var(--text-secondary);margin-top:2px}.theme-toggle{display:flex;align-items:center;background-color:var(--bg-card);border:1px solid var(--border);border-radius:24px;padding:3px;gap:2px}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .2s,color .2s}.theme-toggle-btn:hover{color:var(--text-primary)}.theme-toggle-btn.active{background-color:var(--border);color:var(--text-primary)}.voice-command-bar{display:flex;align-items:center}.voice-mic-btn{background:none;border:none;padding:6px;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;border-radius:6px;transition:color .2s,background-color .2s}.voice-mic-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.voice-command-bar[data-state=listening]{display:flex;align-items:center;gap:8px;background-color:var(--bg-hover);border-radius:8px;padding:4px 10px 4px 6px;max-width:340px}.voice-mic-indicator{display:flex;align-items:center;color:#ef4444;animation:voice-pulse 1.2s ease-in-out infinite;flex-shrink:0}@keyframes voice-pulse{0%,to{opacity:1}50%{opacity:.4}}.voice-transcript{font-size:13px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.voice-confidence{font-size:11px;color:var(--text-secondary);font-weight:500;white-space:nowrap;flex-shrink:0}.voice-stop-btn{background-color:#ef4444;color:#fff;border:none;border-radius:4px;padding:3px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background-color .2s}.voice-stop-btn:hover{background-color:#dc2626}[data-theme=dark] .voice-command-bar[data-state=listening]{background-color:var(--bg-hover)}.trm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.trm-card{background:var(--bg-card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:28px 32px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.trm-header{display:flex;flex-direction:column;gap:6px}.trm-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trm-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #111827);margin:0}.trm-queue-indicator{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px;background:#fef3c7;color:#92400e;border:1px solid #f59e0b;white-space:nowrap}[data-theme=dark] .trm-queue-indicator{background:#fbbf2426;color:#fbbf24;border-color:#fbbf2466}.trm-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trm-language-badge{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:500;padding:2px 8px;border-radius:4px;background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd;white-space:nowrap}.trm-language-confidence{font-weight:400;opacity:.8}[data-theme=dark] .trm-language-badge{background:#8b5cf626;color:#a78bfa;border-color:#8b5cf659}.trm-confidence{font-size:.8rem;font-weight:500;color:var(--text-secondary, #6b7280);background:var(--bg-primary, #f3f4f6);border:1px solid var(--border, #e5e7eb);border-radius:4px;padding:2px 8px;white-space:nowrap;flex-shrink:0}.trm-warning{font-size:.85rem;color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:8px 12px;margin:0}.trm-body{min-height:80px}.trm-transcript{font-size:.95rem;color:var(--text-primary, #111827);background:var(--bg-primary, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:14px 16px;margin:0;line-height:1.6;white-space:pre-wrap;word-break:break-word}.trm-empty{color:var(--text-tertiary, #9ca3af)}.trm-textarea{width:100%;min-height:100px;font-size:.95rem;color:var(--text-primary, #111827);background:var(--bg-card, #fff);border:1px solid #2563eb;border-radius:8px;padding:12px 14px;line-height:1.6;resize:vertical;box-sizing:border-box;outline:none}.trm-textarea:focus{box-shadow:0 0 0 2px #2563eb33}.trm-intents{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem}.trm-intents-label{color:var(--text-secondary, #6b7280);font-weight:500;flex-shrink:0}.trm-intent-badge{font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:12px;white-space:nowrap}.trm-intent-badge--prescription-order{background:#dbeafe;color:#1d4ed8}.trm-intent-badge--lab-order{background:#e0e7ff;color:#4338ca}.trm-intent-badge--referral{background:#fef3c7;color:#92400e}.trm-intent-badge--follow-up{background:#d1fae5;color:#065f46}.trm-intent-badge--general-note{background:var(--bg-primary, #f3f4f6);color:var(--text-secondary, #6b7280)}.trm-footer{display:flex;gap:8px;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--border, #e5e7eb)}.trm-btn-secondary{padding:8px 16px;border:1px solid var(--border, #d1d5db);border-radius:6px;background:transparent;color:var(--text-primary, #374151);cursor:pointer;font-size:.875rem;transition:background-color .15s}.trm-btn-secondary:hover{background:var(--bg-hover, #f3f4f6)}.trm-btn-primary{padding:8px 20px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .15s}.trm-btn-primary:hover{background:#1d4ed8}[data-theme=dark] .trm-card{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .trm-textarea{background:var(--bg-primary);color:var(--text-primary);border-color:#3b82f6}.trm-btn-generate{background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;border:none;padding:8px 18px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-size:.875rem;box-shadow:0 4px 12px #6366f14d}.trm-btn-generate:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6366f166;filter:brightness(1.1)}.trm-btn-generate:active{transform:translateY(0)}.ambient-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;line-height:1;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);white-space:nowrap;transition:opacity .5s ease}.ambient-indicator--fading{opacity:0}.ambient-indicator-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.ambient-indicator--ready .ambient-indicator-dot{background:#9ca3af}.ambient-indicator--active .ambient-indicator-dot{background:#10b981;animation:ambient-pulse-green 1.5s ease-in-out infinite}.ambient-indicator--speaking .ambient-indicator-dot{background:#ef4444;animation:ambient-pulse-red .7s ease-in-out infinite}.ambient-indicator--paused .ambient-indicator-dot{background:#f59e0b}.ambient-indicator--ended .ambient-indicator-dot{background:#10b981}.ambient-indicator--reviewing .ambient-indicator-dot{background:#f59e0b;animation:ambient-pulse-amber 2s ease-in-out infinite}.ambient-indicator-spin-icon{color:#f59e0b;animation:ambient-spin 1s linear infinite;flex-shrink:0}.ambient-indicator--error{border-color:#ef4444}.ambient-indicator-error-icon{color:#ef4444;font-weight:700;flex-shrink:0}.ambient-indicator-label{color:var(--text-primary)}.ambient-indicator-transcript{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary, #6b7280);font-style:italic;font-size:11px}@keyframes ambient-pulse-green{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #10b98166}50%{opacity:.85;transform:scale(1.15);box-shadow:0 0 0 4px #10b98100}}@keyframes ambient-pulse-red{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #ef444480}50%{opacity:.8;transform:scale(1.2);box-shadow:0 0 0 4px #ef444400}}@keyframes ambient-pulse-amber{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #f59e0b66}50%{opacity:.75;transform:scale(1.15);box-shadow:0 0 0 4px #f59e0b00}}@keyframes ambient-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=dark] .ambient-indicator--active .ambient-indicator-dot{background:#34d399}[data-theme=dark] .ambient-indicator--speaking .ambient-indicator-dot{background:#f87171}[data-theme=dark] .ambient-indicator--paused .ambient-indicator-dot{background:#fbbf24}[data-theme=dark] .ambient-indicator--ended .ambient-indicator-dot{background:#34d399}[data-theme=dark] .ambient-indicator-spin-icon{color:#fbbf24}.lang-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:500;line-height:1;white-space:nowrap;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary)}.lang-badge--detected{border-color:#10b981;color:#065f46;background:#ecfdf5}.lang-badge--unknown{border-color:#f59e0b;color:#92400e;background:#fffbeb}.lang-badge--detecting{color:var(--text-secondary, #6b7280);font-style:italic}.lang-badge-pct{color:var(--text-secondary, #6b7280);font-size:11px}[data-theme=dark] .lang-badge--detected{border-color:#34d399;color:#6ee7b7;background:#064e3b}[data-theme=dark] .lang-badge--unknown{border-color:#fbbf24;color:#fde68a;background:#78350f}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.btg-modal{border:3px solid #dc3545}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #dc3545;background-color:#fff5f5}.modal-title{margin:0;font-size:1.25rem;color:#dc3545;display:flex;align-items:center;gap:.5rem}.warning-icon{font-size:1.5rem}.close-button{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;line-height:1}.close-button:hover{color:#000}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #dee2e6;background-color:#f8f9fa}.alert{padding:1rem;margin-bottom:1.5rem;border-radius:4px;border-left:4px solid}.alert-danger,.alert-error{background-color:#f8d7da;color:#721c24;border-color:#dc3545}.alert-success{background-color:#d4edda;color:#155724;border-color:#28a745}.alert strong{font-weight:600}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-label.required:after{content:" *";color:#dc3545}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:2px solid #dee2e6;border-radius:4px;cursor:pointer;transition:all .2s}.radio-option:hover{background-color:#f8f9fa;border-color:#adb5bd}.radio-option input[type=radio]{width:18px;height:18px;cursor:pointer}.radio-option input[type=radio]:checked+span{font-weight:600;color:#dc3545}.radio-option span{flex:1}.form-textarea{width:100%;padding:.75rem;border:2px solid #dee2e6;border-radius:4px;font-family:inherit;font-size:1rem;resize:vertical;transition:border-color .2s}.form-textarea:focus{outline:none;border-color:#dc3545}.character-count{font-size:.875rem;color:#6c757d;margin-top:.25rem}.valid-indicator{color:#28a745;font-weight:600}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border:2px solid #dee2e6;border-radius:4px;transition:background-color .2s}.checkbox-label:hover{background-color:#f8f9fa}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:.125rem;cursor:pointer}.checkbox-label span{flex:1}.checkbox-label span.required:after{content:" *";color:#dc3545}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-danger:disabled{background-color:#dc3545}.ml-dosage-panel{margin-top:1rem;border:1px solid #dee2e6;border-radius:6px;overflow:hidden}.ml-dosage-panel--caution{border-color:#ffc107}.ml-dosage-panel__toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;background:#f0f0f0;border:none;cursor:pointer;font-size:.875rem;font-weight:600;color:#333;text-align:left}.ml-dosage-panel--caution .ml-dosage-panel__toggle{background-color:#fff3cd;color:#664d03}.ml-dosage-panel__toggle:hover{background-color:#e2e6ea}.ml-dosage-panel--caution .ml-dosage-panel__toggle:hover{background-color:#ffe69c}.ml-dosage-panel__toggle-label{display:flex;align-items:center;gap:.5rem}.ml-dosage-panel__caution-badge{font-size:.7rem;padding:.1rem .5rem;background-color:#ffc107;color:#664d03;border-radius:4px;font-weight:700;letter-spacing:.02em}.ml-dosage-panel__cs-badge{font-size:.7rem;padding:.1rem .5rem;background-color:#cfe2ff;color:#084298;border-radius:4px;font-weight:600}.ml-dosage-panel__chevron{font-size:.65rem;color:#6c757d}.ml-dosage-panel__content{padding:.9rem 1rem .85rem;border-top:1px solid #dee2e6;background:#fff}.ml-dosage-panel--caution .ml-dosage-panel__content{border-top-color:#ffc107;background-color:#fffdf5}.ml-dosage-panel__disclaimer{font-size:.78rem;color:#6c757d;font-style:italic;margin:0 0 .9rem;padding:.4rem .6rem;background-color:#f8f9fa;border-radius:4px;border-left:3px solid #dee2e6}.ml-dosage-panel__data{display:flex;flex-direction:column;gap:.5rem}.ml-dosage-panel__bar-row{display:grid;grid-template-columns:9rem 4.5rem 1fr;align-items:center;gap:.5rem}.ml-dosage-panel__bar-label{font-size:.8rem;font-weight:600;color:#6c757d;white-space:nowrap}.ml-dosage-panel__bar-value{font-size:.85rem;color:#333;text-align:right;white-space:nowrap}.ml-dosage-panel__bar-track{display:block;height:10px;background-color:#e9ecef;border-radius:5px;overflow:hidden}.ml-dosage-panel__bar-fill{display:block;height:100%;border-radius:5px;transition:width .3s ease}.ml-dosage-panel__bar-fill--caution{background-color:#ffc107}.ml-dosage-panel__bar-fill--ok{background-color:#28a745}.ml-dosage-panel__bar-fill--reference{background-color:#a8d5b5}.ml-dosage-panel__bar-fill--confidence{background-color:#6c8ebf}.ml-dosage-panel__status{font-size:.825rem;font-weight:600;margin-top:.35rem;padding-top:.5rem;border-top:1px solid #e9ecef;color:#6c757d}.ml-dosage-panel__status--caution{color:#856404}.ml-dosage-panel__status--ok{color:#155724}.ml-dosage-panel__unavailable{font-size:.82rem;color:#6c757d;font-style:italic;margin:0}[data-theme=dark] .ml-dosage-panel{border-color:#3a3f47;background-color:#1e2227}[data-theme=dark] .ml-dosage-panel--caution{border-color:#b38a00}[data-theme=dark] .ml-dosage-panel__toggle{background-color:#252a31;color:#c9d1d9}[data-theme=dark] .ml-dosage-panel--caution .ml-dosage-panel__toggle{background-color:#2d2600;color:#e3c66b}[data-theme=dark] .ml-dosage-panel__toggle:hover{background-color:#2f353d}[data-theme=dark] .ml-dosage-panel--caution .ml-dosage-panel__toggle:hover{background-color:#3a3000}[data-theme=dark] .ml-dosage-panel__caution-badge{background-color:#b38a00;color:#fff8dc}[data-theme=dark] .ml-dosage-panel__cs-badge{background-color:#0d2a4a;color:#7eb8f7}[data-theme=dark] .ml-dosage-panel__chevron{color:#8b949e}[data-theme=dark] .ml-dosage-panel__content{background-color:#1e2227;border-top-color:#3a3f47}[data-theme=dark] .ml-dosage-panel--caution .ml-dosage-panel__content{background-color:#1a1600;border-top-color:#b38a00}[data-theme=dark] .ml-dosage-panel__disclaimer{background-color:#252a31;border-left-color:#3a3f47;color:#8b949e}[data-theme=dark] .ml-dosage-panel__bar-label{color:#8b949e}[data-theme=dark] .ml-dosage-panel__bar-value{color:#c9d1d9}[data-theme=dark] .ml-dosage-panel__bar-track{background-color:#30363d}[data-theme=dark] .ml-dosage-panel__status{color:#8b949e;border-top-color:#30363d}[data-theme=dark] .ml-dosage-panel__status--caution{color:#e3c66b}[data-theme=dark] .ml-dosage-panel__status--ok{color:#3fb950}[data-theme=dark] .ml-dosage-panel__unavailable{color:#8b949e}.em-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:16px;color:var(--text-primary)}.em-loading{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px;padding:4px 0}.em-spinner{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:#2563eb;animation:em-spin .7s linear infinite;flex-shrink:0}@keyframes em-spin{to{transform:rotate(360deg)}}.em-panel--error{background:var(--bg-card)}.em-error-msg{font-size:13px;color:var(--text-secondary);margin:0}.em-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.em-code-badge{display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:700;color:var(--text-primary)}.em-code-badge:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:#2563eb;flex-shrink:0}.em-level-pill{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:12px;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}[data-theme=dark] .em-level-pill{background:#1e3a8a;color:#93c5fd;border-color:#1d4ed8}.em-description{font-size:13px;color:var(--text-secondary);margin:0 0 12px}.em-confidence-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.em-confidence-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.em-confidence-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.em-confidence-fill{height:100%;background:#2563eb;border-radius:3px;transition:width .3s ease}.em-confidence-pct{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;flex-shrink:0;min-width:36px;text-align:right}.em-reasoning-toggle{background:none;border:none;padding:0;font-size:12px;font-weight:600;color:#2563eb;cursor:pointer;margin-bottom:6px;display:block}.em-reasoning-toggle:hover{text-decoration:underline}.em-reasoning-text{font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:0 0 12px;line-height:1.5}.em-override-row{display:flex;align-items:center;gap:8px;margin-top:4px}.em-override-label{font-size:12px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.em-override-select{font-size:13px;font-weight:600;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;outline:none;font-family:inherit}.em-override-select:focus{border-color:#2563eb}.em-override-select--active{border-color:#f59e0b;color:#f59e0b}@media(prefers-reduced-motion:reduce){.em-spinner{animation:none}.em-confidence-fill{transition:none}}.dpi-container{padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:20px}.dpi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dpi-status-text{font-weight:600;font-size:.875rem;color:var(--text-primary);display:flex;align-items:center;gap:8px}.dpi-status-text--completed{color:#10b981}.dpi-percent{font-size:.875rem;font-weight:700;color:var(--text-secondary)}.dpi-bar-bg{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:16px}.dpi-bar-fill{height:100%;background:#3b82f6;width:0%;transition:width .3s ease-out}.dpi-bar-fill--completed{background:#10b981}.dpi-nodes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.dpi-node{font-size:.75rem;color:var(--text-tertiary);display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;transition:all .2s}.dpi-node--active{color:#3b82f6;background:var(--bg-hover);font-weight:600}.dpi-node--done{color:var(--text-secondary)}.dpi-node-icon{width:14px;text-align:center}.dpi-node-duration{font-size:.7rem;color:var(--text-muted);margin-left:auto;font-variant-numeric:tabular-nums}.dpi-error{padding:16px;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;color:#991b1b;display:flex;gap:12px;margin-bottom:20px}[data-theme=dark] .dpi-error{background:#450a0a;border-color:#7f1d1d;color:#f87171}.dpi-error-text strong{display:block;font-size:.875rem}.dpi-error-text p{margin:4px 0 0;font-size:.75rem}.dpi-spinner{width:14px;height:14px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:dpi-spin .8s linear infinite}@keyframes dpi-spin{to{transform:rotate(360deg)}}.diff-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.diff-modal-content{background:var(--bg-card);width:90%;max-width:1000px;max-height:85vh;border-radius:12px;display:flex;flex-direction:column;box-shadow:var(--shadow-md);border:1px solid var(--border);overflow:hidden}.diff-modal-header{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.diff-modal-header h2{margin:0;font-size:1.25rem;color:var(--text-heading)}.diff-modal-body{padding:24px;overflow-y:auto;flex:1}.diff-section{margin-bottom:32px}.diff-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;padding-bottom:4px;border-bottom:1px solid var(--border)}.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.diff-column-header{font-size:.75rem;font-weight:600;color:var(--text-tertiary);margin-bottom:8px}.diff-value-box{padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-primary);font-size:.875rem;line-height:1.5;white-space:pre-wrap;min-height:40px}.diff-value-box.changed{border-color:#f59e0b}.diff-value-box.removed{background:#ef44440d;border-color:#fecaca;text-decoration:line-through;color:#991b1b}.diff-value-box.added{background:#10b9810d;border-color:#a7f3d0;color:#065f46}.diff-modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;background:var(--bg-secondary)}.diff-item-list{display:flex;flex-direction:column;gap:8px}.diff-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;font-size:.8125rem}.diff-item.added{background:#10b9811a;color:#065f46}.diff-item.removed{background:#ef44441a;color:#991b1b}.no-changes-msg{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic}.diagnosis-plan-panel{max-width:1200px;margin:0 auto;padding:24px;font-family:Inter,-apple-system,sans-serif;color:var(--text-primary)}.soap-layout-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;border-bottom:1px solid var(--border);padding-bottom:16px}.soap-main-title{font-size:1.875rem;font-weight:700;letter-spacing:-.025em;margin:0;color:var(--text-heading)}.soap-main-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:.875rem}.soap-header-actions{display:flex;gap:12px;align-items:center}.diagnosis-plan-panel .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:130px;white-space:nowrap;padding:8px 20px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s}.diagnosis-plan-panel .btn-primary:hover:not(:disabled){background:#1d4ed8}.diagnosis-plan-panel .btn-primary:disabled{background:#93c5fd;color:#eff6ff;cursor:not-allowed}.diagnosis-plan-panel .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:130px;white-space:nowrap;padding:8px 20px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s}.diagnosis-plan-panel .btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.diagnosis-plan-panel .btn-secondary:disabled{cursor:not-allowed;opacity:.5}[data-theme=dark] .diagnosis-plan-panel .btn-primary:disabled{background:#1e3a5f;color:#93c5fd}.soap-grid{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start}.soap-col-main{display:flex;flex-direction:column;gap:24px}.soap-card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.soap-card-header{background:var(--bg-secondary);padding:12px 20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.soap-card-body{padding:20px}.soap-field{margin-bottom:20px;transition:all .2s ease}.soap-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.soap-field-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.soap-textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--border-input);border-radius:8px;font-size:.9375rem;line-height:1.5;resize:vertical;transition:border-color .2s;background:var(--bg-card);color:var(--text-primary)}.soap-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.soap-field--dictating .soap-textarea{border-color:#ef4444;background:#ef44440d}.soap-mic-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);position:relative;transition:all .2s}.soap-mic-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.soap-mic-btn--active{background:#ef4444;color:#fff;border-color:#ef4444}.soap-mic-pulse{position:absolute;inset:-4px;border-radius:50%;background:#ef444433;animation:soap-pulse 1.5s infinite}@keyframes soap-pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.diag-list,.med-list{display:flex;flex-direction:column;gap:8px}.diag-row{display:flex;align-items:center;padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);color:var(--text-primary)}.diag-badge{background:#eef2ff;color:#4338ca;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;margin-right:12px}[data-theme=dark] .diag-badge{background:#1e3a8a;color:#93c5fd}.diag-name{flex:1;font-size:.9375rem}.diag-confidence-dot{width:8px;height:8px;border-radius:50%;background:#10b981}.btn-icon{background:var(--bg-card);border:1px solid var(--border-input);padding:6px 12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--text-primary);transition:all .2s;white-space:nowrap}.btn-icon:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.soap-sticky-summary{position:sticky;top:24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:20px}.soap-sticky-summary h3{font-size:.875rem;font-weight:700;margin:0 0 16px;text-transform:uppercase;color:var(--text-secondary)}.soap-stat-row{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:12px;color:var(--text-primary)}.soap-loading-container{text-align:center;padding:80px 0}.soap-loading-icon{width:48px;height:48px;color:#6366f1;margin-bottom:16px;animation:soap-spin 2s linear infinite}@keyframes soap-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.soap-error-card{background:#ef44440d;border:1px solid #fecaca;border-radius:12px;padding:32px;text-align:center}[data-theme=dark] .soap-error-card{border-color:#991b1b}.ml-dosage-grid{display:grid;grid-template-columns:100px 1fr 60px;gap:8px 16px;align-items:center;margin-top:12px;padding:12px;background:var(--bg-secondary);border-radius:6px}.ml-label{font-size:.75rem;color:var(--text-secondary)}.ml-bar-container{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.ml-bar{height:100%;background:#6366f1;transition:width .6s ease-out;min-width:2px}.ml-bar--predicted{background:#a855f7}.ml-bar--confidence{background:#10b981}.override-panel{margin-top:14px;padding:12px 14px;border-radius:8px;background:var(--bg-secondary, #f9fafb);border:1px solid var(--border, #e5e7eb);font-size:.8rem}.override-panel-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.override-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.override-bar-track{flex:1;height:8px;background:var(--border, #e5e7eb);border-radius:999px;overflow:hidden}.override-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.override-pct-label{font-size:.85rem;font-weight:700;color:var(--text-heading);white-space:nowrap}.override-verdict{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.override-peer-text{margin:0 0 8px;color:var(--text-secondary);font-size:.78rem}.override-reasons{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:8px}.override-reasons-label{font-size:.72rem;font-weight:600;color:var(--text-secondary)}.override-reason-tag{font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:4px;background:#ede9fe;color:#5b21b6;text-transform:uppercase;letter-spacing:.03em}.override-disclaimer{margin:0;font-size:.7rem;color:var(--text-secondary);font-style:italic}.opa-badge{padding:2px 8px;border-radius:9999px;font-size:.7rem;font-weight:700;text-transform:uppercase}.opa-badge--allow{background:#dcfce7;color:#166534}.opa-badge--require_approval{background:#fef9c3;color:#854d0e}.opa-badge--deny{background:#fee2e2;color:#991b1b}[data-theme=dark] .opa-badge--allow{background:#064e3b;color:#6ee7b7}[data-theme=dark] .opa-badge--require_approval{background:#451a03;color:#fcd34d}[data-theme=dark] .opa-badge--deny{background:#450a0a;color:#f87171}.soap-static-info{margin-bottom:12px;color:var(--text-primary);font-size:.9375rem}.shadow-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:.72rem;font-weight:600;letter-spacing:.02em;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:opacity .15s ease}.shadow-badge__icon{font-size:.8em;line-height:1}.shadow-badge__label{line-height:1}.shadow-badge--agree{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.shadow-badge--monitor{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.shadow-badge--alert{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.shadow-badge--no-data{background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}@media(prefers-color-scheme:dark){.shadow-badge--agree{background-color:#064e3b;color:#6ee7b7;border-color:#047857}.shadow-badge--monitor{background-color:#78350f;color:#fcd34d;border-color:#b45309}.shadow-badge--alert{background-color:#7f1d1d;color:#fca5a5;border-color:#b91c1c}.shadow-badge--no-data{background-color:#374151;color:#9ca3af;border-color:#4b5563}}.approval-dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{margin:0;font-size:2rem;color:#333}.tabs{display:flex;gap:0;border-bottom:2px solid #dee2e6;margin-bottom:2rem}.tab{padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;transition:all .2s}.tab:hover{color:#495057;background-color:#f8f9fa}.tab.active{color:#007bff;border-bottom-color:#007bff;background-color:#f8f9fa}.tab-content{min-height:400px}.loading,.error-message,.empty-state{padding:3rem;text-align:center;color:#6c757d;font-size:1.125rem}.error-message{color:#dc3545;background-color:#f8d7da;border-radius:4px}.approvals-list{display:flex;flex-direction:column;gap:1.5rem}.approval-card{background:#fff;border:2px solid #dee2e6;border-radius:8px;padding:1.5rem;transition:box-shadow .2s}.approval-card:hover{box-shadow:0 2px 8px #0000001a}.approval-card.urgent{border-color:#dc3545;background-color:#fff5f5}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.header-left{display:flex;align-items:center;gap:1rem}.urgency-badge{font-size:.875rem;font-weight:600;padding:.25rem .75rem;border-radius:12px;background-color:#fff3cd;color:#856404}.approval-card.urgent .urgency-badge{background-color:#f8d7da;color:#721c24}.action-type{font-weight:600;color:#333;font-size:1.125rem}.timestamp{font-size:.875rem;color:#6c757d}.patient-info{margin-bottom:1rem;color:#495057}.opa-rationale{margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:4px}.opa-rationale strong{display:block;margin-bottom:.5rem;color:#333}.opa-rationale p{margin:0;color:#495057;line-height:1.5}.reason-codes{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.reason-code{font-size:.75rem;padding:.25rem .5rem;background-color:#e7f3ff;color:#004085;border-radius:4px;font-family:monospace}.action-details{margin-bottom:1.5rem}.action-details strong{display:block;margin-bottom:.5rem;color:#fff}.action-details pre{background-color:#f8f9fa;padding:1rem;border-radius:4px;overflow-x:auto;font-size:.875rem;margin:0}.action-summary{font-size:.95rem;color:#fff;margin:0 0 .75rem;line-height:1.5}.action-detail-list{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0;padding:0}.detail-row{display:contents}.action-detail-list dt{font-weight:600;color:#a0aec0;font-size:.875rem;white-space:nowrap}.action-detail-list dd{color:#fff;font-size:.875rem;margin:0;word-break:break-word}.no-details{color:#a0aec0;font-size:.875rem;font-style:italic;margin:.25rem 0 0}.card-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-approve{background-color:#28a745;color:#fff}.btn-approve:hover{background-color:#218838}.btn-reject{background-color:#6c757d;color:#fff}.btn-reject:hover{background-color:#5a6268}.btn-btg{background-color:#dc3545;color:#fff;margin-left:auto}.btn-btg:hover{background-color:#c82333}.completion-info{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.status-badge{font-size:.875rem;font-weight:600;padding:.25rem .75rem;border-radius:12px}.status-approved{background-color:#d4edda;color:#155724}.status-rejected{background-color:#f8d7da;color:#721c24}.status-emergency{background-color:#fff3cd;color:#856404}.completion-reason{margin-top:.5rem;font-size:.875rem;line-height:1.4}.approval-notes{color:#155724}.rejection-reason{color:#721c24}.btg-reason{color:#856404}.approver{font-size:.875rem;color:#6c757d}@media(max-width:768px){.approval-dashboard{padding:1rem}.card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.card-actions{flex-direction:column}.btn-btg{margin-left:0}.tabs{overflow-x:auto}.tab{padding:.75rem 1rem;white-space:nowrap}}.shadow-mode-row{margin:6px 0 2px;display:flex;align-items:center;gap:6px;min-height:22px}.policy-list-container{display:flex;flex-direction:column;height:100%;padding:1rem}.policy-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px}.search-box{display:flex;flex:1;min-width:200px}.search-box input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:4px 0 0 4px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary)}.search-box button{padding:.5rem 1rem;background:#007bff;color:#fff;border:none;border-radius:0 4px 4px 0;cursor:pointer}.search-box button:hover{background:#0056b3}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.85rem;color:var(--text-secondary)}.filter-group select{padding:.5rem;border:1px solid var(--border);border-radius:4px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary)}.sort-order-btn,.refresh-btn{padding:.5rem;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:1rem;color:var(--text-primary)}.sort-order-btn:hover,.refresh-btn:hover{background:var(--border)}.policy-list-content{flex:1;overflow-y:auto}.policy-list{display:flex;flex-direction:column;gap:.5rem}.policy-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.policy-list-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26}.policy-list-item.selected{border-color:#007bff;background:#f0f7ff}[data-theme=dark] .policy-list-item.selected{background:#2563eb26}.policy-icon{font-size:2rem;width:50px;text-align:center}.policy-info{flex:1}.policy-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.policy-name{font-weight:600;font-size:1.1rem;color:var(--text-heading)}.status-badge{padding:.2rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:uppercase}.status-active{background:#d4edda;color:#155724}.status-draft{background:#fff3cd;color:#856404}.status-archived{background:#e2e3e5;color:#6c757d}[data-theme=dark] .status-active{background:#15572466;color:#6ee7a0}[data-theme=dark] .status-draft{background:#85640466;color:#fcd34d}[data-theme=dark] .status-archived{background:#4b556380;color:#9ca3af}.policy-description{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0;line-height:1.4}.policy-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-tertiary)}.meta-item strong{color:var(--text-secondary)}.policy-actions{display:flex;gap:.5rem}.btn-icon{padding:.5rem;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:1rem;color:var(--text-primary)}.btn-icon:hover{background:var(--bg-hover)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;border-top:1px solid var(--border)}.pagination button{padding:.5rem 1rem;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination button:disabled{background:var(--text-tertiary);cursor:not-allowed}.pagination button:hover:not(:disabled){background:#0056b3}.page-info{color:var(--text-secondary);font-size:.9rem}.loading,.empty-state,.error-message{padding:2rem;text-align:center;color:var(--text-secondary)}.error-message{color:#dc3545;background:#f8d7da;border-radius:8px}[data-theme=dark] .error-message{color:#fca5a5;background:#dc354533}.policy-editor-container{display:flex;flex-direction:column;height:100%;padding:1rem}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.editor-header h2{margin:0;color:var(--text-heading)}.editor-actions{display:flex;gap:.5rem}.editor-actions button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer}.btn-save{background:#28a745;color:#fff}.btn-save:hover{background:#218838}.btn-validate{background:#17a2b8;color:#fff}.btn-validate:hover{background:#138496}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.code-editor-wrapper{flex:1;border:1px solid var(--border);border-radius:4px;overflow:hidden}.code-editor{width:100%;height:100%;min-height:400px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:14px;padding:1rem;border:none;resize:none;background:#1e1e1e;color:#d4d4d4}.validation-results{margin-top:1rem;padding:1rem;border-radius:4px}.validation-results.valid{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.validation-results.invalid{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}[data-theme=dark] .validation-results.valid{background:#1557244d;border-color:#28a745;color:#6ee7a0}[data-theme=dark] .validation-results.invalid{background:#721c244d;border-color:#dc3545;color:#fca5a5}.validation-errors,.validation-warnings{margin-top:.5rem}.validation-errors li{color:#721c24}[data-theme=dark] .validation-errors li{color:#fca5a5}.validation-warnings li{color:#856404}[data-theme=dark] .validation-warnings li{color:#fcd34d}.metadata-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-weight:500;color:var(--text-heading)}.form-group input,.form-group textarea,.form-group select{padding:.5rem;border:1px solid var(--border);border-radius:4px;font-size:.9rem;background:var(--bg-card);color:var(--text-primary)}.form-group textarea{min-height:80px;resize:vertical}.policy-analytics{padding:16px;background:var(--bg-primary);height:100%;overflow-y:auto}.policy-analytics.loading,.policy-analytics.error{display:flex;justify-content:center;align-items:center;color:var(--text-secondary)}.policy-analytics.error{color:#dc3545}[data-theme=dark] .policy-analytics.error{color:#fca5a5}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.analytics-header h3{margin:0;font-size:16px;color:var(--text-heading)}.analytics-header select{padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--bg-card);color:var(--text-primary)}.kpi-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.kpi-card{background:var(--bg-card);padding:14px;border-radius:8px;border:1px solid var(--border);text-align:center}.kpi-card.success{border-color:#28a745;background:#f0fff0}.kpi-card.danger{border-color:#dc3545;background:#fff5f5}[data-theme=dark] .kpi-card.success{background:#28a7451f}[data-theme=dark] .kpi-card.danger{background:#dc35451f}.kpi-value{display:block;font-size:22px;font-weight:600;color:var(--text-primary)}.kpi-label{display:block;font-size:11px;color:var(--text-secondary);margin-top:4px}.chart-section{background:var(--bg-card);padding:14px;border-radius:8px;border:1px solid var(--border);margin-bottom:16px}.chart-section h4{margin:0 0 12px;font-size:13px;color:var(--text-heading)}.trend-chart{display:flex;align-items:flex-end;height:120px;gap:2px;padding:4px 0;border-bottom:1px solid var(--border)}.trend-bar-group{flex:1;display:flex;gap:1px;align-items:flex-end;height:100%}.trend-bar{flex:1;min-height:2px;border-radius:2px 2px 0 0;transition:height .2s}.trend-bar.allow{background:#28a745}.trend-bar.deny{background:#dc3545}.trend-bar.approval{background:#ffc107}.chart-legend{display:flex;gap:16px;margin-top:8px;font-size:11px;color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:4px}.dot{width:8px;height:8px;border-radius:50%}.dot.allow{background:#28a745}.dot.deny{background:#dc3545}.dot.approval{background:#ffc107}.denial-reasons{display:flex;flex-direction:column;gap:8px}.denial-reasons .empty{color:var(--text-tertiary);font-size:13px;text-align:center;padding:20px}.reason-row{display:flex;align-items:center;gap:10px}.reason-text{flex:0 0 120px;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reason-bar-container{flex:1;height:16px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.reason-bar{height:100%;background:#dc3545;border-radius:4px;transition:width .2s}.reason-count{flex:0 0 40px;font-size:12px;font-weight:600;color:var(--text-primary);text-align:right}.version-history{display:flex;flex-direction:column;height:100%;background:#252526;color:#fff;padding:12px;overflow-y:auto}.version-history.loading,.version-history.error{justify-content:center;align-items:center;color:#888}.version-history.error{color:#e74c4c}.version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #3c3c3c}.version-header h3{margin:0;font-size:14px;font-weight:600}.btn-compare{padding:6px 12px;background:#0078d4;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-compare:hover{background:#106ebe}.empty{color:#888;text-align:center;padding:20px}.version-timeline{display:flex;flex-direction:column}.version-item{display:flex;gap:12px;padding:8px 0}.version-item.selected .version-content{background:#0d3a58;border-color:#0078d4}.version-item.current .version-content{border-left:3px solid #4ec94e}.version-marker{display:flex;flex-direction:column;align-items:center;width:20px}.version-marker input[type=checkbox]{cursor:pointer}.timeline-line{flex:1;width:2px;background:#3c3c3c;margin-top:4px}.version-content{flex:1;padding:10px;background:#2d2d2d;border:1px solid #3c3c3c;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s}.version-content:hover{background:#333;border-color:#555}.version-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.version-number{font-weight:600;font-size:13px}.current-badge{padding:2px 6px;background:#4ec94e;color:#000;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase}.version-meta{display:flex;gap:12px;font-size:11px;color:#888}.commit-message{margin:8px 0 0;font-size:12px;color:#aaa;line-height:1.4}.version-actions{display:flex;align-items:flex-start}.btn-rollback{padding:4px 8px;background:transparent;color:#ffc107;border:1px solid #ffc107;border-radius:4px;cursor:pointer;font-size:11px}.btn-rollback:hover{background:#ffc107;color:#000}.policy-diff{display:flex;flex-direction:column;height:100%;background:#1e1e1e;color:#fff}.diff-header{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#252526;border-bottom:1px solid #3c3c3c}.diff-info{display:flex;align-items:center;gap:16px;font-size:13px}.diff-stats{display:flex;gap:8px;font-family:monospace}.diff-stats .added{color:#4ec94e}.diff-stats .removed{color:#e74c4c}.btn-close{padding:6px 12px;background:#3c3c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.btn-close:hover{background:#555}.diff-container{display:flex;flex:1;overflow:hidden}.diff-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #3c3c3c}.diff-pane:last-child{border-right:none}.pane-header{padding:8px 12px;background:#2d2d2d;border-bottom:1px solid #3c3c3c;font-size:12px;color:#888}.diff-content{flex:1;margin:0;padding:0;overflow:auto;font-family:Fira Code,Monaco,monospace;font-size:13px;line-height:1.5}.diff-line{display:flex;padding:0 8px;min-height:20px}.diff-line.added{background:#4ec94e26}.diff-line.removed{background:#e74c4c26}.line-number{width:40px;padding-right:12px;color:#555;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0}.line-content{flex:1;white-space:pre}.error{color:#e74c4c}.rule-builder{display:flex;flex-direction:column;gap:0;background:var(--bg-primary);height:100%;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.rule-builder-header{background:var(--bg-card);padding:20px 24px 16px;border-bottom:1px solid var(--border)}.rule-builder-title{display:flex;align-items:center;gap:10px;margin-bottom:4px}.rule-builder-title h2{margin:0;font-size:18px;font-weight:600;color:var(--text-heading)}.rule-builder-description{margin:4px 0 0;font-size:13px;color:var(--text-secondary);line-height:1.4}.status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.4px}.status-badge.status-active{background:#d1fae5;color:#065f46}.status-badge.status-draft{background:#fef3c7;color:#92400e}.status-badge.status-archived{background:#f3f4f6;color:#6b7280}[data-theme=dark] .status-badge.status-active{background:#065f4666;color:#6ee7b7}[data-theme=dark] .status-badge.status-draft{background:#92400e66;color:#fcd34d}[data-theme=dark] .status-badge.status-archived{background:#4b556366;color:#9ca3af}.rule-sections{display:flex;flex-direction:column;gap:0;padding:16px 24px;flex:1}.rule-section{margin-bottom:20px;border-radius:10px;overflow:hidden;border:1.5px solid transparent}.rule-section.outcome-deny{border-color:#fecaca}.rule-section.outcome-warn{border-color:#fde68a}.rule-section.outcome-approval{border-color:#bfdbfe}.rule-section.outcome-allow{border-color:#a7f3d0}[data-theme=dark] .rule-section.outcome-deny{border-color:#b91c1c}[data-theme=dark] .rule-section.outcome-warn{border-color:#b45309}[data-theme=dark] .rule-section.outcome-approval{border-color:#1d4ed8}[data-theme=dark] .rule-section.outcome-allow{border-color:#047857}.rule-section-header{display:flex;align-items:center;gap:10px;padding:10px 16px}.outcome-deny .rule-section-header{background:#fff5f5}.outcome-warn .rule-section-header{background:#fffbeb}.outcome-approval .rule-section-header{background:#eff6ff}.outcome-allow .rule-section-header{background:#f0fdf4}[data-theme=dark] .outcome-deny .rule-section-header{background:#b91c1c33}[data-theme=dark] .outcome-warn .rule-section-header{background:#b4530933}[data-theme=dark] .outcome-approval .rule-section-header{background:#1d4ed833}[data-theme=dark] .outcome-allow .rule-section-header{background:#04785733}.rule-section-icon{font-size:18px;line-height:1}.rule-section-label{display:block;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.outcome-deny .rule-section-label{color:#b91c1c}.outcome-warn .rule-section-label{color:#b45309}.outcome-approval .rule-section-label{color:#1d4ed8}.outcome-allow .rule-section-label{color:#047857}[data-theme=dark] .outcome-deny .rule-section-label{color:#fca5a5}[data-theme=dark] .outcome-warn .rule-section-label{color:#fcd34d}[data-theme=dark] .outcome-approval .rule-section-label{color:#93c5fd}[data-theme=dark] .outcome-allow .rule-section-label{color:#6ee7b7}.rule-section-summary{display:block;font-size:12px;color:var(--text-secondary);margin-top:1px}.rule-cards{background:var(--bg-card);display:flex;flex-direction:column}.rule-card{padding:14px 16px;border-bottom:1px solid var(--border);transition:background .15s}.rule-card:last-child{border-bottom:none}.rule-card.rule-enabled{background:var(--bg-card)}.rule-card.rule-disabled{background:var(--bg-secondary);opacity:.75}.rule-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.rule-card-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.rule-card-label{font-size:14px;font-weight:600;color:var(--text-heading);line-height:1.3}.rule-card-description{font-size:13px;color:var(--text-secondary);line-height:1.4}.rule-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}.toggle-track{width:40px;height:22px;border-radius:11px;position:relative;display:inline-block;transition:background .2s}.toggle-on .toggle-track{background:#2563eb}.toggle-off .toggle-track{background:#d1d5db}[data-theme=dark] .toggle-off .toggle-track{background:#4b5563}.toggle-thumb{position:absolute;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:left .2s}.toggle-on .toggle-thumb{left:21px}.toggle-off .toggle-thumb{left:3px}.toggle-label{font-size:12px;font-weight:600;min-width:22px;text-align:left}.toggle-on .toggle-label{color:#2563eb}.toggle-off .toggle-label{color:#9ca3af}.rule-params{margin-top:12px;padding:12px 14px;background:var(--bg-secondary);border-radius:8px;display:flex;flex-direction:column;gap:10px}.rule-param-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--text-primary)}.rule-param-label{flex:1;font-weight:500}.rule-param-input-wrap{display:flex;align-items:center;gap:6px}.rule-param-input{width:72px;padding:5px 8px;border:1.5px solid var(--border-input);border-radius:6px;font-size:14px;font-weight:600;color:var(--text-primary);text-align:center;background:var(--bg-card);transition:border-color .15s}.rule-param-input:focus{outline:none;border-color:#2563eb}.rule-param-unit{font-size:12px;color:var(--text-secondary);font-weight:500}.rule-summary{margin:0 24px 20px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:10px;padding:16px 18px}.rule-summary-empty{background:#fffbeb;border-color:#fde68a;color:#92400e;font-size:13px}[data-theme=dark] .rule-summary-empty{background:#b4530933;border-color:#b45309;color:#fcd34d}.rule-summary-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 10px}.rule-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.summary-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;color:var(--text-primary);padding:6px 10px;border-radius:6px}.summary-item.summary-deny{background:#fff5f5}.summary-item.summary-warn{background:#fffbeb}.summary-item.summary-require_approval{background:#eff6ff}.summary-item.summary-allow{background:#f0fdf4}[data-theme=dark] .summary-item.summary-deny{background:#b91c1c33}[data-theme=dark] .summary-item.summary-warn{background:#b4530933}[data-theme=dark] .summary-item.summary-require_approval{background:#1d4ed833}[data-theme=dark] .summary-item.summary-allow{background:#04785733}.summary-icon{font-size:14px;flex-shrink:0;margin-top:1px}.summary-param{color:var(--text-secondary);font-size:12px}.rule-builder-actions{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 20px;background:var(--bg-card);border-top:1px solid var(--border);gap:12px}.rule-actions-left{display:flex;align-items:center;gap:10px}.btn-save-rules{padding:9px 20px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.btn-save-rules:hover:not(:disabled){background:#1d4ed8}.btn-save-rules:disabled{opacity:.5;cursor:default}.unsaved-indicator{font-size:12px;color:#d97706;font-weight:500}.btn-advanced{padding:8px 14px;background:none;border:1.5px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;font-weight:500;transition:border-color .15s,color .15s}.btn-advanced:hover{border-color:var(--text-tertiary);color:var(--text-primary)}.rule-builder-error{margin:0 24px 16px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:13px;color:#b91c1c}[data-theme=dark] .rule-builder-error{background:#b91c1c33;border-color:#b91c1c;color:#fca5a5}.rule-builder-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100%;padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.btn-switch-code{padding:9px 18px;background:none;border:1.5px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-primary);cursor:pointer;font-weight:500}.btn-switch-code:hover{border-color:#2563eb;color:#2563eb}.rego-editor-container{display:flex;flex-direction:column;height:100%;background:#1e1e1e;border-radius:8px;overflow:hidden}.rego-editor-container.empty{justify-content:center;align-items:center;color:#888}.view-mode-toggle{display:flex;gap:0;padding:10px 16px;background:#2d2d2d;border-bottom:1px solid #3e3e3e;flex-shrink:0}.view-mode-btn{padding:6px 16px;background:none;border:1.5px solid #555;color:#aaa;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.view-mode-btn:first-child{border-radius:6px 0 0 6px;border-right:none}.view-mode-btn:last-child{border-radius:0 6px 6px 0}.view-mode-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.view-mode-btn:not(.active):hover{border-color:#888;color:#ddd}.metadata-panel{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#252526;border-bottom:1px solid #3c3c3c}.metadata-field{display:flex;flex-direction:column;gap:4px}.metadata-field.full-width{flex:1 1 100%}.metadata-field label{font-size:11px;color:#888;text-transform:uppercase}.metadata-field input,.metadata-field select,.metadata-field textarea{padding:6px 8px;background:#3c3c3c;border:1px solid #555;border-radius:4px;color:#fff;font-size:13px}.metadata-field input:focus,.metadata-field select:focus,.metadata-field textarea:focus{outline:none;border-color:#0078d4}.metadata-field textarea{resize:vertical;min-height:40px}.editor-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#333;border-bottom:1px solid #3c3c3c}.editor-toolbar button{padding:6px 12px;background:#0078d4;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.editor-toolbar button:hover:not(:disabled){background:#106ebe}.editor-toolbar button:disabled{opacity:.5;cursor:not-allowed}.unsaved-indicator{color:gold;font-size:12px;margin-left:auto}.validation-results{padding:8px 12px;font-size:13px}.validation-results.valid{background:#1e3a1e;color:#4ec94e}.validation-results.invalid{background:#3a1e1e;color:#e74c4c}.validation-success{display:flex;align-items:center;gap:6px}.validation-errors .error-item,.validation-warnings .warning-item{padding:4px 0;font-family:monospace}.validation-warnings{margin-top:8px;color:#ffc107}.error-message{padding:8px 12px;background:#3a1e1e;color:#e74c4c;font-size:13px}.editor-main{display:flex;flex:1;min-height:400px;overflow:hidden}.editor-wrapper{flex:1;min-height:400px}.editor-wrapper .loading{display:flex;justify-content:center;align-items:center;height:100%;color:#888}.history-panel{width:320px;flex-shrink:0;border-left:1px solid #3c3c3c}.editor-toolbar button.active{background:#106ebe}.diff-modal{position:fixed;inset:0;background:#000c;z-index:1000;padding:40px}.rollback-modal{position:fixed;inset:0;background:#000000b3;z-index:1001;display:flex;justify-content:center;align-items:center}.rollback-dialog{background:#252526;border:1px solid #3c3c3c;border-radius:8px;padding:20px;width:400px}.rollback-dialog h3{margin:0 0 12px;color:#fff}.rollback-dialog p{color:#aaa;font-size:13px;margin:0 0 12px}.rollback-dialog textarea{width:100%;padding:8px;background:#3c3c3c;border:1px solid #555;border-radius:4px;color:#fff;font-size:13px;resize:vertical}.rollback-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.rollback-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px}.rollback-actions button:first-child{background:#3c3c3c;color:#fff}.rollback-actions .btn-confirm{background:#ffc107;color:#000}.rollback-actions .btn-confirm:disabled{opacity:.5;cursor:not-allowed}.test-sandbox{display:flex;flex-direction:column;height:100%;background:#252526;color:#fff}.sandbox-header{padding:12px;border-bottom:1px solid #3c3c3c}.sandbox-header h3{margin:0;font-size:14px}.sandbox-content{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.input-section label{display:block;font-size:12px;color:#888;margin-bottom:6px}.input-section textarea{width:100%;height:150px;padding:10px;background:#1e1e1e;border:1px solid #3c3c3c;border-radius:4px;color:#d4d4d4;font-family:monospace;font-size:13px;resize:vertical}.input-actions{display:flex;gap:8px;margin-top:8px}.input-actions button{padding:6px 12px;background:#0078d4;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.input-actions button:hover:not(:disabled){background:#106ebe}.input-actions button:disabled{opacity:.5;cursor:not-allowed}.save-form{display:flex;gap:8px}.save-form input{flex:1;padding:6px 10px;background:#3c3c3c;border:1px solid #555;border-radius:4px;color:#fff;font-size:13px}.save-form button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px}.save-form button:first-of-type{background:#4ec94e;color:#000}.save-form button:last-of-type{background:#3c3c3c;color:#fff}.error{padding:10px;background:#3a1e1e;border-radius:4px;color:#e74c4c;font-size:13px}.result{padding:12px;border-radius:4px;font-size:13px}.result.allow{background:#1e3a1e;border:1px solid #4ec94e}.result.deny{background:#3a1e1e;border:1px solid #e74c4c}.result.require_approval{background:#3a3a1e;border:1px solid #ffc107}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.result .decision{font-weight:600}.result .time{color:#888;font-size:11px}.result .reasons{font-size:12px;color:#aaa}.scenarios h4{margin:0 0 8px;font-size:12px;color:#888}.scenario-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#2d2d2d;border-radius:4px;margin-bottom:4px}.scenario-item span{cursor:pointer;font-size:13px}.scenario-item span:hover{color:#0078d4}.scenario-item button{padding:2px 6px;background:transparent;border:none;color:#888;cursor:pointer;font-size:12px}.scenario-item button:hover{color:#e74c4c}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:var(--shadow-md)}.login-title{margin:0 0 4px;font-size:22px;font-weight:700;color:var(--text-heading)}.login-subtitle{margin:0 0 28px;font-size:14px;color:var(--text-secondary)}.login-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.login-field label{font-size:14px;font-weight:500;color:var(--text-heading)}.login-field input{padding:10px 12px;border:1px solid var(--border-input);border-radius:8px;font-size:15px;background-color:var(--bg-card);color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s}.login-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.login-field input:disabled{opacity:.6;cursor:not-allowed}.login-password-wrapper{position:relative;display:flex;align-items:center}.login-password-wrapper input{width:100%;padding-right:42px}.login-eye-btn{position:absolute;right:10px;background:none;border:none;padding:0;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;transition:color .2s}.login-eye-btn:hover{color:var(--text-secondary)}.login-error{margin:0 0 16px;padding:10px 12px;background-color:#fee2e2;color:#991b1b;border-radius:6px;font-size:14px}[data-theme=dark] .login-error{background-color:#2d1515;color:#f87171}.login-btn{width:100%;padding:11px;background-color:#2563eb;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s}.login-btn:hover:not(:disabled){background-color:#1d4ed8}.login-btn:disabled{opacity:.6;cursor:not-allowed}.biometric-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.biometric-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 20px;background:var(--bg-card);color:var(--text-primary);border:1.5px solid var(--border);border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.biometric-btn:hover:not(:disabled){border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.biometric-btn:disabled{opacity:.6;cursor:not-allowed}.biometric-icon{flex-shrink:0;color:#6366f1}.biometric-error{font-size:13px;color:#ef4444;margin:0;text-align:center}.biometric-fallback-btn{background:none;border:none;color:var(--text-muted, #6b7280);font-size:13px;cursor:pointer;text-align:center;padding:4px;text-decoration:underline}.biometric-fallback-btn:hover{color:var(--text-primary)}.biometric-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-muted, #9ca3af);font-size:13px}.biometric-divider:before,.biometric-divider:after{content:"";flex:1;height:1px;background:var(--border)}.enroll-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200}.enroll-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:32px;width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}.enroll-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.enroll-body{font-size:14px;color:var(--text-muted, #6b7280);margin:0}.enroll-error{font-size:13px;color:#ef4444;margin:0}.enroll-success{font-size:15px;font-weight:500;color:#16a34a;text-align:center;padding:8px 0;margin:0}.enroll-actions{display:flex;flex-direction:column;gap:8px}.enroll-btn{width:100%;padding:11px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:opacity .15s,background .15s,border-color .15s}.enroll-btn:disabled{opacity:.6;cursor:not-allowed}.enroll-btn-primary{background:#6366f1;color:#fff}.enroll-btn-primary:hover:not(:disabled){background:#4f46e5}.enroll-btn-secondary{background:none;border:1.5px solid var(--border);color:var(--text-muted, #6b7280)}.enroll-btn-secondary:hover:not(:disabled){border-color:var(--text-muted, #6b7280);color:var(--text-primary)}.consent-disclosures{font-size:13px;color:var(--text-muted, #6b7280);margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px}.consent-check-label{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer}.consent-check-label input[type=checkbox]{margin-top:2px;flex-shrink:0}.challenge-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #f9fafb)}.challenge-card{background:var(--bg-card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:40px 32px;width:100%;max-width:380px}.challenge-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #111827);margin:0 0 8px}.challenge-subtitle{font-size:.875rem;color:var(--text-primary, #6b7280);margin:0 0 24px}.challenge-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary, #374151);margin-bottom:6px}.challenge-input{width:100%;padding:12px;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:1.5rem;letter-spacing:.35em;text-align:center;background:var(--bg-card, #fff);color:var(--text-primary, #111827);box-sizing:border-box;margin-bottom:8px}.challenge-error{font-size:.8rem;color:#dc2626;margin:0 0 8px}.challenge-btn{width:100%;padding:11px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;margin-bottom:16px}.challenge-btn:disabled{opacity:.5;cursor:not-allowed}.challenge-backup-link{display:block;text-align:center;font-size:.8rem;color:#2563eb;text-decoration:none}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:var(--bg-card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:32px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #111827);margin:0 0 12px}.backup-warning{font-size:.875rem;color:var(--text-primary, #374151);background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:10px 12px;margin-bottom:20px}.backup-codes-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;margin:0 0 20px}.backup-code{font-family:monospace;font-size:.9rem;background:var(--bg-primary, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:6px;padding:8px 12px;text-align:center}.backup-actions{display:flex;gap:8px;margin-bottom:12px}.btn-secondary{flex:1;padding:8px 12px;border:1px solid var(--border, #d1d5db);border-radius:6px;background:transparent;color:var(--text-primary, #374151);cursor:pointer;font-size:.875rem}.btn-primary{width:100%;padding:10px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}@media print{.modal-overlay{position:static;background:none}.modal-card{border:none;padding:0;max-height:none}.backup-actions,.btn-primary{display:none}}.enroll-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #f9fafb)}.enroll-card{background:var(--bg-card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:40px 32px;width:100%;max-width:420px}.enroll-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #111827);margin:0 0 8px}.enroll-subtitle{font-size:.875rem;color:var(--text-primary, #6b7280);margin:0 0 24px}.enroll-qr-wrapper{display:flex;justify-content:center;margin-bottom:24px}.enroll-qr{width:180px;height:180px;border:1px solid var(--border, #e5e7eb);border-radius:8px}.enroll-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary, #374151);margin-bottom:6px}.enroll-input{width:100%;padding:12px;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:1.5rem;letter-spacing:.35em;text-align:center;background:var(--bg-card, #fff);color:var(--text-primary, #111827);box-sizing:border-box;margin-bottom:8px}.enroll-error{font-size:.8rem;color:#dc2626;margin:0 0 8px}.enroll-btn{width:100%;padding:11px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;margin-top:8px}.enroll-btn:disabled{opacity:.5;cursor:not-allowed}.mfa-status{text-align:center;color:var(--text-primary, #6b7280);padding:24px 0}.mfa-instruction{font-size:.875rem;color:var(--text-primary, #374151);margin-bottom:16px}.mfa-qr-wrapper{display:flex;justify-content:center;margin-bottom:16px}.mfa-qr{width:180px;height:180px;border:1px solid var(--border, #e5e7eb);border-radius:8px}.mfa-manual{font-size:.8rem;color:var(--text-primary, #6b7280);margin-bottom:16px}.mfa-key{display:block;font-family:monospace;font-size:.85rem;word-break:break-all;background:var(--bg-primary, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:4px;padding:6px 8px;margin-top:4px}.mfa-form{display:flex;flex-direction:column;gap:8px}.mfa-label{font-size:.875rem;font-weight:500;color:var(--text-primary, #374151)}.mfa-code-input{padding:10px 12px;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:1.25rem;letter-spacing:.25em;text-align:center;background:var(--bg-card, #fff);color:var(--text-primary, #111827)}.mfa-error{font-size:.8rem;color:#dc2626;margin:0}.mfa-footer{display:flex;gap:8px;margin-top:4px}.mfa-footer .btn-secondary{flex:1}.mfa-footer .btn-primary{flex:2}.bio-devices{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.bio-devices-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.bio-devices-loading,.bio-devices-empty{font-size:14px;color:var(--text-muted, #6b7280)}.bio-devices-error{font-size:13px;color:#ef4444;margin:0 0 12px}.bio-devices-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bio-device-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;gap:8px}.bio-device-info{display:flex;flex-direction:column;gap:2px;flex:1}.bio-device-name{font-size:14px;font-weight:500;color:var(--text-primary)}.bio-device-attachment{display:inline-block;font-size:11px;font-weight:500;padding:1px 7px;border-radius:10px;width:fit-content}.bio-device-attachment--platform{background:#ede9fe;color:#6d28d9}.bio-device-attachment--cross-platform{background:#fef3c7;color:#92400e}.bio-device-meta{font-size:12px;color:var(--text-muted, #6b7280)}.bio-device-actions{display:flex;gap:6px}.bio-device-btn{padding:5px 12px;font-size:12px;border:1.5px solid var(--border);border-radius:6px;background:none;color:var(--text-primary);cursor:pointer;transition:border-color .15s,color .15s}.bio-device-btn:hover{border-color:#6366f1;color:#6366f1}.bio-device-btn-danger:hover{border-color:#ef4444;color:#ef4444}.bio-device-btn-cancel:hover{border-color:var(--text-muted, #6b7280);color:var(--text-muted, #6b7280)}.bio-device-rename{display:flex;align-items:center;gap:6px;flex:1}.bio-device-rename-input{flex:1;padding:5px 10px;font-size:14px;border:1.5px solid #6366f1;border-radius:6px;background:var(--bg-card);color:var(--text-primary);outline:none}.mfa-settings-loading{padding:24px;color:var(--text-secondary, #6b7280)}.mfa-settings{padding:24px;max-width:480px}.mfa-settings-title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #111827);margin:0 0 8px}.mfa-settings-status{font-size:.9rem;color:var(--text-primary, #374151);margin:0 0 20px}.mfa-settings-actions{display:flex;gap:12px;flex-wrap:wrap}.mfa-btn{padding:9px 18px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer}.mfa-btn:disabled{opacity:.5;cursor:not-allowed}.mfa-btn-primary{background:#2563eb;color:#fff}.mfa-btn-secondary{background:var(--bg-card, #f3f4f6);color:var(--text-primary, #374151);border:1px solid var(--border, #d1d5db)}.mfa-btn-danger{background:#dc2626;color:#fff}.mfa-confirm-form{margin-top:16px;display:flex;flex-direction:column;gap:10px;max-width:320px}.mfa-confirm-label{font-size:.875rem;font-weight:500;color:var(--text-primary, #374151)}.mfa-confirm-input{padding:10px;border:1px solid var(--border, #d1d5db);border-radius:6px;font-size:1.25rem;letter-spacing:.3em;text-align:center;background:var(--bg-card, #fff);color:var(--text-primary, #111827)}.mfa-confirm-error{font-size:.8rem;color:#dc2626;margin:0}.mfa-confirm-btns{display:flex;gap:10px}.mfa-admin{padding:28px 32px;max-width:1100px;margin:0 auto}.mfa-admin-header{margin-bottom:24px}.mfa-admin-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.mfa-admin-subtitle{font-size:14px;color:var(--text-muted, #6b7280);margin:0}.mfa-admin-summary{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.mfa-admin-summary-card{flex:1 1 140px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 20px;min-width:120px}.mfa-admin-summary-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1}.mfa-admin-summary-label{font-size:13px;color:var(--text-muted, #6b7280);margin-top:4px}.mfa-admin-summary-sub{font-size:12px;color:#6366f1;margin-top:2px;font-weight:600}.mfa-admin-controls{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.mfa-admin-search{flex:1 1 260px;padding:9px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px}.mfa-admin-search:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.mfa-admin-filter{padding:9px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px;cursor:pointer}.mfa-admin-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.mfa-admin-table{width:100%;border-collapse:collapse;font-size:14px}.mfa-admin-table thead{background:var(--bg-primary, #f9fafb)}.mfa-admin-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-secondary, #374151);border-bottom:1px solid var(--border);white-space:nowrap}.mfa-admin-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-primary)}.mfa-admin-table tbody tr:last-child td{border-bottom:none}.mfa-admin-table tbody tr:hover{background:var(--bg-primary, #f9fafb)}.mfa-admin-loading,.mfa-admin-empty{text-align:center;color:var(--text-muted, #9ca3af);padding:40px!important}.mfa-admin-user-name{font-weight:600}.mfa-admin-user-email{font-size:12px;color:var(--text-muted, #6b7280);margin-top:2px}.mfa-admin-role{font-size:12px;background:var(--bg-primary, #f3f4f6);border-radius:6px;padding:3px 8px;color:var(--text-secondary, #374151);text-transform:capitalize}.mfa-admin-pill{display:inline-block;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.mfa-admin-pill--on{background:#d1fae5;color:#065f46}.mfa-admin-pill--off{background:#fee2e2;color:#991b1b}.mfa-admin-bio-count--active{color:#6366f1;font-weight:600}.mfa-admin-bio-count--none{color:var(--text-muted, #9ca3af)}.mfa-admin-last-method{font-size:13px;color:var(--text-secondary, #374151);text-transform:capitalize}.mfa-admin-locked{display:inline-block;background:#fee2e2;color:#991b1b;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600}.mfa-admin-active{color:#059669;font-size:13px}.mfa-admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.mfa-admin-page-btn{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .15s}.mfa-admin-page-btn:hover:not(:disabled){background:var(--bg-primary, #f3f4f6)}.mfa-admin-page-btn:disabled{opacity:.4;cursor:not-allowed}.mfa-admin-page-info{font-size:13px;color:var(--text-muted, #6b7280)}.mfa-admin-error{color:#ef4444;font-size:14px;margin:0 0 16px}[data-theme=dark] .mfa-admin-pill--on{background:#064e3b;color:#a7f3d0}[data-theme=dark] .mfa-admin-pill--off,[data-theme=dark] .mfa-admin-locked{background:#7f1d1d;color:#fecaca}[data-theme=dark] .mfa-admin-role{background:#374151;color:#d1d5db}[data-theme=dark] .mfa-admin-table thead{background:#111827}[data-theme=dark] .mfa-admin-table tbody tr:hover{background:#1f2937}.pre-encounter{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-primary, #f9fafb)}.pre-encounter-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--bg-card, #fff);border-bottom:1px solid var(--border, #e5e7eb);flex-shrink:0}.pre-encounter-back{background:transparent;border:1px solid var(--border, #e5e7eb);border-radius:6px;padding:6px 12px;font-size:13px;color:var(--text-secondary, #6b7280);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.pre-encounter-back:hover{background:var(--bg-primary, #f9fafb)}.pre-encounter-patient-info{display:flex;align-items:baseline;gap:10px;min-width:0}.pre-encounter-patient-name{font-size:1.25rem;font-weight:700;color:var(--text-primary, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pre-encounter-patient-id{font-size:.875rem;color:var(--text-secondary, #6b7280);white-space:nowrap;flex-shrink:0}.pre-encounter-content{flex:1;overflow-y:auto;padding:24px 24px 160px;max-width:900px;margin:0 auto;width:100%;box-sizing:border-box}.pre-encounter-feed{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.pep-feed-card{background:var(--bg-card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:14px 16px;font-size:14px}.pep-feed-card--qa{border-left:3px solid #2563eb}.pep-feed-question{font-weight:600;color:var(--text-primary, #111827);margin:0 0 6px}.pep-feed-answer{color:var(--text-primary, #111827);margin:0 0 4px}.pep-feed-source{font-size:12px;color:var(--text-secondary, #6b7280);margin:0}.pep-feed-card--note{border-left:3px solid #10b981}.pep-feed-note-text{color:var(--text-primary, #111827);margin:0 0 6px}.pep-feed-note-status{font-size:12px;font-weight:500}.pep-feed-note-status--saving{color:var(--text-secondary, #6b7280)}.pep-feed-note-status--saved{color:#10b981}.pep-feed-note-status--error{color:#ef4444}.pep-feed-card--nav{border-left:3px solid #f59e0b;color:var(--text-secondary, #6b7280);font-style:italic}.qro-overlay{position:fixed;bottom:130px;left:50%;transform:translate(-50%);width:min(380px,calc(100vw - 32px));background:var(--bg-card, #ffffff);border:1.5px solid var(--border, #e5e7eb);border-radius:14px;padding:14px 16px 0;box-shadow:0 8px 32px #0000001f;z-index:101;overflow:hidden;animation:qro-enter .18s ease-out}@keyframes qro-enter{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.qro-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.qro-question{font-size:11px;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.04em;line-height:1.4;flex:1}.qro-close{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-secondary, #9ca3af);font-size:13px;line-height:1;padding:0 2px;border-radius:4px;transition:color .15s}.qro-close:hover{color:var(--text-primary, #111827)}.qro-answer{margin:0 0 6px;font-size:14px;font-weight:500;color:var(--text-primary, #111827);line-height:1.5}.qro-source{display:block;font-size:11px;color:var(--text-secondary, #9ca3af);margin-bottom:10px}.qro-timer-bar{height:3px;background:var(--border, #e5e7eb);margin:0 -16px;border-radius:0 0 14px 14px;overflow:hidden}.qro-timer-bar-fill{height:100%;width:100%;background:#2563eb;transform-origin:left;animation:qro-countdown 8s linear forwards}@keyframes qro-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}[data-theme=dark] .qro-overlay{background:var(--bg-card, #1f2937);border-color:var(--border, #374151);box-shadow:0 8px 32px #0006}[data-theme=dark] .qro-answer{color:var(--text-primary, #f9fafb)}@keyframes ct-enter{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@keyframes ct-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(110%)}}.ct-toast{position:fixed;top:80px;right:20px;z-index:1100;max-width:320px;padding:10px 16px;border-radius:10px;background:#1e222ded;color:#f0f2f5;font-size:.88rem;font-weight:500;line-height:1.4;box-shadow:0 4px 18px #00000059;animation:ct-enter .22s cubic-bezier(.22,1,.36,1) forwards,ct-exit .28s ease-in 2.1s forwards;pointer-events:none}@media(prefers-color-scheme:light){.ct-toast{background:#fffffff2;color:#1a1d27;box-shadow:0 4px 18px #00000026}}.ao-dock{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:20px;padding:16px 24px 24px;background:linear-gradient(to top,var(--bg-primary) 70%,transparent);pointer-events:none}.ao-dock>*{pointer-events:auto}.ao-side-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--border);background:var(--bg-card);color:var(--text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s;font-size:13px;font-weight:600;flex-shrink:0}.ao-side-btn:hover{background:var(--bg-secondary, #f3f4f6);border-color:var(--text-secondary, #6b7280)}[data-theme=dark] .ao-side-btn:hover{background:#374151}.ao-side-btn--end{color:#ef4444;border-color:#fca5a5}.ao-side-btn--end:hover{background:#fef2f2;border-color:#ef4444}[data-theme=dark] .ao-side-btn--end:hover{background:#450a0a}.ao-side-spacer{width:44px;height:44px;flex-shrink:0}.ao-center{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.ao-timer{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text-secondary, #6b7280);min-height:16px}.ao-btn{width:72px;height:72px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s,background .2s;background:var(--bg-card);box-shadow:0 2px 12px #0000001f;position:relative;overflow:visible}.ao-btn:disabled{cursor:not-allowed;opacity:.6}.ao-btn:not([class*=ao-btn--]),.ao-btn--active{background:#2563eb;box-shadow:0 4px 20px #2563eb59}.ao-btn:not([class*=ao-btn--]):hover,.ao-btn--active:hover{transform:scale(1.05);box-shadow:0 6px 24px #2563eb73}.ao-btn--listening{background:#2563eb;animation:ao-pulse-blue 1.8s ease-in-out infinite}.ao-btn--paused{background:#f59e0b;box-shadow:0 4px 20px #f59e0b59}.ao-btn--processing{background:var(--bg-card);border:2px solid var(--border);box-shadow:0 2px 8px #00000014}.ao-btn--command{background:#f59e0b;box-shadow:0 4px 20px #f59e0b66;animation:ao-pulse-amber 1.2s ease-in-out infinite}.ao-btn--command-complete{background:#10b981;box-shadow:0 4px 20px #10b98180;animation:ao-flash-green .6s ease-out forwards}.ao-btn--ended{background:#10b981;box-shadow:0 4px 20px #10b98159}.ao-orb-core{display:block;width:32px;height:32px;border-radius:50%;background:#ffffffe6;box-shadow:inset 0 2px 4px #00000026;transition:transform .2s}.ao-btn--active .ao-orb-core,.ao-btn--listening .ao-orb-core{background:#fff}.ao-btn--listening .ao-orb-core{animation:ao-inner-pulse 1.8s ease-in-out infinite}.ao-btn--paused .ao-orb-core{background:#ffffffd9}.ao-btn--ended .ao-orb-core{background:#ffffffe6}.ao-btn svg{color:#fff}.ao-spin{display:block;width:28px;height:28px;border-radius:50%;border:3px solid var(--border);border-top-color:#2563eb;animation:ao-spin .7s linear infinite}.ao-label{font-size:11px;font-weight:500;color:var(--text-secondary, #6b7280);letter-spacing:.02em;white-space:nowrap}.ao-keyboard-panel{position:fixed;bottom:130px;left:50%;transform:translate(-50%);width:min(480px,calc(100vw - 32px));display:flex;gap:8px;background:var(--bg-card);border:1.5px solid var(--border);border-radius:14px;padding:10px 12px;box-shadow:0 8px 32px #0000001f;z-index:101}.ao-kb-input{flex:1;border:none;background:transparent;color:var(--text-primary, #111827);font-size:14px;outline:none;min-width:0}.ao-kb-input::placeholder{color:var(--text-secondary, #9ca3af)}.ao-kb-submit{padding:6px 16px;border-radius:8px;border:none;background:#2563eb;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;flex-shrink:0}.ao-kb-submit:disabled{background:var(--border);color:var(--text-secondary, #9ca3af);cursor:not-allowed}.ao-kb-submit:not(:disabled):hover{background:#1d4ed8}@keyframes ao-pulse-blue{0%,to{box-shadow:0 4px 20px #2563eb59;transform:scale(1)}50%{box-shadow:0 0 0 16px #2563eb1f,0 4px 20px #2563eb59;transform:scale(1.04)}}@keyframes ao-pulse-amber{0%,to{box-shadow:0 4px 20px #f59e0b66;transform:scale(1)}50%{box-shadow:0 0 0 14px #f59e0b26,0 4px 20px #f59e0b66;transform:scale(1.05)}}@keyframes ao-flash-green{0%{transform:scale(1);box-shadow:0 4px 20px #10b98180}40%{transform:scale(1.1);box-shadow:0 0 0 18px #10b9812e,0 4px 20px #10b98199}to{transform:scale(1);box-shadow:0 4px 20px #10b9814d}}@keyframes ao-inner-pulse{0%,to{transform:scale(.9);opacity:.85}50%{transform:scale(1.05);opacity:1}}@keyframes ao-spin{to{transform:rotate(360deg)}}[data-theme=dark] .ao-btn--processing{border-color:#4b5563}[data-theme=dark] .ao-keyboard-panel{box-shadow:0 8px 32px #0006}.ao-reconnecting-badge{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;color:var(--text-secondary, #6b7280);background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border, #e5e7eb);letter-spacing:.02em;animation:ao-reconnect-fade 1.2s ease-in-out infinite alternate}@keyframes ao-reconnect-fade{0%{opacity:.6}to{opacity:1}}[data-theme=dark] .ao-reconnecting-badge{color:#9ca3af;background:#1f2937;border-color:#374151}.ao-asr-error-badge{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fbbf24;letter-spacing:.02em}[data-theme=dark] .ao-asr-error-badge{color:#fbbf24;background:#1c1a11;border-color:#92400e}@media(prefers-reduced-motion:reduce){.ao-btn,.ao-orb-core,.ao-spin{animation:none!important;transition:none!important}}.psc{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px 24px;margin-bottom:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px 32px}.psc-loading{grid-column:1 / -1;display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.psc-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:#2563eb;border-radius:50%;animation:psc-spin .8s linear infinite;flex-shrink:0}@keyframes psc-spin{to{transform:rotate(360deg)}}.psc-error{grid-column:1 / -1;padding:12px 14px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px}[data-theme=dark] .psc-error{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.psc-section{display:flex;flex-direction:column;gap:8px}.psc-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0}.psc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.psc-item{display:flex;flex-direction:column;gap:2px}.psc-item-primary{font-size:14px;font-weight:500;color:var(--text-primary)}.psc-item-secondary{font-size:12px;color:var(--text-secondary)}.psc-empty{font-size:13px;color:var(--text-secondary);margin:0}.psc-lab-value{font-size:13px;font-weight:600;display:inline-block}.psc-lab-value--normal{color:#10b981}.psc-lab-value--high{color:#ef4444}.psc-lab-value--low{color:#f59e0b}[data-theme=dark] .psc-lab-value--normal{color:#6ee7b7}[data-theme=dark] .psc-lab-value--high{color:#fca5a5}[data-theme=dark] .psc-lab-value--low{color:#fcd34d}.psc-allergy-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500}.psc-allergy-badge--severe{background:#fee2e2;color:#991b1b}.psc-allergy-badge--moderate{background:#fef3c7;color:#92400e}.psc-allergy-badge--mild{background:#d1fae5;color:#065f46}.psc-allergy-badge--unknown{background:var(--bg-primary);color:var(--text-secondary)}[data-theme=dark] .psc-allergy-badge--severe{background:#ef444426;color:#fca5a5}[data-theme=dark] .psc-allergy-badge--moderate{background:#f59e0b26;color:#fcd34d}[data-theme=dark] .psc-allergy-badge--mild{background:#10b98126;color:#6ee7b7}.session-recovery-prompt{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.session-recovery-message{margin:0;font-size:.9rem;color:#92400e;line-height:1.5}.session-recovery-actions{display:flex;gap:8px;flex-wrap:wrap}.session-recovery-btn{padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:none}.session-recovery-btn--resume{background:#16a34a;color:#fff}.session-recovery-btn--resume:hover{background:#15803d}.session-recovery-btn--end{background:#e5e7eb;color:#374151}.session-recovery-btn--end:hover{background:#d1d5db}.appt-worklist{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px 24px;margin-bottom:24px}.appt-worklist-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.appt-worklist-loading{display:flex;align-items:center;gap:12px;padding:16px 0;color:var(--text-secondary);font-size:14px}.appt-worklist-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:#2563eb;border-radius:50%;animation:appt-spin .8s linear infinite;flex-shrink:0}@keyframes appt-spin{to{transform:rotate(360deg)}}.appt-worklist-error{padding:14px 16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px}[data-theme=dark] .appt-worklist-error{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.appt-worklist-empty{padding:20px 0;color:var(--text-secondary);font-size:14px;text-align:center}.appt-worklist-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.appt-row{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;transition:box-shadow .15s}.appt-row:hover{box-shadow:0 2px 8px #00000012}.appt-row-info{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.appt-row-time{font-size:13px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.appt-row-name{font-size:15px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appt-row-complaint{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appt-row-badges{display:flex;gap:6px;flex-shrink:0}.appt-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.appt-badge--new_patient{background:#dbeafe;color:#1e40af}.appt-badge--follow_up{background:#f3e8ff;color:#6b21a8}.appt-badge--telehealth{background:#d1fae5;color:#065f46}[data-theme=dark] .appt-badge--new_patient{background:#2563eb33;color:#93c5fd}[data-theme=dark] .appt-badge--follow_up{background:#6b21a833;color:#d8b4fe}[data-theme=dark] .appt-badge--telehealth{background:#10b98133;color:#6ee7b7}.appt-badge--scheduled{background:#f3f4f6;color:#4b5563}.appt-badge--arrived{background:#fef3c7;color:#92400e}.appt-badge--checked_in{background:#d1fae5;color:#065f46}.appt-badge--no_show{background:#fee2e2;color:#991b1b}[data-theme=dark] .appt-badge--scheduled{background:#4b556333;color:#9ca3af}[data-theme=dark] .appt-badge--arrived{background:#f59e0b33;color:#fcd34d}[data-theme=dark] .appt-badge--checked_in{background:#10b98133;color:#6ee7b7}[data-theme=dark] .appt-badge--no_show{background:#ef444433;color:#fca5a5}.appt-row-btn{padding:6px 14px;background:#2563eb;color:#fff;border:none;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:opacity .15s}.appt-row-btn:hover{opacity:.88}.shadow-mode-dashboard{max-width:1100px;margin:0 auto;padding:24px;font-family:Inter,-apple-system,sans-serif;color:var(--text-primary)}.smd-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--text-heading)}.smd-subtitle{font-size:.85rem;color:var(--text-secondary);margin:0 0 24px}.smd-loading{padding:48px;text-align:center;color:var(--text-secondary)}.smd-top-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.smd-rate-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;border-left:4px solid var(--border)}.smd-rate-card--agree{border-left-color:#10b981}.smd-rate-card--monitor{border-left-color:#f59e0b}.smd-rate-card--alert{border-left-color:#ef4444}.smd-rate-card--no_data{border-left-color:#9ca3af}.smd-rate-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.smd-rate-value{font-size:3rem;font-weight:800;line-height:1;margin-bottom:8px;color:var(--text-heading)}.smd-rate-meta{font-size:.8rem;color:var(--text-secondary)}.smd-cs-card{background:var(--bg-card);border:1px solid #fca5a5;border-radius:12px;padding:24px}.smd-cs-card--safe{border-color:#6ee7b7}.smd-cs-card--unsafe{border-color:#fca5a5}.smd-cs-header{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#b91c1c;margin-bottom:8px}.smd-cs-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px}.smd-cs-badge--safe{background:#d1fae5;color:#065f46}.smd-cs-badge--unsafe{background:#fee2e2;color:#991b1b}.smd-cs-rate{font-size:1.75rem;font-weight:700;color:var(--text-heading);margin-bottom:12px}.smd-cs-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.smd-cs-stat{display:flex;flex-direction:column;gap:2px}.smd-cs-stat-value{font-size:1.25rem;font-weight:700}.smd-cs-stat-value--agree{color:#10b981}.smd-cs-stat-value--disagree{color:#ef4444}.smd-cs-stat-value--permissive{color:#f59e0b}.smd-cs-stat-label{font-size:.72rem;color:var(--text-secondary)}.smd-cs-meta{font-size:.8rem;color:var(--text-secondary)}.smd-readiness-status{display:inline-block;padding:4px 14px;border-radius:999px;font-size:.8rem;font-weight:700;margin-bottom:16px}.smd-readiness-status--ready{background:#d1fae5;color:#065f46}.smd-readiness-status--caution{background:#fef3c7;color:#92400e}.smd-readiness-status--not-ready{background:#fee2e2;color:#991b1b}.smd-criteria{display:flex;flex-direction:column;gap:8px}.smd-criterion-row{display:grid;grid-template-columns:24px 1fr auto auto;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;background:var(--bg-secondary, #f9fafb);font-size:.83rem}.smd-criterion-icon{font-weight:700;text-align:center}.smd-criterion-icon--pass{color:#10b981}.smd-criterion-icon--fail{color:#ef4444}.smd-criterion-icon--info{color:var(--text-secondary)}.smd-criterion-label{color:var(--text-primary)}.smd-criterion-value{font-weight:600;color:var(--text-heading)}.smd-criterion-threshold{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.smd-recommendation{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:24px;border:1px solid transparent}.smd-recommendation--ready{background:#d1fae5;border-color:#6ee7b7}.smd-recommendation--caution{background:#fef3c7;border-color:#fcd34d}.smd-recommendation--not-ready{background:#fee2e2;border-color:#fca5a5}.smd-rec-label{font-weight:700;font-size:.85rem;white-space:nowrap}.smd-recommendation--ready .smd-rec-label{color:#065f46}.smd-recommendation--caution .smd-rec-label{color:#92400e}.smd-recommendation--not-ready .smd-rec-label{color:#991b1b}.smd-rec-reason{font-size:.83rem;color:var(--text-secondary)}.smd-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px 24px;margin-bottom:16px}.smd-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 16px}.smd-chart-container{width:100%;overflow-x:auto}.smd-trend-svg{width:100%;max-width:100%;height:auto;display:block}.smd-chart-empty{text-align:center;padding:32px;color:var(--text-secondary);font-size:.875rem}.smd-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.smd-breakdown-stat{border-radius:8px;padding:16px;border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.smd-breakdown-stat--permissive{background:#fef3c7;border-color:#fcd34d}.smd-breakdown-stat--restrictive{background:#dbeafe;border-color:#93c5fd}.smd-breakdown-stat--fallback{background:var(--bg-secondary)}.smd-stat-value{font-size:1.75rem;font-weight:700;color:var(--text-heading)}.smd-stat-label{font-size:.78rem;color:var(--text-secondary)}.smd-stat-pct{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.smd-table-wrap{overflow-x:auto}.smd-table{width:100%;border-collapse:collapse;font-size:.83rem}.smd-table th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--border);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap}.smd-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-primary)}.smd-row-cs{background:#ef44440a}.smd-decision{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase}.smd-decision--allow{background:#d1fae5;color:#065f46}.smd-decision--require_approval{background:#fef9c3;color:#854d0e}.smd-decision--deny{background:#fee2e2;color:#991b1b}.smd-reason{color:var(--text-secondary);font-size:.78rem}.smd-ts{color:var(--text-secondary);white-space:nowrap}.smd-empty{text-align:center;padding:32px;color:var(--text-secondary);font-size:.875rem}.smd-pagination{display:flex;align-items:center;gap:12px;justify-content:center;padding-top:12px;font-size:.83rem;color:var(--text-secondary)}.smd-pagination button{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:4px 12px;cursor:pointer;color:var(--text-primary)}.smd-pagination button:disabled{opacity:.4;cursor:not-allowed}@media(prefers-color-scheme:dark){.smd-recommendation--ready{background:#064e3b;border-color:#047857}.smd-recommendation--caution{background:#78350f;border-color:#b45309}.smd-recommendation--not-ready{background:#7f1d1d;border-color:#b91c1c}.smd-recommendation--ready .smd-rec-label{color:#6ee7b7}.smd-recommendation--caution .smd-rec-label{color:#fcd34d}.smd-recommendation--not-ready .smd-rec-label{color:#fca5a5}.smd-breakdown-stat--permissive{background:#451a03;border-color:#b45309}.smd-breakdown-stat--restrictive{background:#1e3a5f;border-color:#1d4ed8}.smd-decision--allow{background:#064e3b;color:#6ee7b7}.smd-decision--require_approval{background:#451a03;color:#fcd34d}.smd-decision--deny{background:#7f1d1d;color:#fca5a5}.smd-cs-badge--safe{background:#064e3b;color:#6ee7b7}.smd-cs-badge--unsafe{background:#7f1d1d;color:#fca5a5}.smd-readiness-status--ready{background:#064e3b;color:#6ee7b7}.smd-readiness-status--caution{background:#78350f;color:#fcd34d}.smd-readiness-status--not-ready{background:#7f1d1d;color:#fca5a5}.smd-criterion-row{background:#1f2937}}
