.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#f3f4f6}.brand-center{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:9999px;margin:0 auto 10px;background:linear-gradient(135deg,#7c3aed1f,#06b6d41f);color:#7c3aed}.brand-center svg{width:56px;height:56px}.brand-center img{width:56px;height:56px;object-fit:contain}.brand-lockup{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;margin-bottom:6px}.brand-lockup:before{content:none}.brand-lockup img{width:140px;height:auto;border-radius:0;object-fit:contain;z-index:1;filter:drop-shadow(0 6px 16px rgba(15,23,42,.15))}.brand-lockup svg{width:40px;height:40px;z-index:1}.brand-caption{font-weight:800;color:#0f172a;z-index:1}.brand-caption span{color:#06b6d4}.login-container:before{display:none}@keyframes floatParticles{0%{transform:translate(0)}to{transform:translate(-50px,-50px)}}.theme-toggle-btn{position:absolute;top:30px;right:30px;background:#fff;border:1px solid #e5e7eb;padding:12px 24px;border-radius:50px;font-size:1.2rem;cursor:pointer;transition:all .2s ease;z-index:10}.theme-toggle-btn:hover{transform:scale(1.15) rotate(15deg)}.login-card{background:#fff;border:1px solid #e5e7eb;padding:40px 36px;border-radius:24px;max-width:520px;width:100%;text-align:left;box-shadow:0 30px 60px #02061726;animation:slideUp .5s ease;position:relative;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.logo-icon svg{filter:drop-shadow(0 10px 20px rgba(102,126,234,.3))}.login-card h1{font-size:2rem;margin:6px 0 18px;color:#0f172a;font-weight:800}.login-card p{color:#475569;margin-bottom:12px;font-size:.95rem}.login-card input,.login-card select{width:100%;padding:14px 18px;margin:10px 0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#0f172a;font-size:1rem;transition:all .2s ease}.input-row{position:relative}.input-row .right-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.input-row input{padding-right:46px}.input-row .right-action{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#64748b;cursor:pointer;font-size:16px}.login-card input::placeholder{color:#94a3b8}.login-card input:focus,.login-card select:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 4px #3b82f626}.login-card select option{background:#fff;color:#0f172a}.login-card button[type=submit]{width:100%;padding:16px;background:linear-gradient(135deg,#7c3aed,#06b6d4);border:none;border-radius:9999px;color:#fff;font-weight:800;font-size:1.15rem;cursor:pointer;margin-top:18px;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 18px 35px #7c3aed59}.login-card button[type=submit]:hover{transform:translateY(-2px)}.captcha-row{display:flex;align-items:center;gap:8px;margin-top:8px}.captcha-label{font-weight:700;color:#0f172a}.captcha-box{background:#eef2ff;border:1px solid #c7d2fe;color:#1e293b;font-weight:700;padding:8px 12px;border-radius:8px;min-width:80px;text-align:center;letter-spacing:.5px}.captcha-refresh{padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer}.captcha-refresh:hover{background:#f1f5f9}.captcha-input{margin-top:8px}.auth-error{margin-top:8px;background:#fee2e2;border:1px solid #fecaca;color:#b91c1c;padding:10px 12px;border-radius:8px;font-weight:600}.login-footer-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;color:#64748b;font-size:12px;margin-top:16px}.login-card a{color:#2563eb;text-decoration:none}.login-card a:hover{text-decoration:underline}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8ecf1)}.top-header{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;padding:20px 48px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #00000026}.brand{display:flex;gap:16px;align-items:center}.brand-icon{width:48px;height:48px;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:none;position:relative;overflow:hidden}.brand-icon .brand-logo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.brand h1{font-size:24px;font-weight:700;margin:0}.brand p{font-size:13px;color:#94a3b8;margin:0}.header-actions{display:flex;gap:16px;align-items:center}.theme-btn{padding:10px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.theme-btn:hover{background:#fff3}.user-badge{padding:10px 20px;background:#ffffff1a;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.user-badge:hover{background:#fff3;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90%}.modal-content h2{margin-bottom:24px;font-size:20px}.patients-modal{max-width:960px}.patients-browser{display:grid;grid-template-columns:280px 1fr;gap:16px}.patients-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px;max-height:360px;overflow-y:auto}.patient-row{width:100%;padding:10px 12px;border:none;background:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;box-shadow:0 1px 2px #0000000a}.patient-row.active{outline:2px solid #8b5cf6}.patient-row .name{font-weight:700;color:#0f172a}.patient-row .meta{font-size:12px;color:#64748b}.sessions-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;max-height:360px;overflow-y:auto}.sessions-list h4{margin:0 0 8px}.session-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px}.session-row .date{font-size:13px;font-weight:700;color:#0f172a}.session-row .status{font-size:12px;color:#64748b}.settings-section{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.settings-section p{font-size:14px;color:#475569}.modal-close-btn{width:100%;padding:12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.dropdown-menu{position:fixed;top:140px;right:48px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;padding:12px;min-width:200px;z-index:100}.dropdown-menu button{width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:14px;font-weight:500;color:#475569;cursor:pointer;border-radius:8px;transition:all .2s ease}.dropdown-menu button:hover{background:#f1f5f9}.toast-container{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;z-index:1100}.toast{padding:12px 14px;border-radius:10px;font-size:14px;font-weight:600;color:#0f172a;background:#f1f5f9;box-shadow:0 6px 20px #0000001f;border:1px solid #e2e8f0}.toast.success{background:#dcfce7;color:#065f46;border-color:#86efac}.toast.error{background:#fee2e2;color:#991b1b;border-color:#fecaca}.action-bar{background:#fff;padding:20px 48px;display:flex;gap:16px;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a}.action-btn{padding:12px 24px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fff;letter-spacing:.2px;box-shadow:0 4px 12px #0000001a}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.action-btn.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.action-btn.orange{background:linear-gradient(135deg,#f59e0b,#ea580c)}.action-btn.blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.action-btn.green{background:linear-gradient(135deg,#10b981,#059669)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:32px 48px}.stat-card{background:#fff;border-radius:20px;padding:28px;display:flex;gap:20px;align-items:center;box-shadow:0 4px 16px #0000000f;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(226,232,240,.8)}.stat-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px #0000001f;border-color:transparent}.stat-icon{width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 8px 24px #00000026}.stat-card.purple .stat-icon{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.stat-card.green .stat-icon{background:linear-gradient(135deg,#34d399,#10b981)}.stat-card.pink .stat-icon{background:linear-gradient(135deg,#f472b6,#ec4899)}.stat-card.orange .stat-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.stat-info{flex:1}.stat-label{font-size:13px;color:#64748b;margin-bottom:6px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:36px;font-weight:800;color:#0f172a;line-height:1;margin-bottom:4px}.stat-sub{font-size:12px;color:#94a3b8;font-weight:400}.main-panels{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:0 48px 32px}.panel{background:#fff;border-radius:20px;padding:32px;box-shadow:0 4px 16px #0000000f;border:1px solid rgba(226,232,240,.8);transition:all .3s ease}.panel:hover{box-shadow:0 8px 32px #0000001a}.panel-header{display:flex;gap:16px;align-items:center;margin-bottom:24px;justify-content:space-between}.note-panel .panel-header{position:sticky;top:0;z-index:5;background:#fff;padding-top:8px;padding-bottom:8px;margin-top:-8px;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 6px #0206170a}.panel-header>div:first-child{display:flex;gap:16px;align-items:center}.panel-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 12px #00000026}.panel-icon.red{background:linear-gradient(135deg,#ef4444,#dc2626)}.panel-icon.green{background:linear-gradient(135deg,#10b981,#059669)}.panel-header h3{font-size:18px;font-weight:700;color:#0f172a;letter-spacing:-.3px;margin:0}.panel-header p{font-size:13px;color:#94a3b8;font-weight:400;margin:2px 0 0}.copy-modal{max-width:760px}.copy-modal h2{margin-top:0}.copy-preview-text{width:100%;min-height:340px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";font-size:14px;line-height:1.6;padding:14px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;white-space:pre-wrap;resize:vertical}.admin-modal{max-width:900px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid #e2e8f0;padding:8px 10px;text-align:left}.admin-table th{background:#f8fafc;font-weight:700}.admin-actions button{margin-right:6px}.admin-actions .danger{background:#fee2e2;border:1px solid #fecaca;color:#991b1b}.formatted-note{white-space:pre-wrap;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";font-size:14px;line-height:1.6;color:#0f172a;margin:12px 0 18px}.note-sub{display:flex;align-items:center;gap:10px;margin-top:4px}.note-sub .subtle{color:#94a3b8;font-size:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:700;border:1px solid #e2e8f0;background:#f8fafc;color:#0f172a}.chip-green{background:#dcfce7;border-color:#22c55e;color:#166534}.search-input,.mrn-input{width:100%;padding:14px 18px;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:16px;font-size:14px;font-weight:400;transition:all .2s ease}.search-input:focus,.mrn-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.create-patient-btn{width:100%;padding:10px 12px;background:transparent;border:none;border-radius:10px;color:#7c3aed;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:12px;transition:color .2s ease,background .2s ease;text-align:center}.create-patient-btn:hover{background:#7c3aed0f}.record-btn{width:100%;padding:16px;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;margin-bottom:16px;transition:all .3s ease;box-shadow:0 6px 20px #ef44444d;letter-spacing:.3px}.record-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #ef444466}.record-btn.recording{background:linear-gradient(135deg,#64748b,#475569);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 12px #ef444400}}.mobile-mic-btn{padding:12px 24px;background:#eef2ff;border:2px solid #c7d2fe;border-radius:10px;color:#6366f1;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:20px;transition:all .2s ease}.mobile-mic-btn:hover{background:#e0e7ff;border-color:#a5b4fc}.transcription-area{width:100%;padding:18px;border:2px solid #e2e8f0;border-radius:12px;resize:vertical;font-family:Inter,sans-serif;font-size:14px;line-height:1.7;margin-bottom:20px;transition:all .2s ease}.transcription-area:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.upload-section{display:flex;align-items:center;gap:16px;padding:16px;background:#f8fafc;border-radius:12px;border:2px dashed #cbd5e1}.upload-label{padding:10px 20px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;color:#475569;transition:all .2s ease}.upload-label:hover{border-color:#8b5cf6;color:#8b5cf6}.no-file{font-size:13px;color:#94a3b8;font-weight:400}.generate-btn{padding:10px 24px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #10b9814d;letter-spacing:.3px}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.report-header{padding:20px;background:linear-gradient(135deg,#e0f2fe,#cffafe);border-radius:12px;border-left:4px solid #0284c7;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.report-header div{font-size:14px;color:#0c4a6e}.report-header strong{font-weight:700;margin-right:8px}.soap-note{display:flex;flex-direction:column;gap:16px}.soap-section{padding:20px;background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-radius:12px;border-left:4px solid #8b5cf6;transition:all .2s ease}.soap-section.selected-for-copy{border-left-color:#16a34a;background:linear-gradient(135deg,#ecfdf5,#d1fae5);box-shadow:0 2px 8px #16a34a26}.report-header.selected-for-copy{border-left-color:#16a34a;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.section-head label{display:inline-flex;align-items:center;gap:8px}.section-head label span{background:#fff;border:1px solid #e2e8f0;color:#0f172a;border-radius:9999px;padding:6px 12px;font-size:13px;font-weight:700}.section-head input[type=checkbox]{transform:scale(1.1)}.section-head label input:checked+span{background:#dcfce7;border-color:#22c55e;color:#065f46;box-shadow:0 0 0 3px #22c55e26 inset}.section-select{margin:6px 0 12px;font-size:13px;color:#334155}.section-select input[type=checkbox]{margin-right:6px}.section-select label{display:inline-flex;align-items:center;gap:8px}.section-select label span{background:#fff;border:1px solid #e2e8f0;color:#0f172a;border-radius:9999px;padding:6px 12px;font-size:13px;font-weight:700}.section-select label input:checked+span{background:#dcfce7;border-color:#22c55e;color:#065f46;box-shadow:0 0 0 3px #22c55e26 inset}.soap-section:hover{transform:translate(4px);box-shadow:0 4px 12px #8b5cf61a}.soap-section strong{display:block;font-size:15px;color:#0f172a;margin-bottom:10px;font-weight:700}.soap-section p{font-size:14px;color:#475569;line-height:1.7;font-weight:400}.coding-section{padding:20px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-radius:12px;border-left:4px solid #f59e0b}.coding-section strong{display:block;font-size:15px;color:#0f172a;margin-bottom:14px;font-weight:700}.codes{display:flex;flex-direction:column;gap:10px}.codes div{background:#fff;padding:12px 16px;border-radius:8px;font-size:14px;color:#475569;font-weight:500;box-shadow:0 2px 6px #0000000d}.note-actions{display:flex;gap:16px;margin-top:12px}.save-note-btn{flex:1;padding:14px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #8b5cf64d;letter-spacing:.3px}.save-note-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #8b5cf666}.pdf-btn{padding:14px 28px;background:linear-gradient(135deg,#1e293b,#0f172a);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 20px #0f172a4d;transition:all .3s ease;letter-spacing:.3px}.pdf-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0f172a66}.empty-note{text-align:center;padding:80px 20px}.empty-icon{font-size:72px;margin-bottom:20px;opacity:.2}.empty-note p{font-size:17px;color:#64748b;margin-bottom:10px;font-weight:600}.empty-note small{font-size:14px;color:#94a3b8;font-weight:400}.encounters-table{background:#fff;border-radius:20px;padding:32px;margin:0 48px 48px;box-shadow:0 4px 16px #0000000f;border:1px solid rgba(226,232,240,.8)}.table-header{display:flex;gap:12px;align-items:center;margin-bottom:24px}.table-icon{font-size:24px}.table-header h3{font-size:18px;font-weight:700;color:#0f172a;letter-spacing:-.3px}table{width:100%;border-collapse:collapse}thead th{text-align:left;padding:14px;font-size:12px;font-weight:700;color:#64748b;border-bottom:2px solid #e2e8f0;text-transform:uppercase;letter-spacing:.8px}tbody td{padding:18px 14px;font-size:14px;color:#475569;border-bottom:1px solid #f1f5f9;font-weight:500}.status{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.3px}.status.draft{background:#fef3c7;color:#92400e}.status.completed{background:#d1fae5;color:#065f46}.view-btn{padding:8px 20px;background:#f1f5f9;border:none;border-radius:8px;color:#475569;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.view-btn:hover{background:#e2e8f0;transform:translateY(-1px)}@media (max-width: 1400px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.main-panels{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.action-bar{flex-wrap:wrap}.top-header,.action-bar,.stats-grid,.main-panels,.encounters-table{padding-left:24px;padding-right:24px}}:root{--font: "Inter", sans-serif}[data-theme=dark]{--bg: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--bg-card: rgba(30, 41, 59, .8);--border: rgba(71, 85, 105, .3);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--primary: #3b82f6;--primary-light: #60a5fa}[data-theme=light]{--bg: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--bg-card: rgba(255, 255, 255, .95);--border: rgba(203, 213, 225, .6);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--primary: #2563eb;--primary-light: #3b82f6}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);min-height:100vh}
