:root{--brand:#1d4ed8;--bg:#f6f8fb;--surface:#fff;--border:#e5e7eb;--text:#111827;--muted:#64748b;--danger:#b91c1c;--shadow:0 8px 30px rgba(15,23,42,.06);--radius:14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{width:255px;background:#0f172a;color:#e5e7eb;display:flex;flex-direction:column;position:fixed;overflow:hidden;inset:0 auto 0 0;padding:22px 14px;z-index:30}.brand-block{display:flex;align-items:center;gap:12px}.brand-block strong{display:block;font-size:15px}.brand-block span{display:block;color:#94a3b8;font-size:11px}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#2563eb);display:grid;place-items:center;color:#fff;font-weight:800}.nav-stack{display:grid;gap:4px;margin-top:28px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:5px;scrollbar-width:thin;scrollbar-color:#475569 transparent}.nav-stack::-webkit-scrollbar{width:7px}.nav-stack::-webkit-scrollbar-track{background:transparent}.nav-stack::-webkit-scrollbar-thumb{background:#475569;border-radius:999px}.nav-stack::-webkit-scrollbar-thumb:hover{background:#64748b}.nav-link{padding:11px 12px;border-radius:9px;color:#cbd5e1}.nav-link:hover,.nav-link:focus{background:#1e293b;color:#fff}.sidebar-footer{margin-top:auto;color:#64748b;font-size:11px;padding:12px}.main-area{margin-left:255px;min-width:0;flex:1}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 28px;gap:14px;position:sticky;top:0;z-index:20}.topbar-user{margin-left:auto;color:var(--muted)}.icon-button{display:none;border:0;background:transparent;font-size:20px}.content-area{padding:30px;max-width:1500px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading.compact{margin-top:24px}.page-heading h1{margin:2px 0 6px;font-size:30px;letter-spacing:-.03em}.page-heading p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--brand)}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric-card,.panel,.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{padding:18px}.metric-card span{display:block;color:var(--muted);font-size:12px}.metric-card strong{display:block;font-size:28px;margin-top:8px}.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px}.panel{padding:20px;margin-bottom:18px}.panel h2{margin:0 0 14px;font-size:17px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}td small{display:block;color:var(--muted)}.badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;background:#eef2ff;color:#3730a3}.badge-active{background:#ecfdf5;color:#047857}.badge-suspended,.badge-archived{background:#fef2f2;color:#b91c1c}.badge-pending-verification{background:#fffbeb;color:#a16207}.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:9px;border:1px solid transparent;font-weight:700;font-size:13px;cursor:pointer}.button-primary{background:var(--brand);color:#fff}.button-secondary{background:#fff;border-color:var(--border)}.button-danger{background:#fff;border-color:#fecaca;color:var(--danger)}.button-small{min-height:32px;padding:6px 10px;font-size:12px}.action-list{display:grid}.action-list a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);font-weight:650}.filter-bar{display:flex;gap:10px;margin-bottom:18px}.filter-bar input,.filter-bar select{height:40px;border:1px solid var(--border);border-radius:9px;padding:0 12px;background:#fff}.filter-bar input{flex:1}.form-grid{display:grid;gap:16px}.form-grid label{display:grid;gap:6px;font-weight:650;font-size:13px}.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #d8dee8;border-radius:9px;padding:10px 12px;background:#fff;font:inherit}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:3px solid rgba(29,78,216,.14);border-color:var(--brand)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-section{border-top:1px solid var(--border);padding-top:18px}.form-section h2{font-size:16px;margin:0 0 14px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.setting{padding:12px 0;border-bottom:1px solid var(--border)}.setting span{display:block;color:var(--muted);font-size:12px}.empty-state{padding:36px;text-align:center;color:var(--muted)}.empty-state strong,.empty-state span{display:block}.alert{padding:12px 14px;border-radius:10px;margin-bottom:18px;border:1px solid}.alert-success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.alert-error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.success-panel{margin-top:28px;padding:24px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:var(--radius)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:#eef2f7}.auth-card{width:min(520px,100%);padding:30px}.auth-card-wide{width:min(900px,100%)}.checklist{display:grid}.checklist div{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.checklist span{font-weight:800;color:var(--muted)}.checklist em{font-style:normal;font-size:11px;color:var(--muted)}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.is-open{transform:translateX(0)}.main-area{margin-left:0}.topbar{padding:0 16px}.icon-button{display:block}.content-area{padding:20px 14px}.metric-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.filter-bar{flex-wrap:wrap}.filter-bar input{flex-basis:100%}.page-heading{flex-direction:column}.auth-card{padding:22px}.topbar-user{display:none}}

.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:18px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header h1{margin:2px 0 6px;font-size:30px;letter-spacing:-.03em}.page-header p{margin:0;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:9px;border:1px solid transparent;font-weight:700;font-size:13px;cursor:pointer}.btn-primary{background:var(--brand);color:#fff}.btn-secondary{background:#fff;border-color:var(--border)}.btn-small{min-height:32px;padding:6px 10px;font-size:12px}.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-cards .card{margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.question-card{border:1px solid var(--border);border-radius:12px;padding:18px;margin:0 0 14px}.question-card legend{font-weight:700}.option{display:block;padding:8px 0;font-weight:500}.quick-links{display:flex;gap:10px;flex-wrap:wrap}.quick-links a{padding:10px 14px;border:1px solid var(--border);border-radius:9px;background:#fff}.clock{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted)}@media(max-width:760px){.grid-cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-header{flex-direction:column}}
/* ========================================================================
   TIC EDUSUITE UI/UX FINISHING SYSTEM v2
   Non-destructive enhancement layer. Existing utility/Tailwind classes remain
   supported; these styles add the commercial SaaS interaction system.
   ======================================================================== */
:root {
    --tic-brand: #3157d5;
    --tic-brand-deep: #203caa;
    --tic-violet: #7c3aed;
    --tic-cyan: #06b6d4;
    --tic-indigo: #4f46e5;
    --tic-ink: #101828;
    --tic-muted: #667085;
    --tic-line: #e6eaf0;
    --tic-surface: #ffffff;
    --tic-surface-soft: #f7f9fc;
    --tic-success: #0f9f6e;
    --tic-warning: #c47a00;
    --tic-danger: #d92d20;
    --tic-shadow-sm: 0 1px 2px rgba(16,24,40,.05), 0 4px 12px rgba(16,24,40,.04);
    --tic-shadow-md: 0 10px 30px rgba(16,24,40,.08), 0 2px 8px rgba(16,24,40,.04);
    --tic-shadow-lg: 0 24px 60px rgba(16,24,40,.13), 0 8px 24px rgba(16,24,40,.06);
    --tic-radius-sm: 10px;
    --tic-radius-md: 14px;
    --tic-radius-lg: 20px;
    --tic-ease: cubic-bezier(.2,.75,.25,1);
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }

/* ---------- Brand / shell ---------- */
.tic-logo { display:block; width:auto; height:42px; }
.tic-logo--compact { height:36px; }
.tic-logo--auth { height:48px; }

.sidebar {
    width: 272px;
    padding: 18px 14px;
    background:
        radial-gradient(circle at 20% 0%, rgba(79,70,229,.26), transparent 30%),
        linear-gradient(180deg,#101a3a 0%,#0b1228 62%,#091020 100%);
    border-right: 1px solid rgba(255,255,255,.07);
    box-shadow: 14px 0 40px rgba(15,23,42,.06);
}
.sidebar::after {
    content:""; position:absolute; inset:auto 14px 76px; height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
}
.brand-block { padding: 8px 8px 18px; }
.brand-block strong { color:#fff; letter-spacing:-.02em; }
.brand-block span { color:#9aa7c2; }
.brand-mark {
    width:42px; height:42px; border-radius:13px;
    background:linear-gradient(135deg,var(--tic-cyan),var(--tic-brand) 48%,var(--tic-violet));
    box-shadow:0 8px 24px rgba(49,87,213,.32);
}

.nav-stack { gap:5px; margin-top:12px; }
.nav-link {
    position:relative; display:flex; align-items:center; gap:11px;
    min-height:44px; padding:10px 12px; border:1px solid transparent;
    color:#b9c4d8; font-weight:650; letter-spacing:-.01em;
    transition: transform .22s var(--tic-ease), background .22s var(--tic-ease),
                border-color .22s var(--tic-ease), color .22s var(--tic-ease), box-shadow .22s var(--tic-ease);
}
.nav-link:hover {
    transform:translateX(3px); color:#fff;
    background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.08);
    box-shadow:0 8px 22px rgba(0,0,0,.10);
}
.nav-link:focus-visible { outline:3px solid rgba(34,211,238,.30); outline-offset:2px; }
.nav-link.is-active,
.nav-link[aria-current="page"] {
    color:#fff; background:linear-gradient(90deg,rgba(79,70,229,.30),rgba(49,87,213,.15));
    border-color:rgba(129,140,248,.22); box-shadow:inset 3px 0 0 #67e8f9,0 10px 24px rgba(0,0,0,.10);
}
.nav-link .tic-nav-icon { width:18px; height:18px; flex:0 0 auto; opacity:.88; transition:transform .22s var(--tic-ease); }
.nav-link:hover .tic-nav-icon { transform:translateX(1px) scale(1.05); }

.main-area { background:linear-gradient(180deg,#f8faff 0%,#f6f8fc 52%,#f4f7fb 100%); }
.topbar {
    height:74px; padding:0 30px; background:rgba(255,255,255,.90);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    border-bottom-color:rgba(16,24,40,.08); box-shadow:0 1px 0 rgba(255,255,255,.7);
}
.topbar > strong { font-size:14px; color:var(--tic-ink); letter-spacing:-.01em; }
.topbar-user { color:#475467; font-weight:650; }
.content-area { padding:34px; }

/* ---------- Buttons / actions ---------- */
.button, .btn {
    position:relative; overflow:hidden; gap:8px; border-radius:11px;
    transition:transform .20s var(--tic-ease), box-shadow .20s var(--tic-ease),
               background .20s var(--tic-ease), border-color .20s var(--tic-ease), color .20s var(--tic-ease);
}
.button::after, .btn::after {
    content:""; position:absolute; inset:0; transform:translateX(-110%);
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);
    transition:transform .5s var(--tic-ease); pointer-events:none;
}
.button:hover::after, .btn:hover::after { transform:translateX(110%); }
.button:hover, .btn:hover { transform:translateY(-2px); }
.button:active, .btn:active { transform:translateY(0) scale(.985); }
.button-primary, .btn-primary {
    background:linear-gradient(135deg,var(--tic-brand),var(--tic-indigo));
    box-shadow:0 8px 18px rgba(49,87,213,.20);
}
.button-primary:hover, .btn-primary:hover { box-shadow:0 12px 28px rgba(49,87,213,.28); }
.button-secondary, .btn-secondary { box-shadow:var(--tic-shadow-sm); }

/* ---------- Cards / panels ---------- */
.panel, .card, .metric-card {
    border-color:rgba(16,24,40,.075); box-shadow:var(--tic-shadow-sm);
    transition:transform .24s var(--tic-ease), box-shadow .24s var(--tic-ease), border-color .24s var(--tic-ease);
}
.panel:hover, .metric-card:hover { border-color:rgba(49,87,213,.14); box-shadow:var(--tic-shadow-md); }
.metric-card { position:relative; overflow:hidden; }
.metric-card::before {
    content:""; position:absolute; width:120px; height:120px; border-radius:50%;
    right:-55px; top:-65px; background:radial-gradient(circle,rgba(79,70,229,.11),transparent 70%);
    pointer-events:none;
}
.metric-card strong { letter-spacing:-.04em; }

/* ---------- Table system ---------- */
.table-wrap { border:1px solid rgba(16,24,40,.075); border-radius:14px; background:#fff; }
.table-wrap table { border-collapse:separate; border-spacing:0; }
table thead { position:sticky; top:0; z-index:4; }
th {
    background:#f7f9fc; color:#475467; border-bottom:1px solid #e4e7ec;
    box-shadow:0 1px 0 rgba(16,24,40,.04);
}
td { background:#fff; }
tbody tr { transition:background .18s ease, transform .18s ease; }
tbody tr:hover td { background:#f9fbff; }
tbody tr:last-child td { border-bottom:0; }

/* ---------- Forms ---------- */
.form-grid label { color:#344054; }
.form-grid input, .form-grid textarea, .form-grid select,
.filter-bar input, .filter-bar select, .auth-input {
    min-height:44px; border:1px solid #d9dee8; border-radius:11px;
    transition:border-color .20s ease, box-shadow .20s ease, background .20s ease, transform .20s ease;
}
.form-grid input:hover, .form-grid textarea:hover, .form-grid select:hover,
.filter-bar input:hover, .filter-bar select:hover { border-color:#b8c2d1; }
.form-grid input:focus, .form-grid textarea:focus, .form-grid select:focus,
.filter-bar input:focus, .filter-bar select:focus, .auth-input:focus {
    outline:none; border-color:#5b74dc; background:#fff;
    box-shadow:0 0 0 4px rgba(49,87,213,.11),0 6px 16px rgba(16,24,40,.04);
}

/* ---------- Badges / status ---------- */
.badge { gap:6px; border:1px solid transparent; }
.badge-dot, .status-dot { width:7px; height:7px; border-radius:50%; display:inline-block; }
.badge-active .badge-dot { background:#10b981; box-shadow:0 0 0 4px rgba(16,185,129,.12); }

/* ---------- Quick action cards ---------- */
.quick-action, .action-list a {
    transition:transform .20s var(--tic-ease), background .20s ease, border-color .20s ease;
}
.quick-action:hover, .action-list a:hover { transform:translateX(3px); background:#f8faff; border-color:rgba(49,87,213,.14); }

/* ---------- Modal / popup cards ---------- */
.tic-modal {
    position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px;
    background:rgba(15,23,42,.48); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
    opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease, visibility .22s ease;
}
.tic-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.tic-modal__card {
    width:min(620px,100%); max-height:min(88vh,760px); overflow:auto; position:relative;
    background:rgba(255,255,255,.98); border:1px solid rgba(255,255,255,.75);
    border-radius:22px; box-shadow:var(--tic-shadow-lg);
    transform:translateY(18px) scale(.985); opacity:.96;
    transition:transform .28s var(--tic-ease), opacity .22s ease;
}
.tic-modal.is-open .tic-modal__card { transform:translateY(0) scale(1); opacity:1; }
.tic-modal__header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:22px 24px 12px; }
.tic-modal__title { margin:0; font-size:18px; font-weight:800; letter-spacing:-.02em; color:var(--tic-ink); }
.tic-modal__body { padding:12px 24px 24px; }
.tic-modal__close { width:38px; height:38px; display:grid; place-items:center; border:1px solid #e4e7ec; border-radius:11px; background:#fff; color:#667085; cursor:pointer; transition:.2s ease; }
.tic-modal__close:hover { color:#101828; background:#f7f9fc; transform:rotate(4deg); }
body.tic-modal-lock { overflow:hidden; }

/* ---------- Toasts ---------- */
.tic-toast-region { position:fixed; right:20px; bottom:20px; z-index:1100; display:grid; gap:10px; width:min(390px,calc(100vw - 40px)); }
.tic-toast { display:flex; align-items:flex-start; gap:11px; padding:13px 14px; background:#fff; border:1px solid #e4e7ec; border-radius:14px; box-shadow:var(--tic-shadow-lg); animation:tic-toast-in .35s var(--tic-ease) both; }
.tic-toast__content { min-width:0; flex:1; }
.tic-toast__title { font-weight:800; color:#101828; font-size:13px; }
.tic-toast__message { color:#667085; font-size:12px; margin-top:2px; }
.tic-toast__close { border:0; background:none; cursor:pointer; color:#98a2b3; }
@keyframes tic-toast-in { from{opacity:0;transform:translateY(10px) scale(.98)} to{opacity:1;transform:none} }

/* ---------- Reveal / motion ---------- */
[data-reveal] { opacity:0; transform:translateY(10px); transition:opacity .55s var(--tic-ease), transform .55s var(--tic-ease); }
[data-reveal].is-visible { opacity:1; transform:none; }
.icon-spin { animation:tic-spin 1.1s linear infinite; }
.icon-pulse { animation:tic-pulse 1.8s ease-in-out infinite; }
.icon-bounce { animation:tic-bounce 1.7s ease-in-out infinite; }
@keyframes tic-spin { to{transform:rotate(360deg)} }
@keyframes tic-pulse { 50%{transform:scale(1.08);opacity:.68} }
@keyframes tic-bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }

/* ---------- Infographic primitives ---------- */
.tic-infographic { display:grid; gap:16px; }
.tic-progress { height:10px; overflow:hidden; border-radius:999px; background:#edf1f7; }
.tic-progress > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--tic-brand),var(--tic-violet),var(--tic-cyan)); transition:width .7s var(--tic-ease); }
.tic-donut { --value:75%; width:108px; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--tic-brand) var(--value),#e9edf4 0); position:relative; }
.tic-donut::after { content:""; position:absolute; inset:12px; border-radius:50%; background:#fff; }
.tic-donut strong { position:relative; z-index:1; font-size:21px; letter-spacing:-.04em; }
.tic-bar-chart { display:grid; grid-template-columns:repeat(7,1fr); align-items:end; gap:10px; height:130px; }
.tic-bar-chart span { min-height:6px; border-radius:8px 8px 3px 3px; background:linear-gradient(180deg,#4f46e5,#06b6d4); transform-origin:bottom; animation:tic-bar-in .6s var(--tic-ease) both; }
@keyframes tic-bar-in { from{transform:scaleY(0)} to{transform:scaleY(1)} }

/* ---------- Authentication ---------- */
.auth-page {
    min-height:100vh; padding:0; display:block;
    background:
        radial-gradient(circle at 8% 12%,rgba(6,182,212,.16),transparent 26%),
        radial-gradient(circle at 88% 18%,rgba(124,58,237,.16),transparent 30%),
        linear-gradient(135deg,#f7f9ff 0%,#eef4ff 48%,#f7f5ff 100%);
}
.auth-shell {
    min-height:100vh; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);
    width:min(1480px,100%); margin:0 auto; padding:22px;
}
.auth-visual {
    position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center;
    padding:clamp(40px,7vw,100px); border-radius:28px;
    background:
        radial-gradient(circle at 12% 18%,rgba(34,211,238,.26),transparent 26%),
        radial-gradient(circle at 84% 82%,rgba(139,92,246,.28),transparent 30%),
        linear-gradient(145deg,#101b43 0%,#182b68 46%,#2536a1 100%);
    color:#fff; box-shadow:var(--tic-shadow-lg);
}
.auth-visual::before { content:""; position:absolute; width:360px; height:360px; border:1px solid rgba(255,255,255,.11); border-radius:50%; right:-150px; top:-120px; box-shadow:0 0 0 40px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.018); }
.auth-visual::after { content:""; position:absolute; width:220px; height:220px; border:1px solid rgba(255,255,255,.08); border-radius:36%; left:-110px; bottom:-100px; transform:rotate(28deg); }
.auth-visual > * { position:relative; z-index:1; }
.auth-visual .brand-block { padding:0 0 34px; }
.auth-visual .brand-block span { color:#b9c8e9; }
.auth-visual h1 { max-width:620px; margin:0; font-size:clamp(38px,5vw,70px); line-height:1.01; letter-spacing:-.055em; }
.auth-visual > p { max-width:590px; margin:22px 0 0; color:#c7d2eb; font-size:16px; line-height:1.75; }
.auth-points { display:grid; grid-template-columns:repeat(3,auto); gap:10px; margin-top:34px; }
.auth-point { display:flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.055); border-radius:12px; color:#e4eafa; font-size:12px; font-weight:700; }
.auth-form { display:flex; flex-direction:column; justify-content:center; padding:clamp(28px,7vw,86px); }
.auth-form > div:first-child { width:min(470px,100%); margin:0 auto; }
.auth-heading { margin-bottom:28px; }
.auth-heading h2 { margin:8px 0 8px; font-size:34px; line-height:1.08; letter-spacing:-.045em; color:#101828; }
.auth-heading .sub { color:#667085; margin:0; line-height:1.65; }
.auth-switch { width:min(470px,100%); margin:26px auto 0; padding-top:18px; border-top:1px solid rgba(16,24,40,.08); display:flex; justify-content:center; gap:6px; font-size:13px; color:#667085; }
.auth-switch a { color:var(--tic-brand); font-weight:800; display:inline-flex; align-items:center; gap:5px; }
.auth-switch a:hover { text-decoration:underline; text-underline-offset:4px; }
.auth-error { color:#b42318; font-size:12px; font-weight:650; }
.auth-input { background:rgba(255,255,255,.88) !important; }
.auth-transitioning .auth-form > div { animation:tic-auth-out .22s ease both; }
@keyframes tic-auth-out { to{opacity:0;transform:translateY(5px)} }

/* ---------- Search / topbar helpers ---------- */
.tic-topbar-search { width:min(380px,36vw); position:relative; }
.tic-topbar-search input { width:100%; height:40px; padding:0 14px 0 40px; border:1px solid #e4e7ec; border-radius:12px; background:#f8fafc; transition:.2s ease; }
.tic-topbar-search input:focus { outline:none; background:#fff; border-color:#a8b7ed; box-shadow:0 0 0 4px rgba(49,87,213,.09); }
.tic-topbar-search .tic-search-icon { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:#98a2b3; }
.tic-icon-button { width:40px; height:40px; display:grid; place-items:center; border:1px solid #e4e7ec; border-radius:12px; background:#fff; color:#475467; cursor:pointer; transition:.2s var(--tic-ease); }
.tic-icon-button:hover { transform:translateY(-2px); border-color:#c7d1e2; box-shadow:var(--tic-shadow-sm); color:#101828; }

/* ---------- Responsive ---------- */
@media(max-width:1100px) {
    .auth-shell { grid-template-columns:1fr; max-width:720px; }
    .auth-visual { min-height:410px; padding:44px; }
    .auth-visual h1 { font-size:44px; }
    .auth-points { grid-template-columns:1fr; }
    .auth-form { padding:44px 22px; }
}
@media(max-width:760px) {
    .sidebar { width:min(290px,88vw); box-shadow:20px 0 50px rgba(0,0,0,.18); }
    .topbar { height:66px; padding:0 14px; }
    .content-area { padding:20px 14px; }
    .tic-topbar-search { display:none; }
    .tic-modal { padding:12px; }
    .tic-modal__card { border-radius:18px; }
    .tic-modal__header { padding:18px 18px 8px; }
    .tic-modal__body { padding:10px 18px 18px; }
    .auth-shell { padding:10px; }
    .auth-visual { min-height:360px; padding:30px 24px; border-radius:22px; }
    .auth-visual h1 { font-size:36px; }
    .auth-visual > p { font-size:14px; }
    .auth-form { padding:34px 14px 24px; }
    .auth-heading h2 { font-size:30px; }
    .tic-bar-chart { gap:6px; }
}
@media(max-width:480px) {
    .auth-visual { min-height:320px; }
    .auth-visual .brand-block { padding-bottom:22px; }
    .auth-visual h1 { font-size:31px; }
    .auth-points { display:none; }
    .auth-switch { flex-direction:column; align-items:center; }
}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
    [data-reveal] { opacity:1; transform:none; }
}

.tic-ripple { position:absolute; border-radius:50%; pointer-events:none; background:rgba(255,255,255,.28); transform:scale(0); animation:tic-ripple .55s ease-out forwards; }
@keyframes tic-ripple { to{transform:scale(1);opacity:0} }
.tic-keyboard-user :focus-visible { outline:3px solid rgba(6,182,212,.45) !important; outline-offset:2px; }
.button.is-loading, .btn.is-loading { cursor:wait; opacity:.78; }
.tic-toast__icon { width:26px; height:26px; border-radius:9px; display:grid; place-items:center; flex:0 0 auto; background:#ecfdf3; color:#027a48; font-weight:900; }
.tic-toast--error .tic-toast__icon { background:#fef3f2; color:#b42318; }
.tic-toast--warning .tic-toast__icon { background:#fffaeb; color:#b54708; }

/* ========================================================================== 
   TIC EduSuite Consolidation UI — responsive SaaS workspace
   ========================================================================== */
:root{
  --tic-brand:#3157d5;--tic-brand-dark:#102a72;--tic-violet:#7048e8;--tic-cyan:#0ea5c7;
  --tic-ink:#101828;--tic-muted:#667085;--tic-border:#e4e7ec;--tic-surface:#fff;
  --tic-soft:#f5f7fb;--tic-shadow-sm:0 8px 22px rgba(16,24,40,.06);--tic-shadow-lg:0 24px 70px rgba(16,24,40,.12);
}
body.app-body{background:radial-gradient(circle at 10% 0%,rgba(49,87,213,.08),transparent 28%),radial-gradient(circle at 90% 8%,rgba(112,72,232,.08),transparent 26%),#f6f8fc;}
.sidebar{background:linear-gradient(180deg,#0c1b42 0%,#101f4d 55%,#132a62 100%);box-shadow:18px 0 60px rgba(15,23,42,.10);border-right:1px solid rgba(255,255,255,.07)}
.sidebar-brand{padding:2px 6px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-link{display:flex;align-items:center;gap:11px}.brand-copy strong{font-size:15px;color:#fff}.brand-copy small{color:#aebbd8}.brand-mark{box-shadow:0 10px 26px rgba(49,87,213,.35);background:linear-gradient(135deg,#4d6ff2,#7048e8)}
.sidebar-scroll{overflow:auto;flex:1;padding-top:20px}.nav-section-label{padding:0 10px 8px;color:#8190b3;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.nav-stack{gap:5px;margin-top:0}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 11px;color:#cbd5eb;border:1px solid transparent;transition:.22s ease}.nav-link:hover,.nav-link:focus{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.08);transform:translateX(2px)}.nav-link.is-active{background:linear-gradient(90deg,rgba(87,115,244,.25),rgba(112,72,232,.12));border-color:rgba(123,145,255,.24);color:#fff;box-shadow:inset 3px 0 0 #7b91ff}.nav-icon{width:25px;text-align:center;color:#b8c6e6;font-size:15px}.nav-link.is-active .nav-icon{color:#fff}.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding:14px 8px;color:#8090b5}.security-status{display:flex;align-items:center;gap:7px;margin-bottom:5px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#32d583;box-shadow:0 0 0 4px rgba(50,213,131,.10)}
.main-area{background:transparent}.topbar{background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(228,231,236,.85);box-shadow:0 2px 18px rgba(16,24,40,.025)}.topbar-context{display:grid;gap:1px}.topbar-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#98a2b3;font-weight:800}.topbar-context strong{font-size:14px;color:#101828}.topbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.system-pill{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e5e9f1;background:#f8fafc;border-radius:999px;color:#475467;font-size:11px;font-weight:800}.profile-trigger{display:flex;align-items:center;gap:9px;border:1px solid #e4e7ec;background:#fff;border-radius:13px;padding:5px 9px;cursor:pointer}.user-avatar,.profile-dropdown-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#3157d5,#7048e8);color:#fff;font-weight:900;font-size:12px}.user-meta{display:grid;text-align:left}.user-meta strong{font-size:12px}.user-meta span{font-size:10px;color:#98a2b3}.profile-chevron{width:16px;fill:none;stroke:#98a2b3;stroke-width:1.8}.profile-menu{position:relative}.profile-dropdown{position:absolute;right:0;top:calc(100% + 9px);width:280px;background:#fff;border:1px solid #e4e7ec;border-radius:17px;box-shadow:var(--tic-shadow-lg);padding:12px;opacity:0;visibility:hidden;transform:translateY(-5px);transition:.2s ease;z-index:100}.profile-menu.is-open .profile-dropdown{opacity:1;visibility:visible;transform:none}.profile-dropdown-head{display:flex;gap:10px;align-items:center;padding:5px}.profile-dropdown-head strong,.profile-dropdown-head span{display:block}.profile-dropdown-head div span{font-size:11px;color:#98a2b3;margin-top:2px}.profile-divider{height:1px;background:#edf0f4;margin:10px 0}.profile-menu-item{display:flex;width:100%;padding:10px 9px;border:0;background:transparent;border-radius:10px;text-align:left;color:#344054;font-size:12px;font-weight:700;cursor:pointer}.profile-menu-item:hover{background:#f7f9fc}.profile-menu-danger{color:#b42318}
.content-area{padding:34px;max-width:1580px}.component-header{margin-bottom:8px}.tic-page-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding:30px;border:1px solid rgba(255,255,255,.65);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(247,249,255,.96));box-shadow:var(--tic-shadow-sm)}.tic-page-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-120px;border:1px solid rgba(49,87,213,.10);box-shadow:0 0 0 35px rgba(112,72,232,.035),0 0 0 70px rgba(14,165,199,.025)}.tic-page-hero>*{position:relative;z-index:1}.tic-page-hero h1{margin:4px 0 7px;font-size:32px;letter-spacing:-.045em;color:#101828}.tic-page-hero p{margin:0;max-width:760px;color:#667085}.tic-eyebrow{font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#3157d5}.tic-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#eef2ff;color:#3157d5;font-size:11px;font-weight:800;border:1px solid #dfe5ff;white-space:nowrap}.tic-form-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.tic-form-rail{position:sticky;top:88px;padding:12px;border:1px solid var(--tic-border);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:var(--tic-shadow-sm)}.tic-step{display:flex;gap:10px;align-items:flex-start;padding:12px 9px;border-radius:12px;color:#667085}.tic-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f2f4f7;color:#667085;font-size:10px;font-weight:900}.tic-step strong,.tic-step small{display:block}.tic-step strong{font-size:12px;color:#475467}.tic-step small{font-size:10px;margin-top:2px}.tic-step.is-active{background:#f0f4ff}.tic-step.is-active span{background:#3157d5;color:#fff}.tic-step.is-active strong{color:#1d3c9f}.tic-form-content{min-width:0}.tic-form-card{padding:25px;border:1px solid var(--tic-border);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:var(--tic-shadow-sm);margin-bottom:16px}.tic-form-card__head{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.tic-form-card__head>svg{color:#3157d5;background:#eef2ff;border-radius:12px;padding:8px;width:38px;height:38px}.tic-section-number{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;color:#3157d5}.tic-form-card h2{margin:2px 0 4px;font-size:18px;letter-spacing:-.025em}.tic-form-card p{margin:0;color:#667085;font-size:12px}.tic-form-grid{display:grid;gap:15px}.tic-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tic-form-grid.one{grid-template-columns:1fr}.tic-field{display:grid;gap:7px;color:#344054;font-size:12px;font-weight:800}.tic-field input,.tic-field select,.tic-field textarea{width:100%;min-height:44px;border:1px solid #d8dee8;border-radius:12px;padding:10px 12px;background:#fbfcfe;color:#101828;font:inherit;font-weight:500;transition:.2s ease}.tic-field textarea{resize:vertical}.tic-field input:focus,.tic-field select:focus,.tic-field textarea:focus{outline:none;border-color:#7b91ff;background:#fff;box-shadow:0 0 0 4px rgba(49,87,213,.09)}.tic-field small{font-size:10px;color:#98a2b3;font-weight:500;line-height:1.45}.required{color:#d92d20}.tic-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tic-upload-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tic-upload-card{position:relative;display:grid;gap:7px;align-content:start;padding:18px;border:1px dashed #c9d2e3;border-radius:17px;background:#fafbfe;cursor:pointer;transition:.22s ease;min-height:175px}.tic-upload-card:hover{border-color:#7b91ff;background:#f7f9ff;transform:translateY(-2px);box-shadow:var(--tic-shadow-sm)}.tic-upload-card input{position:absolute;inset:0;opacity:0;cursor:pointer}.tic-upload-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eef2ff;color:#3157d5}.tic-upload-card strong{font-size:13px}.tic-upload-card small{color:#98a2b3;font-size:10px;line-height:1.5}.tic-file-name{display:block;color:#3157d5;font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tic-note{display:flex;gap:9px;align-items:flex-start;margin-top:14px;padding:12px 14px;border:1px solid #dce5ff;background:#f5f8ff;color:#475467;border-radius:13px;font-size:11px;line-height:1.5}.tic-note svg{color:#3157d5;flex:0 0 auto;margin-top:1px}.tic-sticky-actions{position:sticky;bottom:14px;z-index:10;display:flex;justify-content:flex-end;gap:10px;padding:12px 14px;margin-top:4px;border:1px solid rgba(228,231,236,.85);border-radius:17px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);box-shadow:var(--tic-shadow-lg)}.tic-sticky-actions .button{min-height:42px}.tic-alert{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;border-radius:14px;margin-bottom:16px;border:1px solid}.tic-alert ul{margin:6px 0 0;padding-left:18px}.tic-alert--error{background:#fff7f6;color:#912018;border-color:#fecdca}.tic-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tic-plan-card{position:relative;padding:24px;border:1px solid var(--tic-border);border-radius:22px;background:#fff;box-shadow:var(--tic-shadow-sm);display:flex;flex-direction:column}.tic-plan-card.is-featured{border-color:#a9b7ff;box-shadow:0 20px 55px rgba(49,87,213,.12)}.tic-plan-top{display:flex;justify-content:space-between;gap:8px}.tic-plan-code{font-size:10px;font-weight:900;letter-spacing:.12em;color:#667085}.tic-plan-trial{font-size:10px;font-weight:900;color:#027a48;background:#ecfdf3;padding:5px 8px;border-radius:999px}.tic-plan-card h2{font-size:22px;margin:16px 0 6px}.tic-plan-card>p{color:#667085;font-size:12px;min-height:40px}.tic-plan-price{margin:18px 0;display:flex;align-items:baseline;gap:6px}.tic-plan-price strong{font-size:32px;letter-spacing:-.04em}.tic-plan-price span{font-size:11px;color:#667085}.tic-plan-features{display:grid;gap:9px;margin:5px 0 22px}.tic-plan-features div{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#475467}.tic-plan-features svg{color:#027a48;flex:0 0 auto;margin-top:2px}.tic-plan-action{width:100%;margin-top:auto}.tic-alert--success{background:#ecfdf3;color:#065f46;border-color:#a7f3d0}
@media(max-width:1000px){.tic-form-shell{grid-template-columns:1fr}.tic-form-rail{position:static;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.tic-step{justify-content:center;text-align:center;display:grid}.tic-step small{display:none}.tic-upload-grid{grid-template-columns:1fr 1fr}.tic-plan-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.content-area{padding:20px 14px}.topbar{padding:0 14px}.topbar-actions .system-pill{display:none}.user-meta{display:none}.profile-trigger{padding:5px}.tic-page-hero{padding:22px;flex-direction:column}.tic-page-hero h1{font-size:27px}.tic-form-card{padding:19px;border-radius:18px}.tic-form-grid.two,.tic-upload-grid,.tic-upload-grid.two{grid-template-columns:1fr}.tic-form-rail{grid-template-columns:repeat(5, minmax(0,1fr));padding:7px}.tic-step{padding:8px 3px}.tic-step span{margin:auto}.tic-step strong{font-size:9px}.tic-sticky-actions{bottom:8px}.tic-plan-grid{grid-template-columns:1fr}.profile-dropdown{right:-4px;width:min(290px,calc(100vw - 28px))}}
@media(max-width:480px){.tic-form-rail{overflow:auto}.tic-step{min-width:58px}.tic-step strong{font-size:8px}.tic-sticky-actions{justify-content:stretch}.tic-sticky-actions .button{flex:1}.tic-page-hero{border-radius:18px}.content-area{padding:16px 10px}}
.tic-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.tic-metric-link{transition:.22s ease}.tic-metric-link:hover{transform:translateY(-3px);border-color:#cbd5ff;box-shadow:0 16px 35px rgba(49,87,213,.09)}.tic-metric-link small{display:block;margin-top:7px;color:#3157d5;font-size:10px;font-weight:800}.tic-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:18px;margin-bottom:18px}.tic-panel-heading{display:flex;justify-content:space-between;gap:15px;margin-bottom:17px}.tic-panel-heading h2{margin:2px 0 3px}.tic-panel-heading p{margin:0;color:#667085;font-size:12px}.tic-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tic-action-grid a{padding:15px;border:1px solid #e7eaf0;border-radius:15px;background:#fbfcff;transition:.2s ease}.tic-action-grid a:hover{transform:translateY(-2px);border-color:#bfcaff;background:#f7f9ff;box-shadow:var(--tic-shadow-sm)}.tic-action-grid span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eef2ff;color:#3157d5;font-weight:900;margin-bottom:9px}.tic-action-grid strong,.tic-action-grid small{display:block}.tic-action-grid strong{font-size:12px}.tic-action-grid small{font-size:10px;color:#98a2b3;margin-top:3px}.tic-muted{color:#667085}.tic-subscription-status{display:flex;align-items:center;gap:8px;padding:11px 0 16px;color:#344054}.tic-table-scroll{border:1px solid #eef0f4;border-radius:14px}.tic-table-scroll table{min-width:720px}@media(max-width:1100px){.tic-dashboard-grid{grid-template-columns:1fr}.tic-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.tic-hero-actions{width:100%}.tic-hero-actions .button{flex:1}.tic-action-grid{grid-template-columns:1fr}.tic-dashboard-grid{gap:10px}}
.tic-cbt-question-list,.tic-candidate-list{display:grid;gap:8px;margin-bottom:15px;max-height:520px;overflow:auto}.tic-cbt-question,.tic-candidate-list label{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid #e7eaf0;border-radius:12px;background:#fbfcff;cursor:pointer}.tic-cbt-question:hover,.tic-candidate-list label:hover{border-color:#bfcaff;background:#f7f9ff}.tic-cbt-question input,.tic-candidate-list input{margin-top:3px;accent-color:#3157d5}.tic-cbt-question strong,.tic-cbt-question small,.tic-candidate-list span,.tic-candidate-list small{display:block}.tic-cbt-question strong,.tic-candidate-list span{font-size:11px}.tic-cbt-question small,.tic-candidate-list small{color:#98a2b3;font-size:9px;margin-top:3px}

/* Public SaaS marketing surface */
.public-shell{min-height:100vh;background:radial-gradient(circle at 12% 12%,rgba(49,87,213,.13),transparent 30%),radial-gradient(circle at 88% 18%,rgba(112,72,232,.11),transparent 28%),linear-gradient(180deg,#f8faff,#f5f7fb);color:#101828}.public-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:22px;padding:14px clamp(16px,4vw,60px);background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(228,231,236,.8)}.public-nav .brand-block{margin-right:auto}.public-nav .links{display:flex;gap:20px;align-items:center}.public-nav .links a{font-size:12px;font-weight:800;color:#475467}.public-nav .links a:hover{color:#3157d5}.public-section{max-width:1320px;margin:auto;padding:clamp(34px,6vw,82px) clamp(16px,4vw,40px)}.public-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:45px;align-items:center;max-width:1320px;margin:auto;padding:clamp(55px,8vw,105px) clamp(16px,4vw,40px)}.public-hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.06em;margin:8px 0 20px;color:#0f1d3b}.public-hero p{max-width:700px;color:#667085;font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-visual{position:relative}.hero-visual:before{content:"";position:absolute;inset:-20px;border-radius:38px;background:linear-gradient(135deg,rgba(49,87,213,.18),rgba(112,72,232,.12),rgba(14,165,199,.12));filter:blur(24px)}.hero-window{position:relative;padding:22px;border:1px solid rgba(255,255,255,.75);border-radius:25px;background:rgba(255,255,255,.9);box-shadow:0 30px 90px rgba(16,24,40,.13)}.hero-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-mini .card{padding:17px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}.public-shell .card{background:rgba(255,255,255,.9);border:1px solid #e4e7ec;border-radius:19px;box-shadow:0 12px 35px rgba(16,24,40,.055);padding:22px}.public-shell .card>span{display:block;color:#667085;font-size:12px;line-height:1.65}.public-shell .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.public-shell .page-header h1{font-size:clamp(34px,5vw,54px);letter-spacing:-.05em;margin:5px 0}.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-cards .card{display:flex;flex-direction:column;min-height:190px}.grid-cards .card strong{font-size:16px}.grid-cards .card span{margin-top:7px}.public-shell .button-primary{background:linear-gradient(135deg,#3157d5,#7048e8);box-shadow:0 10px 24px rgba(49,87,213,.18)}
@media(max-width:900px){.public-hero{grid-template-columns:1fr}.hero-visual{max-width:720px}.feature-grid,.grid-cards{grid-template-columns:1fr 1fr}.public-nav .links{display:none}}@media(max-width:560px){.public-nav{padding:12px 14px}.public-nav>.button{display:none}.public-hero{padding-top:45px}.public-hero h1{font-size:42px}.feature-grid,.grid-cards{grid-template-columns:1fr}.hero-mini{grid-template-columns:1fr 1fr}.public-shell .page-header{flex-direction:column}}
.tic-plan-actions{display:grid;gap:8px;margin-top:auto}.tic-plan-actions .tic-plan-action{margin-top:0}
.tic-plan-actions{display:grid;gap:8px;margin-top:auto}.tic-plan-actions .tic-plan-action{margin-top:0}


/* ==========================================================================\n   TIC EduSuite workspace refinement — sidebar, attendance and platform admin\n   ========================================================================== */
.app-shell{--workspace-max:1580px}
.sidebar{transition:transform .24s ease,width .24s ease;overflow:hidden}
.main-area{transition:margin-left .24s ease;min-width:0}
.sidebar-collapsed .sidebar{transform:translateX(-100%)}
.sidebar-collapsed .main-area{margin-left:0}
.sidebar-collapsed .topbar{padding-left:22px}
.topbar .tic-icon-button[data-sidebar-toggle]{flex:0 0 40px}
@media(min-width:761px){.topbar .tic-icon-button[data-sidebar-toggle]{display:grid}}
@media(max-width:760px){.sidebar{transform:translateX(-100%)}.sidebar.is-open{transform:translateX(0)}.sidebar-collapsed .sidebar{transform:translateX(-100%)}.sidebar-collapsed .main-area{margin-left:0}}

.tic-page-heading,.platform-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;padding:4px 2px}
.tic-page-heading h1,.platform-page-heading h1{margin:4px 0 6px;font-size:31px;line-height:1.12;letter-spacing:-.04em;color:#101828}
.tic-page-heading p,.platform-page-heading p{margin:0;max-width:760px;color:#667085;font-size:13px}
.tic-page-heading>.button,.platform-heading-actions{flex:0 0 auto}.platform-heading-actions{display:flex;gap:9px;flex-wrap:wrap}
.tic-section-kicker{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#3157d5;margin-bottom:4px}
.tic-workspace-card{background:rgba(255,255,255,.96);border:1px solid #e4e7ec;border-radius:20px;box-shadow:0 10px 30px rgba(16,24,40,.055);padding:22px;margin-bottom:18px;min-width:0}
.tic-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.tic-card-heading h2{margin:2px 0 4px;font-size:18px;letter-spacing:-.025em;color:#101828}.tic-card-heading p{margin:0;color:#667085;font-size:12px}.tic-card-heading--table{align-items:center}
.tic-info-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f0f4ff;border:1px solid #dce4ff;color:#3157d5;font-size:10px;font-weight:800;white-space:nowrap}
.tic-stat-grid{display:grid;gap:14px;margin-bottom:18px}.tic-stat-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tic-stat-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e4e7ec;border-radius:18px;padding:18px 19px;box-shadow:0 8px 22px rgba(16,24,40,.045)}
.tic-stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-45px;background:#f1f5ff}.tic-stat-card span,.tic-stat-card small{display:block;color:#667085;font-size:11px}.tic-stat-card strong{display:block;margin:7px 0 2px;font-size:29px;letter-spacing:-.045em;color:#101828;position:relative;z-index:1}.tic-stat-card small{font-size:10px;color:#98a2b3}
.tic-attendance-create{padding-bottom:24px}.tic-attendance-form{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px;align-items:end}.tic-attendance-form>label{grid-column:span 4;display:grid;gap:7px;font-size:11px;font-weight:800;color:#344054}.tic-attendance-form>label span{display:flex;gap:5px;align-items:center}.tic-attendance-form>label em{font-style:normal;font-weight:500;color:#98a2b3}.tic-attendance-form input,.tic-attendance-form select,.tic-attendance-form textarea{width:100%;border:1px solid #d8dee8;border-radius:11px;background:#fbfcfe;color:#101828;padding:10px 12px;font:inherit;font-weight:500;min-height:43px}.tic-attendance-form textarea{resize:vertical;min-height:76px}.tic-attendance-form .tic-attendance-notes{grid-column:span 8}.tic-attendance-actions{grid-column:span 4;display:flex;justify-content:flex-end}.tic-attendance-actions .button{min-height:43px}
.tic-inline-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tic-inline-filters select{height:38px;border:1px solid #d8dee8;border-radius:10px;background:#fff;padding:0 10px;color:#344054;font:inherit;font-size:11px}.tic-data-table{border:1px solid #eef0f4;border-radius:14px;overflow:auto}.tic-data-table table{min-width:720px}.tic-data-table th{background:#fafbfc}.tic-data-table td,.tic-data-table th{padding:12px 13px}.tic-data-table td strong{font-size:12px}.tic-data-table td small{font-size:10px;margin-top:2px}.tic-status-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:800;white-space:nowrap}.tic-status-pill.is-success,.tic-status-pill.status-active{background:#ecfdf3;color:#027a48}.tic-status-pill.is-neutral{background:#f2f4f7;color:#667085}.tic-status-pill.status-pending-verification,.tic-status-pill.status-trial{background:#fffaeb;color:#b54708}.tic-status-pill.status-suspended,.tic-status-pill.status-cancelled,.tic-status-pill.status-expired{background:#fef3f2;color:#b42318}.tic-status-pill.status-past-due,.tic-status-pill.status-grace-period{background:#fff7ed;color:#c2410c}.tic-empty-state{padding:34px 20px;text-align:center;color:#667085}.tic-empty-state strong,.tic-empty-state span{display:block}.tic-empty-state strong{color:#344054;font-size:12px}.tic-empty-state span{font-size:11px;margin-top:4px}.tic-pagination{margin-top:15px}.tic-setting-list{display:grid;gap:0}.tic-setting-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eef0f4;font-size:12px}.tic-setting-list>div:last-child{border-bottom:0}.tic-setting-list span{color:#667085}

/* Platform administrator */
.platform-page-heading{padding:8px 2px 18px}.platform-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.platform-kpi{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e4e7ec;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(16,24,40,.045);min-width:0}.platform-kpi-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#eef2ff;color:#3157d5;font-size:9px;font-weight:900;flex:0 0 auto}.platform-kpi-icon.is-green{background:#ecfdf3;color:#027a48}.platform-kpi-icon.is-amber{background:#fffaeb;color:#b54708}.platform-kpi-icon.is-purple{background:#f4f0ff;color:#6941c6}.platform-kpi-icon.is-cyan{background:#ecfeff;color:#0e7490}.platform-kpi-icon.is-slate{background:#f2f4f7;color:#475467}.platform-kpi small,.platform-kpi em{display:block}.platform-kpi small{font-size:10px;color:#667085}.platform-kpi strong{display:block;font-size:23px;line-height:1.15;letter-spacing:-.035em;color:#101828}.platform-kpi em{font-size:9px;color:#98a2b3;font-style:normal;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.platform-panel-main{margin-bottom:0}.platform-admin-rail{display:grid;gap:18px}.platform-action-list{display:grid}.platform-action-list a{display:grid;grid-template-columns:32px 1fr 18px;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #eef0f4;transition:.18s ease}.platform-action-list a:last-child{border-bottom:0}.platform-action-list a:hover{transform:translateX(2px)}.platform-action-number{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f1f4ff;color:#3157d5;font-size:9px;font-weight:900}.platform-action-list strong,.platform-action-list small{display:block}.platform-action-list strong{font-size:11px;color:#344054}.platform-action-list small{font-size:10px;color:#98a2b3;margin-top:2px}.platform-action-list b{color:#98a2b3;font-size:15px}.platform-health-card{padding:20px;border-radius:20px;background:linear-gradient(145deg,#101f4d,#182f72);color:#fff;box-shadow:0 18px 40px rgba(16,31,77,.18)}.platform-health-card .tic-section-kicker{color:#9fb3ff}.platform-health-title{display:flex;align-items:center;gap:8px;margin-top:8px}.platform-health-title span{width:8px;height:8px;border-radius:50%;background:#32d583;box-shadow:0 0 0 5px rgba(50,213,131,.1)}.platform-health-title strong{font-size:13px}.platform-health-card p{margin:10px 0 15px;color:#c7d2eb;font-size:11px;line-height:1.6}.platform-health-card a{font-size:11px;font-weight:800;color:#fff}.platform-code{display:inline-flex;padding:4px 7px;border-radius:7px;background:#f2f4f7;color:#475467;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace}

/* Billing workspace */
.billing-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.billing-overview-card{padding:16px 18px;border:1px solid #e4e7ec;border-radius:16px;background:#fff}.billing-overview-card span,.billing-overview-card small{display:block;color:#667085;font-size:10px}.billing-overview-card strong{display:block;font-size:27px;letter-spacing:-.04em;margin:4px 0 1px}.billing-layout{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(0,1.6fr);gap:18px;align-items:start}.billing-layout>.tic-workspace-card{margin-bottom:0}.billing-create-form,.billing-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.billing-create-form>label,.billing-edit-form>label,.billing-subscription-form>label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#344054}.billing-create-form input,.billing-create-form textarea,.billing-edit-form input,.billing-edit-form textarea,.billing-version-row input,.billing-version-row select,.billing-subscription-form input,.billing-subscription-form select{width:100%;border:1px solid #d8dee8;border-radius:10px;background:#fbfcfe;color:#101828;padding:9px 11px;font:inherit;font-weight:500;min-height:40px}.billing-create-form textarea,.billing-edit-form textarea{resize:vertical}.billing-full{grid-column:1/-1}.billing-field-label{display:block;margin-bottom:7px;font-size:11px;font-weight:800;color:#344054}.billing-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.billing-feature{display:flex!important;align-items:center;gap:8px;padding:9px 10px;border:1px solid #edf0f4;border-radius:10px;background:#fafbfe;font-size:10px!important;font-weight:700!important}.billing-feature input{width:auto!important;min-height:0!important;accent-color:#3157d5}.billing-switch{display:flex!important;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e7eaf0;border-radius:11px;background:#fafbfe}.billing-switch input{width:auto!important;min-height:0!important;accent-color:#3157d5}.billing-switch strong,.billing-switch small{display:block}.billing-switch small{font-size:9px;color:#98a2b3;font-weight:500;margin-top:2px}.billing-form-actions{display:flex;justify-content:flex-end}.billing-plan-list{display:grid;gap:10px}.billing-plan-card{border:1px solid #e4e7ec;border-radius:15px;background:#fff;overflow:hidden}.billing-plan-card summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;cursor:pointer;list-style:none}.billing-plan-card summary::-webkit-details-marker{display:none}.billing-plan-card summary>span:first-child strong,.billing-plan-card summary>span:first-child small{display:block}.billing-plan-card summary strong{font-size:13px}.billing-plan-card summary small{font-size:9px;color:#98a2b3;margin-top:2px}.billing-plan-meta{display:flex!important;align-items:center;gap:9px}.billing-plan-meta i{font-style:normal;color:#98a2b3}.billing-plan-content{padding:0 15px 15px;border-top:1px solid #eef0f4;background:#fcfdff}.billing-edit-form{padding:15px 0;border-bottom:1px solid #eef0f4}.billing-version-section{padding-top:14px}.billing-subhead{display:flex;justify-content:space-between;margin-bottom:9px}.billing-subhead h3{font-size:12px;margin:0 0 2px}.billing-subhead p{margin:0;color:#98a2b3;font-size:9px}.billing-version-row{display:grid;grid-template-columns:42px 1.1fr .9fr 80px 78px auto;gap:7px;align-items:center;margin-bottom:7px}.billing-version-row strong{font-size:10px}.billing-version-new{padding-top:7px}.billing-subscriptions{margin-top:18px}.billing-edit-pop{position:relative}.billing-edit-pop summary{list-style:none;cursor:pointer}.billing-edit-pop summary::-webkit-details-marker{display:none}.billing-subscription-form{position:absolute;right:0;top:calc(100% + 7px);width:min(360px,80vw);z-index:50;padding:15px;border:1px solid #e4e7ec;border-radius:15px;background:#fff;box-shadow:0 22px 55px rgba(16,24,40,.16);display:grid;gap:10px}.billing-subscription-form label span{font-size:10px}.billing-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.billing-two label{display:grid;gap:5px}.billing-two label span{font-size:9px}.billing-edit-pop:not([open]) .billing-subscription-form{display:none}

@media(max-width:1250px){.platform-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-layout{grid-template-columns:1fr}.platform-dashboard-grid{grid-template-columns:1fr}.platform-admin-rail{grid-template-columns:1fr 1fr}.platform-kpi em{white-space:normal}}
@media(max-width:900px){.tic-stat-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.tic-attendance-form{grid-template-columns:1fr 1fr}.tic-attendance-form>label,.tic-attendance-form .tic-attendance-notes,.tic-attendance-actions{grid-column:span 1}.tic-attendance-form .tic-attendance-notes{grid-column:1/-1}.tic-attendance-actions{grid-column:1/-1}.platform-admin-rail{grid-template-columns:1fr}.billing-version-row{grid-template-columns:42px 1fr 1fr 80px 78px}.billing-version-row button{grid-column:1/-1;justify-self:end}}
@media(max-width:760px){.content-area{padding:20px 14px}.tic-page-heading,.platform-page-heading{flex-direction:column}.tic-page-heading h1,.platform-page-heading h1{font-size:27px}.tic-card-heading,.tic-card-heading--table{flex-direction:column;align-items:flex-start}.tic-inline-filters{width:100%}.tic-inline-filters select{flex:1;min-width:130px}.tic-stat-grid--4,.platform-kpi-grid,.billing-overview{grid-template-columns:1fr 1fr}.platform-dashboard-grid{grid-template-columns:1fr}.billing-create-form,.billing-edit-form{grid-template-columns:1fr}.billing-full{grid-column:auto}.billing-feature-grid{grid-template-columns:1fr}.billing-version-row{grid-template-columns:1fr 1fr}.billing-version-row strong{grid-column:1/-1}.billing-version-row button{grid-column:1/-1;width:100%}.billing-two{grid-template-columns:1fr}.tic-attendance-form{grid-template-columns:1fr}.tic-attendance-form>label,.tic-attendance-form .tic-attendance-notes,.tic-attendance-actions{grid-column:1}.billing-subscription-form{position:fixed;right:12px;left:12px;width:auto;top:90px;max-height:calc(100vh - 110px);overflow:auto}}
@media(max-width:480px){.tic-stat-grid--4,.platform-kpi-grid,.billing-overview{grid-template-columns:1fr}.tic-workspace-card{padding:17px}.platform-kpi{padding:13px}.platform-kpi-icon{width:31px;height:31px}.platform-heading-actions{width:100%}.platform-heading-actions .button{flex:1}.tic-info-badge{white-space:normal}.billing-version-row{grid-template-columns:1fr}.billing-version-row strong{grid-column:auto}}


/* ========================================================================
   TIC EDUSUITE CONSISTENT WORKSPACE LAYER v3
   Canonical selectors used by the current Blade shell. Keep this block
   authoritative so platform, school, attendance and portal pages share one
   visual language.
   ======================================================================== */
:root {
    --tic-brand: #3157d5;
    --tic-brand-2: #7048e8;
    --tic-ink: #101828;
    --tic-muted: #667085;
    --tic-line: #e4e7ec;
    --tic-soft: #f7f9fc;
    --tic-surface: #ffffff;
    --tic-success: #027a48;
    --tic-warning: #b54708;
    --tic-danger: #b42318;
    --tic-radius: 18px;
    --tic-shadow: 0 10px 30px rgba(16,24,40,.055);
}

html { min-width: 320px; }
body.app-body { min-height: 100vh; color: var(--tic-ink); }
button, input, select, textarea { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid rgba(49,87,213,.20);
    outline-offset: 2px;
}

/* Shell */
.sidebar-brand { min-height: 58px; }
.sidebar-close {
    display: none; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px; background: rgba(255,255,255,.06); color: #fff; cursor: pointer;
}
.sidebar-backdrop { display: none; }
.icon-button.sidebar-toggle {
    display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px;
    border: 1px solid var(--tic-line); border-radius: 12px; background: #fff; color: #344054;
    cursor: pointer; transition: .2s ease;
}
.icon-button.sidebar-toggle:hover { border-color: #c7d1f7; background: #f7f9ff; color: var(--tic-brand); }
.toggle-glyph { font-size: 18px; line-height: 1; }
.sidebar-collapsed .sidebar { transform: translateX(-100%); }
.sidebar-collapsed .main-area { margin-left: 0; }
.sidebar-collapsed .topbar { padding-left: 22px; }

/* Page headings / cards */
.tic-page-heading, .platform-page-heading {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
    margin-bottom: 22px; padding: 2px;
}
.tic-page-heading h1, .platform-page-heading h1 {
    margin: 4px 0 6px; color: var(--tic-ink); font-size: 30px; line-height: 1.12; letter-spacing: -.04em;
}
.tic-page-heading p, .platform-page-heading p { margin: 0; max-width: 780px; color: var(--tic-muted); font-size: 13px; }
.tic-eyebrow, .tic-section-kicker {
    color: var(--tic-brand); font-size: 10px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase;
}
.tic-workspace-card {
    min-width: 0; margin-bottom: 18px; padding: 22px; background: rgba(255,255,255,.97);
    border: 1px solid var(--tic-line); border-radius: var(--tic-radius); box-shadow: var(--tic-shadow);
}
.tic-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.tic-card-heading h2 { margin: 3px 0 5px; font-size: 18px; line-height: 1.25; letter-spacing: -.025em; }
.tic-card-heading p { margin: 0; color: var(--tic-muted); font-size: 12px; }

/* Stats */
.tic-stat-grid { display: grid; gap: 14px; margin-bottom: 18px; }
.tic-stat-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.tic-stat-card {
    position: relative; min-width: 0; padding: 18px; overflow: hidden; background: #fff;
    border: 1px solid var(--tic-line); border-radius: 16px; box-shadow: 0 7px 20px rgba(16,24,40,.045);
}
.tic-stat-card::after { content: ''; position: absolute; width: 100px; height: 100px; right: -50px; top: -50px; border-radius: 50%; background: rgba(49,87,213,.055); }
.tic-stat-card > span { display: block; color: var(--tic-muted); font-size: 11px; font-weight: 700; }
.tic-stat-card > strong { display: block; margin-top: 5px; font-size: 28px; line-height: 1.15; letter-spacing: -.045em; }
.tic-stat-card > small { display: block; margin-top: 5px; color: #98a2b3; font-size: 10px; }

/* Buttons */
.button, .btn { min-height: 40px; border-radius: 11px; font-weight: 800; }
.button-primary, .btn-primary { background: linear-gradient(135deg, var(--tic-brand), var(--tic-brand-2)); border-color: transparent; color: #fff; box-shadow: 0 8px 20px rgba(49,87,213,.18); }
.button-secondary, .btn-secondary { background: #fff; border-color: var(--tic-line); color: #344054; }
.button-danger, .btn-danger { color: var(--tic-danger); border-color: #fecdca; background: #fff; }
.button:hover, .btn:hover { transform: translateY(-1px); }

/* Forms */
.tic-form-card { padding: 24px; background: #fff; border: 1px solid var(--tic-line); border-radius: 20px; box-shadow: var(--tic-shadow); }
.tic-form-card__header { margin-bottom: 20px; }
.tic-form-card__header h2 { margin: 3px 0 5px; font-size: 18px; }
.tic-form-card__header p { margin: 0; color: var(--tic-muted); font-size: 12px; }
.tic-form-grid { display: grid; gap: 16px; }
.tic-form-grid.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.tic-form-grid label { display: grid; gap: 7px; color: #344054; font-size: 12px; font-weight: 800; }
.tic-form-grid input, .tic-form-grid select, .tic-form-grid textarea,
.billing-create-form input, .billing-create-form select, .billing-create-form textarea,
.billing-edit-form input, .billing-edit-form select, .billing-edit-form textarea,
.billing-version-row input, .billing-version-row select,
.billing-subscription-form input, .billing-subscription-form select {
    width: 100%; min-height: 42px; border: 1px solid #d8dee8; border-radius: 11px; padding: 9px 11px;
    background: #fbfcfe; color: var(--tic-ink); transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.tic-form-grid input:focus, .tic-form-grid select:focus, .tic-form-grid textarea:focus,
.billing-create-form input:focus, .billing-create-form select:focus, .billing-create-form textarea:focus,
.billing-edit-form input:focus, .billing-edit-form select:focus, .billing-edit-form textarea:focus,
.billing-version-row input:focus, .billing-version-row select:focus,
.billing-subscription-form input:focus, .billing-subscription-form select:focus {
    outline: none; border-color: #8094ef; background: #fff; box-shadow: 0 0 0 4px rgba(49,87,213,.09);
}
.tic-check-card { display: flex !important; align-items: center; gap: 11px; padding: 13px; border: 1px solid var(--tic-line); border-radius: 12px; background: var(--tic-soft); }
.tic-check-card input { width: auto !important; min-height: auto !important; accent-color: var(--tic-brand); }
.tic-check-card strong, .tic-check-card small { display: block; }
.tic-check-card small { margin-top: 3px; color: #98a2b3; font-size: 10px; font-weight: 500; }
.tic-sticky-actions { display: flex; justify-content: flex-end; gap: 10px; }

/* Data tables */
.table-wrap, .tic-data-table { overflow: auto; border: 1px solid var(--tic-line); border-radius: 14px; background: #fff; }
.table-wrap table, .tic-data-table table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; }
.table-wrap th, .tic-data-table th { padding: 12px 13px; background: #f7f9fc; color: #667085; border-bottom: 1px solid var(--tic-line); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.table-wrap td, .tic-data-table td { padding: 13px; border-bottom: 1px solid #eef0f4; color: #344054; vertical-align: middle; }
.table-wrap tbody tr:hover td, .tic-data-table tbody tr:hover td { background: #f9fbff; }
.table-wrap td small, .tic-data-table td small { display: block; margin-top: 2px; color: #98a2b3; font-size: 10px; }
.actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Status / alerts */
.tic-status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; background: #f2f4f7; color: #475467; font-size: 10px; font-weight: 800; white-space: nowrap; }
.tic-status-pill.is-success, .status-active, .status-trial { background: #ecfdf3; color: #027a48; }
.tic-status-pill.is-warning, .status-past-due, .status-grace-period { background: #fffaeb; color: #b54708; }
.tic-status-pill.is-danger, .status-expired, .status-cancelled { background: #fff1f0; color: #b42318; }
.alert { display: flex; align-items: flex-start; gap: 9px; padding: 12px 14px; border-radius: 12px; margin-bottom: 18px; }
.alert-icon { flex: 0 0 auto; font-weight: 900; }

/* Billing */
.billing-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.billing-overview-card { padding: 17px 18px; border: 1px solid var(--tic-line); border-radius: 16px; background: #fff; box-shadow: 0 7px 20px rgba(16,24,40,.04); }
.billing-overview-card span, .billing-overview-card small { display: block; color: var(--tic-muted); font-size: 10px; }
.billing-overview-card strong { display: block; margin: 3px 0; font-size: 28px; letter-spacing: -.045em; }
.billing-layout { display: grid; grid-template-columns: minmax(330px,.78fr) minmax(0,1.55fr); gap: 18px; align-items: start; }
.billing-layout > .tic-workspace-card { margin-bottom: 0; }
.billing-create-form, .billing-edit-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.billing-create-form > label, .billing-edit-form > label, .billing-subscription-form > label { display: grid; gap: 6px; color: #344054; font-size: 11px; font-weight: 800; }
.billing-full { grid-column: 1 / -1; }
.billing-field-label { display: block; margin-bottom: 7px; color: #344054; font-size: 11px; font-weight: 800; }
.billing-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.billing-feature { display: flex !important; align-items: center; gap: 8px; padding: 10px 11px; border: 1px solid #edf0f4; border-radius: 11px; background: #fafbfe; color: #475467; font-size: 10px !important; font-weight: 700 !important; }
.billing-feature input, .billing-switch input { width: auto !important; min-height: auto !important; accent-color: var(--tic-brand); }
.billing-switch { display: flex !important; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #e7eaf0; border-radius: 12px; background: #fafbfe; }
.billing-switch strong, .billing-switch small { display: block; }
.billing-switch small { margin-top: 2px; color: #98a2b3; font-size: 9px; font-weight: 500; }
.billing-form-actions { display: flex; justify-content: flex-end; }
.billing-plan-list { display: grid; gap: 10px; }
.billing-plan-card { overflow: hidden; border: 1px solid var(--tic-line); border-radius: 15px; background: #fff; }
.billing-plan-card summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px; cursor: pointer; list-style: none; }
.billing-plan-card summary::-webkit-details-marker { display: none; }
.billing-plan-card summary > span:first-child strong, .billing-plan-card summary > span:first-child small { display: block; }
.billing-plan-card summary strong { font-size: 13px; }
.billing-plan-card summary small { margin-top: 2px; color: #98a2b3; font-size: 9px; }
.billing-plan-meta { display: flex !important; align-items: center; gap: 9px; }
.billing-plan-meta i { color: #98a2b3; font-style: normal; }
.billing-plan-content { padding: 0 15px 15px; border-top: 1px solid #eef0f4; background: #fcfdff; }
.billing-edit-form { padding: 15px 0; border-bottom: 1px solid #eef0f4; }
.billing-version-section { padding-top: 14px; }
.billing-subhead { margin-bottom: 10px; }
.billing-subhead h3 { margin: 0 0 3px; font-size: 12px; }
.billing-subhead p { margin: 0; color: #98a2b3; font-size: 9px; }
.billing-version-row { display: grid; grid-template-columns: 42px minmax(110px,1fr) minmax(90px,.8fr) 80px 70px auto; gap: 7px; align-items: center; margin-bottom: 8px; }
.billing-version-row strong { font-size: 10px; }
.billing-edit-pop { position: relative; }
.billing-edit-pop > summary { list-style: none; cursor: pointer; }
.billing-edit-pop > summary::-webkit-details-marker { display: none; }
.billing-subscription-form { position: absolute; right: 0; top: calc(100% + 7px); z-index: 50; width: min(370px,80vw); display: grid; gap: 10px; padding: 15px; border: 1px solid var(--tic-line); border-radius: 15px; background: #fff; box-shadow: 0 22px 55px rgba(16,24,40,.16); }
.billing-edit-pop:not([open]) .billing-subscription-form { display: none; }
.billing-two { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }

/* Attendance: dense, readable register */
.tic-attendance-create { padding-bottom: 18px; }
.tic-attendance-form { display: grid; grid-template-columns: 1fr 1fr 1.2fr auto; gap: 12px; align-items: end; }
.tic-attendance-form label { display: grid; gap: 6px; color: #344054; font-size: 11px; font-weight: 800; }
.tic-attendance-form input, .tic-attendance-form select, .tic-attendance-form textarea { min-height: 42px; border: 1px solid #d8dee8; border-radius: 11px; padding: 9px 11px; background: #fbfcfe; }
.tic-attendance-actions { display: flex; gap: 8px; }

/* Empty / pagination */
.tic-empty-state, .empty-state { padding: 34px 20px; text-align: center; color: var(--tic-muted); }
.tic-empty-state strong, .tic-empty-state span, .empty-state strong, .empty-state span { display: block; }
.tic-empty-state strong, .empty-state strong { color: #344054; font-size: 13px; }
.tic-empty-state span, .empty-state span { margin-top: 4px; font-size: 11px; }
.tic-pagination { margin-top: 15px; }

@media (max-width: 1250px) {
    .billing-layout { grid-template-columns: 1fr; }
    .billing-layout > .tic-workspace-card { margin-bottom: 0; }
}
@media (max-width: 1000px) {
    .tic-stat-grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tic-attendance-form { grid-template-columns: 1fr 1fr; }
    .tic-attendance-actions { grid-column: 1 / -1; }
    .billing-version-row { grid-template-columns: 42px 1fr 1fr 80px 70px; }
    .billing-version-row button { grid-column: 1 / -1; justify-self: end; }
}
@media (max-width: 760px) {
    .sidebar-close { display: grid; place-items: center; position: absolute; right: 12px; top: 12px; }
    .sidebar-backdrop { position: fixed; inset: 0; z-index: 25; background: rgba(15,23,42,.45); backdrop-filter: blur(2px); }
    .sidebar.is-open + .sidebar-backdrop { display: block; }
    .tic-page-heading, .platform-page-heading, .tic-card-heading { flex-direction: column; align-items: flex-start; }
    .tic-page-heading h1, .platform-page-heading h1 { font-size: 27px; }
    .tic-stat-grid--4, .billing-overview { grid-template-columns: 1fr 1fr; }
    .tic-form-grid.two, .billing-create-form, .billing-edit-form, .billing-feature-grid { grid-template-columns: 1fr; }
    .billing-full { grid-column: auto; }
    .tic-attendance-form { grid-template-columns: 1fr; }
    .tic-attendance-actions { grid-column: auto; }
    .billing-version-row { grid-template-columns: 1fr 1fr; }
    .billing-version-row strong, .billing-version-row button { grid-column: 1 / -1; }
    .billing-two { grid-template-columns: 1fr; }
    .billing-subscription-form { position: fixed; left: 12px; right: 12px; top: 86px; width: auto; max-height: calc(100vh - 105px); overflow: auto; }
    .topbar-actions .system-pill { display: none; }
    .user-meta { display: none; }
}
@media (max-width: 480px) {
    .tic-stat-grid--4, .billing-overview { grid-template-columns: 1fr; }
    .tic-workspace-card, .tic-form-card { padding: 17px; }
    .content-area { padding: 18px 12px; }
}
/* Academic structure workspace */
.tic-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tic-structure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.tic-workspace-card{background:#fff;border:1px solid #e4e9f3;border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(15,35,80,.06)}.tic-workspace-card .tic-card-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.tic-workspace-card h2{margin:.2rem 0 .35rem;font-size:1.25rem}.tic-workspace-card p{margin:0;color:#65728b;font-size:.88rem}.tic-form-grid{display:grid;gap:12px}.tic-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tic-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.tic-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tic-field{display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:700;color:#39455d}.tic-field input,.tic-field select,.tic-field textarea{width:100%;border:1px solid #d8dfeb;border-radius:12px;background:#fbfcff;padding:10px 12px;color:#17223b;font:inherit;font-weight:500;outline:none;transition:.15s}.tic-field input:focus,.tic-field select:focus,.tic-field textarea:focus{border-color:#5267e8;box-shadow:0 0 0 3px rgba(82,103,232,.10);background:#fff}.tic-form-actions{display:flex;align-items:end;justify-content:flex-end}.tic-field-span-full{grid-column:1/-1}.tic-form-divider{border-top:1px solid #edf0f5;margin-top:18px;padding-top:18px}.tic-mini-list{margin-top:16px;border-top:1px solid #edf0f5}.tic-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f5}.tic-mini-list strong{display:block;color:#18233c;font-size:.88rem}.tic-mini-list small{display:block;color:#78849a;margin-top:3px}.tic-status-badge{font-size:.72rem;font-weight:800;padding:5px 8px;border-radius:999px;background:#eef2ff;color:#4454bf;white-space:nowrap}.tic-chip-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.tic-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#f4f6fb;border:1px solid #e3e7f0;color:#23304a}.tic-chip small{color:#748099}@media(max-width:1050px){.tic-structure-grid{grid-template-columns:1fr}.tic-form-grid.four,.tic-form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.tic-form-grid.four,.tic-form-grid.three,.tic-form-grid.two{grid-template-columns:1fr}.tic-field-span-full{grid-column:auto}.tic-workspace-card{padding:16px;border-radius:18px}.tic-mini-list>div{align-items:flex-start;flex-direction:column}.tic-form-actions{justify-content:stretch}.tic-form-actions .button{width:100%}}
.tic-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:340px;overflow:auto;padding-right:3px}.tic-candidate-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e4e8f1;border-radius:13px;background:#fbfcff;cursor:pointer}.tic-candidate-option:hover{border-color:#b8c2e9;background:#f7f8ff}.tic-candidate-option input{accent-color:#4d5fe5}.tic-candidate-option strong{display:block;font-size:.84rem;color:#1a2640}.tic-candidate-option small{display:block;color:#7a869c;margin-top:2px}.table-subtext{display:block;color:#7a869c;font-size:.72rem;margin-top:3px}@media(max-width:700px){.tic-candidate-grid{grid-template-columns:1fr}}
.tic-option-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e7ebf3;border-radius:16px;background:#f8faff}.tic-option-editor .tic-field:last-child{grid-column:1/-1;max-width:220px}@media(max-width:640px){.tic-option-editor{grid-template-columns:1fr}.tic-option-editor .tic-field:last-child{grid-column:auto;max-width:none}}
.tic-table-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tic-exam-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.tic-exam-sidebar{min-width:0}.tic-exam-timer{min-width:120px;padding:12px 16px;border-radius:14px;background:#101d43;color:#fff;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.tic-progress{height:8px;background:#e7ebf4;border-radius:999px;overflow:hidden;margin:14px 0 7px}.tic-progress span{display:block;height:100%;background:#4e61e7;border-radius:inherit;transition:width .2s}.tic-exam-note{margin-top:14px;padding:11px;border-radius:12px;background:#f5f7fc;color:#69758d;font-size:.76rem;line-height:1.55}.tic-question-card{border:0;border-top:1px solid #e7ebf2;padding:22px 0;margin:0}.tic-question-card:first-child{border-top:0}.tic-question-card legend{display:flex;gap:12px;align-items:flex-start;width:100%;font-size:1rem;font-weight:700;color:#1b2740;line-height:1.55}.tic-question-card legend>span{flex:0 0 32px;height:32px;border-radius:10px;background:#eef1ff;color:#4659d3;display:grid;place-items:center;font-size:.78rem}.tic-option-stack{display:grid;gap:9px;margin:15px 0 0 44px}.tic-option{display:flex;gap:10px;align-items:center;padding:11px 13px;border:1px solid #e3e8f0;border-radius:12px;cursor:pointer;background:#fbfcff}.tic-option:hover{border-color:#b8c3ee;background:#f7f8ff}.tic-option input{accent-color:#4e61e7}.tic-save-state{font-size:.76rem;color:#77839a;font-weight:700}@media(max-width:850px){.tic-exam-layout{grid-template-columns:1fr}.tic-option-stack{margin-left:0}}

/* ==========================================================
   TIC EDU SUITE · DATA & WORKFLOW SYSTEM
   ========================================================== */
.tic-data-table{border:1px solid #e3e8f1;border-radius:16px;overflow:auto;background:#fff}.tic-data-table table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.tic-data-table thead th{padding:12px 14px;background:#f7f9fc;color:#475467;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900;border-bottom:1px solid #e3e8f1;white-space:nowrap}.tic-data-table tbody td{padding:13px 14px;border-bottom:1px solid #edf0f5;color:#344054;font-size:12px;vertical-align:middle}.tic-data-table tbody tr:last-child td{border-bottom:0}.tic-data-table tbody tr:hover{background:#fbfcff}.tic-data-table tbody td strong{color:#17233d;font-weight:800}.tic-table-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.button-danger{background:#fff0f0!important;color:#b42318!important;border:1px solid #fecdca!important}.button-ghost{background:#fff!important;color:#475467!important;border:1px solid #dfe4ec!important}.tic-status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#4053c6;font-size:10px;font-weight:900;text-transform:capitalize}.tic-inline-filters--wide{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.tic-inline-filters--wide select{min-width:150px}.tic-table-input{height:34px;min-width:130px;border:1px solid #d8dee8;border-radius:9px;padding:7px 9px;background:#fff}.tic-edit-card{max-width:900px;margin:0 auto}.tic-check{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#344054}.tic-check input{width:17px;height:17px;accent-color:#4e61e7}.import-error-card{border-color:#fecdca}.import-error-list{display:grid;gap:7px;margin-top:14px}.import-error-list div{padding:9px 11px;border-radius:9px;background:#fff5f4;color:#912018;font-size:11px}.tic-template-columns{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.tic-template-columns span{padding:12px;border:1px solid #e4e8f0;border-radius:10px;background:#f8faff;color:#344054;font-size:11px;font-weight:800}.exam-window-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px;border:1px solid #cfd6ff;border-radius:18px;background:linear-gradient(135deg,#f5f6ff,#fff);box-shadow:0 12px 28px rgba(46,65,150,.08)}.exam-window-banner strong,.exam-window-banner span{display:block}.exam-window-banner strong{font-size:15px;color:#17233d}.exam-window-banner span{margin-top:5px;color:#667085;font-size:11px}.exam-countdown{padding:10px 14px;border-radius:12px;background:#111d43;color:#fff;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.exam-notice-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:rgba(10,18,43,.52);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:.2s}.exam-notice-overlay.is-visible{opacity:1;pointer-events:auto}.exam-notice-card{position:relative;width:min(510px,100%);padding:30px;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(10,18,43,.28);border:1px solid #e5e9f2}.exam-notice-card h2{margin:7px 0 8px;font-size:24px;color:#17233d}.exam-notice-card p{color:#667085;margin:0 0 18px}.exam-notice-close{position:absolute;right:15px;top:15px;width:34px;height:34px;border:0;border-radius:10px;background:#f4f6fa;color:#475467;font-size:22px;cursor:pointer}.exam-notice-deadline{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 14px;border:1px solid #e6e9f0;border-radius:12px;margin-bottom:18px}.exam-notice-deadline span{font-size:10px;color:#667085;text-transform:uppercase;font-weight:800}.exam-notice-deadline strong{font-size:12px;color:#17233d}.tic-eyebrow{font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#5267e8;font-size:10px}.tic-card-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.tic-card-heading h2{margin:.25rem 0}.tic-card-heading p{margin:0;color:#667085;font-size:11px}.tic-section-kicker{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#5267e8;font-weight:900}.tic-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.tic-template-columns{grid-template-columns:1fr 1fr}.exam-window-banner{align-items:flex-start;flex-direction:column}.exam-countdown{width:100%;text-align:center}.exam-notice-card{padding:24px}.tic-inline-filters--wide select{width:100%}}

/* ==========================================================
   TIC EDU SUITE · CONSISTENT APPLICATION UI
   Shared table, action, navigation and responsive primitives.
   ========================================================== */
:root{
  --tic-primary:#3157d5;
  --tic-primary-dark:#233a9f;
  --tic-accent:#7048e8;
  --tic-ink:#17233d;
  --tic-muted:#667085;
  --tic-border:#e4e8f0;
  --tic-surface:#ffffff;
  --tic-soft:#f7f9fc;
  --tic-radius:16px;
  --tic-shadow:0 14px 35px rgba(16,24,40,.07);
}
.sidebar{overflow:hidden!important}
.sidebar .nav-stack{overflow-y:scroll!important;overflow-x:hidden!important;min-height:0!important;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:#6476bd transparent;padding-right:5px}
.sidebar .nav-stack::-webkit-scrollbar{width:7px}
.sidebar .nav-stack::-webkit-scrollbar-track{background:transparent}
.sidebar .nav-stack::-webkit-scrollbar-thumb{background:#6476bd;border-radius:999px}
.sidebar .nav-stack::-webkit-scrollbar-thumb:hover{background:#8293df}
.tic-page-heading,.page-heading{gap:18px}
.tic-workspace-card,.panel,.card{border:1px solid var(--tic-border);border-radius:var(--tic-radius);box-shadow:var(--tic-shadow);background:var(--tic-surface)}
.tic-data-table,.table-wrap{overflow-x:auto;max-width:100%}
.tic-data-table table,.table-wrap table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}
.tic-data-table thead th,.table-wrap thead th{position:sticky;top:0;z-index:1;background:#f5f7fb;color:#475467;border-bottom:1px solid #dfe4ec;padding:13px 14px;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.tic-data-table tbody td,.table-wrap tbody td{padding:13px 14px;border-bottom:1px solid #edf0f5;color:#344054;font-size:12px;vertical-align:middle}
.tic-data-table tbody tr:last-child td,.table-wrap tbody tr:last-child td{border-bottom:0}
.tic-data-table tbody tr:hover,.table-wrap tbody tr:hover{background:#fbfcff}
.tic-table-actions{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap}
.tic-table-actions .button{white-space:nowrap}
.button-small{min-height:32px!important;padding:7px 10px!important;font-size:11px!important;border-radius:9px!important}
.button-danger{color:#b42318!important;background:#fff5f4!important;border-color:#fecdca!important}
.tic-status-pill,.tic-status-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.tic-empty-state,.empty-state{padding:30px 18px;text-align:center;color:#667085}
.tic-empty-state strong,.empty-state strong{display:block;color:#344054;margin-bottom:4px}
.tic-empty-state span{display:block;font-size:11px}
.tic-inline-filters--wide{width:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tic-inline-filters--wide input,.tic-inline-filters--wide select{height:40px;border:1px solid #d8dee8;border-radius:10px;background:#fff;padding:0 11px;color:#344054;font-size:12px;min-width:145px}
.tic-inline-filters--wide input:focus,.tic-inline-filters--wide select:focus{outline:none;border-color:#5267e8;box-shadow:0 0 0 3px rgba(82,103,232,.10)}
.tic-first-login-card{max-width:860px;margin:0 auto;text-align:left;padding:30px}
.tic-first-login-icon{width:48px;height:48px;border-radius:14px;background:#eef2ff;color:#3157d5;display:grid;place-items:center;font-size:22px;font-weight:900;margin-bottom:15px}
.tic-first-login-card h2{margin:0 0 6px;color:#17233d}.tic-first-login-card>p{color:#667085;margin:0 0 22px}
.tic-template-columns--staff{grid-template-columns:repeat(3,minmax(0,1fr))}
.tic-template-columns--staff span{min-height:42px;display:flex;align-items:center}
@media(max-width:760px){.tic-page-heading{flex-direction:column;align-items:flex-start}.tic-hero-actions{width:100%}.tic-hero-actions .button{flex:1}.tic-inline-filters--wide>*{width:100%!important}.tic-data-table table,.table-wrap table{min-width:680px}.tic-first-login-card{padding:20px}.tic-template-columns--staff{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tic-template-columns--staff{grid-template-columns:1fr}.tic-data-table table,.table-wrap table{min-width:620px}}
/* Academic setup tables */
.academic-setup-grid{display:grid;grid-template-columns:1fr;gap:18px}.academic-setup-grid .tic-workspace-card{overflow:hidden}.academic-setup-grid .tic-data-table table{min-width:760px}.academic-setup-grid .tic-data-table th{background:#f7f9fd;color:#516078;border-bottom:1px solid #dfe5ef}.academic-setup-grid .tic-data-table tbody tr:hover{background:#fafbff}.academic-setup-grid .tic-data-table td{padding:11px 12px}.tic-table-actions form{display:inline-flex;margin:0}.tic-table-actions .button{white-space:nowrap}.tic-filter-panel{background:linear-gradient(180deg,#fff,#f9fbff)}.score-grid-wrap{overflow:auto;max-height:68vh}.score-entry-table{min-width:1250px}.score-entry-table th,.score-entry-table td{white-space:nowrap}.score-entry-table input.score-input{width:82px;padding:8px;border:1px solid #d8dfeb;border-radius:7px;text-align:right}.score-entry-table th small{display:block;font-size:9px;text-transform:none;letter-spacing:0;color:#8a95a8;margin-top:2px}.score-entry-table tfoot th{background:#f8faff;font-weight:800}.score-sheet-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:16px;color:#667085;font-size:12px}.component-chip-row{display:flex;flex-wrap:wrap;gap:8px}.tic-toggle{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #e1e6ef;border-radius:10px;background:#fafbfe;font-weight:700}@media(max-width:900px){.score-sheet-summary{flex-direction:column;align-items:flex-start}.academic-setup-grid .tic-form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.academic-setup-grid .tic-form-grid{grid-template-columns:1fr}.score-entry-table{min-width:1100px}}

.profile-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.profile-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;align-items:start}.profile-identity-visual{display:grid;justify-items:center;gap:7px}.profile-photo{width:88px;height:108px;border:1px solid #dbe2ea;border-radius:10px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;color:#98a2b3;font-size:10px;text-align:center;box-shadow:0 8px 22px rgba(16,24,40,.06)}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-photo-label{font-size:9px;color:#667085;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.profile-signature{width:118px;height:52px;border:1px dashed #cfd6e2;border-radius:9px;display:grid;place-items:center;overflow:hidden;color:#98a2b3;font-size:10px;background:#fff}.profile-signature img{max-width:100%;max-height:100%;object-fit:contain}.profile-signature-wrap{display:grid!important;gap:6px!important;grid-column:1/-1}.profile-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-meta-grid div{padding:11px;border:1px solid #e5e7eb;border-radius:10px;background:#fbfcfe}.profile-meta-grid span{display:block;font-size:9px;color:#667085;text-transform:uppercase;letter-spacing:.06em}.profile-meta-grid strong{display:block;margin-top:4px;font-size:12px}.profile-document-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.profile-readonly{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:18px;padding:12px;border:1px solid #e4e7ec;border-radius:10px;background:#f8fafc}.profile-readonly span{font-size:10px;color:#667085;text-transform:uppercase}.score-grid-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 14px;border:1px solid #e4e7ec;border-bottom:0;border-radius:12px 12px 0 0;background:#f8faff}.score-grid-toolbar strong{display:block}.score-grid-toolbar span,.score-grid-hint{font-size:11px;color:#667085}.score-grid-wrap{border-radius:0 0 12px 12px}.score-entry-table th:first-child,.score-entry-table td:first-child{position:sticky;left:0;z-index:4;background:#fff}.score-entry-table th:nth-child(2),.score-entry-table td:nth-child(2){position:sticky;left:55px;z-index:4;background:#fff}.score-entry-table th:nth-child(3),.score-entry-table td:nth-child(3){position:sticky;left:170px;z-index:4;background:#fff}.score-entry-table thead th{position:sticky;top:0;z-index:5;background:#f7f9fd}.score-entry-table thead th:first-child,.score-entry-table thead th:nth-child(2),.score-entry-table thead th:nth-child(3){z-index:7}.score-entry-table input.score-input:focus{outline:3px solid rgba(49,87,213,.15);border-color:#3157d5;background:#f8faff}@media(max-width:760px){.profile-card{grid-template-columns:1fr}.profile-meta-grid{grid-template-columns:1fr}.score-grid-toolbar{align-items:flex-start;flex-direction:column}}

/* QA refinement: always reserve and expose a real navigation scrollbar. */
.sidebar .nav-stack{height:calc(100vh - 126px)!important;max-height:calc(100vh - 126px)!important;min-height:0!important;overflow-y:scroll!important;overflow-x:hidden!important;scrollbar-width:auto!important;scrollbar-color:#7182d0 rgba(255,255,255,.08)!important;scrollbar-gutter:stable!important;}
.sidebar .nav-stack::-webkit-scrollbar{width:10px!important;display:block!important;}
.sidebar .nav-stack::-webkit-scrollbar-track{background:rgba(255,255,255,.08)!important;border-radius:10px!important;}
.sidebar .nav-stack::-webkit-scrollbar-thumb{background:#7182d0!important;border-radius:10px!important;border:2px solid #10204a!important;min-height:36px!important;}
.sidebar .nav-stack::-webkit-scrollbar-thumb:hover{background:#91a0e6!important;}
.nav-link,.nav-link span,.tic-data-table td,.tic-data-table th,.button,.tic-card-heading p,.table-subtext{overflow-wrap:anywhere;word-break:normal;white-space:normal;}
.subject-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:8px;}
.subject-check{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center;padding:11px 12px;border:1px solid #e1e6ef;border-radius:12px;background:#fff;}
.subject-check input{grid-row:span 2;width:17px;height:17px;accent-color:#4f63e8;}
.subject-check span{font-weight:800;color:#26344d;font-size:12px;}
.subject-check small{color:#7b879c;font-size:10px;}
.class-config-panel{display:grid;gap:18px;padding:18px;border:1px solid #e4e8f0;border-radius:16px;background:#fbfcff;}
.tic-inline-panel{margin:14px 0;padding:14px;border:1px dashed #d8dfeb;border-radius:14px;background:#fbfcff;}
@media(max-width:760px){.subject-check-grid{grid-template-columns:1fr 1fr;}.sidebar .nav-stack{height:calc(100vh - 110px)!important;max-height:calc(100vh - 110px)!important;}}

/* AI Learning Centre */
.ai-tutor-shell{max-width:1050px;margin:0 auto}.ai-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.ai-context-grid label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#344054}.ai-context-grid select,.ai-input-row input{width:100%;border:1px solid #d8dee8;border-radius:11px;background:#fbfcfe;color:#101828;padding:10px 12px;min-height:42px}.ai-messages{height:min(62vh,620px);overflow:auto;padding:16px;border:1px solid #e4e7ec;border-radius:15px;background:#f8fafc;display:grid;align-content:start;gap:10px}.ai-message{max-width:86%;padding:11px 13px;border-radius:13px;border:1px solid #e4e7ec;background:#fff;box-shadow:0 4px 12px rgba(16,24,40,.03)}.ai-message strong{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.ai-message p{white-space:pre-wrap;margin:5px 0;font-size:13px;line-height:1.6}.ai-message small{display:block;color:#667085;margin-top:5px}.ai-message-user{justify-self:end;background:#eef4ff}.ai-message-error{background:#fff4f4;border-color:#f2c5c5}.ai-input-row{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:12px}.ai-input-row button{min-width:90px}.billing-overview-card{text-decoration:none;color:inherit}.billing-subscription-quote{display:grid;gap:2px;margin-top:4px}.billing-subscription-quote small{font-size:9px;color:#667085}.billing-action-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.billing-action-row form{margin:0}.billing-action-row .button{white-space:nowrap}
@media(max-width:760px){.ai-context-grid{grid-template-columns:1fr}.ai-message{max-width:96%}.ai-input-row{grid-template-columns:1fr}.ai-input-row button{width:100%}}

/* Live-demo refinements */
.staff-dashboard-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px;margin-bottom:18px;border:1px solid #dfe5f5;border-radius:24px;background:linear-gradient(135deg,#eef3ff 0%,#ffffff 58%,#f7f5ff 100%);box-shadow:0 18px 50px rgba(49,87,213,.09)}
.staff-dashboard-hero h1{margin:5px 0 6px;font-size:32px;letter-spacing:-.035em;color:#17233d}.staff-dashboard-hero p{margin:0;color:#667085}.staff-role-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.staff-role-list span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #dbe2f5;color:#4053c6;font-size:10px;font-weight:900}.staff-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.staff-stat-card{position:relative;overflow:hidden;padding:19px;border:1px solid #e3e8f1;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(16,24,40,.05)}.staff-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#5267e8}.staff-stat-card span,.staff-stat-card small{display:block;color:#667085;font-size:10px;font-weight:800}.staff-stat-card strong{display:block;margin:7px 0 3px;font-size:25px;color:#17233d}.staff-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px;margin-bottom:18px}.staff-quick-panel{padding:22px;border-radius:20px;background:#17233d;color:#fff;box-shadow:0 18px 45px rgba(23,35,61,.18)}.staff-quick-panel h2{margin:5px 0 16px;font-size:20px}.staff-quick-links{display:grid;gap:8px}.staff-quick-links a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 13px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06)}.staff-quick-links a:hover{background:rgba(255,255,255,.11)}.staff-quick-links span{font-size:12px;font-weight:900}.staff-quick-links small{font-size:10px;color:#b9c4df}.staff-responsibility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.staff-responsibility-grid>div{padding:13px;border:1px solid #e5e9f1;border-radius:13px;background:#fbfcfe}.staff-responsibility-grid strong,.staff-responsibility-grid span{display:block}.staff-responsibility-grid strong{font-size:12px}.staff-responsibility-grid span{margin-top:5px;color:#667085;font-size:10px;line-height:1.5}.score-filter-help{margin:12px 2px 0;color:#667085;font-size:10px}.score-entry-table{min-width:1180px}
@media(max-width:900px){.staff-stat-grid{grid-template-columns:1fr 1fr}.staff-dashboard-grid{grid-template-columns:1fr}.staff-responsibility-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.staff-dashboard-hero{padding:22px;align-items:flex-start;flex-direction:column}.staff-dashboard-hero h1{font-size:26px}.staff-stat-grid{grid-template-columns:1fr 1fr}.staff-responsibility-grid{grid-template-columns:1fr}.profile-card{grid-template-columns:1fr}.profile-identity-visual{justify-items:start}.score-grid-toolbar{align-items:flex-start;flex-direction:column}}

/* Live demo workspace refinement */
.communication-compose-card{margin-bottom:16px}.communication-compose-card .tic-form-grid{max-width:none}.exam-notice-countdown{margin:0 0 18px;padding:13px 16px;border-radius:14px;background:#eef2ff;color:#3157d5;font-size:18px;font-weight:950;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.03em}.staff-dashboard-hero{margin-bottom:14px;padding:24px}.staff-stat-grid{margin-bottom:14px}.staff-dashboard-grid{gap:14px;margin-bottom:14px}.staff-dashboard-grid .tic-workspace-card,.staff-dashboard-grid .staff-quick-panel{min-height:0}.staff-responsibility-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.content-area{padding-top:22px;padding-bottom:24px}.tic-page-heading{margin-bottom:16px}.tic-workspace-card{margin-bottom:14px}@media(max-width:900px){.staff-responsibility-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.content-area{padding-top:16px;padding-bottom:18px}.exam-notice-countdown{font-size:16px}.staff-dashboard-hero{padding:20px}.tic-workspace-card{margin-bottom:12px}}

/* ========================================================================
   PLATFORM SUBSCRIPTION WORKSPACE v3
   The subscription editor uses a native dialog instead of an absolutely
   positioned form inside the horizontally scrolling data table. This keeps
   Edit usable on desktop, tablet and mobile and prevents clipping by
   .tic-data-table { overflow:auto }.
   ======================================================================== */
.billing-subscriptions .tic-card-heading--table { margin-bottom: 14px; }
.billing-subscriptions .tic-data-table { overflow-x: auto; overflow-y: visible; }
.billing-action-row { align-items: center; min-width: 220px; }
.billing-action-row .button { flex: 0 0 auto; }
.billing-edit-trigger { cursor: pointer; }
.billing-edit-dialog {
    width: min(720px, calc(100vw - 28px));
    max-width: 720px;
    max-height: calc(100vh - 40px);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: #fff;
    color: #101828;
    box-shadow: 0 28px 90px rgba(16,24,40,.25);
    overflow: hidden;
}
.billing-edit-dialog::backdrop { background: rgba(15,23,42,.48); backdrop-filter: blur(2px); }
.billing-dialog-shell { display: grid; max-height: calc(100vh - 40px); overflow: auto; }
.billing-dialog-head {
    display: flex; justify-content: space-between; gap: 18px; align-items: flex-start;
    padding: 22px 24px 17px; border-bottom: 1px solid #eef0f4; background: #fbfcff;
}
.billing-dialog-head h3 { margin: 3px 0 5px; font-size: 18px; letter-spacing: -.02em; }
.billing-dialog-head p { margin: 0; max-width: 570px; color: #667085; font-size: 11px; line-height: 1.55; }
.billing-dialog-close { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid #e4e7ec; border-radius: 10px; background: #fff; color: #667085; font-size: 21px; line-height: 1; cursor: pointer; }
.billing-dialog-close:hover { background: #f2f4f7; color: #101828; }
.billing-subscription-form--dialog { position: static; width: auto; max-height: none; padding: 22px 24px 24px; border: 0; border-radius: 0; box-shadow: none; display: grid; gap: 16px; }
.billing-dialog-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.billing-dialog-grid label { display: grid; gap: 6px; font-size: 11px; font-weight: 800; color: #344054; }
.billing-dialog-grid label span small { color: #98a2b3; font-weight: 500; }
.billing-dialog-grid input, .billing-dialog-grid select, .billing-dialog-grid textarea { width: 100%; border: 1px solid #d8dee8; border-radius: 11px; background: #fff; color: #101828; padding: 10px 12px; font: inherit; font-weight: 500; min-height: 42px; }
.billing-dialog-grid textarea { resize: vertical; min-height: 82px; }
.billing-dialog-grid input:focus, .billing-dialog-grid select:focus, .billing-dialog-grid textarea:focus { outline: 3px solid rgba(49,87,213,.12); border-color: #3157d5; }
.billing-dialog-full { grid-column: 1 / -1; }
.billing-dialog-summary { display: grid; gap: 3px; padding: 12px 14px; border: 1px solid #e7eaf0; border-radius: 12px; background: #f8fafc; }
.billing-dialog-summary span { color: #667085; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.billing-dialog-summary strong { color: #101828; font-size: 12px; }
.billing-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 2px; }
@media (max-width: 720px) {
    .billing-dialog-grid { grid-template-columns: 1fr; }
    .billing-dialog-full { grid-column: auto; }
    .billing-dialog-head, .billing-subscription-form--dialog { padding-left: 16px; padding-right: 16px; }
    .billing-dialog-actions { position: sticky; bottom: 0; background: #fff; padding: 12px 0 0; }
}

/* Subscription workspace structure: metrics, filters and responsive actions. */
.billing-subscription-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 14px; }
.billing-subscription-metrics > div { padding:12px 14px; border:1px solid #eef0f4; border-radius:13px; background:#fafbfc; }
.billing-subscription-metrics span { display:block; color:#667085; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.billing-subscription-metrics strong { display:block; margin-top:3px; color:#101828; font-size:20px; letter-spacing:-.03em; }
.billing-subscription-filters { display:grid; grid-template-columns:minmax(220px,1.6fr) minmax(160px,.7fr) auto auto; gap:9px; align-items:end; padding:13px; margin-bottom:14px; border:1px solid #eef0f4; border-radius:14px; background:#f8fafc; }
.billing-subscription-filters label { display:grid; gap:5px; color:#344054; font-size:9px; font-weight:800; }
.billing-subscription-filters input, .billing-subscription-filters select { width:100%; min-height:38px; padding:8px 10px; border:1px solid #d8dee8; border-radius:10px; background:#fff; color:#101828; font:inherit; font-size:11px; }
.billing-subscription-filters input:focus, .billing-subscription-filters select:focus { outline:3px solid rgba(49,87,213,.11); border-color:#3157d5; }
.billing-subscriptions .tic-data-table td:last-child { min-width:235px; }
@media (max-width:900px) { .billing-subscription-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .billing-subscription-filters { grid-template-columns:1fr 1fr; } .billing-subscription-filters label:first-child { grid-column:1/-1; } }
@media (max-width:560px) { .billing-subscription-metrics { grid-template-columns:1fr 1fr; } .billing-subscription-filters { grid-template-columns:1fr; } .billing-subscription-filters label:first-child { grid-column:auto; } .billing-dialog-actions { justify-content:stretch; } .billing-dialog-actions .button { flex:1; } }

/* TIC EduSuite education visual layer */
.school-brand-logo{width:38px;height:38px;object-fit:contain;border-radius:10px;background:#fff;padding:4px}.school-brand-strip{padding:8px 24px;background:rgba(255,255,255,.94);border-bottom:1px solid #e6e9ef;backdrop-filter:blur(10px)}.school-brand-strip__identity{display:flex;align-items:center;gap:10px;max-width:1500px;margin:0 auto}.school-brand-strip__identity img{width:34px;height:34px;object-fit:contain;border-radius:8px}.school-brand-strip__identity div{display:flex;flex-direction:column}.school-brand-strip__identity strong{font-size:12px;color:#172033}.school-brand-strip__identity span{font-size:10px;color:#667085}.education-orbit{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.education-orbit span{position:absolute;font-weight:900;color:rgba(49,87,213,.16);font-size:clamp(18px,2.5vw,34px);animation:eduFloat 14s ease-in-out infinite}.education-orbit span:nth-child(1){left:6%;top:15%;animation-delay:-2s}.education-orbit span:nth-child(2){left:18%;top:72%;animation-delay:-8s}.education-orbit span:nth-child(3){left:32%;top:10%;animation-delay:-5s}.education-orbit span:nth-child(4){left:78%;top:18%;animation-delay:-10s}.education-orbit span:nth-child(5){left:91%;top:62%;animation-delay:-4s}.education-orbit span:nth-child(6){left:68%;top:82%;animation-delay:-7s}.education-orbit span:nth-child(7){left:45%;top:88%;animation-delay:-1s}.education-orbit span:nth-child(8){left:84%;top:40%;animation-delay:-11s}.education-orbit span:nth-child(9){left:11%;top:42%;animation-delay:-3s}.education-orbit span:nth-child(10){left:56%;top:22%;animation-delay:-6s}.education-orbit span:nth-child(11){left:73%;top:55%;animation-delay:-9s}.education-orbit span:nth-child(12){left:39%;top:35%;animation-delay:-12s}.education-orbit span:nth-child(13){left:24%;top:25%;animation-delay:-13s;font-size:15px}.education-orbit span:nth-child(14){left:62%;top:9%;animation-delay:-14s;font-size:15px}.education-orbit span:nth-child(15){left:4%;top:88%;animation-delay:-6s;font-size:15px}.education-orbit--home{position:absolute;z-index:0}.auth-shell,.home-page>header,.home-page>main,.home-page>footer{position:relative;z-index:1}.auth-page{position:relative;overflow:hidden}.home-page{position:relative;overflow-x:hidden}@keyframes eduFloat{0%,100%{transform:translate3d(0,0,0) rotate(-5deg);opacity:.45}50%{transform:translate3d(18px,-24px,0) rotate(7deg);opacity:.9}}@media(prefers-reduced-motion:reduce){.education-orbit span{animation:none}}

/* TIC EduSuite 2026 refinements */
.student-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.student-subject-card{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid #e4e7ec;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.student-subject-card:hover{border-color:#9aaef2;box-shadow:0 8px 24px rgba(31,54,120,.08);transform:translateY(-1px)}.student-subject-check{display:inline-grid;place-items:center}.student-subject-check input{position:absolute;opacity:0}.custom-check{width:20px;height:20px;border:2px solid #cbd5e1;border-radius:6px;background:#fff;display:block;position:relative}.student-subject-check input:checked+.custom-check{background:#3157d5;border-color:#3157d5}.student-subject-check input:checked+.custom-check:after{content:'✓';color:#fff;font-size:13px;font-weight:900;position:absolute;left:3px;top:-1px}.student-subject-info{min-width:0}.student-subject-info strong{display:block;font-size:13px;color:#172033}.student-subject-info small{display:block;margin-top:2px;color:#667085;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.subject-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 13px;border:1px solid #e7eaf0;border-radius:12px;background:#f8faff}.subject-toolbar>span{margin-right:auto;color:#667085;font-size:12px}.subject-toolbar strong{color:#1d4ed8}.import-confirm-card{border-color:#c7d2fe;background:linear-gradient(145deg,#f8faff,#fff)}.tic-confirm-check{display:flex!important;align-items:flex-start;gap:10px;margin:18px 0;font-weight:650!important}.tic-confirm-check input{width:auto!important;margin-top:3px}.auth-education-field{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:5}.auth-education-field .auth-edu-object{position:absolute;display:grid;place-items:center;padding:10px 14px;min-height:44px;border:1px solid rgba(49,87,213,.16);border-radius:14px;background:rgba(255,255,255,.58);backdrop-filter:blur(8px);box-shadow:0 16px 50px rgba(31,54,120,.08);color:rgba(49,87,213,.52);font-weight:950;white-space:nowrap;animation:authEduDrift 8.5s ease-in-out infinite}.auth-education-field .auth-edu-object.equation{font-size:11px}.auth-education-field .auth-edu-object.formula{font-size:13px}.auth-education-field .auth-edu-object.symbol{width:48px;height:48px;padding:0;border-radius:50%;font-size:22px}.auth-education-field .auth-edu-object.shape{width:50px;height:50px;padding:0;border-radius:15px;font-size:24px;transform:rotate(8deg)}.auth-education-field .auth-edu-object:nth-child(1){left:3%;top:12%;animation-delay:-2s}.auth-education-field .auth-edu-object:nth-child(2){left:21%;top:8%;animation-delay:-6s}.auth-education-field .auth-edu-object:nth-child(3){left:42%;top:5%;animation-delay:-3s}.auth-education-field .auth-edu-object:nth-child(4){left:72%;top:10%;animation-delay:-8s}.auth-education-field .auth-edu-object:nth-child(5){left:91%;top:16%;animation-delay:-1s}.auth-education-field .auth-edu-object:nth-child(6){left:12%;top:28%;animation-delay:-7s}.auth-education-field .auth-edu-object:nth-child(7){left:53%;top:23%;animation-delay:-4s}.auth-education-field .auth-edu-object:nth-child(8){left:82%;top:28%;animation-delay:-9s}.auth-education-field .auth-edu-object:nth-child(9){left:2%;top:48%;animation-delay:-5s}.auth-education-field .auth-edu-object:nth-child(10){left:38%;top:39%;animation-delay:-2s}.auth-education-field .auth-edu-object:nth-child(11){left:94%;top:43%;animation-delay:-6s}.auth-education-field .auth-edu-object:nth-child(12){left:67%;top:47%;animation-delay:-10s}.auth-education-field .auth-edu-object:nth-child(13){left:7%;top:66%;animation-delay:-3s}.auth-education-field .auth-edu-object:nth-child(14){left:31%;top:61%;animation-delay:-8s}.auth-education-field .auth-edu-object:nth-child(15){left:86%;top:63%;animation-delay:-4s}.auth-education-field .auth-edu-object:nth-child(16){left:57%;top:70%;animation-delay:-11s}.auth-education-field .auth-edu-object:nth-child(17){left:18%;top:82%;animation-delay:-1s}.auth-education-field .auth-edu-object:nth-child(18){left:46%;top:85%;animation-delay:-7s}.auth-education-field .auth-edu-object:nth-child(19){left:76%;top:80%;animation-delay:-5s}.auth-education-field .auth-edu-object:nth-child(20){left:95%;top:89%;animation-delay:-9s}.auth-education-field .auth-edu-object:nth-child(21){left:27%;top:47%;animation-delay:-3s}.auth-education-field .auth-edu-object:nth-child(22){left:62%;top:13%;animation-delay:-6s}.auth-education-field .auth-edu-object:nth-child(23){left:10%;top:90%;animation-delay:-4s}.auth-education-field .auth-edu-object:nth-child(24){left:52%;top:54%;animation-delay:-8s}.auth-education-field .auth-edu-object:nth-child(25){left:88%;top:35%;animation-delay:-2s}.auth-education-field .auth-edu-object:nth-child(26){left:35%;top:13%;animation-delay:-10s}.auth-education-field .auth-edu-object:nth-child(27){left:70%;top:88%;animation-delay:-5s}.auth-education-field .auth-edu-object:nth-child(28){left:4%;top:36%;animation-delay:-7s}.auth-education-field .auth-edu-object:nth-child(29){left:59%;top:34%;animation-delay:-1s}.auth-education-field .auth-edu-object:nth-child(30){left:23%;top:71%;animation-delay:-9s}.auth-shell{position:relative;z-index:7}.auth-education-field .auth-edu-object:nth-child(n+21){opacity:.58}.auth-education-field .auth-edu-object:nth-child(3n){color:rgba(112,72,232,.62);border-color:rgba(112,72,232,.16)}.auth-education-field .auth-edu-object:nth-child(4n){color:rgba(14,165,199,.58);border-color:rgba(14,165,199,.16)}@keyframes authEduDrift{0%,100%{transform:translate3d(0,0,0) rotate(-4deg);opacity:.42}50%{transform:translate3d(14px,-24px,0) rotate(5deg);opacity:.9}}@media(max-width:760px){.student-subject-grid{grid-template-columns:1fr}.auth-education-field .auth-edu-object:nth-child(n+17){display:none}.auth-education-field .auth-edu-object{min-height:38px;padding:7px 10px}.auth-education-field .auth-edu-object.symbol,.auth-education-field .auth-edu-object.shape{width:40px;height:40px;font-size:18px}}@media(prefers-reduced-motion:reduce){.auth-education-field .auth-edu-object{animation:none}}

.education-orbit--home .edu-card{display:grid;place-items:center;min-width:48px;height:48px;padding:7px 10px;border:1px solid rgba(49,87,213,.13);border-radius:16px;background:rgba(255,255,255,.72);box-shadow:0 12px 35px rgba(31,54,120,.08);font-size:14px;color:rgba(49,87,213,.45);backdrop-filter:blur(8px)}.education-orbit--home .edu-card:nth-child(2n){border-radius:50%}.education-orbit--home .edu-card:nth-child(3n){transform:rotate(8deg)}

.credential-recovery-card{border-color:#fcd34d;background:#fffbeb}.recovered-password{display:inline-flex;margin-top:10px;padding:12px 16px;border-radius:10px;background:#111827;color:#fff;font:800 18px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}

/* Final pre-deployment consistency pass: compact, wrapped, responsive tables. */
.tic-data-table, .table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tic-data-table table, .table-wrap table { min-width:720px; table-layout:auto; }
.tic-data-table th, .table-wrap th { padding:10px 11px; white-space:normal; line-height:1.25; }
.tic-data-table td, .table-wrap td { padding:10px 11px; white-space:normal; overflow-wrap:anywhere; word-break:normal; line-height:1.4; }
.tic-data-table td:first-child, .table-wrap td:first-child { vertical-align:top; }
.tic-data-table td strong, .table-wrap td strong { overflow-wrap:anywhere; }
.score-input-invalid { border-color:#b42318 !important; background:#fff7f7 !important; box-shadow:0 0 0 3px rgba(180,35,24,.08) !important; }
.exam-header-countdown { position:sticky; top:68px; z-index:19; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 28px; background:linear-gradient(90deg,#eef4ff,#f8f7ff); border-bottom:1px solid #dfe5f5; box-shadow:0 5px 18px rgba(16,24,40,.05); }
.exam-header-countdown > div:first-child { display:grid; gap:2px; min-width:0; }
.exam-header-countdown > div:first-child strong { color:#2443a8; font-size:11px; letter-spacing:.08em; }
.exam-header-countdown > div:first-child span { color:#667085; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.exam-header-countdown__timer { display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
.exam-header-countdown__timer span { color:#667085; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.exam-header-countdown__timer strong { font-variant-numeric:tabular-nums; font-size:15px; color:#101828; }
.exam-header-countdown.is-expired { background:#fff4f2; border-color:#fecdca; }
.tic-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.tic-detail-grid > div { padding:13px; border:1px solid #e4e7ec; border-radius:13px; background:#fafbfe; min-width:0; }
.tic-detail-grid span, .tic-info-grid span { display:block; color:#98a2b3; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.tic-detail-grid strong, .tic-info-grid strong { display:block; margin-top:4px; overflow-wrap:anywhere; }
.tic-chip-list { display:flex; flex-wrap:wrap; gap:8px; }
.tic-chip { display:inline-flex; padding:7px 10px; border-radius:999px; background:#f1f4ff; color:#3157d5; font-size:11px; font-weight:800; }
.tic-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.tic-info-grid > div { padding:13px; border:1px solid #e4e7ec; border-radius:13px; background:#fafbfe; }
@media(max-width:760px){.exam-header-countdown{top:66px;padding:9px 14px;align-items:flex-start;flex-wrap:wrap}.exam-header-countdown__timer{margin-left:auto}.tic-detail-grid,.tic-info-grid{grid-template-columns:1fr 1fr}.tic-data-table table,.table-wrap table{min-width:640px}}
@media(max-width:480px){.tic-detail-grid,.tic-info-grid{grid-template-columns:1fr}.exam-header-countdown__timer{margin-left:0}.exam-header-countdown .button{width:100%}}

.result-workspace-nav { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:flex-end; margin:0 0 18px; padding:10px 12px; background:#fff; border:1px solid var(--tic-line); border-radius:14px; box-shadow:var(--tic-shadow); }
.result-nav-group { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.result-nav-group > span { width:100%; color:#98a2b3; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; margin-bottom:2px; }
.result-nav-group a { padding:7px 10px; border-radius:9px; color:#475467; font-size:11px; font-weight:800; }
.result-nav-group a:hover,.result-nav-group a.is-active { background:#eef2ff; color:#3157d5; }
.auth-floating-previews{position:absolute;right:5%;bottom:4%;width:54%;height:42%;pointer-events:none;z-index:1}.auth-floating-preview{position:absolute;width:42%;border:6px solid rgba(255,255,255,.86);border-radius:18px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.22);animation:authPreviewFloat 6s ease-in-out infinite}.auth-floating-preview img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover}.auth-floating-preview--1{left:0;top:10%;transform:rotate(-7deg);z-index:2}.auth-floating-preview--2{right:4%;top:0;transform:rotate(6deg);animation-delay:-2s}.auth-floating-preview--3{left:30%;bottom:0;transform:rotate(-1deg);animation-delay:-4s;z-index:3}.auth-powered{position:absolute;left:clamp(40px,7vw,100px);bottom:22px;z-index:4;color:#c7d2eb;font-size:11px;letter-spacing:.01em}.auth-powered strong{color:#fff}@keyframes authPreviewFloat{0%,100%{margin-top:0}50%{margin-top:-12px}}@media(max-width:900px){.auth-floating-previews{display:none}.auth-powered{left:28px;bottom:12px}}@media(prefers-reduced-motion:reduce){.auth-floating-preview{animation:none}}
.tic-notification-bell{position:relative}.tic-notification-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#e11d48;color:#fff;border:2px solid #fff;font-size:9px;font-weight:900;line-height:1;box-shadow:0 5px 12px rgba(225,29,72,.25)}
.tic-notification-bell{position:relative}.tic-notification-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#e11d48;color:#fff;border:2px solid #fff;font-size:9px;font-weight:900;line-height:1;box-shadow:0 5px 12px rgba(225,29,72,.25)}
.tic-action-menu{position:relative}.tic-action-menu summary{list-style:none}.tic-action-menu summary::-webkit-details-marker{display:none}.tic-action-menu__panel{position:absolute;right:0;top:calc(100% + 5px);z-index:40;min-width:180px;padding:6px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 18px 45px rgba(16,24,40,.15)}.tic-action-menu__panel a,.tic-action-menu__panel button{display:block;width:100%;padding:9px 10px;border:0;background:transparent;text-align:left;border-radius:8px;color:#344054;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.tic-action-menu__panel a:hover,.tic-action-menu__panel button:hover{background:#f7f9fc}.tic-action-menu__panel .danger{color:#b42318}
.sidebar-footer small{display:block;margin-top:4px;color:#94a3b8;font-size:9px;line-height:1.35}
#tic-global-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:100000;pointer-events:none;opacity:0;transition:opacity .18s ease}#tic-global-progress.is-active{opacity:1}#tic-global-progress span{display:block;width:18%;height:100%;border-radius:999px;background:linear-gradient(90deg,#3157d5,#7048e8,#0ea5c7);animation:tic-global-progress 1.25s ease-in-out infinite}@keyframes tic-global-progress{0%{transform:translateX(-110%)}55%{transform:translateX(300%)}100%{transform:translateX(600%)}}#tic-global-progress.is-done{opacity:0}
/* Final visual QA: consistent information density across the SaaS workspace. */
.tic-data-table,.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}.tic-data-table table,.table-wrap table{width:100%;min-width:720px}.tic-data-table th,.table-wrap th{padding:12px 14px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.tic-data-table td,.table-wrap td{padding:13px 14px;vertical-align:middle;line-height:1.45;word-break:normal;overflow-wrap:anywhere}.tic-data-table td small,.table-wrap td small,.table-subtext{display:block;margin-top:3px;color:#667085;font-size:11px}.tic-table-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.button{white-space:nowrap}.tic-workspace-card,.panel{overflow:visible}.tic-card-heading{gap:18px}.tic-card-heading>div{min-width:0}.tic-card-heading h2{letter-spacing:-.025em}.tic-info-badge{white-space:nowrap}
.credential-reveal{margin-bottom:14px;background:linear-gradient(135deg,#f7f9ff,#fff)}.credential-box{display:grid;grid-template-columns:160px 1fr;gap:8px;padding:14px;border:1px dashed #cbd5e1;border-radius:13px;background:#fff}.credential-box span{color:#667085;font-size:11px}.credential-box strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.03em}
