.auth-page{display:grid;min-height:100dvh;padding:48px 16px;place-items:center;background:var(--white);font-family:var(--font-ui);color:var(--deep-teal)}.auth-page-inner{width:100%;max-width:448px}.auth-page-head{margin-bottom:32px;text-align:center}.auth-page-head h1{margin:0 0 8px;font-size:clamp(26px,5vw,30px);color:var(--deep-teal)}.auth-page-head p{margin:0;font-size:14px;line-height:1.6;color:var(--gray-600)}.auth-card{padding:32px;border:1px solid var(--gray-300);border-radius:16px;background:var(--white);box-shadow:var(--shadow)}.auth-card--centered{text-align:center}.auth-card-body{display:grid;grid-gap:24px;gap:24px}.auth-card-body form{display:grid;grid-gap:16px;gap:16px}.auth-field{display:grid;grid-gap:8px;gap:8px}.auth-field label{font-size:14px;font-weight:600;color:var(--deep-teal)}.auth-field input{width:100%;height:48px;padding:0 16px;border:2px solid var(--gray-300);border-radius:12px;background:var(--white);color:var(--deep-teal);font:inherit;font-size:16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.auth-field input:focus{border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(0,167,181,.14)}.auth-field input::placeholder{color:var(--gray-600)}.auth-field-row{display:flex;align-items:center;gap:8px}.auth-field-row input{flex:1 1 auto;min-width:0}.auth-reveal{display:grid;flex:0 0 auto;width:48px;height:48px;place-items:center;border:2px solid var(--gray-300);border-radius:12px;background:var(--white);color:var(--gray-600);transition:border-color .2s ease,color .2s ease}.auth-reveal:hover{border-color:var(--turquoise);color:var(--turquoise)}.auth-submit{display:inline-flex;width:100%;min-height:48px;padding:12px 16px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--gradient-orange,linear-gradient(135deg,#FF8500 0,#FF6B00 100%));color:var(--ink-on-accent,#04222A);font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px rgba(255,138,0,.28)}.auth-submit:disabled{background:var(--gray-300);color:#3a4a52;transform:none;box-shadow:none;cursor:not-allowed}.auth-submit svg{color:currentColor}.auth-back{display:flex;margin-top:16px;padding-top:16px;justify-content:center;border-top:1px solid var(--gray-100)}.auth-back a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--gray-600);font-size:14px;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-back a:hover{color:var(--turquoise)}.auth-alert{display:flex;padding:16px;align-items:flex-start;gap:12px;border-radius:12px;font-size:14px;line-height:1.55}.auth-alert svg{flex:0 0 auto;margin-top:2px}.auth-alert.error{border-left:4px solid var(--coral);background:#FEF2F2;color:#991B1B}.auth-alert.info{border-left:4px solid var(--turquoise);background:var(--light-aqua);color:var(--deep-teal)}.auth-alert strong{display:block;margin-bottom:4px}.auth-success-mark{display:grid;width:64px;height:64px;margin:0 auto 24px;place-items:center;border-radius:9999px;background:linear-gradient(135deg,#10B981,#059669);color:#ffffff;box-shadow:0 4px 6px -1px rgba(16,185,129,.2)}.auth-card--centered h1{margin:0;font-size:24px;color:var(--deep-teal)}.auth-card--centered .auth-lead{margin:12px 0 0;font-size:14px;line-height:1.6;color:var(--gray-600)}.auth-card--centered .auth-email{margin:4px 0 0;font-weight:700;color:var(--turquoise);overflow-wrap:anywhere}.auth-card--centered .auth-back{margin-top:24px;padding-top:0;border-top:0}.password-strength{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.password-strength-bars{display:flex;gap:4px}.password-strength-bars span{flex:1 1;height:4px;border-radius:9999px;background:var(--gray-300);transition:background .2s ease}.password-strength-bars span.weak{background:var(--coral)}.password-strength-bars span.fair{background:var(--yellow)}.password-strength-bars span.strong{background:var(--green)}.password-strength p{margin:0;font-size:12px;line-height:1.5;color:var(--gray-600)}.password-match{display:flex;margin-top:8px;align-items:center;gap:4px;font-size:12px}.password-match.ok{color:var(--green)}.password-match.bad{color:var(--coral)}@keyframes auth-page-spin{to{transform:rotate(1turn)}}.auth-spinner{width:20px;height:20px;animation:auth-page-spin 1s linear infinite}.auth-spinner circle{opacity:.25}.auth-spinner path{opacity:.75}@media (prefers-reduced-motion:reduce){.auth-spinner{animation-duration:3s}.auth-submit:hover:not(:disabled){transform:none}}.setup-page{min-height:100dvh;padding:48px 16px;background:var(--white);font-family:var(--font-ui);color:var(--deep-teal)}.setup-shell{width:100%;max-width:672px;margin:0 auto}.setup-brand{margin-bottom:32px;text-align:center}.setup-progress-head{display:flex;margin-bottom:8px;align-items:center;justify-content:space-between;font-size:14px}.setup-progress-head strong{font-weight:700;color:var(--deep-teal)}.setup-progress-head span{color:var(--gray-600)}.onboarding-step-track{overflow:hidden;width:100%;height:8px;margin-bottom:32px;border-radius:9999px;background:var(--light-aqua)}.onboarding-step-fill{height:8px;border-radius:9999px;background:linear-gradient(135deg,#00A7B5,#006680);transition:width .3s ease}.onboarding-modal .onboarding-step-track{margin-bottom:20px}.setup-card{padding:32px;border:1px solid var(--gray-300);border-radius:16px;background:var(--white);box-shadow:var(--shadow)}.setup-step{display:grid;grid-gap:24px;gap:24px}.setup-step h1{margin:0 0 8px;font-size:clamp(22px,4.6vw,24px);color:var(--deep-teal)}.setup-step p{margin:0;line-height:1.6;color:var(--gray-600)}.setup-options{display:grid;grid-gap:12px;gap:12px}.setup-options.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-option{display:grid;grid-gap:4px;gap:4px;width:100%;min-height:64px;padding:16px;border:2px solid var(--gray-300);border-radius:12px;background:var(--white);color:var(--deep-teal);text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease}.setup-option.selected,.setup-option:hover{border-color:var(--turquoise)}.setup-option.selected{background:var(--light-aqua)}.setup-option .setup-option-label{font-weight:700;color:var(--deep-teal)}.setup-option .setup-option-hint{font-size:14px;line-height:1.5;color:var(--gray-600)}.setup-option .setup-option-emoji{font-size:20px;line-height:1.2}.setup-summary{display:grid;grid-gap:8px;gap:8px;padding:16px;border-radius:12px;background:var(--light-aqua);color:var(--deep-teal);font-size:14px;line-height:1.6}.setup-summary strong{display:block}.setup-actions{display:flex;margin-top:32px;padding-top:24px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--gray-100)}.setup-actions-end{display:flex;margin-left:auto;gap:12px}.setup-back{display:inline-flex;min-height:44px;padding:8px 16px;align-items:center;color:var(--gray-600);font-weight:600;transition:color .2s ease}.setup-back:hover{color:var(--turquoise)}.setup-continue{display:inline-flex;min-height:44px;padding:12px 24px;align-items:center;gap:8px;border-radius:12px;background:var(--gradient-orange,linear-gradient(135deg,#FF8500 0,#FF6B00 100%));color:var(--ink-on-accent,#04222A);font-weight:700;transition:transform .2s ease,box-shadow .2s ease}.setup-continue:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px rgba(255,138,0,.28)}.setup-continue:disabled{background:var(--gray-300);color:#3a4a52;transform:none;box-shadow:none;cursor:not-allowed}.setup-skip{display:block;min-height:44px;margin:16px auto 0;padding:8px 16px;color:var(--gray-600);font-size:14px;transition:color .2s ease}.setup-skip:hover{color:var(--turquoise)}@media (max-width:640px){.setup-options.two-up{grid-template-columns:1fr}.setup-card{padding:24px}.setup-actions{flex-direction:column-reverse;align-items:stretch}.setup-actions-end{width:100%;margin-left:0}.setup-continue{flex:1 1}.setup-back,.setup-continue{justify-content:center}.auth-card{padding:24px}}.device-panel{width:100%;max-width:520px;margin:32px auto;padding:32px;border:1px solid var(--app-border,var(--gray-300));border-radius:18px;background:var(--app-surface,var(--white));box-shadow:var(--shadow);text-align:center}.device-panel h2{margin:4px 0 10px;font-size:clamp(22px,4vw,26px);color:var(--deep-teal)}.device-code{margin:18px 0 6px;font-size:clamp(34px,9vw,46px);font-weight:800;letter-spacing:.16em;line-height:1.1;color:var(--deep-teal);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.device-code-label{margin:18px 0 0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.device-code-label,.device-code-note{color:var(--app-muted,var(--gray-600))}.device-code-note{margin:0 0 4px;font-size:13px}.device-code-field{display:block;margin:20px 0 0;font-size:13px;font-weight:700;color:var(--deep-teal);text-align:left}.device-code-field input{width:100%;margin-top:8px;padding:14px 16px;border:1px solid var(--app-border,var(--gray-300));border-radius:12px;background:var(--white);color:var(--deep-teal);font-family:var(--font-ui);font-size:24px;font-weight:700;letter-spacing:.28em;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.device-code-field input:focus-visible{outline:2px solid var(--app-accent,var(--turquoise));outline-offset:2px}.transfer-card{display:grid;margin:0;grid-gap:8px;gap:8px;padding:14px;border:1px solid var(--app-border,var(--gray-300));border-radius:12px;background:var(--app-surface-soft,var(--gray-100))}.transfer-card>div{display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}.transfer-card dt{color:var(--app-muted,var(--gray-600));font-size:12px}.transfer-card dd{margin:0;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}.transfer-qr{display:grid;grid-gap:10px;gap:10px;justify-items:center}.transfer-qr-frame{width:100%;max-width:200px;padding:10px;aspect-ratio:1/1;border:1px solid var(--app-border,var(--gray-300));border-radius:14px;background:var(--white)}.transfer-qr-frame svg{display:block;width:100%;height:100%}.transfer-qr small{color:var(--app-muted,var(--gray-600));text-align:center;line-height:1.55}.device-qr{margin:22px 0 0}.device-qr-frame{width:100%;max-width:220px;margin:0 auto;padding:12px;aspect-ratio:1/1;border:1px solid var(--app-border,var(--gray-300));border-radius:14px;background:var(--white)}.device-qr-frame svg{display:block;width:100%;height:100%}.device-qr p{margin:10px 0 0}.device-qr p,.device-steps{font-size:13px;color:var(--app-muted,var(--gray-600))}.device-steps{margin:20px 0 0;line-height:1.7;text-align:left}.device-actions{display:flex;margin-top:24px;gap:10px;justify-content:center;flex-wrap:wrap}.device-actions .button{flex:1 1 160px;justify-content:center}@media (max-width:640px){.device-panel{margin:16px auto;padding:22px 18px}.device-code-field input{font-size:21px}}[data-theme=dark] .auth-page{background:var(--color-bg-base)}[data-theme=dark] .auth-field label,[data-theme=dark] .auth-page,[data-theme=dark] .auth-page-head h1{color:var(--color-text-primary)}[data-theme=dark] .auth-page-head p{color:var(--color-text-secondary)}[data-theme=dark] .auth-card{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme=dark] .auth-field input,[data-theme=dark] .auth-reveal{background:var(--color-bg-elevated-2);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .auth-field input::placeholder{color:var(--color-text-tertiary)}[data-theme=dark] .auth-reveal:hover{border-color:var(--color-accent);color:var(--color-accent)}[data-theme=dark] .auth-submit:disabled{background:var(--color-bg-elevated-2);color:var(--color-text-secondary)}[data-theme=dark] .auth-page .brand-logo,[data-theme=dark] .auth-page-logo{background:var(--color-bg-elevated)}[data-theme=dark] .device-code,[data-theme=dark] .device-code-field,[data-theme=dark] .device-panel h2{color:var(--color-text-primary)}[data-theme=dark] .device-code-field input{background:var(--color-bg-elevated-2);border-color:var(--color-border);color:var(--color-text-primary)}.setup-options.time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-option .setup-option-hint,.setup-option .setup-option-label{color:inherit}.setup-option.selected .setup-option-hint{opacity:.9}.onboarding-modal .setup-skip,.setup-summary p{margin:0}[data-theme=dark] .setup-page{background:var(--app-surface);color:var(--app-text)}[data-theme=dark] .setup-card{border-color:var(--app-border);background:var(--app-surface)}[data-theme=dark] .setup-option{border-color:var(--app-border);background:var(--app-surface-soft);color:var(--app-text)}[data-theme=dark] .setup-option.selected{border-color:var(--app-accent);background:var(--app-surface-tint)}[data-theme=dark] .setup-option .setup-option-label,[data-theme=dark] .setup-progress-head strong,[data-theme=dark] .setup-step h1{color:var(--app-text)}[data-theme=dark] .setup-option .setup-option-hint,[data-theme=dark] .setup-progress-head span,[data-theme=dark] .setup-step p{color:var(--app-muted)}[data-theme=dark] .setup-summary{background:var(--app-surface-tint);color:var(--app-text)}[data-theme=dark] .setup-actions{border-top-color:var(--app-border)}.setup-note,[data-theme=dark] .setup-back,[data-theme=dark] .setup-skip{color:var(--app-muted)}.setup-note{font-size:13px;text-align:center}[data-theme=dark] .setup-continue:disabled{background:var(--color-bg-elevated-2);color:var(--color-text-secondary)}@media (max-width:640px){.setup-options.time-options{grid-template-columns:1fr}}.admin-brand{display:flex;align-items:center;gap:10px}.admin-brand-logo{width:172px}.admin-portal{min-height:100vh;background:var(--white)}.admin-header{background:linear-gradient(135deg,var(--turquoise),var(--deep-teal));color:var(--white);padding:24px 48px;box-shadow:0 4px 12px rgba(0,167,181,.2)}.admin-header h1{font-size:28px;font-weight:700;margin:0 0 8px}.admin-header p{font-size:14px;opacity:.9;margin:0}.admin-container{max-width:1400px;margin:0 auto;padding:48px}.admin-tabs{display:flex;gap:8px;border-bottom:2px solid var(--gray-300);margin-bottom:32px;overflow-x:auto}.admin-tab{padding:12px 24px;border:0;background:transparent;color:var(--gray-600);font-size:14px;font-weight:600;border-bottom:3px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap}.admin-tab.active,.admin-tab:hover{color:var(--turquoise)}.admin-tab.active{border-bottom-color:var(--turquoise)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:24px;gap:24px;margin-bottom:48px}.admin-stat-card{background:var(--white);border:1px solid var(--gray-300);border-radius:12px;padding:24px;box-shadow:var(--shadow);transition:.2s}.admin-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.admin-stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.admin-stat-icon{width:48px;height:48px;background:var(--light-aqua);color:var(--turquoise);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.admin-stat-value{font-size:36px;font-weight:700;color:var(--deep-teal);margin:0 0 8px}.admin-stat-label{font-size:13px;color:var(--gray-600);font-weight:500}.admin-stat-change{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;margin-top:8px}.admin-stat-change.up{background:#ECFDF5;color:#059669}.admin-stat-change.down{background:#FEF2F2;color:#EF4444}.admin-table-container{background:var(--white);border:1px solid var(--gray-300);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.admin-table-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-300)}.admin-table-title{font-size:18px;font-weight:700;color:var(--deep-teal);margin:0}.admin-table-actions{display:flex;gap:12px}.admin-search{position:relative}.admin-search input{padding:10px 40px 10px 16px;border:1px solid var(--gray-300);border-radius:8px;font-size:14px;width:280px;transition:.2s}.admin-search input:focus{outline:none;border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(0,167,181,.1)}.admin-search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--gray-600)}.admin-button{padding:10px 20px;border:0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:8px}.admin-button.primary{background:linear-gradient(135deg,var(--orange),#FF6B00);color:var(--white);box-shadow:0 2px 8px rgba(255,138,0,.25)}.admin-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,138,0,.3)}.admin-button.secondary{background:var(--white);border:1px solid var(--gray-300);color:var(--gray-600)}.admin-button.secondary:hover{background:var(--light-aqua);border-color:var(--turquoise);color:var(--turquoise)}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:var(--light-aqua);border-bottom:2px solid var(--turquoise)}.admin-table th{padding:16px 20px;text-align:left;font-size:12px;font-weight:700;color:var(--deep-teal);text-transform:uppercase;letter-spacing:.5px}.admin-table tbody tr{border-bottom:1px solid var(--gray-300);transition:.2s}.admin-table tbody tr:hover{background:var(--light-aqua)}.admin-table td{padding:16px 20px;font-size:14px;color:var(--gray-600)}.admin-table td:first-child{font-weight:600;color:var(--deep-teal)}.admin-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}.admin-badge.success{background:#ECFDF5;color:#059669}.admin-badge.warning{background:#FFF4E6;color:var(--orange)}.admin-badge.error{background:#FEF2F2;color:#EF4444}.admin-badge.info{background:var(--light-aqua);color:var(--turquoise)}.admin-action-menu{display:flex;gap:8px}.admin-action-button{width:32px;height:32px;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-600);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.admin-action-button:hover{background:var(--light-aqua);border-color:var(--turquoise);color:var(--turquoise)}.admin-action-button.danger:hover{background:#FEF2F2;border-color:#EF4444;color:#EF4444}.admin-modal-backdrop{position:fixed;inset:0;background:rgba(0,102,128,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.admin-modal{background:var(--white);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 60px rgba(0,102,128,.3)}.admin-modal-header{padding:24px;border-bottom:1px solid var(--gray-300)}.admin-modal-title{font-size:20px;font-weight:700;color:var(--deep-teal);margin:0}.admin-modal-body{padding:24px}.admin-modal-footer{padding:24px;border-top:1px solid var(--gray-300);display:flex;justify-content:flex-end;gap:12px}.admin-form-group{margin-bottom:20px}.admin-form-label{display:block;font-size:13px;font-weight:600;color:var(--deep-teal);margin-bottom:8px}.admin-form-input,.admin-form-select,.admin-form-textarea{width:100%;padding:12px 16px;border:2px solid var(--gray-300);border-radius:8px;font-size:14px;color:var(--deep-teal);transition:.2s;font-family:var(--font-ui)}.admin-form-input:focus,.admin-form-select:focus,.admin-form-textarea:focus{outline:none;border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(0,167,181,.1)}.admin-form-textarea{min-height:100px;resize:vertical}.admin-form-help{font-size:12px;color:var(--gray-600);margin-top:6px}.admin-form-error{font-size:12px;color:#EF4444;margin-top:6px}.admin-pagination{gap:8px;padding:24px}.admin-pagination,.admin-pagination-button{display:flex;justify-content:center;align-items:center}.admin-pagination-button{width:36px;height:36px;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-600);border-radius:8px;cursor:pointer;transition:.2s;font-size:14px;font-weight:600}.admin-pagination-button:hover:not(:disabled){background:var(--light-aqua);border-color:var(--turquoise);color:var(--turquoise)}.admin-pagination-button.active{background:var(--turquoise);border-color:var(--turquoise);color:var(--white)}.admin-pagination-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:1024px){.admin-container{padding:32px 24px}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.admin-header{padding:20px 24px}.admin-header h1{font-size:24px}.admin-tabs{gap:4px}.admin-tab{padding:10px 16px;font-size:13px}.admin-table-header{gap:16px;align-items:stretch}.admin-table-actions,.admin-table-header{flex-direction:column}.admin-search input{width:100%}.admin-table{display:block;overflow-x:auto}.admin-modal{margin:0 16px}}.admin-detail-backdrop{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end;background:rgba(4,32,40,.5)}.admin-detail{display:flex;flex-direction:column;width:min(680px,100%);height:100%;overflow-y:auto;background:var(--white,#fff);box-shadow:-18px 0 48px rgba(0,40,50,.28)}.admin-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--gray-300,#dce5e8)}.admin-detail-head h2{margin:4px 0;font-size:21px;color:var(--deep-teal,#075d72)}.admin-detail-head small{color:var(--gray-600,#71818a);font-size:12px}.admin-detail-close{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gray-300,#dce5e8);border-radius:10px;background:transparent;color:inherit;cursor:pointer}.admin-detail-close:hover{background:var(--light-aqua,#eef7f9)}.admin-detail-score{padding:18px 24px;background:var(--light-aqua,#f3fafb);border-bottom:1px solid var(--gray-300,#dce5e8)}.admin-detail-empty{margin:0;color:#8a5a00;font-size:13px}.admin-detail-bars{display:grid;grid-gap:6px;gap:6px;max-height:46vh;margin:0;padding:0;overflow-y:auto;list-style:none}.admin-detail-bars li{display:grid;grid-template-columns:30px 1fr 1fr;align-items:center;grid-gap:10px;gap:10px;padding:7px 10px;border-radius:8px;background:var(--white,#fff);font-family:var(--font-score,ui-monospace,monospace);font-size:15px}.admin-detail-bar-index{color:var(--gray-600,#71818a);font-size:11px;font-family:var(--font-ui,system-ui)}.admin-detail-hand.left{color:#0b6376}.admin-detail-fields{display:grid;grid-gap:14px;gap:14px;padding:18px 24px}.admin-detail-fields label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:700;color:#405e67}.admin-detail-fields input,.admin-detail-fields textarea{padding:10px 12px;border:1px solid var(--gray-300,#cbd8db);border-radius:10px;background:var(--white,#fff);color:inherit;font:inherit;font-weight:400;resize:vertical}.admin-detail-fields input:focus,.admin-detail-fields textarea:focus{outline:none;border-color:#00a7b5;box-shadow:0 0 0 3px rgba(0,167,181,.14)}.admin-detail-actions{position:-webkit-sticky;position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:16px 24px;border-top:1px solid var(--gray-300,#dce5e8);background:var(--white,#fff)}.admin-detail-actions button{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:0;border-radius:9px;font-weight:700;cursor:pointer}.admin-detail-actions button:disabled{opacity:.6;cursor:wait}.admin-detail-actions .approve{background:#e7f7f1;color:#067255}.admin-detail-actions .reject{background:#fff0ec;color:#a73b22}.admin-detail-actions .save{margin-left:auto;background:#007e90;color:#fff}.admin-detail-actions .spin{animation:admin-detail-spin 1s linear infinite}@keyframes admin-detail-spin{to{transform:rotate(1turn)}}.admin-table-wrap td.mono-cell{overflow-wrap:anywhere;min-width:9ch;font-size:12px}@media (max-width:560px){.admin-detail-bars li{grid-template-columns:24px 1fr}.admin-detail-hand.left{grid-column:2}.admin-detail-actions .save{margin-left:0}}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(0,167,181,.2);border-top:3px solid var(--turquoise);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-dots{display:inline-flex;gap:6px}.loading-dots span{width:8px;height:8px;background:var(--turquoise);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:64px 32px}.empty-state>strong{font-size:18px;font-weight:700;color:var(--deep-teal)}.empty-state>span{font-size:14px;color:var(--gray-600);max-width:400px}.empty-state>button{margin-top:8px}.empty-state-icon{font-size:64px;margin-bottom:24px;opacity:.5}.empty-state-title{font-size:20px;font-weight:700;color:var(--deep-teal);margin:0 0 12px}.empty-state-description{font-size:14px;color:var(--gray-600);max-width:400px;margin:0 auto 24px}.toast-container{position:fixed;top:24px;right:24px;z-index:2000;display:flex;flex-direction:column;gap:12px;max-width:400px}.toast{background:var(--white);border:1px solid var(--gray-300);border-radius:12px;padding:16px 20px;box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;align-items:flex-start;gap:12px;animation:slideInRight .3s ease}.toast-live{position:fixed;z-index:2000;top:84px;right:24px;pointer-events:none}.toast-live .toast{pointer-events:auto;max-width:min(360px,calc(100vw - 32px))}@media (max-width:640px){.toast-live{top:76px;right:16px;left:16px}.toast-live .toast{max-width:none}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.toast.success{border-left:4px solid #10b981}.toast.error{border-left:4px solid #ef4444}.toast.warning{border-left:4px solid var(--orange)}.toast.info{border-left:4px solid var(--turquoise)}.toast-icon{width:24px;height:24px;flex-shrink:0}.toast-content{flex:1 1;min-width:0}.toast-title{font-size:14px;font-weight:600;color:var(--deep-teal);margin:0 0 4px}.toast-message{font-size:13px;color:var(--gray-600);margin:0}.skeleton{background:linear-gradient(90deg,var(--color-bg-elevated) 0,var(--color-bg-elevated-3) 50%,var(--color-bg-elevated) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-stack{display:flex;flex-direction:column;gap:10px;width:min(100%,420px)}.skeleton-stack>.skeleton{margin-bottom:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;width:60%;margin-bottom:12px}.skeleton-card{height:200px;border-radius:12px}.tooltip{position:relative;display:inline-block}.tooltip-content{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-8px);background:var(--deep-teal);color:var(--white);padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;transition:.2s;z-index:1000}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--deep-teal)}.tooltip:hover .tooltip-content{opacity:1}.divider{height:1px;background:var(--gray-300);margin:24px 0}.divider-text{display:flex;align-items:center;gap:16px;margin:24px 0}.divider-text:after,.divider-text:before{content:"";flex:1 1;height:1px;background:var(--gray-300)}.divider-text span{font-size:13px;color:var(--gray-600);font-weight:500}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--light-aqua);color:var(--turquoise);border-radius:20px;font-size:12px;font-weight:600}.chip.removable{padding-right:6px}.chip-close{width:18px;height:18px;border:0;background:transparent;color:var(--turquoise);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.chip-close:hover{background:var(--turquoise);color:var(--white)}.overflow-menu{position:relative}.overflow-menu-trigger{width:32px;height:32px;border:1px solid var(--gray-300);background:var(--white);color:var(--gray-600);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.overflow-menu-trigger:hover{background:var(--light-aqua);border-color:var(--turquoise);color:var(--turquoise)}.overflow-menu-content{position:absolute;top:100%;right:0;margin-top:8px;background:var(--white);border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:180px;z-index:100;opacity:0;transform:translateY(-8px);transition:.2s}.overflow-menu.open .overflow-menu-content{opacity:1;pointer-events:all;transform:translateY(0)}.overflow-menu-item{width:100%;padding:12px 16px;border:0;background:transparent;color:var(--gray-600);text-align:left;font-size:14px;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:10px}.overflow-menu-item:first-child{border-radius:8px 8px 0 0}.overflow-menu-item:last-child{border-radius:0 0 8px 8px}.overflow-menu-item:hover{background:var(--light-aqua);color:var(--turquoise)}.overflow-menu-item.danger:hover{background:#FEF2F2;color:#EF4444}.accordion-item{border:1px solid var(--gray-300);border-radius:8px;margin-bottom:8px;overflow:hidden}.accordion-header{width:100%;padding:16px 20px;border:0;background:var(--white);color:var(--deep-teal);text-align:left;font-size:15px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:.2s}.accordion-header:hover{background:var(--light-aqua)}.accordion-icon{transition:transform .3s}.accordion-item.open .accordion-icon{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.accordion-item.open .accordion-content{max-height:500px}.accordion-body{padding:16px 20px;color:var(--gray-600);font-size:14px;line-height:1.6}.switch{position:relative;display:inline-block;width:48px;height:28px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;inset:0;background:var(--gray-300);transition:.3s;border-radius:28px}.switch-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background:var(--white);transition:.3s;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.switch input:checked+.switch-slider{background:var(--turquoise)}.switch input:checked+.switch-slider:before{transform:translateX(20px)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.m-0{margin:0}.mt-auto{margin-top:auto}.mb-auto{margin-bottom:auto}.p-0{padding:0}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}@media (max-width:640px){.toast-container{top:16px;right:16px;left:16px;max-width:none}.empty-state{padding:48px 24px}.overflow-menu-content{left:0;right:0}}@media print{.admin-header,.button,.marketing-nav,.sidebar,.toast-container,.topbar{display:none}.main-column{width:100%}body{background:white}}:root{--color-bg-base:var(--color-white);--color-bg-elevated:var(--color-gray-100);--color-bg-elevated-2:var(--color-light-aqua);--color-bg-elevated-3:var(--color-gray-300);--color-text-primary:var(--color-deep-teal);--color-text-secondary:var(--color-gray-600);--color-text-tertiary:#9CA3AF;--color-border:var(--color-gray-300);--color-border-strong:var(--color-turquoise);--color-accent:var(--color-turquoise);--color-accent-hover:var(--color-deep-teal);--color-accent-light:var(--color-light-aqua);--color-cta:var(--color-orange);--color-cta-hover:#FF6B00;--color-overlay:rgba(0,102,128,0.6);--color-shadow:rgba(0,0,0,0.08);--color-key-white:var(--color-white);--color-key-black:#1F2937;--color-key-active:var(--color-turquoise);--color-key-active-black:var(--color-orange);--color-staff-line:var(--color-gray-300);--color-note-head:var(--color-deep-teal);--color-note-active:var(--color-orange)}[data-theme=dark]{--color-bg-base:#0A1F1C;--color-bg-elevated:#0F2623;--color-bg-elevated-2:#143530;--color-bg-elevated-3:#1A4A42;--color-text-primary:#E6F7FA;--color-text-secondary:#9CCCD5;--color-text-tertiary:#6B9AA5;--color-border:#1A4A42;--color-border-strong:#00A7B5;--color-accent:#00D4E6;--color-accent-hover:#00A7B5;--color-accent-light:#143530;--color-cta:#FFA533;--color-cta-hover:#FF8A00;--color-success:#34D399;--color-warning:#FBBF24;--color-error:#F87171;--color-overlay:rgba(10,31,28,0.85);--color-shadow:rgba(0,0,0,0.3);--color-key-white:#1A4A42;--color-key-black:#0A1F1C;--color-key-active:#00D4E6;--color-key-active-black:#FFA533;--color-staff-line:#1A4A42;--color-note-head:#E6F7FA;--color-note-active:#FFA533}[data-theme=dark] .auth-modal-link a{color:var(--color-accent)}html.no-transitions *{transition:none!important}body{background-color:var(--color-bg-base);color:var(--color-text-primary);transition:background-color .3s ease,color .3s ease}*{transition-property:background-color,border-color,color,fill,stroke;transition-duration:.2s;transition-timing-function:ease-in-out}[data-theme=dark] .sidebar{background:linear-gradient(180deg,#0A1F1C,#143530);border-right:1px solid var(--color-border)}[data-theme=dark] .admin-stat-card,[data-theme=dark] .card,[data-theme=dark] .help-section,[data-theme=dark] .lesson-card{background-color:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme=dark] .btn-primary,[data-theme=dark] .button.primary,[data-theme=dark] .marketing-primary{background:linear-gradient(135deg,var(--color-cta),var(--color-cta-hover))}[data-theme=dark] .btn-secondary,[data-theme=dark] .button.secondary{background:var(--color-bg-elevated-2);color:var(--color-accent);border-color:var(--color-border-strong)}[data-theme=dark] .button.ghost{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}[data-theme=dark] .admin-form-input,[data-theme=dark] .input,[data-theme=dark] input[type=email],[data-theme=dark] input[type=password],[data-theme=dark] input[type=text],[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--color-bg-elevated-2);color:var(--color-text-primary);border-color:var(--color-border)}[data-theme=dark] .input:focus,[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}[data-theme=dark] .admin-table thead{background:var(--color-bg-elevated-2);border-bottom-color:var(--color-border-strong)}[data-theme=dark] .admin-table tbody tr{border-bottom-color:var(--color-border)}[data-theme=dark] .admin-table tbody tr:hover{background:var(--color-bg-elevated-2)}[data-theme=dark] .admin-modal-backdrop,[data-theme=dark] .modal-backdrop,[data-theme=dark] .note-popup-backdrop{background-color:var(--color-overlay)}[data-theme=dark] .access-modal,[data-theme=dark] .admin-modal,[data-theme=dark] .note-popup{background-color:var(--color-bg-elevated);border:1px solid var(--color-border)}[data-theme=dark] .note-popup .modal-close{background:var(--color-bg-elevated-2);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .progress-bar-track,[data-theme=dark] .progress-track{background:var(--color-bg-elevated-2)}[data-theme=dark] .progress-bar-fill{background:linear-gradient(90deg,var(--color-accent),var(--color-cta))}[data-theme=dark] .piano-key.white{background:var(--color-key-white);border-color:var(--color-border)}[data-theme=dark] .piano-key.white.active{background:var(--color-key-active)}[data-theme=dark] .piano-key.black{background:linear-gradient(180deg,var(--color-key-black) 0,#000000 100%)}[data-theme=dark] .piano-key.black.active{background:var(--color-key-active-black)}[data-theme=dark] .admin-badge,[data-theme=dark] .badge{background:var(--color-bg-elevated-2);color:var(--color-text-primary)}[data-theme=dark] .badge-turquoise{background:var(--color-accent-light);color:var(--color-accent)}[data-theme=dark] .badge-orange{background:rgba(255,138,0,.2);color:var(--color-cta)}[data-theme=dark] .alert-info{background:var(--color-accent-light);border-left-color:var(--color-accent)}[data-theme=dark] .alert-success{background:rgba(16,185,129,.15);color:var(--color-success);border-left-color:var(--color-success)}[data-theme=dark] .alert-warning{background:rgba(251,191,36,.15);color:var(--color-warning);border-left-color:var(--color-warning)}[data-theme=dark] .alert-error{background:rgba(239,68,68,.15);color:var(--color-error);border-left-color:var(--color-error)}[data-theme=dark] .toast{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme=dark] ::-webkit-scrollbar{width:12px;height:12px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--color-bg-elevated)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-bg-elevated-3);border-radius:6px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}[data-theme=dark] ::selection{background-color:var(--color-accent-light);color:var(--color-text-primary)}[data-theme=dark] :focus-visible{outline-color:var(--color-accent)}[data-theme=dark] img:not(.preserve-colors){opacity:.9;filter:brightness(.9)}[data-theme=dark] .brand-mark,[data-theme=dark] .marketing-brand-mark{opacity:1;filter:none}[data-theme=dark] .lucide,[data-theme=dark] svg.icon{color:currentColor}[data-theme=dark] code,[data-theme=dark] pre{background-color:var(--color-bg-elevated-3);color:var(--color-text-primary)}.bg-elevated{background-color:var(--color-bg-elevated)}.bg-elevated-2{background-color:var(--color-bg-elevated-2)}.bg-elevated-3{background-color:var(--color-bg-elevated-3)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.border-default{border-color:var(--color-border)}.border-strong{border-color:var(--color-border-strong)}[data-theme=dark] .app-shell .topbar{background:var(--color-bg-elevated);border-bottom-color:var(--color-border)}[data-theme=dark] .app-shell .lesson-list{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme=dark] .app-shell .lesson-row{border-bottom-color:var(--color-border)}[data-theme=dark] .app-shell .lesson-row:hover{background:var(--color-bg-elevated-2)}[data-theme=dark] .app-shell .hero-snapshot,[data-theme=dark] .app-shell .icon-button{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme=dark] .app-shell .icon-button{color:var(--color-text-secondary)}[data-theme=dark] .app-shell .icon-button:hover{background:var(--color-bg-elevated-2);border-color:var(--color-accent);color:var(--color-accent)}[data-theme=dark] .app-shell .welcome-band{background:linear-gradient(135deg,#0F2623,#143530);border-color:var(--color-border)}[data-theme=dark] .app-shell .progress-track,[data-theme=dark] .app-shell .timeline-track{background:var(--color-bg-elevated-3)}[data-theme=dark] .app-shell .accordion-header,[data-theme=dark] .app-shell .empty-state-title,[data-theme=dark] .app-shell .empty-state>strong,[data-theme=dark] .app-shell .hero-snapshot strong,[data-theme=dark] .app-shell .lesson-list,[data-theme=dark] .app-shell .lesson-main strong,[data-theme=dark] .app-shell .lesson-row strong,[data-theme=dark] .app-shell .lesson-title,[data-theme=dark] .app-shell .practice-title,[data-theme=dark] .app-shell .stats-strip strong,[data-theme=dark] .app-shell .toast-title,[data-theme=dark] .app-shell .topbar strong,[data-theme=dark] .app-shell h1,[data-theme=dark] .app-shell h2,[data-theme=dark] .app-shell h3,[data-theme=dark] .app-shell h4{color:var(--color-text-primary)}[data-theme=dark] .app-shell .account-context small,[data-theme=dark] .app-shell .empty-state-description,[data-theme=dark] .app-shell .empty-state>span,[data-theme=dark] .app-shell .hero-snapshot small,[data-theme=dark] .app-shell .hero-snapshot span,[data-theme=dark] .app-shell .lead,[data-theme=dark] .app-shell .lesson-group-title,[data-theme=dark] .app-shell .lesson-main small,[data-theme=dark] .app-shell .lesson-meta,[data-theme=dark] .app-shell .lesson-meta span,[data-theme=dark] .app-shell .lesson-row small,[data-theme=dark] .app-shell .mini-label,[data-theme=dark] .app-shell .modal-lead{color:var(--color-text-secondary)}[data-theme=dark] .app-shell .admin-data-card,[data-theme=dark] .app-shell .admin-metrics>div{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme=dark] .app-shell .admin-card-title,[data-theme=dark] .app-shell .admin-table-wrap td{border-color:var(--color-border)}[data-theme=dark] .app-shell .admin-table-wrap th{background:var(--color-bg-elevated-2);color:var(--color-text-secondary)}[data-theme=dark] .app-shell .admin-table-wrap select{background:var(--color-bg-elevated-2);color:var(--color-text-primary);border-color:var(--color-border)}[data-theme=dark] .app-shell .admin-lesson-link,[data-theme=dark] .app-shell .admin-lesson-link strong{color:var(--color-text-primary)}[data-theme=dark] .app-shell .admin-lesson-link small{color:var(--color-text-secondary)}[data-theme=dark] .admin-detail{background:var(--color-bg-elevated)}[data-theme=dark] .admin-detail-actions,[data-theme=dark] .admin-detail-head{border-color:var(--color-border);background:var(--color-bg-elevated)}[data-theme=dark] .admin-detail-score{background:var(--color-bg-elevated-2);border-color:var(--color-border)}[data-theme=dark] .admin-detail-bars li,[data-theme=dark] .admin-detail-fields input,[data-theme=dark] .admin-detail-fields textarea{background:var(--color-bg-elevated-2);color:var(--color-text-primary);border-color:var(--color-border)}[data-theme=dark] .admin-detail-head h2{color:var(--color-text-primary)}[data-theme=dark] .admin-detail-fields label,[data-theme=dark] .app-shell .admin-card-title small,[data-theme=dark] .app-shell .admin-empty,[data-theme=dark] .app-shell .admin-metrics small,[data-theme=dark] .app-shell .admin-metrics span,[data-theme=dark] .app-shell .admin-overview-head p{color:var(--color-text-secondary)}[data-theme=dark] .app-shell .admin-metrics strong{color:var(--color-text-primary)}[data-theme=dark] .app-shell .avatar:hover,[data-theme=dark] .app-shell .line-mode-toggle.is-on,[data-theme=dark] .app-shell .metronome-toggle.is-on,[data-theme=dark] .app-shell .nmn-group button.is-on,[data-theme=dark] .app-shell .nmn-group button.is-play,[data-theme=dark] .app-shell .player-layer-bar .layer-pill.active,[data-theme=dark] .app-shell .reader-tabs button.active{color:#04222A}[data-theme=dark] .app-shell .avatar{background:linear-gradient(135deg,#0E6B78,#05404F);border-color:#0E6B78}[data-theme=dark] .account-access-page{background:var(--color-bg-base);color:var(--color-text-primary)}[data-theme=dark] .account-card{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme=dark] .account-card-head h2{color:var(--color-text-primary)}[data-theme=dark] .account-alternate,[data-theme=dark] .account-card-head>p:last-child,[data-theme=dark] .account-policy{color:var(--color-text-secondary)}[data-theme=dark] .account-inline-switch button.active,[data-theme=dark] .account-method-tabs button.active,[data-theme=dark] .demo-account-grid button{background:var(--color-bg-elevated-2);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .account-inline-switch,[data-theme=dark] .demo-account-box{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme=dark] .account-form input{background:var(--color-bg-elevated-2);color:var(--color-text-primary);border-color:var(--color-border)}