:root{--blue:#175cd3;--blue2:#124fb8;--navy:#102a43;--green:#12a66a;--red:#d92d20;--bg:#f4f7fb;--border:#dbe4ee;--muted:#66788a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--navy);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#eaf2ff,#f8fbff)}.login-card{width:min(420px,100%);padding:32px;border:1px solid var(--border);border-radius:22px;background:#fff;box-shadow:0 24px 70px #234b7720}.logo{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:var(--blue);color:#fff;font-size:28px;font-weight:900}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.1em}.login-card h1{margin:8px 0}.muted{color:var(--muted)}label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:13px;font-weight:750}input,select,textarea{width:100%;padding:12px;border:1px solid #c9d5e3;border-radius:10px;outline:0;background:#fff;color:var(--navy)}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #175cd31a}.primary{border:1px solid var(--blue)!important;border-radius:10px!important;background:var(--blue)!important;color:#fff!important;padding:11px 16px!important;font-weight:800}.primary:hover{background:var(--blue2)!important}.login-card .primary{width:100%;margin-top:8px}.error{min-height:18px;color:var(--red);font-size:13px}button:disabled{cursor:not-allowed;opacity:.58}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 4vw;background:#fff;border-bottom:1px solid var(--border)}header h1{margin:0}.account{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account span{font-weight:800}.account button,.toolbar button,.actions button,.close{padding:10px 13px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--navy)}main{width:min(1450px,94%);margin:22px auto}.toolbar{display:grid;grid-template-columns:minmax(260px,1fr) repeat(5,auto);gap:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.stats article{padding:17px;border:1px solid var(--border);border-radius:15px;background:#fff}.stats small{display:block;color:var(--muted)}.stats strong{display:block;margin-top:5px;font-size:27px}.panel{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fff}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}.panel-title h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:860px}th,td{padding:13px 15px;border-bottom:1px solid #edf1f5;text-align:left;font-size:13px}th{color:var(--muted);background:#f8fafc}.student-name{font-weight:850}.sub{display:block;color:var(--muted);font-size:11px;margin-top:3px}.row-actions{display:flex;gap:6px}.row-actions button{border:1px solid var(--border);border-radius:8px;background:#fff;padding:7px 10px}.row-actions .danger{color:var(--red)}.empty{text-align:center;color:var(--muted);padding:50px}.empty strong,.empty span{display:block}.empty strong{color:var(--navy);margin-bottom:7px}footer{text-align:center;padding:25px;color:var(--muted);font-size:12px}dialog{width:min(760px,calc(100% - 28px));max-height:90vh;overflow:auto;border:0;border-radius:18px;padding:24px;box-shadow:0 30px 100px #0b1f3455}dialog::backdrop{background:#0b1f3477}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.dialog-head .close{font-size:22px;padding:4px 11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.wide{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:18px 0}.user-list{display:grid;gap:8px}.user-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:11px}.user-item div:last-child{display:flex;gap:6px}.user-item button{border:1px solid var(--border);border-radius:8px;background:#fff;padding:7px}.loading{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#0b1f3450;color:#fff;font-weight:800;font-size:18px}#toast{position:fixed;right:18px;bottom:18px;z-index:110;padding:12px 16px;border-radius:10px;background:var(--navy);color:#fff;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}.student-cell{display:flex;align-items:center;gap:10px}.student-photo{width:42px;height:56px;flex:0 0 auto;border:1px solid var(--border);border-radius:6px;object-fit:cover;background:#eef3f8}.student-photo.empty-photo{display:grid;place-items:center;color:var(--muted);font-size:9px;text-align:center}.photo-field{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;margin:14px 0;padding:14px;border:1px dashed #b9c9da;border-radius:14px;background:#f8fbff}.photo-preview{display:grid;place-items:center;width:105px;height:140px;overflow:hidden;border:1px solid #c9d5e3;border-radius:9px;background:#edf3f9;color:var(--muted);text-align:center;font-weight:800}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-field label{margin:0}.photo-note{margin:8px 0 0;font-size:12px}.small-btn{margin-top:8px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--red)}.brand-link{display:inline-block;margin:0 0 8px;color:var(--blue);font-size:13px;font-weight:750;text-decoration:none}.brand-link:hover{text-decoration:underline}@media(max-width:980px){.toolbar{grid-template-columns:1fr 1fr 1fr}.toolbar>input:first-child{grid-column:1/-1}.toolbar select{grid-column:1/-1}}@media(max-width:650px){header{align-items:flex-start;flex-direction:column;padding:18px}.account,.account span{width:100%}main{width:94%;margin:14px auto}.toolbar{grid-template-columns:1fr 1fr}.toolbar>input:first-child,.toolbar select{grid-column:1/-1}.stats{gap:7px}.stats article{padding:12px}.stats strong{font-size:23px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.inline-form{grid-template-columns:1fr}.user-item{align-items:flex-start;flex-direction:column}.panel-title{padding:15px}.panel-title h2{font-size:20px}dialog{padding:18px}}body{background:radial-gradient(circle at 8% 8%,#dcecff 0,transparent 26%),radial-gradient(circle at 92% 22%,#e8fff7 0,transparent 24%),#f3f7fc;min-height:100vh}.topbar{position:relative;overflow:hidden;padding:24px 4vw;background:linear-gradient(118deg,#082f67,#0d5bd7 58%,#09a987 130%);color:#fff;border:0;box-shadow:0 12px 35px #173d7130}.topbar:after{content:"";position:absolute;right:9%;top:-90px;width:260px;height:260px;border:50px solid #ffffff10;border-radius:50%;pointer-events:none}.brand-area{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.brand-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;background:linear-gradient(145deg,#fff,#dbeaff);color:#0c58c8;font-size:31px;font-weight:950;box-shadow:0 10px 25px #001d4a50}.topbar .eyebrow{margin-bottom:5px;color:#a9d4ff;letter-spacing:.13em}.topbar h1{font-size:32px;line-height:1.1}.topbar .brand-link{margin:8px 0 0;color:#fff;font-size:13px;opacity:.88}.topbar .account{position:relative;z-index:1;padding:8px 9px 8px 16px;border:1px solid #ffffff26;border-radius:16px;background:#ffffff12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar .account span{color:#fff}.topbar .account button{border-color:#ffffff30;background:#ffffff14;color:#fff;transition:.2s}.topbar .account button:hover{background:#fff;color:#0b4fae;transform:translateY(-1px)}main{margin-top:26px}.toolbar{padding:14px;border:1px solid #d7e4f2;border-radius:18px;background:#ffffffd9;box-shadow:0 10px 30px #244b7512;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toolbar input,.toolbar select{border:0;background:#f2f6fb}.toolbar button{min-height:44px;font-weight:750;transition:.2s}.toolbar button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #183d6720}.toolbar .primary{box-shadow:0 8px 18px #175cd340}.stats{gap:16px;margin:20px 0}.stats .stat-card{position:relative;display:flex;align-items:center;gap:17px;overflow:hidden;padding:20px;border:0;border-radius:20px;box-shadow:0 14px 35px #183d6715;transition:transform .2s,box-shadow .2s}.stats .stat-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px #183d6723}.stat-card:after{content:"";position:absolute;right:-22px;bottom:-35px;width:105px;height:105px;border-radius:50%;background:#fff6}.stat-blue{background:linear-gradient(135deg,#eaf2ff,#fff)}.stat-green{background:linear-gradient(135deg,#e4fbf2,#fff)}.stat-orange{background:linear-gradient(135deg,#fff2df,#fff)}.stat-icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border-radius:18px;font-size:26px;font-style:normal}.stat-blue .stat-icon{background:#d7e7ff;color:#175cd3}.stat-green .stat-icon{background:#cdf5e5;color:#09855a}.stat-orange .stat-icon{background:#ffe2b7;color:#b85b00;font-weight:900}.stats small{font-size:13px;font-weight:750}.stats strong{margin:2px 0;font-size:32px;line-height:1}.stats em{display:block;color:#718398;font-size:11px;font-style:normal}.panel{border:0;border-radius:22px;box-shadow:0 16px 45px #193b6318}.panel-title{padding:20px 24px;background:linear-gradient(90deg,#fff,#f7fbff)}.panel-title h2{font-size:23px}.panel-title p{margin:4px 0 0;color:#75879a;font-size:12px}.panel-title>span{padding:7px 12px;border-radius:999px;background:#e8f1ff;color:#175cd3;font-weight:800}th{padding:14px 18px;background:#eef4fa;color:#4f6680;font-size:11px;text-transform:uppercase;letter-spacing:.045em}td{padding:16px 18px}tbody tr{transition:.18s}tbody tr:hover{background:#f6faff}.student-photo{width:48px;height:64px;border:2px solid #fff;border-radius:10px;box-shadow:0 4px 13px #193b6328}.student-name{font-size:14px;color:#0c3564}.row-actions button{font-weight:700;transition:.2s}.row-actions button:hover{transform:translateY(-1px);border-color:#9bb9dc;background:#eef5ff}.row-actions .danger:hover{border-color:#ffc4bd;background:#fff0ee}footer{margin-top:10px;color:#72849a}.login-page{background:radial-gradient(circle at 20% 20%,#66b6ff55,transparent 35%),radial-gradient(circle at 85% 80%,#1ed6a855,transparent 35%),linear-gradient(135deg,#072c61,#0d63cf)}.login-card{border:1px solid #ffffff40;box-shadow:0 30px 90px #001c4555}.login-card .logo{background:linear-gradient(145deg,#0d67df,#06a781)}dialog{border:1px solid #ffffff80;background:#fffffff7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.progress-list{display:grid;gap:5px;min-width:235px}.progress-chip{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;font-size:10px;line-height:1.25}.progress-chip b{font-size:9px;text-transform:uppercase;letter-spacing:.03em}.progress-chip>span{display:grid;gap:1px}.progress-chip small{color:inherit;font-size:8px;opacity:.78}.progress-chip.done{background:#e1f8ed;color:#08784f}.progress-chip.doing{background:#fff0d5;color:#a95700}.progress-chip.pending{background:#edf2f7;color:#63758a}.progress-chip.fail{background:#ffe7e4;color:#b42318}table{min-width:1320px}.theory-dashboard{margin:18px 0;padding:22px;border:1px solid #cfe3f3;border-radius:22px;background:linear-gradient(120deg,#f5faff,#f3fff9);box-shadow:0 14px 38px #214f750e}.theory-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.theory-dashboard-head p{margin:0 0 4px;color:#1379cf;font-size:9px;font-weight:950;letter-spacing:.13em}.theory-dashboard-head h2{margin:0;font-size:23px}.theory-dashboard-head a{padding:10px 13px;border-radius:10px;background:#e2f1ff;color:#126ac0;font-size:10px;font-weight:850;text-decoration:none}.theory-dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.theory-summary-card{position:relative;display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #d9e8f2;border-radius:16px;background:#fff;color:inherit;text-align:left;font:inherit;cursor:pointer;box-shadow:0 3px 12px #174d7710;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.theory-summary-card:hover{transform:translateY(-2px);border-color:#9ec9ec;box-shadow:0 12px 26px #174d771a}.theory-summary-card>span{display:grid;width:44px;height:44px;place-items:center;flex:0 0 auto;border-radius:13px;background:#e5f2ff;color:#176bc4;font-size:19px;font-weight:950}.theory-summary-card:nth-child(2)>span{background:#f0e8fa;color:#8351a8}.theory-summary-card:nth-child(3)>span{background:#dcf6e9;color:#087c59}.theory-summary-card>div{display:grid;min-width:0;gap:2px}.theory-summary-card small{color:#6f8497;font-size:9px;font-weight:800}.theory-summary-card strong{font-size:25px}.theory-summary-card em{color:#477da8;font-size:8px;font-style:normal;font-weight:800}.theory-summary-card>b{margin-left:auto;color:#71a2c9;font-size:23px}.theory-database-notice{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff0e9;color:#99472f;font-size:10px}.theory-table-progress{display:grid;min-width:170px;gap:7px}.theory-table-progress>div{display:grid}.theory-table-progress strong{color:#234f78;font-size:11px}.theory-table-progress span{color:#75899c;font-size:9px}.theory-table-progress button{width:max-content;padding:6px 9px;border:1px solid #bcd6ec;border-radius:8px;background:#eef7ff;color:#1268b9;font-size:9px;font-weight:850}.theory-table-empty{max-width:170px;color:#8091a1;font-size:10px;line-height:1.4}.theory-table-empty.warning{color:#a55237}.theory-progress-dialog{width:min(920px,calc(100% - 28px))}.theory-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}.theory-detail-metrics article{display:grid;gap:4px;padding:14px;border:1px solid #dce8f2;border-radius:14px;background:#f8fbfe}.theory-detail-metrics small{color:#74899b;font-size:9px;font-weight:800}.theory-detail-metrics strong{color:#174e80;font-size:23px}.theory-detail-metrics .date-value{font-size:13px;line-height:1.35}.theory-detail-metrics span{color:#8193a3;font-size:8px}.theory-detail-loading{grid-column:1/-1;padding:30px;color:#71869a;text-align:center}.theory-history-head{display:flex;justify-content:space-between;margin:18px 0 8px}.theory-history-head div{display:grid;gap:2px}.theory-history-head strong{font-size:14px}.theory-history-head small{color:#7b8d9d;font-size:9px}.theory-history-wrap{max-height:360px;overflow:auto;border:1px solid #dce7ef;border-radius:13px}.theory-history-table{min-width:620px}.theory-history-table td strong,.theory-history-table td span{display:block}.theory-history-table td>span{margin-top:3px;color:#788b9c;font-size:9px}.theory-history-table td>b{font-size:15px}.exam-attempt-state{width:max-content;padding:4px 7px;border-radius:999px;font-size:8px!important;font-weight:900}.exam-attempt-state.passed{background:#dcf5e9;color:#087653!important}.exam-attempt-state.failed{background:#ffe7e1;color:#b3462d!important}.theory-history-table td small{display:block;margin-top:4px;color:#b24831;font-size:8px}.theory-history-empty{padding:28px;color:#788b9c;text-align:center}.theory-summary-dialog{width:min(1040px,calc(100% - 28px));max-height:min(88vh,900px)}.theory-summary-toolbar{display:flex;align-items:center;gap:12px;margin:18px 0 13px}.theory-summary-toolbar input{min-height:44px;flex:1;padding:10px 13px;border:1px solid #cfdfea;border-radius:12px;background:#f8fbfe}.theory-summary-toolbar>strong{color:#426c90;font-size:11px;white-space:nowrap}.theory-summary-list{display:grid;max-height:58vh;gap:10px;overflow:auto;padding:2px}.theory-summary-student{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(310px,1fr) minmax(210px,.8fr);align-items:center;gap:15px;padding:14px;border:1px solid #dce8f1;border-radius:16px;background:#fbfdff}.theory-summary-person{display:flex;align-items:center;gap:11px}.theory-summary-person>span{display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto;border-radius:13px;background:#e2f1ff;color:#1268b9;font-weight:950}.theory-summary-person>div{display:grid;min-width:0;gap:3px}.theory-summary-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theory-summary-person small,.theory-summary-person em{color:#728698;font-size:9px;font-style:normal}.theory-summary-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.theory-summary-progress>span{display:grid;gap:3px;padding:9px;border-radius:10px;background:#f0f6fb}.theory-summary-progress small{color:#71869a;font-size:8px;font-weight:750}.theory-summary-progress b{color:#174f80;font-size:12px}.theory-summary-action{display:grid;justify-items:end;gap:4px;text-align:right}.theory-summary-action>span,.theory-summary-action>small{color:#6e8295;font-size:9px}.theory-summary-action button{margin-top:4px;padding:8px 10px;border:1px solid #b7d3e8;border-radius:9px;background:#eaf5ff;color:#1268b9;font-size:9px;font-weight:850}.theory-summary-empty{display:grid;gap:6px;padding:42px;border:1px dashed #c7d9e7;border-radius:15px;color:#73889b;text-align:center}.theory-summary-empty strong{color:#315f85}.operations-btn{display:flex;align-items:center;gap:8px!important;text-align:left}.operations-btn>span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#e7f7ef;color:#087a57;font-size:17px;font-weight:950}.operations-btn>strong,.operations-btn>small{display:block}.operations-btn>strong{font-size:9px}.operations-btn>small{color:#74889b;font-size:8px}.operations-dialog{width:min(1180px,calc(100% - 28px));max-height:min(90vh,920px)}.operations-dialog-head{align-items:flex-start}.operations-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.operations-metrics article{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #d8e7f1;border-radius:14px;background:#f8fbfe}.operations-metrics article>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#e2f1ff;color:#1769bd;font-size:20px}.operations-metrics article:nth-child(2)>span{background:#e5f7ed;color:#087a58}.operations-metrics div{display:grid;gap:3px}.operations-metrics small{color:#71869a;font-size:9px;font-weight:800}.operations-metrics strong{color:#174d7c;font-size:15px}.operations-setup{display:grid;gap:5px;margin-bottom:14px;padding:13px 15px;border:1px solid #f0cf9d;border-radius:13px;background:#fff8e9;color:#83571c}.operations-setup strong{font-size:12px}.operations-setup span{font-size:9px;line-height:1.5}.operations-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:13px}.operations-section{min-width:0;padding:14px;border:1px solid #dce7ef;border-radius:16px;background:#fbfdff}.operations-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.operations-section-head p{margin:0 0 2px;color:#1772c4;font-size:8px;font-weight:900;letter-spacing:.1em}.operations-section-head h3{margin:0;font-size:15px}.operations-section-head input{width:min(240px,48%);padding:9px 11px;font-size:9px}.deleted-student-list,.audit-log-list{display:grid;max-height:52vh;gap:8px;overflow:auto;padding:1px}.deleted-student-card{display:grid;gap:10px;padding:12px;border:1px solid #dce7ef;border-radius:13px;background:#fff}.deleted-student-main{display:flex;align-items:center;gap:10px}.deleted-student-main>span{display:grid;width:39px;height:39px;place-items:center;flex:0 0 auto;border-radius:11px;background:#eef4f9;color:#56718a;font-weight:900}.deleted-student-main>div{display:grid;min-width:0;gap:2px}.deleted-student-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deleted-student-main small,.deleted-student-main em{color:#75899b;font-size:8px;font-style:normal}.deleted-student-meta{display:flex;flex-wrap:wrap;gap:5px}.deleted-student-meta span{padding:5px 7px;border-radius:7px;background:#f1f6fa;color:#557087;font-size:8px}.deleted-student-actions{display:flex;justify-content:flex-end;gap:7px}.deleted-student-actions button{padding:7px 9px;border:1px solid #b9d4e8;border-radius:8px;background:#eaf5ff;color:#1268b9;font-size:8px;font-weight:850}.deleted-student-actions .danger{border-color:#f1c3bd;background:#fff1ef;color:#b43d31}.audit-log-card{position:relative;display:grid;grid-template-columns:12px 1fr;gap:9px;padding:11px;border:1px solid #e0e9f0;border-radius:12px;background:#fff}.audit-log-dot{width:9px;height:9px;margin-top:4px;border:2px solid #a9d5c3;border-radius:50%;background:#0b9a6e}.audit-log-card>div{display:grid;gap:3px}.audit-log-card strong{font-size:10px}.audit-log-card small{color:#416783;font-size:9px}.audit-log-card em{color:#8293a2;font-size:8px;font-style:normal}.operations-empty{display:grid;gap:5px;padding:34px 18px;border:1px dashed #c7d9e7;border-radius:12px;color:#75899b;text-align:center}.operations-empty strong{color:#385f7f;font-size:11px}.operations-empty span{font-size:9px}@media(max-width:760px){.theory-dashboard-head{align-items:flex-start;flex-direction:column}.theory-dashboard-grid,.theory-detail-metrics{grid-template-columns:1fr}.theory-dashboard{padding:16px;border-radius:18px}.theory-progress-dialog,.theory-summary-dialog,.operations-dialog{padding:17px}.theory-detail-metrics{max-height:310px;overflow:auto}.theory-summary-toolbar{align-items:stretch;flex-direction:column}.theory-summary-toolbar>strong{align-self:flex-end}.theory-summary-list{max-height:60vh}.theory-summary-student{grid-template-columns:1fr}.theory-summary-progress{grid-template-columns:repeat(2,1fr)}.theory-summary-action{justify-items:start;text-align:left}.operations-metrics,.operations-grid{grid-template-columns:1fr}.operations-section-head{align-items:stretch;flex-direction:column}.operations-section-head input{width:100%}.deleted-student-list,.audit-log-list{max-height:42vh}}.topbar{min-height:190px;padding:26px 4.5vw;background:linear-gradient(112deg,#062a5d,#06499b 42%,#0c73c9 72%,#0aa58f 120%)}.topbar:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#001e4a40,transparent 52%),repeating-linear-gradient(135deg,#ffffff03 0 2px,transparent 2px 14px);pointer-events:none}.topbar:after{right:-20px;top:-125px;width:380px;height:380px;border:56px solid #ffffff0a}.driving-scene{position:absolute;right:20%;bottom:-3px;width:460px;height:155px;opacity:.24;pointer-events:none}.driving-scene svg{width:100%;height:100%;overflow:visible}.road-edge{fill:#d8efff44}.road{fill:#06285299}.lane{fill:#fff}.car{fill:#fff;filter:drop-shadow(0 10px 10px #001d4670)}.car .glass{fill:#0d6db5}.car circle{fill:#05244f;stroke:#fff;stroke-width:5}.car .light{fill:#ffe27a}.brand-area{gap:19px}.brand-mark{width:74px;height:74px;border-radius:22px;background:linear-gradient(145deg,#fff,#d9ebff);box-shadow:0 14px 34px #00194270,0 0 0 6px #ffffff12}.brand-mark svg{width:48px;height:48px;fill:none;stroke:#075bc5;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.brand-copy{position:relative}.system-badge{display:inline-flex;margin:0 0 6px;padding:4px 9px;border:1px solid #9ed9ff55;border-radius:999px;background:#ffffff12;color:#c8eaff;font-size:9px;font-weight:850;letter-spacing:.12em}.topbar h1{font-size:36px;letter-spacing:-.02em;text-shadow:0 3px 14px #001b4260}.brand-slogan{margin:5px 0 0;color:#d8edff;font-size:12px;font-weight:750;letter-spacing:.04em}.topbar .brand-link{margin-top:7px}.topbar .account{min-width:445px;justify-content:flex-end;border-color:#ffffff35;background:linear-gradient(135deg,#ffffff18,#ffffff0c);box-shadow:0 12px 32px #00245730}.topbar .account:before{content:"TÀI KHOẢN HỆ THỐNG";position:absolute;top:-9px;left:16px;padding:2px 7px;border-radius:999px;background:#0b5fae;color:#bfe6ff;font-size:8px;font-weight:850;letter-spacing:.1em}@media(max-width:980px){.topbar{align-items:flex-start;flex-direction:column}.topbar .account{width:100%;min-width:0}.driving-scene{right:-40px;opacity:.13}.stats .stat-card{padding:16px}.toolbar{padding:10px}}@media(max-width:650px){.driving-scene{display:none}.brand-area{align-items:flex-start;gap:13px}.brand-mark{width:54px;height:54px;border-radius:16px}.brand-mark svg{width:35px;height:35px}.system-badge{font-size:7px;padding:3px 6px}.brand-slogan{font-size:10px}.topbar h1{font-size:25px}.topbar{min-height:0;padding:18px}.topbar .account{padding:13px 8px 8px;gap:6px}.topbar .account span{width:100%;font-size:12px}.topbar .account button{padding:8px 10px}.stat-icon{width:45px;height:45px;border-radius:13px;font-size:21px}.stats{grid-template-columns:1fr}.stats strong{font-size:27px}.stats .stat-card{min-height:88px}.panel-title{align-items:flex-start}.panel-title p{max-width:210px}.photo-field{grid-template-columns:92px 1fr;gap:12px}.photo-preview{width:84px;height:112px}}.site-footer{width:min(1450px,94%);margin:30px auto 0;padding:24px 26px;border:1px solid #d7e5f3;border-radius:22px;background:linear-gradient(120deg,#fff,#f1f7ff);box-shadow:0 14px 35px #193b6312}.footer-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:15px}.footer-brand strong{color:#0b4d9f;font-size:12px;letter-spacing:.06em}.footer-brand span{padding-left:10px;border-left:1px solid #c9d7e6;color:#718398;font-size:11px}.social-links{display:flex;justify-content:center;gap:12px}.social-link{display:inline-flex;align-items:center;gap:9px;min-width:122px;padding:10px 15px;border-radius:12px;color:#fff;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 8px 20px #153b6720;transition:transform .2s,box-shadow .2s}.social-link:hover{transform:translateY(-3px);box-shadow:0 12px 25px #153b6735}.social-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#ffffff25;font-size:15px;font-weight:950}.social-link.tiktok{background:linear-gradient(135deg,#15151c,#33333e)}.social-link.facebook{background:linear-gradient(135deg,#1877f2,#0756bd)}.social-link.zalo{background:linear-gradient(135deg,#0879e7,#00a8ff)}.site-footer p{margin:16px 0 0;color:#7b8da2;font-size:10px}@media(max-width:650px){.site-footer{padding:20px 14px}.footer-brand{flex-direction:column;gap:5px}.footer-brand span{padding:0;border:0}.social-links{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.social-link{justify-content:center;min-width:0;padding:9px 6px;font-size:11px}.social-icon{width:22px;height:22px}}.stats .stat-card[data-stat-filter]{cursor:pointer;outline:0}.stats .stat-card[data-stat-filter]:focus-visible{box-shadow:0 0 0 4px #175cd32b,0 18px 42px #183d6723}.stats .stat-card.active{transform:translateY(-4px);box-shadow:0 0 0 3px #175cd326,0 20px 45px #183d6728}.stats .stat-card.active.stat-green{box-shadow:0 0 0 3px #12a66a30,0 20px 45px #183d6728}.stats .stat-card.active.stat-orange{box-shadow:0 0 0 3px #ef941f35,0 20px 45px #183d6728}.stat-arrow{position:absolute;right:18px;top:50%;z-index:1;transform:translateY(-50%);color:#7190b4;font-size:28px;font-weight:300;transition:transform .2s}.stat-card:hover .stat-arrow,.stat-card.active .stat-arrow{transform:translate(4px,-50%);color:#175cd3}.login-page{position:relative;display:block;min-height:100svh;overflow:hidden;padding:0;background:radial-gradient(circle at 12% 35%,#58adff5c 0 2px,transparent 3px) 0 0/40px 40px,linear-gradient(125deg,#0966c9,#0877e1 48%,#168ce5)}.attendance-toolbar-btn,.report-toolbar-btn{display:inline-flex;align-items:center;gap:7px;min-height:39px;padding:0 12px;border:1px solid #c7dded;border-radius:10px;background:#fff;color:#145c9c;font-size:9px;font-weight:900}.attendance-toolbar-btn span,.report-toolbar-btn span{font-size:15px}.attendance-toolbar-btn{border-color:#b9dfd2;background:#effaf6;color:#087c59}.report-toolbar-btn{border-color:#d7c9eb;background:#f7f1ff;color:#6a42a1}.row-actions .attendance-row-btn{border-color:#b9dfd2;background:#effaf6;color:#087c59}.attendance-dashboard{margin:16px 0;padding:22px;border:1px solid #cae4df;border-radius:22px;background:linear-gradient(125deg,#f4faff,#f1fff9);box-shadow:0 15px 35px #1b638017}.attendance-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.attendance-dashboard-head p,.dialog-kicker{margin:0 0 4px;color:#168168;font-size:8px;font-weight:950;letter-spacing:.14em}.attendance-dashboard-head h2{margin:0;color:#173f65;font-size:22px}.attendance-dashboard-head>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.attendance-dashboard-head button{min-height:38px;padding:0 13px;border:1px solid #bad9d1;border-radius:10px;background:#fff;color:#0c7057;font-size:9px;font-weight:850}.attendance-dashboard-head button:last-child{border:0;background:#167ac8;color:#fff}.attendance-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.attendance-dashboard-grid article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #d8e8ed;border-radius:15px;background:#fff}.attendance-dashboard-grid article>span{display:grid;width:40px;height:40px;place-items:center;flex:0 0 auto;border-radius:12px;background:#e0f6ed;color:#07805b;font-weight:950}.attendance-dashboard-grid article:nth-child(2)>span{background:#e3f2ff;color:#176bc5}.attendance-dashboard-grid article:nth-child(3)>span{background:#eee8ff;color:#6945ae}.attendance-dashboard-grid article:nth-child(4)>span{background:#ffe8df;color:#b84e2d}.attendance-dashboard-grid div{display:grid;min-width:0;gap:2px}.attendance-dashboard-grid small{color:#74899d;font-size:8px;font-weight:850}.attendance-dashboard-grid strong{color:#173f65;font-size:19px}.attendance-dashboard-grid em{color:#8194a6;font-size:7px;font-style:normal}.attendance-database-notice{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff3d6;color:#8a5a13;font-size:9px}.attendance-dialog,.admin-report-dialog{width:min(1120px,calc(100vw - 28px));max-height:92vh;padding:22px;overflow:auto}.attendance-dialog-head,.admin-report-head{margin-bottom:15px}.attendance-dialog-head h2,.admin-report-head h2{margin:0 0 3px}.attendance-dialog-head .sub,.admin-report-head .sub{color:#72879a;font-size:9px}.attendance-filter{display:flex;align-items:flex-end;justify-content:space-between;gap:13px;margin-bottom:12px;padding:12px;border:1px solid #dce9f1;border-radius:13px;background:#f8fbfe}.attendance-filter label{display:grid;width:min(440px,100%);gap:5px;color:#345d82;font-size:9px;font-weight:850}.attendance-filter select{height:42px;padding:0 11px;border:1px solid #cadde9;border-radius:10px;background:#fff;color:#163d62}.attendance-filter>span{padding:7px 10px;border-radius:999px;background:#e3f6ed;color:#087858;font-size:8px;font-weight:850}.attendance-filter>span.is-warning{background:#fff1d4;color:#8d5a12}.attendance-metrics,.admin-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.admin-report-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.attendance-metrics article,.admin-report-metrics article{display:grid;gap:3px;padding:12px;border:1px solid #dce8f0;border-radius:12px;background:#fff}.attendance-metrics small,.admin-report-metrics small{color:#71869a;font-size:8px;font-weight:850}.attendance-metrics strong,.admin-report-metrics strong{color:#194a75;font-size:17px}.attendance-entry-form{display:grid;gap:10px;margin-bottom:14px;padding:15px;border:1px solid #cfe5dc;border-radius:15px;background:#f6fffb}.attendance-entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.attendance-entry-head>div{display:grid;gap:2px}.attendance-entry-head strong{color:#194d70;font-size:12px}.attendance-entry-head small{color:#70869a;font-size:8px}.attendance-entry-head button{padding:7px 10px;border:1px solid #c8ddeb;border-radius:9px;background:#fff;color:#1768b8;font-size:8px;font-weight:850}.attendance-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.attendance-entry-grid label{display:grid;gap:5px;color:#355f82;font-size:8px;font-weight:850}.attendance-entry-grid label.wide{grid-column:1/-1}.attendance-entry-grid input,.attendance-entry-grid select{height:40px;padding:0 10px;border:1px solid #ccdde8;border-radius:9px;background:#fff;color:#173e63}.attendance-entry-form>.primary{justify-self:end;min-height:39px;padding:0 17px}.attendance-history-head{display:flex;align-items:center;justify-content:space-between;margin:13px 0 8px}.attendance-history-head>div{display:flex;align-items:center;gap:8px}.attendance-history-head strong{color:#183f65;font-size:12px}.attendance-history-head small{padding:4px 7px;border-radius:999px;background:#e8f2fb;color:#52728f;font-size:8px}.attendance-history-wrap,.admin-report-wrap{overflow:auto;border:1px solid #dae7ef;border-radius:13px}.attendance-history-table,.admin-report-table{width:100%;min-width:820px;border-collapse:collapse}.attendance-history-table th,.admin-report-table th{padding:10px;background:#edf5fb;color:#426989;font-size:8px;text-align:left}.attendance-history-table td,.admin-report-table td{padding:10px;border-top:1px solid #e3edf3;color:#264f73;font-size:9px;vertical-align:top}.attendance-history-table td>small,.admin-report-table td>small{display:block;margin-top:3px;color:#75899b;font-size:8px}.attendance-status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#dff6eb;color:#087a58;font-size:8px;font-weight:900}.attendance-status.absent{background:#ffe5dd;color:#b84d2d}.attendance-status.excused{background:#fff0cf;color:#96610e}.attendance-actions{display:flex;gap:5px}.attendance-actions button{padding:5px 7px;border:1px solid #caddeb;border-radius:7px;background:#fff;color:#176ab9;font-size:8px;font-weight:850}.attendance-actions button.danger{border-color:#f0c8bd;color:#b64a2b}.attendance-empty{padding:25px;color:#778a9c;font-size:9px;text-align:center}.admin-report-filters{display:grid;grid-template-columns:150px 150px minmax(210px,1fr) auto auto;align-items:end;gap:9px;margin-bottom:12px;padding:12px;border:1px solid #dce8f0;border-radius:13px;background:#f8fbfe}.admin-report-filters label{display:grid;gap:5px;color:#355e82;font-size:8px;font-weight:850}.admin-report-filters input{height:40px;padding:0 10px;border:1px solid #cadde9;border-radius:9px;background:#fff}.admin-report-filters button{min-height:40px;padding:0 12px;border:1px solid #c5d9e9;border-radius:9px;background:#fff;color:#1769b9;font-size:8px;font-weight:900}.admin-report-filters button.primary{border:0;background:#176fbd;color:#fff}@media(max-width:900px){.attendance-dashboard-grid,.attendance-entry-grid,.admin-report-filters{grid-template-columns:1fr 1fr}.admin-report-filters label:nth-child(3){grid-column:1/-1}.admin-report-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.attendance-toolbar-btn,.report-toolbar-btn{flex:1;justify-content:center}.attendance-dashboard{padding:15px;border-radius:17px}.attendance-dashboard-head{flex-direction:column}.attendance-dashboard-head>div:last-child{width:100%}.attendance-dashboard-head button{flex:1}.attendance-dashboard-grid,.attendance-metrics,.admin-report-metrics{grid-template-columns:1fr 1fr}.attendance-dashboard-grid article{padding:11px}.attendance-dialog,.admin-report-dialog{padding:15px}.attendance-filter{align-items:flex-start;flex-direction:column}.attendance-entry-grid,.admin-report-filters{grid-template-columns:1fr}.admin-report-filters label:nth-child(3){grid-column:auto}.attendance-entry-form>.primary{width:100%}.attendance-history-wrap,.admin-report-wrap{margin-inline:-4px}.admin-report-metrics article:last-child{grid-column:1/-1}}.early-warning-dashboard{margin:18px 0;padding:22px;border:1px solid #efd9c7;border-radius:22px;background:linear-gradient(125deg,#fffaf5,#fff7f2 56%,#f8fbff);box-shadow:0 15px 38px #78351313}.early-warning-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.early-warning-head p{margin:0 0 4px;color:#c35e32;font-size:8px;font-weight:950;letter-spacing:.14em}.early-warning-head h2{margin:0 0 4px;color:#173f65;font-size:22px}.early-warning-head span{color:#71869a;font-size:9px}.early-warning-head button{min-height:39px;padding:0 13px;border:0;border-radius:10px;background:linear-gradient(135deg,#d85c36,#f08a48);color:#fff;font-size:9px;font-weight:900;box-shadow:0 8px 18px #c85d2c2b}.early-warning-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:13px}.early-warning-metrics article{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #eaded5;border-radius:14px;background:#fff}.early-warning-metrics article>span{display:grid;width:39px;height:39px;place-items:center;flex:0 0 auto;border-radius:11px;background:#fff0e8;color:#c95431;font-weight:950}.early-warning-metrics article:nth-child(2)>span{background:#ffe3df;color:#c3322b}.early-warning-metrics article:nth-child(3)>span{background:#fff0d5;color:#a8660b}.early-warning-metrics article:nth-child(4)>span{background:#e7f2ff;color:#176bc5}.early-warning-metrics div{display:grid;gap:2px}.early-warning-metrics small{color:#74899b;font-size:8px;font-weight:850}.early-warning-metrics strong{color:#173f65;font-size:20px}.early-warning-list{display:grid;gap:8px}.early-warning-item{display:grid;grid-template-columns:42px minmax(130px,.7fr) minmax(280px,1.7fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #dce7ee;border-left:4px solid #e0a33c;border-radius:13px;background:#fff}.early-warning-item.severity-critical{border-left-color:#d94036;background:linear-gradient(90deg,#fff8f7,#fff)}.early-warning-item.severity-high{border-left-color:#e47a32}.warning-type-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:#fff0df;color:#b96915;font-size:11px;font-weight:950}.severity-critical .warning-type-icon{background:#ffe5e1;color:#bd352d}.warning-person,.warning-content{display:grid;min-width:0;gap:2px}.warning-person strong{overflow:hidden;color:#19496f;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.warning-person small,.warning-content small{color:#74899b;font-size:8px;line-height:1.4}.warning-content>span{display:flex;flex-wrap:wrap;gap:5px}.warning-content>span b,.warning-content>span em{padding:3px 6px;border-radius:999px;background:#fff0dc;color:#9a5c10;font-size:7px;font-style:normal;font-weight:900}.severity-critical .warning-content>span b{background:#ffe1dd;color:#b8322a}.warning-content>span em{background:#edf4fa;color:#4f718d}.warning-content>strong{color:#264f72;font-size:10px}.early-warning-item>button{padding:7px 9px;border:1px solid #c5dcea;border-radius:8px;background:#eef7ff;color:#1268b9;font-size:8px;font-weight:900;white-space:nowrap}.early-warning-empty{display:grid;min-height:110px;place-items:center;align-content:center;gap:4px;border:1px dashed #cadce4;border-radius:13px;color:#74899a;text-align:center}.early-warning-empty>span{font-size:24px;color:#11916a}.early-warning-empty strong{color:#315f82;font-size:11px}.early-warning-empty small{font-size:8px}.warning-data-notice{margin:11px 0 0;padding:9px 11px;border-radius:9px;background:#fff1d9;color:#865917;font-size:8px}.warning-dialog{width:min(1080px,calc(100vw - 28px));max-height:92vh;padding:22px;overflow:auto}.warning-dialog-head{margin-bottom:14px}.warning-dialog-toolbar{display:flex;align-items:center;gap:11px;margin-bottom:10px}.warning-dialog-toolbar input{min-height:42px;flex:1;padding:0 12px;border:1px solid #cedee9;border-radius:10px;background:#f9fbfd}.warning-dialog-toolbar strong{color:#54738d;font-size:9px;white-space:nowrap}.warning-filter-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.warning-filter-tabs button{padding:7px 9px;border:1px solid #cedee9;border-radius:999px;background:#fff;color:#55738c;font-size:8px;font-weight:850}.warning-filter-tabs button.active{border-color:#e37a49;background:#fff0e8;color:#ae4d27}.warning-dialog-list{max-height:57vh;overflow:auto;padding:1px}@media(max-width:900px){.early-warning-metrics{grid-template-columns:1fr 1fr}.early-warning-item{grid-template-columns:42px minmax(0,1fr) auto}.warning-content{grid-column:2}.early-warning-item>button{grid-column:3;grid-row:1/3}}@media(max-width:620px){.early-warning-dashboard{padding:15px;border-radius:17px}.early-warning-head{flex-direction:column}.early-warning-head button{width:100%}.early-warning-metrics{grid-template-columns:1fr 1fr}.early-warning-item{grid-template-columns:36px minmax(0,1fr)}.warning-type-icon{width:36px;height:36px}.warning-content{grid-column:1/-1}.early-warning-item>button{grid-column:1/-1;grid-row:auto;width:100%}.warning-dialog{padding:15px}.warning-dialog-toolbar{align-items:stretch;flex-direction:column}.warning-dialog-toolbar strong{align-self:flex-end}}.login-appbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:0 clamp(22px,4vw,58px);border:0;background:#17191d;color:#fff;box-shadow:0 1px #ffffff10}.login-appbar strong{font-size:clamp(19px,2vw,27px);font-weight:820;letter-spacing:-.02em}.appbar-back{font-size:44px;font-weight:300;line-height:1;transform:translateY(-2px)}.appbar-more{font-size:18px;letter-spacing:4px}.login-bg-shape{position:absolute;z-index:0;border-radius:50%;pointer-events:none}.login-bg-shape-one{right:-13vw;top:18%;width:48vw;height:48vw;border:clamp(55px,8vw,125px) solid #ffffff0a}.login-bg-shape-two{left:-13vw;bottom:-29vw;width:46vw;height:46vw;border:clamp(48px,7vw,105px) solid #75c4ff35}.login-dots{position:absolute;top:118px;left:6vw;width:142px;height:60px;opacity:.38;background-image:radial-gradient(circle,#cce9ff 3px,transparent 4px);background-size:28px 28px}.login-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.9fr) minmax(470px,570px);align-items:center;gap:clamp(48px,7vw,108px);width:min(1220px,calc(100% - 48px));min-height:calc(100svh - 76px);margin:0 auto;padding:52px 0 72px}.login-intro{color:#fff;text-shadow:0 2px 16px #004b9460}.intro-brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:850;letter-spacing:.12em}.intro-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff52;border-radius:15px;background:#ffffff20;font-size:24px;box-shadow:0 12px 35px #003c8040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.intro-kicker{display:inline-flex;margin:38px 0 14px;padding:7px 12px;border:1px solid #ffffff3d;border-radius:999px;background:#ffffff14;font-size:10px;font-weight:850;letter-spacing:.13em}.login-intro h2{max-width:590px;margin:0;font-size:clamp(40px,4.7vw,65px);line-height:1.05;letter-spacing:-.045em}.login-intro>p:not(.intro-kicker){max-width:570px;margin:22px 0;color:#e3f2ff;font-size:16px;line-height:1.7}.intro-features{display:flex;flex-wrap:wrap;gap:9px}.intro-features span{padding:9px 12px;border:1px solid #ffffff30;border-radius:11px;background:#ffffff12;color:#eff9ff;font-size:12px;font-weight:750;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-card{position:relative;width:100%;padding:45px 48px 40px;border:1px solid #ffffffd9;border-radius:34px;background:#fbfdff;box-shadow:0 38px 95px #003a7960,0 1px #fff inset}.login-lock{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 22px;border-radius:50%;background:linear-gradient(145deg,#e7f0ff,#f3f7ff);color:#256de0}.login-lock svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.login-heading .eyebrow{margin:0 0 7px;color:#2a70df;font-size:9px;letter-spacing:.13em}.login-card h1{margin:0;color:#102f55;font-size:42px;line-height:1.1;letter-spacing:-.04em}.login-heading .muted{margin:12px 0 31px;color:#7b8ea6;font-size:14px;line-height:1.55}.login-card .login-label{display:block;margin:18px 0 9px;color:#183654;font-size:13px;font-weight:850}.input-shell{display:flex;align-items:center;min-height:62px;padding:0 17px;border:1.5px solid #cfdaea;border-radius:16px;background:#fff;box-shadow:0 2px 7px #173a6105;transition:border-color .2s,box-shadow .2s,transform .2s}.input-shell:focus-within{border-color:#2b75e8;box-shadow:0 0 0 4px #2a72e614,0 8px 20px #1b4e8610;transform:translateY(-1px)}.input-shell>svg{width:25px;height:25px;flex:0 0 auto;fill:none;stroke:#2f78ea;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input-shell input{min-width:0;height:58px;padding:0 14px;border:0;outline:0;background:transparent;box-shadow:none!important;color:#173451;font-size:15px}.input-shell input::placeholder{color:#9cacbf}.password-toggle{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;padding:0;border:0;border-radius:12px;background:transparent;color:#879ab2}.password-toggle:hover{background:#edf4ff;color:#2873e5}.password-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 2px}.login-options .remember-option{display:flex;flex-direction:row;align-items:center;gap:9px;margin:0;color:#657a91;font-size:13px;font-weight:600;cursor:pointer}.remember-option input{position:absolute;width:1px;height:1px;opacity:0}.remember-option span{display:grid;place-items:center;width:22px;height:22px;border:1.5px solid #8d99a8;border-radius:7px;background:#fff;transition:.18s}.remember-option input:checked+span{border-color:#2873e5;background:#2873e5}.remember-option input:checked+span:after{content:"✓";color:#fff;font-size:14px;font-weight:900}.remember-option input:focus-visible+span{box-shadow:0 0 0 4px #2873e522}.login-options a,.login-register a{color:#1767e8;font-weight:750;text-decoration:none}.login-options a:hover,.login-register a:hover{text-decoration:underline}.login-error{min-height:20px;margin:10px 0 0;text-align:center;font-weight:650}.login-submit{display:flex!important;align-items:center;justify-content:center;gap:22px;width:100%;min-height:62px;margin:7px 0 0!important;border:0!important;border-radius:16px!important;background:linear-gradient(100deg,#2e7aec,#1955c8)!important;box-shadow:0 14px 28px #1c61d33c;font-size:17px;transition:transform .2s,box-shadow .2s,filter .2s}.login-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px #1c61d34c;filter:saturate(1.08)}.login-submit span:last-child{font-size:24px;font-weight:400}.login-divider{display:flex;align-items:center;gap:16px;margin:28px 0 22px;color:#8b9bb0;font-size:13px}.login-divider:before,.login-divider:after{content:"";height:1px;flex:1;background:#d4deeb}.zalo-contact{display:flex;align-items:center;justify-content:center;gap:13px;min-height:57px;padding:10px 18px;border:1.5px solid #d2deed;border-radius:15px;background:#fff;color:#173451;text-decoration:none;font-size:15px;font-weight:820;transition:.2s}.zalo-contact:hover{border-color:#83b8f2;background:#f4f9ff;transform:translateY(-1px)}.zalo-contact strong{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:linear-gradient(145deg,#0d8ef2,#08a7ed);color:#fff;font-size:20px}.login-register{margin:25px 0 0;color:#768aa2;text-align:center;font-size:13px}@media(max-width:960px){.login-layout{grid-template-columns:minmax(0,620px);justify-content:center}.login-intro{display:none}}@media(max-width:720px){.login-appbar{min-height:66px;padding:0 19px}.login-appbar strong{font-size:19px}.appbar-back{font-size:38px}.login-layout{width:100%;min-height:calc(100svh - 66px);padding:46px 18px 62px}.login-card{padding:38px 28px 32px;border-radius:30px}.login-lock{width:76px;height:76px;margin-bottom:19px}.login-card h1{font-size:37px}.login-heading .muted{margin-bottom:27px}.login-dots{top:92px;left:18px}.login-bg-shape-one{right:-45vw;top:20%;width:100vw;height:100vw}.login-bg-shape-two{left:-40vw;bottom:-55vw;width:105vw;height:105vw}.table-wrap{overflow:visible;padding:10px;background:#f2f6fb}table,tbody,tr,td{display:block;width:100%;min-width:0}thead{display:none}tbody tr{margin:0 0 12px;padding:14px;border:1px solid #dbe6f2;border-radius:17px;background:#fff;box-shadow:0 8px 22px #183d670d}tbody td{display:grid;grid-template-columns:105px 1fr;gap:10px;padding:9px 2px;border:0;border-bottom:1px dashed #e4ebf3}tbody td:last-child{border-bottom:0}tbody td:before{color:#7a8da2;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}tbody td:nth-child(2):before{content:"Hạng / Khóa"}tbody td:nth-child(3):before{content:"Điện thoại"}tbody td:nth-child(4):before{content:"Tiến độ"}tbody td:nth-child(5):before{content:"Học phí"}tbody td:nth-child(6):before{content:"Thao tác"}tbody td:first-child{display:block;padding-bottom:13px}.progress-list{min-width:0}.row-actions{flex-wrap:wrap}.row-actions button{flex:1}.panel{overflow:visible;background:transparent;box-shadow:none}.panel-title{border:1px solid #dbe6f2;border-radius:18px 18px 0 0}.empty{border:1px solid #dbe6f2;border-top:0;border-radius:0 0 18px 18px;background:#fff}dialog{width:100%;max-height:92svh;margin:auto 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}}.payment-ledger-btn{padding:9px 12px;border:1px solid #b9d9cd;border-radius:10px;background:#e9f8f1;color:#087653;font-size:9px;font-weight:900}.payment-ledger-btn:hover{background:#dff4e9!important;color:#075f45!important}.row-actions .payment-row-btn{border-color:#b9d9cd;background:#effaf5;color:#087653}.payment-dialog{width:min(1120px,calc(100% - 28px));max-height:min(90vh,920px);padding:22px;overflow:auto}.payment-dialog-head{align-items:flex-start}.payment-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:17px 0 12px;padding:12px 14px;border:1px solid #d8e6ef;border-radius:14px;background:#f8fbfd}.payment-toolbar label{min-width:min(420px,55%)}.payment-toolbar select{min-height:42px;padding:9px 11px;border:1px solid #cddde8;border-radius:10px;background:#fff}.payment-toolbar>span{color:#5c778f;font-size:9px;font-weight:850}.payment-toolbar>span.is-warning{color:#a45d12}.payment-toolbar>span.is-ready{color:#087653}.payment-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.payment-metrics article{display:grid;gap:5px;padding:14px;border:1px solid #d9e7f0;border-radius:14px;background:#f8fbfd}.payment-metrics article:nth-child(2){border-color:#cce8dc;background:#f0faf5}.payment-metrics article:nth-child(3){border-color:#f1ddc6;background:#fff8ef}.payment-metrics small{color:#71869a;font-size:9px;font-weight:800}.payment-metrics strong{color:#174e7d;font-size:22px}.payment-metrics article:nth-child(2) strong{color:#087653}.payment-metrics article:nth-child(3) strong{color:#a95b0e}.payment-entry-form{display:grid!important;gap:11px!important;margin-bottom:15px;padding:15px!important;border:1px solid #d9e7ef;border-radius:15px;background:#fbfdff}.payment-entry-heading strong,.payment-entry-heading small{display:block}.payment-entry-heading strong{font-size:13px}.payment-entry-heading small{margin-top:2px;color:#74899b;font-size:9px}.payment-entry-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.payment-entry-grid .wide{grid-column:1/-1}.payment-entry-form>button{justify-self:end;min-height:40px;padding:0 16px}.payment-entry-form input[disabled],.payment-entry-form select[disabled]{background:#eef2f5;color:#91a0ad}.payment-history-head{display:flex;align-items:center;justify-content:space-between;margin:6px 0 8px}.payment-history-head div{display:grid;gap:2px}.payment-history-head strong{font-size:13px}.payment-history-head small{color:#74889b;font-size:9px}.payment-history-wrap{max-height:390px;overflow:auto;border:1px solid #dce7ef;border-radius:14px}.payment-history-table{min-width:900px}.payment-history-table td strong,.payment-history-table td small{display:block}.payment-history-table td small{margin-top:3px;color:#75899a;font-size:8px}.payment-history-table td>b{font-size:14px}.payment-history-table tr.is-voided{opacity:.62;background:#f7f7f7}.payment-status{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;background:#ddf5e9;color:#087653;font-size:8px;font-weight:900}.payment-status.voided{background:#edf0f3;color:#677988}.payment-actions{display:flex;flex-wrap:wrap;gap:6px}.payment-actions button{padding:7px 9px;border:1px solid #b9d4e8;border-radius:8px;background:#eaf5ff;color:#1268b9;font-size:8px;font-weight:850}.payment-actions .danger{border-color:#f0c6c0;background:#fff1ef;color:#b33f31}.payment-empty{padding:30px;border:1px dashed #c8d9e6;border-radius:13px;color:#74899b;text-align:center;font-size:10px}@media(max-width:760px){.payment-dialog{padding:15px}.payment-toolbar{align-items:stretch;flex-direction:column}.payment-toolbar label{min-width:0}.payment-metrics,.payment-entry-grid{grid-template-columns:1fr}.payment-entry-grid .wide{grid-column:auto}.payment-history-wrap{max-height:45vh}}@media(max-width:430px){.login-layout{padding:34px 12px 48px}.login-card{padding:32px 20px 27px;border-radius:28px}.login-lock{width:70px;height:70px}.login-card h1{font-size:34px}.login-heading .muted{font-size:13px}.input-shell{min-height:58px;padding:0 14px;border-radius:14px}.input-shell input{height:55px;padding:0 11px;font-size:14px}.login-options{align-items:flex-start}.login-options .remember-option,.login-options a{font-size:12px}.login-submit{min-height:58px}.zalo-contact{font-size:13px}.login-register{font-size:12px}}.login-page{display:grid;place-items:center;min-height:100svh;padding:18px;background:radial-gradient(circle at 12% 12%,#136edb38,transparent 28%),radial-gradient(circle at 88% 86%,#0ab79b25,transparent 30%),#061a32}.login-shell{position:relative;display:grid;grid-template-rows:auto 1fr;width:min(1440px,100%);min-height:min(900px,calc(100svh - 36px));overflow:hidden;border:1px solid #ffffff1c;border-radius:34px;background:linear-gradient(125deg,#0660c5,#087de4 58%,#0b94de);box-shadow:0 40px 110px #000a1f75,0 1px #ffffff21 inset}.login-shell:after{content:"";position:absolute;inset:76px 0 auto;height:1px;background:#ffffff16;pointer-events:none}.login-appbar{width:100%;min-height:76px;padding:0 30px;background:linear-gradient(90deg,#101820,#141c25)}.appbar-title{position:absolute;left:50%;display:grid;gap:2px;transform:translate(-50%);text-align:center}.appbar-title strong{white-space:nowrap}.appbar-title small{color:#8799ad;font-size:8px;font-weight:850;letter-spacing:.2em}.login-layout{grid-template-columns:minmax(0,1fr) minmax(460px,530px);gap:clamp(56px,7vw,112px);width:100%;min-height:0;margin:0;padding:48px clamp(46px,7vw,110px) 54px}.login-intro{align-self:center;max-width:640px;text-shadow:none}.intro-brand strong{color:#fff;font-size:18px;font-weight:950;letter-spacing:.06em}.intro-brand small{color:#cfe8ff;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.intro-mark{width:56px;height:56px;border:1px solid #ffffff60;border-radius:18px;background:linear-gradient(145deg,#ffffff30,#ffffff12);font-size:27px;box-shadow:0 16px 38px #00489655}.intro-kicker{margin-top:44px;color:#e4f4ff;box-shadow:0 9px 30px #0057a632}.login-intro h2{max-width:650px;font-size:clamp(46px,4.8vw,70px);line-height:1.02}.login-intro h2 span{color:#c5e8ff}.login-intro>p:not(.intro-kicker){max-width:610px;margin:22px 0 24px;font-size:15px}.intro-overview{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;max-width:590px;margin:0 0 17px;padding:14px 16px;border:1px solid #ffffff31;border-radius:17px;background:linear-gradient(115deg,#ffffff1c,#ffffff0b);box-shadow:0 18px 38px #0053a12b;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.overview-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#fff;color:#1473dd;font-weight:950}.intro-overview>div:nth-child(2){display:grid;gap:3px}.intro-overview span{color:#cfe6fb;font-size:10px;letter-spacing:.03em}.overview-status{display:flex;align-items:center;gap:6px;color:#e9fff8;font-size:9px;font-weight:800;white-space:nowrap}.overview-status i{width:7px;height:7px;border-radius:50%;background:#42e1a8;box-shadow:0 0 0 4px #42e1a820}.intro-features span{background:#063d7950}.intro-website{display:inline-flex;align-items:center;gap:9px;margin-top:22px;color:#fff;font-size:12px;font-weight:780;text-decoration:none}.intro-website span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #ffffff40;border-radius:8px;background:#ffffff12}.login-card{align-self:center;padding:38px 43px 34px;border-radius:30px;box-shadow:0 35px 85px #00366f68,0 1px #fff inset}.login-lock{width:72px;height:72px;margin-bottom:15px;box-shadow:0 12px 28px #1d63c51c}.login-lock svg{width:33px;height:33px}.login-card h1{font-size:39px}.login-heading .muted{margin:9px 0 22px;font-size:13px}.login-card .login-label{margin:14px 0 7px}.input-shell{min-height:57px;border-radius:14px}.input-shell input{height:54px}.login-options{margin:17px 0 0}.login-submit{min-height:57px}.login-divider{margin:22px 0 18px}.zalo-contact{min-height:54px}.login-register{margin-top:19px}@media(max-width:1100px){.login-layout{grid-template-columns:minmax(0,.9fr) minmax(430px,500px);gap:42px;padding-inline:42px}.login-intro h2{font-size:48px}.intro-overview{grid-template-columns:auto 1fr}.overview-status{display:none}}@media(max-width:960px){.login-page{padding:0;background:#0b74d6}.login-shell{min-height:100svh;border:0;border-radius:0;box-shadow:none}.login-layout{grid-template-columns:minmax(0,620px);justify-content:center;padding:48px 18px 64px}.login-intro{display:none}.mobile-brand{display:grid;gap:2px;margin:0 0 14px;text-align:center}.mobile-brand strong{color:#145ebf;font-size:12px;letter-spacing:.12em}.mobile-brand span{color:#879bb3;font-size:9px;text-transform:uppercase;letter-spacing:.09em}}@media(max-width:720px){.login-appbar{min-height:66px;padding:0 18px}.login-shell:after{inset-block-start:66px}.appbar-title strong{font-size:18px}.login-layout{padding-top:38px}.login-card{padding:33px 26px 29px}}@media(max-width:430px){.appbar-title small{display:none}.appbar-title strong{font-size:16px}.login-layout{padding:28px 11px 42px}.login-card{padding:28px 19px 25px;border-radius:27px}.login-lock{width:64px;height:64px;margin-bottom:11px}.login-lock svg{width:29px;height:29px}.mobile-brand{margin-bottom:10px}.login-card h1{font-size:32px}.login-heading .muted{margin-bottom:20px}}.login-page{--login-navy:#071426;--login-ink:#102a49;--login-blue:#1769dd;--login-blue-dark:#0e4fbd;--login-line:#dbe4ef;display:grid;place-items:center;min-height:100svh;padding:22px;background:radial-gradient(circle at 12% 14%,#1769dd32 0,transparent 28%),radial-gradient(circle at 88% 88%,#16b8a423 0,transparent 28%),#061426}.login-shell{position:relative;display:grid;grid-template-rows:minmax(0,1fr);width:min(1500px,100%);min-height:min(900px,calc(100svh - 44px));overflow:hidden;border:1px solid #ffffff1b;border-radius:30px;background:linear-gradient(90deg,#0a59bd,#0877dd 57.5%,#f7f9fc 57.5% 100%);box-shadow:0 42px 120px #00081780,0 1px #ffffff1c inset}.login-shell:before{content:"";position:absolute;z-index:1;top:0;left:0;width:57.5%;height:100%;background:radial-gradient(circle at 23% 20%,#7cc6ff38 0 2px,transparent 3px) 0 0/34px 34px,radial-gradient(circle at 78% 16%,#ffffff17 0,transparent 30%),linear-gradient(142deg,#0a53b3,#0a73d7 52%,#118de0);pointer-events:none}.login-shell:after{content:"";position:absolute;z-index:1;left:-12%;bottom:-41%;width:62%;aspect-ratio:1;border:96px solid #7bc7ff1a;border-radius:50%;pointer-events:none}.login-appbar{position:relative;z-index:10;width:100%;min-height:72px;padding:0 27px;border:0;background:#0a1625;box-shadow:0 1px #ffffff10}.login-appbar:before{content:"";position:absolute;left:0;bottom:0;width:57.5%;height:2px;background:linear-gradient(90deg,#2f8cff,#23b6e8)}.appbar-back,.appbar-more{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff08;color:#dbe7f3}.appbar-back{font-size:34px;line-height:1;transform:none;padding-bottom:4px}.appbar-more{font-size:14px;letter-spacing:3px}.appbar-title{gap:3px}.appbar-title strong{color:#f7fbff;font-size:21px;font-weight:800;letter-spacing:-.025em}.appbar-title small{color:#70859c;font-size:7px;letter-spacing:.24em}.login-layout{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);align-items:center;gap:clamp(64px,7vw,118px);width:100%;min-height:0;margin:0;padding:52px clamp(46px,5.8vw,92px) 54px}.login-intro{align-self:center;max-width:680px;color:#fff;text-shadow:none}.intro-brand{gap:14px}.intro-brand>div{display:grid;gap:3px}.intro-brand strong{color:#fff;font-size:17px;font-weight:900;letter-spacing:.08em}.intro-brand small{color:#cbe5fb;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.intro-mark{width:54px;height:54px;border:1px solid #ffffff48;border-radius:17px;background:linear-gradient(145deg,#ffffff2b,#ffffff10);color:#fff;font-size:25px;box-shadow:0 14px 35px #003c8060;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.intro-kicker{display:inline-flex;align-items:center;gap:8px;margin:44px 0 16px;padding:7px 11px;border:1px solid #ffffff32;border-radius:999px;background:#053b7b36;color:#dff2ff;font-size:9px;font-weight:800;letter-spacing:.14em;box-shadow:none}.intro-kicker span{width:7px;height:7px;border-radius:50%;background:#46e4ad;box-shadow:0 0 0 4px #46e4ad1f}.login-intro h2{max-width:620px;margin:0;color:#fff;font-size:clamp(43px,4.25vw,62px);line-height:1.04;letter-spacing:-.045em}.login-intro h2 span{color:#c9e9ff}.login-intro>p:not(.intro-kicker){max-width:600px;margin:19px 0 25px;color:#d5ebfc;font-size:14px;line-height:1.7}.intro-overview{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;max-width:590px;margin:0 0 15px;padding:14px 16px;border:1px solid #ffffff2f;border-radius:17px;background:linear-gradient(110deg,#ffffff18,#ffffff09);box-shadow:0 18px 38px #00448e2e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.overview-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffffa8;border-radius:13px;background:#fff;color:#1769dd;box-shadow:0 9px 22px #003d8138}.overview-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.intro-overview>div:nth-child(2){display:grid;gap:4px}.intro-overview strong{color:#fff;font-size:13px}.intro-overview span{color:#c8e4f8;font-size:10px;letter-spacing:.025em}.overview-status{display:flex;align-items:center;gap:6px;color:#e8fff7;font-size:9px;font-weight:800;white-space:nowrap}.overview-status i{width:7px;height:7px;border-radius:50%;background:#45e2aa;box-shadow:0 0 0 4px #45e2aa1d}.intro-features{display:flex;flex-wrap:wrap;gap:8px}.intro-features span{position:relative;padding:8px 11px 8px 25px;border:1px solid #ffffff26;border-radius:10px;background:#063c7945;color:#edf8ff;font-size:10px;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.intro-features span:before{content:"";position:absolute;left:11px;top:50%;width:6px;height:6px;border-radius:50%;background:#76c8ff;transform:translateY(-50%)}.intro-website{display:inline-flex;align-items:center;gap:9px;margin-top:22px;color:#fff;font-size:11px;font-weight:750;text-decoration:none}.intro-website span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #ffffff37;border-radius:8px;background:#ffffff0f}.login-card{align-self:center;justify-self:center;width:min(440px,100%);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.login-lock{display:grid;place-items:center;width:58px;height:58px;margin:0 0 19px;border:1px solid #dbe8fa;border-radius:17px;background:linear-gradient(145deg,#edf4ff,#fff);color:var(--login-blue);box-shadow:0 10px 28px #1c5ca517}.login-lock svg{width:27px;height:27px;stroke-width:1.8}.login-heading{text-align:left}.login-heading .eyebrow{margin:0 0 8px;color:#2670da;font-size:9px;font-weight:850;letter-spacing:.14em}.login-card h1{margin:0;color:var(--login-ink);font-size:38px;line-height:1.08;letter-spacing:-.04em}.login-heading .muted{max-width:400px;margin:10px 0 26px;color:#718398;font-size:13px;line-height:1.55}.login-card .login-label{display:block;margin:15px 0 7px;color:#203a57;font-size:12px;font-weight:800}.input-shell{display:flex;align-items:center;min-height:56px;padding:0 15px;border:1px solid #d2dce9;border-radius:14px;background:#fff;box-shadow:0 3px 12px #183b6108;transition:border-color .2s,box-shadow .2s,transform .2s}.input-shell:focus-within{border-color:#2e74dd;box-shadow:0 0 0 4px #2b72df12,0 10px 24px #154b8710;transform:translateY(-1px)}.input-shell>svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:#3479de;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input-shell input{min-width:0;height:53px;padding:0 12px;border:0;outline:0;background:transparent;box-shadow:none!important;color:#183551;font-size:14px}.input-shell input::placeholder{color:#9aabba}.password-toggle{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;padding:0;border:0;border-radius:11px;background:transparent;color:#8093a8}.password-toggle:hover{background:#eef4fd;color:#246bd2}.password-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 2px}.login-options .remember-option{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;color:#687b90;font-size:12px;font-weight:600;cursor:pointer}.remember-option span{width:21px;height:21px;border-color:#9ba9b8;border-radius:7px}.remember-option input:checked+span{border-color:var(--login-blue);background:var(--login-blue)}.login-options a,.login-register a{color:#1765d6;font-weight:750}.login-submit{gap:18px;min-height:56px;margin:6px 0 0!important;border-radius:14px!important;background:linear-gradient(100deg,#2878eb,#1555c4)!important;box-shadow:0 13px 26px #155ac73a;font-size:15px}.login-submit:hover{box-shadow:0 17px 32px #155ac749}.login-submit span:last-child{font-size:21px}.login-divider{gap:14px;margin:21px 0 17px;color:#91a0b1;font-size:11px}.login-divider:before,.login-divider:after{background:#dbe3ed}.public-study-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:13px;padding:11px 13px;border:1px solid #cce1f3;border-radius:13px;background:linear-gradient(105deg,#edf7ff,#f0fff9);color:#184b79;text-decoration:none;transition:.18s}.public-study-link:hover{border-color:#83b8e8;box-shadow:0 9px 22px #1e5c8b14;transform:translateY(-1px)}.public-study-link>span{display:grid;width:39px;height:39px;place-items:center;border-radius:11px;background:#1478d4;color:#fff;font-size:10px;font-weight:950;box-shadow:0 6px 15px #166ab52c}.public-study-link>div{display:grid;gap:2px}.public-study-link strong{font-size:11px}.public-study-link small{color:#71869a;font-size:8px;font-weight:700}.public-study-link>b{color:#1673c9;font-size:17px}.zalo-contact{gap:11px;min-height:52px;padding:9px 16px;border:1px solid #d3dde9;border-radius:13px;background:#fff;color:#193753;font-size:13px;font-weight:800;box-shadow:0 3px 12px #183b6106}.zalo-contact strong{width:32px;height:32px;border-radius:9px;font-size:18px}.login-register{margin:17px 0 0;color:#788a9d;font-size:11px}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;color:#8b9cad;font-size:9px}.login-security svg{width:15px;height:15px;fill:none;stroke:#2d8f72;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-bg-shape{z-index:2}.login-bg-shape-one{right:35%;top:19%;width:34vw;height:34vw;border:80px solid #ffffff09}.login-bg-shape-two{display:none}.login-dots{z-index:2;top:115px;left:4.4%;width:120px;height:64px;opacity:.22;background-image:radial-gradient(circle,#d6edff 2px,transparent 3px);background-size:24px 24px}@media(max-width:1100px){.login-shell{background:linear-gradient(90deg,#0870d3,#0878db 52%,#f7f9fc 52% 100%)}.login-shell:before,.login-appbar:before{width:52%}.login-layout{grid-template-columns:minmax(0,1fr) minmax(410px,.92fr);gap:42px;padding-inline:38px}.login-intro h2{font-size:42px}.intro-overview{grid-template-columns:auto 1fr}.overview-status{display:none}.intro-features span:last-child{display:none}}@media(max-width:960px){.login-page{padding:0;background:#0872d3}.login-shell{min-height:100svh;border:0;border-radius:0;background:linear-gradient(145deg,#0757bd,#087be1 56%,#1094df);box-shadow:none}.login-shell:before{width:100%;background:radial-gradient(circle at 20% 16%,#75c5ff30 0,transparent 28%)}.login-shell:after{left:-45%;bottom:-17%;width:120%;border-width:70px}.login-appbar:before{width:100%}.login-layout{grid-template-columns:minmax(0,560px);justify-content:center;gap:0;padding:40px 18px 56px}.login-intro{display:none}.login-card{padding:34px 30px 28px;border:1px solid #ffffffbd;border-radius:28px;background:#f9fbfd;box-shadow:0 30px 75px #003f814d,0 1px #fff inset}.login-lock{margin-inline:auto}.login-heading{text-align:center}.login-heading .muted{margin-inline:auto}.mobile-brand{display:grid;gap:2px;margin:0 0 12px;text-align:center}.mobile-brand strong{color:#145ebf;font-size:11px;letter-spacing:.13em}.mobile-brand span{color:#8497aa;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.login-bg-shape-one{right:-40%;top:18%;width:100vw;height:100vw;border-width:70px}.login-dots{left:16px;top:94px}}@media(max-width:720px){.login-shell{grid-template-rows:minmax(0,1fr)}.login-appbar{min-height:64px;padding:0 15px}.login-shell:before{top:0;height:100%}.login-appbar:before{height:1px}.appbar-back,.appbar-more{width:34px;height:34px;border-radius:11px}.appbar-back{font-size:30px}.appbar-title strong{font-size:17px}.login-layout{min-height:0;padding:32px 14px 44px}.login-card{padding:30px 24px 25px}}@media(max-width:430px){.appbar-title strong{font-size:15px}.appbar-title small{display:none}.login-layout{padding:24px 10px 34px}.login-card{padding:27px 19px 23px;border-radius:25px}.login-lock{width:54px;height:54px;margin-bottom:13px;border-radius:16px}.login-lock svg{width:25px;height:25px}.mobile-brand{margin-bottom:9px}.login-card h1{font-size:31px}.login-heading .muted{margin-bottom:20px;font-size:12px}.input-shell{min-height:53px;padding:0 13px}.input-shell input{height:50px;padding-inline:10px;font-size:13px}.login-options{align-items:flex-start}.login-options .remember-option,.login-options a{font-size:11px}.login-submit{min-height:53px}.zalo-contact{font-size:12px}.login-register{font-size:10px}.login-security{font-size:8px}}.login-page{background:radial-gradient(circle at 8% 12%,#37b9ef2e 0,transparent 29%),radial-gradient(circle at 90% 86%,#8fd33d33 0,transparent 28%),linear-gradient(145deg,#eefaff,#e8f8ff 52%,#f2ffe9)}.login-shell{border-color:#fff;background:linear-gradient(90deg,#1689ec,#22b6d2 57.5%,#fbfdff 57.5% 100%);box-shadow:0 34px 90px #155d8b3d,0 1px #fff inset}.login-shell:before{background:radial-gradient(circle at 23% 20%,#d7f8ff66 0 2px,transparent 3px) 0 0/34px 34px,radial-gradient(circle at 82% 14%,#c8ffce2d 0,transparent 29%),linear-gradient(142deg,#0878df,#159ce5,#20bfd1)}.login-shell:after{border-color:#d9ffda1f}.login-bg-shape-one{border-color:#ffffff12}.login-dots{opacity:.32}.intro-mark{width:70px;height:70px;padding:5px;overflow:hidden;border:2px solid #ffffffd9;border-radius:22px;background:#fff;box-shadow:0 14px 35px #075a9d44,0 0 0 5px #ffffff18}.intro-mark img,.login-lock img,.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:50%}.intro-brand strong{font-size:16px}.intro-brand small{font-size:8px}.intro-kicker{margin-top:36px;border-color:#d6f5ff5c;background:#075eaa45}.intro-kicker span{background:#a5ee4a;box-shadow:0 0 0 4px #a5ee4a28}.login-intro h2{max-width:610px;font-size:clamp(34px,3.25vw,48px);line-height:1.1;letter-spacing:-.035em}.login-intro h2 span{color:#e7ffc7;font-size:.88em}.login-intro>p:not(.intro-kicker){max-width:570px;margin:18px 0 22px;color:#e9f8ff;font-size:13px}.intro-overview{border-color:#ffffff3b;background:linear-gradient(110deg,#ffffff26,#ffffff10)}.overview-icon{color:#1688e5}.overview-status i{background:#a5ee4a;box-shadow:0 0 0 4px #a5ee4a2b}.intro-features span{background:#075fa159}.intro-features span:before{background:#b6f462}.login-card{width:min(430px,100%)}.login-lock{width:68px;height:68px;padding:4px;overflow:hidden;border:2px solid #fff;border-radius:21px;background:#fff;box-shadow:0 12px 30px #1187c32b,0 0 0 5px #e8f8ff}.login-card h1{font-size:35px}.login-heading .muted{margin-bottom:23px}.input-shell:focus-within{border-color:#1898e6;box-shadow:0 0 0 4px #17a8dc17,0 10px 24px #154b8710}.login-submit{background:linear-gradient(100deg,#198ff0,#1769d8 58%,#19a8c4)!important;box-shadow:0 13px 27px #1684d43d}.login-submit:hover{box-shadow:0 17px 34px #1684d44d}.login-security svg{stroke:#30a76f}.brand-mark{padding:6px;overflow:hidden;background:#fff}@media(max-width:1100px){.login-shell{background:linear-gradient(90deg,#1689ec,#22b6d2 52%,#fbfdff 52% 100%)}.login-intro h2{font-size:36px}.intro-mark{width:62px;height:62px;border-radius:20px}}@media(max-width:960px){.login-page{background:linear-gradient(145deg,#e8f8ff,#efffe8)}.login-shell{background:linear-gradient(145deg,#0b83e9,#20a9dc 57%,#26c8bd)}.login-card{background:#fbfdff}.login-lock{width:64px;height:64px;margin-bottom:15px}}@media(max-width:430px){.login-card h1{font-size:29px}.login-lock{width:58px;height:58px;border-radius:18px}}@media(min-width:981px){.toolbar{grid-template-columns:minmax(260px,1fr) repeat(7,auto)}}.toolbar .schedule-link{display:flex;min-height:48px;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1.5px solid #c9b8f4;border-radius:10px;background:#f3efff;color:#6041ad;font-size:11px;text-decoration:none;transition:.2s}.toolbar .schedule-link span{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:#e0d5ff;font-size:16px}.toolbar .schedule-link:hover{transform:translateY(-2px);border-color:#9d80e4;background:#ebe3ff;box-shadow:0 8px 18px #5636a820}.toolbar .question-bank-link{border-color:#cde9da;background:linear-gradient(135deg,#f0fff7,#e7f9ff);color:#08765b}.toolbar .question-bank-link span{background:#d9f4e8;color:#08765b;font-size:9px;font-weight:950}.toolbar .data-action{display:flex;min-width:126px;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:7px 11px;border-width:1.5px}.data-action>span:last-child{display:grid;gap:1px;text-align:left}.data-action strong{font-size:11px;line-height:1.1;letter-spacing:.025em}.data-action small{font-size:9px;font-weight:700;opacity:.7}.data-action-icon{display:grid;width:27px;height:27px;place-items:center;flex:0 0 auto;border-radius:8px;font-size:17px;font-weight:900}.data-import{border-color:#9ed9c2!important;background:#ecfbf5!important;color:#087854!important}.data-import .data-action-icon{background:#c9f1df;color:#087854}.data-export{border-color:#a8c9f5!important;background:#eef5ff!important;color:#155fc3!important}.data-export .data-action-icon{background:#d5e6ff;color:#155fc3}.data-import:hover{border-color:#59bb91!important;background:#ddf7eb!important}.data-export:hover{border-color:#6ca4ea!important;background:#e1edff!important}.finance-dashboard{margin:20px 0 18px;padding:20px;border:1px solid #d9e7f5;border-radius:22px;background:radial-gradient(circle at 95% 0,#dff8ff 0,transparent 27%),linear-gradient(135deg,#fff,#f7fbff);box-shadow:0 15px 40px #193b6314}.finance-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}.finance-kicker{margin:0 0 4px;color:#2478dc;font-size:9px;font-weight:900;letter-spacing:.14em}.finance-dashboard h2{margin:0;color:#12365f;font-size:21px}.finance-dashboard-head>span{padding:7px 12px;border:1px solid #d4e4f5;border-radius:999px;background:#fff;color:#58718e;font-size:10px;font-weight:800}.finance-head-actions{display:flex;align-items:center;gap:8px}.finance-head-actions>a{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:#eee8ff;color:#6041ad;font-size:10px;font-weight:850;text-decoration:none}.finance-head-actions>a:hover{background:#e2d8ff}.finance-head-actions>a span{font-size:14px}.finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.finance-card{position:relative;display:flex;min-width:0;align-items:center;gap:14px;overflow:hidden;padding:18px;border:1px solid transparent;border-radius:18px}.finance-card:after{content:"";position:absolute;right:-24px;bottom:-35px;width:100px;height:100px;border-radius:50%;background:#fff6}.finance-card>div{position:relative;z-index:1;min-width:0}.finance-card small{display:block;margin-bottom:5px;color:#55708d;font-size:11px;font-weight:800}.finance-card strong{display:block;overflow:hidden;color:#102f55;font-size:clamp(21px,2vw,29px);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.finance-card em{display:block;margin-top:6px;color:#6f8399;font-size:9px;font-style:normal;font-weight:700}.finance-icon{position:relative;z-index:1;display:grid;width:50px;height:50px;flex:0 0 auto;place-items:center;border-radius:15px;font-size:22px;font-weight:950}.finance-total{border-color:#cfe2fb;background:linear-gradient(135deg,#e9f3ff,#f9fcff)}.finance-total .finance-icon{background:#cfe4ff;color:#1768ce}.finance-paid{border-color:#ccecdf;background:linear-gradient(135deg,#e7faf2,#fbfffd)}.finance-paid .finance-icon{background:#caf1df;color:#09815a}.finance-debt{border-color:#f3ddc0;background:linear-gradient(135deg,#fff1df,#fffdf9)}.finance-debt .finance-icon{background:#ffe0b8;color:#b65b06}@media(max-width:980px){.finance-card{padding:15px;gap:11px}.finance-icon{width:43px;height:43px;border-radius:13px;font-size:19px}.finance-card strong{font-size:21px}}@media(max-width:760px){.finance-grid{grid-template-columns:1fr}.finance-card strong{font-size:25px}}@media(max-width:650px){.toolbar .schedule-link,.toolbar .data-action{min-width:0}.finance-dashboard{padding:15px;border-radius:18px}.finance-dashboard-head{align-items:flex-start;flex-direction:column;gap:9px}.finance-head-actions{width:100%;align-items:flex-start;flex-direction:column}.finance-dashboard-head>span{align-self:flex-start}}.student-account-btn{border-color:#b9dfd1!important;background:#effbf7!important;color:#087759!important}.student-account-btn.is-active{border-color:#88cfb6!important;background:#dff7ee!important}.student-login-state{display:inline-flex;width:max-content;align-items:center;gap:5px;margin-top:5px;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:850}.student-login-state:before{content:"";width:6px;height:6px;border-radius:50%}.student-login-state.active{background:#ddf8ed;color:#087457}.student-login-state.active:before{background:#1eb980}.student-login-state.locked{background:#fff0eb;color:#b54725}.student-login-state.locked:before{background:#ef704b}#studentAccountDialog{width:min(510px,calc(100vw - 28px))}.dialog-kicker{margin:0 0 3px;color:#1e77d5;font-size:9px;font-weight:900;letter-spacing:.12em}.student-account-summary{display:flex;align-items:center;gap:12px;margin:2px 0 18px;padding:13px;border:1px solid #dce9f4;border-radius:15px;background:#f7fbff}.student-account-summary>div:last-child{display:grid;gap:3px}.student-account-summary strong{color:#173c65;font-size:14px}.student-account-summary span{color:#6b8095;font-size:10px;font-weight:700}.student-account-avatar{display:grid;width:48px;height:58px;overflow:hidden;place-items:center;flex:0 0 auto;border-radius:10px;background:#dcecff;color:#2672ca;font-size:11px;font-weight:900}.student-account-avatar img{width:100%;height:100%;object-fit:cover}#studentAccountForm{display:grid;gap:11px}#studentAccountForm label{display:grid;gap:6px}.student-account-actions>p{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:14px;border:1px solid #dce9f4;border-radius:14px;background:#fff;color:#5e758c;font-size:11px}.student-account-actions>p strong{color:#173c65;font-size:14px}.student-account-actions>p small{display:block;width:100%;color:#7b8da0}.notification-btn{position:relative;display:inline-flex;align-items:center;gap:6px}.notification-btn i{font-style:normal;font-size:14px}.notification-btn b{position:absolute;top:-7px;right:-7px;display:grid;min-width:19px;height:19px;padding:0 5px;place-items:center;border:2px solid #0b5fae;border-radius:999px;background:#ff5b4d;color:#fff;font-size:8px;line-height:1;box-shadow:0 4px 10px #001d4a4d}.notification-dialog{width:min(760px,calc(100vw - 28px));padding:22px}.notification-head{align-items:flex-start}.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 10px;padding:10px 12px;border:1px solid #dce8f3;border-radius:12px;background:#f7fbff}.notification-toolbar span{color:#637b92;font-size:10px;font-weight:800}.notification-toolbar>div{display:flex;flex-wrap:wrap;gap:7px}.notification-toolbar button{padding:7px 10px;border:1px solid #cbdff1;border-radius:9px;background:#fff;color:#1768c7;font-size:9px;font-weight:850}.notification-list{display:grid;max-height:58vh;gap:9px;overflow:auto;padding:2px}.notification-item{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid #dce8f2;border-radius:14px;background:#fff}.notification-item.is-read{opacity:.62}.notification-icon{display:grid;width:38px;height:38px;place-items:center;flex:0 0 auto;border-radius:11px;background:#e7f2ff;color:#1d6dcc;font-size:16px;font-weight:950}.notification-item>div{display:grid;min-width:0;gap:3px}.notification-item strong{color:#183e66;font-size:11px}.notification-item p{margin:0;color:#687f95;font-size:9px;line-height:1.45}.notification-item a{width:max-content;margin-top:3px;color:#1769c8;font-size:9px;font-weight:850;text-decoration:none}.notification-item.tone-green .notification-icon{background:#dff7eb;color:#07805a}.notification-item.tone-orange .notification-icon{background:#ffe8cb;color:#b65f08}.notification-item.tone-red .notification-icon{background:#ffe5de;color:#bf4d2d}.notification-item.tone-violet .notification-icon{background:#ede5ff;color:#6844b7}.notification-item.tone-cyan .notification-icon{background:#ddf8fb;color:#05849a}.notification-empty{display:grid;min-height:180px;place-items:center;align-content:center;gap:5px;color:#71869b;text-align:center}.notification-empty>span{font-size:30px}.notification-empty strong{color:#244b72;font-size:12px}.notification-empty p{margin:0;font-size:9px}.notification-search{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:0 12px;border:1px solid #dce8f3;border-radius:12px;background:#fff;color:#6f8294}.notification-search input{width:100%;min-height:39px;border:0;outline:0;background:transparent;color:#173f67;font:inherit;font-size:10px}.notification-filters{display:flex;gap:6px;margin:0 0 12px;overflow:auto;padding:0 0 3px}.notification-filters button{min-width:max-content;padding:7px 10px;border:1px solid #d7e4ef;border-radius:999px;background:#fff;color:#61798f;font-size:9px;font-weight:850}.notification-filters button.active{border-color:#1d76cf;background:#e7f3ff;color:#1163b4}.notification-item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:1px}.notification-item-meta span{padding:3px 6px;border-radius:999px;background:#eef5fb;color:#4e6f8e;font-size:8px;font-weight:900}.notification-item-meta time{color:#8294a5;font-size:8px}.notification-item-meta b{padding:2px 5px;border-radius:999px;background:#e0f1ff;color:#0870c7;font-size:7px;text-transform:uppercase}.notification-settings-dialog{width:min(700px,calc(100vw - 28px));padding:22px}.notification-class-field{display:grid;gap:6px;margin:17px 0 13px;color:#315779;font-size:10px;font-weight:850}.notification-class-field select{min-height:42px;padding:0 12px;border:1px solid #d7e5f0;border-radius:11px;background:#fff;color:#173f67}.notification-target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.notification-target-grid label{position:relative;display:grid;gap:6px;color:#315779;font-size:9px;font-weight:850}.notification-target-grid input{min-height:42px;padding:0 48px 0 12px;border:1px solid #d7e5f0;border-radius:11px;color:#173f67;font:inherit}.notification-target-grid label>span{position:absolute;right:12px;bottom:13px;color:#8192a3;font-size:8px}@media(max-width:650px){.notification-dialog{padding:16px}.notification-item{padding:11px}.notification-toolbar{align-items:flex-start;flex-direction:column}.notification-target-grid{grid-template-columns:1fr}}.excel-preview-dialog{width:min(980px,calc(100vw - 24px));padding:22px}.excel-preview-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 10px}.excel-preview-meta span{padding:7px 10px;border-radius:10px;background:#eaf4ff;color:#1a5f9f;font-size:10px;font-weight:800}.excel-duplicate-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 11px}.excel-duplicate-summary span{display:flex;align-items:center;gap:6px;padding:10px;border:1px solid #dce7ef;border-radius:11px;background:#f7fafc;color:#527087;font-size:9px;font-weight:800}.excel-duplicate-summary b{font-size:15px}.excel-duplicate-summary .is-new{border-color:#bfe6d5;background:#edfaf4;color:#087653}.excel-duplicate-summary .is-existing{border-color:#bed8ef;background:#edf6ff;color:#1767b5}.excel-duplicate-summary .is-review{border-color:#f2d4a7;background:#fff8e9;color:#9a611a}.excel-duplicate-summary .is-blocked{border-color:#efc6c0;background:#fff2f0;color:#a9483d}.excel-conflict-options{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:5px 12px;margin-top:12px;padding:12px;border:1px solid #cfdfeb;border-radius:13px;background:#f7fbfe}.excel-conflict-options label{margin:0;color:#315c7f;font-size:10px;font-weight:850}.excel-conflict-options select{padding:10px;font-size:10px}.excel-conflict-options small{grid-column:2;color:#71869a;font-size:8px;line-height:1.45}.excel-preview-table-wrap{max-height:52vh;overflow:auto;border:1px solid #d9e6f1;border-radius:14px;background:#fff}.excel-preview-table{width:100%;min-width:760px;border-collapse:collapse}.excel-preview-table th,.excel-preview-table td{padding:9px 11px;border-bottom:1px solid #e7eef5;color:#34536f;font-size:10px;text-align:left;white-space:nowrap}.excel-preview-table th{position:sticky;top:0;z-index:1;background:#eaf3fc;color:#174a78;font-size:9px;text-transform:uppercase}.excel-preview-table tbody tr:nth-child(2n){background:#f8fbfe}.excel-preview-note{margin:10px 2px 0;color:#6b8195;font-size:10px;line-height:1.5}.excel-action-link{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:9px 14px;border:1px solid #cbddec;border-radius:10px;background:#fff;color:#1768c7;font-size:10px;font-weight:850;text-decoration:none}.excel-preview-actions{flex-wrap:wrap}@media(max-width:650px){.excel-preview-dialog{padding:15px}.excel-duplicate-summary{grid-template-columns:1fr 1fr}.excel-conflict-options{grid-template-columns:1fr}.excel-conflict-options small{grid-column:1}.excel-preview-table-wrap{max-height:48vh}.excel-preview-actions{display:grid;grid-template-columns:1fr 1fr}.excel-preview-actions>*{width:100%}.excel-preview-actions .primary:last-child{grid-column:1/-1}}.login-page{--login-teal:#0f5f57;--login-green:#168a72;--login-mint:#dff5ec;--login-mint-soft:#f4fbf8;--login-yellow:#ffc94a;--login-ink:#15332f;--login-muted:#617873;--login-line:#cfe4dc;display:block;min-height:100svh;overflow-x:hidden;padding:clamp(12px,2vw,28px);background:radial-gradient(circle at 8% 12%,#4ac6a326 0,transparent 28%),radial-gradient(circle at 94% 84%,#ffc94a26 0,transparent 24%),linear-gradient(145deg,#f8fcfa,#e8f7f1);color:var(--login-ink)}.login-page:before{display:none}.login-shell{position:relative;display:block;width:min(1500px,100%);min-height:min(900px,calc(100svh - clamp(24px,4vw,56px)));margin:0 auto;overflow:hidden;border:1px solid #cfe9df;border-radius:clamp(24px,2.2vw,34px);background:#f7fbf9;box-shadow:0 30px 90px #0f5f5724,0 1px #fff inset}.login-shell:before,.login-shell:after,.login-bg-shape,.login-dots{display:none}.login-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(440px,.82fr);align-items:stretch;gap:0;width:100%;min-height:min(900px,calc(100svh - clamp(24px,4vw,56px)));margin:0;padding:0}.login-intro{position:relative;display:flex;min-width:0;min-height:100%;flex-direction:column;align-items:flex-start;overflow:hidden;padding:clamp(38px,4vw,62px) clamp(34px,4.8vw,74px);background:#f8fcfa;color:var(--login-ink);text-shadow:none;isolation:isolate}.login-intro:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 8% 10%,#fff 0,transparent 35%),linear-gradient(180deg,#ffffffed,#ffffffae 48%,#f1faf500 72%);pointer-events:none}.intro-hero-visual{position:absolute;inset:0;z-index:-2;overflow:hidden}.intro-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center bottom}.intro-brand{display:flex;align-items:center;gap:13px}.intro-brand>div{display:grid;gap:2px}.intro-brand strong{color:var(--login-teal);font-size:clamp(20px,1.8vw,28px);font-weight:950;letter-spacing:.03em}.intro-brand small{color:#66867f;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.intro-mark{display:grid;width:58px;height:58px;place-items:center;padding:4px;overflow:hidden;border:1px solid #bfe1d5;border-radius:18px;background:#fff;box-shadow:0 12px 30px #0f5f571c}.login-intro h2{max-width:760px;margin:clamp(38px,5vh,60px) 0 0;color:#0b3f39;font-size:clamp(39px,3.8vw,59px);font-weight:950;line-height:1.08;letter-spacing:-.045em}.login-intro h2 span{color:#0b3f39;font-size:1em}.login-intro>p:not(.intro-kicker){max-width:660px;margin:18px 0 22px;color:#3f5e58;font-size:clamp(14px,1.2vw,18px);font-weight:500;line-height:1.55}.intro-study-cta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-width:min(430px,100%);min-height:62px;padding:11px 16px;border:1px solid #efb72b;border-radius:16px;background:linear-gradient(135deg,#ffd45f,#ffc239);box-shadow:0 14px 32px #d69b1f35,0 1px #fff9 inset;color:#123e37;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.intro-study-cta:hover{transform:translateY(-2px);box-shadow:0 18px 38px #d69b1f45,0 1px #fff9 inset;filter:saturate(1.06)}.intro-study-cta:focus-visible{outline:0;box-shadow:0 0 0 4px #168a7229,0 18px 38px #d69b1f45}.intro-study-cta>span{font-size:27px}.intro-study-cta>div{display:grid;gap:2px}.intro-study-cta strong{font-size:15px;font-weight:950;letter-spacing:.01em}.intro-study-cta small{color:#4e5e3f;font-size:10px;font-weight:750}.intro-study-cta>b{font-size:23px}.intro-features{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.intro-features span{padding:9px 12px;border:1px solid #d6e9e2;border-radius:13px;background:#fffffff0;box-shadow:0 8px 22px #0f5f570e;color:#31564f;font-size:11px;font-weight:800;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.intro-features span:before{display:none}.login-card{position:relative;align-self:center;justify-self:center;width:min(490px,calc(100% - 64px));margin:34px 0;padding:clamp(32px,3.2vw,48px);overflow:hidden;border:1px solid #e0ece7;border-radius:26px;background:#fff;box-shadow:0 24px 65px #0f5f5724,0 1px #fff inset}.login-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--login-green),#43b994,var(--login-yellow))}.login-lock{display:grid;width:72px;height:72px;place-items:center;margin:0 auto 18px;padding:5px;overflow:hidden;border:1px solid #cce7dd;border-radius:50%;background:var(--login-mint);box-shadow:0 0 0 8px #eff9f5,0 12px 26px #0f5f5714}.login-heading{text-align:center}.login-heading .eyebrow{margin:0 0 8px;color:var(--login-green);font-size:9px;font-weight:900;letter-spacing:.15em}.login-card h1{margin:0;color:var(--login-ink);font-size:clamp(31px,2.7vw,40px);font-weight:900;line-height:1.12;letter-spacing:-.035em}.login-heading .muted{max-width:390px;margin:10px auto 24px;color:var(--login-muted);font-size:12px;line-height:1.55}.login-card .login-label{display:block;margin:15px 0 7px;color:#244943;font-size:12px;font-weight:850}.input-shell{display:flex;min-height:56px;align-items:center;padding:0 15px;border:1.5px solid #a9d1c3;border-radius:14px;background:#f8fcfa;box-shadow:0 3px 12px #0f5f5708;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.input-shell:focus-within{border-color:var(--login-green);box-shadow:0 0 0 4px #168a721f,0 10px 24px #0f5f570f;transform:translateY(-1px)}.input-shell>svg{width:22px;height:22px;stroke:var(--login-green)}.input-shell input{height:53px;padding:0 12px;color:var(--login-ink);font-size:14px}.input-shell input::placeholder{color:#8ca39e}.password-toggle{color:#607e78}.password-toggle:hover{background:#e4f4ee;color:var(--login-green)}.login-options{margin:17px 0 2px}.login-options .remember-option{color:#5b746f}.remember-option span{border-color:#89ac9f;background:#fff}.remember-option input:checked+span{border-color:var(--login-green);background:var(--login-green)}.remember-option input:focus-visible+span{box-shadow:0 0 0 4px #168a7225}.login-options a,.login-register a{color:var(--login-green);font-weight:800}.login-error{min-height:18px;margin:7px 0 0;font-size:12px}.login-submit{gap:18px;min-height:58px;margin:6px 0 0!important;border-color:var(--login-teal)!important;border-radius:14px!important;background:linear-gradient(100deg,#168a72,#0f6559)!important;box-shadow:0 13px 27px #0f5f5738;font-size:15px;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.login-submit:hover{background:linear-gradient(100deg,#168a72,#0f6559)!important;box-shadow:0 17px 34px #0f5f5748;transform:translateY(-2px);filter:saturate(1.08)}.login-submit:focus-visible{outline:3px solid #168a7230;outline-offset:3px}.login-card .public-study-link{display:none}.login-divider{gap:14px;margin:21px 0 17px;color:#8ba09b;font-size:11px}.login-divider:before,.login-divider:after{background:#d7e6e1}.zalo-contact{gap:11px;min-height:54px;border:1.5px solid #7fb9a6;border-radius:14px;background:#fff;color:var(--login-teal);box-shadow:0 3px 12px #0f5f5707}.zalo-contact:hover{border-color:var(--login-green);background:#f1faf6;transform:translateY(-1px)}.zalo-contact strong{background:linear-gradient(145deg,#168a72,#0f5f57)}.login-register{margin:17px 0 0;color:#758b86}.login-security{color:#879a96}.login-security svg{stroke:var(--login-green)}.mobile-brand{display:none}@media(max-width:1180px){.login-layout{grid-template-columns:minmax(0,1fr) minmax(410px,.9fr)}.login-intro{padding-inline:38px}.login-intro h2{font-size:40px}.intro-study-cta{min-width:min(390px,100%)}.intro-features span:last-child{display:none}.login-card{width:min(450px,calc(100% - 40px));padding-inline:34px}}@media(max-width:960px){.login-page{padding:0;background:#eef9f4}.login-shell{width:100%;min-height:100svh;border:0;border-radius:0;background:radial-gradient(circle at 10% 8%,#4ac6a324 0,transparent 30%),radial-gradient(circle at 90% 90%,#ffc94a26 0,transparent 28%),linear-gradient(145deg,#eef9f4,#f9fcfa);box-shadow:none}.login-layout{grid-template-columns:minmax(0,560px);justify-content:center;min-height:100svh;padding:34px 18px 46px}.login-intro{display:none}.login-card{width:100%;margin:0;padding:34px 30px 29px;border-color:#d8eae4;border-radius:27px;box-shadow:0 24px 65px #0f5f5725}.mobile-brand{display:grid;gap:2px;margin:0 0 13px;text-align:center}.mobile-brand strong{color:var(--login-teal);font-size:12px;letter-spacing:.13em}.mobile-brand span{color:#758f89;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.login-card .public-study-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:14px;padding:11px 13px;border:1px solid #e9b72e;border-radius:14px;background:linear-gradient(135deg,#ffd65f,#ffc23d);color:#173f38;box-shadow:0 10px 24px #d69b1f27}.login-card .public-study-link>span{background:var(--login-teal)}.login-card .public-study-link small{color:#596347}.login-card .public-study-link>b{color:var(--login-teal)}}@media(max-width:520px){.login-layout{align-items:start;padding:20px 10px 32px}.login-card{padding:27px 19px 23px;border-radius:23px}.login-lock{width:60px;height:60px;margin-bottom:14px}.login-card h1{font-size:29px}.login-heading .muted{margin-bottom:20px;font-size:11px}.input-shell{min-height:53px;padding-inline:13px}.input-shell input{height:50px;padding-inline:10px;font-size:13px}.login-options{align-items:flex-start}.login-options .remember-option,.login-options a{font-size:11px}.login-submit{min-height:54px}.login-card .public-study-link strong{font-size:11px}.login-card .public-study-link small{font-size:8px}.zalo-contact{font-size:12px}.login-register{font-size:10px}.login-security{font-size:8px}}@media(prefers-reduced-motion:reduce){.intro-study-cta,.login-submit,.input-shell,.zalo-contact{transition:none}}.public-register-cta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;width:100%;margin:0;padding:12px 14px;border:1px solid #83c7b6;border-radius:14px;background:linear-gradient(105deg,#e6fff7,#f2fff0);color:#0c5c53;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.public-register-cta:hover{transform:translateY(-1px);border-color:#35a689;box-shadow:0 10px 25px #137c6720}.public-register-cta>span{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:#0f7064;color:#fff;font-size:19px;font-weight:900}.public-register-cta>div{display:grid;gap:2px}.public-register-cta strong{font-size:12px}.public-register-cta small{color:#628078;font-size:9px;font-weight:700}.public-register-cta>b{font-size:19px}.public-register-cta+.zalo-contact{margin-top:10px}.public-register-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100vh - 24px);padding:0;border:0;border-radius:24px;overflow:auto}.public-register-dialog::backdrop,.public-theory-accounts-dialog::backdrop{background:#082e2a99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.public-register-dialog form{padding:24px}.public-register-note{display:flex;align-items:center;gap:12px;margin:3px 0 18px;padding:13px;border:1px solid #bde5d9;border-radius:15px;background:#edfff9}.public-register-note>span{font-size:28px}.public-register-note p{display:grid;gap:3px;margin:0}.public-register-note strong{color:#145d54;font-size:13px}.public-register-note small{color:#658078;font-size:10px;line-height:1.5}.public-register-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.public-register-grid label{display:grid;gap:6px;color:#244e48;font-size:11px;font-weight:800}.public-register-grid label:first-child,.public-register-grid label:nth-child(3){grid-column:1/-1}.public-register-grid input{height:44px;padding:0 13px;border:1px solid #ccddd8;border-radius:11px;background:#fbfffd;color:#163a35;outline:none}.public-register-grid input:focus{border-color:#14937f;box-shadow:0 0 0 3px #15947f17}.public-register-grid label>small{color:#7b8d88;font-size:9px;font-weight:600}.public-register-remember{display:flex;align-items:center;gap:7px;margin:14px 0 0;color:#607a73;font-size:10px;font-weight:700}.public-theory-accounts-dialog{width:min(920px,calc(100% - 24px));max-height:min(86vh,850px);padding:24px;border:0;border-radius:24px}.public-account-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:4px 0 15px}.public-account-metrics article{display:grid;gap:5px;padding:13px;border:1px solid #d5e6e1;border-radius:14px;background:linear-gradient(135deg,#f8fffd,#effaf6)}.public-account-metrics small{color:#6f837e;font-size:9px;font-weight:800;text-transform:uppercase}.public-account-metrics strong{color:#105f55;font-size:23px}.public-account-search{width:100%;height:44px;margin-bottom:12px;padding:0 14px;border:1px solid #cfdfdb;border-radius:12px;outline:none}.public-account-search:focus{border-color:#188b79;box-shadow:0 0 0 3px #188b7915}.public-account-list{display:grid;gap:11px;max-height:430px;overflow:auto;padding:2px 3px 2px 0}.public-account-card{padding:15px;border:1px solid #d8e6e2;border-radius:16px;background:#fff;box-shadow:0 6px 20px #123e3510}.public-account-card.is-locked{background:#fafafa;opacity:.82}.public-account-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px}.public-account-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:linear-gradient(135deg,#0f7064,#22a589);color:#fff;font-size:17px;font-weight:900}.public-account-main>div{display:grid;gap:3px}.public-account-main strong{color:#173f39;font-size:13px}.public-account-main span:not(.public-account-avatar){color:#70847f;font-size:10px;font-weight:700}.public-account-main em{padding:6px 8px;border-radius:999px;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.public-account-main em.active{background:#daf7e9;color:#08734f}.public-account-main em.locked{background:#fce4e4;color:#ae3434}.public-account-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.public-account-progress span{display:grid;gap:3px;padding:9px;border-radius:10px;background:#f4f8f7}.public-account-progress small{color:#788b86;font-size:8px;font-weight:800}.public-account-progress b{color:#23564e;font-size:12px}.public-account-meta{display:flex;flex-wrap:wrap;gap:7px 16px;color:#82918d;font-size:8px;font-weight:700}.public-account-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:11px}.public-account-actions button{padding:7px 10px;border:1px solid #cbdcd7;border-radius:9px;background:#fff;color:#315f58;font-size:9px;font-weight:800;cursor:pointer}.public-account-actions button:hover{border-color:#3a9d8a}.public-account-actions button.danger{border-color:#f0c8c8;color:#b73b3b}.public-account-empty{padding:28px;border:1px dashed #c7dad5;border-radius:15px;background:#f8fbfa;color:#6c817b;text-align:center;font-size:11px;line-height:1.6}@media(max-width:650px){.public-register-dialog form,.public-theory-accounts-dialog{padding:18px}.public-register-grid{grid-template-columns:1fr}.public-register-grid label{grid-column:1!important}.public-account-metrics,.public-account-progress{grid-template-columns:1fr 1fr}.public-account-main{grid-template-columns:auto 1fr}.public-account-main em{grid-column:2;justify-self:start}.public-account-meta{display:grid;gap:4px}.public-account-actions{flex-wrap:wrap}.public-account-actions button{flex:1}}.login-page{--vip-navy:#07182f;--vip-navy-2:#0c2745;--vip-navy-3:#102f50;--vip-gold:#c8a96b;--vip-gold-light:#ead7a4;--vip-ivory:#fffaf0;--vip-silver:#b9c7d6;--vip-muted:#8fa1b5;--vip-line:#d8bf8666;min-height:100svh;padding:clamp(10px,1.5vw,22px);background:radial-gradient(circle at 10% 8%,#1b4e7b66 0,transparent 31%),radial-gradient(circle at 92% 88%,#c8a96b24 0,transparent 28%),linear-gradient(145deg,#030b18,#07182f 46%,#0b2541);color:var(--vip-ivory);font-family:Be Vietnam Pro,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-shell{width:min(1540px,100%);min-height:min(920px,calc(100svh - clamp(20px,3vw,44px)));border:1px solid #d8bf8652;border-radius:clamp(24px,2vw,34px);background:var(--vip-navy);box-shadow:0 36px 110px #0009,0 1px #f7e7bb38 inset}.login-shell:after{content:"";position:absolute;inset:0;display:block;z-index:0;border-radius:inherit;background:linear-gradient(110deg,transparent 0 48%,#d8bf860b 48.2% 48.35%,transparent 48.55%),repeating-linear-gradient(90deg,#ffffff03 0 1px,transparent 1px 84px);pointer-events:none}.login-layout{z-index:1;grid-template-columns:minmax(0,1.18fr) minmax(440px,.82fr);min-height:min(920px,calc(100svh - clamp(20px,3vw,44px)))}.login-intro{padding:clamp(38px,4vw,64px) clamp(38px,5vw,78px);background:#061427;color:#fff}.login-intro:before{z-index:-1;background:linear-gradient(90deg,#051224f5,#061529e6 42%,#07182f8f 66%,#07182f35),linear-gradient(180deg,#07182f30 0%,transparent 42%,#030b18c7 100%)}.intro-hero-visual{z-index:-2;background:#061427}.intro-hero-visual img{object-position:62% center;filter:saturate(.9) contrast(1.05) brightness(.88);transform:scale(1.015)}.intro-brand{position:relative;z-index:1}.intro-mark{width:62px;height:62px;border:1px solid #d8bf867a;border-radius:19px;background:#ffffff0e;box-shadow:0 14px 36px #0006,0 0 0 5px #d8bf860a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.intro-brand strong{color:#fff;font-size:clamp(22px,1.9vw,30px);font-weight:900;letter-spacing:.055em;text-shadow:0 5px 24px #0007}.intro-brand small{color:var(--vip-gold-light);font-size:10px;letter-spacing:.15em}.intro-vip-badge{display:inline-flex;align-items:center;gap:9px;margin-top:clamp(32px,5vh,52px);padding:7px 11px;border:1px solid #d8bf865c;border-radius:999px;background:#07182fa8;color:var(--vip-gold-light);font-size:8px;font-weight:900;letter-spacing:.18em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.intro-vip-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vip-gold);box-shadow:0 0 12px #ead7a4}.login-intro h2{max-width:780px;margin:18px 0 0;color:#fff;font-size:clamp(40px,4vw,62px);font-weight:900;line-height:1.05;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 9px 38px #0008}.login-intro h2 span{color:var(--vip-gold-light);background:linear-gradient(110deg,#fff3cc,#c8a96b 58%,#f4e2b7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-intro>p:not(.intro-kicker){max-width:610px;margin:18px 0 24px;color:#d6e0eb;font-size:clamp(13px,1.1vw,17px);line-height:1.65;text-shadow:0 4px 18px #0008}.intro-study-cta{min-width:min(430px,100%);min-height:62px;border:1px solid #f0dda2;border-radius:15px;background:linear-gradient(105deg,#b8924f,#ead7a4 52%,#c8a96b);box-shadow:0 16px 34px #0005,0 0 28px #c8a96b1c,0 1px #fff9 inset;color:#07182f}.intro-study-cta:hover{box-shadow:0 20px 44px #0007,0 0 34px #c8a96b2b,0 1px #fff inset;filter:brightness(1.04)}.intro-study-cta:focus-visible{box-shadow:0 0 0 4px #ead7a43d,0 20px 44px #0007}.intro-study-cta small{color:#3f3422}.intro-features{gap:9px;margin-top:17px}.intro-features span{padding:9px 12px;border:1px solid #d8bf8640;border-radius:12px;background:#06182dc4;box-shadow:0 10px 30px #0003;color:#ecf3fa;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.login-card{width:min(500px,calc(100% - 62px));margin:30px 0;padding:clamp(30px,3vw,46px);border:1px solid #d8bf866b;border-radius:28px;background:linear-gradient(145deg,#102d4bed,#071a30f2),#07182f;box-shadow:0 32px 82px #0009,0 1px #ffffff20 inset,0 0 0 1px #07182f inset;color:#f8fbff;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:vipCardIn .48s cubic-bezier(.22,.8,.3,1) both}.login-card:before{height:2px;background:linear-gradient(90deg,transparent,var(--vip-gold-light),var(--vip-gold),transparent)}.login-card:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(circle at 88% 2%,#d8bf8617 0,transparent 29%);pointer-events:none}.login-lock{width:72px;height:72px;border:1px solid #d8bf8680;background:linear-gradient(145deg,#193d5d,#081a30);box-shadow:0 0 0 8px #d8bf860a,0 15px 35px #0007,0 1px #fff2 inset}.login-heading .eyebrow{color:var(--vip-gold-light);letter-spacing:.18em}.login-card h1{color:#fff;font-size:clamp(30px,2.6vw,39px);text-shadow:0 4px 22px #0007}.login-heading .muted{color:#aebdcb}.login-card .login-label{color:#e7edf4;font-weight:750}.input-shell{min-height:56px;border:1px solid #9db0c473;border-radius:13px;background:#020b151f;box-shadow:0 8px 24px #0002,0 1px #fff0 inset}.input-shell:hover{border-color:#d8bf868a}.input-shell:focus-within{border-color:var(--vip-gold-light);box-shadow:0 0 0 4px #d8bf8618,0 12px 30px #0004}.input-shell>svg{stroke:var(--vip-gold-light)}.input-shell input{color:#fff}.input-shell input::placeholder{color:#8194a8}.password-toggle{color:#aebdcb}.password-toggle:hover{background:#d8bf8615;color:var(--vip-gold-light)}.login-options .remember-option{color:#aebdcb}.remember-option span{border-color:#8094aa;background:#06162a}.remember-option input:checked+span{border-color:var(--vip-gold);background:var(--vip-gold);color:#07182f}.remember-option input:focus-visible+span{box-shadow:0 0 0 4px #d8bf8626}.login-options a{color:var(--vip-gold-light)}.login-submit{min-height:58px;border-color:#e7ce8d!important;background:linear-gradient(105deg,#b38b47,#ead7a4 52%,#c6a364)!important;box-shadow:0 16px 31px #0006,0 1px #fff8 inset;color:#07182f!important;font-weight:950;letter-spacing:.045em}.login-submit:hover{background:linear-gradient(105deg,#c29a52,#f0dfb0 52%,#d0af70)!important;box-shadow:0 20px 40px #0008,0 0 25px #d8bf861f}.login-submit:focus-visible{outline:3px solid #d8bf8638}.login-divider{color:#7f91a4}.login-divider:before,.login-divider:after{background:#90a2b52f}.public-register-cta{min-height:58px;border:1px solid #d8bf868c;border-radius:14px;background:linear-gradient(105deg,#ffffff08,#d8bf8609);color:#f4e5bd;box-shadow:0 10px 26px #0002,0 1px #fff0 inset;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.public-register-cta:hover{border-color:var(--vip-gold-light);background:#d8bf8613;box-shadow:0 13px 34px #0004,0 0 24px #d8bf8615}.public-register-cta>span{background:linear-gradient(145deg,#c7a25e,#8b682f);color:#07182f;box-shadow:0 5px 16px #0004}.public-register-cta small{color:#9faebe}.zalo-contact{border:1px solid #7890a678;background:#ffffff08;color:#dce6ef;box-shadow:0 8px 22px #0002}.zalo-contact:hover{border-color:#8fb3d4;background:#ffffff0d}.zalo-contact strong{background:linear-gradient(145deg,#2a79c7,#15589a)}.login-register{color:#8294a7}.login-security{color:#71859a}.login-security svg{stroke:var(--vip-gold)}.mobile-brand strong{color:#fff}.mobile-brand span{color:var(--vip-gold-light)}#login .contact-footer{border-color:#d8bf8638;background:linear-gradient(145deg,#07182fd6,#0b213bd6);box-shadow:0 20px 55px #0005}#login .contact-footer__brand strong{color:#f3dfad}#login .contact-footer__brand span,#login .contact-footer__copyright{color:#8fa1b5}.public-register-dialog{--vip-gold:#c8a96b;--vip-gold-light:#ead7a4;border:1px solid #d8bf866b;background:linear-gradient(145deg,#102d4b,#07182f);box-shadow:0 35px 100px #000b,0 1px #fff2 inset;color:#fff}.public-register-dialog::backdrop{background:#010713c7;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.public-register-dialog .dialog-head h2{color:#fff}.public-register-dialog .dialog-kicker{color:var(--vip-gold-light)}.public-register-dialog .dialog-head .close{border-color:#d8bf865d;background:#ffffff08;color:#fff}.public-register-dialog .dialog-head .close:hover{background:#d8bf8618;color:var(--vip-gold-light)}.public-register-note{border-color:#d8bf8650;background:#d8bf860e}.public-register-note strong{color:#f3dfad}.public-register-note small{color:#aebdcb}.public-register-grid label{color:#e7edf4}.public-register-grid input{border-color:#8297ac73;background:#020b153d;color:#fff}.public-register-grid input::placeholder{color:#74889d}.public-register-grid input:focus{border-color:var(--vip-gold-light);box-shadow:0 0 0 4px #d8bf8618}.public-register-grid label>small,.public-register-remember{color:#9eafbf}.public-register-dialog .actions .close{border-color:#8094a96e;background:#ffffff09;color:#dfe7ef}.public-register-dialog .actions .primary{border-color:#e7ce8d;background:linear-gradient(105deg,#b38b47,#ead7a4 52%,#c6a364);color:#07182f;box-shadow:0 13px 28px #0005}@keyframes vipCardIn{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1180px){.login-intro h2{font-size:42px}.login-card{width:min(470px,calc(100% - 38px));padding-inline:34px}}@media(max-width:960px){.login-page{padding:0;background:radial-gradient(circle at 15% 5%,#245c8b59 0,transparent 35%),radial-gradient(circle at 92% 94%,#c8a96b24 0,transparent 32%),linear-gradient(155deg,#030a16,#07182f 48%,#0c2846)}.login-shell{background:transparent}.login-layout{padding:30px 16px 42px}.login-card{width:min(560px,100%);border-color:#d8bf8654;background:linear-gradient(145deg,#102d4bf5,#06162bf7);box-shadow:0 28px 75px #0008,0 1px #fff2 inset}.mobile-brand{display:grid}}@media(max-width:520px){.login-layout{padding:18px 10px 30px}.login-card{padding:26px 19px 22px;border-radius:24px}.login-lock{width:62px;height:62px}.login-card h1{font-size:28px}.login-heading .muted{color:#9cadbd}.public-register-cta{padding-inline:11px}.public-register-cta>span{width:38px;height:38px}.public-register-cta strong{font-size:11px}.public-register-cta small{font-size:8px}.public-register-dialog{max-height:calc(100svh - 14px)}}@media(prefers-reduced-motion:reduce){.login-card{animation:none}.intro-hero-visual img{transform:none}}.login-card{isolation:isolate}.login-card:after{z-index:0}.login-card>*{position:relative;z-index:1}@media(max-width:1100px){html,body{min-height:100%;background:#07182f!important}#login.login-page{min-height:100vh!important;min-height:100dvh!important;padding:0!important;overflow:visible!important;background:linear-gradient(155deg,#030a16,#07182f 52%,#0c2846)!important}#login .login-shell{position:static!important;display:block!important;width:100%!important;min-height:100vh!important;min-height:100dvh!important;margin:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}#login .login-intro,#login .login-bg-shape,#login .login-dots,#login .login-shell:before,#login .login-shell:after{display:none!important}.login-shell:after,.login-card:after{display:none!important}#login .login-layout{position:static!important;z-index:2!important;display:block!important;width:100%!important;min-height:0!important;margin:0!important;padding:20px 12px 36px!important;visibility:visible!important;opacity:1!important;overflow:visible!important}#login #loginForm.login-card{position:relative!important;z-index:3!important;display:block!important;width:min(100%,560px)!important;height:auto!important;min-height:680px!important;margin:0 auto!important;padding:28px 20px 24px!important;overflow:visible!important;border:1px solid #d8bf8654!important;border-radius:24px!important;background:#0b2440!important;box-shadow:0 24px 60px #0007!important;visibility:visible!important;opacity:1!important;transform:none!important;-webkit-transform:none!important;animation:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;clip:auto!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important}#login #loginForm.login-card:before,#login #loginForm.login-card:after{display:none!important}#login #loginForm.login-card>*{visibility:visible!important;opacity:1!important}.public-register-cta,.intro-features span{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}#app .toolbar{display:grid;grid-template-columns:minmax(270px,1.4fr) minmax(180px,.8fr) repeat(4,minmax(170px,1fr));gap:12px;align-items:stretch;padding:16px;border:1px solid #d7e4ef;border-radius:22px;background:#fffffff0;box-shadow:0 16px 42px #1b42661f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#app .toolbar>*{min-width:0;font-family:Inter,Segoe UI,Arial,sans-serif!important}#app .toolbar>input:not(.hidden),#app .toolbar>select:not(.hidden){min-height:76px;height:76px;padding:0 16px;border:1px solid #d8e4ef;border-radius:16px;background:#f6f9fc;color:#183858;font-size:14px;font-weight:600;box-shadow:none}#app .toolbar>input::placeholder{color:#8391a1;opacity:1}#app .toolbar>input:focus,#app .toolbar>select:focus{border-color:#79a9e4;background:#fff;box-shadow:0 0 0 4px #266fc91a}#app .toolbar>button,#app .toolbar>a{--tc:#315d87;--tb:#f8fbfe;--ti:#e8f0f8;--bd:#d8e4ef;display:flex!important;min-width:0!important;min-height:76px!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:12px 14px!important;border:1px solid var(--bd)!important;border-radius:16px!important;background:var(--tb)!important;color:var(--tc)!important;text-align:left!important;text-decoration:none!important;box-shadow:0 4px 12px #193d5d0e!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}#app .toolbar>button:hover,#app .toolbar>a:hover{transform:translateY(-2px)!important;border-color:var(--tc)!important;box-shadow:0 13px 26px #193d5d24!important}#app .toolbar>button:active,#app .toolbar>a:active{transform:translateY(0)!important}#addStudentBtn:before,#usersBtn:before,#publicTheoryAccountsBtn:before,#app .toolbar>a>span:first-child,#app .toolbar .data-action>span:first-child,#app .toolbar .attendance-toolbar-btn>span:first-child,#app .toolbar .report-toolbar-btn>span:first-child,#app .toolbar .refresh-admin-btn>span:first-child,#app .toolbar .operations-btn>span:first-child{display:grid!important;width:42px!important;height:42px!important;min-width:42px!important;flex:0 0 42px!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background-color:var(--ti)!important;background-repeat:no-repeat!important;background-position:center!important;background-size:22px 22px!important;color:transparent!important;font-size:0!important;line-height:1!important;box-shadow:inset 0 0 0 1px #ffffff6b!important;content:""}#app .toolbar strong{display:block!important;margin:0!important;color:inherit!important;font-size:11px!important;font-weight:850!important;line-height:1.25!important;letter-spacing:.015em!important;text-transform:uppercase!important;overflow-wrap:anywhere}#app .toolbar small{display:block!important;margin-top:3px!important;color:#71849a!important;font-size:9px!important;font-weight:650!important;line-height:1.25!important;overflow-wrap:anywhere}#addStudentBtn,#usersBtn,#publicTheoryAccountsBtn{font-size:0!important}#addStudentBtn:after,#usersBtn:after,#publicTheoryAccountsBtn:after{display:block;min-width:0;color:inherit;font-size:11px;font-weight:850;line-height:1.25;letter-spacing:.015em;text-transform:uppercase;overflow-wrap:anywhere}#addStudentBtn:after{content:"THÊM HỌC VIÊN"}#usersBtn:after{content:"TÀI KHOẢN QUẢN LÝ"}#publicTheoryAccountsBtn:after{content:"NGƯỜI HỌC BÊN NGOÀI"}#addStudentBtn{--tc:#fff;--tb:linear-gradient(135deg,#1762d6,#1f55c2);--ti:rgba(255,255,255,.16);--bd:#2d69d5;box-shadow:0 10px 22px #175cd33d!important}.schedule-link{--tc:#6848ba;--tb:#f6f1ff;--ti:#e8ddff;--bd:#d8c8fa}.question-bank-link{--tc:#087a5d;--tb:#effbf7;--ti:#d9f3e9;--bd:#c8eadc}.refresh-public-link{--tc:#8a5a16;--tb:#fff9ee;--ti:#f9e8c8;--bd:#edd6a8}.data-import{--tc:#087c5c;--tb:#f0fbf7;--ti:#d8f3e8;--bd:#c7e9dc}.data-export{--tc:#1766bd;--tb:#f0f7ff;--ti:#dcecff;--bd:#c6dcf7}#usersBtn{--tc:#35516d;--tb:#f5f8fb;--ti:#e3ebf2;--bd:#d6e0e9}#publicTheoryAccountsBtn{--tc:#08748a;--tb:#effbfe;--ti:#d8f1f6;--bd:#c4e7ee}.attendance-toolbar-btn{--tc:#176d75;--tb:#f0faf9;--ti:#dcefed;--bd:#c9e4e1}.report-toolbar-btn{--tc:#334f91;--tb:#f2f5fc;--ti:#dfe6f7;--bd:#cfd9ef}.refresh-admin-btn{--tc:#9b3f55;--tb:#fff4f6;--ti:#f8dfe5;--bd:#efcbd4}.operations-btn{--tc:#087a58;--tb:#f0faf5;--ti:#dcf3e7;--bd:#c9e8da}#addStudentBtn:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='8.5' cy='7' r='4'/%3E%3Cpath d='M19 8v6M16 11h6'/%3E%3C/svg%3E")!important}.schedule-link>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236848ba' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18M8 14h3M13 14h3M8 18h3'/%3E%3C/svg%3E")!important}.question-bank-link>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087a5d' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H11v16H6.5A2.5 2.5 0 0 0 4 21.5ZM20 5.5A2.5 2.5 0 0 0 17.5 3H13v16h4.5a2.5 2.5 0 0 1 2.5 2.5Z'/%3E%3Cpath d='M7 7h2M7 10h2M15 7h2M15 10h2'/%3E%3C/svg%3E")!important}.refresh-public-link>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a5a16' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17 3 15v-4l2-5h14l2 5v4l-2 2Z'/%3E%3Cpath d='M5 11h14M7 17v2M17 17v2'/%3E%3Ccircle cx='7' cy='14' r='1'/%3E%3Ccircle cx='17' cy='14' r='1'/%3E%3C/svg%3E")!important}.data-import>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087c5c' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M12 18v-7M8.5 14.5 12 11l3.5 3.5'/%3E%3C/svg%3E")!important}.data-export>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231766bd' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z'/%3E%3Cpath d='M14 2v6h6M12 11v7M8.5 14.5 12 18l3.5-3.5'/%3E%3C/svg%3E")!important}#usersBtn:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2335516d' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2 21v-2a5 5 0 0 1 5-5h4a5 5 0 0 1 5 5v2M17 11a4 4 0 0 0 0-7M22 21v-2a5 5 0 0 0-3-4.58'/%3E%3C/svg%3E")!important}#publicTheoryAccountsBtn:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2308748a' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a15 15 0 0 1 0 18M12 3a15 15 0 0 0 0 18M16.5 7.5h2M17.5 6.5v2'/%3E%3C/svg%3E")!important}.attendance-toolbar-btn>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23176d75' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 3.5h6v3H9zM8 12l2.5 2.5L16 9'/%3E%3C/svg%3E")!important}.report-toolbar-btn>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334f91' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V10M10 20V4M16 20v-7M22 20H2M5 8l4-3 5 5 6-6'/%3E%3C/svg%3E")!important}.refresh-admin-btn>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b3f55' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17 3 15v-4l2-5h14l2 5v4l-2 2Z'/%3E%3Cpath d='M5 11h14M7 17v2M17 17v2M18 3v4M16 5h4'/%3E%3Ccircle cx='7' cy='14' r='1'/%3E%3Ccircle cx='17' cy='14' r='1'/%3E%3C/svg%3E")!important}.operations-btn>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23087a58' stroke-width='1.85' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8M3 3v5h5M12 7v5l3 2'/%3E%3C/svg%3E")!important}@media(max-width:1500px){#app .toolbar{grid-template-columns:minmax(250px,1.35fr) minmax(180px,.8fr) repeat(3,minmax(165px,1fr))}}@media(max-width:1180px){#app .toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}#app .toolbar>#search{grid-column:span 2}}@media(max-width:760px){#app .toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px;border-radius:18px}#app .toolbar>#search,#app .toolbar>#ownerFilter{grid-column:1/-1}#app .toolbar>input:not(.hidden),#app .toolbar>select:not(.hidden){min-height:54px;height:54px}#app .toolbar>button,#app .toolbar>a{min-height:68px!important;padding:10px 11px!important;gap:9px!important}#addStudentBtn:before,#usersBtn:before,#publicTheoryAccountsBtn:before,#app .toolbar>a>span:first-child,#app .toolbar .data-action>span:first-child,#app .toolbar .attendance-toolbar-btn>span:first-child,#app .toolbar .report-toolbar-btn>span:first-child,#app .toolbar .refresh-admin-btn>span:first-child,#app .toolbar .operations-btn>span:first-child{width:36px!important;height:36px!important;min-width:36px!important;flex-basis:36px!important;border-radius:10px!important;background-size:19px 19px!important}#app .toolbar strong,#addStudentBtn:after,#usersBtn:after,#publicTheoryAccountsBtn:after{font-size:10px!important}#app .toolbar small{font-size:8px!important}}@media(max-width:460px){#app .toolbar{grid-template-columns:1fr}#app .toolbar>#search,#app .toolbar>#ownerFilter{grid-column:auto}}:root{--admin-ai-navy:#071a33;--admin-ai-blue:#135fa8;--admin-ai-gold:#e8bd69;--admin-ai-line:#dce5ee;--admin-ai-text:#172b43;--admin-ai-muted:#6d7c8f}.admin-assistant-launcher{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;min-height:60px;align-items:center;gap:11px;padding:8px 18px 8px 8px;border:1px solid #f2d99f;border-radius:999px;background:linear-gradient(135deg,#12375f,#071a33);color:#fff;box-shadow:0 18px 48px #03152f55;cursor:pointer}.admin-assistant-launcher[hidden]{display:none}.admin-assistant-launcher__mark{display:grid;width:44px;height:44px;place-items:center;overflow:hidden;border:2px solid #fff;border-radius:50%;background:#fff}.admin-assistant-launcher__mark img,.admin-assistant-avatar img,.admin-assistant-mini img{width:100%;height:100%;object-fit:cover}.admin-assistant-launcher__copy{display:grid;gap:2px;text-align:left}.admin-assistant-launcher__copy strong{font-size:14px}.admin-assistant-launcher__copy small{color:#e9d29c;font-size:9px}.admin-assistant-launcher>i{position:absolute;top:7px;left:43px;width:10px;height:10px;border:2px solid var(--admin-ai-navy);border-radius:50%;background:#39d589}.admin-assistant-panel{position:fixed;right:22px;bottom:96px;z-index:1201;display:flex;width:min(430px,calc(100vw - 28px));height:min(700px,calc(100dvh - 120px));flex-direction:column;overflow:hidden;border:1px solid #dfc17f;border-radius:24px;background:#fff;color:var(--admin-ai-text);box-shadow:0 28px 90px #03142b66;opacity:0;visibility:hidden;transform:translateY(14px) scale(.97);transform-origin:bottom right;transition:.2s}.admin-assistant-panel[hidden]{display:none}.admin-assistant-panel.is-open{opacity:1;visibility:visible;transform:none}.admin-assistant-header{display:flex!important;min-height:auto!important;flex-direction:row!important;align-items:center!important;gap:10px!important;padding:14px!important;border:0!important;background:linear-gradient(135deg,#103962,#06172f)!important;color:#fff}.admin-assistant-avatar{display:grid;width:43px;height:43px;flex:0 0 auto;place-items:center;overflow:hidden;border:2px solid #fff;border-radius:50%;background:#fff}.admin-assistant-header>div{min-width:0;flex:1}.admin-assistant-header strong{display:block;font-size:16px}.admin-assistant-header small{display:flex;align-items:center;gap:6px;margin-top:3px;color:#ccdae8;font-size:10px}.admin-assistant-header small i{width:7px;height:7px;border-radius:50%;background:#3bd38b}.admin-assistant-header button{display:grid;width:36px;height:36px;min-height:36px;padding:0;place-items:center;border:0;border-radius:10px;background:#ffffff14;color:#fff;font-size:19px}.admin-assistant-header button:active{background:#ffffff26}.admin-assistant-privacy{display:flex;align-items:center;gap:8px;padding:8px 13px;border-bottom:1px solid #e6ebf0;background:#f6f8fa;color:#68788a;font-size:9px}.admin-assistant-privacy span{padding:3px 6px;border-radius:6px;background:#e7c783;color:#594014;font-size:8px;font-weight:900;letter-spacing:.08em}.admin-assistant-messages{flex:1;overflow-y:auto;padding:15px 13px 10px;background:linear-gradient(180deg,#f7f9fc,#fff 32%);scroll-behavior:smooth}.admin-assistant-message{display:flex;align-items:flex-start;gap:7px;margin-bottom:12px}.admin-assistant-message.user{justify-content:flex-end}.admin-assistant-mini{display:grid;width:27px;height:27px;flex:0 0 auto;overflow:hidden;border:1px solid #c8d9eb;border-radius:50%;background:#fff}.admin-assistant-bubble{max-width:88%;padding:10px 12px;border:1px solid #dde5ed;border-radius:15px 15px 15px 5px;background:#fff;box-shadow:0 3px 12px #102b4c0d}.admin-assistant-message.user .admin-assistant-bubble{border:0;border-radius:15px 15px 5px;background:#0d2e52;color:#fff}.admin-assistant-bubble>p{margin:0;font-size:12px;line-height:1.5;white-space:pre-line}.admin-assistant-loading{display:flex;gap:4px;padding:5px}.admin-assistant-loading i{width:6px;height:6px;border-radius:50%;background:#8090a3;animation:admin-ai-loading 1s infinite}.admin-assistant-loading i:nth-child(2){animation-delay:.15s}.admin-assistant-loading i:nth-child(3){animation-delay:.3s}@keyframes admin-ai-loading{50%{transform:translateY(-4px);opacity:.45}}.admin-assistant-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.admin-assistant-metrics span{display:grid;gap:2px;padding:8px;border:1px solid #e0e7ee;border-radius:10px;background:#f7f9fb}.admin-assistant-metrics b{color:#0b477f;font-size:15px}.admin-assistant-metrics small{color:#758396;font-size:8px}.admin-assistant-results{display:grid;gap:7px;margin-top:10px}.admin-assistant-result{display:grid;gap:8px;padding:9px;border:1px solid #dde5ed;border-radius:11px;background:#fbfcfd}.admin-assistant-result>div:first-child{min-width:0}.admin-assistant-result strong{display:block;font-size:11px}.admin-assistant-result small{display:block;margin-top:2px;color:#6f7e90;font-size:8px}.admin-assistant-result p{margin:5px 0 0;color:#314b67;font-size:9px;line-height:1.4}.admin-assistant-result>div:last-child{display:flex;flex-wrap:wrap;gap:4px}.admin-assistant-result button,.admin-assistant-global-action{min-height:38px;padding:0 9px;border:1px solid #cbd9e7;border-radius:8px;background:#fff;color:#174f82;font-size:8px;font-weight:800}.admin-assistant-result button:active,.admin-assistant-global-action:active{background:#eaf3fb}.admin-assistant-more{display:block;margin-top:8px;color:#7a8796;font-size:8px}.admin-assistant-global-action{margin-top:10px}.admin-assistant-suggestions{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;border-top:1px solid #edf1f4;background:#fff;scrollbar-width:none}.admin-assistant-suggestions::-webkit-scrollbar{display:none}.admin-assistant-suggestions button{flex:0 0 auto;min-height:34px;padding:0 10px;border:1px solid #d3dee8;border-radius:999px;background:#fff;color:#23496e;font-size:9px;font-weight:750}.admin-assistant-form{display:flex;align-items:flex-end;gap:8px;padding:10px 11px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--admin-ai-line);background:#fff}.admin-assistant-form textarea{min-height:44px;max-height:104px;flex:1;resize:none;padding:11px 12px;border:1px solid #ced9e4;border-radius:13px;background:#f7f9fb;color:#19324e;font:500 12px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.admin-assistant-form button{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:0;border-radius:13px;background:linear-gradient(145deg,#eccb83,#c9973e);color:#092544}.admin-assistant-form button:disabled{opacity:.55}.admin-assistant-form svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:720px){.admin-assistant-launcher{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));width:52px;height:52px;min-height:52px;padding:5px}.admin-assistant-launcher__mark{width:40px;height:40px}.admin-assistant-launcher__copy{display:none}.admin-assistant-launcher>i{top:2px;right:2px;left:auto}.admin-assistant-panel{right:8px;bottom:calc(78px + env(safe-area-inset-bottom));left:8px;width:auto;height:min(74dvh,650px);max-height:calc(100dvh - 102px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:22px}.admin-assistant-bubble{max-width:92%}.admin-assistant-header{padding:12px!important}.admin-assistant-result button{min-height:44px;padding-inline:11px}.admin-assistant-suggestions button{min-height:44px}}@media(prefers-reduced-motion:reduce){.admin-assistant-panel{transition:none}.admin-assistant-loading i{animation:none}}.refresh-admin-actions .refresh-admin-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.refresh-admin-actions button{min-height:40px}.refresh-admin-actions [data-refresh-edit]{border:1px solid #b8d2ef;background:#edf6ff;color:#145d9f}.refresh-admin-actions [data-refresh-delete]{border:1px solid #efc3bd;background:#fff1ef;color:#b13e31}.refresh-admin-actions [data-refresh-save]{grid-column:1/-1}.refresh-registration-edit-dialog{width:min(780px,calc(100% - 24px));max-height:92vh;padding:0;border:0;border-radius:22px;box-shadow:0 30px 90px #07182f52}.refresh-registration-edit-dialog::backdrop{background:#07182f99}.refresh-registration-edit-dialog form{padding:22px}.refresh-registration-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.refresh-registration-edit-grid label{display:grid;gap:6px;color:#29445d;font-size:11px;font-weight:800}.refresh-registration-edit-grid input,.refresh-registration-edit-grid select,.refresh-registration-edit-grid textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid #cbd8e1;border-radius:10px;background:#fff;color:#183149;font:inherit}.refresh-registration-edit-grid textarea{min-height:84px;resize:vertical}.refresh-registration-edit-grid .wide{grid-column:1/-1}.refresh-registration-edit-dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.refresh-registration-edit-dialog .actions button{min-height:43px;padding:10px 15px;border-radius:10px;font-weight:850}.refresh-registration-edit-dialog .actions .primary{border:0;background:#176bd8;color:#fff}.refresh-registration-edit-error{min-height:19px;margin:10px 0 0;color:#c54537;font-size:11px;font-weight:700}@media(max-width:720px){.refresh-admin-actions .refresh-admin-buttons{grid-template-columns:1fr}.refresh-admin-actions [data-refresh-save]{grid-column:auto}.refresh-registration-edit-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px);border-radius:18px}.refresh-registration-edit-dialog form{padding:16px}.refresh-registration-edit-grid{grid-template-columns:1fr}.refresh-registration-edit-grid .wide{grid-column:auto}.refresh-registration-edit-grid input,.refresh-registration-edit-grid select,.refresh-registration-edit-grid textarea{min-height:48px;font-size:16px}.refresh-registration-edit-dialog .actions{position:sticky;bottom:-16px;margin:14px -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e4ebf3}.refresh-registration-edit-dialog .actions button{flex:1}}
