/* ============================================================
   Untamed — Customer Portal
   Minimal / Scandinavian. White canvas, hairline borders, soft
   shadows, DM Sans throughout, brand green as the single accent.
   Mirrors the launch + policy design language. No black surfaces.
   ============================================================ */

/* Phosphor icon font — glyphs painted as text nodes by paintIcons(). */
@font-face{
  font-family:"Phosphor-Bold";
  src:url("https://unpkg.com/@phosphor-icons/web@2.1.1/src/bold/Phosphor-Bold.woff2") format("woff2");
  font-weight:normal;font-style:normal;font-display:block;
}
.ph-bold{font-family:"Phosphor-Bold"!important;font-style:normal;font-weight:normal;line-height:1;display:inline-flex;align-items:center;justify-content:center;-webkit-font-smoothing:antialiased;}

:root{
  --brand:#004B37;        /* primary deep green */
  --brand-ink:#003a2a;    /* hover */
  --accent:#009B72;       /* emerald — dot, progress, small accents */
  --ink:#1D2129;          /* text primary */
  --ink-2:#4E5969;        /* text secondary */
  --ink-3:#86909C;        /* text tertiary */
  --ink-4:#C9CDD4;        /* disabled */
  --line:#E5E6EB;         /* hairline */
  --line-2:#F2F3F5;       /* light line / fill */
  --line-3:#C9CDD4;       /* heavier hairline */
  --surface:#F7F8FA;      /* subtle inset fill */
  --paper:#FFFFFF;

  --shadow-soft:0 1px 2px rgba(16,24,40,.04);
  --shadow-card:0 0 0 1px rgba(16,24,40,.015), 0 1px 2px rgba(16,24,40,.04);
  --shadow-hover:0 14px 34px -18px rgba(16,24,40,.18);

  --r:12px;
  --r-sm:9px;
  --r-lg:16px;

  --font:'DM Sans', system-ui, -apple-system, sans-serif;

  --sidebar-w:252px;
  --pad:28px;     /* card padding   */
  --gap:20px;     /* grid gap       */
  --pagepad:44px; /* page padding   */
}
:root[data-density="airy"]{ --pad:32px; --gap:26px; --pagepad:56px; }

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:-0.005em;
}
button{font-family:inherit;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--brand);color:#fff;}

/* ---- type helpers ---- */
.display{font-weight:700;letter-spacing:-.022em;line-height:1.08;}
.eyebrow{font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.eyebrow .gdot{width:6px;height:6px;border-radius:50%;background:var(--accent);}
.num{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.muted{color:var(--ink-2);}
.muted-3{color:var(--ink-3);}

/* =========================================================
   Wordmark
   ========================================================= */
.wm{font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);}
.wm span{color:var(--accent);}

/* =========================================================
   App shell
   ========================================================= */
.app{display:flex;min-height:100vh;background:var(--paper);}

.sidebar{
  width:var(--sidebar-w);flex:0 0 var(--sidebar-w);
  background:var(--paper);border-right:1px solid var(--line);
  position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;padding:26px 18px;gap:3px;z-index:30;
}
.brand{display:flex;align-items:center;gap:9px;padding:4px 10px 24px;}
.brand .wm{font-size:19px;}

.nav-label{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);padding:16px 12px 8px;}
.nav-item{
  display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:10px;
  color:var(--ink-2);font-weight:500;font-size:14.5px;cursor:pointer;
  transition:background .14s,color .14s;
}
.nav-item i{font-size:19px;color:var(--ink-3);transition:color .14s;}
.nav-item:hover{background:var(--surface);color:var(--ink);}
.nav-item:hover i{color:var(--ink-2);}
.nav-item.active{background:var(--surface);color:var(--ink);font-weight:600;}
.nav-item.active i{color:var(--brand);}
.nav-item .badge-dot{margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--accent);}
.nav-spacer{flex:1;}

