@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--bg:#071018;--panel:#0d171f;--panel2:#111d26;--line:rgba(183,214,226,.13);--text:#eef4f5;--muted:#91a3aa;--cyan:#58d4cf;--gold:#d8ad61;--green:#54d390;--red:#f36969;--amber:#edb65d;--shadow:0 26px 70px rgba(0,0,0,.42)}
*{box-sizing:border-box}[hidden]{display:none!important}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}.eyebrow{margin:0;color:var(--cyan);font-size:11px;font-weight:700;letter-spacing:.23em}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font:600 13px 'Manrope';letter-spacing:.17em}.brand b{color:var(--cyan)}.brand-mark{width:35px;height:35px;border:1px solid rgba(88,212,207,.45);display:grid;place-items:center;color:var(--cyan);font-size:10px;letter-spacing:.05em;clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%)}

/* Landing */
.landing{min-height:100vh;overflow-x:hidden;background:#050d13}.hero-art{position:fixed;inset:0;background-image:linear-gradient(90deg,rgba(3,10,15,.98) 0%,rgba(3,10,15,.75) 43%,rgba(3,10,15,.12) 78%),linear-gradient(0deg,rgba(3,10,15,.96),transparent 45%),url('/assets/hero.png');background-size:cover;background-position:center;z-index:-2}.hero-art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 59% 58%,rgba(32,162,176,.13),transparent 29%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,100% 4px;mix-blend-mode:screen;opacity:.65}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,82px);border-bottom:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,rgba(2,8,12,.72),transparent)}.status-dot{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#9cabb0;display:flex;align-items:center;gap:9px}.status-dot i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}.hero{min-height:calc(100vh - 150px);display:flex;align-items:center;padding:54px clamp(24px,7vw,112px) 70px}.hero-copy{width:min(690px,100%)}.hero h1{font:700 clamp(48px,6vw,88px)/.98 'Manrope';letter-spacing:-.055em;margin:18px 0 22px}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(238,244,245,.62)}.lead{width:min(570px,100%);color:#a7b6bb;font-size:17px;line-height:1.7;margin:0 0 30px}.license-card{width:min(640px,100%);padding:24px;border:1px solid rgba(115,196,200,.23);background:linear-gradient(145deg,rgba(14,29,38,.95),rgba(8,18,25,.88));backdrop-filter:blur(18px);box-shadow:var(--shadow);position:relative;overflow:hidden}.license-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(transparent,var(--cyan),transparent)}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.step{color:#738990;font-size:9px;letter-spacing:.2em;font-weight:700}.card-heading h2{margin:4px 0 0;font:600 19px 'Manrope'}.shield{color:var(--gold);opacity:.75}.license-card label,.login-card label,.modal-card label{display:block;color:#9daeb4;font-size:11px;font-weight:600;letter-spacing:.08em;margin:0 0 7px}.key-row{display:grid;grid-template-columns:1fr auto;gap:10px}.key-row input,.login-card input,.modal-card input{width:100%;border:1px solid var(--line);outline:none;background:#081219;color:#eaf6f6;padding:14px 16px;transition:.2s}.key-row input{font:600 17px 'Manrope';letter-spacing:.11em}.key-row input:focus,.login-card input:focus,.modal-card input:focus{border-color:rgba(88,212,207,.68);box-shadow:0 0 0 3px rgba(88,212,207,.08)}.key-row button,.primary{border:0;background:linear-gradient(135deg,#47c6c1,#77ddd2);color:#041313;font-weight:700;padding:0 20px;cursor:pointer;display:flex;align-items:center;gap:17px;transition:transform .18s,filter .18s}.key-row button:hover,.primary:hover{filter:brightness(1.09);transform:translateY(-1px)}.key-row button:disabled,.primary:disabled{opacity:.55;cursor:wait}.key-row button b{font-size:20px}.form-status{min-height:18px;color:#71878e;font-size:11px;margin:11px 0 0}.form-status.error{color:#ff8585}.form-status.success{color:#70dba5}.trust-row{display:flex;gap:27px;flex-wrap:wrap;margin-top:25px;color:#84979e;font-size:11px}.trust-row span{display:flex;align-items:center;gap:8px}.trust-row b{color:var(--gold);font-size:9px}.landing footer{min-height:62px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(24px,5vw,82px);border-top:1px solid rgba(255,255,255,.06);color:#60737a;font-size:10px;letter-spacing:.1em;text-transform:uppercase}

/* Admin auth */
.admin-page{min-height:100vh;background:radial-gradient(circle at 80% -10%,rgba(42,140,146,.12),transparent 30%),#080d12}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(5,12,17,.88),rgba(5,12,17,.96)),url('/assets/hero.png') center/cover}.login-card{width:min(430px,100%);padding:38px;background:rgba(10,20,27,.96);border:1px solid var(--line);box-shadow:var(--shadow)}.login-card .brand{margin-bottom:44px}.login-card h1{font:700 30px 'Manrope';letter-spacing:-.04em;margin:10px 0}.login-card>p:not(.eyebrow):not(.form-status){color:var(--muted);font-size:13px;margin:0 0 28px}.login-card input{margin-bottom:14px}.wide{width:100%;height:47px;justify-content:center}.dashboard{min-height:100vh;grid-template-columns:235px 1fr}.dashboard:not([hidden]){display:grid}.sidebar{position:sticky;top:0;height:100vh;padding:26px 18px;background:#090f14;border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar .brand{padding:0 10px 30px;border-bottom:1px solid var(--line)}.sidebar nav{display:grid;gap:6px;margin-top:25px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 13px;color:#778b92;text-decoration:none;background:transparent;border:0;border-radius:5px;cursor:pointer;text-align:left;font-size:12px}.nav-item span{font-size:16px}.nav-item:hover,.nav-item.active{color:#dce8ea;background:rgba(88,212,207,.08)}.nav-item.active{box-shadow:inset 2px 0 var(--cyan)}.logout{margin-top:auto}.admin-main{padding:34px clamp(24px,4vw,58px) 60px;min-width:0}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.admin-header h1{margin:5px 0 0;font:700 31px 'Manrope';letter-spacing:-.045em}.primary{min-height:42px;border-radius:4px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats-grid article{padding:20px 22px;background:var(--panel);border:1px solid var(--line);position:relative}.stats-grid article:after{content:"";position:absolute;inset:auto 0 0;width:100%;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);opacity:.35}.stats-grid span{display:block;color:#74878e;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.stats-grid strong{display:block;font:700 28px 'Manrope';margin-top:8px}.stats-grid .green{color:var(--green)}.stats-grid .amber{color:var(--amber)}.table-card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.table-tools{padding:22px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.table-tools h2{font:600 17px 'Manrope';margin:0}.table-tools p{color:#6e8289;font-size:11px;margin:5px 0 0}.search-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#081118;padding:0 12px}.search-wrap span{color:#5e767e}.search-wrap input{height:39px;width:230px;background:transparent;border:0;outline:0;color:var(--text);font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th{text-align:left;padding:12px 18px;color:#62767d;background:#091219;font-size:9px;letter-spacing:.1em;text-transform:uppercase}td{padding:15px 18px;border-top:1px solid rgba(184,214,225,.08);font-size:12px;color:#a9b8bd}td.key{font:600 12px 'Manrope';letter-spacing:.05em;color:#e5f1f1}.customer{color:#d4dee0}.badge{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.badge:before{content:"";width:5px;height:5px;border-radius:50%}.badge.active{color:#69dda1;background:rgba(84,211,144,.08)}.badge.active:before{background:#54d390}.badge.revoked,.badge.expired{color:#ff7e7e;background:rgba(243,105,105,.08)}.badge.revoked:before,.badge.expired:before{background:#f36969}.actions{display:flex;justify-content:flex-end;gap:6px}.small-btn{border:1px solid var(--line);background:#0a141b;color:#91a5ab;padding:7px 9px;cursor:pointer;border-radius:3px;font-size:10px}.small-btn:hover{border-color:rgba(88,212,207,.45);color:#dcebec}.small-btn.danger{color:#f07d7d}.empty-state{text-align:center;padding:55px 20px;color:#6e8289;font-size:12px}

/* Modal and feedback */
dialog{border:0;padding:0;background:transparent;color:var(--text);width:min(510px,calc(100% - 30px))}dialog::backdrop{background:rgba(1,6,9,.78);backdrop-filter:blur(5px)}.modal-card{background:#0d171f;border:1px solid rgba(88,212,207,.22);padding:26px;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.modal-head h2{font:700 24px 'Manrope';margin:5px 0}.icon-btn{border:0;background:transparent;color:#80939a;font-size:27px;cursor:pointer}.modal-card>input,.suffix,.form-grid input{margin-bottom:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.suffix{position:relative}.suffix input{margin:0}.suffix span{position:absolute;right:13px;top:13px;color:#62777e;font-size:11px}.switch-row{display:flex!important;align-items:center;gap:9px!important;margin:5px 0 16px!important;cursor:pointer}.switch-row input{position:absolute;opacity:0}.switch{width:34px;height:18px;border-radius:20px;background:#27343a;position:relative}.switch:after{content:"";position:absolute;width:12px;height:12px;left:3px;top:3px;background:#7b8e94;border-radius:50%;transition:.2s}.switch-row input:checked+.switch{background:rgba(88,212,207,.25)}.switch-row input:checked+.switch:after{left:19px;background:var(--cyan)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px}.ghost{border:1px solid var(--line);background:transparent;color:#8fa1a7;padding:10px 15px;cursor:pointer}.toast{position:fixed;right:24px;bottom:24px;background:#17252d;border:1px solid rgba(88,212,207,.3);padding:13px 17px;box-shadow:var(--shadow);font-size:12px;transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:none;opacity:1}

@media(max-width:900px){.dashboard:not([hidden]){grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:15px 20px}.sidebar .brand{padding:0;border:0}.sidebar nav{display:none}.sidebar .logout{margin:0 0 0 auto;width:auto}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.topbar{height:70px}.status-dot{display:none}.hero{align-items:flex-start;padding-top:48px}.hero h1{font-size:46px}.lead{font-size:14px}.license-card{padding:19px}.key-row{grid-template-columns:1fr}.key-row button{height:48px;justify-content:center}.trust-row{gap:12px 18px}.landing footer{display:none}.admin-main{padding:24px 14px 45px}.admin-header{align-items:flex-end}.admin-header h1{font-size:25px}.admin-header .primary{padding:0 12px}.stats-grid{gap:8px}.stats-grid article{padding:15px}.stats-grid strong{font-size:23px}.table-tools{align-items:flex-start;gap:15px;flex-direction:column}.search-wrap,.search-wrap input{width:100%}.form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
