:root{--xtv-sidebar:#172033;--xtv-bg:#f3f6f9;--xtv-primary:#4361ee;--xtv-radius:14px}
html,body{min-height:100%;background:var(--xtv-bg)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#263238}
.app-sidebar{background:var(--xtv-sidebar)!important}.app-brand{border-bottom:1px solid rgba(255,255,255,.08)}
.brand-text{font-weight:700;letter-spacing:.2px}.sidebar-brand-icon{width:36px;height:36px;border-radius:10px;background:#4361ee;display:grid;place-items:center;color:white}
.nav-sidebar .nav-link{border-radius:10px;margin:.18rem .6rem;color:#cad2df}.nav-sidebar .nav-link.active,.nav-sidebar .nav-link:hover{background:rgba(67,97,238,.28);color:#fff}
.app-main{background:var(--xtv-bg)}.content-header{padding:1.25rem 1rem .5rem}.content{padding:0 1rem 1.5rem}
.card{border:0;border-radius:var(--xtv-radius);box-shadow:0 4px 20px rgba(30,42,64,.06)}.card-header{background:transparent;border-bottom:1px solid #edf0f3;padding:1rem 1.15rem}
.stat-card .icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#eef2ff;color:#4361ee;font-size:1.35rem}.stat-card h3{font-size:1.6rem;margin:0}
.btn{border-radius:10px}.form-control,.form-select{border-radius:10px;min-height:42px}.badge{padding:.48em .65em;border-radius:8px}.table>:not(caption)>*>*{padding:.78rem .7rem;vertical-align:middle}.table thead th{white-space:nowrap;color:#67717e;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.action-dropdown .dropdown-menu{min-width:190px}
.code-url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f2f4f8;border-radius:8px;padding:.5rem .65rem;word-break:break-all;font-size:.84rem}
.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#eef2ff 0,#f8fafc 45%,#eef6f6 100%);padding:1rem}.auth-card{max-width:480px;width:100%}.landing-hero{padding:7rem 0 5rem;background:radial-gradient(circle at 20% 10%,#dfe7ff 0,transparent 35%),linear-gradient(135deg,#f8fbff,#eef4ff)}.landing-navbar{backdrop-filter:blur(12px);background:rgba(255,255,255,.9)}.feature-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#eef2ff;color:#4361ee;font-size:1.4rem}.section-pad{padding:5rem 0}.pricing-card.featured{border:2px solid #4361ee;transform:translateY(-8px)}
.mobile-card-list{display:none}.touch-target{min-height:42px}.truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:767.98px){.content{padding-left:.75rem;padding-right:.75rem}.content-header{padding-left:.75rem}.desktop-table{display:none}.mobile-card-list{display:block}.mobile-record{background:#fff;border-radius:14px;padding:1rem;margin-bottom:.75rem;box-shadow:0 3px 14px rgba(30,42,64,.06)}.pricing-card.featured{transform:none}.landing-hero{padding:6rem 0 3.5rem}.btn-mobile-full{width:100%}.page-actions{display:grid;grid-template-columns:1fr;gap:.5rem}}

/* Superadmin authentication and two-factor verification. */
.admin-auth-shell{width:100%;max-width:440px;margin:0 auto}.admin-auth-shell.admin-auth-wide{max-width:590px}.admin-auth-card{border:0;border-radius:18px;box-shadow:0 20px 52px rgba(15,23,42,.14);overflow:hidden}.admin-auth-card .card-body{padding:36px 34px}.admin-auth-icon{width:58px;height:58px;margin:0 auto 16px;display:grid;place-items:center;border-radius:17px;color:#fff;font-size:1.55rem;background:linear-gradient(135deg,#4361ee,#6d28d9);box-shadow:0 14px 30px rgba(79,70,229,.24)}.admin-auth-title{margin:0 0 5px;color:#111827;font-size:1.75rem;font-weight:800;text-align:center}.admin-auth-subtitle{margin:0 0 28px;color:#6b7280;text-align:center}.admin-auth-card .form-label{font-weight:700;color:#1f2937}.admin-auth-card .form-control{min-height:50px;border-radius:11px;padding:11px 15px}.admin-password-field{position:relative}.admin-password-field .form-control{padding-right:50px}.admin-password-toggle{position:absolute;right:7px;top:50%;width:38px;height:38px;border:0;border-radius:9px;color:#94a3b8;background:transparent;transform:translateY(-50%)}.admin-password-toggle:hover,.admin-password-toggle:focus{color:#4f46e5;background:#eef2ff}.admin-auth-submit{min-height:52px;border:0;border-radius:11px;font-weight:800;background:linear-gradient(90deg,#1677ff,#6335e5);box-shadow:0 11px 24px rgba(79,70,229,.23)}.admin-auth-submit:hover,.admin-auth-submit:focus{background:linear-gradient(90deg,#1269e8,#5428cf)}.admin-auth-note{display:flex;gap:10px;align-items:flex-start;margin-top:20px;padding:13px 14px;border:1px solid #dbeafe;border-radius:11px;color:#64748b;background:#f8fbff;font-size:.88rem}.admin-auth-note i{color:#2563eb;font-size:1rem}.admin-recaptcha{min-height:78px;margin:17px 0 23px;display:flex;align-items:center;overflow:hidden}.admin-qr-box{width:230px;height:230px;margin:0 auto;padding:12px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;display:grid;place-items:center}.admin-qr-box img,.admin-qr-box canvas,.admin-qr-box svg{max-width:100%!important;height:auto!important}.admin-secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;overflow-wrap:anywhere}.admin-code-input{text-align:center;font-size:1.45rem;font-weight:800;letter-spacing:.35em;padding-left:calc(15px + .35em)!important}.admin-recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-recovery-code{padding:12px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;letter-spacing:.06em}.admin-auth-switch{text-align:center;margin-top:18px}.admin-auth-switch a{color:#4f46e5;font-weight:700;text-decoration:none}.admin-auth-switch a:hover{text-decoration:underline}@media(max-width:575.98px){.admin-auth-card .card-body{padding:29px 22px}.admin-recovery-grid{grid-template-columns:1fr}.admin-qr-box{width:210px;height:210px}.admin-code-input{font-size:1.25rem;letter-spacing:.25em}.admin-recaptcha .g-recaptcha{transform:scale(.9);transform-origin:left top}.admin-recaptcha{min-height:70px}}@media(max-width:360px){.admin-recaptcha .g-recaptcha{transform:scale(.82)}.admin-recaptcha{min-height:64px}}