.side-account{display:flex;align-items:center;gap:11px;padding:12px 10px 2px;margin-top:10px;border-top:1px solid var(--line);}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex:0 0 auto;}
.side-account .meta{min-width:0;}
.side-account .meta .nm{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.side-account .meta .em{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* main */
.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{
  display:flex;align-items:center;gap:14px;padding:18px var(--pagepad);
  border-bottom:1px solid var(--line);background:var(--paper);
  position:sticky;top:0;z-index:20;
}
.topbar .tb-title{font-weight:700;font-size:18px;letter-spacing:-.02em;}
.topbar .tb-sub{font-size:13px;color:var(--ink-3);margin-top:2px;}
.tb-actions{margin-left:auto;display:flex;align-items:center;gap:9px;}
.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--ink-2);cursor:pointer;transition:background .14s,border-color .14s;}
.icon-btn:hover{background:var(--surface);border-color:var(--line-3);}
.icon-btn i{font-size:18px;}

.menu-btn{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--paper);align-items:center;justify-content:center;color:var(--ink);cursor:pointer;}
.menu-btn i{font-size:20px;}

.page{padding:var(--pagepad);max-width:1080px;width:100%;margin:0 auto;}
.page-wide{max-width:1220px;}

/* =========================================================
   Cards & primitives
   ========================================================= */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-card);}
.card-pad{padding:var(--pad);}
.card-hd{display:flex;align-items:center;gap:11px;margin-bottom:18px;}
.card-hd h3{margin:0;font-weight:600;font-size:15.5px;letter-spacing:-.01em;}
.card-hd .ic{color:var(--brand);display:flex;align-items:center;flex:0 0 auto;}
.card-hd .ic i{font-size:20px;}
.card-hd .more{margin-left:auto;font-size:13px;color:var(--brand);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;}
.card-hd .more i{font-size:14px;}

.grid{display:grid;gap:var(--gap);}

.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);}
.badge i{font-size:13px;}
.badge.ok{border-color:rgba(0,155,114,.28);color:var(--accent);background:rgba(0,155,114,.06);}
.badge.dot::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);}

/* buttons — pill, brand green or hairline-outline */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;transition:background .14s,border-color .14s,color .14s,box-shadow .14s;white-space:nowrap;letter-spacing:-.01em;}
.btn i{font-size:16px;}
.btn-primary{background:var(--brand);color:#fff;}
.btn-primary:hover{background:var(--brand-ink);}
.btn-accent{background:var(--brand);color:#fff;}
.btn-accent:hover{background:var(--brand-ink);}
.btn-dark{background:var(--brand);color:#fff;}
.btn-dark:hover{background:var(--brand-ink);}
.btn-outline{background:var(--paper);border-color:var(--line-3);color:var(--ink);}
.btn-outline:hover{background:var(--surface);border-color:var(--ink-4);}
.btn-ghost{background:transparent;color:var(--ink-2);}
.btn-ghost:hover{background:var(--surface);color:var(--ink);}
.btn-block{width:100%;}
.btn-lg{padding:13px 24px;font-size:15px;}
.btn-sm{padding:8px 15px;font-size:13px;}
.btn:disabled{opacity:.45;cursor:not-allowed;}

/* link with arrow */
.arrowlink{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--brand);cursor:pointer;}
.arrowlink i{font-size:14px;transition:transform .16s;}
.arrowlink:hover i{transform:translateX(3px);}

/* =========================================================
   License — clean white card
   ========================================================= */
.license{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px;box-shadow:var(--shadow-card);}
.license-top{display:flex;align-items:flex-start;gap:16px;}
.license-plan{font-weight:700;font-size:21px;letter-spacing:-.02em;margin-top:9px;}
.pill-brand{margin-left:auto;flex:0 0 auto;background:var(--brand);color:#fff;font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:999px;}
.keyrow{display:flex;align-items:center;gap:14px;margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;}
.keyrow .key-label{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px;}
.keyrow code{font-weight:600;font-size:16px;letter-spacing:.04em;color:var(--ink);font-feature-settings:"tnum";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.keyrow .copy{margin-left:auto;flex:0 0 auto;width:38px;height:38px;border-radius:9px;background:var(--paper);border:1px solid var(--line);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .14s,border-color .14s,color .14s;}
.keyrow .copy:hover{background:#fff;border-color:var(--line-3);color:var(--ink);}
.keyrow .copy.done{color:var(--accent);border-color:rgba(0,155,114,.4);}
.license-meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);}
.license-meta b{color:var(--ink);font-weight:600;}

/* =========================================================
   Quick-action tiles — open, no filled boxes
   ========================================================= */
.qa{display:flex;flex-direction:column;gap:12px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color .16s,box-shadow .18s,transform .18s;}
.qa:hover{border-color:var(--line-3);box-shadow:var(--shadow-hover);transform:translateY(-2px);}
.qa .qa-ic{color:var(--brand);display:flex;align-items:center;height:26px;}
.qa .qa-ic i{font-size:24px;}
.qa.feat .qa-ic i{color:var(--accent);}
.qa h4{margin:0;font-weight:600;font-size:15.5px;letter-spacing:-.01em;}
.qa p{margin:3px 0 0;font-size:13.5px;color:var(--ink-3);line-height:1.5;}
.qa .qa-go{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brand);margin-top:auto;}
.qa .qa-go i{font-size:14px;transition:transform .16s;}
.qa:hover .qa-go i{transform:translateX(3px);}

.stat{padding:20px 22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-card);}
.stat .k{font-size:12.5px;color:var(--ink-3);font-weight:500;display:flex;align-items:center;gap:7px;}
.stat .k i{font-size:15px;color:var(--brand);}
.stat .v{font-weight:700;font-size:26px;letter-spacing:-.025em;margin-top:9px;}
.stat .v small{font-size:13px;font-weight:500;color:var(--ink-3);letter-spacing:0;}

/* =========================================================
   Progress / checklist
   ========================================================= */
.progress-head{display:flex;align-items:center;gap:14px;margin-bottom:10px;}
.progress-head .pct{font-weight:700;font-size:15px;color:var(--brand);margin-left:auto;letter-spacing:-.02em;}
.bar{height:6px;border-radius:999px;background:var(--line-2);overflow:hidden;}
.bar > i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .5s cubic-bezier(.16,1,.3,1);}

