/* Acuity app pages (login, dashboard, terminal) — Aurora Terminal (v54). Visual layer only. */
:root{
  --bg:#05060D;--bg2:#0A0D1E;--card:#0D1020;--card2:#161A33;--line:rgba(255,255,255,.09);--ink:#F4F6FF;--mute:#9AA3BC;
  --au:#8B5CF6;--au2:#7C5CFA;--ok:#34D399;--warn:#FB7185;--rose:#FB7185;--gold:#FBBF24;
  --grad:linear-gradient(120deg,#8B5CF6,#3B82F6 55%,#22D3EE);--glow:0 12px 34px -8px rgba(99,102,241,.75);
  --h:'Space Grotesk','Segoe UI',Arial,sans-serif;--b:'DM Sans','Segoe UI',Arial,sans-serif;--n:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.22,1,.36,1);color-scheme:dark}
html{background:var(--bg)}
body{font-family:var(--b);-webkit-font-smoothing:antialiased;letter-spacing:-.002em}
h1,h2,h3,h4{font-family:var(--h);letter-spacing:-.03em}
td,.nm,.pr,.tick,[class*=money]{font-variant-numeric:tabular-nums}
::selection{background:rgba(139,92,246,.45)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#1b2036;border-radius:9px;border:2px solid #05060D}::-webkit-scrollbar-track{background:transparent}
*{scrollbar-color:#1b2036 transparent}
:focus-visible{outline:2px solid #22D3EE!important;outline-offset:2px}

/* ---- ambient aurora (dashboard + terminal) ---- */
body:has(.side),body:has(#tw){background:radial-gradient(900px 560px at 0 0,rgba(109,61,242,.3),transparent 60%),radial-gradient(900px 600px at 100% 10%,rgba(14,165,233,.17),transparent 60%),radial-gradient(700px 500px at 50% 115%,rgba(16,185,129,.1),transparent 60%),#05060D!important;background-attachment:fixed}
.side{background:linear-gradient(185deg,#0b0e22 0%,#060815 70%,#05060D 100%)!important;border-right:1px solid var(--line)!important}
.side .acc{background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(34,211,238,.08))!important;border:1px solid rgba(139,92,246,.35)!important}
.ni{transition:background .25s,color .25s,transform .25s var(--ease)}
.ni:hover{transform:translateX(3px)}
.bar{background:rgba(5,6,13,.65)!important;-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--line)}

/* ---- cards: glass + spotlight + entrance ---- */
.card,.kp2,.acn,.stc{background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;border:1px solid var(--line)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px -22px rgba(0,0,0,.7);position:relative;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.card:hover{border-color:rgba(139,92,246,.4)!important}
.stage>*{animation:aIn .6s var(--ease) both}.stage>*:nth-child(2){animation-delay:.05s}.stage>*:nth-child(3){animation-delay:.1s}.stage>*:nth-child(4){animation-delay:.15s}.stage>*:nth-child(n+5){animation-delay:.2s}
@keyframes aIn{from{opacity:0;transform:translateY(18px)}}
.stage h1,.stage h2:first-child{background:linear-gradient(180deg,#fff 40%,#9AA3BC);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- buttons: brand gradient ---- */
.pill,.lvb,.side .cta,.wbtn,.btn{background:var(--grad)!important;color:#fff!important;border:0!important;font-weight:700;box-shadow:var(--glow),inset 0 1px 0 rgba(255,255,255,.3)!important}
.pill:hover,.lvb:hover,.side .cta:hover,.wbtn:hover{box-shadow:0 18px 42px -10px rgba(99,102,241,.95),inset 0 1px 0 rgba(255,255,255,.35)!important}
.btn2,.gbtn{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.14)!important;color:var(--ink)!important}
.btn2:hover,.gbtn:hover{background:rgba(255,255,255,.1)!important}
input,select,textarea{transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:#8B5CF6!important;box-shadow:0 0 0 3px rgba(139,92,246,.28)!important;outline:none!important}
input[type=range],input[type=checkbox]{accent-color:#8B5CF6}

/* ---- login ---- */
body:has(.box){background:radial-gradient(800px 520px at 5% 0,rgba(109,61,242,.42),transparent 60%),radial-gradient(800px 560px at 100% 100%,rgba(14,165,233,.3),transparent 60%),#05060D!important;overflow:hidden}
.box{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03))!important;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 50px 120px -20px rgba(0,0,0,.8),0 0 90px -20px rgba(99,102,241,.5)!important;color:var(--ink);animation:aIn .8s var(--ease) both}
.box h1{background:none!important;color:#fff!important;-webkit-text-fill-color:#fff}
.box input,.box select{background:rgba(0,0,0,.35)!important;color:var(--ink)!important;border:1px solid rgba(255,255,255,.14)!important}
.box input::placeholder{color:#5b6380}.box label{color:var(--mute)}
.tabs{background:rgba(0,0,0,.35)!important;border:1px solid var(--line)}.tabs button.on{background:linear-gradient(135deg,rgba(139,92,246,.45),rgba(59,130,246,.3))!important;color:#fff!important}
.box .go,.box button.go{background:var(--grad)!important;color:#fff!important;font-weight:700;box-shadow:var(--glow)!important}
.box a{color:#A5B4FC}.box .err{color:#FB7185}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.card::before,.kp2::before,.acn::before,.stc::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(139,92,246,.2),transparent 55%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover::before,.kp2:hover::before,.acn:hover::before,.stc:hover::before{opacity:1}

/* ---- terminal ---- */
.top{background:rgba(5,6,13,.7)!important;-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4)}
.pn{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.016))!important;border:1px solid var(--line)!important;box-shadow:0 24px 60px -24px rgba(0,0,0,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:aIn .7s var(--ease) both}
.pn:nth-of-type(2){animation-delay:.08s}.pn:nth-of-type(3){animation-delay:.16s}.pn:nth-of-type(4){animation-delay:.24s}
.st{background:rgba(255,255,255,.04)!important;transition:border-color .25s,transform .25s var(--ease)}
.st:hover{border-color:rgba(139,92,246,.5)!important;transform:translateY(-1px)}
.st b,.st strong{font-family:var(--n)}
#login .lc,.lc{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.03))!important;border:1px solid rgba(255,255,255,.14)!important;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 50px 120px -20px rgba(0,0,0,.8),0 0 90px -20px rgba(99,102,241,.5)!important;animation:aIn .8s var(--ease) both}
.lc button[type=submit],.lc .go,#lf button{background:var(--grad)!important;color:#fff!important;box-shadow:var(--glow)!important}
.lc .lg span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.stp button.on,.tabs2 button.on,.tf button.on{background:linear-gradient(135deg,rgba(139,92,246,.55),rgba(59,130,246,.35))!important;color:#fff!important}
