/* =====================================================================
   VeriTax — Dark glassmorphic dashboard theme
   Ported from the Claude design (Tax Verifier.dc.html), wired to live data.
   Loaded only by the dashboard route; other pages keep style.css.
   ===================================================================== */

:root {
  --vt-bg: #070C1B;
  --vt-ink: #EAF0FF;
  --vt-muted: #9AABD2;
  --vt-muted-2: #7787AE;
  --vt-gold: #F5C451;
  --vt-green: #34E0A1;
  --vt-red: #FF7B7B;
  --vt-purple: #B79CFF;
  --vt-cyan: #38E1FF;
  --vt-violet: #7C5CFF;
  --vt-panel: rgba(255,255,255,.04);
  --vt-panel-border: rgba(255,255,255,.08);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body.vt {
  background: var(--vt-bg);
  font-family: 'Noto Sans Thai', 'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
  color: var(--vt-ink);
  overflow-x: hidden;
}
body.vt a { text-decoration: none; color: inherit; }
body.vt ::-webkit-scrollbar { width: 10px; height: 10px; }
body.vt ::-webkit-scrollbar-track { background: transparent; }
body.vt ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 8px; border: 2px solid transparent; background-clip: content-box; }
body.vt ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.22); background-clip: content-box; }

/* ---- Animations ---- */
@keyframes vtAuroraA { 0%{transform:translate(0,0) scale(1)} 50%{transform:translate(8vw,6vh) scale(1.25)} 100%{transform:translate(0,0) scale(1)} }
@keyframes vtAuroraB { 0%{transform:translate(0,0) scale(1.1)} 50%{transform:translate(-10vw,-4vh) scale(.9)} 100%{transform:translate(0,0) scale(1.1)} }
@keyframes vtAuroraC { 0%{transform:translate(0,0) scale(1)} 50%{transform:translate(6vw,-8vh) scale(1.2)} 100%{transform:translate(0,0) scale(1)} }
@keyframes vtFloatGrid { 0%{background-position:0 0} 100%{background-position:0 -60px} }
@keyframes vtPopIn { 0%{opacity:0;transform:translateY(18px) scale(.97)} 100%{opacity:1;transform:translateY(0) scale(1)} }
@keyframes vtRowIn { 0%{opacity:0;transform:translateX(-14px)} 100%{opacity:1;transform:translateX(0)} }
@keyframes vtShine { 0%{transform:translateX(-120%) skewX(-18deg)} 60%,100%{transform:translateX(320%) skewX(-18deg)} }
@keyframes vtSpin { to{transform:rotate(360deg)} }
@keyframes vtPulse { 0%,100%{opacity:.55;transform:scale(.82)} 50%{opacity:1;transform:scale(1.15)} }
@keyframes vtBarGrow { 0%{transform:scaleX(0)} 100%{transform:scaleX(1)} }
@keyframes vtBarGrowY { 0%{transform:scaleY(0)} 100%{transform:scaleY(1)} }
@keyframes vtModalIn { 0%{opacity:0;transform:translateY(24px) scale(.96)} 100%{opacity:1;transform:translateY(0) scale(1)} }

