:root{--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-main:#080b11;--bg-card:#111827d1;--bg-card-hover:#1e2941eb;--bg-input:#0f172a;--surface-overlay:#05070cd9;--surface-elevated:#ffffff08;--text-on-accent:#fff;--accent-contrast:#080b11;--accent-hover:#33ebff;--body-glow-primary:#00e5ff14;--body-glow-secondary:#8b5cf60f;--panel-shadow:var(--shadow-md);--card-hover-shadow:var(--shadow-lg), 0 0 18px #00e5ff14;--input-border:var(--border);--secondary-bg:#1e294166;--secondary-hover-bg:#ffffff14;--secondary-hover-border:var(--accent-glow);--secondary-hover-text:#fff;--sidebar-bg:#0b0f17;--sidebar-border:var(--border);--sidebar-shadow:12px 0 24px #00000038, 1px 0 0 var(--border);--nav-hover-bg:var(--accent-dim);--nav-active-bg:var(--accent);--nav-active-shadow:0 0 14px #00e5ff59;--file-button-bg:var(--accent-dim);--file-button-border:var(--accent-glow);--file-button-text:var(--accent);--file-button-shadow:none;--skeleton-start:#ffffff08;--skeleton-highlight:#ffffff14;--skeleton-border:var(--border);--modal-shadow:var(--shadow-lg), 0 0 35px #00e5ff1f;--neon-card-shadow:var(--shadow-md), 0 0 15px #00e5ff14;--layer-modal:3000;--border:#334155d9;--border-glow:#00e5ff73;--border-hover:#00e5ff59;--accent:#00e5ff;--accent-glow:#00e5ff4d;--accent-dim:#00e5ff1f;--text:#f8fafc;--text-sub:#cbd5e1;--muted:#94a3b8;--success:#34d399;--success-bg:#34d39929;--warning:#fbbf24;--warning-bg:#fbbf2429;--danger:#f87171;--danger-bg:#f871712e;--info:#60a5fa;--info-bg:#60a5fa29;--warning-border:#fbbf2466;--success-border:#34d39966;--info-border:#60a5fa66;--danger-border:#f8717166;--badge-warning:var(--warning);--badge-warning-bg:var(--warning-bg);--badge-success:var(--success);--badge-success-bg:var(--success-bg);--badge-info:var(--info);--badge-info-bg:var(--info-bg);--badge-danger:var(--danger);--badge-danger-bg:var(--danger-bg);--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 12px -1px #0009, 0 2px 6px -1px #0006;--shadow-lg:0 12px 24px -3px #000c, 0 6px 12px -2px #00000080;--shadow-neon:0 0 15px var(--accent-glow);--r-sm:6px;--r-md:12px;--r-lg:16px;--r-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-main:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#f8fafc;--surface-overlay:#0f172a80;--surface-elevated:#fff;--text-on-accent:#fff;--accent-contrast:#fff;--accent-hover:#0369a1;--body-glow-primary:#0284c70d;--body-glow-secondary:#7c3aed0a;--panel-shadow:0 8px 20px -12px #0f172a38, 0 1px 3px #0f172a14;--card-hover-shadow:var(--panel-shadow);--input-border:#94a3b8;--secondary-bg:#e2e8f0;--secondary-hover-bg:#cbd5e1;--secondary-hover-border:#64748b;--secondary-hover-text:#0f172a;--sidebar-bg:#fff;--sidebar-border:#e2e8f0;--sidebar-shadow:12px 0 24px #0f172a14, 1px 0 0 #e2e8f0;--nav-hover-bg:#f1f5f9;--nav-active-bg:#0284c7;--nav-active-shadow:0 4px 12px #0284c740;--file-button-bg:#e2e8f0;--file-button-border:#94a3b8;--file-button-text:#0f172a;--file-button-shadow:0 1px 2px #0000000d;--skeleton-start:#0000000a;--skeleton-highlight:#00000017;--skeleton-border:#e2e8f0;--modal-shadow:var(--panel-shadow);--neon-card-shadow:var(--panel-shadow);--layer-modal:3000;--border:#cbd5e1;--border-glow:#0284c766;--border-hover:#94a3b8;--accent:#0284c7;--accent-glow:#0284c740;--accent-dim:#0284c714;--text:#0f172a;--text-sub:#1e293b;--muted:#475569;--success:#059669;--success-bg:#ecfdf5;--warning:#d97706;--warning-bg:#fffbeb;--danger:#dc2626;--danger-bg:#fef2f2;--info:#2563eb;--info-bg:#eff6ff;--warning-border:#fcd34d;--success-border:#6ee7b7;--info-border:#93c5fd;--danger-border:#fca5a5;--badge-warning:#b45309;--badge-warning-bg:#fef3c7;--badge-success:#047857;--badge-success-bg:#d1fae5;--badge-info:#1d4ed8;--badge-info-bg:#dbeafe;--badge-danger:#b91c1c;--badge-danger-bg:#fee2e2;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 12px -1px #00000014, 0 2px 6px -1px #0000000a;--shadow-lg:0 12px 24px -3px #0000001f, 0 6px 12px -2px #0000000d}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px!important;box-shadow:0 0 0 4px var(--accent-dim)!important}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text);background-image:radial-gradient(circle at 15% 20%, var(--body-glow-primary) 0%, transparent 45%), radial-gradient(circle at 85% 80%, var(--body-glow-secondary) 0%, transparent 50%);background-attachment:fixed;min-height:100vh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-glow)}h1,h2,h3,h4,h5,h6{color:var(--text);letter-spacing:-.025em;margin-bottom:.5em;font-weight:700}p{color:var(--text-sub);font-size:.975rem;line-height:1.65}small,.text-muted,.text-secondary{color:var(--text-sub)}a{color:var(--accent);transition:var(--transition-fast);font-weight:600;text-decoration:none}a:hover{text-shadow:0 0 8px var(--accent-glow);opacity:.95}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(12px);transition:border-color var(--transition-normal), transform var(--transition-normal), box-shadow var(--transition-normal);padding:1.5rem}.card:hover{border-color:var(--border-hover);box-shadow:var(--card-hover-shadow);transform:translateY(-2px)}.card-neon{border:1px solid var(--accent-glow);box-shadow:var(--neon-card-shadow)}.card-neon:hover{border-color:var(--accent);box-shadow:var(--shadow-lg), 0 0 20px #00e5ff2e}.dashboard-shell{text-align:left;width:100%;max-width:1480px;margin:0 auto}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.dashboard-metric{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);min-width:0;color:var(--text);box-shadow:var(--panel-shadow);text-align:left;align-items:flex-start;gap:.85rem;padding:1.1rem;display:flex}.dashboard-metric--interactive{width:100%;font:inherit;cursor:pointer;transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast)}.dashboard-metric--interactive:hover,.dashboard-metric--interactive:focus-visible{border-color:var(--border-hover);box-shadow:var(--card-hover-shadow);transform:translateY(-2px)}.dashboard-metric--interactive:focus-visible{outline:3px solid var(--accent-dim);outline-offset:2px}.dashboard-metric__icon{border-radius:var(--r-md);border:1px solid;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.dashboard-tone--accent{color:var(--accent);background:var(--accent-dim)}.dashboard-tone--success{color:var(--success);background:var(--success-bg)}.dashboard-tone--warning{color:var(--warning);background:var(--warning-bg)}.dashboard-tone--info{color:var(--info);background:var(--info-bg)}.dashboard-tone--danger{color:var(--danger);background:var(--danger-bg)}.dashboard-metric__content{flex-direction:column;min-width:0;display:flex}.dashboard-metric__label{color:var(--text-sub);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700;line-height:1.25}.dashboard-metric__value{color:var(--text);margin-top:.18rem;font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.15}.dashboard-metric__detail{color:var(--muted);margin-top:.25rem;font-size:.76rem;line-height:1.35}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);align-items:start;gap:1.25rem;display:grid}.dashboard-grid--balanced{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stack{gap:1.25rem;display:grid}.dashboard-section{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-card);min-width:0;box-shadow:var(--panel-shadow);overflow:hidden}.dashboard-section__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.dashboard-section__heading{min-width:0;color:var(--accent);align-items:flex-start;gap:.65rem;display:flex}.dashboard-section__heading svg{flex-shrink:0;margin-top:.15rem}.dashboard-section__heading h2{color:var(--text);margin:0;font-size:1rem}.dashboard-section__heading p{color:var(--muted);margin:.2rem 0 0;font-size:.78rem;line-height:1.4}.dashboard-section__body{padding:1.15rem 1.25rem}.dashboard-hero{border:1px solid var(--accent-glow);border-radius:var(--r-lg);background:linear-gradient(135deg, var(--accent-dim), var(--bg-card) 62%);box-shadow:var(--neon-card-shadow);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:clamp(1.25rem,3vw,2rem);display:grid;position:relative;overflow:hidden}.dashboard-hero:after{content:"";border-radius:var(--r-full);background:var(--body-glow-primary);pointer-events:none;width:240px;height:240px;position:absolute;bottom:-110px;right:-70px}.dashboard-hero__eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.75rem;font-weight:800}.dashboard-hero__title{color:var(--text);margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.2}.dashboard-hero__description{max-width:680px;color:var(--text-sub);margin:.55rem 0 0;font-size:.9rem;line-height:1.55}.dashboard-hero__meta{color:var(--muted);flex-wrap:wrap;gap:.6rem 1rem;margin-top:.85rem;font-size:.78rem;display:flex}.dashboard-hero__meta span{align-items:center;gap:.35rem;display:inline-flex}.dashboard-hero__action{z-index:1;position:relative}.dashboard-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-summary-list{margin-top:1rem}.dashboard-list__item{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-elevated);justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.8rem;display:flex}.dashboard-list__main{align-items:center;gap:.7rem;min-width:0;display:flex}.dashboard-list__icon{color:var(--accent);flex-shrink:0;display:inline-flex}.dashboard-list__text{min-width:0}.dashboard-list__text strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;display:block;overflow:hidden}.dashboard-list__text span{color:var(--muted);margin-top:.18rem;font-size:.75rem;line-height:1.35;display:block}.dashboard-list__value{color:var(--text);text-align:right;flex-shrink:0;font-size:.85rem;font-weight:700}.dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.dashboard-action{justify-content:flex-start;min-width:0;padding-inline:.9rem}.dashboard-progress{border-radius:var(--r-full);background:var(--secondary-bg);height:9px;overflow:hidden}.dashboard-progress__fill{width:var(--dashboard-progress,0%);border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--info));height:100%}.dashboard-progress__legend{color:var(--text-sub);justify-content:space-between;gap:1rem;margin-bottom:.55rem;font-size:.78rem;display:flex}.dashboard-progress__legend strong{color:var(--text)}.dashboard-empty{min-height:150px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1.5rem;display:flex}.dashboard-empty svg{color:var(--accent);opacity:.8}.dashboard-empty strong{color:var(--text);font-size:.9rem}.dashboard-empty p{max-width:420px;margin:0;font-size:.8rem;line-height:1.45}@media (width<=1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (width<=620px){.dashboard-metrics{grid-template-columns:1fr;gap:.75rem}.dashboard-hero{grid-template-columns:1fr}.dashboard-hero__action .btn{width:100%}.dashboard-section__header{flex-direction:column;align-items:flex-start}.dashboard-section__action,.dashboard-section__action .btn{width:100%}.dashboard-actions{grid-template-columns:1fr}.dashboard-list__item{align-items:flex-start}.dashboard-list__value{max-width:40%}}.form-group{text-align:left;margin-bottom:1.25rem}.form-label{margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.form-control{background-color:var(--bg-input);border:1px solid var(--input-border);border-radius:var(--r-sm);width:100%;color:var(--text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:.75rem 1rem;font-family:inherit;font-size:.975rem}textarea.form-control{resize:vertical;max-width:100%}select.form-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2300e5ff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:2.5rem!important}select.form-control option{background-color:var(--bg-card);color:var(--text)}input[type=file],input[type=file].form-control{color:var(--text-sub);cursor:pointer;padding:.35rem .5rem}input[type=file]::file-selector-button{background-color:var(--file-button-bg);border:1px solid var(--file-button-border);color:var(--file-button-text);box-shadow:var(--file-button-shadow);border-radius:var(--r-sm);cursor:pointer;transition:all var(--transition-fast);margin-right:.75rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600}input[type=file].form-control::file-selector-button{background-color:var(--file-button-bg);border:1px solid var(--file-button-border);color:var(--file-button-text);box-shadow:var(--file-button-shadow);border-radius:var(--r-sm);cursor:pointer;transition:all var(--transition-fast);margin-right:.75rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600}input[type=file]::-webkit-file-upload-button{background-color:var(--file-button-bg);border:1px solid var(--file-button-border);color:var(--file-button-text);box-shadow:var(--file-button-shadow);border-radius:var(--r-sm);cursor:pointer;transition:all var(--transition-fast);margin-right:.75rem;padding:.35rem .85rem;font-size:.82rem;font-weight:600}input[type=file]::file-selector-button:hover{background-color:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}input[type=file].form-control::file-selector-button:hover{background-color:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}input[type=file]::-webkit-file-upload-button:hover{background-color:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim), 0 0 8px var(--accent-glow);outline:none}.form-control:disabled,.form-control[readonly],.form-control--readonly{border-color:var(--border);color:var(--muted);cursor:not-allowed;opacity:.85;background-color:#ffffff0d;font-size:.85rem}.form-control.is-invalid{background-color:#f871710d;border-color:var(--danger)!important;box-shadow:0 0 0 3px #f8717133,0 0 8px #f871714d!important}.form-field-error{color:#f87171;align-items:center;gap:5px;margin-top:5px;font-size:.78rem;font-weight:500;animation:.15s ease-out modal-fade-in;display:flex}.form-field-error svg{color:var(--danger);flex-shrink:0}[data-theme=light] .form-control.is-invalid{background-color:#fef2f2!important;border-color:#dc2626!important;box-shadow:0 0 0 3px #dc262626!important}[data-theme=light] .form-field-error{color:#b91c1c}[data-theme=light] .form-field-error svg{color:#dc2626}.auth-error-banner{background-color:var(--danger-bg);color:#fca5a5;border-radius:var(--r-md);text-align:left;border:1px solid #f8717166;align-items:center;gap:.6em;margin-bottom:clamp(.75rem,2vh,1.25rem);padding:.75em 1em;font-size:clamp(.8rem,1.8vh,.9rem);font-weight:500;line-height:1.4;animation:.2s ease-out modal-fade-in;display:flex}.form-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-sub);align-items:flex-start;gap:.75rem;font-size:.9rem;display:flex}.form-checkbox input{accent-color:var(--accent);margin-top:.25rem}.btn{border-radius:var(--r-sm);cursor:pointer;min-height:42px;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn :is(span,svg,p,div){color:inherit;stroke:currentColor}.btn-primary{background-color:var(--accent);color:var(--accent-contrast);font-weight:700;box-shadow:0 0 12px #00e5ff40}.btn-primary:hover{background-color:var(--accent-hover);box-shadow:0 0 18px var(--accent-glow), 0 4px 12px #0000004d;transform:translateY(-1px)}.btn-secondary{background-color:var(--secondary-bg);border-color:var(--border);color:var(--text)}.btn-secondary:hover{background-color:var(--secondary-hover-bg);border-color:var(--secondary-hover-border);color:var(--secondary-hover-text);transform:translateY(-1px)}.btn-danger{background-color:var(--danger-bg);border-color:var(--danger-border);color:var(--danger);font-weight:600}.btn-danger:hover{background-color:var(--danger);color:var(--text-on-accent);transform:translateY(-1px)}.btn-sm{min-height:36px;padding:.4rem .85rem;font-size:.875rem}.btn-glow{animation:2s infinite alternate pulse-glow}.btn:disabled{pointer-events:none;background-color:var(--border)!important;border-color:var(--border)!important;color:var(--muted)!important;cursor:not-allowed!important;opacity:.6!important;box-shadow:none!important;transform:none!important}@keyframes pulse-glow{0%{box-shadow:0 0 8px #00e5ff33}to{box-shadow:0 0 18px #00e5ff80}}.badge{letter-spacing:.01em;border-radius:var(--r-full);align-items:center;padding:.35rem .85rem;line-height:1.2;display:inline-flex;font-size:.825rem!important;font-weight:700!important}.badge-pending{background-color:var(--badge-warning-bg);color:var(--badge-warning);border:1px solid var(--warning-border)}.badge-progress,.badge-scheduled{background-color:var(--badge-info-bg);color:var(--badge-info);border:1px solid var(--info-border)}.badge-completed,.badge-active{background-color:var(--badge-success-bg);color:var(--badge-success);border:1px solid var(--success-border)}.badge-canceled{background-color:var(--badge-danger-bg);color:var(--badge-danger);border:1px solid var(--danger-border)}.sidebar-nav-btn{border-radius:var(--r-sm);border:1px solid var(--border);width:100%;height:44px;min-height:44px;color:var(--text-sub);cursor:pointer;text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#0000;align-items:center;gap:12px;padding:0 12px;font-family:inherit;font-size:.92rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s;display:flex;overflow:hidden}.sidebar-nav-btn svg{flex-shrink:0;justify-content:center;align-items:center;width:20px;min-width:20px;max-width:20px;height:20px;transition:color .2s;display:flex}.sidebar-nav-btn>span,.sidebar-nav-btn>.sidebar-expandable-label{min-width:0}.sidebar-nav-btn:hover{background-color:var(--nav-hover-bg);border-color:var(--accent-glow);color:var(--text)}.sidebar-nav-btn.active{background-color:var(--nav-active-bg);border-color:var(--accent);color:var(--accent-contrast);box-shadow:var(--nav-active-shadow);font-weight:700}.sidebar-nav-btn.active svg{color:currentColor;stroke:currentColor}.sidebar-nav-btn.active :is(span,p,div,svg){color:inherit;stroke:currentColor}.sidebar-expandable-label{white-space:nowrap;min-width:0;overflow:hidden}[data-theme=light] .auth-bg-tech{opacity:.85;filter:brightness(1.05)contrast(1.05)}[data-theme=light] :is(input,select,textarea){color:#0f172a!important;background-color:#f8fafc!important;border-color:#94a3b8!important}[data-theme=light] :is(input,textarea)::placeholder{color:#64748b!important}[data-theme=light] table{color:#0f172a!important;background-color:#fff!important}[data-theme=light] th{color:#1e293b!important;background-color:#e2e8f0!important;border-bottom:2px solid #cbd5e1!important}[data-theme=light] td{color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}[data-theme=light] tr:hover{background-color:#f1f5f9!important}.modal-overlay{background-color:var(--surface-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--layer-modal);box-sizing:border-box;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background-color:var(--bg-card,#0d121f);border:1px solid var(--border);border-radius:var(--r-lg);max-width:var(--modal-width,56em);width:100%;max-height:88vh;box-shadow:var(--modal-shadow);flex-direction:column;margin:auto;animation:.3s cubic-bezier(.16,1,.3,1) modal-fade-in;display:flex;overflow:hidden}.modal-content>form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.modal-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:1rem 1.25rem;overflow-y:auto}.modal-body .form-group{margin-bottom:.5rem}.modal-footer{border-top:1px solid var(--border);background-color:#0000;flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:.85rem 1.25rem;display:flex}.modal-body--stack{text-align:left;flex-direction:column;gap:1rem;display:flex}.modal-footer--compact{gap:.5rem}@media (width<=1024px){.modal-overlay{padding:.85rem}.modal-content{max-width:70em;max-height:86vh}.modal-header{padding:.75rem 1rem}.modal-body{padding:.85rem 1rem}.modal-footer{padding:.65rem 1rem}}@media (width<=640px){.modal-overlay{padding:.5rem}.modal-content{border-radius:var(--r-md);max-width:98%;max-height:92vh}.modal-header{padding:.65rem .85rem}.modal-body{padding:.75rem .85rem}.modal-footer{flex-wrap:wrap;padding:.65rem .85rem}}.progress-bar-container{background-color:var(--bg-input);border-radius:var(--r-full);border:1px solid var(--border);width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, #00b0ff, var(--accent));height:100%;box-shadow:0 0 8px var(--accent-glow);transition:width .5s ease-out}.desktop-notification-bell{z-index:2000;position:fixed;bottom:2rem;right:2rem}.desktop-notification-bell .btn-notification-bell{--notification-bell-shadow:0 4px 15px #0006, 0 0 0 1px var(--border);background-color:var(--bg-card);width:48px;height:48px;box-shadow:var(--notification-bell-shadow)}.desktop-notification-bell .btn-notification-bell:hover{box-shadow:0 6px 20px #00f3ff4d, 0 0 10px var(--accent-glow)}@media (width<=768px){.desktop-notification-bell{bottom:1.25rem;right:1.25rem}}.btn-notification-bell{background-color:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:relative}.btn-notification-bell:hover{border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow);transform:scale(1.05)}.notification-badge{color:#fff;background-color:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px;box-shadow:0 0 5px #ef444480}.notification-dropdown-popup{--notification-popup-bg:#111827;--notification-popup-border:var(--border);--notification-popup-shadow:0 10px 35px #000000d9;--notification-popup-text:inherit;--notification-unread-bg:#00f3ff08;--notification-unread-border:#00f3ff33;--notification-read-bg:#ffffff03;--notification-read-border:var(--border);--notification-hover-bg:#00f3ff0d;--notification-hover-border:#00f3ff4d;background-color:var(--notification-popup-bg);border:1px solid var(--notification-popup-border);border-radius:var(--r-md);width:calc(100vw - 2rem);max-width:380px;box-shadow:var(--notification-popup-shadow);color:var(--notification-popup-text);z-index:3000;padding:1rem;animation:.2s ease-out modal-fade-in;position:absolute}.notification-dropdown-popup.down{top:48px;bottom:auto;right:0}.notification-dropdown-popup.up{top:auto;bottom:56px;right:0}@media (width<=600px){.notification-dropdown-popup{width:calc(100vw - 2.5rem);max-width:320px;right:0}}[data-theme=light] .notification-dropdown-popup{--notification-popup-bg:#fff;--notification-popup-border:#e2e8f0;--notification-popup-shadow:0 10px 30px #0000001f;--notification-popup-text:#0f172a;--notification-unread-bg:#f0f9ff;--notification-unread-border:#bae6fd;--notification-read-bg:#f8fafc;--notification-read-border:#e2e8f0;--notification-hover-bg:#e0f2fe;--notification-hover-border:#7dd3fc}[data-theme=light] .desktop-notification-bell .btn-notification-bell{--notification-bell-shadow:0 4px 15px #0000001a}.notification-popup-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.notification-popup-list{text-align:left;flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}.notification-item{border-radius:var(--r-sm);flex-direction:column;gap:.4rem;padding:.65rem;transition:all .2s;display:flex}.notification-item.unread{background-color:var(--notification-unread-bg);border:1px solid var(--notification-unread-border)}.notification-item.read{background-color:var(--notification-read-bg);border:1px solid var(--notification-read-border);opacity:.65}.notification-item:hover{background-color:var(--notification-hover-bg);border-color:var(--notification-hover-border)}[data-theme=light] .notification-item.read{opacity:.85}.notification-item-content{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.notification-item-footer{color:var(--muted);justify-content:space-between;align-items:center;font-size:.68rem;display:flex}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}body.modal-open{touch-action:none;overflow:hidden!important}html:has(body.modal-open){touch-action:none;overflow:hidden!important}.modal-overlay,.terms-modal-overlay{overscroll-behavior:contain}.alert-toast{border-radius:var(--r-md);z-index:99999;-webkit-backdrop-filter:blur(12px);background-color:var(--toast-bg);border:1px solid var(--toast-border);max-width:440px;color:var(--toast-text);box-shadow:var(--toast-shadow,0 10px 25px -5px #0006, 0 8px 10px -6px #0000004d);padding:.85rem 1.25rem;font-size:.9rem;font-weight:600;line-height:1.5;animation:.2s ease-out modal-fade-in;position:fixed;top:1.5rem;right:1.5rem}.alert-toast-title{color:var(--toast-title,var(--toast-text));align-items:center;gap:.5rem;margin-bottom:.35rem;font-weight:700;display:flex}.alert-toast-line{color:var(--toast-text);margin-top:.15rem;padding-left:1.6rem;font-size:.85rem}.alert-toast-icon{color:var(--toast-icon);flex-shrink:0}.alert-toast-line.is-fail{color:#f87171;font-weight:700}.alert-toast-line.is-ok{color:#34d399;font-weight:600}.alert-toast-success{--toast-bg:#064e3bf2;--toast-border:#10b981cc;--toast-icon:#86efac;--toast-text:#f8fafc}.alert-toast-danger{--toast-bg:#b91c1cf2;--toast-border:#ef4444cc;--toast-icon:#fca5a5;--toast-text:#f8fafc}.alert-toast-warning{--toast-bg:#b45309f2;--toast-border:#f59e0bcc;--toast-icon:#fde68a;--toast-text:#f8fafc}.alert-toast-info{--toast-bg:#1e3a8af2;--toast-border:#3b82f6cc;--toast-icon:#93c5fd;--toast-text:#f8fafc}[data-theme=light] .alert-toast{--toast-bg:#fff;--toast-shadow:0 10px 25px -5px #0f172a1f, 0 4px 10px #0f172a0f}[data-theme=light] .alert-toast-success{--toast-border:#10b981;--toast-icon:#10b981;--toast-text:#065f46;--toast-title:#047857}[data-theme=light] .alert-toast-danger{--toast-border:#ef4444;--toast-icon:#ef4444;--toast-text:#991b1b;--toast-title:#b91c1c}[data-theme=light] .alert-toast-warning{--toast-border:#f59e0b;--toast-icon:#f59e0b;--toast-text:#92400e;--toast-title:#b45309}[data-theme=light] .alert-toast-info{--toast-border:#3b82f6;--toast-icon:#3b82f6;--toast-text:#1e40af;--toast-title:#1d4ed8}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-box{background:linear-gradient(90deg, var(--skeleton-start) 25%, var(--skeleton-highlight) 50%, var(--skeleton-start) 75%);border-radius:var(--r-sm);vertical-align:middle;background-size:200% 100%;animation:1.8s ease-in-out infinite skeleton-shimmer;display:inline-block}.skeleton-card{background:var(--bg-card);border:1px solid var(--skeleton-border);border-radius:var(--r-md);box-shadow:var(--panel-shadow);flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex;position:relative;overflow:hidden}.landing-features__intro{text-align:center;margin-bottom:3rem}.landing-features__eyebrow{color:var(--accent);letter-spacing:1px;text-transform:uppercase;font-size:.9rem;font-weight:600}.landing-features__title{margin-top:.3rem;font-size:2.2rem;font-weight:800}.landing-features__description{max-width:700px;margin:.5rem auto 0}.landing-features__grid{gap:1.75rem}.landing-feature__header{align-items:center;gap:.85rem;margin-bottom:1rem;display:flex}.landing-feature__icon{background-color:var(--landing-feature-background);border-radius:var(--r-sm);color:var(--landing-feature-color);padding:.65rem}.landing-feature__title{margin:0;font-size:1.2rem}.landing-feature__description{color:var(--text-sub);font-size:.92rem;line-height:1.6}.user-select-modal{max-width:420px;padding:2rem}.user-select-modal__header{text-align:center;border:0;padding:0;display:block}.user-select-modal__header h3{font-size:1.4rem;font-weight:800}.user-select-modal__body{text-align:center;padding:0}.user-select-modal__description{margin:.5rem 0 1.5rem;font-size:.85rem}.user-select-modal__options{flex-direction:column;gap:.75rem;display:flex}.user-select-modal__option{padding:.8rem}.user-select-modal__option--admin{color:#fbbf24;background-color:#fbbf241a;border-color:#fbbf244d}.user-select-modal__footer{border:0;justify-content:center;padding:1.5rem 0 0}.user-select-modal__footer .btn{padding:.4rem 1.2rem}.directory-modal--cohorts{max-width:650px}.directory-modal__header h3,.admin-cohort-students-modal__title,.reset-modal__step-group,.privacy-modal__title,.modal-title-with-icon{align-items:center;gap:.5rem;display:flex}.directory-modal__summary{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-sub);background-color:#ffffff08;justify-content:space-between;align-items:center;padding:.65rem .85rem;font-size:.85rem;display:flex}.directory-modal__list{flex-direction:column;padding-right:.25rem;display:flex;overflow-y:auto}.directory-modal__list--students{gap:.5rem;max-height:350px}.directory-modal__list--cohorts{gap:.75rem;max-height:380px}.directory-modal__empty{color:var(--muted);text-align:center;padding:1.5rem}.modal-surface-item{border:1px solid var(--border);border-radius:var(--r-sm);background-color:#ffffff05}.directory-modal__student{padding:.6rem .85rem}.directory-modal__student-name{font-size:.9rem;display:block}.directory-modal__student-email{color:var(--muted);font-size:.78rem}.directory-modal__enrollment{color:var(--accent);margin-left:.5rem;font-family:monospace;font-size:.75rem}.directory-modal__status{margin-left:.5rem;font-size:.72rem}.directory-modal__cohort{flex-direction:column;gap:.35rem;padding:.75rem 1rem;display:flex}.directory-modal__cohort-name{font-size:.95rem}.directory-modal__cohort-description{margin:0;font-size:.82rem}.directory-modal__cohort-meta{color:var(--muted);gap:1rem;margin-top:.2rem;font-size:.78rem;display:flex}.company-edit-modal{flex:1;max-width:85em;max-height:90vh;overflow:hidden}.company-edit-modal__header h3{align-items:center;gap:.75rem;display:flex}.company-edit-modal__pending{font-size:.65rem;animation:.2s ease-out modal-fade-in}.company-edit-modal__body{flex:1;overflow-y:auto}.company-edit-modal__footer{border-top-color:#ffffff14;align-items:center;padding-top:.75rem}.company-edit-modal__unsaved{color:var(--muted);margin-right:auto;font-size:.75rem}.profile-edit-modal{max-width:70rem}.profile-edit-modal__footer{padding:1rem 1.25rem}.admin-form-modal{max-width:70rem}.admin-form-modal__body{flex:1;padding:1.25rem;overflow-y:auto}.admin-form-modal__footer{padding:1rem 1.25rem}.teacher-material-modal--edit{max-width:580px}.teacher-material-modal__title{display:block}.teacher-material-modal__target{align-items:center;gap:.3rem;margin-top:.25rem;font-size:.72rem;display:inline-flex}.teacher-material-modal__metadata{color:var(--muted);margin-top:.25rem;font-size:.78rem;font-weight:400;display:block}.admin-package-students-modal__body{gap:.75rem;max-height:60vh;overflow-y:auto}.admin-cohort-students-modal__title svg{color:var(--accent)}.teacher-submissions-timeline-modal{width:95%;max-width:700px}.teacher-submissions-timeline-modal__body{gap:1.25rem;max-height:480px;overflow-y:auto}.teacher-submissions-modal__title{display:block}.teacher-submissions-modal__metadata{color:var(--text-sub);margin-top:.25rem;font-size:.8rem;font-weight:400;display:block}.teacher-activity-modal{max-width:56em}.teacher-activity-edit-modal{max-width:460px}.teacher-lesson-event-modal{max-width:500px}.reset-modal,.register-modal{max-width:460px}.reset-modal__header{padding:1.25rem 1.5rem}.reset-modal__header h3{align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;display:flex}.reset-modal__title-icon{color:var(--accent)}.reset-modal__close,.register-modal__close{color:var(--text-sub);background:0 0;border:0;border-radius:6px;width:auto;height:auto;padding:.4rem;transition:all .2s}.reset-modal__close:hover:not(:disabled){background-color:var(--bg-card-hover);color:var(--text);border-color:#0000}.register-modal__close{border-radius:0;padding:0}.register-modal__close:hover:not(:disabled){color:var(--text);border-color:#0000}.reset-modal__steps{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.reset-modal__step{color:var(--muted);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;transition:all .3s;display:flex}.reset-modal__step--active{background:var(--accent);color:#0a0f1d}.reset-modal__step-connector{background:#ffffff1a;width:32px;height:2px;transition:all .3s}.reset-modal__step-connector--active{background:var(--accent)}.reset-modal__error{flex-direction:column;gap:.25rem;margin-bottom:0}.reset-modal__error--security{color:#fef08a;background-color:#fef3c726;border-color:#f59e0b80}.reset-modal__error-heading{align-items:center;gap:.5rem;font-weight:700;display:flex}.reset-modal__error-icon{color:#f59e0b;flex-shrink:0}.reset-modal__error-line{color:#d1d5db;padding-left:1.6rem;font-weight:500}.reset-modal__error-line--failed{color:#f87171;font-weight:700}.reset-modal__error-line--ok{color:#4ade80}.reset-modal__success{border-radius:var(--r-md);color:#6ee7b7;background-color:#10b98126;border:1px solid #10b98166;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.88rem;line-height:1.4;display:flex}.reset-modal__success-icon{color:#10b981;flex-shrink:0}.reset-modal__instruction{color:var(--text-sub);margin:0;font-size:.88rem;line-height:1.5}.reset-modal__form-group{margin-bottom:0}.reset-modal__code-inputs{justify-content:center;gap:.5rem;margin:.5rem 0;display:flex}.reset-modal__code-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);text-align:center;outline:none;width:48px;height:56px;font-family:Inter,monospace;font-size:1.5rem;font-weight:700;transition:border-color .2s,box-shadow .2s}.reset-modal__code-input--filled{border:2px solid var(--accent);box-shadow:0 0 8px #00e5ff33}.reset-modal__code-input:focus{border-color:var(--accent);box-shadow:0 0 12px #00e5ff40}.reset-modal__code-help{color:var(--muted);text-align:center;margin:0;font-size:.78rem}.reset-modal__footer{margin-top:1.25rem}.reset-modal__login-button{width:100%}.register-modal__header h3{color:#fff}.modal-header h3{margin:0}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header__eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem;font-weight:700}.page-header__title{margin:0}.page-header__description{margin-top:.35rem}.actions-row{flex-wrap:wrap;gap:.5rem;display:flex}.icon-button{border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-sub);cursor:pointer;height:2.25rem;transition:var(--transition-fast);background:0 0;justify-content:center;align-items:center;width:2.25rem;padding:0;display:inline-flex}.icon-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.icon-button--danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.icon-button--ghost{background:0 0;border:0;width:auto;height:auto}.icon-button:disabled{cursor:not-allowed;opacity:.55}.skeleton--primitive{border-radius:var(--skeleton-radius,var(--r-sm));height:var(--skeleton-height,1rem);width:var(--skeleton-width,100%)}.skeleton--spaced{margin-bottom:.5rem}.skeleton--section{margin-bottom:1rem}.skeleton--end{align-self:flex-end}.skeleton--mb-1{margin-bottom:.3rem}.skeleton--mb-2{margin-bottom:.35rem}.skeleton--mb-3{margin-bottom:.4rem}.skeleton--mb-5{margin-bottom:.6rem}.skeleton--mb-7{margin-bottom:1.25rem}.skeleton--mt-1{margin-top:.25rem}.skeleton--mt-2{margin-top:.35rem}.skeleton--mt-3{margin-top:1rem}.skeleton--fill{flex:1}.skeleton--fixed{flex-shrink:0}.skeleton--package-description{margin:.35rem 0 .75rem}.loading-badge__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:.85rem;height:.85rem;animation:.8s linear infinite spin}.history-modal__body{gap:.75rem;max-height:400px;overflow-y:auto}.history-modal__item{padding:.75rem 1rem}.history-modal__item-header{margin-bottom:.35rem}.history-modal__version{color:var(--accent);font-size:.9rem}.history-modal__date{color:var(--muted);margin-bottom:.4rem;font-size:.75rem}.history-modal__link-row{margin-bottom:.5rem}.history-modal__link{color:var(--accent);align-items:center;gap:.25rem;font-size:.82rem;display:inline-flex}.history-modal__feedback{border-left:3px solid var(--accent);border-radius:var(--r-sm);color:var(--text-sub);background-color:#ffffff08;padding:.4rem .6rem;font-size:.8rem}.teacher-modal__body{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.teacher-modal__avatar{border:2.5px solid var(--accent);border-radius:var(--r-full);background:#ffffff08;justify-content:center;align-items:center;width:90px;height:90px;display:flex;overflow:hidden}.teacher-modal__avatar-image{object-fit:cover;width:100%;height:100%}.teacher-modal__name{margin:.5rem 0 .25rem;font-size:1.1rem}.teacher-modal__bio-section{text-align:left;width:100%;margin-top:.5rem}.teacher-modal__bio-label{color:var(--muted);margin-bottom:.25rem;font-size:.75rem}.teacher-modal__bio{color:var(--text-sub);padding:.75rem;font-size:.85rem;line-height:1.4}.students-modal__body,.students-modal__list,.edit-stats-modal__body{flex-direction:column;gap:.75rem;display:flex}.students-modal__body{text-align:left}.students-modal__details{color:var(--text-sub);margin-bottom:.5rem;font-size:.85rem}.students-modal__list{gap:.5rem}.students-modal__item{justify-content:space-between;align-items:center;padding:.75rem;display:flex}.students-modal__name{font-size:.9rem;font-weight:600}.students-modal__email,.telegram-card__subtitle{color:var(--text-sub);font-size:.75rem}.students-modal__enrollment{color:var(--accent);font-family:monospace;font-size:.75rem}.students-modal__empty{color:var(--muted);text-align:center;font-size:.85rem}.edit-stats-modal__body{gap:1rem}.edit-stats-modal__intro{margin:0;font-size:.85rem}.edit-stats-modal__recurring{border:1px solid var(--accent-glow);border-radius:var(--r-sm);color:var(--accent);background:#00e5ff14;padding:.4rem .6rem;font-size:.78rem;font-weight:600}.privacy-modal__body{color:var(--text-sub);text-align:left;font-size:.85rem;line-height:1.6}.privacy-modal__body h4{margin-top:0;font-size:1rem}.privacy-modal__body p{margin-bottom:1rem}.privacy-modal__section-title{color:var(--text);margin-bottom:.25rem;display:block}.privacy-modal__notice{margin-top:1rem;font-style:italic}.approve-class-modal__intro{font-size:.85rem}.approve-class-modal__details{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-sm);padding:.75rem;font-size:.8rem}.textarea--project{min-height:80px}.textarea--deliver,.textarea--lesson-plan{min-height:100px}.deliver-activity-modal__intro{color:var(--text-sub);margin:0;font-size:.85rem}.required-marker{color:var(--danger)}.form-fields-grid{background:0 0;border:0;grid-template-columns:1fr;gap:.75rem;margin-bottom:.5rem;padding:0;display:grid}.form-group--spaced{margin-top:1.25rem}.cohort-create-modal__options{background-color:#0000;gap:.5rem;margin-top:.25rem;padding:.15rem 0;display:flex}.cohort-create-modal__options .btn{border:0;flex:1;padding:.45rem;font-size:.8rem}.telegram-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;flex:320px;justify-content:space-between;width:100%;max-width:480px;min-height:220px;padding:1.75rem;display:flex}.telegram-card__heading{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.telegram-card__icon{border-radius:var(--r-md);background:#38bdf826;justify-content:center;align-items:center;padding:.5rem;display:flex}.telegram-card__title{margin:0}.telegram-card__description{color:var(--text-sub);margin-bottom:1.25rem;font-size:.85rem}.telegram-card__trigger,.telegram-modal__generate{justify-content:center;gap:.4rem;width:100%}.admin-cohort-member-modal,.teacher-lesson-topic-modal{max-width:520px}.telegram-modal__title{align-items:center;gap:.6rem;font-size:1rem;display:flex}.telegram-modal__description{color:var(--text-sub);margin:0 0 1rem;font-size:.9rem;line-height:1.6}.telegram-modal__generate--spaced{margin-bottom:1rem}.telegram-modal__code-box{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--r-md);padding:.9rem}.telegram-modal__code-instructions{color:var(--text-sub);margin-bottom:.45rem;font-size:.78rem}.telegram-modal__code-row{align-items:center;gap:.75rem}.telegram-modal__code{color:var(--accent);overflow-wrap:anywhere}.telegram-modal__error{color:var(--error);margin:.8rem 0 0;font-size:.82rem}.teacher-cohorts__description-label{margin-top:.75rem}.admin-edit-modal__title{color:var(--text);align-items:center;gap:.5rem;display:flex}.admin-edit-modal__badge{margin-left:.5rem;font-size:.65rem}.admin-edit-modal__body{max-height:75vh;overflow-y:auto}.admin-edit-modal__fields-grid{background:0 0;border:0;padding:0}.form-control--readonly{border:1px solid var(--border);color:var(--muted);cursor:not-allowed;opacity:.85;background-color:#ffffff0d;font-size:.85rem}.admin-edit-modal__footer{align-items:center}.admin-health-card{flex-direction:column;justify-content:space-between;height:100%;padding:1.5rem;display:flex}.admin-health-card__header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.admin-health-card__heading{align-items:center;gap:.6rem;display:flex}.admin-health-card__title{margin:0;font-size:1.1rem;font-weight:700}.admin-health-metrics{flex-direction:column;flex:1;gap:.85rem;font-size:.88rem;display:flex}.admin-health-metric{border-bottom:1px solid var(--border);justify-content:space-between;padding-bottom:.5rem;display:flex}.admin-health-metric__value{font-weight:600}.admin-health-stat,.admin-health-detail{background-color:var(--bg-main);border:1px solid var(--border);border-radius:6px}.admin-health-stat{padding:.6rem .8rem}.admin-health-stat__label,.admin-health-detail__label{color:var(--muted);font-size:.72rem;display:block}.admin-health-stat__value{font-size:1.1rem;font-weight:800}.admin-health-detail{margin:auto 0;padding:.8rem}.admin-health-detail__label{margin-bottom:.25rem}.admin-health-detail__text{color:var(--text-sub);margin:0;font-size:.8rem}@media (width>=606px){.form-fields-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.page-header{flex-direction:column}}.loading-badge--sync{color:var(--accent);background-color:var(--accent-dim);border:1px solid var(--accent-glow);border-radius:var(--r-full);align-items:center;gap:.45rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;animation:.2s ease-out modal-fade-in;display:inline-flex}.loading-badge--sync .loading-badge__spinner{width:12px;height:12px}.loading-badge--spaced{margin-right:.5rem}.loading-badge--compact{padding:.2rem .6rem;font-size:.75rem}.loading-badge--compact .loading-badge__spinner{width:10px;height:10px}.app-container{flex-direction:column;min-height:100vh;display:flex}@media (width>=1024px){.app-container{flex-direction:row}}.sidebar{background-color:var(--sidebar-bg);border-bottom:1px solid var(--border);flex-direction:column;gap:1.5rem;width:100%;padding:1.5rem;display:flex;overflow-y:auto}@media (width<=1023px){.sidebar-wrapper{display:contents}}@media (width>=1024px){.sidebar-wrapper{z-index:100;will-change:width;flex-shrink:0;align-self:flex-start;height:100dvh;max-height:100vh;transition:width .22s ease-in-out,min-width .22s ease-in-out;position:sticky;top:0}.sidebar-wrapper.pinned{width:270px;min-width:270px}.sidebar-wrapper.unpinned{width:72px;min-width:72px}.sidebar-wrapper.unpinned>.sidebar{position:absolute;top:0;left:0}.sidebar{border-bottom:none;border-right:1px solid var(--sidebar-border);background-color:var(--sidebar-bg);scrollbar-width:thin;scrollbar-color:var(--border) transparent;will-change:width;flex-direction:column;gap:1.25rem;height:100%;max-height:100dvh;padding:1.25rem .85rem;transition:width .22s ease-in-out,min-width .22s ease-in-out,box-shadow .22s ease-in-out;display:flex;overflow:hidden auto}.sidebar.collapsed-rail:hover,.sidebar.floating-overlay{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar::-webkit-scrollbar{width:8px;height:8px}.sidebar.collapsed-rail::-webkit-scrollbar{width:0;height:0}.sidebar.collapsed-rail:hover::-webkit-scrollbar{width:8px;height:8px}.sidebar.floating-overlay::-webkit-scrollbar{width:8px;height:8px}.sidebar.pinned{width:270px;min-width:270px;box-shadow:none}.sidebar.collapsed-rail{width:72px;min-width:72px;box-shadow:none;scrollbar-width:none}.sidebar.floating-overlay{z-index:1000;width:270px;min-width:270px;height:100dvh;box-shadow:var(--sidebar-shadow,4px 0 28px #00000073);border-right:1px solid var(--sidebar-border);background-color:var(--sidebar-bg)}}.sidebar-expandable-label{text-overflow:ellipsis;white-space:nowrap;opacity:1;flex:1;min-width:0;transition:opacity .18s cubic-bezier(.4,0,.2,1) 40ms,transform .18s cubic-bezier(.4,0,.2,1) 40ms;overflow:hidden;transform:translate(0)}.sidebar-profile-card{box-sizing:border-box;align-items:center;gap:.75rem;min-height:64px;padding:.4rem .6rem;display:flex}.sidebar-header>div:first-child{gap:.6rem}.sidebar-header{justify-content:space-between}.sidebar-footer-action{justify-content:center;align-items:center;gap:.35rem;padding:.55rem .8rem;display:inline-flex}.sidebar-sync-action{gap:.4rem;padding-inline:.6rem}@media (width>=1024px){.sidebar.collapsed-rail:not(.floating-overlay) .sidebar-expandable-label,.sidebar:not(.pinned):not(.floating-overlay):not(.open) .sidebar-expandable-label,.sidebar-wrapper.unpinned:not(:hover) .sidebar-expandable-label{opacity:0;pointer-events:none;transition:opacity .13s cubic-bezier(.4,0,.2,1),transform .13s cubic-bezier(.4,0,.2,1);transform:translate(-8px)}.sidebar.collapsed-rail .sidebar-nav-btn>svg,.sidebar-wrapper.unpinned:not(:hover) .sidebar-nav-btn>svg,.sidebar.collapsed-rail .btn>svg,.sidebar-wrapper.unpinned:not(:hover) .btn>svg{flex:none}.sidebar.collapsed-rail:not(.floating-overlay) .btn,.sidebar-wrapper.unpinned:not(:hover) .btn{min-width:0;overflow:visible}.sidebar.collapsed-rail:not(.floating-overlay) .sidebar-profile-card,.sidebar-wrapper.unpinned:not(:hover) .sidebar-profile-card{justify-content:center;gap:0;height:48px;min-height:48px;padding:0}.sidebar.collapsed-rail .sidebar-profile-card .sidebar-expandable-label,.sidebar-wrapper.unpinned:not(:hover) .sidebar-profile-card .sidebar-expandable-label{flex:0 0 0;width:0}}.sidebar-action-btn{border-radius:var(--r-sm);width:32px;min-width:32px;height:32px;color:var(--text-sub);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s,border-color .2s,color .2s,opacity .18s,transform .18s;display:inline-flex}.sidebar-action-btn:hover{color:var(--accent);background:#00e5ff1a;border-color:#00e5ff4d;transform:scale(1.05)}.sidebar-action-btn:active{background:#00e5ff33}[data-theme=light] .sidebar-action-btn{color:#64748b}[data-theme=light] .sidebar-action-btn:hover{color:#0284c7;background:#0284c714;border-color:#0284c74d}[data-theme=light] .sidebar-action-btn:active{background:#0284c726}.main-content{flex:1;min-width:0;padding:1.5rem}@media (width>=768px){.main-content{padding:2.5rem}}.grid-cols-1,.grid-cols-2,.grid-cols-2-early{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=606px){.grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.grid-cols-2-early{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.chat-input-form{flex-direction:column}.chat-input-form input,.chat-input-form .form-control{width:100%!important}.chat-input-form button{width:100%}.chat-msg-bubble{max-width:85%!important}.hide-mobile{display:none!important}.show-mobile{display:flex!important}.chat-layout-grid{flex-direction:column!important;height:100%!important;display:flex!important}.chat-layout-grid>.card{flex:1!important;min-height:0!important;overflow:auto!important}.roster-card-header{flex-direction:column;align-items:flex-start;gap:.4rem}.roster-info-block{width:100%;min-width:100%}.roster-card-badges{flex-wrap:wrap;justify-content:flex-start;gap:.4rem;width:100%}.roster-metrics-grid{gap:1rem;padding:.75rem}.roster-card-actions{flex-direction:column}.roster-card-actions button{width:100%}.activity-student-row{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.activity-student-row-right{justify-content:space-between!important;width:100%!important}.activity-student-row-right button{justify-content:center!important;width:100%!important;margin-top:.25rem!important}.activity-breakdown-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important;padding:.68rem .75rem!important}}.roster-card-header{width:100%;box-shadow:none;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.roster-info-block{width:100%;box-shadow:none;background:0 0;border:none}.roster-card-badges{width:100%;box-shadow:none;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.loading-badge,.teacher-students__add{align-items:center;gap:.45rem;display:inline-flex}.teacher-students__empty{color:var(--muted);text-align:center;padding:3rem}.teacher-students__list,.roster-card{flex-direction:column;gap:1rem;display:flex}.roster-card__name{overflow-wrap:anywhere;margin:0;font-size:1.25rem}.roster-card__identity{color:var(--text-sub);overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.8rem}.roster-card__enrollment{color:var(--accent);font-family:monospace}.roster-card__billing-badge{color:#f59e0b;background-color:#f59e0b26;border:1px solid #f59e0b4d}.roster-card__cohort-badge{color:#a78bfa;background-color:#a78bfa1a;border:1px solid #a78bfa33}.roster-metrics-grid{border:1px solid var(--border);border-radius:var(--r-sm);background:#ffffff05;flex-wrap:wrap;gap:1.25rem 2rem;padding:1rem;display:flex}.roster-metric__label{color:var(--muted);font-size:.75rem;display:block}.roster-metric__value{font-size:1rem;font-weight:700}.roster-metric__value--accent{color:var(--accent)}.roster-metric--cohort{min-width:130px}.roster-metric__value--block{margin-top:.15rem;display:block}.roster-metric--notes{flex:1;min-width:180px;max-width:100%}.roster-metric__notes{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;display:block;overflow:hidden}.roster-card-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.teacher-next-lesson-header{flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;margin-bottom:.35rem;display:flex}@media (width>=1201px){.teacher-next-lesson-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:.5rem}}[data-theme=light] .teacher-next-lesson-badge{color:#7e22ce!important;background-color:#f3e8ff!important;border-color:#d8b4fe!important}.teacher-projects-scroll{min-width:0;padding:.5rem .75rem 1rem .5rem}@media (width>=1024px){.teacher-projects-scroll{overscroll-behavior:contain;scrollbar-width:thin;height:calc(100dvh - 5rem);min-height:0;overflow-y:auto}}[data-theme=light] .roster-metrics-grid{background-color:#f8fafc!important;border-color:#e2e8f0!important}@media (width>=769px){.show-mobile{display:none!important}.chat-layout-grid{grid-template-columns:minmax(260px,320px) 1fr!important;align-items:stretch!important;gap:1.5rem!important;display:grid!important}}.chat-loading-spinner{border:3px solid #ffffff14;border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite chat-spin}@keyframes chat-spin{to{transform:rotate(360deg)}}.about-tabs-nav,.admin-subtabs-nav{white-space:nowrap!important;scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important;gap:.5rem!important;max-width:100%!important;padding-bottom:.35rem!important;display:flex!important;overflow-x:auto!important}.about-tabs-nav::-webkit-scrollbar{display:none!important}.admin-subtabs-nav::-webkit-scrollbar{display:none!important}.about-tabs-nav .btn,.admin-subtabs-nav .btn{white-space:nowrap;border:1px solid var(--border)!important;flex-shrink:0!important;transition:background .15s,border-color .15s,color .15s,box-shadow .15s!important;transform:none!important}.about-tabs-nav .btn:hover,.about-tabs-nav .btn:active,.admin-subtabs-nav .btn:hover,.admin-subtabs-nav .btn:active{transform:none!important}.about-tabs-nav .btn.btn-primary,.about-tabs-nav .btn.active,.admin-subtabs-nav .btn.btn-primary,.admin-subtabs-nav .btn.active{color:#090d14!important;background:linear-gradient(135deg,#22d3ee 0%,#06b6d4 100%)!important;border-color:#22d3ee!important;font-weight:600!important;box-shadow:0 2px 10px #22d3ee4d!important}.about-tabs-nav .btn.btn-primary:hover,.about-tabs-nav .btn.active:hover,.admin-subtabs-nav .btn.btn-primary:hover,.admin-subtabs-nav .btn.active:hover{filter:brightness(1.06);box-shadow:0 0 16px #22d3ee66!important}[data-theme=light] .about-tabs-nav .btn.btn-primary,[data-theme=light] .about-tabs-nav .btn.active,[data-theme=light] .admin-subtabs-nav .btn.btn-primary,[data-theme=light] .admin-subtabs-nav .btn.active{color:#fff!important;background:linear-gradient(135deg,#0284c7 0%,#0d9488 100%)!important;border-color:#0284c7!important;box-shadow:0 2px 10px #0284c74d!important}@media (width>=591px){.grid-cols-3{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}}@media (width>=992px){.grid-cols-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}}.cohorts-grid{box-sizing:border-box;grid-template-columns:minmax(0,1fr);gap:1.25rem;width:100%;max-width:100%;display:grid}.cohorts-grid>*{box-sizing:border-box;min-width:0;max-width:100%}@media (width>=670px){.cohorts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1300px){.cohorts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.profile-grid-2,.profile-grid-3{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=560px){.profile-grid-2,.profile-grid-3{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.profile-grid-3{grid-template-columns:repeat(3,1fr)}}.profile-grid-2 .form-group,.profile-grid-3 .form-group{flex-direction:column;margin-bottom:0;display:flex}.profile-grid-2 .form-label,.profile-grid-3 .form-label,.matricula-name-grid .form-label{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.35rem;font-size:.8rem;overflow:hidden}.matricula-name-grid{grid-template-columns:1fr;gap:.75rem;width:100%;display:grid}.matricula-name-grid--spaced{margin-bottom:.75rem}.chat-modal__body{text-align:left;flex-direction:column;gap:1.2rem;display:flex}.chat-type-options{flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;display:flex}.chat-type-option{cursor:pointer;align-items:center;gap:.25rem;font-size:.85rem;display:flex}.chat-selection{margin-top:.5rem}.chat-selection-label{margin-bottom:.5rem}.chat-selection-list{flex-direction:column;gap:.4rem;max-height:200px;display:flex;overflow-y:auto}.chat-selection-empty,.landing-feature__subtitle,.teacher-modal__email{color:var(--muted);font-size:.8rem}.chat-selection-button{text-align:left;justify-content:flex-start;width:100%}@media (width>=480px){.matricula-name-grid{grid-template-columns:minmax(130px,155px) 1fr}}.matricula-name-grid .form-group{flex-direction:column;margin-bottom:0;display:flex}.col-span-full{grid-column:1/-1!important}@media (width<=768px){.profile-header-card{flex-direction:column!important;align-items:flex-start!important;gap:1.25rem!important}.profile-header-card .profile-header-actions,.profile-header-card .profile-header-actions button{width:100%!important}}.flex-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{color:var(--text);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:800;display:flex}.logo span{color:var(--accent);text-shadow:0 0 10px var(--accent-glow)}.mobile-header{background-color:var(--sidebar-bg);border-bottom:1px solid var(--border);z-index:990;-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex;position:sticky;top:0}@media (width>=1024px){.mobile-header{display:none}}@media (width<=1023px){.sidebar{z-index:1000;border-right:1px solid var(--border);will-change:transform;width:min(285px,85vw);height:100dvh;padding:1.25rem .85rem;padding-bottom:max(2.5rem, calc(1.5rem + env(safe-area-inset-bottom)));border-bottom:none;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s ease-in-out;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0,0);box-shadow:0 0 32px #00000073}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:995;background-color:#05070cb3;animation:.2s ease-out forwards sidebar-fade-in;position:fixed;inset:0}.main-content{padding-top:1.5rem}}@media (prefers-reduced-motion:reduce){.sidebar,.sidebar-backdrop{transition-duration:.01ms!important;animation-duration:.01ms!important}}@keyframes sidebar-fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.log-row-hover:hover{background-color:#ffffff06}@media (width<=600px){.revenue-card__estimated{border-top:1px solid var(--border);padding-top:.85rem;border-left:none!important;padding-left:0!important}}.text-accent{color:var(--accent)}.text-primary{color:var(--text)}.detail-value-strong{color:var(--text-on-accent);font-weight:600}.form-label--compact{font-size:.75rem}.font-bold{font-weight:700}.text-left{text-align:left}.label-accent{color:var(--accent);text-transform:uppercase;font-size:.9rem;font-weight:600}.stat-value{margin-top:.25rem;margin-bottom:.5rem;font-size:2rem;font-weight:800}.field-label{color:var(--muted);margin-bottom:.25rem;font-size:.7rem}.profile-detail-row{border:1px solid var(--border);border-radius:var(--r-sm);background-color:#ffffff03;padding:.65rem .75rem}.profile-field-label{color:var(--muted);font-size:.72rem}.fade-in{animation:.3s ease-out modal-fade-in}.fade-in-fast{animation:.25s ease-out modal-fade-in}.auth-wrapper{--auth-overlay-mid:#080b1180;--auth-overlay-edge:var(--bg-main);--auth-card-background:#101830f0;background-color:var(--bg-main);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;max-height:100dvh;padding:clamp(.5rem,2.5vh,1.75rem) clamp(.75rem,2.5vw,1.5rem);display:flex;position:relative;overflow:hidden}.auth-bg-tech{opacity:.9;pointer-events:none;z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;transition:opacity .3s,filter .3s;position:absolute;inset:0;-webkit-mask-image:radial-gradient(95% 95%,#000 40%,#000000bf 80%,#0006 100%);mask-image:radial-gradient(95% 95%,#000 40%,#000000bf 80%,#0006 100%)}.auth-bg-overlay{background:radial-gradient(circle at 50% 50%, transparent 0%, var(--auth-overlay-mid) 70%, var(--auth-overlay-edge) 100%), linear-gradient(to bottom, var(--auth-overlay-edge) 0%, transparent 30%, transparent 70%, var(--auth-overlay-edge) 100%);pointer-events:none;z-index:1;transition:background .3s;position:absolute;inset:0}.auth-theme-toggle{z-index:20;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-full);color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(.5rem);align-items:center;gap:.4em;padding:.45em .8em;font-size:clamp(.75rem,1.6vh,.85rem);font-weight:600;transition:all .2s;display:flex;position:absolute;top:clamp(.6rem,2.5vh,1.25rem);right:clamp(.6rem,2.5vw,1.25rem);box-shadow:0 .25rem .9375rem #00000040}.auth-theme-toggle:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 .25rem 1.25rem #00e5ff40}.auth-card{text-align:center;z-index:2;background-color:var(--auth-card-background);-webkit-backdrop-filter:blur(1.25rem);border-radius:var(--r-lg);scrollbar-width:thin;box-sizing:border-box;border:1px solid #00e5ff59;flex-direction:column;justify-content:center;width:100%;max-width:30rem;max-height:calc(100dvh - 1.5rem);padding:clamp(1.25rem,4vh,2.5rem) clamp(1.25rem,4vw,2rem);display:flex;position:relative;overflow-y:auto;box-shadow:0 1.25rem 3.125rem #000000bf,0 0 1.875rem #00e5ff26}[data-theme=light] .auth-wrapper{--auth-overlay-mid:transparent;--auth-overlay-edge:transparent;--auth-card-background:#fffffff0}[data-theme=light] .auth-bg-tech{opacity:1;-webkit-mask-image:none;mask-image:none}[data-theme=light] .auth-bg-overlay{display:none}.auth-brand-header{justify-content:center;align-items:center;gap:clamp(.6rem,2vw,1rem);width:100%;margin-bottom:clamp(1.25rem,3.5vh,2rem);display:flex}.auth-brand-logo{object-fit:contain;width:clamp(3.25rem,8vh,4.75rem);height:clamp(3.25rem,8vh,4.75rem);filter:drop-shadow(0 0 1rem var(--accent-glow));flex-shrink:0;display:block}.auth-brand-text{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.auth-brand-title-row{align-items:baseline;gap:.15em;display:flex}.auth-brand-title{letter-spacing:-.03em;color:var(--text);margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.5rem,4vh,2.1rem);font-weight:800;line-height:1.1}.auth-brand-title-suffix{color:var(--accent);letter-spacing:-.02em;font-family:Inter,Plus Jakarta Sans,sans-serif;font-size:clamp(1.5rem,4vh,2.1rem);font-weight:400;line-height:1.1}.auth-brand-tagline{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin:.25em 0 0;font-family:Inter,Plus Jakarta Sans,sans-serif;font-size:clamp(.55rem,1.5vh,.68rem);font-weight:500}.auth-form-group{text-align:left;margin-bottom:clamp(.65rem,2.2vh,1.25rem)}.auth-label-row{justify-content:space-between;align-items:center;margin-bottom:.4em;display:flex}.auth-label-row .form-label{margin:0}.auth-forgot-link{color:var(--accent);font-size:clamp(.75rem,1.6vh,.8rem);font-weight:500;text-decoration:none;transition:opacity .2s}.auth-forgot-link:hover{opacity:.85;text-decoration:underline}.auth-submit-btn{width:100%;margin-top:clamp(.35rem,1.2vh,.65rem);padding:clamp(.6rem,1.8vh,.85rem) 1.25em;font-size:clamp(.875rem,2vh,1rem)}.auth-footer-text{margin-top:clamp(.85rem,2.5vh,1.5rem);font-size:clamp(.75rem,1.8vh,.85rem)}.auth-footer-muted{color:var(--text-sub)}.auth-register-link{color:var(--accent);font-weight:600;text-decoration:none}.auth-register-link:hover{text-decoration:underline}@media (width<=540px){.auth-brand-header{flex-direction:column;justify-content:center;align-items:center;gap:.6em;margin-bottom:1.25rem}.auth-brand-logo{width:clamp(2.75rem,10vw,3.75rem);height:clamp(2.75rem,10vw,3.75rem)}.auth-brand-text{text-align:center;align-items:center}.auth-brand-title,.auth-brand-title-suffix{font-size:clamp(1.35rem,5vw,1.75rem)}.auth-brand-tagline{letter-spacing:.12em;font-size:clamp(.55rem,2.5vw,.62rem)}.auth-theme-toggle{padding:.35em .65em;font-size:.75rem}}@media (height<=650px){.auth-wrapper{padding:.4rem}.auth-card{max-height:calc(100dvh - .8rem);padding:1rem 1.25rem}.auth-brand-header{gap:.5rem;margin-bottom:.75rem}.auth-brand-logo{width:3rem;height:3rem}.auth-form-group{margin-bottom:.65rem}.auth-footer-text{margin-top:.75rem}}.form-control::placeholder{color:#64748b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.terms-modal-overlay{--terms-overlay:#000000d9;--terms-divider:var(--border);--terms-header-bg:#0f172a66;--terms-icon-bg:#3b82f626;--terms-icon-color:#60a5fa;--terms-muted:var(--muted);--terms-body-text:var(--text-sub);--terms-scroll-bg:#0f172a99;--terms-info-bg:#3b82f614;--terms-info-border:#3b82f633;--terms-info-text:#93c5fd;--terms-decline-bg:#ef44441f;--terms-decline-border:#ef444466;--terms-decline-title:#fca5a5;--terms-decline-text:#f87171;--terms-shadow:var(--shadow-lg);background-color:var(--terms-overlay);-webkit-backdrop-filter:blur(6px);z-index:9999;overscroll-behavior:contain;padding:1.25rem}.terms-modal-card{max-width:650px;color:var(--text,#f8fafc);box-shadow:var(--terms-shadow);height:min(85dvh,750px);max-height:90dvh;animation:.25s ease-out modal-fade-in}.terms-modal-header{border-bottom:1px solid var(--terms-divider);background-color:var(--terms-header-bg);align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.terms-modal-header-icon{background-color:var(--terms-icon-bg);color:var(--terms-icon-color);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;display:flex}.terms-modal-title{color:var(--text);margin:0;font-size:1.15rem;font-weight:700}.terms-modal-subtitle{color:var(--terms-muted);margin:.2rem 0 0;font-size:.82rem}.terms-modal-username{color:var(--text)}.terms-modal-body{color:var(--terms-body-text);flex-direction:column;gap:.85rem;padding:1.25rem 1.5rem;font-size:.88rem;line-height:1.6;display:flex}.terms-modal-scroll-box{background-color:var(--terms-scroll-bg);border-radius:var(--r-md,8px);border:1px solid var(--terms-divider);max-height:60vh;color:var(--terms-body-text);flex-direction:column;flex:1;gap:.85rem;padding:1rem 1.1rem;display:flex;overflow-y:auto}.terms-modal-section-title{color:var(--accent,#38bdf8);margin:0 0 .25rem;font-size:.9rem;font-weight:700}.terms-modal-section-text{color:var(--terms-body-text);margin:0;font-size:.84rem;line-height:1.5}.terms-modal-info-box{background-color:var(--terms-info-bg);border:1px solid var(--terms-info-border);border-radius:var(--r-sm,6px);color:var(--terms-info-text);align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.8rem;display:flex}.terms-modal-footer{border-top-color:var(--terms-divider);background-color:var(--terms-header-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;padding:1rem 1.5rem}.terms-btn-decline-outline{color:#f87171;background-color:#0000;border:1px solid #ef444466;gap:.4rem;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600}.terms-btn-decline-outline:hover{background-color:#ef44441a;border-color:#ef4444}.terms-btn-accept{color:#fff;background-color:#16a34a;border:none;gap:.4rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:700;box-shadow:0 4px 12px #16a34a4d}.terms-btn-accept:hover{background-color:#15803d}.terms-decline-confirm-box{background-color:var(--terms-decline-bg);border:1px solid var(--terms-decline-border);border-radius:var(--r-md,8px);text-align:center;flex-direction:column;align-items:center;gap:.85rem;margin:auto 0;padding:1.25rem;display:flex}.terms-decline-confirm-icon svg{color:#ef4444}.terms-decline-title{color:var(--terms-decline-title);margin:0;font-size:1.05rem;font-weight:700}.terms-decline-text{color:var(--terms-decline-text);margin:.4rem 0 0;font-size:.85rem}.terms-decline-subtext{color:var(--terms-muted);margin:.4rem 0 0;font-size:.8rem}.terms-decline-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;width:100%;margin-top:.4rem;display:flex}.terms-btn-back{padding:.55rem 1.1rem;font-size:.85rem;font-weight:600}.terms-btn-danger{color:#fff;border-radius:var(--r-sm,6px);background-color:#dc2626;border:none;gap:.4rem;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700}[data-theme=light] .terms-modal-overlay{--terms-overlay:#0f172a99;--terms-divider:#e2e8f0;--terms-header-bg:#f8fafc;--terms-icon-bg:#2563eb1a;--terms-icon-color:#2563eb;--terms-muted:#64748b;--terms-body-text:#334155;--terms-scroll-bg:#f8fafc;--terms-info-bg:#eff6ff;--terms-info-border:#bfdbfe;--terms-info-text:#1e40af;--terms-decline-bg:#fef2f2;--terms-decline-border:#fecaca;--terms-decline-title:#991b1b;--terms-decline-text:#b91c1c;--terms-shadow:0 20px 25px -5px #0f172a26, 0 8px 10px -6px #0f172a1a}@media (width<=640px){.terms-modal-overlay{padding:.5rem}.terms-modal-card{height:min(88dvh,680px);max-height:92dvh}.terms-modal-header{gap:.5rem;padding:.85rem 1rem}.terms-modal-header-icon{border-radius:8px;padding:.4rem}.terms-modal-header-icon svg{width:18px;height:18px}.terms-modal-title{font-size:.98rem;line-height:1.25}.terms-modal-subtitle{font-size:.75rem;line-height:1.35}.terms-modal-body{gap:.65rem;padding:.85rem 1rem;font-size:.8rem}.terms-modal-scroll-box{flex:1;max-height:55dvh;padding:.75rem .85rem}.terms-modal-section-title{margin-bottom:.2rem;font-size:.82rem}.terms-modal-section-text{font-size:.76rem;line-height:1.45}.terms-modal-footer{flex-direction:column-reverse;gap:.5rem;padding:.75rem 1rem}.terms-modal-footer button{justify-content:center;width:100%;padding:.6rem 1rem;font-size:.82rem}.terms-decline-confirm-box{gap:.65rem;padding:1rem}.terms-decline-confirm-icon svg{width:28px;height:28px}.terms-decline-title{font-size:.92rem}.terms-decline-text{font-size:.78rem}}
