@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap);.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#050b14d9;border-bottom:1px solid var(--border-subtle);height:var(--nav-height);left:0;position:fixed;right:0;top:0;transition:background var(--transition-normal);z-index:1000}.navbar-inner{gap:1rem;height:100%;margin:0 auto;max-width:1300px;padding:0 1.5rem}.navbar-inner,.navbar-logo{align-items:center;display:flex}.navbar-logo{background:none;border:none;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-family:var(--font-display);font-size:1.2rem;font-weight:800;gap:.6rem;letter-spacing:-.02em;padding:.3rem 0;transition:opacity var(--transition-fast)}.navbar-logo:hover{opacity:.85}.logo-icon{align-items:center;background:#38bdf81a;border:1px solid var(--border-mid);border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.logo-text span{color:var(--accent-cyan)}.navbar-links{gap:.25rem;margin-left:1rem}.nav-link,.navbar-links{align-items:center;display:flex}.nav-link{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.88rem;font-weight:500;gap:.5rem;padding:.45rem 1rem;transition:all var(--transition-fast);white-space:nowrap}.nav-link:hover{background:var(--border-subtle);color:var(--text-primary)}.nav-link.active{background:#38bdf81a;color:var(--accent-cyan)}.nav-icon{font-size:.9rem;opacity:.8}.navbar-right{gap:1rem;margin-left:auto}.hospital-badge,.navbar-right{align-items:center;display:flex}.hospital-badge{background:#38bdf812;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:.75rem;gap:.5rem;max-width:220px;overflow:hidden;padding:.3rem .75rem;text-overflow:ellipsis;white-space:nowrap}.hospital-dot{background:var(--accent-green);border-radius:50%;box-shadow:0 0 6px var(--accent-green);flex-shrink:0;height:6px;width:6px}.profile-wrapper{position:relative}.profile-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;display:flex;gap:.65rem;padding:.3rem .75rem .3rem .3rem;transition:all var(--transition-fast)}.profile-btn.open,.profile-btn:hover{background:var(--bg-card-hover);border-color:var(--border-mid)}.avatar{align-items:center;background:var(--gradient-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:var(--font-display);font-size:.75rem;font-weight:700;height:32px;justify-content:center;width:32px}.avatar.large{font-size:.9rem;height:40px;width:40px}.profile-info{display:flex;flex-direction:column;line-height:1.2;text-align:left}.profile-name{font-size:.82rem;font-weight:600}.profile-role{color:var(--text-secondary);font-size:.7rem}.chevron{color:var(--text-muted);font-size:.7rem;margin-left:.25rem;transition:transform var(--transition-fast)}.profile-btn.open .chevron{transform:rotate(180deg)}.profile-dropdown{animation:fadeInUp .2s ease;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);width:240px;z-index:10}.dropdown-header{align-items:center;display:flex;gap:.75rem;padding:1rem}.dropdown-name{font-size:.88rem;font-weight:600}.dropdown-hospital{color:var(--text-secondary);font-size:.72rem;margin-top:.1rem}.dropdown-divider{background:var(--border-subtle);height:1px}.dropdown-item{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all var(--transition-fast);width:100%}.dropdown-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.dropdown-item.danger:hover{color:var(--accent-rose)}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}.hamburger span{background:var(--text-secondary);border-radius:2px;display:block;height:2px;transition:all var(--transition-fast);width:22px}.hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-drawer{animation:fadeIn .2s ease;background:var(--bg-surface);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:.5rem}.mobile-nav-link{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.75rem;padding:.8rem 1rem;text-align:left;transition:all var(--transition-fast)}.mobile-nav-link:hover{background:var(--bg-card);color:var(--text-primary)}.mobile-nav-link.active{background:#38bdf814;color:var(--accent-cyan)}.mobile-nav-link.danger:hover{color:var(--accent-rose)}@media (max-width:768px){.navbar{height:auto}.chevron,.hospital-badge,.navbar-links,.profile-info{display:none}.hamburger{display:flex}.navbar-inner{height:var(--nav-height)}}.dropdown-role{font-size:.72rem;font-weight:600;margin-bottom:.1rem;margin-top:.1rem}.dropdown-email{color:var(--text-muted);font-size:.7rem;margin-top:.1rem}.toast{align-items:center;animation:toastIn .35s cubic-bezier(.34,1.56,.64,1) forwards;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-pill);bottom:2rem;box-shadow:var(--shadow-lg);display:flex;font-size:.88rem;font-weight:500;gap:.75rem;left:50%;padding:.85rem 1.5rem;position:fixed;transform:translateX(-50%);white-space:nowrap;z-index:9999}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(20px) scale(.9)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.toast-success{background:#10b98133;border:1px solid #10b98166;color:#6ee7b7}.toast-error{background:#f43f5e33;border:1px solid #f43f5e66;color:#fda4af}.toast-info{background:#38bdf826;border:1px solid #38bdf859;color:var(--accent-cyan)}.toast-warning{background:#f59e0b33;border:1px solid #f59e0b66;color:#fcd34d}.toast-icon{font-size:.85rem;font-weight:700}.login-root{display:flex;min-height:100vh;overflow:hidden;position:relative}.login-bg-decoration{background:radial-gradient(circle,#38bdf80f 0,#0000 70%);border-radius:50%;height:700px;pointer-events:none;position:fixed;right:-10%;top:-30%;width:700px}.login-left{background:var(--gradient-surface);border-right:1px solid var(--border-subtle);display:none;flex:1 1;overflow:hidden;padding:3rem;position:relative}.login-left:before{background:radial-gradient(circle,#3b82f614 0,#0000 70%);border-radius:50%;bottom:-100px;content:"";height:400px;left:-100px;position:absolute;width:400px}.login-left-inner{display:flex;flex-direction:column;gap:2.5rem;height:100%;justify-content:center;max-width:420px}.login-brand{align-items:center;display:flex;gap:.75rem}.brand-name{color:var(--text-primary);font-family:var(--font-display);font-size:1.3rem;font-weight:800}.login-hero h1{font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.15;margin-bottom:1rem}.gradient-text{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.login-hero p{color:var(--text-secondary);font-size:1rem;line-height:1.7}.login-features{display:flex;flex-direction:column;gap:1rem}.feature-row{align-items:center;background:#38bdf80d;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.88rem;gap:.85rem;padding:.75rem 1rem}.feature-icon{color:var(--accent-cyan);font-size:1rem}.login-right{align-items:center;background:var(--bg-deep);display:flex;flex:0 0 100%;justify-content:center;padding:2rem 1.5rem}.login-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;padding:2.5rem;position:relative;width:100%}.login-logo-icon{align-items:center;background:#38bdf81a;border:1px solid var(--border-mid);border-radius:var(--radius-md);display:flex;height:52px;justify-content:center;margin:0 auto 1.5rem;width:52px}.login-logo-icon.small{border-radius:var(--radius-sm);height:36px;margin:0;width:36px}.login-header{margin-bottom:1.75rem}.login-title{font-size:1.5rem;margin-bottom:.4rem}.login-subtitle{color:var(--text-secondary);font-size:.88rem}.error-banner{background:#f43f5e1a;border:1px solid #f43f5e4d;border-radius:var(--radius-sm);color:var(--accent-rose);font-size:.85rem;padding:.75rem 1rem}.error-banner,.field-group{margin-bottom:1.25rem}.field-group label{display:block;font-size:.82rem;margin-bottom:.5rem}.input-icon{color:var(--text-muted);font-size:.9rem;left:.9rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.field-input{padding:.75rem 1rem}.field-input.with-icon{padding-left:2.5rem}.field-input:focus{box-shadow:0 0 0 3px #38bdf81f}.has-error .field-input:focus{box-shadow:0 0 0 3px #f43f5e1f}.field-error{display:block;font-size:.78rem;margin-top:.35rem}.toggle-pw{font-size:.9rem}.forgot-link{background:none;border:none;color:var(--accent-cyan);cursor:pointer;display:block;font-size:.82rem;margin-bottom:1.5rem;padding:0;transition:opacity var(--transition-fast)}.forgot-link:hover{opacity:.7}.login-btn{align-items:center;background:var(--gradient-primary);border:none;border-radius:var(--radius-sm);box-shadow:0 4px 20px #38bdf833;color:#fff;cursor:pointer;display:flex;font-family:var(--font-display);font-size:.95rem;font-weight:600;gap:.75rem;justify-content:center;padding:.85rem;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.login-btn:hover:not(:disabled){box-shadow:0 6px 28px #38bdf84d;opacity:.9;transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.login-note{color:var(--text-muted);font-size:.75rem;line-height:1.5;margin-top:1.5rem;text-align:center}.spinner{height:16px;width:16px}.back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:block;font-size:.85rem;margin-bottom:1.5rem;padding:0;transition:color var(--transition-fast)}.back-btn:hover{color:var(--text-primary)}.success-box{align-items:flex-start;background:#10b9811a;border:1px solid #10b98140;border-radius:var(--radius-sm);display:flex;gap:1rem;margin-top:1rem;padding:1.25rem}.success-icon{align-items:center;background:#10b98126;border-radius:50%;color:var(--accent-green);display:flex;flex-shrink:0;font-size:1.1rem;height:28px;justify-content:center;width:28px}.success-title{color:var(--accent-green);font-weight:600;margin-bottom:.25rem}.success-sub{color:var(--text-secondary);font-size:.83rem}@media (min-width:900px){.login-left{display:flex;flex:1 1}.login-right{flex:0 0 480px}}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.stats-row{grid-template-columns:repeat(3,1fr)}.list-controls{margin-bottom:1.25rem}.search-clear{transition:color var(--transition-fast)}.search-clear:hover{color:var(--text-secondary)}.sort-wrapper{align-items:center;display:flex;gap:.5rem}.sort-label{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.sort-select{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.85rem;outline:none;padding:.65rem .85rem}.sort-select:focus{border-color:var(--border-bright)}.list-count{margin-bottom:.75rem}.patient-list{display:flex;flex-direction:column;gap:.6rem}.patient-card{align-items:center;animation:fadeInUp .35s ease forwards;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:1rem;opacity:0;padding:1.1rem 1.25rem;transition:all var(--transition-normal)}.patient-card:hover{background:var(--bg-card-hover);border-color:var(--border-mid);box-shadow:var(--shadow-sm);transform:translateX(4px)}.patient-card-avatar{align-items:center;background:linear-gradient(135deg,#38bdf833,#3b82f633);border:1px solid var(--border-mid);border-radius:50%;color:var(--accent-cyan);display:flex;flex-shrink:0;font-family:var(--font-display);font-size:.9rem;font-weight:700;height:44px;justify-content:center;width:44px}.patient-card-body{flex:1 1;min-width:0}.patient-card-top{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.3rem}.patient-name{font-size:.95rem;font-weight:600}.patient-card-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.4rem}.meta-dot{color:var(--text-disabled)}.meta-cond{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-card-footer{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:1rem;margin-top:.4rem}.patient-card-arrow{color:var(--text-muted);font-size:1.3rem;transition:transform var(--transition-fast),color var(--transition-fast)}.patient-card:hover .patient-card-arrow{color:var(--accent-cyan);transform:translateX(4px)}.empty-state h3{color:var(--text-secondary)}.btn-primary{box-shadow:0 4px 16px #38bdf833;box-sizing:border-box;line-height:1.25;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-primary:hover{box-shadow:0 6px 22px #38bdf84d}.btn-primary:active{transform:translateY(0)}.btn-ghost{box-sizing:border-box;font-family:var(--font-display);font-weight:600;line-height:1.25}.add-patient-btn{align-self:center}.dashboard-header-actions .btn-ghost,.dashboard-header-actions .btn-primary{box-sizing:border-box!important;font-family:var(--font-display)!important;font-size:.9rem!important;font-weight:600!important;height:40px!important;line-height:1.25!important;margin:0!important;padding:.65rem 1.25rem!important}.btn-primary{border:1px solid #0000}.modal-footer{align-items:center}.modal-footer .btn-ghost,.modal-footer .btn-primary{box-sizing:border-box!important;font-family:var(--font-display)!important;font-size:.9rem!important;font-weight:600!important;height:40px!important;line-height:1.25!important;margin:0!important;padding:.65rem 1.25rem!important}.field-input{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field-input::placeholder{color:var(--text-disabled)}@media (max-width:640px){.modal-row,.stats-row{grid-template-columns:1fr}}.loading-list{margin-top:1rem}.patient-card-skeleton{height:82px}.loading-list{gap:.6rem}.patient-card-skeleton{border-radius:var(--radius-md);height:80px}.dashboard-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.upload-modal{display:flex;flex-direction:column;max-height:90vh;max-width:600px}.upload-modal .modal-body{flex:1 1;max-height:none;overflow-y:auto}.upload-files-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:.75rem}.file-drop-zone{align-items:center;background:var(--bg-surface);border:1.5px dashed var(--border-mid);border-radius:var(--radius-sm);cursor:pointer;display:flex;justify-content:center;min-height:58px;min-width:0;overflow:hidden;padding:.75rem;transition:border-color var(--transition-fast),background var(--transition-fast)}.file-drop-zone:hover{background:#38bdf80a;border-color:var(--accent-cyan)}.file-drop-zone.has-file{background:#38bdf80d;border-color:var(--accent-cyan);border-style:solid}.has-error .file-drop-zone{border-color:var(--accent-rose)}.file-placeholder{align-items:center;display:flex;flex-direction:column;gap:.25rem}.file-upload-icon{color:var(--text-muted);font-size:1.1rem}.file-hint{color:var(--text-disabled);font-size:.7rem;text-align:center}.file-selected{align-items:center;display:flex;gap:.5rem;min-width:0;overflow:hidden;width:100%}.file-icon{flex-shrink:0;font-size:1rem}.file-info{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.file-name{color:var(--text-primary);font-size:.75rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.68rem}.file-clear,.file-size{color:var(--text-muted)}.file-clear{background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;font-size:.7rem;padding:.2rem;transition:color var(--transition-fast)}.file-clear:hover{color:var(--accent-rose)}.upload-analysing{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 2rem!important;text-align:center}.analysing-spinner{animation:spin .8s linear infinite;border:3px solid var(--border-mid);border-radius:50%;border-top-color:var(--accent-cyan);height:44px;width:44px}.analysing-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.analysing-sub{color:var(--text-muted);font-size:.82rem;margin:0;max-width:320px}.analysing-patient{color:var(--text-secondary);font-size:.82rem;margin:0}.upload-result{display:flex;flex-direction:column;gap:1rem}.result-success-badge{align-items:center;align-self:flex-start;background:#10b9811f;border:1px solid #10b9814d;border-radius:999px;color:var(--accent-green);display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.35rem .85rem}.result-composite{align-items:baseline;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;gap:.4rem;padding:1rem}.result-composite-label{color:var(--text-muted);font-size:.82rem;margin-right:.25rem}.result-composite-value{font-size:2.4rem;font-weight:800;line-height:1}.result-composite-denom{color:var(--text-muted);font-size:.9rem}.result-composite-rating{font-size:.82rem;font-weight:600;margin-left:auto}.result-subsets{display:flex;gap:.6rem}.result-subset-card{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;flex:1 1;flex-direction:column;gap:.2rem;padding:.7rem .5rem}.result-subset-label{color:var(--text-muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.result-subset-value{font-size:1.4rem;font-weight:700}.result-metrics{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.result-metrics .metrics-table{border-collapse:collapse;font-size:.82rem;width:100%}.result-metrics .metrics-table th{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.5rem .75rem;text-align:left;text-transform:uppercase}.result-metrics .metrics-table td{border-bottom:1px solid #ffffff0a;color:var(--text-primary);padding:.4rem .75rem}.result-metrics .metrics-table tr:last-child td{border-bottom:none}.result-metrics .metric-raw{font-family:Courier New,monospace;font-size:.8rem}.result-metrics .metric-score{font-weight:700}.upload-error{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:2.5rem 1.5rem!important;text-align:center}.error-icon{font-size:2.5rem}.error-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.error-msg{color:var(--text-muted);font-size:.82rem;margin:0;max-width:360px}@media (max-width:500px){.upload-files-grid{grid-template-columns:1fr}.dashboard-header-actions{align-items:stretch;flex-direction:column}}.upload-result-footer{align-items:center;justify-content:space-between}.result-footer-right{align-items:center;display:flex;gap:.6rem}.patient-header{align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:1.75rem;padding:1.75rem 2rem}.patient-hero-left{align-items:center;display:flex;gap:1.25rem}.patient-big-avatar{align-items:center;background:var(--gradient-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:var(--font-display);font-size:1.3rem;font-weight:700;height:64px;justify-content:center;width:64px}.patient-hero-name{font-size:clamp(1.2rem,2.5vw,1.7rem);margin-bottom:.4rem}.patient-hero-meta{color:var(--text-secondary);font-size:.85rem;gap:.6rem}.patient-hero-meta,.patient-hero-right{align-items:center;display:flex;flex-wrap:wrap}.patient-hero-right{gap:1.5rem}.score-ring{align-items:center;display:flex;flex-shrink:0;height:90px;justify-content:center;position:relative;width:90px}.score-ring.pending{border:3px dashed var(--border-mid);border-radius:50%;flex-direction:column;gap:2px;height:90px;width:90px}.score-inner{align-items:center;display:flex;flex-direction:column;gap:0;justify-content:center;position:absolute}.score-label{font-family:var(--font-display);font-size:1.4rem;font-weight:800;line-height:1}.score-sub{color:var(--text-muted);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.patient-info-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:380px 1fr}.patient-left-col,.patient-right-col{display:flex;flex-direction:column;gap:1.25rem}.info-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem}.section-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.section-header h3{font-size:.95rem;font-weight:700}.info-text{color:var(--text-secondary);font-size:.88rem;line-height:1.7}.edit-block{gap:.75rem}.field-input{padding:.65rem .9rem}.notes-list{display:flex;flex-direction:column;gap:.75rem}.note-item{background:var(--bg-surface);border-left:3px solid var(--accent-cyan);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.85rem 1rem}.note-text{color:var(--text-secondary);font-size:.87rem;line-height:1.6;margin-bottom:.35rem}.note-date{color:var(--text-muted);font-size:.72rem}.recordings-list{display:flex;flex-direction:column;gap:.65rem}.rec-card{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.1rem;transition:border-color var(--transition-fast),background var(--transition-fast)}.rec-card:hover{background:var(--bg-card-hover);border-color:var(--border-mid)}.rec-card-left{flex:1 1;gap:.85rem;min-width:0}.rec-card-left,.rec-index{align-items:center;display:flex}.rec-index{background:#38bdf81a;border:1px solid var(--border-mid);border-radius:50%;color:var(--accent-cyan);flex-shrink:0;font-size:.7rem;font-weight:700;height:28px;justify-content:center;width:28px}.rec-info{min-width:0}.rec-name{color:var(--text-primary);font-size:.82rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-date{color:var(--text-muted);font-size:.72rem;margin-top:.15rem}.rec-card-right{align-items:center;display:flex;flex-shrink:0;gap:1rem}.rec-score{align-items:baseline;display:flex;gap:.15rem;min-width:60px;text-align:right}.rec-score-val{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.rec-score-label{color:var(--text-muted);font-size:.7rem}.rec-score-pending{color:var(--text-muted);font-size:.75rem;font-style:italic}.rec-actions{display:flex;gap:.5rem}.rec-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;gap:.3rem;padding:.4rem .75rem;transition:all var(--transition-fast)}.rec-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.rec-btn.disabled{cursor:not-allowed;opacity:.4}.rec-btn.download:hover{border-color:var(--accent-teal);color:var(--accent-teal)}.no-recordings{color:var(--text-muted);padding:2.5rem 1rem;text-align:center}.no-rec-icon{font-size:2.5rem;margin-bottom:.75rem}.no-recordings p{font-size:.87rem;margin-bottom:1.25rem}.btn-ghost.small{font-size:.82rem;padding:.4rem .9rem}.record-btn{flex-shrink:0}@media (max-width:900px){.patient-info-grid{grid-template-columns:1fr}}@media (max-width:600px){.patient-header{align-items:flex-start;flex-direction:column}.patient-hero-right{flex-direction:row}}.sessions-list{display:flex;flex-direction:column;gap:.6rem}.session-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast)}.session-card.expanded,.session-card:hover{border-color:var(--border-mid)}.session-card.expanded{border-color:#38bdf84d}.session-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1.1rem;text-align:left;transition:background var(--transition-fast);width:100%}.session-header:hover{background:var(--bg-card-hover)}.session-card.expanded .session-header{background:#38bdf80d;border-bottom:1px solid var(--border-subtle)}.session-header-left{align-items:center;display:flex;gap:.85rem;min-width:0}.session-num-badge{align-items:center;background:#38bdf81a;border:1px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--accent-cyan);display:flex;flex-shrink:0;font-family:var(--font-display);font-size:.75rem;font-weight:800;height:34px;justify-content:center;letter-spacing:.02em;width:34px}.session-header-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.session-date{color:var(--text-primary);font-size:.88rem;font-weight:600;white-space:nowrap}.session-time{color:var(--text-muted);font-size:.72rem}.session-header-right{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.session-score{align-items:baseline;display:flex;gap:.1rem;justify-content:flex-end;min-width:52px;text-align:right}.session-score-val{font-family:var(--font-display);font-size:1.2rem;font-weight:800;line-height:1}.session-score-denom{color:var(--text-muted);font-size:.68rem}.session-score-pending{color:var(--text-muted);font-size:.72rem;font-style:italic;white-space:nowrap}.session-pdf-btn{align-items:center;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.3rem;padding:.35rem .75rem;transition:all var(--transition-fast);white-space:nowrap}.session-pdf-btn:hover{border-color:var(--accent-teal);color:var(--accent-teal)}.pdf-icon{font-size:.7rem}.session-chevron{color:var(--text-muted);display:inline-block;font-size:1.2rem;line-height:1;transition:transform var(--transition-normal),color var(--transition-fast)}.session-chevron.open{color:var(--accent-cyan);transform:rotate(90deg)}.session-body{animation:fadeInUp .2s ease forwards}.session-tracks{padding:.5rem 0}.track-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:1rem;justify-content:space-between;padding:.6rem 1.1rem;transition:background var(--transition-fast)}.track-row:last-child{border-bottom:none}.track-row:hover{background:#38bdf808}.track-left{align-items:center;display:flex;gap:.6rem;min-width:0}.track-icon{color:var(--text-muted);flex-shrink:0;font-size:.85rem;text-align:center;width:18px}.track-label{color:var(--text-secondary);font-size:.82rem;white-space:nowrap}.track-suffix{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-disabled);font-family:monospace;font-size:.7rem;padding:.1rem .4rem}.track-right{flex-shrink:0}.track-play-btn{align-items:center;background:none;border:1px solid var(--border-mid);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.7rem;height:30px;justify-content:center;transition:all var(--transition-fast);width:30px}.track-play-btn:hover{background:#38bdf814;border-color:var(--accent-cyan);color:var(--accent-cyan)}.track-play-btn.playing{background:#f43f5e14;border-color:var(--accent-rose);color:var(--accent-rose)}.track-play-btn.disabled{cursor:not-allowed;opacity:.3}.sessions-loading{padding:.5rem 0}.session-skeleton{height:60px}.sessions-loading{display:flex;flex-direction:column;gap:.6rem}.session-skeleton{border-radius:var(--radius-md);height:64px}.session-pdf-btn.disabled{cursor:not-allowed;opacity:.35}.session-pdf-btn.disabled:hover{border-color:var(--border-subtle);color:var(--text-secondary)}.recording-layout{margin:0 auto;max-width:720px}.recording-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.recording-header h1{font-size:clamp(1.4rem,3vw,2rem)}.recording-sub{color:var(--text-secondary);font-size:.88rem;margin-top:.25rem}.recording-num{align-self:flex-start}.protocol-bar{align-items:center;background:#38bdf80f;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.8rem;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1.1rem}.protocol-icon{flex-shrink:0;font-size:1rem}.recording-card{align-items:stretch;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);display:flex;padding:1.75rem 2rem}.stage-block{display:flex;flex-direction:column;gap:1.25rem;width:100%}.stage-title{font-size:1.3rem;margin-bottom:0}.stage-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.mic-select{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.9rem;outline:none;padding:.75rem .9rem}.mic-select:focus{border-color:var(--accent-cyan)}.db-meter-wrap{display:flex;flex-direction:column;gap:.6rem}.db-meter-bar-bg{background:var(--bg-surface);border:1px solid var(--border-subtle);height:20px;overflow:hidden;position:relative;width:100%}.db-meter-bar,.db-meter-bar-bg{border-radius:var(--radius-pill)}.db-meter-bar{height:100%}.db-meter-bar.ok{background:linear-gradient(90deg,var(--accent-teal),var(--accent-green))}.db-meter-bar.loud{background:linear-gradient(90deg,var(--accent-amber),var(--accent-rose))}.db-threshold-line{background:var(--text-muted);bottom:0;position:absolute;top:0;width:2px;z-index:2}.db-meter-labels{align-items:center;display:flex;font-size:.82rem;justify-content:space-between}.db-current{font-family:var(--font-display);font-size:1rem;font-weight:700}.db-threshold-label{color:var(--text-muted)}.ambient-progress{display:flex;flex-direction:column;gap:.5rem}.ambient-bar-wrap{background:var(--bg-surface);height:8px;overflow:hidden;width:100%}.ambient-bar,.ambient-bar-wrap{border-radius:var(--radius-pill)}.ambient-bar{background:var(--gradient-primary);height:100%;transition:width .5s ease}.ambient-label{color:var(--text-secondary);font-size:.8rem}.alert-block{align-items:flex-start;border-radius:var(--radius-sm);display:flex;font-size:.88rem;gap:1rem;padding:1rem 1.25rem}.alert-block>span{flex-shrink:0;font-size:1.1rem}.alert-success{background:#10b9811a;border:1px solid #10b98140;color:#6ee7b7}.alert-success strong{color:var(--accent-green)}.alert-warn{background:#f59e0b1a;border:1px solid #f59e0b40;color:#fcd34d}.alert-warn strong{color:var(--accent-amber)}.alert-block p{color:var(--text-secondary);font-size:.82rem;margin-top:.25rem}.task-list{display:flex;flex-direction:column;gap:.5rem}.task-header{color:var(--text-muted);font-size:.82rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.task-row{align-items:center;background:var(--bg-surface);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.87rem;gap:.75rem;padding:.65rem .9rem}.task-num{background:#38bdf81f;border-radius:50%;color:var(--accent-cyan);flex-shrink:0;font-size:.72rem;height:22px;width:22px}.btn-record,.task-num{align-items:center;display:flex;font-weight:700;justify-content:center}.btn-record{background:#f43f5e1a;border:2px solid var(--accent-rose);border-radius:var(--radius-sm);color:var(--accent-rose);cursor:pointer;font-family:var(--font-display);font-size:1rem;gap:.75rem;padding:1rem;transition:all var(--transition-fast)}.btn-record:hover{background:#f43f5e33;transform:scale(1.01)}.rec-dot{animation:pulse-ring 1.2s ease-out infinite;background:var(--accent-rose);border-radius:50%;flex-shrink:0;height:12px;width:12px}.recording-active{gap:.75rem}.recording-two-col{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;width:100%}.recording-controls-col{align-items:center;display:flex;flex-direction:column;gap:.75rem;text-align:center}.recording-hint-col{display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem}.recording-hint-title{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.rec-indicator{align-items:center;display:inline-flex;height:56px;justify-content:center;position:relative;width:56px}.pulse-ring{animation:pulse-ring 1.2s ease-out infinite;inset:0;position:absolute}.pulse-ring,.rec-live{border:2px solid var(--accent-rose);border-radius:50%}.rec-live{align-items:center;background:#f43f5e26;color:var(--accent-rose);display:flex;font-size:.6rem;font-weight:800;height:42px;justify-content:center;letter-spacing:.08em;width:42px}.rec-live.paused{background:#f59e0b1a;border-color:var(--accent-amber);color:var(--accent-amber)}.rec-timer{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:2.6rem;font-weight:800;letter-spacing:-.03em;line-height:1}@media (max-width:640px){.recording-two-col{grid-template-columns:1fr}.recording-hint-col{order:-1}}.waveform-bars{align-items:center;display:flex;gap:3px;height:50px;justify-content:center}.wave-bar{background:var(--accent-cyan);border-radius:2px;height:40px;transform:scaleY(.4);width:4px}.waveform-bars.active .wave-bar{animation:wave .8s ease-in-out infinite}.rec-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-stop{align-items:center;background:var(--accent-rose);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-family:var(--font-display);font-size:.9rem;font-weight:600;gap:.5rem;padding:.7rem 1.35rem;transition:opacity var(--transition-fast),transform var(--transition-fast)}.btn-stop:hover{opacity:.85;transform:translateY(-1px)}.playback-block{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1rem}.audio-player{filter:invert(.85) hue-rotate(180deg);width:100%}.no-audio-preview{color:var(--text-muted);font-size:.85rem;padding:1.5rem;text-align:center}.recording-name-preview{background:var(--bg-surface);border-left:3px solid var(--accent-cyan);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem}.name-label{color:var(--text-muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.name-code{color:var(--accent-cyan);font-family:monospace;font-size:.82rem;word-break:break-all}.review-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.submitting-block{align-items:center;gap:1rem;padding:2rem 0;text-align:center}.submit-spinner{animation:spin .8s linear infinite;border:3px solid var(--border-mid);border-radius:50%;border-top-color:var(--accent-cyan);height:48px;width:48px}.submit-text{font-size:1rem;font-weight:500}.submit-sub{color:var(--text-muted);font-size:.78rem;max-width:380px}.done-block{align-items:center;gap:1rem;text-align:center}.done-icon{align-items:center;background:#10b98126;border:2px solid var(--accent-green);border-radius:50%;display:flex;height:64px;justify-content:center;width:64px}.done-block h2,.done-icon{color:var(--accent-green);font-size:1.5rem}.done-block p{color:var(--text-secondary);font-size:.9rem;max-width:400px}.done-note{background:#38bdf80f;border:1px dashed var(--border-mid);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8rem;max-width:420px;padding:.85rem 1.25rem}.done-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.back-nav{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:block;font-size:.85rem;padding:0 0 1.25rem;transition:color var(--transition-fast)}.back-nav:hover{color:var(--accent-cyan)}.empty-icon{color:var(--text-disabled)}@media (max-width:640px){.recording-card{padding:1.5rem}}.task-stepper{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;gap:0;margin-bottom:1.25rem;overflow:hidden}.step{align-items:center;border-right:1px solid var(--border-subtle);display:flex;flex:1 1;flex-direction:column;gap:.3rem;padding:.75rem .5rem;transition:background var(--transition-fast)}.step:last-child{border-right:none}.step.done{background:#10b98112}.step.current{background:#38bdf814}.step.upcoming{opacity:.45}.step-dot{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-muted);display:flex;font-size:.75rem;font-weight:700;height:26px;justify-content:center;width:26px}.step.done .step-dot{background:#10b98126;border-color:var(--accent-green);color:var(--accent-green)}.step.current .step-dot{background:#38bdf826;border-color:var(--accent-cyan);color:var(--accent-cyan)}.step-label{color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.04em;text-align:center;text-transform:uppercase}.step.done .step-label{color:var(--accent-green)}.step.current .step-label{color:var(--accent-cyan)}.mic-selected-display{align-items:center;background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-sm);display:flex;gap:.85rem;padding:.9rem 1rem}.mic-selected-icon{flex-shrink:0;font-size:1.4rem}.mic-selected-info{flex:1 1;min-width:0}.mic-selected-label{color:var(--text-muted);display:block;font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-bottom:.2rem;text-transform:uppercase}.mic-selected-name{color:var(--text-primary);display:block;font-size:.88rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mic-dropdown-panel{background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:var(--radius-sm);overflow:hidden}.mic-dropdown-label{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.6rem 1rem .4rem;text-transform:uppercase}.mic-option{align-items:center;background:none;border:none;border-top:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:.75rem;padding:.65rem 1rem;text-align:left;transition:background var(--transition-fast),color var(--transition-fast);width:100%}.mic-option:hover{background:var(--bg-card-hover);color:var(--text-primary)}.mic-option.active{background:#38bdf80f;color:var(--accent-cyan)}.calibration-row{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.calibration-info{display:flex;flex-direction:column;gap:.1rem}.calibration-title{color:var(--text-secondary);font-size:.8rem;font-weight:600}.calibration-value{color:var(--text-muted);font-size:.75rem}.calibration-panel{background:#38bdf80a;border:1px solid var(--border-mid);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.25rem}.calibration-desc{color:var(--text-secondary);font-size:.82rem;line-height:1.7}.calibration-input-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.calibration-input-row label{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.calibration-input{width:100px!important}.db-cal-tag{color:var(--text-muted);font-size:.7rem;font-weight:400}.too-loud-hint{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:var(--radius-sm);color:var(--accent-amber);font-size:.8rem;padding:.6rem .9rem}.task-overview{display:flex;flex-direction:column;gap:.5rem}.task-overview-row{align-items:center;background:var(--bg-surface);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.87rem;gap:.85rem;padding:.6rem .9rem}.task-suffix-chip{color:var(--accent-cyan);font-family:monospace;font-size:.78rem;margin-left:.25rem}.task-intro-header{align-items:center;display:flex;gap:1rem;margin-bottom:.25rem}.task-intro-icon{align-items:center;background:#38bdf81a;border:1px solid var(--border-mid);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:2rem;height:56px;justify-content:center;width:56px}.task-intro-desc{display:flex;flex-direction:column;gap:.5rem}.task-intro-desc p{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.reading-passage{background:var(--bg-surface);border-left:3px solid var(--accent-cyan);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-primary);font-size:.9rem;font-style:italic;line-height:1.8;margin:0;padding:.85rem 1.1rem}.alert-block.alert-info{background:#38bdf814;border:1px solid #38bdf833;color:var(--accent-cyan)}.alert-block.alert-info p,.task-recording-label{color:var(--text-secondary)}.task-recording-label{align-items:center;background:#38bdf814;border-radius:var(--radius-pill);display:flex;font-family:var(--font-display);font-size:.9rem;font-weight:700;gap:.5rem;margin-bottom:.25rem;padding:.4rem .75rem}.summary-list{display:flex;flex-direction:column;gap:.6rem}.summary-row{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.85rem 1rem}.summary-left,.summary-row{align-items:center;display:flex}.summary-left{gap:.75rem}.summary-icon{font-size:1.1rem}.summary-name{font-size:.88rem;font-weight:600}.summary-file{color:var(--accent-cyan);font-family:monospace;font-size:.75rem}.summary-right{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.summary-dur{color:var(--text-secondary);font-family:var(--font-display);font-size:.9rem;font-weight:700}.summary-audio{filter:invert(.85) hue-rotate(180deg);height:28px;width:180px}.stage-row-btns{display:flex;flex-direction:column;gap:.5rem}@media (max-width:640px){.task-stepper{flex-wrap:wrap}.step{flex:0 0 50%}.summary-right{width:100%}}.recording-hint-box{background:#38bdf80d;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.4rem;padding:.85rem 1rem;width:100%}.hint-line{color:var(--text-secondary);font-size:.83rem;line-height:1.6;margin:0}.reading-passage-sm{background:var(--bg-surface);border-left:3px solid var(--accent-cyan);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-primary);font-size:.85rem;font-style:italic;line-height:1.8;margin:0;padding:.65rem .9rem}.analysis-results{display:flex;flex-direction:column;gap:1.2rem;margin:.5rem 0 1.2rem;width:100%}.composite-score-block{align-items:baseline;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;gap:.5rem;justify-content:center;padding:1.2rem}.composite-label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.composite-value{font-size:3rem;font-weight:800;line-height:1}.composite-sub{color:var(--text-secondary);font-size:1.1rem}.subset-scores-row{display:flex;gap:.75rem}.subset-score-card{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;flex:1 1;flex-direction:column;gap:.25rem;padding:.85rem .5rem}.subset-score-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.subset-score-value{font-size:1.6rem;font-weight:700}.metrics-table-wrap{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1rem}.metrics-table-title{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;margin:0 0 .6rem;text-transform:uppercase}.metrics-table{border-collapse:collapse;font-size:.85rem;width:100%}.metrics-table th{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.78rem;font-weight:600;padding:.3rem .5rem;text-align:left}.metrics-table td{border-bottom:1px solid #ffffff0a;color:var(--text-primary);padding:.35rem .5rem}.metric-raw{font-family:Courier New,monospace;font-size:.83rem}.metric-score{font-weight:700}.info-metrics-row{border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.info-metric-chip{align-items:center;background:#38bdf80f;border:1px solid var(--border-subtle);border-radius:999px;display:flex;flex-direction:column;gap:.1rem;padding:.4rem .7rem}.info-metric-label{color:var(--text-secondary);font-size:.7rem}.info-metric-value{color:var(--text-primary);font-family:Courier New,monospace;font-size:.82rem;font-weight:600}.profile-layout{margin:0 auto;max-width:800px}.page-title{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1.75rem}.doctor-card{align-items:flex-start;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1.75rem 2rem;position:relative}.doctor-card:before{background:var(--gradient-glow);border-radius:var(--radius-xl);content:"";inset:0;pointer-events:none;position:absolute}.doctor-card-avatar{box-shadow:0 0 24px #38bdf833;font-size:1.5rem;height:72px;width:72px}.doctor-card-info{flex:1 1;min-width:0}.doctor-card-name{font-size:1.25rem;margin-bottom:.2rem}.doctor-card-role{color:var(--accent-cyan);font-size:.88rem;font-weight:500;margin-bottom:.35rem}.doctor-card-hospital{color:var(--text-secondary);font-size:.85rem;margin-bottom:.2rem}.doctor-card-address{color:var(--text-muted);font-size:.8rem}.doctor-card-id{flex-shrink:0}.settings-grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.settings-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.settings-section-title{color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;padding:1rem 1.5rem .5rem;text-transform:uppercase}.settings-items{display:flex;flex-direction:column}.setting-row{align-items:center;background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;gap:1rem;padding:.9rem 1.5rem;text-align:left;transition:background var(--transition-fast);width:100%}.setting-row:last-child{border-bottom:none}.setting-row:hover{background:var(--bg-card-hover)}.setting-row.danger:hover{background:#f43f5e0f}.setting-row.danger .setting-icon,.setting-row.danger .setting-label{color:var(--accent-rose)}.setting-icon{align-items:center;background:#38bdf814;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--accent-cyan);display:flex;flex-shrink:0;font-size:.9rem;height:32px;justify-content:center;width:32px}.setting-info{flex:1 1;min-width:0}.setting-label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500}.setting-desc{color:var(--text-muted);display:block;font-size:.78rem;margin-top:.1rem}.setting-arrow{color:var(--text-muted);font-size:1.2rem;transition:transform var(--transition-fast),color var(--transition-fast)}.setting-row:hover .setting-arrow{color:var(--accent-cyan);transform:translateX(3px)}.app-version{color:var(--text-disabled);font-size:.75rem;text-align:center}.modal-card{max-width:540px}.info-modal-body p{color:var(--text-secondary);font-size:.88rem;line-height:1.8;white-space:pre-wrap}.field-input{resize:vertical}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-ghost:hover{border-color:var(--border-bright);color:var(--text-primary)}.admin-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.admin-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.stats-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.4rem;padding:1.25rem 1.5rem;transition:border-color var(--transition-fast)}.stat-card:hover{border-color:var(--border-mid)}.stat-label{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.stat-value{color:var(--accent-cyan);font-family:var(--font-display);font-size:2rem;font-weight:700}.admin-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:300px 1fr}.admin-col-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:1rem 1.25rem}.admin-col-header h3{font-size:.95rem;font-weight:700}.admin-doctors-col{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;position:sticky;top:calc(var(--nav-height) + 1rem)}.doctors-list{display:flex;flex-direction:column}.doctor-card-item{align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;gap:.85rem;padding:.85rem 1.25rem;transition:background var(--transition-fast)}.doctor-card-item:last-child{border-bottom:none}.doctor-card-item:hover{background:var(--bg-card-hover)}.doctor-card-item.selected{background:#38bdf814;border-right:3px solid var(--accent-cyan)}.doctor-card-avatar{align-items:center;background:var(--gradient-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:var(--font-display);font-size:.8rem;font-weight:700;height:38px;justify-content:center;width:38px}.doctor-card-body{flex:1 1;min-width:0}.doctor-card-name{color:var(--text-primary);font-size:.88rem;font-weight:600}.doctor-card-spec{color:var(--accent-cyan);font-size:.75rem;margin-top:.1rem}.doctor-card-email{color:var(--text-muted);font-size:.72rem;margin-top:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doctor-card-arrow{color:var(--text-muted);font-size:1.1rem;transition:transform var(--transition-fast),color var(--transition-fast)}.doctor-card-item.selected .doctor-card-arrow,.doctor-card-item:hover .doctor-card-arrow{color:var(--accent-cyan);transform:translateX(3px)}.admin-patients-col{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.patients-rows{display:flex;flex-direction:column}.patient-row{align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:.85rem 1.25rem;transition:background var(--transition-fast)}.patient-row:last-child{border-bottom:none}.patient-row:hover{background:var(--bg-card-hover)}.patient-row-left{align-items:center;display:flex;gap:.85rem}.patient-row-avatar{align-items:center;background:linear-gradient(135deg,#38bdf833,#3b82f633);border:1px solid var(--border-mid);border-radius:50%;color:var(--accent-cyan);display:flex;flex-shrink:0;font-family:var(--font-display);font-size:.75rem;font-weight:700;height:34px;justify-content:center;width:34px}.patient-row-name{color:var(--text-primary);font-size:.88rem;font-weight:600}.patient-row-meta{color:var(--text-muted);font-size:.75rem;margin-top:.1rem}.patient-row-right{align-items:center;display:flex;flex-shrink:0;gap:1rem}.patient-row-sessions{color:var(--text-muted);font-size:.75rem}.patient-row-score{font-family:var(--font-display);font-size:.88rem;font-weight:700}.patient-row-arrow{color:var(--text-muted);font-size:1.1rem;transition:transform var(--transition-fast)}.patient-row:hover .patient-row-arrow{color:var(--accent-cyan);transform:translateX(3px)}.col-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:.87rem;gap:.75rem;justify-content:center;padding:3rem 1.5rem;text-align:center}.col-empty-icon{color:var(--text-disabled);font-size:1.5rem}.loading-list{display:flex;flex-direction:column;gap:0}.doctor-card-skeleton{height:64px;margin:0}.doctor-card-skeleton,.patient-row-skeleton{border-bottom:1px solid var(--border-subtle);border-radius:0}.patient-row-skeleton{height:56px}.search-wrapper.small{min-width:160px}.search-wrapper.small .search-input{font-size:.82rem;padding:.45rem .75rem .45rem 2rem}.modal-card{max-width:480px}.modal-body{display:flex;flex-direction:column;gap:.25rem;max-height:60vh}.toggle-pw:hover{color:var(--text-secondary)}.btn-primary.small{font-size:.82rem;padding:.4rem .9rem}.section-count{color:var(--text-muted);font-size:.8rem;font-weight:400}@media (max-width:768px){.admin-grid{grid-template-columns:1fr}.admin-doctors-col{position:static}.stats-row{grid-template-columns:1fr 1fr}}.doctor-detail-header{align-items:center;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:1rem;padding:1.25rem}.doctor-detail-avatar{align-items:center;background:var(--gradient-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:var(--font-display);font-size:1rem;font-weight:700;height:52px;justify-content:center;width:52px}.doctor-detail-info{flex:1 1;min-width:0}.doctor-detail-info h3{font-size:1rem;font-weight:700;margin-bottom:.1rem}.doctor-detail-info p{color:var(--accent-cyan);font-size:.8rem}.doctor-detail-email{color:var(--text-muted)!important;font-size:.75rem!important;margin-top:.1rem}.sa-header{align-items:flex-end;display:flex;flex-wrap:wrap;justify-content:space-between}.sa-header,.sa-stats{gap:1rem;margin-bottom:2rem}.sa-stats{grid-gap:1rem;display:grid;grid-template-columns:repeat(5,1fr)}.sa-stat-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.3rem;padding:1.25rem 1rem;text-align:center;transition:border-color var(--transition-fast)}.sa-stat-card:hover{border-color:var(--border-mid)}.sa-stat-value{color:var(--accent-cyan);font-family:var(--font-display);font-size:1.7rem;font-weight:800;line-height:1}.sa-stat-label{color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.list-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-wrapper{flex:1 1;min-width:220px;position:relative}.search-icon{color:var(--text-muted);font-size:1rem;left:.9rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;outline:none;padding:.7rem 2.5rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.search-input::placeholder{color:var(--text-disabled)}.search-input:focus{border-color:var(--border-bright);box-shadow:0 0 0 3px #38bdf81a}.search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.75rem;padding:.2rem;position:absolute;right:.9rem;top:50%;transform:translateY(-50%)}.list-count{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.hospital-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.hospital-card-skeleton{border-radius:var(--radius-lg);height:240px}.hospital-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.hospital-card:hover{border-color:var(--border-mid);box-shadow:var(--shadow-md)}.hospital-card-header{align-items:flex-start;display:flex;gap:.85rem;padding:1.25rem 1.25rem 1rem}.hospital-card-icon{align-items:center;background:#38bdf814;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;width:44px}.hospital-card-title{flex:1 1;min-width:0}.hospital-name{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hospital-city{color:var(--text-secondary);font-size:.78rem}.hospital-status{border-radius:var(--radius-pill);flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:.2rem .6rem;text-transform:uppercase}.hospital-status.active{background:#10b9811f;border:1px solid #10b98140;color:var(--accent-green)}.hospital-status.inactive{background:#f43f5e1f;border:1px solid #f43f5e40;color:var(--accent-rose)}.hospital-stats{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);padding:1rem 1.25rem}.hospital-stats,.hstat{align-items:center;display:flex}.hstat{flex:1 1;flex-direction:column;gap:.2rem;text-align:center}.hstat-value{color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;font-weight:800;line-height:1}.hstat-label{color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.hstat-divider{background:var(--border-subtle);flex-shrink:0;height:30px;width:1px}.hospital-card-footer{display:flex;flex-direction:column;gap:.4rem;padding:.85rem 1.25rem}.hospital-meta-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.hospital-meta-label{color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hospital-meta-value{color:var(--text-secondary);font-size:.82rem;text-align:right}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050b14cc;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:2000}.modal-card{background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:520px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:1.5rem 1.75rem}.modal-header h3{font-size:1.05rem}.modal-close{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:.3rem;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.modal-body{max-height:65vh;overflow-y:auto;padding:1.5rem 1.75rem}.modal-footer{border-top:1px solid var(--border-subtle);display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.75rem}.modal-section-label{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:.75rem;margin-top:.25rem;text-transform:uppercase}.modal-divider{background:var(--border-subtle);height:1px;margin:1.25rem 0}.modal-note{background:#38bdf80f;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.82rem;margin-bottom:.75rem;padding:.75rem 1rem}.modal-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.field-group{gap:.4rem;margin-bottom:.75rem}.field-input{font-size:.88rem;padding:.7rem .9rem}.required{color:var(--accent-rose)}.input-wrapper{position:relative}.field-input.with-toggle{padding-right:2.75rem}.toggle-pw{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;position:absolute;right:.9rem;top:50%;transform:translateY(-50%);transition:color var(--transition-fast)}.btn-primary{box-shadow:0 4px 16px #38bdf82e}.btn-ghost,.btn-primary{font-size:.9rem;padding:.7rem 1.35rem;white-space:nowrap}.btn-ghost{align-items:center;background:none;border:1px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;transition:all var(--transition-fast)}.btn-ghost:hover:not(:disabled){border-color:var(--border-bright);color:var(--text-primary)}.btn-ghost:disabled{cursor:not-allowed;opacity:.5}.spinner-sm{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:12px;width:12px}.empty-state{color:var(--text-secondary);padding:4rem 2rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{margin-bottom:.5rem}.empty-state p{color:var(--text-muted);font-size:.88rem;margin-bottom:1.5rem}.dashboard-greeting{color:var(--text-muted);font-size:.85rem;margin-bottom:.25rem}.dashboard-title{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.25rem}.dashboard-sub{color:var(--text-secondary);font-size:.88rem}@media (max-width:900px){.sa-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:600px){.sa-stats{grid-template-columns:repeat(2,1fr)}.hospital-grid,.modal-row{grid-template-columns:1fr}}.drawer-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050b1499;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:2000}.drawer-panel{animation:slideInRight .3s cubic-bezier(.4,0,.2,1);background:var(--bg-card);border-left:1px solid var(--border-mid);box-shadow:-8px 0 40px #0006;display:flex;flex-direction:column;height:100%;overflow:hidden;width:min(520px,100vw)}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:1rem;justify-content:space-between;padding:1.75rem}.drawer-title{font-size:1.25rem;font-weight:700}.drawer-subtitle{color:var(--text-secondary);font-size:.85rem;margin-top:.25rem}.drawer-body{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.5rem}.drawer-stats{grid-gap:0;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:grid;flex-shrink:0;gap:0;grid-template-columns:repeat(4,1fr);overflow:visible}.dstat{align-items:center;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.3rem;justify-content:center;min-height:76px;min-width:0;padding:1.1rem .5rem 1rem;text-align:center}.dstat:last-child{border-right:none}.dstat-value{color:var(--accent-cyan);font-family:var(--font-display);font-size:1.3rem;font-weight:800;line-height:1.2;word-break:break-all}.dstat-label{color:var(--text-muted);font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.drawer-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.drawer-section-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:.85rem 1.1rem}.drawer-section-header h4{font-size:.88rem;font-weight:700}.info-rows{display:flex;flex-direction:column}.info-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;font-size:.84rem;justify-content:space-between;padding:.6rem 1.1rem}.info-row:last-child{border-bottom:none}.info-row span:first-child{color:var(--text-muted);font-weight:500}.info-row span:last-child{color:var(--text-primary);text-align:right}.info-empty{color:var(--text-muted);font-size:.85rem;font-style:italic;padding:1rem 1.1rem}.mono{color:var(--accent-cyan);font-family:monospace;font-size:.78rem}.text-muted-val{color:var(--text-muted)}.edit-block{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}.hospital-card{cursor:pointer}.hospital-card:hover{border-color:var(--accent-cyan)}.hospital-card:focus{outline:2px solid var(--accent-cyan);outline-offset:2px}.hospital-card-cta{color:var(--accent-cyan);font-size:.75rem;font-weight:600;margin-top:.5rem;text-align:right}.toggle-row{background:#38bdf80d;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:.75rem;padding:.85rem 1rem}.toggle-label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:.75rem;-webkit-user-select:none;user-select:none}.toggle-label input[type=checkbox]{display:none}.toggle-switch{background:var(--border-mid);border-radius:10px;flex-shrink:0;height:20px;position:relative;transition:background var(--transition-fast);width:36px}.toggle-switch:after{background:#fff;border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;transition:transform var(--transition-fast);width:14px}.toggle-label input:checked+.toggle-switch{background:var(--accent-cyan)}.toggle-label input:checked+.toggle-switch:after{transform:translateX(16px)}.edit-btn{background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.78rem;padding:.3rem .7rem;transition:all var(--transition-fast);white-space:nowrap}.edit-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.optional{color:var(--text-muted);font-weight:400;letter-spacing:0;text-transform:none}.hospital-modal{display:flex;flex-direction:column;max-height:85vh;max-width:620px}.hospital-modal .drawer-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:1.5rem 1.75rem}.hospital-modal .drawer-body{display:flex;flex:1 1;flex-direction:column;gap:1.25rem;overflow-y:auto;padding:1.5rem 1.75rem}.hospital-modal .drawer-section{overflow:visible}.hospital-modal .edit-block{max-height:320px;overflow-y:auto}.sa-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.sa-header-actions .btn-ghost,.sa-header-actions .btn-primary{box-sizing:border-box!important;font-family:var(--font-display)!important;font-size:.9rem!important;font-weight:600!important;height:40px!important;line-height:1.25!important;margin:0!important;padding:.65rem 1.25rem!important}.export-modal{display:flex;flex-direction:column;max-height:88vh;max-width:560px}.export-modal .modal-body{flex:1 1;max-height:none;overflow-y:auto}.export-presets{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem;margin-top:.5rem}.export-preset-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;padding:.3rem .75rem;transition:all var(--transition-fast)}.export-preset-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.export-hospital-list{display:flex;flex-direction:column;gap:.3rem;max-height:180px;overflow-y:auto;padding:.25rem 0}.export-hospital-row{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:.6rem;padding:.5rem .6rem;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.export-hospital-row:hover{background:var(--bg-surface)}.export-hospital-all{border-bottom:1px solid var(--border-subtle);margin-bottom:.25rem;padding-bottom:.6rem}.export-hospital-row input[type=checkbox]{accent-color:var(--accent-cyan);cursor:pointer;flex-shrink:0;height:14px;width:14px}.export-hosp-name{color:var(--text-primary);flex:1 1;font-size:.85rem;font-weight:500}.export-hosp-count{color:var(--text-muted);font-size:.75rem;white-space:nowrap}.export-success-note{background:#10b9811a;border:1px solid #10b98140;border-radius:var(--radius-sm);color:var(--accent-green)}.export-error-note,.export-success-note{font-size:.82rem;margin-top:.75rem;padding:.6rem .9rem}.export-error-note{background:#f43f5e14;border:1px solid #f43f5e33;border-radius:var(--radius-sm);color:var(--accent-rose)}.fcp-root{align-items:center;background:var(--bg-deep);display:flex;justify-content:center;min-height:100vh;padding:2rem 1.5rem}.fcp-card{background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;padding:2.5rem;width:100%}.fcp-icon{font-size:2.5rem;margin-bottom:1rem}.fcp-card h2{font-size:1.4rem;margin-bottom:.5rem}.fcp-sub{color:var(--text-secondary);font-size:.88rem;line-height:1.7;margin-bottom:1.75rem}.field-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field-group label{color:var(--text-secondary);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.field-input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;outline:none;padding:.75rem .9rem;transition:border-color var(--transition-fast);width:100%}.field-input:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px #38bdf81a}.has-error .field-input{border-color:var(--accent-rose)}.field-error{color:var(--accent-rose);font-size:.75rem}.field-hint{color:var(--text-muted);font-size:.75rem}.btn-primary{align-items:center;background:var(--gradient-primary);border:none;border-radius:var(--radius-sm);box-shadow:0 4px 20px #38bdf833;color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-display);font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.85rem 1.35rem;transition:opacity var(--transition-fast),transform var(--transition-fast)}.btn-primary.full{width:100%}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.spinner{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.password-hint{color:#777;display:block;font-size:12px;line-height:1.4;margin-top:6px}:root{--bg-deep:#050b14;--bg-surface:#0c1828;--bg-card:#101f34;--bg-card-hover:#152540;--bg-glass:#101f34b3;--border-subtle:#63b3ed1a;--border-mid:#63b3ed33;--border-bright:#63b3ed73;--accent-cyan:#38bdf8;--accent-blue:#3b82f6;--accent-teal:#14b8a6;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--accent-green:#10b981;--text-primary:#e8f4fd;--text-secondary:#7fa8c9;--text-muted:#4a6f8a;--text-disabled:#2a4a63;--gradient-primary:linear-gradient(135deg,#38bdf8,#3b82f6);--gradient-surface:linear-gradient(160deg,#0c1828,#050b14);--gradient-card:linear-gradient(145deg,#101f34,#0c1828);--gradient-glow:radial-gradient(ellipse at 50% 0%,#38bdf81f 0%,#0000 70%);--shadow-sm:0 2px 8px #0006;--shadow-md:0 4px 20px #00000080;--shadow-lg:0 8px 40px #0009;--shadow-glow:0 0 30px #38bdf826;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--font-display:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--nav-height:64px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#050b14;background:var(--bg-deep);color:#e8f4fd;color:var(--text-primary);font-family:DM Sans,sans-serif;font-family:var(--font-body);line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{background:radial-gradient(ellipse at 50% 0,#38bdf81f 0,#0000 70%);background:var(--gradient-glow);content:"";inset:0;pointer-events:none;position:fixed;z-index:0}#root{position:relative;z-index:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0c1828;background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:#63b3ed73;background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#38bdf8;background:var(--accent-cyan)}h1,h2,h3,h4,h5,h6{font-family:Syne,sans-serif;font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:clamp(1.8rem,4vw,2.8rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:clamp(1.1rem,2vw,1.4rem)}a{color:#38bdf8;color:var(--accent-cyan);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#e8f4fd;color:var(--text-primary)}button{cursor:pointer}button,input,select,textarea{font-family:DM Sans,sans-serif;font-family:var(--font-body)}.page-wrapper{min-height:100vh;padding-top:64px;padding-top:var(--nav-height)}.content-container{margin:0 auto;max-width:1200px;padding:2rem 1.5rem}.glass-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#101f34b3;background:var(--bg-glass);border:1px solid #63b3ed1a;border:1px solid var(--border-subtle);border-radius:18px;border-radius:var(--radius-lg)}.chip{align-items:center;border-radius:999px;border-radius:var(--radius-pill);display:inline-flex;font-size:.72rem;font-weight:600;gap:.4rem;letter-spacing:.04em;padding:.2rem .75rem;text-transform:uppercase}.chip-cyan{background:#38bdf81f;border:1px solid #38bdf840;color:#38bdf8;color:var(--accent-cyan)}.chip-green{background:#10b9811f;border:1px solid #10b98140;color:#10b981;color:var(--accent-green)}.chip-amber{background:#f59e0b1f;border:1px solid #f59e0b40;color:#f59e0b;color:var(--accent-amber)}.chip-rose{background:#f43f5e1f;border:1px solid #f43f5e40;color:#f43f5e;color:var(--accent-rose)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-in{animation:fadeInUp .4s ease forwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#101f34 25%,#152540 50%,#101f34 75%);background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-card-hover) 50%,var(--bg-card) 75%);background-size:200% 100%;border-radius:6px;border-radius:var(--radius-sm)}.divider{background:#63b3ed1a;background:var(--border-subtle);height:1px;margin:1.5rem 0}.auth-loading{align-items:center;background:#050b14;background:var(--bg-deep);display:flex;justify-content:center;min-height:100vh}.auth-spinner{animation:spin .8s linear infinite;border:3px solid #63b3ed33;border-top-color:#38bdf8;border:3px solid var(--border-mid);border-radius:50%;border-top-color:var(--accent-cyan);height:40px;width:40px}
/*# sourceMappingURL=main.9873a2ea.css.map*/