/* ══════════════════════════════════════════════════════════════════
   Lawcity — Virtual Courtroom Practice Simulator (web)
   Scoped: everything lives under .vc-page. All classes vc- prefixed
   to avoid Bootstrap collisions (.btn, .toast, .tab, .panel).
   ══════════════════════════════════════════════════════════════════ */
.vc-page{
  --vbg:#0B0F17;--vpanel:rgba(15,21,33,.82);--vcard:#1B2433;--vcard2:#222d3d;
  --vblue:#4F8EF7;--vgold:#D4AF37;--vgold-d:rgba(212,175,55,.14);
  --vok:#22C55E;--vwarn:#F59E0B;--verr:#EF4444;
  --vt1:#E8EAF0;--vt2:#94A3B8;--vt3:#5B6678;
  --vbr:rgba(255,255,255,.07);--vbr-g:rgba(212,175,55,.22);
  --vease:.28s cubic-bezier(.4,0,.2,1);
  position:fixed;inset:0;z-index:1050;overflow:hidden;
  background:var(--vbg);color:var(--vt1);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:13px;
}
.vc-page *,.vc-page *::before,.vc-page *::after{box-sizing:border-box}
.vc-page ::-webkit-scrollbar{width:3px}
.vc-page ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.09);border-radius:2px}