/* ---- Page shell + aurora background ---- */
.vt-shell {
  position: relative; min-height: 100vh; width: 100%;
  background:
    radial-gradient(1200px 700px at 80% -10%, rgba(124,92,255,.18), transparent 60%),
    radial-gradient(1000px 800px at -5% 110%, rgba(56,225,255,.12), transparent 55%),
    linear-gradient(180deg,#070C1B 0%,#0A1024 55%,#070A16 100%);
}
.vt-aurora { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.vt-aurora i { position: absolute; border-radius: 50%; display: block; }
.vt-aurora .a { top:-18%; left:8%; width:46vw; height:46vw; background:radial-gradient(circle at 40% 40%,rgba(124,92,255,.55),transparent 62%); filter:blur(80px); animation:vtAuroraA 22s ease-in-out infinite; }
.vt-aurora .b { top:24%; right:-10%; width:42vw; height:42vw; background:radial-gradient(circle at 50% 50%,rgba(56,225,255,.40),transparent 60%); filter:blur(90px); animation:vtAuroraB 26s ease-in-out infinite; }
.vt-aurora .c { bottom:-22%; left:30%; width:40vw; height:40vw; background:radial-gradient(circle at 50% 50%,rgba(245,196,81,.30),transparent 62%); filter:blur(90px); animation:vtAuroraC 30s ease-in-out infinite; }
.vt-aurora .grid { inset:0; width:auto; height:auto; border-radius:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:60px 60px; -webkit-mask-image:radial-gradient(1200px 700px at 50% 0%,#000,transparent 80%); mask-image:radial-gradient(1200px 700px at 50% 0%,#000,transparent 80%); animation:vtFloatGrid 14s linear infinite; }

/* ---- App shell: nav rail + content column ---- */
.vt-app { position: relative; z-index: 20; display: flex; align-items: flex-start; }
.vt-rail {
  position: sticky; top: 0; align-self: flex-start; height: 100vh; width: 236px; flex-shrink: 0;
  padding: 22px 16px; border-right: 1px solid rgba(255,255,255,.07);
  background: rgba(9,14,30,.5); backdrop-filter: blur(16px);
  display: flex; flex-direction: column; gap: 5px;
}
.vt-rail-title { font-size: 11px; color: #56678F; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; padding: 6px 12px 8px; }
.vt-rail-item {
  position: relative; display: flex; align-items: center; gap: 12px; padding: 11px 13px;
  border-radius: 13px; cursor: pointer; font-family: inherit; font-size: 13.5px; font-weight: 600;
  text-align: left; border: 1px solid transparent; background: transparent; color: var(--vt-muted); transition: .18s;
}
.vt-rail-item:hover { background: rgba(255,255,255,.07); color: var(--vt-ink); }
.vt-rail-item.active { background: rgba(245,196,81,.12); border-color: rgba(245,196,81,.25); color: var(--vt-ink); }
.vt-rail-item .bar { position: absolute; left: -16px; top: 50%; transform: translateY(-50%); width: 3px; height: 0; border-radius: 0 3px 3px 0; background: var(--vt-gold); transition: .2s; }
.vt-rail-item.active .bar { height: 60%; }
.vt-rail-item .lbl { flex: 1; }
.vt-rail-item .badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: rgba(245,196,81,.18); border: 1px solid rgba(245,196,81,.35); color: var(--vt-gold); font-size: 11px; font-weight: 700; display: grid; place-items: center; }
.vt-quota { margin-top: auto; padding: 16px; border-radius: 16px; background: linear-gradient(160deg,rgba(124,92,255,.18),rgba(56,225,255,.08)); border: 1px solid rgba(124,92,255,.28); }
.vt-quota-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.vt-quota-head span:first-child { font-size: 12px; font-weight: 700; color: #D5DEF6; }
.vt-quota-head span:last-child { font-size: 11px; color: var(--vt-purple); font-weight: 700; }
.vt-quota-track { height: 7px; border-radius: 99px; background: rgba(255,255,255,.1); overflow: hidden; }
.vt-quota-fill { height: 100%; border-radius: 99px; background: linear-gradient(90deg,#7C5CFF,#38E1FF); transform-origin: left; animation: vtBarGrow 1s cubic-bezier(.2,.8,.2,1) both; }
.vt-quota-note { font-size: 11px; color: var(--vt-muted); margin-top: 9px; }
.vt-content { flex: 1; min-width: 0; }

/* ---- Top bar ---- */
.vt-header {
  position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 20px;
  padding: 16px 34px; backdrop-filter: blur(18px) saturate(140%);
  background: rgba(9,14,30,.62); border-bottom: 1px solid var(--vt-panel-border);
}
.vt-logo { display: flex; align-items: center; gap: 13px; }
.vt-logo-mark { position: relative; width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg,#F5C451,#A8871D); display: grid; place-items: center; box-shadow: 0 8px 24px -6px rgba(245,196,81,.6); overflow: hidden; }
.vt-logo-mark::after { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent,rgba(255,255,255,.7),transparent); width:40%; animation:vtShine 5s ease-in-out infinite; }
.vt-logo-name { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:17px; letter-spacing:.2px; line-height:1; }
.vt-logo-name span { color: var(--vt-gold); }
.vt-logo-sub { font-size:11px; color:#8FA0C8; font-weight:500; margin-top:2px; }

.vt-company { display:flex; align-items:center; gap:10px; margin-left:6px; padding:8px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:var(--vt-ink); cursor:pointer; font-family:inherit; font-size:13px; transition:.2s; }
.vt-company:hover,.vt-sw-wrap.open .vt-company { background:rgba(255,255,255,.09); border-color:rgba(245,196,81,.4); }
.vt-company-badge { width:22px; height:22px; border-radius:7px; background:linear-gradient(135deg,#7C5CFF,#38E1FF); display:grid; place-items:center; font-weight:700; font-size:11px; color:#fff; flex-shrink:0; }

/* Company switcher custom dropdown */
.vt-sw-wrap { position:relative; }
.vt-sw-btn { background:none; border:none; }
.vt-sw-name { font-weight:600; max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vt-sw-caret { color:#9AABD2; flex-shrink:0; transition:transform .2s; }
.vt-sw-wrap.open .vt-sw-caret { transform:rotate(180deg); }
.vt-sw-panel {
  position:absolute; top:calc(100% + 8px); left:0; z-index:300;
  min-width:240px; max-width:300px;
  background:linear-gradient(160deg,rgba(18,26,52,.97),rgba(11,17,38,.98));
  border:1px solid rgba(255,255,255,.12); border-radius:14px;
  padding:6px; box-shadow:0 20px 50px -10px rgba(0,0,0,.7);
  opacity:0; transform:translateY(-6px) scale(.98); pointer-events:none;
  transition:opacity .18s,transform .18s;
}
.vt-sw-wrap.open .vt-sw-panel { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.vt-sw-section { font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#7787AE; padding:6px 10px 4px; }
.vt-sw-item {
  display:flex; align-items:center; gap:10px; width:100%; padding:9px 10px;
  border-radius:9px; border:none; background:transparent; cursor:pointer;
  color:var(--vt-ink); font-family:inherit; font-size:13px; text-decoration:none;
  transition:background .15s; text-align:left;
}
.vt-sw-item:hover { background:rgba(124,92,255,.12); }
.vt-sw-item.active { background:rgba(245,196,81,.07); }
.vt-sw-item-name { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }
.vt-sw-item.active .vt-sw-item-name { font-weight:700; color:#EAF0FF; }
.vt-sw-divider { height:1px; background:rgba(255,255,255,.07); margin:5px 6px; }
.vt-sw-create { color:#A78BFF; font-weight:600; }
.vt-sw-create:hover { background:rgba(124,92,255,.18); }
.vt-sw-plus { width:20px; height:20px; border-radius:6px; background:rgba(124,92,255,.2); display:grid; place-items:center; flex-shrink:0; color:#A78BFF; }

.vt-search { flex:1; display:flex; justify-content:center; }
.vt-search-inner { position:relative; width:100%; max-width:420px; }
.vt-search-inner svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); }
.vt-search-inner input { width:100%; padding:11px 14px 11px 40px; border-radius:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:var(--vt-ink); font-family:inherit; font-size:13px; outline:none; transition:.2s; }
.vt-search-inner input::placeholder { color:#7787AE; }
.vt-search-inner input:focus { border-color:rgba(56,225,255,.5); background:rgba(56,225,255,.06); }

.vt-aiusage { display:flex; align-items:center; gap:9px; padding:8px 14px; border-radius:12px; border:1px solid rgba(124,92,255,.28); background:rgba(124,92,255,.1); white-space:nowrap; }
.vt-aiusage .dot { width:8px; height:8px; border-radius:50%; background:#38E1FF; animation:vtPulse 2s ease-in-out infinite; }
.vt-aiusage span { font-size:12px; color:#C9D3F2; font-weight:600; }
.vt-aiusage b { color:#fff; }

.vt-avatar { width:40px; height:40px; border-radius:12px; background:linear-gradient(135deg,#34E0A1,#0F766E); display:grid; place-items:center; font-weight:700; color:#06241A; cursor:pointer; font-size:14px; flex-shrink:0; }
.vt-iconbtn { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:var(--vt-muted); cursor:pointer; transition:.2s; flex-shrink:0; }
.vt-iconbtn:hover { background:rgba(255,255,255,.09); color:var(--vt-ink); }

/* ---- Nav strip (secondary links) ---- */
.vt-nav { position:relative; z-index:20; display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:10px 34px; background:rgba(9,14,30,.35); border-bottom:1px solid rgba(255,255,255,.05); }
.vt-nav a { display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:10px; font-size:13px; font-weight:600; color:var(--vt-muted); transition:.18s; }
.vt-nav a:hover { background:rgba(255,255,255,.06); color:var(--vt-ink); }
.vt-nav a.active { background:rgba(245,196,81,.12); color:var(--vt-gold); }

/* ---- Main ---- */
.vt-main { position:relative; z-index:10; max-width:1320px; margin:0 auto; padding:30px 34px 80px; }

/* Hero */
.vt-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:26px; animation:vtPopIn .6s cubic-bezier(.2,.8,.2,1) both; }
.vt-badge { display:inline-flex; align-items:center; gap:8px; padding:5px 12px; border-radius:999px; background:rgba(245,196,81,.12); border:1px solid rgba(245,196,81,.28); font-size:12px; color:var(--vt-gold); font-weight:600; margin-bottom:14px; }
.vt-hero h1 { font-family:'Outfit',sans-serif; font-weight:800; font-size:34px; line-height:1.1; letter-spacing:-.5px; }
.vt-hero p { color:var(--vt-muted); font-size:15px; margin-top:8px; max-width:520px; }
.vt-hero p .rev { color:var(--vt-gold); font-weight:700; }
.vt-hero p .rdy { color:var(--vt-green); font-weight:700; }

.vt-upload-btn { position:relative; display:flex; align-items:center; gap:10px; padding:14px 22px; border-radius:14px; border:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:14px; color:#0A1024; background:linear-gradient(135deg,#F5C451,#E0A93B); box-shadow:0 12px 30px -8px rgba(245,196,81,.55); transition:.22s; overflow:hidden; }
.vt-upload-btn:hover { transform:translateY(-2px); box-shadow:0 18px 38px -8px rgba(245,196,81,.7); }
.vt-upload-btn::after { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent,rgba(255,255,255,.6),transparent); width:35%; animation:vtShine 4.5s ease-in-out infinite; }

/* KPI cards */
.vt-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:14px; }
.vt-kpi { position:relative; padding:20px; border-radius:20px; background:var(--vt-panel); border:1px solid var(--vt-panel-border); backdrop-filter:blur(14px); overflow:hidden; animation:vtPopIn .6s cubic-bezier(.2,.8,.2,1) both; }
.vt-kpi .glow { position:absolute; top:-30px; right:-30px; width:120px; height:120px; border-radius:50%; filter:blur(30px); opacity:.5; }
.vt-kpi-head { position:relative; display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.vt-kpi-icon { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; }
.vt-kpi-label { font-size:13px; color:var(--vt-muted); font-weight:600; }
.vt-kpi-val { position:relative; display:flex; align-items:baseline; gap:6px; }
.vt-kpi-num { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:34px; letter-spacing:-1px; color:#fff; }
.vt-kpi-suffix { font-size:14px; font-weight:700; }
.vt-kpi-trend { position:relative; display:flex; align-items:center; gap:5px; margin-top:8px; font-size:12px; font-weight:600; }

/* Queue strip */
.vt-section-head { display:flex; align-items:center; gap:10px; margin:24px 0 14px; }
.vt-section-head h2 { font-family:'Outfit',sans-serif; font-weight:700; font-size:18px; }
.vt-section-head span { font-size:12px; color:var(--vt-muted-2); }
.vt-queues { display:grid; grid-template-columns:repeat(5,1fr); gap:13px; margin-bottom:22px; }
.vt-queue { position:relative; text-align:left; display:block; padding:16px 17px; border-radius:18px; cursor:pointer; font-family:inherit; background:var(--vt-panel); border:1.5px solid var(--vt-panel-border); transition:.22s; overflow:hidden; animation:vtPopIn .55s cubic-bezier(.2,.8,.2,1) both; }
.vt-queue:hover { transform:translateY(-3px); }
.vt-queue.active { box-shadow:0 10px 30px -10px rgba(245,196,81,.35); }
.vt-queue-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.vt-queue-icon { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; }
.vt-queue-count { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:26px; color:#fff; line-height:1; }
.vt-queue-label { font-size:12.5px; color:#AFBEDF; font-weight:600; margin-top:4px; }

/* Document table */
.vt-table { border-radius:24px; background:rgba(255,255,255,.035); border:1px solid var(--vt-panel-border); backdrop-filter:blur(16px); overflow:hidden; animation:vtPopIn .6s cubic-bezier(.2,.8,.2,1) both; }
.vt-table-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; border-bottom:1px solid rgba(255,255,255,.07); flex-wrap:wrap; }
.vt-table-head h3 { font-family:'Outfit',sans-serif; font-weight:700; font-size:16px; }
.vt-pill { padding:3px 10px; border-radius:999px; background:rgba(56,225,255,.12); border:1px solid rgba(56,225,255,.28); font-size:12px; color:#7FE8FF; font-weight:600; }
.vt-chips { display:flex; gap:8px; flex-wrap:wrap; }
.vt-chip { padding:7px 14px; border-radius:999px; cursor:pointer; font-family:inherit; font-size:12.5px; font-weight:600; transition:.18s; color:#AFBEDF; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); }
.vt-chip:hover { background:rgba(255,255,255,.09); }
.vt-chip.active { color:#0A1024; background:linear-gradient(135deg,#F5C451,#E0A93B); border-color:transparent; }

.vt-row-head, .vt-row { display:grid; grid-template-columns:2.4fr 1.3fr 1.2fr 1fr 1.1fr 0.9fr 44px; gap:14px; }
.vt-row-head { padding:13px 22px; font-size:11.5px; color:var(--vt-muted-2); font-weight:700; letter-spacing:.4px; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.05); }
.vt-row { align-items:center; padding:15px 22px; border-bottom:1px solid rgba(255,255,255,.045); cursor:pointer; transition:.16s; animation:vtRowIn .5s ease both; color:inherit; }
.vt-row:hover { background:rgba(124,92,255,.07); }
.vt-cell-seller { display:flex; align-items:center; gap:12px; min-width:0; }
.vt-init { flex-shrink:0; width:40px; height:40px; border-radius:11px; display:grid; place-items:center; font-weight:700; font-size:14px; color:#fff; font-family:'Space Grotesk',sans-serif; }
.vt-seller-name { font-size:13.5px; font-weight:600; color:var(--vt-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vt-seller-meta { font-size:11.5px; color:var(--vt-muted-2); margin-top:2px; }
.vt-type { padding:4px 10px; border-radius:8px; font-size:11.5px; font-weight:600; }
.vt-cat { font-size:12.5px; color:#C5D0EC; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vt-amount { text-align:right; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13.5px; color:var(--vt-ink); }
.vt-conf { display:flex; align-items:center; gap:8px; }
.vt-conf-track { flex:1; height:6px; border-radius:99px; background:rgba(255,255,255,.08); overflow:hidden; }
.vt-conf-fill { height:100%; border-radius:99px; transform-origin:left; animation:vtBarGrow .8s cubic-bezier(.2,.8,.2,1) both; }
.vt-conf-num { font-size:12px; font-weight:700; min-width:30px; }
.vt-status { display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px; font-size:11.5px; font-weight:700; }
.vt-status .sdot { width:6px; height:6px; border-radius:50%; }
.vt-chevron { display:grid; place-items:center; }

.vt-empty { padding:60px 20px; text-align:center; color:var(--vt-muted-2); }
.vt-empty .t { font-size:15px; font-weight:600; color:#AFBEDF; }
.vt-empty .s { font-size:13px; margin-top:6px; }

/* Pagination */
.vt-pager { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 22px; flex-wrap:wrap; }
.vt-pager .info { font-size:12.5px; color:var(--vt-muted-2); }
.vt-pager .pages { display:flex; gap:6px; flex-wrap:wrap; }
.vt-pager a { min-width:32px; text-align:center; padding:6px 10px; border-radius:9px; font-size:12.5px; font-weight:600; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); color:#AFBEDF; }
.vt-pager a.active { background:linear-gradient(135deg,#F5C451,#E0A93B); color:#0A1024; border-color:transparent; }

/* Upload panel (collapsible) */
.vt-upload-panel { margin-bottom:22px; border-radius:20px; background:var(--vt-panel); border:1px solid var(--vt-panel-border); backdrop-filter:blur(14px); padding:22px; display:none; }
.vt-upload-panel.open { display:block; animation:vtPopIn .4s ease both; }
.vt-dropzone { border:1.5px dashed rgba(255,255,255,.18); border-radius:16px; padding:34px 20px; text-align:center; cursor:pointer; transition:.2s; }
.vt-dropzone:hover, .vt-dropzone.dragover { border-color:rgba(56,225,255,.5); background:rgba(56,225,255,.05); }
.vt-dropzone .t { font-size:15px; font-weight:600; color:var(--vt-ink); margin-top:8px; }
.vt-dropzone .s { font-size:12.5px; color:var(--vt-muted-2); margin-top:4px; }
.vt-mini-btn { margin-top:12px; padding:9px 18px; border-radius:11px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05); color:var(--vt-ink); font-family:inherit; font-weight:600; font-size:13px; cursor:pointer; }
.vt-mini-btn:hover { background:rgba(255,255,255,.1); }
.sr-only-file-input { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }

/* Admin banner */
.vt-admin-banner { position:relative; z-index:20; display:flex; align-items:center; gap:10px; padding:10px 34px; background:rgba(124,92,255,.12); border-bottom:1px solid rgba(124,92,255,.25); font-size:13px; color:#C9D3F2; }
.vt-admin-banner a { color:var(--vt-gold); font-weight:600; }

/* ---- Generic form card (create-company etc.) ---- */
.vt-formwrap { max-width: 720px; margin: 0 auto; padding: 30px 34px 80px; position: relative; z-index: 10; }
.vt-card { border-radius: 22px; background: var(--vt-panel); border: 1px solid var(--vt-panel-border); backdrop-filter: blur(14px); padding: 30px; animation: vtPopIn .5s cubic-bezier(.2,.8,.2,1) both; }
.vt-card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 6px; }
.vt-card-icon { width: 50px; height: 50px; border-radius: 14px; background: linear-gradient(135deg,#7C5CFF,#38E1FF); display: grid; place-items: center; flex-shrink: 0; box-shadow: 0 10px 26px -8px rgba(124,92,255,.6); }
.vt-card h1 { font-family: 'Outfit',sans-serif; font-weight: 800; font-size: 24px; letter-spacing: -.4px; }
.vt-card-sub { color: var(--vt-muted); font-size: 14px; margin: 4px 0 24px; }
.vt-field { margin-bottom: 18px; }
.vt-field.span2 { grid-column: 1 / -1; }
.vt-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.vt-label { display: block; font-size: 12.5px; font-weight: 600; color: #AFBEDF; margin-bottom: 7px; }
.vt-label .req { color: var(--vt-red); }
.vt-input, .vt-textarea {
  width: 100%; padding: 11px 14px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04);
  color: var(--vt-ink); font-family: inherit; font-size: 14px; outline: none; transition: .18s;
}
.vt-input::placeholder, .vt-textarea::placeholder { color: #6B799E; }
.vt-input:focus, .vt-textarea:focus { border-color: rgba(56,225,255,.5); background: rgba(56,225,255,.06); }
.vt-textarea { resize: vertical; min-height: 70px; }
.vt-form-actions { display: flex; align-items: center; gap: 11px; margin-top: 8px; }
.vt-btn-gold { display: inline-flex; align-items: center; gap: 9px; padding: 13px 24px; border-radius: 13px; border: none; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 700; color: #0A1024; background: linear-gradient(135deg,#F5C451,#E0A93B); box-shadow: 0 12px 28px -10px rgba(245,196,81,.5); transition: .2s; }
.vt-btn-gold:hover { transform: translateY(-2px); }
.vt-btn-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 13px 20px; border-radius: 13px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: #C5D0EC; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 600; transition: .18s; text-decoration: none; }
.vt-btn-ghost:hover { background: rgba(255,255,255,.09); }
.vt-company-add { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; border: 1px solid rgba(245,196,81,.3); background: rgba(245,196,81,.1); color: var(--vt-gold); flex-shrink: 0; transition: .18s; }
.vt-company-add:hover { background: rgba(245,196,81,.2); }

@media (max-width: 1000px) {
  .vt-kpis { grid-template-columns:repeat(2,1fr); }
  .vt-queues { grid-template-columns:repeat(2,1fr); }
  .vt-row-head { display:none; }
  .vt-row { grid-template-columns:1fr; gap:6px; }
  .vt-search { order:5; flex-basis:100%; }
}
