:root{--primary-rgb:37,99,235;--primary-soft:#dbeafe;--primary-dark:#1d4ed8;--primary-contrast:#fff}
body[data-theme="yellow"]{--sidebar:#3b2d05;--sidebar-2:#6b4d00;--primary:#d89b00;--primary-rgb:216,155,0;--primary-soft:#fff3c4;--primary-dark:#8a6200}
body[data-theme="red"]{--sidebar:#3b0b12;--sidebar-2:#6b1420;--primary:#dc3545;--primary-rgb:220,53,69;--primary-soft:#ffe0e3;--primary-dark:#a61e2c}
body[data-theme="green"]{--sidebar:#092f21;--sidebar-2:#105c3d;--primary:#198754;--primary-rgb:25,135,84;--primary-soft:#d9f5e7;--primary-dark:#11663e}
body[data-theme="pink"]{--sidebar:#3d0c2b;--sidebar-2:#70164f;--primary:#d63384;--primary-rgb:214,51,132;--primary-soft:#fbe0ee;--primary-dark:#a51f62}
body[data-theme="purple"]{--sidebar:#271044;--sidebar-2:#55228f;--primary:#7c3aed;--primary-rgb:124,58,237;--primary-soft:#f1eafe;--primary-dark:#5b21b6}
body[data-theme="orange"]{--sidebar:#431607;--sidebar-2:#8a2d0a;--primary:#ea580c;--primary-rgb:234,88,12;--primary-soft:#ffedd5;--primary-dark:#9a3412}
body[data-theme="teal"]{--sidebar:#073b38;--sidebar-2:#0b625d;--primary:#0d9488;--primary-rgb:13,148,136;--primary-soft:#ccfbf1;--primary-dark:#0f766e}
body[data-theme="indigo"]{--sidebar:#1e1b4b;--sidebar-2:#3730a3;--primary:#4f46e5;--primary-rgb:79,70,229;--primary-soft:#e0e7ff;--primary-dark:#3730a3}
body[data-theme="slate"]{--sidebar:#172033;--sidebar-2:#334155;--primary:#475569;--primary-rgb:71,85,105;--primary-soft:#e2e8f0;--primary-dark:#334155}
body[data-theme="navy"]{--sidebar:#071b36;--sidebar-2:#163b72;--primary:#245b9e;--primary-rgb:36,91,158;--primary-soft:#e6f0fb;--primary-dark:#163b72}
body[data-theme="rose"]{--sidebar:#3f0a19;--sidebar-2:#881337;--primary:#e11d48;--primary-rgb:225,29,72;--primary-soft:#ffe4e6;--primary-dark:#9f1239}
body[data-theme="lime"]{--sidebar:#263507;--sidebar-2:#4d7c0f;--primary:#65a30d;--primary-rgb:101,163,13;--primary-soft:#ecfccb;--primary-dark:#4d7c0f}
body[data-theme="cyan"]{--sidebar:#083344;--sidebar-2:#155e75;--primary:#0891b2;--primary-rgb:8,145,178;--primary-soft:#cffafe;--primary-dark:#0e7490}
body[data-theme="brown"]{--sidebar:#361806;--sidebar-2:#78350f;--primary:#92400e;--primary-rgb:146,64,14;--primary-soft:#fef3c7;--primary-dark:#78350f}
body[data-theme="azure"]{--sidebar:#06283d;--sidebar-2:#075985;--primary:#0077b6;--primary-rgb:0,119,182;--primary-soft:#e0f2fe;--primary-dark:#075985}
body[data-theme="sky"]{--sidebar:#082f49;--sidebar-2:#0369a1;--primary:#0284c7;--primary-rgb:2,132,199;--primary-soft:#e0f2fe;--primary-dark:#0369a1}
body[data-theme="mint"]{--sidebar:#123b37;--sidebar-2:#1f6f65;--primary:#2a9d8f;--primary-rgb:42,157,143;--primary-soft:#dff7f3;--primary-dark:#1f766b}
body[data-theme="emerald"]{--sidebar:#052e24;--sidebar-2:#065f46;--primary:#059669;--primary-rgb:5,150,105;--primary-soft:#d1fae5;--primary-dark:#047857}
body[data-theme="olive"]{--sidebar:#29320f;--sidebar-2:#536326;--primary:#708238;--primary-rgb:112,130,56;--primary-soft:#eef2d5;--primary-dark:#536326}
body[data-theme="amber"]{--sidebar:#3b2105;--sidebar-2:#92400e;--primary:#d97706;--primary-rgb:217,119,6;--primary-soft:#fef3c7;--primary-dark:#b45309}
body[data-theme="coral"]{--sidebar:#442019;--sidebar-2:#9d3e2d;--primary:#e76f51;--primary-rgb:231,111,81;--primary-soft:#fde8e2;--primary-dark:#c45138}
body[data-theme="fuchsia"]{--sidebar:#3b0a3f;--sidebar-2:#86198f;--primary:#c026d3;--primary-rgb:192,38,211;--primary-soft:#fae8ff;--primary-dark:#a21caf}
body[data-theme="violet"]{--sidebar:#2e1065;--sidebar-2:#5b21b6;--primary:#8b5cf6;--primary-rgb:139,92,246;--primary-soft:#ede9fe;--primary-dark:#6d28d9}
body[data-theme="graphite"]{--sidebar:#111827;--sidebar-2:#293241;--primary:#374151;--primary-rgb:55,65,81;--primary-soft:#e5e7eb;--primary-dark:#1f2937}
body[data-theme="white"]{--sidebar:#fff;--sidebar-2:#fff;--primary:#1769ff;--primary-rgb:23,105,255;--primary-soft:#eaf2ff;--primary-dark:#0f4fd6;--bg:#f6f8fc}
body[data-theme="gradient-ocean"]{--sidebar:#1d4ed8;--sidebar-2:#0891b2;--primary:#2563eb;--primary-rgb:37,99,235;--primary-soft:#dbeafe;--primary-dark:#1d4ed8;--theme-gradient:linear-gradient(145deg,#2563eb,#06b6d4)}
body[data-theme="gradient-aurora"]{--sidebar:#047857;--sidebar-2:#0891b2;--primary:#059669;--primary-rgb:5,150,105;--primary-soft:#d1fae5;--primary-dark:#047857;--theme-gradient:linear-gradient(145deg,#059669,#22c55e,#06b6d4)}
body[data-theme="gradient-sunset"]{--sidebar:#ea580c;--sidebar-2:#db2777;--primary:#f97316;--primary-rgb:249,115,22;--primary-soft:#ffedd5;--primary-dark:#c2410c;--theme-gradient:linear-gradient(145deg,#f97316,#ec4899)}
body[data-theme="gradient-galaxy"]{--sidebar:#312e81;--sidebar-2:#be185d;--primary:#7c3aed;--primary-rgb:124,58,237;--primary-soft:#ede9fe;--primary-dark:#5b21b6;--theme-gradient:linear-gradient(145deg,#312e81,#7c3aed,#db2777)}
body[data-theme="gradient-berry"]{--sidebar:#9d174d;--sidebar-2:#6d28d9;--primary:#be185d;--primary-rgb:190,24,93;--primary-soft:#fce7f3;--primary-dark:#831843;--theme-gradient:linear-gradient(145deg,#be185d,#7c3aed)}
body[data-theme="gradient-forest"]{--sidebar:#14532d;--sidebar-2:#0f766e;--primary:#16805d;--primary-rgb:22,128,93;--primary-soft:#d1fae5;--primary-dark:#14532d;--theme-gradient:linear-gradient(145deg,#14532d,#0d9488)}
body[data-theme="gradient-candy"]{--sidebar:#db2777;--sidebar-2:#2563eb;--primary:#8b5cf6;--primary-rgb:139,92,246;--primary-soft:#f3e8ff;--primary-dark:#6d28d9;--theme-gradient:linear-gradient(145deg,#ec4899,#8b5cf6,#3b82f6)}
body[data-theme="gradient-fire"]{--sidebar:#b91c1c;--sidebar-2:#ea580c;--primary:#ea580c;--primary-rgb:234,88,12;--primary-soft:#ffedd5;--primary-dark:#b91c1c;--theme-gradient:linear-gradient(145deg,#dc2626,#f97316,#facc15)}
body[data-theme="pastel-blue"]{--sidebar:#dbeafe;--sidebar-2:#bfdbfe;--primary:#3b82f6;--primary-rgb:59,130,246;--primary-soft:#eff6ff;--primary-dark:#1d4ed8;--bg:#f7faff}
body[data-theme="pastel-sky"]{--sidebar:#e0f2fe;--sidebar-2:#bae6fd;--primary:#0ea5e9;--primary-rgb:14,165,233;--primary-soft:#f0f9ff;--primary-dark:#0369a1;--bg:#f7fcff}
body[data-theme="pastel-mint"]{--sidebar:#d1fae5;--sidebar-2:#a7f3d0;--primary:#10b981;--primary-rgb:16,185,129;--primary-soft:#ecfdf5;--primary-dark:#047857;--bg:#f7fdfa}
body[data-theme="pastel-green"]{--sidebar:#dcfce7;--sidebar-2:#bbf7d0;--primary:#22c55e;--primary-rgb:34,197,94;--primary-soft:#f0fdf4;--primary-dark:#15803d;--bg:#f8fdf9}
body[data-theme="pastel-lavender"]{--sidebar:#ede9fe;--sidebar-2:#ddd6fe;--primary:#8b5cf6;--primary-rgb:139,92,246;--primary-soft:#f5f3ff;--primary-dark:#6d28d9;--bg:#faf9ff}
body[data-theme="pastel-purple"]{--sidebar:#f3e8ff;--sidebar-2:#e9d5ff;--primary:#a855f7;--primary-rgb:168,85,247;--primary-soft:#faf5ff;--primary-dark:#7e22ce;--bg:#fcf9ff}
body[data-theme="pastel-pink"]{--sidebar:#fce7f3;--sidebar-2:#fbcfe8;--primary:#ec4899;--primary-rgb:236,72,153;--primary-soft:#fdf2f8;--primary-dark:#be185d;--bg:#fff9fc}
body[data-theme="pastel-peach"]{--sidebar:#ffedd5;--sidebar-2:#fed7aa;--primary:#f97316;--primary-rgb:249,115,22;--primary-soft:#fff7ed;--primary-dark:#c2410c;--bg:#fffbf7}
body[data-theme="pastel-yellow"]{--sidebar:#fef9c3;--sidebar-2:#fef3c7;--primary:#d69e00;--primary-rgb:214,158,0;--primary-soft:#fffbeb;--primary-dark:#92400e;--bg:#fffdf7}
body[data-theme="yellow"],body[data-theme="pastel-yellow"]{--primary-contrast:#172033}
body[data-theme="pastel-gray"]{--sidebar:#f1f5f9;--sidebar-2:#e2e8f0;--primary:#64748b;--primary-rgb:100,116,139;--primary-soft:#f8fafc;--primary-dark:#334155;--bg:#f8fafc}
.btn-primary{--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary-dark);--bs-btn-hover-border-color:var(--primary-dark);--bs-btn-active-bg:var(--primary-dark);--bs-btn-active-border-color:var(--primary-dark)}
.btn-outline-primary{--bs-btn-color:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-bg:var(--primary);--bs-btn-hover-border-color:var(--primary)}
.text-primary{color:var(--primary)!important}.bg-primary{background-color:var(--primary)!important}.bg-primary-subtle{background-color:var(--primary-soft)!important}
.brand-mark,.timeline-month span{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .22rem rgba(var(--primary-rgb),.14)}
.badge-info{background:var(--primary-soft);color:var(--primary-dark)}.avatar{background:var(--primary-soft);color:var(--primary-dark)}
.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{background:rgba(var(--primary-rgb),.3);box-shadow:inset 3px 0 0 rgba(255,255,255,.85)}.sidebar-label{color:rgba(255,255,255,.55)}
.pagination{--bs-pagination-color:var(--primary);--bs-pagination-hover-color:var(--primary-dark);--bs-pagination-focus-color:var(--primary-dark);--bs-pagination-active-bg:var(--primary);--bs-pagination-active-border-color:var(--primary)}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}.form-check-input:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.15)}
.dropdown-item:active{background-color:var(--primary)}a{color:var(--primary)}a:hover{color:var(--primary-dark)}
.login-page{background:radial-gradient(circle at 15% 20%,var(--primary) 0,var(--sidebar-2) 38%,var(--sidebar) 100%)}.login-visual{background:linear-gradient(145deg,var(--sidebar),var(--primary-dark))}.login-card .brand-mark{background:linear-gradient(135deg,rgba(255,255,255,.28),var(--primary));box-shadow:0 10px 28px rgba(var(--primary-rgb),.35)}
.theme-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px}.theme-option{position:relative;display:flex;align-items:center;gap:12px;border:2px solid var(--line);border-radius:16px;padding:16px;cursor:pointer;transition:.2s;background:#fff}.theme-option:hover,.theme-option.selected{border-color:var(--primary);box-shadow:0 8px 24px rgba(var(--primary-rgb),.12)}.theme-option input{position:absolute;opacity:0}.theme-option .bi{margin-left:auto;color:var(--primary);opacity:0}.theme-option.selected .bi{opacity:1}.theme-swatch{width:34px;height:34px;border-radius:11px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.theme-option small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.card-soft .card-body>h5:first-child{font-weight:750;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.topbar{height:78px;background:linear-gradient(110deg,var(--primary),var(--primary-dark));border:0;color:#fff;box-shadow:0 5px 22px rgba(var(--primary-rgb),.22)}.topbar-title{font-size:15px;font-weight:800;letter-spacing:.01em}.topbar-path{font-size:12px;color:rgba(255,255,255,.78);margin-top:3px}.topbar .dropdown>button{color:#fff!important}.topbar .dropdown>button:hover{background:rgba(255,255,255,.12)}.topbar .dropdown>button small{color:rgba(255,255,255,.72)!important}.topbar .avatar{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.32)}.topbar-menu{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2)}
.content>.d-flex:first-child,.page-toolbar{background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:18px;padding:18px 20px;box-shadow:0 7px 25px rgba(26,44,86,.06);align-items:center!important}.page-title{font-size:24px;letter-spacing:-.02em}.page-subtitle{font-size:13px}.filter-panel{border:1px solid rgba(226,232,240,.8)}
.card-soft{border:1px solid rgba(226,232,240,.72)}.card-soft .card-body{color:#263247}.table-modern thead th:first-child,.table-modern tbody td:first-child{padding-left:20px}.table-modern thead th:last-child,.table-modern tbody td:last-child{padding-right:20px}.table-modern tbody tr{transition:background .15s}.table-modern tbody tr:hover{background:#f8fbff}.table-modern td:last-child{white-space:nowrap}.table-modern td:last-child form{margin-left:5px}.table-modern td:last-child .btn{width:36px;height:36px;padding:0;display:inline-grid;place-items:center;border-radius:10px;vertical-align:middle}.table-modern td:last-child .btn i{margin:0!important}
.form-card .card-header{padding:18px 22px;background:linear-gradient(135deg,var(--primary-soft),#fff);border-bottom:1px solid var(--line);border-radius:18px 18px 0 0}.form-card .card-header h5{color:var(--primary-dark);font-weight:800;margin:0}.form-label{font-size:13px;font-weight:700;color:#3c485c;margin-bottom:7px}.form-control,.form-select{background-color:#fff}.form-control:hover,.form-select:hover{border-color:#b8c4d2}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:20px;margin-top:22px;border-top:1px solid var(--line)}.form-actions .btn{min-width:126px;height:42px;display:inline-flex;align-items:center;justify-content:center}.btn-light{border:1px solid var(--line);background:#fff}.btn-light:hover{background:#f5f7fa;border-color:#cbd5e1}
.language-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.language-tabs .nav-link{border-radius:11px;color:var(--muted);font-weight:700;padding:9px 14px}.language-tabs .nav-link.active{background:var(--primary);color:#fff}
.metric-note{font-size:12px;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.period-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}.period-metrics>div{padding:13px 10px;text-align:center;background:#fafcff}.period-metrics>div+div{border-left:1px solid var(--line)}.period-metrics span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.period-metrics strong{font-size:23px;color:var(--primary-dark)}
.monthly-chart{height:245px;display:grid;grid-template-columns:repeat(12,1fr);gap:10px;align-items:end;padding-top:10px;border-bottom:1px solid var(--line)}.monthly-column{text-align:center;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.bar-area{height:205px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.bar{display:block;width:10px;min-height:3px;border-radius:5px 5px 2px 2px;transition:.2s}.bar:hover{opacity:.75;transform:scaleX(1.2)}.bar.leads,.legend-dot.leads{background:var(--primary)}.bar.students,.legend-dot.students{background:#22c55e}.monthly-column small{font-size:10px;color:var(--muted);padding:7px 0}.chart-legend{display:flex;justify-content:center;gap:24px;margin-top:16px;font-size:12px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.status-row{margin-bottom:14px}.status-row:last-child{margin-bottom:0}.status-row .d-flex{font-size:12px;margin-bottom:6px}.status-row strong{color:#334155}.status-track{height:7px;background:#edf1f6;border-radius:999px;overflow:hidden}.status-track span{display:block;height:100%;min-width:2px;border-radius:999px;background:var(--primary)}.status-track .success{background:#22c55e}.status-track .warning{background:#f59e0b}.status-track .danger{background:#ef4444}.status-track .gray{background:#94a3b8}.status-track .primary,.status-track .info{background:var(--primary)}
.system-section-title{display:flex;align-items:center;gap:12px;margin:26px 2px 14px}.system-section-title>span{width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);display:grid;place-items:center;font-size:18px}.system-section-title h5{font-weight:800;margin:0}.system-section-title small{color:var(--muted)}
.permission-card{overflow:hidden}.permission-all{display:flex;align-items:center;gap:8px;background:var(--primary-soft);color:var(--primary-dark);border:1px solid rgba(var(--primary-rgb),.2);border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.permission-table th:not(:first-child),.permission-table td:not(:first-child){min-width:82px}.permission-table .permission-row-all{width:19px;height:19px;border-width:2px}.permission-table tbody tr:has(.permission-row-all:checked){background:rgba(var(--primary-rgb),.045)}
.tuition-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}.tuition-summary>div{padding:12px;text-align:center;background:#fafcff}.tuition-summary>div+div{border-left:1px solid var(--line)}.tuition-summary span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.tuition-summary strong{font-size:14px}@media(max-width:575.98px){.tuition-summary{grid-template-columns:1fr 1fr}.tuition-summary>div:nth-child(3){border-left:0}.tuition-summary>div:nth-child(n+3){border-top:1px solid var(--line)}}
.required-label::after{content:" *";color:#dc3545}.search-select{position:relative}.search-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;inset:auto auto 0 0}.search-select-trigger{width:100%;min-height:42px;border:1px solid #dbe2ea;border-radius:11px;background:#fff;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:#64748b}.search-select-trigger.has-value{color:#172033}.search-select-trigger:hover,.search-select.open .search-select-trigger{border-color:var(--primary)}.search-select.open .search-select-trigger{box-shadow:0 0 0 .22rem rgba(var(--primary-rgb),.12)}.search-select.open .search-select-trigger i{transform:rotate(180deg)}.search-select-trigger i{font-size:12px;transition:.2s}.search-select-trigger.is-invalid{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.12)}.search-select-menu{display:none;position:absolute;z-index:1080;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 40px rgba(15,23,42,.16);padding:9px}.search-select.open .search-select-menu{display:block}.search-select-search{position:relative;margin-bottom:7px}.search-select-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-select-search input{width:100%;height:39px;border:1px solid #dbe2ea;border-radius:9px;padding:7px 10px 7px 35px;outline:0}.search-select-search input:focus{border-color:var(--primary);box-shadow:0 0 0 .18rem rgba(var(--primary-rgb),.1)}.search-select-options{max-height:240px;overflow-y:auto}.search-select-option{display:block;width:100%;border:0;background:#fff;border-radius:8px;padding:9px 10px;text-align:left;font-size:13px;color:#334155}.search-select-option:hover{background:var(--primary-soft);color:var(--primary-dark)}.search-select-option.selected{background:var(--primary);color:#fff;font-weight:700}.search-select-empty{display:none;padding:18px;text-align:center;color:var(--muted);font-size:13px}.search-select-empty.show{display:block}
@media(max-width:991.98px){.theme-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:575.98px){.theme-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.topbar{height:70px}.topbar-path{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content>.d-flex:first-child,.page-toolbar{padding:15px;align-items:flex-start!important}.content>.d-flex:first-child>.btn,.page-toolbar>.btn{width:100%;margin-top:12px}.page-title{font-size:21px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}

.sidebar-close{display:none;margin-left:auto;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.12);color:#fff;place-items:center}.sidebar-backdrop{display:none;position:fixed;inset:0;border:0;background:rgba(7,18,40,.52);backdrop-filter:blur(2px);z-index:1035;padding:0}.sidebar-backdrop.show{display:block}
@media(max-width:991.98px){body.sidebar-is-open{overflow:hidden}.sidebar.open{transform:translateX(0);box-shadow:18px 0 45px rgba(7,18,40,.28)}.sidebar-close{display:grid}.sidebar{z-index:1040}}
.realtime-bell{position:relative;width:42px;height:42px;min-height:42px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:#fff;border-radius:12px}.realtime-bell:hover,.realtime-bell:focus{background:rgba(255,255,255,.22);color:#fff}.realtime-badge{position:absolute;top:-5px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;line-height:20px;border:2px solid var(--primary)}.realtime-menu{width:min(340px,calc(100vw - 24px))}.realtime-menu .dropdown-item{white-space:normal}.realtime-toast{position:fixed;right:22px;bottom:22px;z-index:1090;width:min(390px,calc(100vw - 30px));margin:0;background:#fff;color:var(--primary-dark)}
.consulting-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.consulting-row-new{background:rgba(13,202,240,.05)}.consulting-row-contacted,.consulting-row-test{background:rgba(var(--primary-rgb),.05)}.consulting-row-consulting,.consulting-row-followup{background:rgba(255,193,7,.065)}.consulting-row-waiting{background:rgba(108,117,125,.05)}
.table-modern .table-serial-column {
    width: 64px;
    min-width: 64px;
    white-space: nowrap;
    vertical-align: middle;
}

.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.app-footer{width:100%;padding:12px 24px 22px;text-align:center;color:var(--muted);font-size:13px;font-weight:600;line-height:1.55}.app-footer strong{color:var(--primary-dark);font-weight:850}.branding-logo-preview{display:flex;align-items:center;gap:14px;padding:14px;border:1px dashed var(--line);border-radius:13px;background:#f8fafc}.branding-logo-preview img,.branding-logo-preview>span{width:62px;height:62px;display:grid;place-items:center;object-fit:contain;border-radius:13px;background:#fff;border:1px solid var(--line);font-size:26px;color:var(--primary)}.branding-logo-preview strong,.branding-logo-preview small{display:block}.branding-logo-preview small{margin-top:4px;color:var(--muted);font-size:11px}
.brand-mark.has-logo{padding:4px;background:#fff!important}.brand-mark.has-logo img{background:#fff}.settings-status{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;color:var(--primary-dark);background:var(--primary-soft);font-size:12px;font-weight:750}.branding-logo-box{width:112px;height:112px;display:grid;place-items:center;padding:7px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.07);color:var(--primary);font-size:38px}.branding-logo-box img{width:100%;height:100%;object-fit:contain;border-radius:11px;background:#fff}.theme-grid-expanded{grid-template-columns:repeat(3,minmax(140px,1fr))}.branding-preview-sticky{position:sticky;top:100px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(31,55,95,.1)}.preview-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid var(--line)}.preview-heading strong,.preview-heading small{display:block}.preview-heading small{margin-top:2px;color:var(--muted);font-size:11px}.preview-heading>i{color:var(--primary);font-size:22px}.software-preview{height:360px;display:grid;grid-template-columns:135px 1fr;background:#f3f6fb}.preview-sidebar{padding:14px 10px;color:#fff;background:linear-gradient(180deg,var(--primary),var(--primary-dark))}.preview-brand{display:flex;align-items:center;gap:8px;margin-bottom:24px}.preview-brand>span{width:31px;height:31px;display:grid;place-items:center;flex:none;padding:3px;border-radius:8px;color:var(--primary);background:#fff}.preview-brand img{width:100%;height:100%;object-fit:contain}.preview-brand strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.preview-nav{display:flex;align-items:center;gap:7px;margin:5px 0;padding:8px;border-radius:7px;color:rgba(255,255,255,.8);font-size:8px}.preview-nav.active{color:var(--primary-dark);background:#fff}.preview-main{min-width:0}.preview-topbar{height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:var(--primary);background:#fff}.preview-topbar span{width:70px;height:7px;border-radius:9px;background:var(--primary-soft)}.preview-content{padding:16px}.preview-title{width:45%;height:10px;margin-bottom:17px;border-radius:9px;background:#cbd5e1}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preview-stats span{height:58px;border-top:3px solid var(--primary);border-radius:7px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.07)}.preview-table{margin-top:13px;padding:10px;border-radius:8px;background:#fff}.preview-table i{display:block;height:8px;margin:8px 0;border-radius:5px;background:#e7ebf1}.preview-table i:first-child{background:var(--primary-soft)}.preview-note{display:flex;gap:9px;padding:14px 17px;color:#596579;background:#f8fafc;font-size:11px;line-height:1.45}.preview-note i{color:#eab308}.settings-actions{position:sticky;bottom:0;z-index:50;margin-right:-5px;margin-left:-5px;padding:14px 5px;background:rgba(244,247,251,.92);backdrop-filter:blur(8px)}@media(max-width:1199.98px){.branding-preview-sticky{position:static}.software-preview{height:330px}}@media(max-width:767.98px){.theme-grid-expanded{grid-template-columns:repeat(2,1fr)}.settings-status{display:none}}@media(max-width:420px){.theme-grid-expanded{grid-template-columns:1fr}}
/* Brighter navigation and stable page transitions */
.sidebar{background:linear-gradient(155deg,var(--primary),var(--primary-dark));box-shadow:8px 0 28px rgba(var(--primary-rgb),.18)}.sidebar .brand,.sidebar .brand strong,.sidebar .brand small,.sidebar .sidebar-label,.sidebar-nav .nav-link,.sidebar-nav .nav-link i{color:#fff!important}.sidebar .brand small,.sidebar .sidebar-label{opacity:.78}.sidebar-nav .nav-link{font-weight:650;text-shadow:0 1px 2px rgba(0,0,0,.16)}.sidebar-nav .nav-link:hover{color:#fff!important;background:rgba(255,255,255,.15);box-shadow:none}.sidebar-nav .nav-link.active{color:#fff!important;background:rgba(255,255,255,.24);box-shadow:inset 3px 0 0 #fff,0 7px 18px rgba(0,0,0,.12)}.sidebar-nav .nav-link.active i{color:#fff!important}.page-loading-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;visibility:hidden;opacity:0;background:rgba(245,248,252,.78);backdrop-filter:blur(4px);transition:opacity .16s,visibility .16s}.page-is-loading .page-loading-overlay{visibility:visible;opacity:1}.page-loading-card{min-width:150px;display:flex;flex-direction:column;align-items:center;gap:13px;padding:22px 26px;border:1px solid rgba(var(--primary-rgb),.13);border-radius:18px;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.16);color:var(--primary-dark);font-size:12px;font-weight:750}.page-loading-spinner{width:42px;height:42px;border:4px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;animation:page-spin .7s linear infinite}.page-is-loading{cursor:wait}.page-is-loading .app-shell{pointer-events:none}@keyframes page-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.page-loading-overlay{transition:none}.page-loading-spinner{animation-duration:1.4s}}
.loading-style-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.loading-style-option{position:relative;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:14px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:.18s}.loading-style-option:hover,.loading-style-option.selected{border-color:var(--primary);box-shadow:0 7px 20px rgba(var(--primary-rgb),.1)}.loading-style-option input{position:absolute;opacity:0}.loading-style-option strong,.loading-style-option small{display:block}.loading-style-option strong{font-size:13px}.loading-style-option small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.loading-style-option .option-check{color:var(--primary);opacity:0}.loading-style-option.selected .option-check{opacity:1}.loading-demo{width:50px;height:40px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#f4f7fb;color:var(--primary)}.center-demo i{animation:page-spin 1s linear infinite}.top-demo{position:relative;display:block}.top-demo i{position:absolute;top:0;left:0;width:45%;height:3px;background:var(--primary);animation:loading-demo-bar 1.2s ease-in-out infinite}@keyframes loading-demo-bar{from{transform:translateX(-110%)}to{transform:translateX(230%)}}body[data-loading-style=top] .page-loading-overlay{display:block;padding:0;pointer-events:none;background:transparent;backdrop-filter:none}body[data-loading-style=top] .page-loading-card{position:absolute;top:0;left:0;width:100%;min-width:0;height:4px;display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:0}body[data-loading-style=top] .page-loading-spinner{display:block;width:34%;height:4px;border:0;border-radius:0;background:linear-gradient(90deg,var(--primary),#fff,var(--primary));box-shadow:0 1px 8px rgba(var(--primary-rgb),.45);animation:page-progress 1.15s ease-in-out infinite}body[data-loading-style=top] .page-loading-card>span:last-child{display:none}@keyframes page-progress{from{transform:translateX(-105%)}to{transform:translateX(305%)}}@media(max-width:767.98px){.loading-style-grid{grid-template-columns:1fr}}
.receipt-ready-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.receipt-ready-panel .btn{white-space:nowrap}@media(max-width:767.98px){.receipt-ready-panel{align-items:flex-start;flex-direction:column}.receipt-ready-panel>div:last-child,.receipt-ready-panel .btn{width:100%}}

.icon-action-button{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;gap:0!important;border-radius:10px!important}.icon-action-button>i{margin:0!important;font-size:15px}.tooltip{--bs-tooltip-bg:#172033;--bs-tooltip-opacity:.96;--bs-tooltip-padding-x:9px;--bs-tooltip-padding-y:6px}.tooltip-inner{font-size:11px;font-weight:650}

/* Unified action buttons */
.icon-action-button{flex:0 0 36px;vertical-align:middle}.table-modern td.text-end>.btn,.table-modern td.text-end>form,.table-modern td:last-child>.btn,.table-modern td:last-child>form{vertical-align:middle}.table-modern td.text-end>form,.table-modern td:last-child>form{display:inline-block!important;margin:2px 0 2px 5px}.table-modern td.text-end>.btn+.btn,.table-modern td:last-child>.btn+.btn{margin-left:5px}.table-modern td.text-end>form:first-child,.table-modern td:last-child>form:first-child{margin-left:0}.card .icon-action-button+.icon-action-button{margin-left:5px}@media(max-width:575.98px){.icon-action-button{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important}}
/* Welcome calendar and reminder */
.welcome-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px;padding:30px 34px;border-radius:22px;color:#fff;background:linear-gradient(125deg,var(--primary-dark),var(--primary));box-shadow:0 14px 35px rgba(var(--primary-rgb),.2)}
.welcome-hero:after{position:absolute;right:-70px;bottom:-115px;width:250px;height:250px;border:45px solid rgba(255,255,255,.08);border-radius:50%;content:""}.welcome-hero>div{position:relative;z-index:1}.welcome-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:700}.welcome-hero h1{margin:0 0 8px;font-size:30px;font-weight:800}.welcome-hero p{max-width:680px;margin:0;color:rgba(255,255,255,.78)}.welcome-date{min-width:105px;text-align:center}.welcome-date strong,.welcome-date span{display:block}.welcome-date strong{font-size:44px;line-height:1}.welcome-date span{margin-top:7px;font-size:12px}
.welcome-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px}.calendar-card{overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}.calendar-header h5,.section-heading h5{margin:0;font-weight:750}.calendar-header small,.section-heading small{color:var(--muted)}.calendar-nav{display:flex;gap:7px}.calendar-scroll{overflow-x:auto}.calendar-grid{min-width:700px;display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{background:#f8fafc;border-bottom:1px solid var(--line)}.calendar-weekdays div{padding:11px;text-align:center;color:#6b778b;font-size:11px;font-weight:800;text-transform:uppercase}.calendar-days{background:#e9eef5;gap:1px}.calendar-day{min-height:116px;padding:9px;background:#fff}.calendar-day.outside{background:#fafbfc;color:#b6bfcc}.day-number{width:27px;height:27px;display:grid;place-items:center;margin-bottom:5px;border-radius:50%;font-size:12px;font-weight:750}.calendar-day.today .day-number{color:#fff;background:var(--primary)}.day-plans{display:grid;gap:4px}.calendar-plan{width:100%;overflow:hidden;padding:5px 6px;border:0;border-left:3px solid #3b82f6;border-radius:5px;color:#334155;background:#eff6ff;text-align:left;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.calendar-plan span{font-weight:800}.calendar-plan.priority-high{border-color:#ef4444;background:#fef2f2}.calendar-plan.priority-low{border-color:#94a3b8;background:#f8fafc}.calendar-plan.completed{text-decoration:line-through;opacity:.55}.day-plans>small{color:#7b8798;font-size:9px}
.welcome-side{display:grid;gap:24px}.plan-form-card .card-body,.upcoming-card .card-body{padding:22px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section-heading>span{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:12px;color:var(--primary);background:rgba(var(--primary-rgb),.1);font-size:18px}.plan-form{display:grid;gap:14px}.plan-form .form-label{margin-bottom:6px;font-size:12px;font-weight:700}.plan-form textarea{resize:vertical}.upcoming-list{display:grid;gap:9px}.upcoming-item{display:grid;grid-template-columns:48px minmax(0,1fr) 36px;align-items:center;gap:10px;padding:10px;border-left:3px solid #3b82f6;border-radius:10px;background:#f8fafc}.upcoming-item.priority-high{border-color:#ef4444}.upcoming-item.priority-low{border-color:#94a3b8}.upcoming-time{text-align:center}.upcoming-time strong,.upcoming-time span,.upcoming-copy strong,.upcoming-copy small{display:block}.upcoming-time strong{font-size:12px}.upcoming-time span,.upcoming-copy small{color:var(--muted);font-size:10px}.upcoming-copy{min-width:0}.upcoming-copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.empty-plan{padding:25px;text-align:center;color:var(--muted)}.empty-plan i{font-size:31px}.empty-plan p{margin:8px 0 0}
.reminder-button{position:relative}.reminder-count{position:absolute;top:0;right:0;min-width:17px;height:17px;display:grid;place-items:center;border:2px solid #fff;border-radius:99px;color:#fff;background:#ef4444;font-size:9px;font-weight:800}.reminder-menu{width:min(360px,calc(100vw - 24px));max-height:430px;overflow-y:auto}.reminder-item{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid #eef2f7}.reminder-item:last-child{border:0}.reminder-item>i{color:var(--primary)}.reminder-item strong,.reminder-item small{display:block}.reminder-item strong{font-size:12px}.reminder-item small{margin-top:3px;color:var(--muted);font-size:10px}
@media(max-width:1199.98px){.welcome-grid{grid-template-columns:1fr}.welcome-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.welcome-hero{padding:24px}.welcome-hero h1{font-size:25px}.welcome-date{display:none}.welcome-side{grid-template-columns:1fr}.calendar-header{align-items:flex-start;flex-direction:column}.calendar-day{min-height:105px}}
@media(max-width:575.98px){.welcome-hero{margin:-2px -2px 18px;padding:21px;border-radius:17px}.welcome-hero p{font-size:13px}.calendar-header,.plan-form-card .card-body,.upcoming-card .card-body{padding:17px}.calendar-grid{min-width:630px}}


/* Keep the original account block fixed at the right of topbar */
.topbar{justify-content:flex-start;gap:4px}
.topbar>div:first-child{min-width:0}
.topbar>.topbar-reminders{margin-left:auto;flex:0 0 auto}
.topbar>.topbar-account{flex:0 0 auto}
.topbar>.topbar-account>button{white-space:nowrap}
.topbar>.topbar-account>button>.d-none.d-md-block.text-start{min-width:0}
@media(max-width:767.98px){
    .topbar{gap:0}
    .topbar>.topbar-account>button{padding-right:0}
}


/* Topbar notification alignment */
.topbar>div:first-child{flex:1 1 auto;min-width:0}
.topbar>.topbar-reminders{order:2;display:block;flex:0 0 42px;margin-left:auto!important}
.topbar>.topbar-reminders+.dropdown{order:3;flex:0 0 auto;margin-left:2px}
.topbar .reminder-button{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    padding:0!important;
    line-height:1;
    border-radius:50%;
}
.topbar .reminder-button>i{display:block;width:20px;height:20px;line-height:20px;text-align:center}
.topbar .reminder-count{top:1px;right:1px}
@media(max-width:575.98px){
    .topbar>.topbar-reminders{flex-basis:40px}
    .topbar .reminder-button{width:40px;height:40px}
    .topbar>.topbar-reminders+.dropdown{margin-left:0}
}


/* Permission table grouping and unavailable actions. */
.permission-group-row td{padding:11px 16px!important;color:var(--primary-dark)!important;background:var(--primary-soft)!important;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.permission-not-applicable{color:#b4bdca;font-weight:700}.permission-table tr[data-module-code="teacher_classes"],.permission-table tr[data-module-code="language_courses"]{background:rgba(var(--primary-rgb),.035)}

/* Shared statistic icons must stay square inside flex layouts. */
.stat-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px;max-height:48px;border-radius:14px;font-size:21px;line-height:1}

/* Separate welcome and user guide pages */
.welcome-hero-simple{min-height:170px}.welcome-stat{display:flex;flex-direction:row;align-items:center;gap:15px;padding:20px}.welcome-stat .stat-icon{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:14px;font-size:21px}.welcome-stat strong,.welcome-stat small{display:block}.welcome-stat strong{font-size:25px;line-height:1.1}.welcome-stat small{margin-top:4px;color:var(--muted);font-size:12px}.welcome-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.welcome-shortcuts>a{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;transition:.18s}.welcome-shortcuts>a:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px rgba(var(--primary-rgb),.1)}.welcome-shortcuts>a>i{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--primary);background:var(--primary-soft);font-size:19px}.welcome-shortcuts strong,.welcome-shortcuts small{display:block}.welcome-shortcuts strong{font-size:13px}.welcome-shortcuts small{margin-top:3px;color:var(--muted);font-size:11px}
.guide-layout{display:grid;grid-template-columns:245px minmax(0,1fr);align-items:start;gap:24px}.guide-nav{position:sticky;top:100px}.guide-nav strong{display:block;margin-bottom:12px}.guide-nav a{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:9px;color:#526077;text-decoration:none;font-size:12px;font-weight:650}.guide-nav a:hover{color:var(--primary);background:var(--primary-soft)}.guide-nav i{width:18px;color:var(--primary)}.guide-content{display:grid;gap:18px}.guide-section{display:grid;grid-template-columns:55px minmax(0,1fr);gap:18px;padding:24px;scroll-margin-top:100px}.guide-section>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--primary);background:var(--primary-soft);font-size:14px;font-weight:850}.guide-section h4{margin:2px 0 10px;font-size:18px;font-weight:780}.guide-section p{margin:0;color:#5d697b;line-height:1.7}.guide-section ul{margin:12px 0 0;padding-left:18px;color:#5d697b;line-height:1.8}.guide-note{display:flex;gap:9px;margin-top:14px;padding:12px 14px;border-radius:10px;color:#7c5b00;background:#fff8db;font-size:12px}.guide-note i{flex:none}
@media(max-width:991.98px){.guide-layout{grid-template-columns:1fr}.guide-nav{position:static}.guide-nav .card-body{display:flex;flex-wrap:wrap;gap:5px}.guide-nav strong{width:100%}.guide-nav a{padding:8px 10px;background:#f8fafc}}
@media(max-width:575.98px){.welcome-shortcuts{grid-template-columns:1fr}.welcome-hero-simple{min-height:150px}.guide-section{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px}.guide-section>span{width:40px;height:40px;border-radius:11px}.guide-section h4{font-size:16px}}

.guide-steps{margin:0;padding-left:20px;color:#5d697b;line-height:1.8}.guide-steps li+li{margin-top:6px}.guide-faq{display:grid;gap:9px}.guide-faq details{border:1px solid var(--line);border-radius:11px;background:#fafbfd}.guide-faq summary{padding:12px 14px;cursor:pointer;font-size:13px;font-weight:750}.guide-faq p{padding:0 14px 13px;font-size:12px}.sidebar-help{border-top:1px solid rgba(255,255,255,.12);margin-top:8px;padding-top:8px}
.guide-role-banner{display:flex;align-items:center;gap:15px;padding:18px 20px;border:1px solid rgba(var(--primary-rgb),.2);border-radius:16px;background:linear-gradient(135deg,var(--primary-soft),#fff)}.guide-role-banner>span{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:var(--primary);color:#fff;font-size:21px}.guide-role-banner small,.guide-role-banner strong{display:block}.guide-role-banner small{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.guide-role-banner strong{margin-top:2px;font-size:17px}.guide-role-banner p{margin:3px 0 0;color:#5d697b;font-size:12px}.guide-role-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.guide-role-shortcuts>a{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:inherit;text-decoration:none;transition:.18s}.guide-role-shortcuts>a:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px rgba(var(--primary-rgb),.09)}.guide-role-shortcuts>a>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-size:17px}.guide-role-shortcuts strong,.guide-role-shortcuts small{display:block}.guide-role-shortcuts strong{font-size:12px}.guide-role-shortcuts small{margin-top:2px;color:var(--muted);font-size:10px}.guide-subtitle{margin:18px 0 8px;font-size:13px;font-weight:800}.guide-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.guide-checklist>div{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fafbfd}.guide-checklist>div>strong{display:block;margin-bottom:7px;color:var(--primary-dark)}.guide-checklist ul,.guide-checklist ol{margin:0;padding-left:18px;color:#5d697b;font-size:12px;line-height:1.75}.guide-do-dont{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.guide-do-dont>div{padding:12px 14px;border-radius:11px;background:#f0fdf4;color:#166534;font-size:12px}.guide-do-dont>div+div{background:#fff7ed;color:#9a3412}.guide-do-dont strong,.guide-do-dont span{display:block}.guide-do-dont span{margin-top:3px}.guide-responsibility-table{min-width:760px}.guide-responsibility-table td{font-size:12px;vertical-align:top}.guide-responsibility-table td:first-child{font-weight:750}
@media(max-width:991.98px){.guide-role-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.guide-role-shortcuts,.guide-checklist,.guide-do-dont{grid-template-columns:1fr}.guide-role-banner{align-items:flex-start}.guide-role-banner p{line-height:1.5}}

.assigned-task-list{display:grid;gap:9px}.assigned-task{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fafbfd}.assigned-task>div{min-width:0}.assigned-task strong,.assigned-task small{display:block}.assigned-task strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assigned-task small{margin-top:4px;color:var(--muted);font-size:10px}.assigned-task>.badge-soft{flex:none}.plan-form .form-text{display:block;margin-top:5px;font-size:10px}

.task-stat{display:flex;flex-direction:row;align-items:center;gap:13px;padding:18px}.task-stat>span{width:44px;height:44px;display:grid;place-items:center;flex:none;border-radius:13px;font-size:19px}.task-stat strong,.task-stat small{display:block}.task-stat strong{font-size:23px}.task-stat small{color:var(--muted);font-size:11px}.task-create-form{display:grid;grid-template-columns:1.2fr 1.8fr 1fr .8fr .8fr;gap:13px;align-items:end}.task-create-form .form-label,.task-filter .form-label{margin-bottom:6px;font-size:11px;font-weight:750}.task-note-field{grid-column:1/-2}.task-submit{grid-column:-2/-1}.task-submit .btn{width:100%;min-height:42px}.task-filter{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr .9fr .9fr auto;gap:11px;align-items:end}.task-filter-actions{display:flex;gap:6px}.task-note-preview{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1199.98px){.task-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.task-note-field{grid-column:1/-1}.task-submit{grid-column:1/-1}.task-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.task-filter-actions{grid-column:1/-1}}
@media(max-width:575.98px){.task-create-form,.task-filter{grid-template-columns:1fr}.task-note-field,.task-submit,.task-filter-actions{grid-column:auto}.task-filter-actions .btn{flex:1}}

.task-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 12px}.task-history-toolbar h5{margin:0;font-weight:780}.task-history-toolbar small{color:var(--muted)}.task-history-toggle{min-width:132px}.task-history-collapse>.filter-panel{margin-top:0}
@media(max-width:575.98px){.task-history-toolbar{align-items:flex-start}.task-history-toggle{min-width:auto}}

.plan-form select[name=repeat_weeks]{border-color:rgba(var(--primary-rgb),.35);background-color:var(--primary-soft)}

.notification-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.notification-setting>div:first-child{display:flex;align-items:center;gap:12px}.notification-setting-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:12px;color:var(--primary);background:var(--primary-soft);font-size:18px}.notification-setting strong,.notification-setting small{display:block}.notification-setting small{margin-top:3px;color:var(--muted);font-size:11px}.notification-setting .form-check-input{width:46px;height:24px}.realtime-toast{position:fixed;right:22px;bottom:22px;z-index:2100;max-width:360px}
.personal-theme-setting{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.personal-theme-setting>div:first-child{display:flex;align-items:center;gap:12px}.personal-theme-setting strong,.personal-theme-setting small{display:block}.personal-theme-setting small{max-width:390px;margin-top:3px;color:var(--muted);font-size:11px}.personal-theme-setting .form-select{width:min(260px,42%);flex:none}
.personal-theme-preview{height:92px;display:grid;grid-template-columns:84px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.06)}.personal-theme-preview-nav{display:flex;flex-direction:column;gap:8px;padding:17px 12px;background:linear-gradient(155deg,var(--sidebar),var(--sidebar-2))}.personal-theme-preview-nav i{display:block;width:100%;height:7px;border-radius:99px;background:rgba(255,255,255,.55)}.personal-theme-preview-nav i:nth-child(2){width:76%;background:var(--primary)}.personal-theme-preview-nav i:nth-child(3){width:88%}.personal-theme-preview-main{display:flex;flex-direction:column;justify-content:center;padding:14px 17px}.personal-theme-preview-main>i{width:42%;height:7px;margin-bottom:10px;border-radius:99px;background:var(--primary-soft)}.personal-theme-preview-main strong,.personal-theme-preview-main small{display:block}.personal-theme-preview-main strong{font-size:13px;color:#263247}.personal-theme-preview-main small{display:flex;align-items:center;gap:6px;margin-top:5px;color:var(--muted);font-size:10px}.personal-theme-preview-main small b{width:9px;height:9px;border-radius:50%;background:var(--primary)}
@media(max-width:575.98px){.notification-setting,.personal-theme-setting{align-items:flex-start}.notification-setting>div:first-child,.personal-theme-setting>div:first-child{align-items:flex-start}.personal-theme-setting{flex-direction:column}.personal-theme-setting .form-select{width:100%}}

.app-confirm-modal .modal-content{border-radius:20px}.app-confirm-icon{width:58px;height:58px;display:grid;place-items:center;margin:auto;border-radius:18px;color:#dc3545;background:#fff1f2;font-size:26px}.app-confirm-modal h5{font-weight:800}.app-confirm-modal [data-confirm-message]{line-height:1.55}.app-confirm-modal .modal-footer .btn{min-width:108px}.app-confirm-modal .btn-danger{box-shadow:0 8px 18px rgba(220,53,69,.2)}

.bank-setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.bank-setting-toggle strong,.bank-setting-toggle small{display:block}.bank-setting-toggle small{margin-top:3px;color:var(--muted);font-size:11px}.bank-setting-toggle .form-check-input{width:46px;height:24px}[data-bank-fields].bank-disabled{opacity:.5;pointer-events:none}.tuition-bank-card{padding:22px;border:1px solid rgba(var(--primary-rgb),.18);border-radius:14px;background:var(--primary-soft);color:var(--text)}.tuition-bank-card .bank-number{font-size:20px;letter-spacing:.04em}

/* Tuition bank account */
.tuition-bank-card{height:auto!important;padding:20px;border:1px solid rgba(var(--primary-rgb),.18);border-radius:18px;background:linear-gradient(145deg,#fff,var(--primary-soft));color:var(--text);box-shadow:0 10px 28px rgba(var(--primary-rgb),.08)}
.tuition-bank-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(var(--primary-rgb),.12)}
.tuition-bank-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:var(--primary);color:#fff;font-size:19px}
.tuition-bank-head span,.tuition-bank-number span,.tuition-bank-details span{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.tuition-bank-head strong{display:block;color:var(--primary-dark);font-size:16px;line-height:1.25}
.tuition-bank-number{padding:16px 0 13px}.tuition-bank-number strong{display:block;color:var(--primary-dark);font-size:25px;font-weight:850;letter-spacing:.08em;line-height:1}
.tuition-bank-details{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(110px,.7fr);gap:14px;padding-top:13px;border-top:1px solid rgba(var(--primary-rgb),.12)}
.tuition-bank-details strong{display:block;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
/* Student management */
.student-filter{padding:17px 18px}.student-filter .input-group-text{border-color:#dbe2ea;color:var(--muted)}
.student-list-card{overflow:hidden}.student-identity{display:flex;align-items:center;gap:11px;min-width:190px}.student-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);font-weight:850}.guardian-line+ .guardian-line{margin-top:4px}.guardian-line small{display:block;color:var(--muted)}
.student-profile-field{height:100%;min-height:74px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.student-profile-field>span{display:block;margin-bottom:5px;color:var(--muted);font-size:.82rem;font-weight:650}.student-profile-field>strong{display:block;color:var(--text)}.student-profile-field>small{display:block;margin-top:3px;color:var(--muted)}
.student-guardian-card{padding:16px;border:1px solid #dbe7e1;border-radius:14px;background:#fbfefc}.student-guardian-type{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase}.student-guardian-contact{display:grid;gap:7px;margin-top:13px;color:#475569;font-size:.9rem}.student-guardian-contact span{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.student-guardian-contact i{color:var(--primary)}
.student-mobile-list{padding:12px}.student-mobile-card{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.student-mobile-card+.student-mobile-card{margin-top:11px}.student-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--line)}.student-mobile-head .student-identity{min-width:0}.student-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px;padding:14px 0}.student-mobile-grid span{display:block;margin-bottom:3px;color:var(--muted);font-size:11px}.student-mobile-grid strong{display:block;font-size:13px;overflow-wrap:anywhere}.student-mobile-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.student-mobile-actions form{margin:0}.student-mobile-actions .btn{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:10px}.student-mobile-actions i{margin:0}
@media(max-width:767.98px){.student-page-header .student-header-actions{width:100%}.student-page-header .student-header-actions .btn{flex:1}.tuition-bank-details{grid-template-columns:1fr}.tuition-bank-number strong{font-size:22px}}
@media(max-width:420px){.student-page-header .student-header-actions{display:grid!important;grid-template-columns:1fr}.student-mobile-head{display:block}.student-mobile-head>.badge-soft{display:inline-block;margin:10px 0 0 49px}.student-mobile-grid{grid-template-columns:1fr}}
.student-import-live-log{max-height:220px;min-height:72px;overflow:auto}
.student-import-live-item{display:flex;gap:.6rem;padding:.55rem .7rem;border-bottom:1px solid rgba(148,163,184,.22);font-size:.82rem;line-height:1.35}
.student-import-live-item:last-child{border-bottom:0}
.student-import-live-item i{margin-top:.12rem;flex:0 0 auto}
.student-import-live-item.is-created{color:#166534;background:#f0fdf4}
.student-import-live-item.is-updated{color:#1d4ed8;background:#eff6ff}
.student-import-live-item.is-skipped{color:#92400e;background:#fffbeb}
.student-import-live-item.is-failed{color:#b91c1c;background:#fef2f2}
.student-import-count-badge{color:#1e3a8a!important;background:#dbeafe!important;border:1px solid #93c5fd}
.student-import-summary-badge{padding:.4rem .65rem;color:#172033!important;border:1px solid transparent;font-weight:750}
.student-import-summary-badge.is-created{color:#166534!important;background:#dcfce7!important;border-color:#86efac}
.student-import-summary-badge.is-updated{color:#1e40af!important;background:#dbeafe!important;border-color:#93c5fd}
.student-import-summary-badge.is-skipped{color:#854d0e!important;background:#fef3c7!important;border-color:#fcd34d}
.student-import-summary-badge.is-failed{color:#991b1b!important;background:#fee2e2!important;border-color:#fca5a5}
.target-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.target-source-option{position:relative;margin:0;cursor:pointer}
.target-source-option .form-check-input{position:absolute;top:50%;left:12px;z-index:1;margin:0;transform:translateY(-50%)}
.target-source-option span{display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 10px 9px 38px;border:1px solid #dbe2ea;border-radius:11px;color:#475569;background:#fff;font-size:13px;font-weight:700;transition:.16s}
.target-source-option span i{color:var(--primary);font-size:16px}
.target-source-option:hover span{border-color:rgba(var(--primary-rgb),.48);background:var(--primary-soft)}
.target-source-option .form-check-input:checked+span{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}
.target-walk-in-toggle{min-height:58px;padding:11px 14px 10px 46px;border:1px solid #dbe2ea;border-radius:12px;background:#f8fafc}
.target-walk-in-toggle .form-check-input{margin-left:-32px}
.target-walk-in-toggle:has(.form-check-input:checked){border-color:rgba(var(--primary-rgb),.45);background:var(--primary-soft)}
.target-history-filter{background:#f8fafc}
.target-history-filter>div{min-width:135px}
.target-history-filter .form-control,.target-history-filter .form-select{min-height:36px}
.target-history-filter .btn{min-height:36px;white-space:nowrap}
.consulting-pending-total{display:flex;align-items:center;gap:.65rem;min-height:42px;padding:.45rem .85rem;border:1px solid #bbf7d0;border-radius:.75rem;background:#f0fdf4;color:#166534;white-space:nowrap}
.consulting-pending-total span{font-size:.8rem;font-weight:600}
.consulting-pending-total strong{font-size:1.2rem;line-height:1}
@media(max-width:575.98px){.target-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Flat, opaque tuition detail cards */
.tuition-detail-page .card-soft,.tuition-detail-page .tuition-bank-card,.tuition-detail-page .alert{opacity:1!important;filter:none!important;box-shadow:none!important;background-clip:padding-box}
.tuition-detail-page .card-soft{border:1px solid var(--line);background:#fff}
.tuition-detail-page .card-header{background:#fff;border-bottom:1px solid var(--line)}
.tuition-detail-page .card-header h5{margin:0;font-weight:780}
.tuition-detail-page .tuition-bank-card{background:linear-gradient(145deg,#fff 0%,var(--primary-soft) 100%)}
.tuition-detail-side>*{position:relative;z-index:1}
/* Color-coded business status summary */
.status-summary-card{overflow:hidden;border-width:1px;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.status-summary-card .card-header{border:0;border-bottom:1px solid rgba(15,23,42,.06);background:linear-gradient(135deg,var(--status-soft),#fff)}
.status-summary-card .card-header h6{display:flex;align-items:center;color:var(--status-dark)}
.status-summary-icon{display:grid;place-items:center;width:36px;height:36px;margin-right:10px;border-radius:11px;color:#fff;background:var(--status-main);font-size:16px;box-shadow:0 6px 14px color-mix(in srgb,var(--status-main) 25%,transparent)}
.status-card-violet{--status-main:#7c3aed;--status-soft:#f3e8ff;--status-dark:#5b21b6;border-color:#e9d5ff}
.status-card-green{--status-main:#059669;--status-soft:#d1fae5;--status-dark:#047857;border-color:#a7f3d0}
.status-card-orange{--status-main:#ea580c;--status-soft:#ffedd5;--status-dark:#c2410c;border-color:#fed7aa}
.status-card-rose{--status-main:#e11d48;--status-soft:#ffe4e6;--status-dark:#be123c;border-color:#fecdd3}
.status-summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;padding:9px 10px;border-left:3px solid var(--row-color);border-radius:9px;background:var(--row-soft)}
.status-summary-row:last-child{margin-bottom:0}.status-summary-row>span{color:#465368;font-size:12px;font-weight:650}.status-summary-row>strong{display:grid;place-items:center;min-width:30px;height:25px;padding:0 8px;border-radius:999px;color:#fff;background:var(--row-color);font-size:12px}.status-summary-row>strong.is-empty{color:#7b8798;background:#e7ebf1}
.status-tone-1{--row-color:#2563eb;--row-soft:#eff6ff}.status-tone-2{--row-color:#7c3aed;--row-soft:#f5f3ff}.status-tone-3{--row-color:#0891b2;--row-soft:#ecfeff}.status-tone-4{--row-color:#059669;--row-soft:#ecfdf5}.status-tone-5{--row-color:#ca8a04;--row-soft:#fefce8}.status-tone-6{--row-color:#ea580c;--row-soft:#fff7ed}.status-tone-7{--row-color:#e11d48;--row-soft:#fff1f2}.status-tone-8{--row-color:#475569;--row-soft:#f8fafc}
@media(max-width:575.98px){.status-summary-card .card-header{padding:16px!important}.status-summary-card .card-body{padding:12px!important}.status-summary-row{padding:8px 10px}}
/* Collapsible sidebar and nested menu groups */
.sidebar,.main-wrap{transition:transform .24s ease,margin-left .24s ease}
.sidebar-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 10px 3px;padding:10px 12px!important;border-radius:10px;cursor:pointer;user-select:none;transition:background .16s,color .16s}
.sidebar-group-toggle:hover,.sidebar-group-toggle:focus{outline:0;background:rgba(255,255,255,.11);color:#fff!important}
.sidebar-group-chevron{flex:none;font-size:11px;transition:transform .2s ease}.sidebar-group-toggle.is-collapsed .sidebar-group-chevron{transform:rotate(-90deg)}
.sidebar-nav.is-collapsed{display:none}
.topbar-menu{display:grid!important;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0}
@media(min-width:992px){body.sidebar-desktop-hidden .sidebar{transform:translateX(-100%)}body.sidebar-desktop-hidden .main-wrap{margin-left:0}.sidebar-backdrop{display:none!important}}
@media(max-width:991.98px){.sidebar-group-toggle{margin-top:6px}.topbar-menu{display:grid!important}}
/* Detailed system logs */
.log-period-badge{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(var(--primary-rgb),.18);border-radius:13px;color:var(--primary-dark);background:var(--primary-soft)}.log-period-badge>i{font-size:21px}.log-period-badge small,.log-period-badge strong{display:block}.log-period-badge small{font-size:10px;color:var(--muted)}
.log-stat .card-body{display:flex;align-items:center;gap:13px;padding:17px}.log-stat-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;font-size:18px}.log-stat small,.log-stat strong{display:block}.log-stat small{color:var(--muted);font-size:11px}.log-stat strong{font-size:22px;line-height:1.15}
.log-tabs{gap:8px}.log-tabs .nav-link{display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;color:#526077;background:#fff;font-weight:700}.log-tabs .nav-link.active{border-color:var(--primary);background:var(--primary)}.log-tabs .nav-link span{margin-left:9px;padding:2px 7px;border-radius:99px;background:rgba(255,255,255,.2);font-size:10px}.log-tabs .nav-link:not(.active) span{color:var(--primary);background:var(--primary-soft)}
.log-card{overflow:hidden}.log-user{display:flex;align-items:center;gap:9px;min-width:170px}.log-user>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;color:var(--primary-dark);background:var(--primary-soft);font-weight:800}.log-user strong,.log-user small{display:block}.log-user small{color:var(--muted);font-size:10px}.log-module,.log-action{display:inline-flex;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:750;white-space:nowrap}.log-module{color:#1d4ed8;background:#dbeafe}.log-action{color:#475569;background:#eef2f7}.log-action-create,.log-action-restore{color:#047857;background:#d1fae5}.log-action-update,.log-action-toggle,.log-action-permissions{color:#7c3aed;background:#ede9fe}.log-action-delete,.log-action-force_delete,.log-action-bulk_delete{color:#be123c;background:#ffe4e6}.log-action-export{color:#0369a1;background:#e0f2fe}
.log-description{min-width:280px;max-width:560px}.log-description>strong{font-size:12px}.log-description details{margin-top:7px}.log-description summary{width:max-content;color:var(--primary);cursor:pointer;font-size:10px;font-weight:700}.log-detail-grid,.log-change-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.log-detail-grid>div,.log-change-grid>div{min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px;background:#f8fafc}.log-detail-grid span,.log-change-grid span{display:block;margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:750;text-transform:uppercase}.log-detail-grid small{display:block;max-width:280px;overflow-wrap:anywhere}.log-change-grid pre{max-height:180px;margin:0;overflow:auto;color:#334155;font-size:9px;white-space:pre-wrap}.log-device{max-width:320px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.settings-section-nav{position:sticky;top:90px;z-index:20;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:0 6px 20px rgba(26,44,86,.06);backdrop-filter:blur(8px)}.settings-section-nav a{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid transparent;border-radius:7px;color:#475569;text-decoration:none}.settings-section-nav a>i{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:7px;color:var(--primary);background:var(--primary-soft)}.settings-section-nav strong,.settings-section-nav small{display:block}.settings-section-nav strong{font-size:12px}.settings-section-nav small{margin-top:2px;color:var(--muted);font-size:10px}.settings-section-nav a:hover,.settings-section-nav a.active{border-color:rgba(var(--primary-rgb),.22);color:var(--primary-dark);background:var(--primary-soft)}.settings-section{scroll-margin-top:175px}@media(max-width:767.98px){.settings-section-nav{top:84px;grid-template-columns:repeat(3,1fr);padding:6px}.settings-section-nav a{justify-content:center;padding:8px}.settings-section-nav a>i{width:32px;height:32px}.settings-section-nav a span{display:none}}
.settings-page-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-page-tabs a{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;color:#475569;background:#fff;text-decoration:none}.settings-page-tabs a>i{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:7px;color:var(--primary);background:var(--primary-soft);font-size:17px}.settings-page-tabs strong,.settings-page-tabs small{display:block}.settings-page-tabs strong{font-size:13px}.settings-page-tabs small{margin-top:2px;color:var(--muted);font-size:10px}.settings-page-tabs a:hover,.settings-page-tabs a.active{border-color:var(--primary);box-shadow:0 5px 18px rgba(var(--primary-rgb),.1)}.settings-page-tabs a.active{color:#fff;background:var(--primary)}.settings-page-tabs a.active>i{color:var(--primary);background:#fff}@media(max-width:767.98px){.settings-page-tabs{grid-template-columns:1fr}.settings-page-tabs a{padding:10px 12px}.settings-page-tabs a>i{width:34px;height:34px}}
.plan-calendar-layout{grid-template-columns:minmax(0,1fr) 310px}.today-agenda{overflow:hidden}.today-agenda-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;color:#fff;background:var(--primary)}.today-agenda-head span,.today-agenda-head strong{display:block}.today-agenda-head span{font-size:11px;text-transform:capitalize;opacity:.8}.today-agenda-head>div>strong{font-size:16px}.current-time{display:flex;align-items:center;gap:7px}.current-time strong{font-size:20px}.today-agenda-title{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}.today-agenda-title h5{margin:0;font-size:16px;font-weight:750}.today-agenda-title small{color:var(--muted)}.today-timeline{max-height:535px;overflow-y:auto;padding:8px 16px}.today-plan{width:100%;display:grid;grid-template-columns:42px 12px minmax(0,1fr);align-items:start;gap:8px;padding:12px 0;border:0;border-bottom:1px solid #eef2f7;background:transparent;text-align:left}.today-plan-time{padding-top:1px;color:#334155;font-size:12px;font-weight:750}.today-plan-dot{width:10px;height:10px;margin-top:4px;border:3px solid #bfdbfe;border-radius:50%;background:var(--primary)}.today-plan-copy strong,.today-plan-copy small{display:block}.today-plan-copy strong{overflow:hidden;color:#172033;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.today-plan-copy small{margin-top:3px;color:var(--muted);font-size:10px}.today-plan.is-past .today-plan-dot{border-color:#fed7aa;background:#f97316}.today-plan.is-completed{opacity:.55}.today-plan.is-completed .today-plan-copy strong{text-decoration:line-through}.today-plan.is-completed .today-plan-dot{border-color:#bbf7d0;background:#22c55e}.today-empty{display:grid;justify-items:center;padding:42px 10px;text-align:center;color:var(--muted)}.today-empty i{margin-bottom:10px;font-size:32px}.today-empty strong{font-size:13px}.today-empty small{margin-top:4px;font-size:11px}.today-agenda-foot{display:flex;justify-content:space-between;gap:8px;padding:13px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:650}@media(max-width:1199.98px){.plan-calendar-layout{grid-template-columns:1fr}.today-agenda{display:none}}
@media(max-width:767.98px){.log-period-badge{width:100%}.log-tabs{display:grid;grid-template-columns:1fr 1fr}.log-tabs .nav-link{justify-content:center;width:100%;padding:10px 8px;font-size:11px}.log-detail-grid,.log-change-grid{grid-template-columns:1fr}}

/* White navigation theme */
body[data-theme="white"] .sidebar{background:#fff;border-right:1px solid #e2e8f0;box-shadow:8px 0 30px rgba(15,23,42,.06)}
body[data-theme="white"] .sidebar .brand{border-bottom-color:#edf1f6}
body[data-theme="white"] .sidebar .brand strong{color:#111827!important}
body[data-theme="white"] .sidebar .brand small,body[data-theme="white"] .sidebar .sidebar-label{color:#64748b!important;opacity:1}
body[data-theme="white"] .sidebar-nav .nav-link,body[data-theme="white"] .sidebar-nav .nav-link i{color:#596273!important;text-shadow:none}
body[data-theme="white"] .sidebar-nav .nav-link:hover{color:var(--primary)!important;background:#f3f7ff;box-shadow:none}
body[data-theme="white"] .sidebar-nav .nav-link.active{color:var(--primary)!important;background:var(--primary-soft);box-shadow:inset 4px 0 0 var(--primary)}
body[data-theme="white"] .sidebar-nav .nav-link.active i{color:var(--primary)!important}
body[data-theme="white"] .sidebar-group-toggle:hover,body[data-theme="white"] .sidebar-group-toggle:focus{color:var(--primary)!important;background:#f3f7ff}
body[data-theme="white"] .sidebar-help{border-top-color:#e5eaf2}
body[data-theme="white"] .sidebar-close{color:#334155;border-color:#dbe2ea;background:#f8fafc}
body[data-theme="white"] .topbar{color:#111827;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 8px 25px rgba(15,23,42,.05)}
body[data-theme="white"] .topbar-path{color:#64748b}
body[data-theme="white"] .topbar .dropdown>button{color:#172033!important}
body[data-theme="white"] .topbar .dropdown>button:hover{background:#f3f6fa}
body[data-theme="white"] .topbar .dropdown>button small{color:#64748b!important}
body[data-theme="white"] .topbar .avatar{color:var(--primary);background:var(--primary-soft);border-color:#dbe8ff}
body[data-theme="white"] .topbar-menu,body[data-theme="white"] .realtime-bell{color:#172033;background:#fff;border-color:#e2e8f0}
body[data-theme="white"] .topbar-menu:hover,body[data-theme="white"] .realtime-bell:hover{color:var(--primary);background:#f3f7ff}
body[data-theme="white"] .realtime-badge{border-color:#fff}
body[data-theme="white"] .theme-swatch[style*="#ffffff"]{border:1px solid #cbd5e1}

/* Pastel themes use dark navigation text for accessible contrast. */
body:is([data-theme="pastel-blue"],[data-theme="pastel-sky"],[data-theme="pastel-mint"],[data-theme="pastel-green"],[data-theme="pastel-lavender"],[data-theme="pastel-purple"],[data-theme="pastel-pink"],[data-theme="pastel-peach"],[data-theme="pastel-yellow"],[data-theme="pastel-gray"]) .sidebar{background:linear-gradient(155deg,var(--sidebar),var(--sidebar-2));border-right:1px solid rgba(100,116,139,.16);box-shadow:8px 0 30px rgba(15,23,42,.06)}
body:is([data-theme="pastel-blue"],[data-theme="pastel-sky"],[data-theme="pastel-mint"],[data-theme="pastel-green"],[data-theme="pastel-lavender"],[data-theme="pastel-purple"],[data-theme="pastel-pink"],[data-theme="pastel-peach"],[data-theme="pastel-yellow"],[data-theme="pastel-gray"]) .sidebar .brand{border-bottom-color:rgba(100,116,139,.18)}
body:is([data-theme="pastel-blue"],[data-theme="pastel-sky"],[data-theme="pastel-mint"],[data-theme="pastel-green"],[data-theme="pastel-lavender"],[data-theme="pastel-purple"],[data-theme="pastel-pink"],[data-theme="pastel-peach"],[data-theme="pastel-yellow"],[data-theme="pastel-gray"]) .sidebar .brand strong{color:#172033!important}
body:is([data-theme="pastel-blue"],[data-theme="pastel-sky"],[data-theme="pastel-mint"],[data-theme="pastel-green"],[data-theme="pastel-lavender"],[data-theme="pastel-purple"],[data-theme="pastel-pink"],[data-theme="pastel-peach"],[data-theme="pastel-yellow"],[data-theme="pastel-gray"]) .sidebar .brand small,body:is([data-theme^="pastel-"]) .sidebar .sidebar-label{color:#5b6779!important;opacity:1}
body[data-theme^="pastel-"] .sidebar-nav .nav-link,body[data-theme^="pastel-"] .sidebar-nav .nav-link i{color:#465267!important;text-shadow:none}
body[data-theme^="pastel-"] .sidebar-nav .nav-link:hover{color:var(--primary-dark)!important;background:rgba(255,255,255,.48);box-shadow:none}
body[data-theme^="pastel-"] .sidebar-nav .nav-link.active{color:var(--primary-dark)!important;background:rgba(255,255,255,.72);box-shadow:inset 4px 0 0 var(--primary),0 7px 18px rgba(15,23,42,.06)}
body[data-theme^="pastel-"] .sidebar-nav .nav-link.active i{color:var(--primary-dark)!important}
body[data-theme^="pastel-"] .sidebar-group-toggle:hover,body[data-theme^="pastel-"] .sidebar-group-toggle:focus{color:var(--primary-dark)!important;background:rgba(255,255,255,.45)}
body[data-theme^="pastel-"] .sidebar-help{border-top-color:rgba(100,116,139,.18)}
body[data-theme^="pastel-"] .sidebar-close{color:#334155;border-color:rgba(100,116,139,.25);background:rgba(255,255,255,.55)}
body[data-theme^="pastel-"] .topbar{color:#172033;background:linear-gradient(110deg,var(--sidebar),var(--sidebar-2));border-bottom:1px solid rgba(100,116,139,.14);box-shadow:0 8px 25px rgba(15,23,42,.05)}
body[data-theme^="pastel-"] .topbar-path{color:#5b6779}
body[data-theme^="pastel-"] .topbar .dropdown>button{color:#172033!important}
body[data-theme^="pastel-"] .topbar .dropdown>button:hover{background:rgba(255,255,255,.45)}
body[data-theme^="pastel-"] .topbar .dropdown>button small{color:#64748b!important}
body[data-theme^="pastel-"] .topbar .avatar{color:var(--primary-dark);background:rgba(255,255,255,.62);border-color:rgba(100,116,139,.14)}
body[data-theme^="pastel-"] .topbar-menu,body[data-theme^="pastel-"] .realtime-bell{color:#334155;background:rgba(255,255,255,.5);border-color:rgba(100,116,139,.18)}
body[data-theme^="pastel-"] .topbar-menu:hover,body[data-theme^="pastel-"] .realtime-bell:hover{color:var(--primary-dark);background:rgba(255,255,255,.75)}
body[data-theme^="pastel-"] .realtime-badge{border-color:var(--sidebar)}
body[data-theme^="gradient-"] .sidebar,body[data-theme^="gradient-"] .topbar{background:var(--theme-gradient)}
body[data-theme^="gradient-"] .personal-theme-preview-nav{background:var(--theme-gradient)}

/* Personal visual effects */
body[data-visual-effect] .card-soft,body[data-visual-effect] .filter-panel,body[data-visual-effect] .page-toolbar{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
body[data-visual-effect="soft"]{background:linear-gradient(135deg,var(--bg),var(--primary-soft))}
body[data-visual-effect="soft"] .card-soft{border-color:transparent;border-radius:24px;box-shadow:0 14px 38px rgba(15,23,42,.08)}
body[data-visual-effect="soft"] .btn,body[data-visual-effect="soft"] .form-control,body[data-visual-effect="soft"] .form-select{border-radius:14px}
body[data-visual-effect="glass"]{background:linear-gradient(135deg,var(--primary-soft),#f8fafc 48%,rgba(var(--primary-rgb),.12));background-attachment:fixed}
body[data-visual-effect="glass"] .card-soft,body[data-visual-effect="glass"] .filter-panel,body[data-visual-effect="glass"] .page-toolbar{background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.76);box-shadow:0 16px 42px rgba(31,41,55,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body[data-visual-effect="glass"] .topbar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body[data-visual-effect="glow"]{background:radial-gradient(circle at 85% 10%,rgba(var(--primary-rgb),.13),transparent 30%),var(--bg)}
body[data-visual-effect="glow"] .card-soft{box-shadow:0 10px 32px rgba(var(--primary-rgb),.1)}
body[data-visual-effect="glow"] .card-soft:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(var(--primary-rgb),.2)}
.visual-effect-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.visual-effect-option{position:relative;padding:12px;border:2px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.visual-effect-option input{position:absolute;opacity:0}.visual-effect-option.selected{border-color:var(--primary);box-shadow:0 6px 18px rgba(var(--primary-rgb),.12)}.visual-effect-demo{height:48px;display:grid;place-items:center;margin-bottom:9px;border-radius:9px;background:#f1f5f9}.visual-effect-demo i{width:54%;height:25px;border-radius:6px;background:#fff;box-shadow:0 4px 10px rgba(15,23,42,.12)}.visual-effect-option[data-effect="soft"] .visual-effect-demo{background:var(--primary-soft)}.visual-effect-option[data-effect="soft"] .visual-effect-demo i{border-radius:12px}.visual-effect-option[data-effect="glass"] .visual-effect-demo{background:linear-gradient(135deg,var(--primary),var(--primary-soft))}.visual-effect-option[data-effect="glass"] .visual-effect-demo i{background:rgba(255,255,255,.62);backdrop-filter:blur(5px)}.visual-effect-option[data-effect="glow"] .visual-effect-demo i{box-shadow:0 0 17px rgba(var(--primary-rgb),.65)}.visual-effect-option strong,.visual-effect-option small{display:block}.visual-effect-option strong{font-size:12px}.visual-effect-option small{margin-top:2px;color:var(--muted);font-size:9px}@media(max-width:767.98px){.visual-effect-grid{grid-template-columns:1fr 1fr}}

/* Unified configured accent color */
::selection{color:var(--primary-contrast);background:var(--primary)}
.btn-primary,.btn-info,.btn-dark{--bs-btn-color:var(--primary-contrast);--bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-color:var(--primary-contrast);--bs-btn-hover-bg:var(--primary-dark);--bs-btn-hover-border-color:var(--primary-dark);--bs-btn-active-color:var(--primary-contrast);--bs-btn-active-bg:var(--primary-dark);--bs-btn-active-border-color:var(--primary-dark);--bs-btn-disabled-color:var(--primary-contrast);--bs-btn-disabled-bg:var(--primary);--bs-btn-disabled-border-color:var(--primary)}
.btn-outline-primary,.btn-outline-info,.btn-outline-dark{--bs-btn-color:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-hover-color:var(--primary-contrast);--bs-btn-hover-bg:var(--primary);--bs-btn-hover-border-color:var(--primary);--bs-btn-active-color:var(--primary-contrast);--bs-btn-active-bg:var(--primary-dark);--bs-btn-active-border-color:var(--primary-dark)}
.text-info{color:var(--primary)!important}.bg-info{background-color:var(--primary)!important}.bg-info-subtle{background-color:var(--primary-soft)!important}.border-info{border-color:var(--primary)!important}
.text-bg-primary,.text-bg-info{color:var(--primary-contrast)!important;background-color:var(--primary)!important}
.progress-bar,.nav-pills .nav-link.active,.list-group-item.active{color:var(--primary-contrast);background-color:var(--primary);border-color:var(--primary)}
.accordion-button:not(.collapsed){color:var(--primary-dark);background:var(--primary-soft);box-shadow:inset 0 calc(-1 * var(--bs-border-width)) 0 rgba(var(--primary-rgb),.18)}
.accordion-button:focus,.btn:focus-visible{border-color:var(--primary);box-shadow:0 0 0 .22rem rgba(var(--primary-rgb),.16)}
.spinner-border.text-info{color:var(--primary)!important}.link-info{color:var(--primary)!important}.link-info:hover{color:var(--primary-dark)!important}
.table-modern tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 52%,#fff)}
.calendar-plan,.upcoming-item{border-left-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 62%,#fff)}
.status-tone-1{--row-color:var(--primary);--row-soft:var(--primary-soft)}
.log-module{color:var(--primary-dark);background:var(--primary-soft)}
.task-assign-title-icon{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}
.task-assignee-list label:hover,.task-assignee-list label:has(input:checked),.task-select-all-assignees,.task-assignee-list .task-select-all-assignees,.task-existing-file:hover{border-color:rgba(var(--primary-rgb),.35);background:var(--primary-soft)}
.task-result-report{border-top-color:var(--primary)!important}.task-result-report h5 i{color:var(--primary)}.task-result-report .task-completion-button{box-shadow:0 7px 16px rgba(var(--primary-rgb),.18)}
.brand-mark:not(.has-logo){background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 10px 28px rgba(var(--primary-rgb),.3)}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .22rem rgba(var(--primary-rgb),.12)}
.badge-info{color:var(--primary-dark);background:var(--primary-soft)}
.avatar{color:var(--primary-dark);background:linear-gradient(135deg,var(--primary-soft),color-mix(in srgb,var(--primary-soft) 65%,var(--primary)))}
.timeline-month span{background:linear-gradient(90deg,var(--primary),var(--primary-dark))}
.page-loading-spinner{border-color:var(--primary-soft);border-top-color:var(--primary)}
.pagination{--bs-pagination-color:var(--primary);--bs-pagination-hover-color:var(--primary-dark);--bs-pagination-focus-color:var(--primary-dark);--bs-pagination-focus-box-shadow:0 0 0 .22rem rgba(var(--primary-rgb),.15);--bs-pagination-active-color:var(--primary-contrast);--bs-pagination-active-bg:var(--primary);--bs-pagination-active-border-color:var(--primary)}

/* Director health monitoring */
.system-health-card{overflow:hidden;border-left:4px solid var(--primary)}.system-health-card.system-health-critical{border-left-color:#dc3545}.system-health-card.system-health-warning{border-left-color:#d97706}.system-health-card.system-health-healthy{border-left-color:#198754}
.health-issue-list{display:grid;gap:8px}.health-issue{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.health-issue i{padding-top:1px}.health-issue strong,.health-issue small{display:block}.health-issue strong{font-size:12px}.health-issue small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.45;overflow-wrap:anywhere}.health-issue.is-ok{background:#f0fdf4}
.operation-alert{height:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:15px;border:1px solid var(--line);border-radius:13px;color:#263247;background:#fff;text-decoration:none;transition:.18s}.operation-alert:hover{transform:translateY(-2px);border-color:rgba(var(--primary-rgb),.3);color:var(--primary-dark);box-shadow:0 9px 22px rgba(var(--primary-rgb),.1)}.operation-alert>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--primary-dark);background:var(--primary-soft);font-size:18px}.operation-alert strong,.operation-alert small{display:block}.operation-alert strong{font-size:22px;line-height:1}.operation-alert small{margin-top:5px;color:var(--muted);font-size:11px}.operation-alert>.bi-arrow-right{color:var(--muted)}.operation-alert-warning>span{color:#92400e;background:#fef3c7}.operation-alert-danger>span{color:#991b1b;background:#fee2e2}