.vc-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;background-size:cover;background-position:center 34%;background-repeat:no-repeat;filter:brightness(.62) saturate(.92) contrast(1.08)}
.vc-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,13,22,.28) 0%,rgba(8,11,19,.42) 45%,rgba(7,10,17,.9) 100%)}
.vc-dimmer{position:absolute;inset:0;background:#070a11;opacity:.16;z-index:1;pointer-events:none;transition:opacity .6s ease}
.vc-page.vc-mode-analysis .vc-dimmer{opacity:.62}
.vc-rays{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;transition:opacity .6s ease}
.vc-page.vc-mode-analysis .vc-rays{opacity:0}
.vc-ray{position:absolute;top:-12%;width:170px;height:75%;background:linear-gradient(to bottom,rgba(212,185,120,.10),rgba(212,185,120,.015) 70%,transparent);transform:skewX(-14deg);filter:blur(9px)}
.vc-mote{position:absolute;width:3px;height:3px;background:rgba(222,190,110,.4);border-radius:50%;filter:blur(.6px);z-index:1;pointer-events:none;animation:vcDrift linear infinite;transition:opacity .6s}
.vc-page.vc-mode-analysis .vc-mote{opacity:0!important}
@keyframes vcDrift{0%{transform:translate(0,0);opacity:0}12%{opacity:.55}85%{opacity:.25}100%{transform:translate(46px,-130px);opacity:0}}
.vc-app{position:relative;z-index:2;display:flex;flex-direction:column;height:100%;overflow:hidden}

/* ── topbar ── */
.vc-tb{display:flex;align-items:center;gap:14px;padding:0 16px;height:50px;background:rgba(9,13,20,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--vbr);flex-shrink:0}
.vc-logo{display:flex;align-items:center;gap:8px;flex-shrink:0}
.vc-lm{width:26px;height:26px;background:var(--vgold);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#0B0F17;font-size:14px}
.vc-lt{font-size:14px;font-weight:600;letter-spacing:.02em}
.vc-caseinfo{border-left:1px solid var(--vbr);padding-left:14px;min-width:0}
.vc-sn{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-sc{font-size:10.5px;color:var(--vt2)}
.vc-livewrap{display:flex;align-items:center;gap:8px;flex-shrink:0}
.vc-livedot{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.1em;color:#f87171;text-transform:uppercase}
.vc-livedot::before{content:'';width:7px;height:7px;background:var(--verr);border-radius:50%;animation:vcBlink 1.6s ease-in-out infinite}
.vc-page.vc-mode-analysis .vc-livedot{color:var(--vt3)}
.vc-page.vc-mode-analysis .vc-livedot::before{background:var(--vt3);animation:none}
@keyframes vcBlink{0%,100%{opacity:1}50%{opacity:.4}}
.vc-stimer{font-size:11px;font-family:ui-monospace,'SF Mono',monospace;color:var(--vgold);background:var(--vgold-d);padding:2px 8px;border-radius:4px;border:1px solid var(--vbr-g)}
.vc-vs{display:flex;gap:3px;padding:3px;background:rgba(255,255,255,.03);border-radius:8px;border:1px solid var(--vbr);margin:0 auto}
.vc-vb{display:flex;align-items:center;gap:6px;padding:5px 14px;font-size:11.5px;font-weight:500;color:var(--vt2);background:none;border:none;border-radius:6px;cursor:pointer;transition:all var(--vease);white-space:nowrap;font-family:inherit}
.vc-vb:hover{color:var(--vt1)}
.vc-vb.vc-a{color:var(--vt1);background:var(--vcard)}
.vc-ib{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--vbr);border-radius:7px;color:var(--vt2);cursor:pointer;transition:all var(--vease);flex-shrink:0}
.vc-ib:hover{color:var(--vt1);border-color:rgba(255,255,255,.15)}
.vc-ib.vc-on{color:var(--vgold);border-color:var(--vbr-g);background:var(--vgold-d)}
.vc-bp{padding:5px 13px;font-size:12px;font-weight:600;color:#0B0F17;background:var(--vgold);border:none;border-radius:7px;cursor:pointer;transition:all var(--vease);flex-shrink:0;white-space:nowrap;font-family:inherit}
.vc-bp:hover{background:#c9a532}

/* ── live view ── */
.vc-live{flex:1;display:grid;grid-template-columns:52px 0px 1fr;overflow:hidden;transition:grid-template-columns .38s cubic-bezier(.4,0,.2,1)}
.vc-live.vc-open{grid-template-columns:52px 350px 1fr}
.vc-page.vc-mode-analysis .vc-live{display:none}
.vc-rail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 0;background:rgba(9,13,20,.66);backdrop-filter:blur(14px);border-right:1px solid var(--vbr)}
.vc-rb{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:9px;color:var(--vt3);cursor:pointer;transition:all var(--vease);font-size:16px}
.vc-rb:hover{color:var(--vt1);background:rgba(255,255,255,.05)}
.vc-rb.vc-a{color:var(--vgold);background:var(--vgold-d);border-color:var(--vbr-g)}
.vc-rlbl{font-size:8px;font-weight:600;letter-spacing:.06em;color:var(--vt3);text-transform:uppercase;margin-top:-2px}
.vc-chamber{overflow:hidden;background:var(--vpanel);backdrop-filter:blur(24px);border-right:1px solid var(--vbr);display:flex;flex-direction:column;min-width:0}
.vc-live:not(.vc-open) .vc-chamber{border-right-color:transparent}
.vc-chh{display:flex;align-items:center;gap:8px;padding:13px 14px 10px;flex-shrink:0;border-bottom:1px solid var(--vbr);min-width:330px}
.vc-pt2{font-size:12.5px;font-weight:600}
.vc-pbadge{font-size:9.5px;padding:2px 6px;border-radius:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.vc-priv{background:rgba(79,142,247,.12);color:var(--vblue);border:1px solid rgba(79,142,247,.22)}
.vc-reveal{background:rgba(239,68,68,.1);color:#f87171;border:1px solid rgba(239,68,68,.2)}
.vc-xc{margin-left:auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--vt3);cursor:pointer;border-radius:5px;transition:all var(--vease)}
.vc-xc:hover{color:var(--vt1);background:rgba(255,255,255,.06)}
.vc-pc{flex:1;overflow-y:auto;padding:12px 13px;min-width:330px}
.vc-stage{position:relative;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:22px 44px 18px}
.vc-col{width:100%;max-width:840px;display:flex;flex-direction:column;flex:1}

/* judge presence */
.vc-jpres{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:22px;flex-shrink:0}
.vc-ja{width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 40% 32%,#2a3850,#0c1420);border:2px solid var(--vgold);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 34px rgba(212,175,55,.22),0 0 90px rgba(212,175,55,.08);color:var(--vgold);font-size:26px}
.vc-jsd{position:absolute;bottom:1px;right:1px;width:12px;height:12px;background:var(--vok);border-radius:50%;border:2.5px solid #0c1118;animation:vcBlink 2s ease-in-out infinite}
.vc-jn{font-size:14px;font-weight:600;color:var(--vgold);letter-spacing:.03em;margin-top:9px}
.vc-jti{font-size:10.5px;color:var(--vt3);margin-top:2px;letter-spacing:.02em}
.vc-jstat{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:11px;color:var(--vt2);font-style:italic;background:rgba(9,13,20,.6);border:1px solid var(--vbr);border-radius:20px;padding:4px 13px;backdrop-filter:blur(8px)}
.vc-dots{display:flex;gap:3px}
.vc-dot{width:4px;height:4px;background:var(--vgold);border-radius:50%;animation:vcBd 1.4s ease-in-out infinite}
.vc-dot:nth-child(2){animation-delay:.2s}.vc-dot:nth-child(3){animation-delay:.4s}
@keyframes vcBd{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}

/* history */
.vc-histpill{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 14px;padding:6px 16px;background:rgba(9,13,20,.62);border:1px solid var(--vbr);border-radius:20px;font-size:11.5px;color:var(--vt2);cursor:pointer;transition:all var(--vease);backdrop-filter:blur(10px);flex-shrink:0;user-select:none}
.vc-histpill:hover{border-color:rgba(255,255,255,.14);color:var(--vt1)}
.vc-histpill .vc-chev{transition:transform .3s ease;display:flex;font-size:11px}
.vc-histpill.vc-open .vc-chev{transform:rotate(180deg)}
.vc-histwrap{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1);flex-shrink:0}
.vc-histwrap.vc-open{max-height:44vh}
.vc-histlist{max-height:44vh;overflow-y:auto;padding:4px 2px 14px;mask-image:linear-gradient(to bottom,transparent,black 14px)}

/* court entry */
.vc-ce{margin-bottom:13px}
.vc-eh{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.vc-er{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:2px 7px;border-radius:3px}
.vc-ep{background:rgba(79,142,247,.1);color:var(--vblue);border:1px solid rgba(79,142,247,.18)}
.vc-es{background:rgba(239,68,68,.08);color:#f87171;border:1px solid rgba(239,68,68,.18)}
.vc-ej{background:var(--vgold-d);color:var(--vgold);border:1px solid var(--vbr-g)}
.vc-ec{background:rgba(34,197,94,.08);color:var(--vok);border:1px solid rgba(34,197,94,.18)}
.vc-en{font-size:12px;font-weight:500;color:var(--vt1)}
.vc-en.vc-gld{color:var(--vgold)}
.vc-et{font-size:10.5px;color:var(--vt3);margin-left:auto;font-family:ui-monospace,monospace}
.vc-eb{background:rgba(20,27,40,.82);backdrop-filter:blur(14px);border:1px solid var(--vbr);border-radius:10px;padding:11px 13px}
.vc-eb.vc-je{border-color:var(--vbr-g);background:rgba(16,20,28,.86)}
.vc-eb.vc-cs{border-color:rgba(34,197,94,.18);background:rgba(15,25,20,.7)}
.vc-ety{font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--vt3);margin-bottom:4px}
.vc-ety.vc-gld{color:var(--vgold)}
.vc-ety.vc-blu{color:var(--vblue)}
.vc-etx{font-size:12.5px;line-height:1.65;color:var(--vt2)}
.vc-etx em{color:var(--vt1);font-style:italic}
.vc-atts{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.vc-att{display:flex;align-items:center;gap:4px;padding:3px 8px;background:rgba(255,255,255,.04);border:1px solid var(--vbr);border-radius:4px;font-size:11px;color:var(--vt2);cursor:pointer;transition:all var(--vease)}
.vc-att:hover{background:rgba(79,142,247,.09);border-color:rgba(79,142,247,.22);color:var(--vblue)}
.vc-em{display:inline-block;padding:2px 7px;background:rgba(34,197,94,.07);border:1px solid rgba(34,197,94,.18);border-radius:3px;font-size:10.5px;font-weight:600;color:var(--vok);letter-spacing:.04em}

/* current focus */
.vc-nowlbl{display:flex;align-items:center;gap:8px;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vgold);margin-bottom:10px;flex-shrink:0}
.vc-nowlbl::before,.vc-nowlbl::after{content:'';height:1px;width:52px;background:linear-gradient(to right,transparent,var(--vbr-g))}
.vc-nowlbl::after{background:linear-gradient(to left,transparent,var(--vbr-g))}
.vc-cur{flex-shrink:0;animation:vcRise .5s cubic-bezier(.4,0,.2,1)}
@keyframes vcRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.vc-bigcard{background:rgba(16,21,31,.9);backdrop-filter:blur(22px);border:1px solid var(--vbr-g);border-radius:14px;padding:20px 24px;box-shadow:0 14px 50px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04)}
.vc-bigcard .vc-etx{font-size:14px;line-height:1.75}
.vc-bigcard.vc-mine{border-color:rgba(79,142,247,.3)}
.vc-spacer{flex:1;min-height:14px}

/* composer */
.vc-composer{width:100%;flex-shrink:0;margin-top:8px}
.vc-awaits{text-align:center;font-size:11px;color:var(--vt3);font-style:italic;margin-bottom:8px;letter-spacing:.03em}
.vc-si2{background:rgba(18,24,36,.92);backdrop-filter:blur(20px);border:1px solid var(--vbr);border-radius:13px;padding:12px 15px;transition:border-color var(--vease);box-shadow:0 10px 36px rgba(0,0,0,.35)}
.vc-si2:focus-within{border-color:rgba(79,142,247,.4)}
.vc-st{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.vc-srb{font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:3px;background:rgba(79,142,247,.1);color:var(--vblue);border:1px solid rgba(79,142,247,.18)}
.vc-wfl{font-size:10px;color:var(--vt3);margin-left:auto}
.vc-sf{width:100%;background:none;border:none;outline:none;color:var(--vt1);font-size:13px;line-height:1.6;resize:none;font-family:inherit}
.vc-sf::placeholder{color:var(--vt3)}
.vc-sr{display:flex;align-items:center;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid var(--vbr)}
.vc-btn{padding:4px 11px;font-size:11.5px;font-weight:500;border-radius:6px;cursor:pointer;transition:all var(--vease);border:1px solid var(--vbr);color:var(--vt2);background:none;white-space:nowrap;font-family:inherit}
.vc-btn:hover{background:rgba(255,255,255,.04);color:var(--vt1)}
.vc-btn.vc-p{background:var(--vblue);color:#fff;border-color:var(--vblue)}
.vc-btn.vc-p:hover{background:#3a7ae8}

/* chamber widgets */
.vc-am{display:flex;gap:9px;margin-bottom:12px}
.vc-av{width:26px;height:26px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.vc-av.vc-ai{background:linear-gradient(135deg,var(--vblue),#2563eb);color:#fff}
.vc-av.vc-you{background:var(--vgold-d);border:1px solid var(--vbr-g);color:var(--vgold)}
.vc-ab{background:var(--vcard);border:1px solid var(--vbr);border-radius:9px;padding:9px 11px;font-size:12.5px;line-height:1.6;color:var(--vt2);flex:1;min-width:0}
.vc-ab strong{color:var(--vt1);font-weight:500}
.vc-ab.vc-user{background:rgba(79,142,247,.07);border-color:rgba(79,142,247,.15)}
.vc-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.vc-chip{padding:3px 9px;background:rgba(79,142,247,.09);border:1px solid rgba(79,142,247,.18);border-radius:5px;font-size:11px;color:var(--vblue);cursor:pointer;transition:all var(--vease)}
.vc-chip:hover{background:rgba(79,142,247,.18)}
.vc-dc{display:flex;align-items:center;gap:9px;padding:9px 11px;background:var(--vcard);border:1px solid var(--vbr);border-radius:7px;margin-bottom:7px;cursor:pointer;transition:all var(--vease)}
.vc-dc:hover{border-color:rgba(255,255,255,.12);background:var(--vcard2)}
.vc-di{width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}
.vc-di.vc-pdf{background:rgba(239,68,68,.1);color:var(--verr);border:1px solid rgba(239,68,68,.18)}
.vc-di.vc-img{background:rgba(34,197,94,.1);color:var(--vok);border:1px solid rgba(34,197,94,.18)}
.vc-di.vc-vid{background:rgba(79,142,247,.1);color:var(--vblue);border:1px solid rgba(79,142,247,.18)}
.vc-dn{font-size:12.5px;font-weight:500;color:var(--vt1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-dm{font-size:10.5px;color:var(--vt3);margin-top:1px}
.vc-da{font-size:10.5px;color:var(--vt3);padding:2px 6px;border:1px solid var(--vbr);border-radius:4px;white-space:nowrap}
.vc-dc:hover .vc-da{color:var(--vblue);border-color:rgba(79,142,247,.28)}
.vc-sl{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vt3);margin:12px 0 7px}
.vc-sl:first-child{margin-top:0}
.vc-ri{padding:9px 11px;background:var(--vcard);border:1px solid var(--vbr);border-radius:7px;margin-bottom:7px;cursor:pointer;transition:all var(--vease)}
.vc-ri:hover{border-color:rgba(79,142,247,.22)}
.vc-rtt{font-size:12.5px;font-weight:500;color:var(--vt1);margin-bottom:2px}
.vc-rm{font-size:10.5px;color:var(--vt3)}
.vc-rs{font-size:11.5px;color:var(--vt2);margin-top:4px;line-height:1.5}
.vc-prt{display:inline-block;padding:2px 6px;background:var(--vgold-d);border:1px solid var(--vbr-g);border-radius:3px;font-size:10px;color:var(--vgold);margin-top:5px}
.vc-aia{padding:8px 13px 11px;border-top:1px solid var(--vbr);flex-shrink:0;min-width:330px}
.vc-aib{display:flex;align-items:flex-end;gap:7px;background:var(--vcard);border:1px solid var(--vbr);border-radius:9px;padding:7px 11px;transition:border-color var(--vease)}
.vc-aib:focus-within{border-color:rgba(79,142,247,.38)}
.vc-aib textarea{flex:1;background:none;border:none;outline:none;color:var(--vt1);font-size:12.5px;line-height:1.5;resize:none;max-height:70px;font-family:inherit;min-width:0}
.vc-aib textarea::placeholder{color:var(--vt3)}
.vc-sb{width:26px;height:26px;background:var(--vblue);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--vease);font-size:11px}
.vc-sb:hover{background:#3a7ae8}
.vc-tabs{display:flex;gap:1px;padding:8px 14px 0;border-bottom:1px solid var(--vbr);flex-shrink:0}
.vc-tab{padding:6px 10px;font-size:11.5px;font-weight:500;color:var(--vt3);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--vease);margin-bottom:-1px;white-space:nowrap;font-family:inherit}
.vc-tab:hover{color:var(--vt2)}
.vc-tab.vc-a{color:var(--vt1);border-bottom-color:var(--vblue)}
.vc-note{background:rgba(212,175,55,.05);border:1px solid var(--vbr-g);border-radius:8px;padding:11px;font-size:12px;color:var(--vt2);line-height:1.65}
.vc-draftcard{background:var(--vcard);border:1px solid var(--vbr);border-radius:8px;padding:11px;margin-bottom:8px}

/* ── analysis view ── */
.vc-analysis{flex:1;display:none;flex-direction:column;overflow:hidden}
.vc-page.vc-mode-analysis .vc-analysis{display:flex}
.vc-atb{display:flex;align-items:center;gap:10px;padding:9px 16px;flex-shrink:0}
.vc-atl{font-size:11px;color:var(--vt2)}
.vc-atbtns{display:flex;gap:3px;padding:3px;background:rgba(255,255,255,.03);border-radius:7px;border:1px solid var(--vbr)}
.vc-ab2{padding:4px 12px;font-size:11.5px;font-weight:500;color:var(--vt2);background:none;border:none;border-radius:5px;cursor:pointer;transition:all var(--vease);font-family:inherit}
.vc-ab2.vc-a{color:var(--vt1);background:var(--vcard)}
.vc-ab2:hover{color:var(--vt1)}
.vc-aws{flex:1;display:grid;grid-template-columns:minmax(280px,340px) 1fr minmax(280px,340px);gap:8px;padding:0 8px 8px;overflow:hidden}
.vc-panel{background:var(--vpanel);backdrop-filter:blur(20px);border-radius:13px;border:1px solid var(--vbr);display:flex;flex-direction:column;overflow:hidden;min-width:0}
.vc-panel.vc-court{border-color:var(--vbr-g)}
.vc-ph{display:flex;align-items:center;gap:8px;padding:12px 14px 0;flex-shrink:0}
.vc-jb{background:rgba(11,16,25,.95);border-bottom:1px solid var(--vbr-g);padding:11px 16px;flex-shrink:0}
.vc-jp{display:flex;align-items:center;gap:12px}
.vc-ja2{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#243040,#0d1520);border:2px solid var(--vgold);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 16px rgba(212,175,55,.16);color:var(--vgold);font-size:17px}
.vc-jn2{font-size:13px;font-weight:600;color:var(--vgold)}
.vc-jt2{font-size:10.5px;color:var(--vt3);margin-top:1px}
.vc-done{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--vt3);border:1px solid var(--vbr);padding:3px 9px;border-radius:12px;text-transform:uppercase}
.vc-logitem{margin-bottom:11px;position:relative}
.vc-logdot{position:absolute;left:-17px;top:3px;width:6px;height:6px;border-radius:50%}
.vc-logtime{font-size:10.5px;color:var(--vt3);font-family:ui-monospace,monospace;margin-bottom:2px}
.vc-logtxt{font-size:12.5px;color:var(--vt1)}
.vc-order{background:var(--vgold-d);border:1px solid var(--vbr-g);border-radius:9px;padding:13px;margin-bottom:12px}
.vc-order2{background:var(--vcard);border:1px solid var(--vbr);border-radius:9px;padding:13px}
.vc-otit{font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.vc-revealbox{background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.14);border-radius:8px;padding:10px;margin-bottom:11px}

/* ── report ── */
.vc-ro{position:absolute;inset:50px 0 0 0;background:rgba(9,12,19,.985);z-index:50;overflow-y:auto;padding:28px 32px;display:none}
.vc-ro.vc-a{display:block}
.vc-rh{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.vc-rtt2{font-size:20px;font-weight:600}
.vc-rs2{font-size:13px;color:var(--vt2);margin-top:3px}
.vc-sh{display:flex;align-items:center;gap:32px;background:rgba(27,36,51,.9);border:1px solid var(--vbr-g);border-radius:14px;padding:24px 28px;margin-bottom:20px}
.vc-sr2{position:relative;width:110px;height:110px;flex-shrink:0}
.vc-sr2 svg{transform:rotate(-90deg)}
.vc-sn2{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:30px;font-weight:700;color:var(--vgold);line-height:1;text-align:center}
.vc-sn2 span{font-size:13px;color:var(--vt2);display:block;font-weight:400}
.vc-sb2{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:11px}
.vc-sci{display:flex;flex-direction:column;gap:4px}
.vc-scl{font-size:11px;color:var(--vt3)}
.vc-sbr{display:flex;align-items:center;gap:7px}
.vc-bt{flex:1;height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden}
.vc-bf{height:100%;border-radius:2px}
.vc-bf.vc-hi{background:var(--vok)}.vc-bf.vc-mi{background:var(--vwarn)}.vc-bf.vc-lo{background:var(--verr)}
.vc-bv{font-size:11.5px;font-weight:600;color:var(--vt1);width:24px;text-align:right}
.vc-rg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.vc-rc{background:rgba(27,36,51,.85);border:1px solid var(--vbr);border-radius:11px;padding:14px}
.vc-rc.vc-span2{grid-column:span 2}
.vc-rct{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vt3);margin-bottom:10px}
.vc-rli{display:flex;align-items:flex-start;gap:7px;margin-bottom:8px;font-size:12px;line-height:1.5;color:var(--vt2)}
.vc-rd{width:5px;height:5px;border-radius:50%;margin-top:4px;flex-shrink:0}
.vc-rd.vc-ok{background:var(--vok)}.vc-rd.vc-wa{background:var(--vwarn)}.vc-rd.vc-er{background:var(--verr)}
.vc-pd{text-align:center;padding:12px 0}
.vc-pn{font-size:38px;font-weight:700;color:var(--vgold);line-height:1}
.vc-pl{font-size:10.5px;color:var(--vt3);margin-top:7px;font-style:italic;line-height:1.5}
.vc-qgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px}

/* toast */
.vc-toast{position:absolute;bottom:20px;left:50%;transform:translateX(-50%) translateY(70px);background:var(--vcard2);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:9px 16px;font-size:12.5px;color:var(--vt1);z-index:200;transition:transform .28s ease;white-space:nowrap;box-shadow:0 6px 24px rgba(0,0,0,.4);pointer-events:none}
.vc-toast.vc-s{transform:translateX(-50%) translateY(0)}

@media (max-width:1100px){
  .vc-aws{grid-template-columns:1fr;overflow-y:auto}
  .vc-panel{min-height:340px}
  .vc-rg{grid-template-columns:1fr}
  .vc-rc.vc-span2{grid-column:span 1}
  .vc-sh{flex-direction:column;gap:18px}
  .vc-qgrid{grid-template-columns:1fr}
}