.checklist{display:flex;flex-direction:column;margin-top:6px;}
.check{display:flex;align-items:center;gap:14px;padding:14px 2px;border-top:1px solid var(--line);cursor:pointer;}
.check:first-child{border-top:none;}
.check .box{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-3);display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff;transition:background .15s,border-color .15s;}
.check .box i{font-size:12px;opacity:0;}
.check.done .box{background:var(--accent);border-color:var(--accent);}
.check.done .box i{opacity:1;}
.check .ctext{min-width:0;}
.check .ctext .ct{font-weight:600;font-size:14px;}
.check.done .ctext .ct{color:var(--ink-3);font-weight:500;}
.check .ctext .cs{font-size:13px;color:var(--ink-3);margin-top:2px;line-height:1.45;}
.check .cgo{margin-left:auto;color:var(--ink-4);font-size:13px;font-weight:600;display:flex;align-items:center;gap:5px;flex:0 0 auto;}
.check:hover .cgo{color:var(--brand);}

/* activity timeline */
.tl{display:flex;flex-direction:column;}
.tl-item{display:flex;gap:14px;padding:12px 0;}
.tl-item .tl-ic{color:var(--ink-3);display:flex;align-items:center;width:22px;flex:0 0 auto;justify-content:center;}
.tl-item .tl-ic i{font-size:17px;}
.tl-item .tl-b .tt{font-size:14px;font-weight:500;}
.tl-item .tl-b .ts{font-size:12.5px;color:var(--ink-3);margin-top:1px;}

/* =========================================================
   Forms
   ========================================================= */
.field{display:flex;flex-direction:column;gap:7px;}
.field label{font-size:13px;font-weight:600;color:var(--ink-2);}
.input{width:100%;padding:12px 14px;border:1px solid var(--line-3);border-radius:10px;font-family:inherit;font-size:15px;color:var(--ink);background:var(--paper);transition:border-color .14s,box-shadow .14s;}
.input::placeholder{color:var(--ink-4);}
.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,75,55,.1);}
.input-icon{position:relative;}
.input-icon i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-3);font-size:17px;}
.input-icon .input{padding-left:42px;}

