.split-container{display:flex;height:100vh;overflow:hidden}.image-section{flex:1;background:#0a0a0a;display:flex;align-items:center;justify-content:center;min-width:45%;position:relative}.image-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.login-image{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .3s ease}.form-section{flex:1;background:#151515;display:flex;align-items:center;justify-content:center;padding:2rem;min-width:400px}.login-form-container{max-width:400px;width:100%;padding:0 1.5rem}.welcome-title{color:#fff;text-align:center;font-size:2.4rem;margin-bottom:2.5rem;font-weight:500;letter-spacing:.5px}.login-form{display:flex;flex-direction:column;gap:1.8rem}.input-group{position:relative}.auth-input{width:100%;padding:1rem 1.2rem;background:#ffffff0d;border:1px solid #2d2d2d;border-radius:8px;color:#fff;font-size:1rem;transition:all .3s ease}.auth-input:focus{border-color:#914445;outline:none;background:#ffffff14}.auth-input::placeholder{color:#8895a8;transition:all .2s ease}.auth-input:focus::placeholder{color:transparent}.login-button{background:#914445;color:#fff;border:none;padding:1.2rem;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:background .3s ease;margin-top:1rem}.login-button:hover:not(:disabled){background:#7a3637}.login-button:disabled{opacity:.7;cursor:not-allowed}.auth-footer{margin-top:2.5rem;text-align:center}.register-prompt{color:#8895a8;font-size:1rem}.register-link{color:#fff;margin-left:.5rem;text-decoration:none;font-weight:500;transition:color .2s ease}.register-link:hover{color:#914445;text-decoration:underline}.auth-error{background:#91444533;color:#ff9e9e;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #914445;text-align:center}@media(max-width:1200px){.split-container{flex-direction:column}.image-section{height:40vh;min-width:100%}.form-section{height:60vh;min-width:100%;padding:2rem 1rem}.login-form-container{max-width:500px}}@media(max-width:768px){.image-section{height:30vh}.form-section{height:70vh}.welcome-title{font-size:1.8rem}}@media(max-width:480px){.form-section{min-width:100%;padding:1rem}.auth-input,.login-button{padding:.8rem}}@media(min-width:1920px){.login-form-container{max-width:500px}.welcome-title{font-size:2.5rem}.auth-input{padding:1.2rem;font-size:1.1rem}.login-button{padding:1.2rem;font-size:1.2rem}}@media(min-aspect-ratio:21/9){.image-section{min-width:60%}.login-image{width:auto;height:100%;max-width:none}}@media(orientation:portrait)and (max-width:768px){.split-container{flex-direction:column}.image-section{height:30vh}.form-section{height:70vh}}@media(max-height:700px){.split-container{overflow-y:auto}.image-section{height:300px}.form-section{min-height:calc(100vh - 300px)}.login-form-container{padding:1rem 0}}.form-subtitle{color:#8895a8;text-align:center;margin-bottom:2rem;font-size:1.1rem}.terms-group{display:flex;align-items:flex-start;margin:1.5rem 0}.terms-checkbox{margin-right:10px;margin-top:4px}.terms-label{color:#8895a8;font-size:.95rem;line-height:1.4}.terms-link{color:#fff;text-decoration:none;transition:color .2s ease}.terms-link:hover{color:#914445;text-decoration:underline}.register-button{background:#914445;color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1.1rem;cursor:pointer;transition:background .3s ease;width:100%}.register-button:hover:not(:disabled){background:#7a3637}.register-button:disabled{opacity:.7;cursor:not-allowed}.login-prompt{color:#8895a8;font-size:1rem;text-align:center}.login-link{color:#fff;margin-left:.5rem;text-decoration:none;font-weight:500;transition:color .2s ease}.login-link:hover{color:#914445;text-decoration:underline}.auth-field-error{color:#ff9e9e;font-size:.85rem;margin-top:.3rem}.dashboard-sidebar{width:200px;background:#2b2b2b;display:flex;flex-direction:column;padding:1.5rem 0;position:fixed;height:100vh;z-index:100;transition:transform .3s ease}.logo-text{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.admin-badge{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#4c799b;color:#fff;padding:2px 6px;border-radius:4px}.sidebar-header{padding:0 1.5rem 1.5rem;border-bottom:1px solid #3a3a3a}.navigation-section{padding:1.5rem 1.5rem .5rem}.quick-actions-section{padding:1.5rem}.new-patient-btn{display:flex;background:#914445;color:#fff;width:80%;padding:1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.section-title{color:#8895a8;text-transform:uppercase;font-size:.75rem;letter-spacing:1px;margin-bottom:1rem}.qas-links,.nav-links{display:flex;flex-direction:column;gap:.5rem}.nav-link{display:flex;align-items:center;padding:.75rem;border-radius:6px;color:#d1d5db;text-decoration:none;transition:all .2s}.nav-link:hover{background:#3a3a3a}.nav-link.active{background:#4c799b;color:#fff}.nav-icon{margin-right:.75rem}.logout-btn{display:flex;align-items:center;width:100%;padding:1.25rem;background:#4c799b;color:#fff;border:none;border-radius:6px;text-align:center;justify-content:center;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#7a3637}.mobile-menu-btn{display:none;position:fixed;top:1rem;left:1rem;z-index:101;width:40px;height:40px;background:#4c799b;border:none;padding:0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;cursor:pointer}.hamburger-line{width:24px;height:2px;background:#fff;margin:2px 0}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99;display:none}@media(max-width:1768px){.mobile-menu-btn{display:flex}.dashboard-sidebar{transform:translate(-100%)}.dashboard-sidebar.mobile-open{transform:translate(0)}.mobile-overlay{display:block}.dashboard-main{margin-left:0;width:100%;padding:1rem}.dashboard-header h1{font-size:1.5rem}.stats-grid,.main-content-grid{grid-template-columns:1fr}}.patient-info-card{background:#1a1a1a;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a}.patient-header{display:flex;align-items:center;margin-bottom:1.5rem}.patient-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;margin-right:1.5rem;background:#2b2b2b;display:flex;align-items:center;justify-content:center}.avatar-image{width:100%;height:100%;object-fit:cover}.patient-details{flex:1}.patient-name{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.patient-meta{display:flex;gap:1.5rem}.patient-meta-item{color:#8895a8}.patient-actions{display:flex;justify-content:flex-end}.start-analysis-btn{background:#4c799b;color:#fff;border:none;padding:.75rem 2rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:.5rem}.start-analysis-btn:hover{background:#3d6380}.start-analysis-btn.disabled{background:#2b2b2b;color:#8895a8;cursor:not-allowed}.upload-card{background:#1a1a1a;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000001a}.upload-card .card-header{margin-bottom:1.5rem}.upload-card .card-header h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.upload-card .card-header p{color:#8895a8;font-size:.875rem}.file-preview{display:flex;align-items:center;background:#2b2b2b;border-radius:8px;padding:1rem;margin-top:1rem}.file-icon{width:40px;height:40px;background:#4c799b;border-radius:6px;display:flex;align-items:center;justify-content:center;margin-right:1rem;font-size:1.25rem}.file-details{flex:1}.file-name{font-weight:500;margin-bottom:.25rem}.file-size{color:#8895a8;font-size:.875rem}.remove-file-btn{background:#2b2b2b;color:#ef4444;border:1px solid #ef4444;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.remove-file-btn:hover{background:#ef44441a}.dropzone{border:2px dashed #4c799b;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease;background:#2b2b2b;color:#8895a8}.dropzone.active{border-color:#4c799b;background:#4c799b1a}.dropzone.disabled{opacity:.5;cursor:not-allowed}.dropzone p{margin:0}.upload-error{color:#ef4444;background:#ef44441a;padding:.75rem;border-radius:6px;margin-top:1rem;border:1px solid rgba(239,68,68,.3)}.upload-instructions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.instruction-step{background:#1a1a1a;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.instruction-step h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.instruction-step p{color:#8895a8}@media(max-width:768px){.patient-header{flex-direction:column;align-items:flex-start}.patient-avatar{margin-right:0;margin-bottom:1rem}.patient-meta{flex-direction:column;gap:.5rem}.file-preview{flex-direction:column;align-items:flex-start}.remove-file-btn{width:100%;margin-top:1rem}}.dashboard-container{display:flex;background:#1a1a1a;color:#fff;min-height:100vh}.dashboard-main{flex:1;padding:1.5rem}.dashboard-header h1{margin:0;color:#d1d5db}.dashboard-header p{margin:.25rem 0 1rem;color:#8895a8}.ecg-controls{display:flex;gap:2rem;margin-bottom:2rem}.metadata-panel{background:#3a3a3a;padding:1rem;border-radius:8px;flex-shrink:0;min-width:200px}.metadata-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.controls-group{display:flex;flex-direction:column;gap:1rem;flex-grow:1}.time-control,.zoom-control{display:flex;align-items:center;gap:.5rem}.time-slider{flex-grow:1;height:4px;color:#000;background:#1b1b1b;border-radius:2px}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#00b4d8;cursor:pointer}.time-display{font-family:monospace;background:#3a3a3a;padding:.2rem .5rem;border-radius:4px}.zoom-buttons{display:flex;align-items:center;gap:.5rem}.zoom-buttons button{padding:.2rem .5rem;background:#4c799b;border:1px solid #00b4d8;border-radius:4px;color:#d1d5db;cursor:pointer}.zoom-buttons button:hover{background:#00b4d8;color:#0a192f}.reset-button{padding:.4rem .8rem;background:#4c799b;color:#d1d5db;border:1px solid #00b4d8;border-radius:4px;cursor:pointer}.process-button{padding:.8rem 1.2rem;background:#4c799b;color:#d1d5db;border:none;border-radius:4px;cursor:pointer;font-weight:700}.process-button:disabled{opacity:.6;cursor:not-allowed}.ecg-grid{display:flex;flex-direction:column;gap:2rem}.ecg-lead-card{background:#2b2b2b;width:90%;max-width:1200px;margin:0 auto;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0003}.lead-header h3{margin:0 0 .5rem;color:#d1d5db}.unit-label{margin-left:.5rem;color:#d1d5db}.ecg-chart-container{position:relative;height:400px;overflow:hidden}.dashboard-container{display:flex;min-height:100vh;background:#0a0a0a;color:#fff}.logo-container{display:flex;align-items:center;gap:.75rem}.logo-icon{width:40px;height:40px;background:#4c799b;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.dashboard-main{flex:1;padding:2rem;margin-left:260px;width:calc(100% - 260px);transition:margin-left .3s ease}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.dashboard-header p{color:#8895a8}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.main-content-grid{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem}.patients-list-card{background:#2a2a2a;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.card-header h3{font-size:1.25rem;font-weight:600}.search-container{position:relative}.search-input{background:#1b1b1b;border:none;border-radius:6px;padding:.5rem 1rem .5rem 2.5rem;color:#fff;width:200px}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#8895a8}.patients-list{background:#1f1f1f;border-radius:8px;overflow:hidden}.list-header,.list-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:.75rem 1rem}.recent-header,.recent-row{grid-template-columns:2fr 1.2fr 1fr}.list-header{background:#1b1b1b;font-weight:500;color:#8895a8}.list-row{border-bottom:1px solid #1b1b2b;cursor:pointer;transition:background .15s}.list-row:hover{background:#333}.list-row:focus{outline:2px solid #4c799b;outline-offset:-2px}.list-row:last-child{border-bottom:none}.list-cell{display:flex;align-items:center}.name-cell{font-weight:500}.new-patient-card{background:#2a2a2a;border:2px dashed #3a3a3a;border-radius:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-height:220px}.new-patient-card:hover{border-color:#4c799b;background:#1f2a33}.new-patient-card-inner{text-align:center;padding:2rem}.new-patient-icon{width:64px;height:64px;background:#4c799b;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff}.new-patient-card h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.new-patient-card p{color:#8895a8;font-size:.9rem}.empty-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:#8895a8}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;height:60vh;color:#8895a8}.dashboard-error-banner{display:flex;align-items:center;gap:.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem}.stats-card{background:#2a2a2a;border-radius:12px;padding:1.5rem;color:#fff;box-shadow:0 4px 6px #0000001a;display:flex;align-items:center}.card-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem}.blue-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.green-icon{background:linear-gradient(135deg,#10b981,#047857)}.amber-icon{background:linear-gradient(135deg,#f59e0b,#b45309)}.violet-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.card-text h3{font-size:1rem;font-weight:500;margin-bottom:.25rem;color:#8895a8}.card-text p{font-size:1.5rem;font-weight:700}.view-details-btn{display:flex;align-items:center;background:transparent;color:#4c799b;border:1px solid #4c799b;padding:.5rem 1rem;border-radius:6px;text-decoration:none;font-size:.875rem;transition:all .2s;cursor:pointer}.view-details-btn:hover{background:#4c799b1a}.logout-section{margin-top:auto;padding:1.5rem;border-top:1px solid #3a3a3a}@media(max-width:1768px){.dashboard-main{margin-left:0;width:100%;padding:1rem}.dashboard-header h1{font-size:1.5rem}.stats-grid,.main-content-grid{grid-template-columns:1fr}.new-patient-card{min-height:140px}}.centered-header{margin-bottom:2rem}.form-container{max-width:600px;margin:0 auto;background:#1a1a1a;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.centered-section{display:flex;flex-direction:column;align-items:center}.form-subheader{margin-bottom:2rem;width:100%}.form-subheader h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#d1d5db}.subheader-line{height:2px;width:100px;background:#4c799b}.vertical-form{width:100%;display:flex;flex-direction:column;gap:1.5rem}.vertical-group{display:flex;flex-direction:column;width:100%}.vertical-group label{margin-bottom:.5rem;font-weight:500;color:#d1d5db}.vertical-group input{width:100%;padding:.75rem;background:#2b2b2b;border:1px solid #3a3a3a;border-radius:6px;color:#fff;font-size:1rem}.horizontal-radio{display:flex;margin-top:.5rem}.radio-option{display:flex;align-items:center;cursor:pointer}.radio-label{margin-left:.5rem}.form-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #3a3a3a;width:100%}.cancel-btn{background:#914445;color:#d1d5db;border:none;padding:.75rem 2rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.cancel-btn:hover{background:#3a3a3a}.create-btn{background:#4c799b;color:#fff;border:none;padding:.75rem 2rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.create-btn:hover{background:#3d6380}.required{color:#914445}.error-message{color:#ef4444;font-size:.875rem;margin-top:.25rem}.input-error{border-color:#ef4444!important}@media(max-width:768px){.form-container{padding:1.5rem}.horizontal-radio{flex-direction:column;gap:.5rem}.form-actions{flex-direction:column;gap:.75rem}.cancel-btn,.create-btn{width:100%;text-align:center}}.ecg-chart-container{position:relative;height:400px;width:100%}.chart-debug-info{position:absolute;top:5px;right:5px;background:#000000b3;color:#fff;padding:2px 5px;border-radius:3px;font-size:10px;z-index:10}.zoom-state-info{background:#f5f5f5;padding:10px;margin:10px 0;border-radius:5px;text-align:center;font-weight:700}.report-modal{background:#2a2a2a;border-radius:12px;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;border:1px solid #3a3a3a}.report-modal__header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #3a3a3a;flex-shrink:0}.report-modal__title{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.report-modal__body{padding:1.5rem;overflow-y:auto;flex:1}.report-section{margin-bottom:1.5rem}.report-section:last-child{margin-bottom:0}.report-section__title{display:block;font-size:.85rem;font-weight:600;color:#4c799b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.report-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.report-info-item{display:flex;flex-direction:column;gap:2px}.report-info-item__label{font-size:.75rem;color:#888;font-weight:500}.report-info-item__value{font-size:.95rem;color:#e0e0e0;font-weight:500;background:#1b1b1b;padding:.4rem .6rem;border-radius:4px;border:1px solid #333}.report-chart-preview{background:#1b1b1b;border:1px solid #333;border-radius:6px;padding:.5rem;display:flex;align-items:center;justify-content:center;min-height:100px;overflow:hidden}.report-chart-preview img{max-width:100%;max-height:200px;border-radius:4px;object-fit:contain}.report-chart-preview__placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#666;font-size:.85rem}.report-chart-preview__spinner{border:3px solid #333;border-top:3px solid #4c799b;border-radius:50%;width:24px;height:24px;animation:report-spin 1s linear infinite}@keyframes report-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.report-notes-textarea{width:100%;min-height:100px;padding:.75rem;background:#1b1b1b;border:1px solid #333;border-radius:6px;color:#e0e0e0;font-family:inherit;font-size:.9rem;line-height:1.5;resize:vertical;transition:border-color .2s;box-sizing:border-box}.report-notes-textarea::placeholder{color:#555}.report-notes-textarea:focus{outline:none;border-color:#4c799b}.report-info-item--full{grid-column:1 / -1}.report-error{background:#c8323226;border:1px solid rgba(200,50,50,.3);border-radius:6px;padding:.6rem .75rem;color:#e07070;font-size:.85rem;margin-bottom:1rem}@media(max-width:640px){.report-modal{max-width:100%;max-height:100vh;border-radius:0}.report-info-grid{grid-template-columns:1fr}}.stats-block{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:20px}.stat-card{flex:1 1 200px;background:#3a3a3a;border:1px solid #ddd;padding:1.5rem;text-align:center;color:#fff;border-radius:8px}.stat-card h3{margin:0 0 .5rem;font-size:1.4rem;font-weight:600}.stat-card p{margin:0;font-size:2rem;font-weight:600}.ecg-block{background:#2a2a2a;padding:1rem;border-radius:4px;box-shadow:0 2px 8px #0000000d;display:grid;grid-template-columns:1fr;gap:1rem}.ecg-lead-card{background:#3a3a3a;border:2px solid #e5e5e5;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a}.ecg-lead-card h4{margin:0 0 1rem;font-size:1.5rem;text-align:center;color:#fff;font-weight:700}.ecg-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.ecg-header h1{font-size:2.5rem;margin:0 0 .5rem;color:#fff}.ecg-header p{font-size:1.4rem;margin:0;color:#ccc}.ecg-tip{font-size:.9rem!important;color:#ccc!important;margin-top:5px!important}.ecg-header__actions{display:flex;gap:.75rem;align-items:flex-start;flex-shrink:0}.generate-report-btn{background:#4c799b;color:#fff;border:none;padding:1rem 1.5rem;border-radius:6px;font-size:1.3rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.generate-report-btn:hover{background:#3d6a8c;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.generate-report-btn:active{transform:translateY(0)}.calculate-map-btn{background:#555;color:#999;border:none;padding:1rem 2rem;border-radius:6px;font-size:1.3rem;font-weight:600;cursor:not-allowed;transition:all .3s ease}.calculate-map-btn.active{background:#4caf50;color:#fff;cursor:pointer}.calculate-map-btn.active:hover{background:#3d8b40;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.loading-container{display:flex;justify-content:center;align-items:center;height:50vh}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:50px;height:50px;animation:spin 2s linear infinite}.dashboard-container{height:auto;width:100%}.dashboard-main{padding:1rem;flex:1;transition:margin-left .3s ease;background:#1a1a1a;min-height:100%;width:100%}.header-controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.layout-controls{margin-bottom:2rem;display:flex;justify-content:center}.layout-buttons{display:flex;gap:.5rem;background:#3a3a3a;padding:.5rem;border-radius:8px;border:1px solid #555}.layout-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;background:transparent;color:#ccc;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.layout-btn:hover{background:#4a4a4a;color:#fff}.layout-btn.active{background:#4c799b;color:#fff}.ecg-block.layout-oneColumn{display:flex;flex-direction:column;gap:5px}.ecg-block.layout-twoColumns{display:grid;grid-template-columns:1fr 1fr;gap:0px}.ecg-block.layout-twoColumns .ecg-lead-card{padding:1rem;min-width:0}.ecg-block.layout-twoColumns .ecg-lead-card h4{font-size:1.2rem;margin-bottom:.5rem}.ecg-block.layout-twoColumns .ecg-chart-container{height:300px}.ecg-block.layout-fourColumns{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:0px}.ecg-column{display:flex;flex-direction:column;gap:0px}.ecg-block.layout-fourColumns .ecg-lead-card{padding:1rem;min-width:0}.ecg-block.layout-fourColumns .ecg-lead-card h4{font-size:1.2rem;margin-bottom:.5rem}.ecg-block.layout-fourColumns .ecg-chart-container{height:300px}@media(max-width:1768px){.dashboard-main{margin-left:0;width:100%;padding:2rem}}@media(max-width:1200px){.ecg-block.layout-fourColumns{grid-template-columns:1fr 1fr}}@media(max-width:768px){.ecg-block.layout-twoColumns,.ecg-block.layout-fourColumns{grid-template-columns:1fr}.ecg-header{flex-direction:column;gap:10px}.ecg-header__actions{flex-direction:column;width:100%}.generate-report-btn,.calculate-map-btn{width:100%;justify-content:center}.header-controls{align-items:stretch;width:100%}.layout-buttons{justify-content:center}}.calculate-map-btn:disabled{opacity:.5;cursor:not-allowed}.ecg-error-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.ecg-error-banner__dismiss{background:none;border:none;color:#ef4444;font-size:1.25rem;cursor:pointer;padding:0 .25rem;line-height:1;flex-shrink:0}.ecg-error-banner__dismiss:hover{color:#fff}.landing-page{--bg: #1a1a1a;--box: #2b2b2b;--border: #3a3a3a;--btn-blue: #4c799b;--btn-red: #914445;--text: #e8e4dc;--text-muted: #7a7a7a;--accent: #6fa3cb;--accent-warm: #c45d5e;--grid: rgba(255,255,255,.03);background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-weight:300;overflow-x:hidden}.landing-page *,.landing-page *:before,.landing-page *:after{box-sizing:border-box}.landing-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.landing-page nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 48px;background:linear-gradient(to bottom,rgba(26,26,26,.98),transparent)}.landing-page .nav-logo{font-family:"DM Serif Display",serif;font-size:1.3rem;letter-spacing:-.01em;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:10px}.landing-page .nav-logo .pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-warm)}.landing-page .nav-links{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}.landing-page .nav-links a{font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color .2s}.landing-page .nav-links a:hover{color:var(--text)}.landing-page .btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:all .2s}.landing-page .btn-blue{background:var(--btn-blue);color:#fff}.landing-page .btn-blue:hover{background:#5a8ab0;transform:translateY(-1px);box-shadow:0 4px 20px #4c799b4d}.landing-page .btn-red{background:var(--btn-red);color:#fff}.landing-page .btn-red:hover{background:#a44f50;transform:translateY(-1px);box-shadow:0 4px 20px #9144454d}.landing-page .btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}.landing-page .btn-outline:hover{border-color:var(--accent);color:var(--accent)}.landing-page .btn.full-width{margin-top:16px;width:100%;justify-content:center}.landing-page .cta-btn{padding:14px 32px;font-size:.8rem}.landing-page #hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 48px;overflow:hidden;z-index:1}.landing-page .hero-tag{font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:12px}.landing-page .hero-tag:before{content:"";display:block;width:32px;height:1px;background:var(--accent)}.landing-page h1{font-family:"DM Serif Display",serif;font-size:clamp(3rem,7vw,6.5rem);line-height:1;letter-spacing:-.02em;max-width:700px;margin-bottom:28px}.landing-page h1 em{font-style:italic;color:var(--accent)}.landing-page .hero-sub{font-size:1.05rem;line-height:1.7;color:var(--text-muted);max-width:480px;margin-bottom:40px}.landing-page .hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.landing-page .hero-stats{display:flex;flex-direction:row;gap:16px;margin-top:48px;z-index:2}.landing-page .stat-card{background:var(--box);border:1px solid var(--border);border-left:2px solid var(--accent);padding:16px 20px;min-width:180px}.landing-page .stat-card:nth-child(2){border-left-color:var(--accent-warm)}.landing-page .stat-val{font-family:IBM Plex Mono,monospace;font-size:1.8rem;font-weight:500;color:var(--text);line-height:1}.landing-page .stat-label{font-family:IBM Plex Mono,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-top:4px}.landing-page section{position:relative;z-index:1}.landing-page .section-wrap{max-width:1200px;margin:0 auto;padding:100px 48px}.landing-page .section-label{font-family:IBM Plex Mono,monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;display:flex;align-items:center;gap:10px}.landing-page .section-label:after{content:"";flex:1;height:1px;background:var(--border)}.landing-page h2{font-family:"DM Serif Display",serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin-bottom:16px}.landing-page .tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}.landing-page .tech-card{background:var(--box);border:1px solid var(--border);padding:32px;position:relative;overflow:hidden;transition:border-color .3s}.landing-page .tech-card:hover{border-color:var(--accent)}.landing-page .tech-card:before{content:attr(data-num);position:absolute;right:24px;top:20px;font-family:IBM Plex Mono,monospace;font-size:.6rem;letter-spacing:.1em;color:var(--border)}.landing-page .tech-icon{width:42px;height:42px;margin-bottom:20px;color:var(--accent)}.landing-page .tech-card h3{font-family:"DM Serif Display",serif;font-size:1.3rem;margin-bottom:12px}.landing-page .tech-card p{font-size:.88rem;line-height:1.7;color:var(--text-muted)}.landing-page .tech-card.highlight{border-color:var(--btn-blue);background:linear-gradient(135deg,#2b2b2b,#243040);grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.landing-page .tech-tag{font-family:IBM Plex Mono,monospace;font-size:.65rem;letter-spacing:.1em;padding:6px 12px;background:#4c799b1f;border:1px solid rgba(76,121,155,.25);color:var(--accent);border-radius:2px}.landing-page .map-layout{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center}.landing-page .map-controls{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.landing-page .map-btn{font-family:IBM Plex Mono,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all .2s;border-radius:2px}.landing-page .map-btn:hover,.landing-page .map-btn.active{border-color:var(--accent);color:var(--accent);background:#4c799b14}.landing-page .map-image{display:block;width:100%;max-width:520px;height:auto;border-radius:2px}.landing-page .map-legend{margin-top:16px;display:flex;align-items:center;gap:8px}.landing-page .legend-bar{flex:1;height:6px;border-radius:3px;background:linear-gradient(to right,#1a3a6b,#2a6ba8,#4c799b,#6fa3cb,#b5d4ec,#f0f8ff,#f9e2c5,#f5b07c,#e8763b,#c94040,#8b1a1a)}.landing-page .legend-labels{display:flex;justify-content:space-between;font-family:IBM Plex Mono,monospace;font-size:.6rem;color:var(--text-muted);margin-top:4px}.landing-page .legend-label-text{font-family:IBM Plex Mono,monospace;font-size:.6rem;color:var(--text-muted)}.landing-page .map-info{background:var(--box);border:1px solid var(--border);padding:24px}.landing-page .map-info h3{font-family:"DM Serif Display",serif;font-size:1.5rem;margin-bottom:12px}.landing-page .map-info p{font-size:.87rem;line-height:1.7;color:var(--text-muted);margin-bottom:20px}.landing-page .data-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-family:IBM Plex Mono,monospace;font-size:.72rem}.landing-page .data-row:last-child{border-bottom:none}.landing-page .data-row .key{color:var(--text-muted);letter-spacing:.08em}.landing-page .data-row .val{color:var(--accent)}.landing-page .map-disclaimer{margin-top:16px;background:var(--box);border:1px solid var(--border);padding:20px}.landing-page .disclaimer-text{font-family:IBM Plex Mono,monospace;font-size:.65rem;letter-spacing:.08em;color:var(--text-muted);line-height:1.7;text-transform:uppercase;margin:0}.landing-page .pipeline{display:flex;align-items:stretch;gap:0;margin-top:48px;overflow-x:auto;padding-bottom:4px}.landing-page .pipe-step{flex:1;min-width:150px;background:var(--box);border:1px solid var(--border);border-right:none;padding:28px 24px;position:relative}.landing-page .pipe-step:last-child{border-right:1px solid var(--border)}.landing-page .pipe-step:after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.1rem;z-index:2;background:var(--bg);padding:0 2px}.landing-page .pipe-step:last-child:after{display:none}.landing-page .pipe-num{font-family:IBM Plex Mono,monospace;font-size:.6rem;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}.landing-page .pipe-step h4{font-size:.95rem;font-weight:500;margin-bottom:8px}.landing-page .pipe-step p{font-size:.78rem;line-height:1.6;color:var(--text-muted)}.landing-page .metrics-bar{background:var(--box);border:1px solid var(--border);display:flex;align-items:center;padding:0;overflow:hidden;margin-top:60px}.landing-page .metric-item{flex:1;padding:32px 28px;border-right:1px solid var(--border);text-align:center}.landing-page .metric-item:last-child{border-right:none}.landing-page .metric-num{font-family:"DM Serif Display",serif;font-size:2.8rem;color:var(--text);line-height:1}.landing-page .metric-num span{font-size:1.4rem;color:var(--accent)}.landing-page .metric-desc{font-family:IBM Plex Mono,monospace;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:8px}.landing-page #cta{text-align:center;padding:120px 48px}.landing-page #cta h2{margin-bottom:16px}.landing-page #cta p{font-size:1rem;line-height:1.7;color:var(--text-muted);max-width:440px;margin:0 auto 40px}.landing-page .cta-actions{display:flex;gap:14px;justify-content:center}.landing-page footer{border-top:1px solid var(--border);padding:28px 48px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.landing-page footer p{font-family:IBM Plex Mono,monospace;font-size:.65rem;letter-spacing:.08em;color:var(--text-muted);margin:0}@media(max-width:900px){.landing-page nav{padding:16px 24px}.landing-page .hero-stats{flex-direction:column;align-items:center}.landing-page #hero{padding:0 24px}.landing-page .section-wrap{padding:70px 24px}.landing-page .tech-grid{grid-template-columns:1fr}.landing-page .tech-card.highlight{grid-column:1;display:block}.landing-page .map-layout{grid-template-columns:1fr}.landing-page .pipeline{flex-direction:column}.landing-page .pipe-step{border-right:1px solid var(--border);border-bottom:none}.landing-page .pipe-step:last-child{border-bottom:1px solid var(--border)}.landing-page .pipe-step:after{content:"↓";right:auto;left:50%;top:auto;bottom:-14px;transform:translate(-50%)}.landing-page .metrics-bar{flex-direction:column}.landing-page .metric-item{border-right:none;border-bottom:1px solid var(--border)}.landing-page footer{flex-direction:column;gap:12px;text-align:center;padding:24px}.landing-page .nav-links{display:none}}.history-filters{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.history-search{flex:1;min-width:220px;max-width:380px}.history-search .search-input{width:100%}.date-filters{display:flex;align-items:center;gap:.5rem}.date-filter-group{position:relative;display:flex;align-items:center}.date-icon{position:absolute;left:.6rem;color:#8895a8;pointer-events:none}.date-input{background:#1b1b1b;border:1px solid #3a3a3a;border-radius:6px;padding:.5rem .75rem .5rem 2rem;color:#d1d5db;font-size:.875rem;width:160px}.date-input:focus{outline:none;border-color:#4c799b}.date-separator{color:#8895a8;font-size:.875rem}.history-table-card{background:#2a2a2a;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.history-table{width:100%}.history-table-header,.history-table-row{display:grid;grid-template-columns:2fr 2fr 1.2fr 1fr 1fr;padding:.75rem 1.25rem;align-items:center}.history-table-header{background:#1b1b1b;font-weight:600;color:#8895a8;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0}.history-table-row{border-bottom:1px solid #1f1f2e;cursor:pointer;transition:background .15s}.history-table-row:last-child{border-bottom:none}.history-table-row:hover{background:#333}.history-table-row:focus{outline:2px solid #4c799b;outline-offset:-2px}.h-cell{display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.925rem}.h-filename{color:#a0a8b8}.patient-name{font-weight:500}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:500}.status-badge.completed{background:#10b98126;color:#10b981}.status-badge.pending{background:#f59e0b26;color:#f59e0b}.status-badge.processing{background:#4c799b26;color:#4c799b}.status-badge.failed{background:#ef444426;color:#ef4444}.history-pagination{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid #1f1f2e}.pagination-info{font-size:.85rem;color:#8895a8}.pagination-controls{display:flex;align-items:center;gap:.75rem}.page-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#1b1b1b;border:1px solid #3a3a3a;border-radius:6px;color:#d1d5db;cursor:pointer;transition:all .15s}.page-btn:hover:not(:disabled){background:#4c799b;border-color:#4c799b;color:#fff}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-indicator{font-size:.85rem;color:#8895a8;min-width:60px;text-align:center}.history-loading,.history-error,.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:#8895a8}.history-error{color:#ef4444}.retry-btn{background:#4c799b;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background .15s}.retry-btn:hover{background:#3d6380}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1768px){.history-filters{flex-direction:column;align-items:stretch}.history-search{max-width:none}.date-filters{flex-wrap:wrap}}@media(max-width:768px){.history-table-header,.history-table-row{grid-template-columns:1.5fr 1fr 1fr;font-size:.85rem;padding:.6rem .75rem}.h-filename,.h-hr{display:none}.history-pagination{flex-direction:column;gap:.75rem}.date-input{width:140px}}.admin-modal{background:#2a2a2a;border-radius:12px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;border:1px solid #3a3a3a}.admin-modal__header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #3a3a3a;flex-shrink:0}.admin-modal__title{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.admin-modal__subtitle{font-size:.9rem;font-weight:400;color:#8895a8}.admin-modal__body{padding:1.5rem;overflow-y:auto;flex:1}.admin-form-group{margin-bottom:1.25rem}.admin-form-label{display:block;font-size:.85rem;font-weight:500;color:#ccc;margin-bottom:.4rem}.admin-form-input{width:100%;padding:.6rem .75rem;background:#1b1b1b;border:1px solid #333;border-radius:6px;color:#e0e0e0;font-size:.9rem;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.admin-form-input::placeholder{color:#555}.admin-form-input:focus{outline:none;border-color:#4c799b}.admin-form-input--error{border-color:#ef4444}.admin-form-input--error:focus{border-color:#ef4444}select.admin-form-input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.admin-form-error{display:block;font-size:.78rem;color:#ef4444;margin-top:.3rem}.admin-modal__footer{padding-top:1.25rem;margin-top:.25rem}.admin-btn__spinner{animation:admin-spin 1s linear infinite}@keyframes admin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-modal__error{background:#c8323226;border:1px solid rgba(200,50,50,.3);border-radius:6px;padding:.6rem .75rem;color:#e07070;font-size:.85rem;margin-bottom:1rem}.admin-modal__success{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;color:#10b981;font-size:1rem;font-weight:500}@media(max-width:540px){.admin-modal{max-width:100%;max-height:100vh;border-radius:0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-close-btn{background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s,background .2s}.modal-close-btn:hover{color:#fff;background:#3a3a3a}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #3a3a3a;flex-shrink:0}.modal-btn{padding:.6rem 1.25rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .2s}.modal-btn--secondary{background:#3a3a3a;color:#ccc}.modal-btn--secondary:hover{background:#4a4a4a;color:#fff}.modal-btn--primary{background:#4c799b;color:#fff}.modal-btn--primary:hover{background:#3d6a8c}.modal-btn--primary:disabled{background:#3a4a55;color:#777;cursor:not-allowed}.admin-container{display:flex;min-height:100vh;background:#0a0a0a;color:#fff}.admin-main{flex:1;padding:2rem;margin-left:260px;width:calc(100% - 260px);transition:margin-left .3s ease}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.admin-header__left h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.admin-header__icon{color:#4c799b}.admin-header__left p{color:#8895a8;margin:0}.admin-header__action-btn{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:#4c799b;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.admin-header__action-btn:hover{background:#3d6a8c}.admin-error-banner{display:flex;align-items:center;gap:.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem}.admin-error-banner__retry{display:flex;align-items:center;gap:.3rem;margin-left:auto;background:none;border:1px solid rgba(239,68,68,.4);color:#ef4444;padding:.3rem .6rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .2s}.admin-error-banner__retry:hover{background:#ef44441a}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;height:50vh;color:#8895a8}.spin{animation:admin-page-spin 1s linear infinite}@keyframes admin-page-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-table-card{background:#2a2a2a;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.admin-table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;min-width:700px}.admin-table thead{background:#1b1b1b}.admin-table th{padding:.85rem 1rem;text-align:left;font-size:.8rem;font-weight:600;color:#8895a8;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.admin-table td{padding:.85rem 1rem;font-size:.9rem;color:#d1d5db;border-bottom:1px solid #1b1b2b;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#4c799b0d}.admin-table__empty{text-align:center;color:#8895a8;padding:3rem 1rem}.admin-table__username{font-weight:500;color:#fff;display:flex;align-items:center;gap:.5rem}.admin-table__you-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#4c799b;color:#fff;padding:1px 6px;border-radius:4px}.admin-table__no-actions{color:#555;font-size:1.1rem}.admin-role-badge{display:inline-block;padding:.2rem .6rem;border-radius:9999px;font-size:.78rem;font-weight:500;text-transform:capitalize}.admin-role-badge--admin{background:#4c799b26;color:#4c799b}.admin-role-badge--user{background:#8b5cf61f;color:#a78bfa}.admin-status-indicator{font-weight:500;font-size:.85rem}.admin-status-indicator--active{color:#10b981}.admin-status-indicator--inactive{color:#ef4444}.admin-actions{display:flex;gap:.4rem}.admin-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;background:#3a3a3a;color:#ccc}.admin-action-btn:hover{background:#4a4a4a;color:#fff}.admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-action-btn--toggle:hover{background:#4c799b33;color:#4c799b}.admin-action-btn--reset:hover{background:#f59e0b26;color:#f59e0b}.admin-action-btn--delete:hover{background:#ef444426;color:#ef4444}.admin-confirm-dialog{background:#2a2a2a;border-radius:12px;padding:1.5rem;max-width:420px;width:100%;box-shadow:0 8px 32px #00000080;border:1px solid #3a3a3a}.admin-confirm-dialog__title{font-size:1.15rem;font-weight:600;color:#fff;margin:0 0 .75rem}.admin-confirm-dialog__message{color:#aaa;font-size:.9rem;line-height:1.5;margin:0 0 1.5rem}.admin-confirm-dialog__message strong{color:#fff}.admin-confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem}.admin-btn--danger{background:#dc2626;color:#fff}.admin-btn--danger:hover{background:#b91c1c}.admin-btn--danger:disabled{background:#7f1d1d;color:#999;cursor:not-allowed}@media(max-width:1768px){.admin-main{margin-left:0;width:100%;padding:1rem}.admin-header h1{font-size:1.5rem}}@media(max-width:768px){.admin-header{flex-direction:column}.admin-header__action-btn{align-self:flex-start}}@tailwind base;@tailwind components;@tailwind utilities;.dropzone{border:2px dashed #ccc;padding:2rem;text-align:center;cursor:pointer}.timeframe-selector{display:flex;gap:1rem;margin:2rem 0}
