@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary-50:#eef2ff;--color-primary-100:#e0e7ff;--color-primary-200:#c7d2fe;--color-primary-300:#a5b4fc;--color-primary-400:#818cf8;--color-primary-500:#6366f1;--color-primary-600:#4f46e5;--color-primary-700:#4338ca;--color-primary-800:#3730a3;--color-primary-900:#312e81;--color-success-50:#ecfdf5;--color-success-100:#d1fae5;--color-success-500:#10b981;--color-success-600:#059669;--color-success-700:#047857;--color-warning-50:#fffbeb;--color-warning-100:#fef3c7;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-danger-50:#fff1f2;--color-danger-100:#ffe4e6;--color-danger-500:#f43f5e;--color-danger-600:#e11d48;--color-danger-700:#be123c;--color-info-50:#f0f9ff;--color-info-100:#e0f2fe;--color-info-500:#0ea5e9;--color-info-600:#0284c7;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-400:#94a3b8;--color-neutral-500:#64748b;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-800:#1e293b;--color-neutral-900:#0f172a;--surface-bg:#0f172a;--surface-card:#1e293b;--surface-elevated:#334155;--surface-border:#ffffff14;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.5rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 25px #0006;--shadow-xl:0 20px 50px #00000080;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}[data-theme=light]{--surface-bg:#f8fafc;--surface-card:#fff;--surface-elevated:#f1f5f9;--surface-border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000014;--shadow-lg:0 10px 25px #0000001a}[dir=rtl]{text-align:right;direction:rtl}.grid-auto{grid-template-columns:repeat(auto-fill, minmax(var(--grid-min,260px), 1fr));gap:var(--space-4);display:grid}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.flex-wrap-gap{gap:var(--space-3);flex-wrap:wrap;display:flex}.page-container{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}@media (width<=1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){:root{--space-4:.75rem;--space-6:1rem;--space-8:1.5rem}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2{grid-template-columns:1fr}.ui-card-body{padding:1rem}.ui-card-header{padding:.75rem 1rem}.ui-btn-md{height:36px;padding:0 .75rem;font-size:.8125rem}.ui-input{height:38px;font-size:.8125rem}.ui-input-group{gap:.25rem}}@media (width<=480px){:root{--space-4:.5rem;--space-6:.75rem}.grid-4,.grid-auto{grid-template-columns:1fr}.ui-card-body{padding:.75rem}.ui-card-header{padding:.625rem .75rem}.ui-card-title{font-size:.875rem}.ui-btn-md{height:34px;font-size:.75rem}.ui-input{height:36px;padding:0 .625rem;font-size:.8125rem}}@media print{.no-print{display:none!important}.ui-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}.ui-btn{display:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.mod-tabs{border-bottom:2px solid var(--surface-border);gap:0;margin-bottom:1.5rem;display:flex}.mod-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.mod-tab:hover{color:var(--text-primary)}.mod-tab.active{color:var(--color-primary-400);border-bottom-color:var(--color-primary-400)}.mod-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.mod-header h2{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.4rem;font-weight:600;display:flex}.mod-header h2 .icon{color:var(--color-primary-400)}.mod-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:1.5rem;padding:1.5rem}.mod-card-header{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.mod-card-title{color:var(--text-primary);font-size:1rem;font-weight:600}.mod-form-row{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.mod-form-group{flex-direction:column;gap:.35rem;display:flex}.mod-form-group label{color:var(--text-secondary);font-size:.82rem;font-weight:500}.mod-form-group label .req{color:var(--color-danger-500);margin-left:2px}.mod-input,.mod-select,.mod-textarea{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-primary);box-sizing:border-box;outline:none;width:100%;padding:.6rem .8rem;font-size:.88rem;transition:border-color .2s}.mod-input:focus,.mod-select:focus,.mod-textarea:focus{border-color:var(--color-primary-400)}.mod-textarea{resize:vertical;min-height:80px}.mod-color-input{cursor:pointer;background:0 0;border:none;width:50px;height:38px;padding:0}select.mod-input,select.mod-select,.mod-form-group select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}select.mod-input option,select.mod-select option,.mod-form-group select option{background-color:var(--surface-card);color:var(--text-primary);padding:8px 12px}.mod-input[type=date],.mod-input[type=time],.mod-input[type=datetime-local]{color-scheme:inherit}.mod-btn{border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.55rem 1.2rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.mod-btn-primary{background:linear-gradient(135deg, var(--color-primary-400), var(--color-primary-500));color:#fff}.mod-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px #6366f14d}.mod-btn-secondary{background:var(--surface-elevated);color:var(--text-secondary);border:1px solid var(--surface-border)}.mod-btn-secondary:hover{background:var(--color-neutral-600);color:var(--text-primary)}.mod-btn-danger{color:var(--color-danger-500);background:#f43f5e26;border:1px solid #f43f5e33}.mod-btn-danger:hover{background:#f43f5e40}.mod-btn-success{color:var(--color-success-500);background:#10b98126;border:1px solid #10b98133}.mod-btn-sm{padding:.35rem .8rem;font-size:.8rem}.mod-btn:disabled{opacity:.5;cursor:not-allowed}.mod-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--surface-border);border-radius:10px;overflow-x:auto}.mod-table{border-collapse:collapse;width:100%;font-size:.85rem}.mod-table th{background:var(--surface-bg);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--surface-border);white-space:nowrap;padding:.7rem .8rem;font-weight:600}.mod-table td{color:var(--color-neutral-300);border-bottom:1px solid #ffffff0a;padding:.6rem .8rem}.mod-table tr:hover td{background:#818cf808}.mod-table .cb-col{text-align:center;width:40px}.mod-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.mod-checkbox{width:16px;height:16px;accent-color:var(--color-primary-400);cursor:pointer}.mod-toast{z-index:9999;border-radius:10px;padding:.8rem 1.2rem;font-size:.85rem;animation:.3s modSlideIn;position:fixed;top:20px;right:20px}.mod-toast.success{color:#4ade80;background:#22c55e33;border:1px solid #22c55e4d}.mod-toast.error{color:#f87171;background:#ef444433;border:1px solid #ef44444d}@keyframes modSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.mod-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mod-modal{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-xl);width:95%;max-width:700px;max-height:90vh;padding:1.5rem;overflow-y:auto}.mod-modal-lg{max-width:900px}.mod-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.mod-modal-title{color:var(--text-primary);font-size:1.1rem;font-weight:600}.mod-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.3rem}.mod-modal-actions{border-top:1px solid var(--surface-border);justify-content:flex-end;gap:.5rem;margin-top:1.5rem;padding-top:1rem;display:flex}.mod-modal h3{color:var(--text-primary);margin:0 0 .75rem;font-size:1.05rem;font-weight:600}.mod-modal p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.mod-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem}.mod-empty .icon{opacity:.4;margin-bottom:.8rem;font-size:3rem}.mod-empty p{font-size:.9rem}.mod-badge{border-radius:20px;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:500;display:inline-flex}.mod-badge-info{color:#38bdf8;background:#38bdf826}.mod-badge-success{color:#4ade80;background:#22c55e26}.mod-placeholder-list{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.mod-placeholder-chip{color:#a5b4fc;cursor:pointer;background:#6366f11f;border:1px solid #6366f133;border-radius:6px;padding:.2rem .5rem;font-family:monospace;font-size:.75rem;transition:all .2s}.mod-placeholder-chip:hover{color:#c7d2fe;background:#6366f140}.mod-file-zone{text-align:center;color:#64748b;cursor:pointer;border:2px dashed #ffffff1a;border-radius:10px;padding:1.5rem;transition:border-color .2s}.mod-file-zone:hover{border-color:#6366f166}.mod-file-preview{align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.mod-file-preview img{border:1px solid #ffffff1a;border-radius:6px;max-width:120px;max-height:80px}.mod-file-remove{color:#f87171;cursor:pointer;font-size:.8rem;text-decoration:underline}.mod-toggle{cursor:pointer;align-items:center;gap:.5rem;display:flex}.mod-toggle-track{background:#ffffff1a;border-radius:11px;width:40px;height:22px;transition:background .2s;position:relative}.mod-toggle-track.on{background:#6366f180}.mod-toggle-thumb{background:#94a3b8;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:2px;left:2px}.mod-toggle-track.on .mod-toggle-thumb{background:#818cf8;left:20px}.mod-toggle-label{color:#94a3b8;font-size:.82rem}@media print{.no-print,.mod-no-print,.mod-header,.mod-tabs,.sidebar,.app-header,.main-nav,.mobile-nav,.submenu-panel,.sidebar-overlay,.mod-card.mod-no-print{display:none!important}html,body,#root,.app-layout,.main-content,.page-content{background:#fff!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;position:static!important;left:auto!important;overflow:visible!important}body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.mod-print-area{visibility:visible!important;width:100%!important;position:static!important;overflow:visible!important}.mod-print-area *{visibility:visible!important}.idcard-card{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#efefef!important;margin-bottom:4px!important;overflow:visible!important}.idcard-header{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important}.idcard-header .school-name{color:#fff!important}.idcard-title-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important}.idcard-address{color:#000!important}.idcard-body{overflow:visible!important}.idcard-qr{-webkit-print-color-adjust:exact;print-color-adjust:exact}.idcard-fields li,.idcard-fields li span{color:#000!important}.idcard-signature img{-webkit-print-color-adjust:exact;print-color-adjust:exact}#cert-print-area,#idcard-print-area,#staff-idcard-print-area{visibility:visible!important;overflow:visible!important}#cert-print-area *,#idcard-print-area *,#staff-idcard-print-area *{visibility:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}#idcard-print-area,#staff-idcard-print-area{flex-wrap:wrap!important;display:flex!important}#cert-print-area>div{page-break-inside:avoid}}.idcard-grid{flex-wrap:wrap;display:flex}.idcard-cell{box-sizing:border-box;width:32.75%;padding:3px}.idcard-card{text-align:center;color:#000;background:#efefef;margin-bottom:60px;padding-bottom:10px;font-family:Arial,sans-serif;font-size:12px;position:relative;overflow:hidden}.idcard-header{color:#fff;z-index:1;padding:2px;position:relative;overflow:hidden}.idcard-header .school-name{justify-content:center;align-items:center;gap:6px;font-size:24px;font-weight:700;line-height:30px;display:flex}.idcard-header .school-name img{vertical-align:top;width:30px;height:30px}.idcard-address{z-index:1;text-align:center;padding:1px 0;font-size:12px;position:relative}.idcard-title-bar{color:#fff;text-transform:uppercase;z-index:1;padding:2px 0 0;font-size:16px;position:relative}.idcard-body{padding:3px 120px 3px 0;position:relative;overflow:hidden}.idcard-photo{float:left;width:80px}.idcard-photo img{border-radius:2px;width:100%;height:auto;display:block}.idcard-fields{float:right;width:77%}.idcard-fields ul{margin:0;padding:0;list-style:none}.idcard-fields li{text-align:left;box-sizing:border-box;width:100%;padding:0 5px;font-size:11px;display:inline-block}.idcard-fields li span{float:right;width:65%;font-weight:500}.idcard-qr{z-index:3;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:96px;height:96px;display:flex;position:absolute;bottom:28px;right:10px;box-shadow:0 2px 6px #0000001f}.idcard-signature{text-align:right;float:right;z-index:2;margin-top:-40px;margin-right:10px;position:relative}.idcard-signature img{width:66px;height:40px}.idcard-watermark{object-fit:cover;opacity:.1;z-index:0;width:100%;height:100%;position:absolute;inset:0}.idcard-result-toolbar,.cert-result-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mod-card-header{flex-wrap:wrap;gap:.5rem}.mod-card-header>div{flex-wrap:wrap}.ck.ck-editor{max-width:100%}.ck.ck-toolbar,.ck.ck-toolbar__items{flex-wrap:wrap!important}.ck.ck-editor__main>.ck-editor__editable{min-height:120px}@media (width<=768px){.ck.ck-toolbar .ck-toolbar__separator{display:none}.ck.ck-toolbar__items>.ck-button{min-width:auto!important;padding:2px 4px!important}}.mod-page{box-sizing:border-box;max-width:100%;padding:1.5rem;overflow-x:hidden}.mod-grid{align-items:start;gap:1.5rem;display:grid}@media (width<=1100px){.mod-form-row{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.mod-analytics-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (width<=768px){.mod-form-row{grid-template-columns:1fr}.mod-tabs{flex-wrap:nowrap;overflow-x:auto}.mod-tab{white-space:nowrap;flex-shrink:0;padding:.5rem 1rem;font-size:.82rem}.mod-header{flex-direction:column;align-items:flex-start;gap:.5rem}.mod-header h2{font-size:1.15rem}.mod-card{margin-bottom:1rem;padding:1rem}.mod-modal{max-width:98%;padding:1rem}.mod-btn{padding:.45rem .9rem;font-size:.8rem}.mod-input,.mod-select,.mod-textarea{padding:.5rem .7rem;font-size:.82rem}.idcard-cell{width:49%}.mod-table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.mod-table th,.mod-table td{padding:.5rem .6rem;font-size:.78rem}.mod-analytics-row{grid-template-columns:1fr}.mod-page{padding:.75rem}.mod-grid{gap:1rem}.mod-table{min-width:600px}.idcard-result-toolbar,.cert-result-toolbar{gap:.4rem}.idcard-result-toolbar>*,.cert-result-toolbar>*{font-size:.75rem}.mod-perf-score-value{font-size:2rem}.mod-chart-container{padding:10px}}@media (width<=480px){.mod-tabs{flex-wrap:wrap}.mod-tab{text-align:center;flex:1;justify-content:center;padding:.4rem .6rem;font-size:.75rem}.mod-header h2{font-size:1rem}.mod-card{border-radius:10px;padding:.75rem}.mod-card-header{padding:.5rem .75rem}.mod-btn{padding:.4rem .7rem;font-size:.75rem}.mod-input,.mod-select{padding:.4rem .6rem;font-size:.8rem}.mod-form-group label{font-size:.72rem}.idcard-cell{width:100%}.mod-page{padding:.5rem}.mod-grid{gap:.75rem}.mod-table th,.mod-table td{padding:.35rem .4rem;font-size:.72rem}.mod-perf-score-value{font-size:1.5rem}.mod-att-grid{gap:2px}.mod-att-cell{font-size:.6rem}.idcard-result-toolbar select{font-size:.75rem;width:70px!important}}.sticky-action{z-index:2;background:var(--surface-card);position:sticky;right:0}th.sticky-action{background:var(--surface-bg)}.sticky-action:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#0000000f);width:8px;position:absolute;top:0;bottom:0;left:-8px}@media (width<=768px){.hide-mobile{display:none!important}}.mod-card-body{padding:0}.mod-card-tools{align-items:center;gap:.5rem;display:flex}.mod-form-actions{gap:.5rem;margin-top:1rem;display:flex}.mod-form-grid{gap:1rem;display:grid}.mod-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.82rem;font-weight:500;display:block}.mod-alert{border-radius:var(--radius-md);margin-bottom:.75rem;padding:.75rem 1rem;font-size:.85rem}.mod-alert-danger{color:#f87171;background:#ef444426;border:1px solid #ef444440}.mod-alert-success{color:#4ade80;background:#22c55e26;border:1px solid #22c55e40}.mod-loading{justify-content:center;align-items:center;padding:3rem;display:flex}.mod-loading .spinner{border:3px solid #ffffff1a;border-top-color:var(--color-primary-400);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite modSpin}@keyframes modSpin{to{transform:rotate(360deg)}}.mod-btn-icon{border:1px solid var(--surface-border);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);background:0 0;margin-right:.25rem;padding:.35rem .5rem;font-size:.82rem;transition:all .2s}.mod-btn-icon:hover{color:var(--color-primary-400);border-color:var(--color-primary-400);background:#6366f11a}.mod-btn-outline{color:var(--text-secondary);border:1px solid var(--surface-border);background:0 0}.mod-btn-outline:hover{background:var(--surface-elevated);color:var(--text-primary)}.mod-header-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.4rem;font-weight:600;display:flex}.mod-header-actions{gap:.5rem;display:flex}.text-danger{color:var(--color-danger-500)}.text-center{text-align:center}.mod-actions{align-items:center;gap:4px;display:flex}.mod-action-btn{border-radius:var(--radius-md);border:1px solid var(--surface-border);cursor:pointer;white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:4px;padding:5px 10px;font-size:.78rem;font-weight:500;transition:all .2s;display:inline-flex}.mod-action-btn:hover{transform:translateY(-1px)}.mod-action-edit{color:var(--color-primary-400);border-color:#6366f14d}.mod-action-edit:hover{border-color:var(--color-primary-400);background:#6366f11f}.mod-action-delete{color:var(--color-danger-500);border-color:#f43f5e4d}.mod-action-delete:hover{border-color:var(--color-danger-500);background:#f43f5e1f}.mod-action-view{color:#38bdf8;border-color:#38bdf84d}.mod-action-view:hover{background:#38bdf81f;border-color:#38bdf8}.mod-stat-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);align-items:center;gap:12px;padding:16px;display:flex}.mod-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.mod-stat-icon.aqua{color:#38bdf8;background:#38bdf826}.mod-stat-icon.red{color:#f43f5e;background:#f43f5e26}.mod-stat-icon.green{color:#4ade80;background:#22c55e26}.mod-stat-icon.yellow{color:#facc15;background:#facc1526}.mod-stat-icon.blue{color:#818cf8;background:#6366f126}.mod-stat-icon.purple{color:#a855f7;background:#a855f726}.mod-stat-label{color:var(--text-secondary);margin-bottom:2px;font-size:.75rem}.mod-stat-value{color:var(--text-primary);font-size:1.15rem;font-weight:700}.mod-badge-danger{color:#f43f5e;background:#f43f5e26}.mod-badge-warning{color:#facc15;background:#facc1526}.mod-badge-primary{color:#818cf8;background:#6366f126}.mod-filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:1rem;display:flex}.mod-filter-row .mod-form-group{flex:1;min-width:150px}.mod-btn-group{border-radius:var(--radius-md);border:1px solid var(--surface-border);display:inline-flex;overflow:hidden}.mod-btn-group .mod-btn{border:none;border-right:1px solid var(--surface-border);border-radius:0}.mod-btn-group .mod-btn:last-child{border-right:none}.mod-btn-group .mod-btn.active{color:var(--color-primary-400);background:#6366f133}.mod-perf-score{border-radius:var(--radius-lg);text-align:center;background:linear-gradient(135deg,#6366f126,#38bdf81a);border:1px solid #6366f140;margin-bottom:1.5rem;padding:20px}.mod-perf-score-value{color:var(--text-primary);font-size:2.5rem;font-weight:800;line-height:1}.mod-perf-score-label{color:var(--text-secondary);margin-top:4px;font-size:.82rem}.mod-perf-bar{background:#94a3b826;border-radius:4px;height:8px;margin-top:12px;overflow:hidden}.mod-perf-bar-fill{border-radius:4px;height:100%;transition:width .6s}.mod-trend-up{color:#4ade80;font-size:.78rem;font-weight:600}.mod-trend-down{color:#f43f5e;font-size:.78rem;font-weight:600}.mod-trend-neutral{color:#facc15;font-size:.78rem;font-weight:600}.mod-badge-achievement{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.mod-badge-gold{color:#facc15;background:#facc1526;border:1px solid #facc154d}.mod-badge-silver{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b84d}.mod-badge-bronze{color:#fb923c;background:#fb923c26;border:1px solid #fb923c4d}.mod-att-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mod-att-cell{aspect-ratio:1;border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:.7rem;font-weight:500;display:flex}.mod-att-present{color:#4ade80;background:#22c55e33}.mod-att-absent{color:#f43f5e;background:#f43f5e33}.mod-att-late{color:#facc15;background:#facc1533}.mod-att-halfday{color:#38bdf8;background:#38bdf833}.mod-att-empty{background:0 0}.mod-att-header{color:var(--text-secondary);text-transform:uppercase;font-size:.65rem;font-weight:700}.mod-chart-container{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);margin-bottom:1rem;padding:16px}.mod-chart-title{color:var(--text-primary);margin-bottom:12px;font-size:.88rem;font-weight:600}.mod-analytics-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.mod-analytics-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}@media (width<=768px){.mod-analytics-row{grid-template-columns:1fr}}.mod-stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.mod-grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.mod-grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.mod-grid-auto{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.mod-flex-wrap{flex-wrap:wrap;gap:.5rem;display:flex}.mod-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=1100px){.mod-stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (width<=768px){.mod-stat-grid{grid-template-columns:repeat(2,1fr)}.mod-grid-3,.mod-grid-2{grid-template-columns:1fr}}@media (width<=480px){.mod-stat-grid{grid-template-columns:1fr}}.profile-layout{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start;gap:1.5rem;max-width:100%;display:grid}.profile-layout>*{min-width:0;max-width:100%}.profile-right{min-width:0;max-width:100%;overflow:hidden}.profile-hero{text-align:center;padding:24px 16px 16px}.profile-avatar{object-fit:cover;border:3px solid var(--color-primary-400);border-radius:50%;width:100px;height:100px;margin:0 auto 12px;display:block}.profile-name{color:var(--text-primary);margin:0 0 2px;font-size:1.15rem;font-weight:700}.profile-meta{color:var(--text-secondary);margin:2px 0 8px;font-size:.82rem}.profile-badges{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:4px;display:flex}.profile-info-list{text-align:left;border-top:1px solid var(--surface-border);margin-top:12px;padding-top:12px}.profile-info-row{justify-content:space-between;padding:5px 0;font-size:.82rem;display:flex}.profile-info-label{color:var(--text-secondary)}.profile-info-value{color:var(--text-primary);text-align:right;word-break:break-word;max-width:60%;font-weight:500}.perf-header{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:12px;font-size:.85rem;font-weight:600;display:flex}.perf-score-display{text-align:center;margin-bottom:14px}.perf-score-value{font-size:2.2rem;font-weight:800;line-height:1}.perf-score-suffix{color:var(--text-secondary);margin-left:2px;font-size:.82rem}.perf-metric{margin-bottom:8px}.perf-metric-header{color:var(--text-secondary);justify-content:space-between;margin-bottom:3px;font-size:.75rem;display:flex}.perf-metric-val{color:var(--text-primary);font-weight:600}.perf-bar{background:#94a3b81f;border-radius:3px;height:6px;overflow:hidden}.perf-bar-fill{border-radius:3px;height:100%;transition:width .6s}.profile-tabs{scrollbar-width:thin;scrollbar-color:#6366f14d transparent;-webkit-overflow-scrolling:touch;gap:6px;margin-bottom:1.25rem;padding-bottom:8px;display:flex;overflow:auto hidden}.profile-tabs::-webkit-scrollbar{height:4px}.profile-tabs::-webkit-scrollbar-track{background:0 0}.profile-tabs::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:4px}.profile-tab{white-space:nowrap;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;border-radius:20px;flex-shrink:0;padding:8px 14px;font-size:.82rem;font-weight:500;transition:all .2s}.profile-tab:hover{border-color:var(--color-primary-400);color:var(--text-primary)}.profile-tab.active{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500);box-shadow:0 2px 8px #6366f14d}.parent-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:12px;display:grid}.parent-card{text-align:center;background:var(--surface-bg);border-radius:var(--radius-md);border:1px solid var(--surface-border);padding:16px 12px;transition:border-color .2s}.parent-card:hover{border-color:var(--color-primary-400)}.parent-card-img{object-fit:cover;border:2px solid var(--surface-border);border-radius:50%;width:56px;height:56px;margin:0 auto 8px;display:block}.parent-card-name{color:var(--text-primary);font-size:.88rem;font-weight:600}.parent-card-role{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem}.parent-card-detail{color:var(--text-secondary);font-size:.75rem}.ec-item{border-bottom:1px solid var(--surface-border);padding:8px 0}.ec-item:last-child{border-bottom:none}.ec-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.ec-rel{color:var(--text-secondary);font-size:.72rem}.ec-detail{color:var(--text-secondary);margin-top:2px;font-size:.75rem}.sibling-row{cursor:pointer;border-bottom:1px solid var(--surface-border);align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.sibling-row:hover{background:#6366f10f}.sibling-row:last-child{border-bottom:none}.sibling-img{object-fit:cover;border-radius:50%;width:34px;height:34px}.sibling-name{color:var(--text-primary);font-size:.85rem;font-weight:500}.sibling-class{color:var(--text-secondary);font-size:.75rem}@media (width<=1024px){.profile-layout{grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:1rem}}@media (width<=768px){.profile-layout{grid-template-columns:1fr}.profile-hero{text-align:left;align-items:center;gap:14px;padding:16px;display:flex}.profile-avatar{flex-shrink:0;width:64px;height:64px;margin:0}.profile-name{font-size:1rem}.profile-badges{justify-content:flex-start}.profile-info-list{display:none}.parent-cards{grid-template-columns:1fr}.perf-score-display{justify-content:center;align-items:baseline;gap:4px;display:flex}}@media (width<=480px){.profile-tab{padding:6px 12px;font-size:.78rem}.perf-score-value{font-size:1.8rem}.profile-avatar{width:52px;height:52px}}.ui-btn{font-family:var(--font-sans,"Inter", sans-serif);border-radius:var(--radius-md,8px);cursor:pointer;transition:all var(--transition-base,.2s ease);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.ui-btn:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn:active:not(:disabled){transform:scale(.97)}.ui-btn-xs{border-radius:6px;height:28px;padding:0 .5rem;font-size:.75rem}.ui-btn-sm{height:34px;padding:0 .75rem;font-size:.8125rem}.ui-btn-md{height:40px;padding:0 1rem;font-size:.875rem}.ui-btn-lg{height:48px;padding:0 1.5rem;font-size:1rem}.ui-btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px #6366f159}.ui-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #6366f180}.ui-btn-secondary{background:var(--surface-elevated,#334155);color:var(--text-primary,#f1f5f9);border-color:var(--surface-border)}.ui-btn-secondary:hover:not(:disabled){background:var(--color-neutral-600)}.ui-btn-success{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d}.ui-btn-success:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #10b98180}.ui-btn-danger{color:#fff;background:linear-gradient(135deg,#f43f5e,#e11d48);box-shadow:0 2px 8px #f43f5e4d}.ui-btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #f43f5e80}.ui-btn-warning{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 8px #f59e0b4d}.ui-btn-warning:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #f59e0b80}.ui-btn-info{color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 2px 8px #0ea5e94d}.ui-btn-info:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #0ea5e980}.ui-btn-ghost{color:var(--text-secondary,#94a3b8);background:0 0}.ui-btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#ffffff0f}.ui-btn-outline{color:var(--color-primary-400);border-color:var(--color-primary-400);background:0 0}.ui-btn-outline:hover:not(:disabled){background:#6366f11a}.ui-btn-full{width:100%}.ui-btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite ui-spin}.ui-btn-loading{pointer-events:none}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-btn-icon,.ui-btn-icon-right{align-items:center;font-size:1.125em;display:flex}.ui-input-group{flex-direction:column;gap:.375rem;display:flex}.ui-input-full{width:100%}.ui-input-label{color:var(--text-secondary,#94a3b8);font-size:.8125rem;font-weight:500}.ui-input-wrapper{align-items:center;display:flex;position:relative}.ui-input{background:var(--surface-card,#ffffff0f);border:1px solid var(--surface-border,#ffffff1a);border-radius:var(--radius-md,8px);width:100%;height:42px;color:var(--text-primary,#f1f5f9);transition:border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base);outline:none;padding:0 .875rem;font-family:inherit;font-size:.875rem}.ui-input::placeholder{color:var(--text-muted,#64748b)}.ui-input:focus{border-color:var(--color-primary-500,#6366f1);background:#6366f10f;box-shadow:0 0 0 3px #6366f11f}.ui-input:hover:not(:focus){border-color:var(--color-neutral-400,#ffffff2e)}.ui-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.25rem}.ui-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.ui-select option{color:#f1f5f9;background-color:#1e293b;padding:8px 12px}.ui-select option:hover,.ui-select option:checked{color:#f1f5f9;background-color:#334155}.ui-textarea{resize:vertical;height:auto;min-height:80px;padding:.625rem .875rem;line-height:1.5}.ui-input.has-icon{padding-left:2.5rem}.ui-input.has-icon-right{padding-right:2.5rem}.ui-input-icon,.ui-input-icon-right{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute}.ui-input-icon{left:.75rem}.ui-input-icon-right{right:.75rem}.ui-input-error .ui-input{border-color:var(--color-danger-500,#f43f5e)}.ui-input-error .ui-input:focus{box-shadow:0 0 0 3px #f43f5e1f}.ui-input-error-text{color:var(--color-danger-500,#f43f5e);font-size:.75rem}.ui-input-hint{color:var(--text-muted,#64748b);font-size:.75rem}.ui-input[type=date],.ui-input[type=time],.ui-input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=768px){.ui-input{height:38px;font-size:.8125rem}.ui-textarea{min-height:60px}.ui-input-label{font-size:.75rem}}@media (width<=480px){.ui-input{height:36px;padding:0 .625rem}}.ui-checkbox-group{flex-direction:column;gap:.375rem;display:flex}.ui-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary,#e2e8f0);transition:color var(--transition-fast,.15s ease);align-items:center;gap:.5rem;font-size:.8125rem;display:inline-flex}.ui-checkbox-label:hover{color:var(--color-primary-300,#a5b4fc)}.ui-checkbox{width:18px;height:18px;accent-color:var(--color-primary-500,#6366f1);cursor:pointer;border-radius:4px;flex-shrink:0}.ui-checkbox-mark{display:none}.ui-checkbox-text{line-height:1.4}.ui-checkbox-error .ui-checkbox-label{color:var(--color-danger-500)}.ui-checkbox-error-text{color:var(--color-danger-500);font-size:.75rem}.ui-badge{border-radius:var(--radius-full,9999px);white-space:nowrap;align-items:center;gap:.375rem;font-weight:600;line-height:1;display:inline-flex}.ui-badge-sm{padding:.2rem .5rem;font-size:.6875rem}.ui-badge-md{padding:.3rem .75rem;font-size:.75rem}.ui-badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.ui-badge-primary{color:#a5b4fc;background:#6366f126;border:1px solid #6366f133}.ui-badge-success{color:#6ee7b7;background:#10b98126;border:1px solid #10b98133}.ui-badge-warning{color:#fcd34d;background:#f59e0b26;border:1px solid #f59e0b33}.ui-badge-danger{color:#fda4af;background:#f43f5e26;border:1px solid #f43f5e33}.ui-badge-info{color:#7dd3fc;background:#0ea5e926;border:1px solid #0ea5e933}.ui-badge-neutral{color:#cbd5e1;background:#94a3b81f;border:1px solid #94a3b826}.ui-alert{border-radius:var(--radius-lg,12px);border:1px solid;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;animation:.2s ui-alert-in;display:flex}.ui-alert-icon{flex-shrink:0;margin-top:.125rem;font-size:1.125rem;line-height:1}.ui-alert-content{flex:1;min-width:0}.ui-alert-title{margin-bottom:.25rem;font-size:.875rem;font-weight:600}.ui-alert-message{opacity:.85;font-size:.8125rem;line-height:1.5}.ui-alert-close{cursor:pointer;opacity:.5;color:inherit;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1;transition:opacity .2s}.ui-alert-close:hover{opacity:1}.ui-alert-info{color:#7dd3fc;background:#0ea5e914;border-color:#0ea5e933}.ui-alert-success{color:#6ee7b7;background:#10b98114;border-color:#10b98133}.ui-alert-warning{color:#fcd34d;background:#f59e0b14;border-color:#f59e0b33}.ui-alert-danger{color:#fda4af;background:#f43f5e14;border-color:#f43f5e33}@keyframes ui-alert-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.15s ui-fade-in;display:flex;position:fixed;inset:0}.ui-modal{background:var(--surface-card,#1e293b);border-radius:var(--radius-xl,16px);border:1px solid var(--surface-border);box-shadow:var(--shadow-xl);flex-direction:column;max-height:90vh;animation:.2s ui-slide-up;display:flex}.ui-modal-sm{width:100%;max-width:400px}.ui-modal-md{width:100%;max-width:560px}.ui-modal-lg{width:100%;max-width:760px}.ui-modal-xl{width:100%;max-width:960px}.ui-modal-header{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.ui-modal-title{color:var(--text-primary);margin:0;font-size:1.0625rem;font-weight:600}.ui-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .2s}.ui-modal-close:hover{color:var(--text-primary)}.ui-modal-body{flex:1;padding:1.5rem;overflow-y:auto}.ui-modal-footer{border-top:1px solid var(--surface-border);justify-content:flex-end;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-slide-up{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.ui-modal-overlay{padding:.5rem}.ui-modal-header{padding:.875rem 1rem}.ui-modal-body{padding:1rem}.ui-modal-footer{padding:.75rem 1rem}.ui-modal-lg,.ui-modal-xl{max-width:100%}}@media (width<=480px){.ui-modal{border-radius:var(--radius-lg,12px)}.ui-modal-sm,.ui-modal-md{max-width:100%}.ui-modal-title{font-size:.9375rem}}.ui-table-wrapper{border-radius:var(--radius-lg,12px);border:1px solid var(--surface-border,#ffffff0f);width:100%;overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:.8125rem}.ui-table th{color:var(--text-secondary,#94a3b8);border-bottom:1px solid var(--surface-border,#ffffff14);text-transform:uppercase;letter-spacing:.05em;text-align:left;white-space:nowrap;background:#ffffff08;padding:.75rem 1rem;font-size:.6875rem;font-weight:600}.ui-table td{color:var(--text-primary,#e2e8f0);border-bottom:1px solid var(--surface-border,#ffffff0a);vertical-align:middle;padding:.75rem 1rem}.ui-table-compact th,.ui-table-compact td{padding:.5rem .75rem}.ui-table-striped tbody tr:nth-child(2n){background:#ffffff05}.ui-table-hover tbody tr{transition:background var(--transition-fast,.15s ease)}.ui-table-hover tbody tr:hover{background:#6366f10f}.ui-table-clickable{cursor:pointer}.ui-table-loading,.ui-table-empty{color:var(--text-muted,#64748b);font-style:italic;text-align:center!important;padding:2rem!important}@media (width<=768px){.ui-table-wrapper{border-radius:var(--radius-md,8px)}.ui-table th,.ui-table td{padding:.5rem .625rem;font-size:.75rem}}.ui-card{background:var(--surface-card,#1e293b);border-radius:var(--radius-lg,12px);border:1px solid var(--surface-border,#ffffff0f);box-shadow:var(--shadow-sm,0 1px 2px #0000004d);transition:box-shadow var(--transition-base,.2s ease), border-color var(--transition-base,.2s ease);overflow:hidden}.ui-card-header{border-bottom:1px solid var(--surface-border,#ffffff0f);background:#ffffff05;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.ui-card-title{color:var(--text-primary,#f1f5f9);margin:0;font-size:.9375rem;font-weight:600}.ui-card-subtitle{color:var(--text-muted,#64748b);margin-top:.125rem;font-size:.75rem}.ui-card-header-right{align-items:center;gap:.5rem;display:flex}.ui-card-body{padding:1.25rem}.ui-card-no-pad{padding:0}.ui-card-footer{border-top:1px solid var(--surface-border,#ffffff0f);justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex}.stat-card-hover:hover{border-color:var(--color-primary-500,#6366f14d);box-shadow:0 4px 15px #6366f11f}.ui-tabs-list{border-bottom:1px solid var(--surface-border);gap:.25rem;padding:0 .25rem;display:flex;overflow-x:auto}.ui-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.375rem;margin-bottom:-1px;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:flex}.ui-tab:hover:not(:disabled){color:var(--text-secondary)}.ui-tab-active{color:var(--color-primary-400,#818cf8);border-bottom-color:var(--color-primary-500,#6366f1)}.ui-tab:disabled{opacity:.4;cursor:not-allowed}.ui-tab-icon{font-size:1rem}.ui-tabs-content{padding:1rem 0}@media (width<=768px){.ui-tabs-list{gap:0}.ui-tab{padding:.5rem .75rem;font-size:.75rem}}@media (width<=480px){.ui-tabs-list{flex-wrap:wrap}.ui-tab{flex:1;justify-content:center;min-width:0;padding:.4rem .6rem;font-size:.7rem}}.ui-tooltip-wrapper{display:inline-flex;position:relative}.ui-tooltip{z-index:999;background:var(--surface-card,#1e293b);color:var(--text-primary,#e2e8f0);white-space:nowrap;pointer-events:none;border-radius:6px;padding:.375rem .75rem;font-size:.75rem;animation:.1s ui-fade-in;position:absolute;box-shadow:0 4px 12px #0000004d}.ui-tooltip-top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-tooltip-bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-tooltip-left{top:50%;right:calc(100% + 6px);transform:translateY(-50%)}.ui-tooltip-right{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.ui-dropdown{display:inline-flex;position:relative}.ui-dropdown-trigger{cursor:pointer}.ui-dropdown-menu{z-index:100;background:var(--surface-card,#1e293b);border:1px solid var(--surface-border);border-radius:var(--radius-md,8px);min-width:180px;box-shadow:var(--shadow-lg);padding:.25rem;animation:.15s ui-slide-up;position:absolute;top:calc(100% + 4px)}.ui-dropdown-left{left:0}.ui-dropdown-right{right:0}.ui-dropdown-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;transition:background .15s;display:flex}.ui-dropdown-item:hover:not(:disabled){background:#ffffff0f}.ui-dropdown-item:disabled{opacity:.4;cursor:not-allowed}.ui-dropdown-danger{color:var(--color-danger-500,#f43f5e)}.ui-dropdown-danger:hover{background:#f43f5e1a}.ui-dropdown-icon{opacity:.7;font-size:1rem}.ui-dropdown-divider{background:var(--surface-border);height:1px;margin:.25rem 0}.ui-spinner{border:3px solid #ffffff26;border-top-color:var(--color-primary-400,#818cf8);border-radius:50%;animation:.6s linear infinite ui-spin}.ui-spinner-sm{border-width:2px;width:16px;height:16px}.ui-spinner-md{width:28px;height:28px}.ui-spinner-lg{border-width:4px;width:44px;height:44px}.ui-pagination{align-items:center;gap:.25rem;display:flex}.ui-page-btn{min-width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-sm,6px);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.ui-page-btn:hover:not(:disabled){border-color:var(--surface-border);background:#ffffff0f}.ui-page-btn:disabled{opacity:.3;cursor:not-allowed}.ui-page-active{background:var(--color-primary-500,#6366f1)!important;color:#fff!important;border-color:var(--color-primary-500)!important}.ui-page-dots{color:var(--text-muted);padding:0 .25rem;font-size:.875rem}.ui-avatar{border-radius:50%;flex-shrink:0;display:inline-flex;position:relative;overflow:visible}.ui-avatar-sm{width:28px;height:28px;font-size:.625rem}.ui-avatar-md{width:36px;height:36px;font-size:.75rem}.ui-avatar-lg{width:48px;height:48px;font-size:.875rem}.ui-avatar-xl{width:64px;height:64px;font-size:1.125rem}.ui-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.ui-avatar-initials{color:#fff;letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-weight:700;display:flex}.ui-avatar-status{border:2px solid var(--surface-card,#1e293b);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}.ui-avatar-online{background:#10b981}.ui-avatar-offline{background:#64748b}.ui-avatar-away{background:#f59e0b}.ui-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.ui-empty-icon{opacity:.4;margin-bottom:1rem;font-size:3rem}.ui-empty-title{color:var(--text-secondary);margin:0 0 .375rem;font-size:1rem;font-weight:600}.ui-empty-desc{color:var(--text-muted);max-width:360px;margin:0 0 1rem;font-size:.8125rem;line-height:1.5}.ui-empty-action{margin-top:.5rem}:root{--sidebar-width:260px;--sidebar-collapsed-width:64px;--header-height:56px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--theme-bg,#0f172a);color:var(--theme-text,#f1f5f9);font-family:Inter,-apple-system,sans-serif;transition:background .3s,color .3s;overflow-x:hidden}select{background-color:var(--theme-sidebar,#1e293b);color:var(--theme-text,#e2e8f0)}select option{background-color:var(--theme-sidebar,#1e293b);color:var(--theme-text,#e2e8f0);padding:8px 12px}select option:checked{background-color:var(--theme-header,#334155);color:#fff}input[type=date],input[type=time],input[type=datetime-local]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.admin-layout{max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden}.main-content{margin-left:var(--sidebar-width);width:calc(100vw - var(--sidebar-width));max-width:calc(100vw - var(--sidebar-width));flex-direction:column;flex:1;min-width:0;transition:margin-left .25s,width .25s,max-width .25s;display:flex;overflow-x:hidden}.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width);width:calc(100vw - var(--sidebar-collapsed-width));max-width:calc(100vw - var(--sidebar-collapsed-width))}.sidebar{width:var(--sidebar-width);background:var(--theme-sidebar,#111827);border-right:1px solid var(--theme-border,#ffffff0f);z-index:100;flex-direction:column;height:100vh;transition:width .25s;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}.sidebar-collapsed .sidebar .nav-label,.sidebar-collapsed .sidebar .nav-arrow,.sidebar-collapsed .sidebar .logo-text,.sidebar-collapsed .sidebar .sidebar-session-bar,.sidebar-collapsed .sidebar .sidebar-quick-links{display:none}.sidebar-collapsed .sidebar .nav-link{justify-content:center;padding:.625rem}.sidebar-collapsed .sidebar .nav-sub{display:none}.sidebar-header{min-height:var(--header-height);border-bottom:1px solid #ffffff0f;align-items:center;padding:.75rem 1rem;display:flex}.sidebar-logo{color:#f1f5f9;align-items:center;gap:.75rem;text-decoration:none;display:flex}.logo-icon{font-size:1.5rem}.logo-text{background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;font-size:1rem;font-weight:700}.sidebar-logo-img{object-fit:contain;display:block}.sidebar-logo-full{max-width:180px;height:auto;max-height:40px}.sidebar-logo-small{width:32px;height:32px}.sidebar-collapsed .sidebar-header{justify-content:center;padding:.75rem .5rem}.sidebar-nav{flex:1;padding:.5rem 0}.sidebar-version{color:#94a3b8;text-align:center;letter-spacing:.05em;white-space:nowrap;background:#00000026;border-top:1px solid #ffffff14;flex-shrink:0;padding:.625rem 1rem;font-size:.7rem;font-weight:500}.sidebar-collapsed .sidebar-version{padding:.5rem .25rem;font-size:.6rem}.nav-list{margin:0;padding:0;list-style:none}.nav-item{margin:1px .5rem}.nav-link{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-link:hover{color:#e2e8f0;background:#ffffff0d}.nav-item.active>.nav-link{color:#a5b4fc;background:#6366f11f}.nav-item.active>.nav-link .ui-icon{color:#818cf8}.nav-toggle{justify-content:flex-start}.nav-arrow{opacity:.5;margin-left:auto;transition:transform .2s}.nav-dot{background:#94a3b880;border-radius:50%;flex-shrink:0;width:5px;height:5px}.nav-item.active .nav-dot{background:#818cf8}.nav-sub{margin:0;padding:.125rem 0 .125rem 1rem;list-style:none}.nav-child .nav-link{color:#64748b;padding:.375rem .75rem;font-size:.78125rem}.nav-child .nav-link:hover{color:#94a3b8}.nav-child.active>.nav-link{color:#a5b4fc}.app-header{z-index:50;height:var(--header-height);background:var(--theme-sidebar,#0f172ad9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:.75rem;display:flex}.header-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.375rem;transition:all .15s;display:flex}.header-toggle:hover{color:#e2e8f0;background:#ffffff0f}.header-school-name{color:#94a3b8;font-size:.8125rem;font-weight:500}.header-right{align-items:center;gap:.25rem;display:flex}.header-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem;font-size:.75rem;transition:all .15s;display:flex}.header-btn:hover{color:#e2e8f0;background:#ffffff0f}.header-btn-label{font-weight:500}.header-user{cursor:pointer;border-radius:8px;align-items:center;gap:.625rem;padding:.375rem .5rem;transition:all .15s;display:flex}.header-user:hover{background:#ffffff0f}.header-user-info{flex-direction:column;display:flex}.header-user-name{color:#e2e8f0;font-size:.8125rem;font-weight:600;line-height:1.2}.header-user-role{color:#64748b;font-size:.6875rem}@media (width<=1100px){.page-content{padding:1rem}}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar-mobile-open{transform:translate(0)}.sidebar-overlay{display:block}.main-content{width:100vw!important;max-width:100vw!important;margin-left:0!important}.header-school-name,.header-btn-label,.header-user-info{display:none}.header-search-input{width:120px}.header-search-input:focus{width:160px}.page-content{padding:.75rem}.page-content [style*="grid-template-columns: repeat(4"],.page-content [style*=gridTemplateColumns]{grid-template-columns:repeat(2,1fr)!important}.page-content table{display:table}:is(.page-content .mod-card:has(table),.page-content .mod-card:has(.mod-table)){-webkit-overflow-scrolling:touch;overflow-x:auto}.page-content .mod-form-row,.page-content [style*="gridTemplateColumns: 1fr 1fr"]{grid-template-columns:1fr!important}.page-content .mod-header,.page-content [style*="display: flex"][style*=gap]{flex-wrap:wrap!important}}.submenu-panel{top:0;left:var(--sidebar-collapsed-width,64px);background:var(--theme-sidebar,#1e293b);z-index:101;border-right:1px solid #ffffff0f;flex-direction:column;width:220px;height:100vh;animation:.2s submenuSlideIn;display:flex;position:fixed;box-shadow:4px 0 24px #0000004d}@keyframes submenuSlideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.submenu-panel-header{min-height:var(--header-height,56px);box-sizing:border-box;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:14px;display:flex}.submenu-panel-title{color:var(--theme-text,#f1f5f9);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.submenu-panel-close{color:var(--theme-text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.submenu-panel-close:hover{color:#f43f5e;background:#f43f5e26}.submenu-panel-body{flex:1;padding:8px;overflow-y:auto}.submenu-panel-item{color:var(--theme-text-secondary,#94a3b8);border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:.78rem;text-decoration:none;transition:all .15s;display:flex}.submenu-panel-item:hover{color:var(--theme-text,#f1f5f9);background:#6366f11a}.submenu-panel-item.active{color:#a5b4fc;background:#6366f126;font-weight:500}.submenu-panel-item .nav-dot{opacity:.5;background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.submenu-panel-item.active .nav-dot{opacity:1;background:#6366f1}.submenu-panel-open.sidebar-collapsed .main-content{margin-left:calc(var(--sidebar-collapsed-width,64px) + 220px);width:calc(100vw - var(--sidebar-collapsed-width,64px) - 220px);max-width:calc(100vw - var(--sidebar-collapsed-width,64px) - 220px)}@media (width<=480px){.app-header{padding:0 .5rem}.header-search{display:none}.page-content{padding:.5rem}.page-content [style*=grid-template-columns],.page-content [style*=gridTemplateColumns]{grid-template-columns:1fr!important}.page-content .mod-card{border-radius:8px}.app-header{height:48px}.header-toggle{padding:.25rem}}.page-content{flex:1;min-width:0;padding:1.5rem;overflow:hidden auto}.page-content>*{box-sizing:border-box;max-width:100%}.sidebar-session-bar{border-bottom:1px solid #ffffff0f;padding:.5rem .75rem}.session-info{cursor:pointer;background:#6366f114;border-radius:6px;align-items:center;gap:.5rem;padding:.375rem .5rem;transition:all .2s;display:flex}.session-info:hover{background:#6366f126}.session-label{color:#a5b4fc;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.6875rem;overflow:hidden}.session-label strong{color:#e0e7ff;font-weight:700}.session-edit-icon{color:#818cf8;opacity:.7;flex-shrink:0}.session-edit-icon:hover{opacity:1}.sidebar-quick-links{border-bottom:1px solid #ffffff0f;position:relative}.quick-links-toggle{color:#94a3b8;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.quick-links-toggle:hover{color:#e2e8f0;background:#ffffff08}.quick-links-toggle .nav-arrow{margin-left:auto}.quick-links-toggle .ui-icon:first-child{color:#eab308}.quick-links-popover{left:calc(var(--sidebar-width) + 8px);z-index:200;background:#1e293b;border:1px solid #ffffff1a;border-radius:10px;width:240px;animation:.15s popIn;position:fixed;top:120px;box-shadow:0 12px 40px #00000080}.quick-links-popover-header{color:#a5b4fc;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.625rem .75rem;font-size:.75rem;font-weight:600;display:flex}.quick-links-close{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.quick-links-close:hover{color:#e2e8f0;background:#ffffff0f}.quick-links-popover-body{max-height:320px;padding:.375rem;overflow-y:auto}.quick-link-item{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.78125rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex;overflow:hidden}.quick-link-item:hover{color:#e2e8f0;background:#6366f11a}.quick-link-item .ui-icon{color:#818cf8;flex-shrink:0}@keyframes popIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.quick-links-backdrop{z-index:199;position:fixed;inset:0}.header-search{align-items:center;margin-right:.5rem;display:flex}.header-search-input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff14;border-radius:20px 0 0 20px;outline:none;width:180px;padding:.375rem .75rem;font-size:.75rem;transition:all .2s}.header-search-input::placeholder{color:#64748b}.header-search-input:focus{background:#ffffff14;border-color:#818cf8;width:220px}.header-search-btn{color:#a5b4fc;cursor:pointer;background:#6366f126;border:1px solid #6366f133;border-left:none;border-radius:0 20px 20px 0;align-items:center;padding:.375rem .625rem;transition:all .15s;display:flex}.header-search-btn:hover{background:#6366f14d}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#1e293b;border:1px solid #ffffff14;border-radius:12px;width:90%;max-width:420px;animation:.2s slideUp;box-shadow:0 20px 60px #00000080}.session-modal .modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.session-modal .modal-header h3{color:#e2e8f0;margin:0;font-size:1rem;font-weight:600}.modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;display:flex}.modal-close:hover{color:#e2e8f0;background:#ffffff0f}.session-modal .modal-body{padding:1.25rem}.modal-desc{color:#94a3b8;margin-bottom:1rem;font-size:.8125rem}.modal-desc strong{color:#a5b4fc}.modal-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.375rem;font-size:.75rem;font-weight:600;display:block}.modal-select{color:#e2e8f0;cursor:pointer;appearance:auto;background:#0f172a;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:.625rem .75rem;font-size:.875rem}.modal-select:focus{border-color:#818cf8}.session-modal .modal-footer{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.8125rem;font-weight:600;transition:all .15s}.modal-btn-cancel{color:#94a3b8;background:#ffffff0f}.modal-btn-cancel:hover{color:#e2e8f0;background:#ffffff1a}.modal-btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.modal-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nav-flyout-backdrop{z-index:199;position:fixed;inset:0}.nav-flyout{left:var(--sidebar-collapsed-width);z-index:200;background:var(--theme-sidebar,#1e293b);border:1px solid #ffffff1a;border-radius:10px;min-width:220px;max-width:260px;max-height:calc(100vh - 24px);animation:.15s popIn;position:fixed;overflow-y:auto;box-shadow:0 12px 40px #00000080}.nav-flyout::-webkit-scrollbar{width:4px}.nav-flyout::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.nav-flyout-header{color:#a5b4fc;text-transform:uppercase;letter-spacing:.04em;background:#6366f10f;border-bottom:1px solid #ffffff0f;padding:.625rem .875rem;font-size:.75rem;font-weight:700;position:sticky;top:0}.nav-flyout-item{color:#94a3b8;white-space:nowrap;cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-flyout-item:hover{color:#e2e8f0;background:#ffffff0d}.nav-flyout-item.active{color:#a5b4fc;background:#6366f11f}.nav-flyout-item .nav-dot{background:#94a3b880;border-radius:50%;flex-shrink:0;width:5px;height:5px}.nav-flyout-item.active .nav-dot{background:#818cf8}.nav-item.flyout-open>.nav-link{color:#a5b4fc;background:#6366f126}.sidebar-collapsed .sidebar .nav-item:not(:has(.nav-toggle)) .nav-link{position:relative}.sidebar-collapsed .sidebar .nav-item:not(:has(.nav-toggle)) .nav-link:hover:after{content:attr(title);color:#e2e8f0;white-space:nowrap;z-index:200;pointer-events:none;background:#1e293b;border:1px solid #ffffff1a;border-radius:6px;padding:.375rem .75rem;font-size:.75rem;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 4px 12px #0000004d}.sidebar-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}.login-page{background:#0f0f23;justify-content:center;align-items:center;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:relative;overflow:hidden}.login-bg-shapes{z-index:0;position:absolute;inset:0;overflow:hidden}.shape{filter:blur(80px);opacity:.4;border-radius:50%;animation:20s ease-in-out infinite float;position:absolute}.shape-1{background:linear-gradient(135deg,#6366f1,#8b5cf6);width:600px;height:600px;animation-delay:0s;top:-200px;left:-100px}.shape-2{background:linear-gradient(135deg,#06b6d4,#3b82f6);width:500px;height:500px;animation-delay:-7s;bottom:-150px;right:-100px}.shape-3{background:linear-gradient(135deg,#f59e0b,#ef4444);width:350px;height:350px;animation-delay:-14s;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes float{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-40px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.95)}75%{transform:translate(15px,30px)scale(1.02)}}.login-container{-webkit-backdrop-filter:blur(40px);z-index:1;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:960px;min-height:580px;margin:1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080,inset 0 1px #ffffff1a}.login-brand{background:linear-gradient(135deg,#6366f126,#8b5cf61a);border-right:1px solid #ffffff0f;flex-direction:column;flex:1;justify-content:center;padding:3rem;display:flex}.brand-content{max-width:340px}.brand-icon{filter:drop-shadow(0 4px 12px #6366f166);margin-bottom:1rem;font-size:3.5rem}.brand-logo-img{object-fit:contain;filter:drop-shadow(0 4px 12px #6366f14d);max-width:220px;max-height:80px;margin-bottom:1rem}.login-brand h1{color:#fff;letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.75rem;font-weight:800;line-height:1.2}.brand-tagline{color:#ffffff80;margin-bottom:2rem;font-size:.875rem}.brand-features{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2rem;display:grid}.feature{color:#ffffffb3;background:#ffffff0d;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:flex}.feature:hover{background:#ffffff1a;border-color:#ffffff1f;transform:translateY(-1px)}.feature-icon{font-size:1.125rem}.brand-note{color:#ffffff59;border-top:1px solid #ffffff0f;padding-top:1rem;font-size:.75rem;line-height:1.6}.login-form-section{flex:1;justify-content:center;align-items:center;padding:3rem;display:flex}.login-form-card{width:100%;max-width:360px}.form-header{margin-bottom:2rem}.form-header h2{color:#fff;letter-spacing:-.01em;margin-bottom:.375rem;font-size:1.625rem;font-weight:700}.form-header p{color:#fff6;font-size:.875rem}.login-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef444433;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.8125rem;animation:.4s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.form-group{margin-bottom:1.25rem}.form-group label{color:#fff9;margin-bottom:.5rem;font-size:.8125rem;font-weight:500;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#ffffff4d;pointer-events:none;z-index:1;flex-shrink:0;position:absolute;left:.875rem}.input-wrapper input{color:#fff;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;outline:none;width:100%;height:48px;padding:0 2.75rem;font-family:inherit;font-size:.9rem;transition:all .2s}.input-wrapper input::placeholder{color:#ffffff40}.input-wrapper input:focus{background:#6366f114;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.toggle-password{color:#ffffff4d;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .2s;display:flex;position:absolute;right:.75rem}.toggle-password:hover{color:#fff9}.form-options{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.checkbox-wrapper{color:#ffffff80;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.checkbox-wrapper input[type=checkbox]{accent-color:#6366f1;cursor:pointer;width:16px;height:16px}.forgot-link{color:#818cf8;font-size:.8125rem;font-weight:500;text-decoration:none;transition:color .2s}.forgot-link:hover{color:#a5b4fc}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;height:48px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:all .25s;display:flex;box-shadow:0 4px 14px #6366f159}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{text-align:center;margin-top:2rem}.login-footer p{color:#ffffff40;font-size:.75rem}.login-footer strong{color:#ffffff59;font-weight:600}@media (width<=768px){.login-container{flex-direction:column;max-width:440px;min-height:auto}.login-brand{border-bottom:1px solid #ffffff0f;border-right:none;padding:2rem}.brand-features{flex-wrap:wrap;gap:.5rem;display:flex}.feature{padding:.375rem .625rem;font-size:.75rem}.brand-note{display:none}.login-form-section{padding:2rem}}@media (width<=480px){.login-page{padding:0}.login-container{border-radius:0;min-height:100vh;margin:0}.login-brand{padding:1.5rem}.login-brand h1{font-size:1.5rem}.login-form-section{padding:1.5rem}}