/* table */
.table{width:100%;border-collapse:collapse;font-size:14px;}
.table th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:0 16px 13px;border-bottom:1px solid var(--line);}
.table td{padding:16px;border-bottom:1px solid var(--line);color:var(--ink-2);}
.table tr:last-child td{border-bottom:none;}
.table td .inv-name{font-weight:600;color:var(--ink);}
.table .ta-r{text-align:right;}

/* switch */
.switch{width:42px;height:25px;border-radius:999px;background:var(--line-3);position:relative;cursor:pointer;transition:background .16s;flex:0 0 auto;}
.switch.on{background:var(--brand);}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .16s;}
.switch.on::after{left:20px;}

.setting-row{display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--line);}
.setting-row:first-child{border-top:none;}
.setting-row .sr-b{min-width:0;}
.setting-row .sr-b .srt{font-weight:600;font-size:14.5px;}
.setting-row .sr-b .srs{font-size:13px;color:var(--ink-3);margin-top:2px;}
.setting-row .sr-x{margin-left:auto;flex:0 0 auto;}

/* =========================================================
   Download page
   ========================================================= */
.dl-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;background:var(--surface);border-radius:var(--r);flex-wrap:wrap;border:1px solid var(--line);}
.changelog{margin-top:22px;}
.cl-row{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:14px;color:var(--ink-2);}
.cl-row i{color:var(--accent);font-size:13px;margin-top:3px;flex:0 0 auto;}
.steps-mini{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:13px;}
.steps-mini li{font-size:14px;color:var(--ink-2);line-height:1.5;}
.steps-mini li b{color:var(--ink);font-weight:600;}
.file-list{display:flex;flex-direction:column;}
.file-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line);}
.file-row:first-child{border-top:none;}
.file-ic{color:var(--brand);display:flex;align-items:center;width:24px;flex:0 0 auto;justify-content:center;}
.file-ic i{font-size:22px;}
.file-b{flex:1;min-width:0;}
.file-n{font-weight:600;font-size:14px;display:flex;align-items:center;}
.file-m{font-size:13px;color:var(--ink-3);margin-top:2px;}

/* =========================================================
   Setup accordion
   ========================================================= */
.setup-acc{display:flex;flex-direction:column;gap:12px;}
.acc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-card);transition:border-color .14s,box-shadow .14s;}
.acc.open{border-color:var(--line-3);}
.acc-hd{display:flex;align-items:center;gap:15px;padding:18px 22px;cursor:pointer;}
.acc-num{width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13.5px;color:var(--ink-3);flex:0 0 auto;}
.acc-num.done{background:var(--accent);border-color:var(--accent);color:#fff;}
.acc-t{min-width:0;}
.acc-tt{font-weight:600;font-size:15px;}
.acc.done .acc-tt{color:var(--ink-2);}
.acc-ts{font-size:13px;color:var(--ink-3);margin-top:2px;}
.acc-car{color:var(--ink-3);transition:transform .18s;font-size:15px;}
.acc.open .acc-car{transform:rotate(180deg);}
.acc-body{padding:0 22px 22px 65px;}
.acc-body p{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--ink-2);}
.acc-actions{display:flex;gap:10px;flex-wrap:wrap;}
.setup-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.setup-cta > button{margin-left:auto;}

/* =========================================================
   Billing
   ========================================================= */
.plan-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.plan-price{text-align:right;}
.plan-feats{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px;}
.pf{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--ink-2);font-weight:500;}
.pf i{color:var(--accent);font-size:17px;}
.pay-method{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:11px;margin-bottom:16px;}
.pay-brand{width:42px;height:42px;border-radius:10px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#003087;}
.pay-brand i{font-size:22px;}

/* =========================================================
   Support — DFY (clean white, brand accents)
   ========================================================= */
.dfy{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-card);background:var(--paper);}
.dfy-l{padding:34px;}
.dfy-l .eyebrow{color:var(--brand);}
.dfy-incl{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:24px;}
.dfy-incl span{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2);font-weight:500;}
.dfy-incl span i{color:var(--accent);font-size:16px;}
.dfy-r{background:var(--surface);border-left:1px solid var(--line);padding:30px;display:flex;flex-direction:column;}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.slot{padding:12px 10px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:600;font-size:13.5px;cursor:pointer;transition:background .14s,border-color .14s,color .14s;font-family:var(--font);}
.slot:hover{border-color:var(--line-3);}
.slot.on{background:var(--brand);color:#fff;border-color:var(--brand);}

/* FAQ */
.faq{display:flex;flex-direction:column;}
.faq-item{border-top:1px solid var(--line);}
.faq-item:first-child{border-top:none;}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 2px;cursor:pointer;font-weight:600;font-size:14.5px;}
.faq-q i{color:var(--ink-3);transition:transform .18s;flex:0 0 auto;font-size:15px;}
.faq-item.open .faq-q i{transform:rotate(180deg);}
.faq-a{padding:0 2px 18px;font-size:14px;line-height:1.65;color:var(--ink-2);max-width:64ch;}

