:root{--bg:#090711;--panel:#120e1b;--panel2:#171120;--line:#302540;--purple:#a855f7;--purple2:#5b21b6;--red:var(--purple);--red2:var(--purple2);--text:#f4f4f5;--muted:#8f8f98;--green:#39d98a;--yellow:#ffcc66;--radius:14px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#0c0915;padding:18px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:5px 7px 22px}.brand img{width:42px;height:42px;object-fit:contain}.brand b{display:block;font-size:15px;letter-spacing:.2px}.brand small{display:block;color:var(--muted);margin-top:2px;font-size:11px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:11px 12px;border-radius:10px;color:#a5a5ac;display:flex;align-items:center;gap:10px;font-size:14px}.sidebar nav a:hover{background:#171120;color:#fff}.sidebar nav a.active{background:linear-gradient(90deg,rgba(168,85,247,.17),rgba(168,85,247,.04));color:#fff;border:1px solid rgba(168,85,247,.22)}.nav-dot{width:7px;height:7px;border:1px solid #65656b;border-radius:50%}.active .nav-dot{background:var(--red);border-color:var(--red);box-shadow:0 0 14px rgba(168,85,247,.6)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:16px 8px 4px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.admin-chip{color:#bbb}.sidebar-bottom a{color:#be90ff}.content{padding:28px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{font-size:24px;margin:0 0 4px}.topbar p,.panel-head p{margin:0;color:var(--muted);font-size:13px}.status-pill{border:1px solid var(--line);background:#100c17;border-radius:999px;padding:8px 11px;font-size:12px;color:#b4b4ba}.status-pill span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px;box-shadow:0 0 10px rgba(57,217,138,.5)}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:18px}.stat-card{position:relative;background:linear-gradient(180deg,#120e1b,#100c17);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stat-card span{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font-size:28px;margin-top:8px}.stat-card i{position:absolute;right:14px;top:14px;width:6px;height:6px;border-radius:50%;background:#3b3b42}.stat-card i.live{background:var(--green)}.panel{background:linear-gradient(180deg,#120e1a,#0e0a15);border:1px solid var(--line);border-radius:var(--radius);overflow:visible;margin-bottom:18px}.panel.compact{padding-bottom:2px}.panel-head{padding:16px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center}.panel-head h2{font-size:15px;margin:0 0 3px}.table-wrap{overflow:auto;border-radius:0 0 var(--radius) var(--radius)}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#777780;font-weight:600;padding:10px 13px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 13px;border-bottom:1px solid #17171a;color:#c9c9cd;white-space:nowrap}tbody tr:hover{background:#120e1b}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#f0f0f2}.meta{display:block;max-width:250px;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#18181c;color:#aaa;text-transform:lowercase;font-size:11px}.badge.active,.badge.ok{background:rgba(57,217,138,.1);color:#6ce9a6}.badge.expired,.badge.revoked,.badge.denied,.badge.error{background:rgba(229,35,50,.12);color:#ff6a76}.badge.paused{background:rgba(255,204,102,.1);color:#ffd477}.empty{text-align:center;color:var(--muted);padding:28px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.span2{grid-column:span 2}label{display:grid;gap:7px;color:#bcbcc2;font-size:12px}label small{color:var(--muted)}input,select{width:100%;background:#0b0813;border:1px solid #392d4c;color:#eee;border-radius:9px;padding:10px 11px;outline:none}input:focus,select:focus{border-color:#8452cf;box-shadow:0 0 0 3px rgba(168,85,247,.08)}.btn{border:1px solid #392d4b;background:#191324;color:#ddd;border-radius:9px;padding:9px 12px;cursor:pointer;font-weight:600;font-size:12px}.btn:hover{filter:brightness(1.12)}.btn.primary{background:linear-gradient(180deg,#aa5cff,#6d28d9);border-color:#b37aff;color:#fff;box-shadow:0 5px 18px rgba(168,85,247,.15)}.btn.ghost{background:#120e1b}.btn.danger{background:#2b0b0f;border-color:#5d151d;color:#ff6f79}.btn.tiny{padding:5px 8px}.btn.full{width:100%;display:block;text-align:center}.filters{display:flex;gap:8px;align-items:center}.filters input{min-width:210px}.new-key-box{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #6c3da5;background:linear-gradient(90deg,rgba(168,85,247,.14),rgba(168,85,247,.03));padding:15px 17px;border-radius:var(--radius);margin-bottom:18px}.new-key-box span{display:block;color:#caa6ff;font-size:11px;margin-bottom:6px;text-transform:uppercase}.new-key-box code{font-size:16px}.info-list{padding:15px 17px;display:grid;gap:12px}.info-list div{display:flex;justify-content:space-between;gap:15px;padding-bottom:10px;border-bottom:1px solid #17171a}.info-list div:last-child{border:0}.info-list b{font-size:12px}.info-list span{font-size:12px;color:var(--muted);text-align:right}.alert{padding:11px 13px;border-radius:10px;margin:0 0 16px;border:1px solid}.alert.success{border-color:#1c5f43;background:#0d2b20;color:#7de3b0}.alert.error{border-color:#64202a;background:#2a0d11;color:#ff8d96}.auth-body{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,rgba(168,85,247,.09),transparent 35%),#060607}.auth-card{width:min(410px,100%);border:1px solid #242429;background:rgba(12,12,14,.96);border-radius:18px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.45);text-align:center}.install-card{width:min(620px,100%)}.auth-logo{width:96px;height:96px;object-fit:contain;margin-bottom:5px}.auth-card h1{margin:0;font-size:22px}.auth-card>p{color:var(--muted);font-size:13px;margin:5px 0 21px}.auth-card form{text-align:left;display:grid;gap:13px}.auth-card hr{border:0;border-top:1px solid var(--line);width:100%;margin:5px 0}.muted{display:block;color:#68686f;margin-top:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-row{display:flex;justify-content:space-between;align-items:center;border:1px solid #332943;background:#0e0a15;border-radius:10px;padding:12px}.toggle-row span{display:grid;gap:3px}.toggle-row input{width:18px;height:18px}.endpoint-list{padding:17px;display:grid;grid-template-columns:220px 1fr;gap:11px 18px;font-size:12px}.endpoint-list span{color:var(--muted)}details{position:relative}summary{cursor:pointer;list-style:none;color:#aaa}.action-menu{position:absolute;right:0;top:20px;z-index:20;min-width:150px;background:#120e1b;border:1px solid #453651;border-radius:10px;padding:6px;box-shadow:0 15px 40px #000}.action-menu form{margin:0}.action-menu button{width:100%;background:transparent;border:0;color:#ccc;text-align:left;padding:8px;border-radius:7px;cursor:pointer}.action-menu button:hover{background:#18181c}.action-menu button.danger{color:#ff6974}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#555;margin-right:7px}.online-dot.on{background:var(--green);box-shadow:0 0 8px rgba(57,217,138,.55)}@media(max-width:1150px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px}.brand{padding-bottom:10px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.sidebar-bottom{display:none}.content{padding:16px}.topbar{align-items:flex-start}.status-pill{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.filters{width:100%;flex-wrap:wrap}.panel-head{align-items:flex-start;flex-direction:column}.grid2,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.endpoint-list{grid-template-columns:1fr}.new-key-box{align-items:flex-start;flex-direction:column}.new-key-box code{font-size:13px;word-break:break-all}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card strong{font-size:22px}.content{padding:12px}.auth-card{padding:20px}}

/* ===== Mask Client public key login ===== */
.client-auth-body,.client-portal-body{min-height:100vh;background:#060607;color:#f3f3f5;font-family:Consolas,"Courier New",monospace}.client-auth-body{overflow:hidden;background:radial-gradient(circle at 50% -10%,rgba(168,85,247,.16),transparent 38%),linear-gradient(180deg,#0b0813 0%,#050506 100%)}.client-auth-body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent)}.client-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative}.client-login-card{width:min(430px,100%);background:rgba(10,10,12,.96);border:1px solid #302540;border-radius:10px;padding:34px;box-shadow:0 28px 90px rgba(0,0,0,.6);position:relative;overflow:hidden}.client-login-card:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#a855f7,transparent)}.client-brand-mark{width:82px;height:82px;margin:0 auto 18px;display:grid;place-items:center}.client-brand-mark img{width:100%;height:100%;object-fit:contain}.client-login-copy{text-align:center;margin-bottom:25px}.client-eyebrow{display:inline-block;color:#a855f7;font-size:10px;letter-spacing:2px;font-weight:700;margin-bottom:9px}.client-login-copy h1{font-size:26px;letter-spacing:1.5px;margin:0 0 8px}.client-login-copy p{margin:0;color:#777780;font-size:12px;line-height:1.55}.client-key-form{display:grid;gap:10px}.client-key-form label{font-size:11px;color:#8e8e97;letter-spacing:.7px;text-transform:uppercase}.client-key-input-wrap{height:48px;display:flex;align-items:center;border:1px solid #2a2a30;background:#0e0e10;border-radius:7px;overflow:hidden;transition:.18s}.client-key-input-wrap:focus-within{border-color:#8452cf;box-shadow:0 0 0 3px rgba(168,85,247,.08)}.client-key-input-wrap>span{height:100%;display:grid;place-items:center;padding:0 13px;color:#a855f7;border-right:1px solid #302540;font-size:11px;font-weight:700}.client-key-input-wrap input{height:100%;border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0;padding:0 13px;font:12px Consolas,"Courier New",monospace;letter-spacing:.2px}.client-login-btn{height:46px;border:1px solid #a855f7;background:#7c3aed;color:#fff;border-radius:7px;margin-top:4px;font:700 12px Consolas,"Courier New",monospace;letter-spacing:1.2px;cursor:pointer;transition:.18s}.client-login-btn:hover{background:#9955f5;box-shadow:0 9px 28px rgba(168,85,247,.18);transform:translateY(-1px)}.client-login-btn:active{transform:translateY(0)}.client-alert{border:1px solid #5b1d24;background:#260b0e;color:#ff7d87;border-radius:7px;padding:11px 12px;font-size:11px;margin:0 0 15px;text-align:center}.client-login-foot{display:flex;justify-content:center;align-items:center;gap:8px;color:#676770;font-size:10px;margin-top:20px}.client-online-dot{width:7px;height:7px;border-radius:50%;background:#32d875;box-shadow:0 0 12px rgba(50,216,117,.55);flex:0 0 auto}
.client-portal-body{background:radial-gradient(circle at 50% -15%,rgba(168,85,247,.12),transparent 34%),#060607}.client-portal-shell{width:min(980px,calc(100% - 32px));margin:0 auto;padding:28px 0 50px}.client-portal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 0 25px;border-bottom:1px solid #202024}.client-portal-brand{display:flex;align-items:center;gap:12px}.client-portal-brand img{width:44px;height:44px;object-fit:contain}.client-portal-brand div{display:grid;gap:2px}.client-portal-brand strong{font-size:14px;letter-spacing:.8px}.client-portal-brand span{font-size:9px;color:#686870;letter-spacing:1.4px}.client-logout-btn{border:1px solid #392b4c;background:#171020;color:#b890f0;border-radius:6px;padding:9px 13px;font-size:10px;font-weight:700;letter-spacing:.8px}.client-logout-btn:hover{border-color:#7949ac;color:#d3acff}.client-license-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:46px 0 28px}.client-license-hero h1{font-size:30px;margin:0 0 8px;letter-spacing:-.7px}.client-license-hero p{margin:0;color:#787880;font-size:12px}.client-license-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #174c31;background:#0a2016;color:#63df99;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:700;letter-spacing:.8px}.client-license-badge i{width:7px;height:7px;background:#37da7b;border-radius:50%;box-shadow:0 0 10px rgba(55,218,123,.6)}.client-license-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-license-card{min-height:116px;background:linear-gradient(180deg,#120e1a,#0e0a15);border:1px solid #222227;border-radius:8px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.client-license-card.wide{grid-column:span 2}.client-license-card span{font-size:9px;color:#66666e;letter-spacing:1.3px}.client-license-card strong{font-size:15px;font-weight:500;color:#d9d9dd}.client-license-card strong.mono{font-family:Consolas,"Courier New",monospace;color:#f0f0f2;letter-spacing:.3px}.client-info-strip{margin-top:12px;border:1px solid #222227;background:#0e0a15;border-radius:8px;padding:14px 16px;display:flex;align-items:center;gap:11px}.client-info-strip div{display:grid;gap:3px}.client-info-strip strong{font-size:11px}.client-info-strip small{font-size:10px;color:#67676f}
@media(max-width:620px){.client-login-card{padding:26px 20px}.client-license-hero{align-items:flex-start;flex-direction:column;padding-top:32px}.client-license-grid{grid-template-columns:1fr}.client-license-card.wide{grid-column:span 1}.client-portal-shell{width:min(100% - 24px,980px)}.client-license-hero h1{font-size:25px}}

/* Mask Client violet theme: subtle accents on dark surfaces. */
:root{color-scheme:dark;accent-color:var(--purple)}
.sidebar{background:#0b0813}.stat-card{background:linear-gradient(180deg,#161020,#0f0b18)}.panel{background:linear-gradient(180deg,#130f1d,#0e0b16)}
.client-login-card{border-color:#3b2b54;box-shadow:0 28px 90px rgba(0,0,0,.6),0 0 60px rgba(126,58,225,.075)}
.client-license-card{background:linear-gradient(180deg,#151020,#0e0b16);border-color:#31263f}

/* ===== PREMIUM PORTAL PATCH v022 — visual only ===== */
.client-auth-body,.client-portal-body{
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:0;
  background:
    radial-gradient(circle at 12% 8%,rgba(155,77,255,.16),transparent 30%),
    radial-gradient(circle at 88% 0%,rgba(105,44,214,.12),transparent 26%),
    linear-gradient(180deg,#08060d 0%,#07050a 58%,#050407 100%);
}
.client-auth-body:before,.client-portal-body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 86%);
}
.client-login-shell,.client-portal-shell{position:relative;z-index:1}
.client-login-card{
  width:min(470px,100%);padding:38px;border-radius:24px;
  background:linear-gradient(180deg,rgba(22,15,32,.96),rgba(12,9,18,.96));
  border:1px solid rgba(180,112,255,.22);
  box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.02) inset;
  backdrop-filter:blur(20px);
}
.client-login-card:before{height:1px;background:linear-gradient(90deg,transparent,#b66dff 45%,#7441ff 60%,transparent)}
.client-brand-mark{width:88px;height:88px;margin-bottom:22px;filter:drop-shadow(0 15px 35px rgba(150,71,255,.24))}
.client-eyebrow{font-family:Inter,"Segoe UI",sans-serif;color:#c58cff;font-size:10px;letter-spacing:.19em}
.client-login-copy h1{font-family:Inter,"Segoe UI",sans-serif;font-size:30px;letter-spacing:-.035em;font-weight:800}
.client-login-copy p{font-family:Inter,"Segoe UI",sans-serif;color:#9b91a7;font-size:13px;line-height:1.65}
.client-key-form{gap:12px}
.client-key-form label{font-family:Inter,"Segoe UI",sans-serif;color:#aaa0b4;font-size:10px;letter-spacing:.12em}
.client-key-input-wrap{height:52px;border-radius:14px;border-color:#3b2d4c;background:#0d0913;transition:border-color .2s,box-shadow .2s,transform .2s}
.client-key-input-wrap:focus-within{border-color:#9e63e8;box-shadow:0 0 0 4px rgba(158,99,232,.09)}
.client-key-input-wrap>span{font-family:Inter,"Segoe UI",sans-serif;padding:0 15px;border-right-color:#39294b;color:#bd80ff}
.client-key-input-wrap input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.client-login-btn{height:50px;border-radius:14px;background:linear-gradient(135deg,#9f4df9,#742cf0);border-color:#aa67ff;font-family:Inter,"Segoe UI",sans-serif;letter-spacing:.08em;box-shadow:0 12px 30px rgba(130,48,255,.23)}
.client-login-btn:hover{background:linear-gradient(135deg,#ad63ff,#853fff);box-shadow:0 16px 38px rgba(141,58,255,.29)}
.client-alert{border-radius:13px;padding:13px 14px;font-family:Inter,"Segoe UI",sans-serif}
.client-login-foot{font-family:Inter,"Segoe UI",sans-serif;color:#8d8497}

.client-portal-shell{width:min(1120px,calc(100% - 36px));padding:28px 0 56px}
.client-portal-header{padding:12px 2px 22px;border-bottom:1px solid rgba(255,255,255,.06)}
.client-portal-brand img{width:46px;height:46px;filter:drop-shadow(0 9px 24px rgba(149,72,255,.24))}
.client-portal-brand strong{font-family:Inter,"Segoe UI",sans-serif;font-size:14px;letter-spacing:.06em}
.client-portal-brand span{font-family:Inter,"Segoe UI",sans-serif;color:#8f80a1}
.client-dashboard-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.client-dashboard-nav .client-logout-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 13px;
  border-radius:12px;border:1px solid rgba(183,126,255,.13);background:rgba(255,255,255,.025);
  color:#c9bdd5;font-family:Inter,"Segoe UI",sans-serif;font-size:11px;letter-spacing:0;transition:.2s ease;
}
.client-dashboard-nav .client-logout-btn:hover{transform:translateY(-1px);border-color:rgba(184,115,255,.35);background:rgba(153,75,255,.08);color:#fff}
.client-dashboard-nav .client-logout-btn[aria-current=page],.client-dashboard-nav .client-gui-link{
  background:linear-gradient(135deg,rgba(155,77,255,.22),rgba(111,44,255,.13))!important;border-color:rgba(181,116,255,.34)!important;color:#fff!important;
}
.client-license-hero{padding:52px 4px 30px;align-items:flex-end}
.client-license-hero h1{font-family:Inter,"Segoe UI",sans-serif;font-size:38px;letter-spacing:-.045em;font-weight:800;margin-bottom:10px}
.client-license-hero p{font-family:Inter,"Segoe UI",sans-serif;color:#9d94a8;font-size:13px;line-height:1.6}
.client-license-badge{font-family:Inter,"Segoe UI",sans-serif;padding:9px 13px;border-radius:999px;background:rgba(70,214,148,.08);border-color:rgba(70,214,148,.2);color:#82eab8}
.client-license-grid{gap:14px}
.client-license-card{
  min-height:126px;border-radius:18px;padding:20px;
  background:linear-gradient(180deg,rgba(23,16,33,.91),rgba(13,9,20,.9));
  border:1px solid rgba(183,126,255,.12);
  box-shadow:0 15px 40px rgba(0,0,0,.18);transition:transform .2s,border-color .2s,box-shadow .2s;
}
.client-license-card:hover{transform:translateY(-2px);border-color:rgba(183,126,255,.27);box-shadow:0 20px 46px rgba(0,0,0,.23)}
.client-license-card span{font-family:Inter,"Segoe UI",sans-serif;color:#8d809b;font-size:9px;letter-spacing:.16em;font-weight:700}
.client-license-card strong{font-family:Inter,"Segoe UI",sans-serif;font-size:15px;font-weight:650;color:#f3edf8}
.client-license-card strong.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#f7f0ff}
.client-info-strip{margin-top:14px;border-radius:15px;padding:15px 17px;border-color:rgba(183,126,255,.11);background:rgba(20,14,28,.72);box-shadow:0 14px 38px rgba(0,0,0,.15)}
.client-info-strip strong{font-family:Inter,"Segoe UI",sans-serif;font-size:12px}.client-info-strip small{font-family:Inter,"Segoe UI",sans-serif;color:#8f8499}

.client-auth-body .qr-card{
  max-width:650px!important;margin:5vh auto!important;padding:32px!important;border-radius:26px!important;
  border:1px solid rgba(184,118,255,.24)!important;
  background:linear-gradient(180deg,rgba(24,17,34,.96),rgba(12,9,18,.97))!important;
  box-shadow:0 30px 100px rgba(0,0,0,.5)!important;
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important;
  position:relative;overflow:hidden;
}
.client-auth-body .qr-card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,#c17cff,transparent)}
.client-auth-body .qr-card h1{font-family:Inter,"Segoe UI",sans-serif!important;font-size:clamp(30px,7vw,44px)!important;line-height:1.05!important;letter-spacing:-.045em!important;margin:10px 0 13px!important}
.client-auth-body .qr-card>p{color:#a89caf!important;line-height:1.65!important;font-size:13px!important}
.client-auth-body .qr-device{padding:17px 18px!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(135,66,202,.15),rgba(255,255,255,.025))!important;border:1px solid rgba(179,114,255,.12)!important;margin:18px 0!important}
.client-auth-body .qr-device b{font-size:15px;letter-spacing:.04em}.client-auth-body .qr-device small{display:inline-block;margin-top:5px;color:#9b8ea7}
.client-auth-body .qr-warn{padding:15px!important;border-radius:15px!important;background:rgba(244,198,109,.07)!important;border:1px solid rgba(244,198,109,.13)!important;color:#f2d9a7!important;line-height:1.55!important}
.client-auth-body .qr-ok{padding:24px!important;border-radius:18px!important;background:rgba(69,214,148,.08)!important;border:1px solid rgba(69,214,148,.16)!important;color:#baf4d7!important}
.client-auth-body .qr-btn{min-height:52px!important;border-radius:15px!important;background:linear-gradient(135deg,#9f4df9,#742cf0)!important;box-shadow:0 12px 30px rgba(130,48,255,.22)!important;font-family:Inter,"Segoe UI",sans-serif!important;letter-spacing:.02em!important;font-size:13px!important;transition:.2s ease!important}
.client-auth-body .qr-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.client-auth-body .qr-check{padding:13px 14px!important;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);align-items:center!important}
.client-auth-body .qr-check input{width:19px;height:19px;accent-color:#a855f7}
.client-auth-body .qr-check span{color:#d3c7dc;font-size:12px;line-height:1.45}
.client-auth-body .qr-card a{color:#c48aff;text-decoration:none;font-weight:700}

/* scanner polish — higher specificity than page inline styles */
body .scan-shell{width:min(860px,calc(100% - 28px));padding-top:22px}
body .scan-header{border-bottom-color:rgba(255,255,255,.06);padding-bottom:20px;margin-bottom:22px}
body .scan-brand strong{font-family:Inter,"Segoe UI",sans-serif;letter-spacing:.05em}
body .scan-brand small{font-family:Inter,"Segoe UI",sans-serif;color:#9d85b4;letter-spacing:.08em}
body .scan-nav a{border-radius:12px!important;padding:10px 13px!important;border-color:rgba(184,118,255,.13)!important;background:rgba(255,255,255,.025)!important;font-family:Inter,"Segoe UI",sans-serif!important;transition:.2s ease}
body .scan-nav a:hover{transform:translateY(-1px);border-color:rgba(184,118,255,.32)!important;color:#fff!important}
body .scan-nav a[aria-current=page]{background:linear-gradient(135deg,rgba(155,77,255,.2),rgba(111,44,255,.12))!important;border-color:rgba(184,118,255,.36)!important}
body .scan-card{border-radius:26px!important;padding:26px!important;border-color:rgba(184,118,255,.2)!important;background:linear-gradient(180deg,rgba(24,17,34,.96),rgba(12,9,18,.96))!important;box-shadow:0 30px 90px rgba(0,0,0,.34)!important}
body .scan-card h1{font-family:Inter,"Segoe UI",sans-serif!important;font-size:clamp(30px,7vw,44px)!important;letter-spacing:-.045em!important}
body .scan-copy{font-family:Inter,"Segoe UI",sans-serif!important;color:#a99caf!important;line-height:1.65!important}
body .camera-wrap{border-radius:22px!important;border-color:rgba(184,118,255,.27)!important;box-shadow:0 18px 60px rgba(0,0,0,.28) inset}
body .scan-btn,body .scan-file-label{min-height:48px;border-radius:14px!important;font-family:Inter,"Segoe UI",sans-serif!important;letter-spacing:.01em!important;transition:.2s ease}
body .scan-btn:hover,body .scan-file-label:hover{transform:translateY(-1px);filter:brightness(1.08)}
body .scan-status{border-radius:14px!important;padding:13px 14px!important;font-family:Inter,"Segoe UI",sans-serif!important}
body .manual-box summary,body .privacy-note{font-family:Inter,"Segoe UI",sans-serif!important}
body .perm-panel{border-radius:24px!important;padding:24px!important;border-color:rgba(184,118,255,.23)!important;background:linear-gradient(180deg,#1c1425,#100b16)!important;box-shadow:0 30px 100px rgba(0,0,0,.58)!important}
body .perm-panel h2{font-family:Inter,"Segoe UI",sans-serif!important;font-size:25px!important;letter-spacing:-.03em}
body .perm-panel p,body .perm-steps,body .perm-actions button,body .perm-link{font-family:Inter,"Segoe UI",sans-serif!important}

@media(max-width:620px){
  .client-login-card{padding:28px 21px;border-radius:20px}
  .client-portal-shell{width:min(100% - 22px,1120px)}
  .client-portal-header{align-items:flex-start;flex-direction:column;gap:15px}
  .client-dashboard-nav{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .client-dashboard-nav .client-logout-btn{width:100%;padding-inline:9px}
  .client-license-hero{padding-top:34px;align-items:flex-start}.client-license-hero h1{font-size:30px}
  .client-license-grid{grid-template-columns:1fr}.client-license-card.wide{grid-column:span 1}
  .client-auth-body .qr-card{margin:14px!important;padding:22px!important;border-radius:22px!important}
  body .scan-card{padding:18px!important}
}
@media(prefers-reduced-motion:reduce){.client-license-card,.client-dashboard-nav .client-logout-btn,.client-login-btn,.client-auth-body .qr-btn,body .scan-btn,body .scan-file-label{transition:none!important}}