/* =========================================================
   Bento dashboard
   ========================================================= */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);
  grid-template-areas:
    "license license stat1 stat2"
    "license license update update"
    "setup setup dl call"
    "setup setup support support";}
.bento > div{min-width:0;display:flex;}
.bento > div > *{flex:1;min-width:0;height:100%;}
.b-license{grid-area:license;}.b-s1{grid-area:stat1;}.b-s2{grid-area:stat2;}
.b-update{grid-area:update;}.b-setup{grid-area:setup;}.b-dl{grid-area:dl;}
.b-call{grid-area:call;}.b-support{grid-area:support;}
@media (max-width:1080px){
  .bento{grid-template-columns:repeat(2,1fr);
    grid-template-areas:"license license""stat1 stat2""setup setup""dl call""update update""support support";}
}

/* =========================================================
   Update / support mini cards
   ========================================================= */
.mini-cta{display:flex;flex-direction:column;gap:10px;}

/* =========================================================
   Sign-in
   ========================================================= */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper);position:relative;padding:40px 24px;}
.auth-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 42%,#000,transparent 72%);mask-image:radial-gradient(circle at 50% 42%,#000,transparent 72%);opacity:.7;}
.auth-card{position:relative;width:100%;max-width:392px;}
.auth-card .ac-brand{margin-bottom:30px;}
.auth-card .ac-brand .wm{font-size:22px;}
.auth-card .ac-h{font-weight:700;font-size:26px;letter-spacing:-.025em;margin:0 0 7px;}
.auth-card .ac-s{font-size:14.5px;color:var(--ink-3);margin:0 0 28px;line-height:1.5;}
.auth-card form{display:flex;flex-direction:column;gap:16px;}
.auth-card .row-between{display:flex;align-items:center;justify-content:space-between;}
.auth-card .link{color:var(--brand);font-weight:600;cursor:pointer;}
.auth-divider{display:flex;align-items:center;gap:14px;color:var(--ink-4);font-size:12.5px;margin:22px 0;}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line);}
.auth-trust{display:flex;gap:20px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line);}
.auth-trust .at-n{font-weight:700;font-size:19px;letter-spacing:-.02em;}
.auth-trust .at-l{font-size:12px;color:var(--ink-3);margin-top:2px;}

/* =========================================================
   Drawer (mobile)
   ========================================================= */
.scrim{position:fixed;inset:0;background:rgba(16,24,40,.38);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s;}
.scrim.open{opacity:1;pointer-events:auto;}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:860px){
  .sidebar{position:fixed;left:0;top:0;height:100vh;transform:translateX(-100%);
    transition:transform .26s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-hover);}
  .sidebar.open{transform:translateX(0);}
  .menu-btn{display:flex;}
  :root{--pagepad:18px;}
  .page{padding:22px 18px 80px;}
  .topbar{padding:13px 18px;}
  .topbar .tb-sub{display:none;}
}
@media (min-width:861px){ .scrim{display:none;} }
@media (max-width:760px){
  .page .grid{grid-template-columns:1fr !important;}
  .dfy{grid-template-columns:1fr;}
  .dfy-r{border-left:none;border-top:1px solid var(--line);}
  .plan-feats{grid-template-columns:1fr;}
  .dl-quick{display:none;}
  .license-meta{gap:8px 18px;}
}
@media (max-width:520px){
  .dl-hero .btn{width:100%;}
}

/* real license keys are long JWTs */
.keyrow code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
