:root{--bg:#f3f6fb;--panel:#fff;--ink:#111b2e;--muted:#68768c;--line:#e1e7f0;--nav:#0a1020;--blue:#3568ff;--violet:#7657f6;--green:#12a36f;--amber:#e49a16;--red:#d9364e;--shadow:0 16px 44px rgba(15,24,43,.08);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}.hidden{display:none!important}.button{border:0;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:linear-gradient(135deg,#3568ff,#684cff);color:#fff;box-shadow:0 8px 20px #3568ff33}.secondary{background:#edf2f8;color:#34435a}.ghost{background:#fff;border:1px solid var(--line);color:#3d4c61}.danger{background:#fff0f2;color:#b72239}.light{background:#fff;color:#2454dc}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:#8290a6}.eyebrow.light{color:#b8c7ff}.logo{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#4d7cff,#7955f8);display:grid;place-items:center;color:#fff;font-weight:950;box-shadow:0 13px 30px #496fff40}.logo.small{width:39px;height:39px;border-radius:12px;font-size:12px;box-shadow:none}
.login-page,.installer{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 20% 0,#1c2a54 0,transparent 36%),radial-gradient(circle at 95% 100%,#402b72 0,transparent 36%),#09101f}.login-card,.install-card{width:min(520px,100%);background:#fff;border-radius:24px;padding:36px;box-shadow:0 30px 100px #0007}.login-card .logo,.install-card .logo{margin-bottom:22px}.login-card h1,.install-card h1{font-size:30px;margin:8px 0}.login-card>p,.install-card>p{color:var(--muted);line-height:1.6}.login-card form,.install-card form{display:grid;gap:14px;margin-top:24px}label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#3c4c63}input,select{width:100%;border:1px solid #d9e1ec;border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink);outline:none}input:focus,select:focus{border-color:#6c8fff;box-shadow:0 0 0 3px #e7edff}.form-error,.error-box{color:#b42335;font-size:12px}.error-box,.success-box{border-radius:10px;padding:12px 14px;margin:15px 0}.error-box{background:#fff1f3}.success-box{background:#eafaf4;color:#087b58}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .wide{grid-column:1/-1}.install-card hr{border:0;border-top:1px solid var(--line);margin:4px 0}.install-note{display:grid;gap:4px;margin-top:18px;background:#eef5ff;border:1px solid #cadeff;border-radius:11px;padding:12px;color:#375278;font-size:12px}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;background:linear-gradient(180deg,#0b1121,#101a31);color:#aebbd0;padding:22px 15px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.brand div:last-child{display:grid}.brand strong{color:#fff;font-size:15px}.brand span{font-size:10px;color:#71819a;margin-top:3px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{display:flex;align-items:center;gap:11px;border:0;background:none;color:#aebbd0;border-radius:10px;padding:12px;text-align:left;cursor:pointer;font-size:12px;font-weight:700}.sidebar nav button i{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#ffffff0a;font-style:normal}.sidebar nav button:hover,.sidebar nav button.active{background:#1a2742;color:#fff}.sidebar nav button.active i{background:#4b73ff;color:#fff}.secure{margin-top:auto;display:grid;gap:4px;border:1px solid #ffffff12;background:#ffffff08;border-radius:12px;padding:12px;font-size:10px}.secure b{color:#67d8ac}.secure span{color:#7889a4}.workspace{margin-left:258px;padding:30px 36px 70px;max-width:1800px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:5px 0 0;font-size:29px}.top-actions{display:flex;gap:9px}.icon-button{width:39px;height:39px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#38495f;font-size:23px;cursor:pointer}.notice{display:flex;justify-content:space-between;background:#e9f9f2;color:#087653;border:1px solid #bcead8;border-radius:10px;padding:10px 13px;margin-bottom:14px;font-size:12px;font-weight:700}.notice.error{background:#fff0f2;color:#ad243a;border-color:#ffcdd4}.notice button{border:0;background:none;color:inherit;cursor:pointer}.view{display:grid;gap:16px}.hero{min-height:264px;border-radius:22px;padding:34px 39px;color:#fff;background:radial-gradient(circle at 76% 20%,#8270ff88 0,transparent 26%),linear-gradient(125deg,#15347b,#4730a4 72%,#6e3dc4);box-shadow:0 22px 54px #3149a332;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.hero h2{font-size:37px;line-height:1.12;margin:9px 0}.hero p{color:#dce4ff;margin:0 0 22px}.hero-stat{width:185px;height:185px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#ffffff13;border:1px solid #ffffff35;box-shadow:inset 0 0 50px #ffffff0a}.hero-stat span,.hero-stat small{font-size:11px;color:#ccd7ff}.hero-stat strong{font-size:45px;margin:5px 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.metric{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.metric i{position:absolute;inset:0 auto 0 0;width:4px}.metric i.blue{background:var(--blue)}.metric i.violet{background:var(--violet)}.metric i.green{background:var(--green)}.metric i.amber{background:var(--amber)}.metric span,.metric small{display:block;color:var(--muted);font-size:10px}.metric strong{display:block;font-size:28px;margin:7px 0}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:20px}.panel.compact{display:grid;gap:11px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.panel-head h2{font-size:17px;margin:0 0 4px}.panel-head p{font-size:10px;color:var(--muted);margin:0}.grid-two,.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.copy-field{display:flex;gap:8px}.copy-field code{flex:1;background:#f5f7fb;border:1px solid var(--line);border-radius:9px;padding:10px;overflow:auto;font-size:11px;color:#294fbd}.big-money{display:block;font-size:36px;color:#2a52d7}.activity-list{display:grid}.activity-list>div{display:grid;grid-template-columns:35px 1fr auto 150px;align-items:center;gap:10px;padding:10px 2px;border-top:1px solid var(--line)}.activity-list>div:first-child{border-top:0}.activity-list .event{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;font-style:normal;background:#edf4ff;color:#2454dc}.activity-list .event.email{background:#fff5e4;color:#b47100}.activity-list span{display:grid}.activity-list small,.activity-list time{font-size:9px;color:var(--muted)}.action-grid .panel{min-width:0}.triple{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.search{width:280px}.table-wrap{overflow:auto;margin:0 -20px -20px}table{width:100%;border-collapse:collapse;font-size:11px}th,td{text-align:left;padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}th{background:#f8fafc;color:#6d7b8f;text-transform:uppercase;letter-spacing:.07em;font-size:9px}td>span{display:block;color:var(--muted);font-size:9px;margin-top:4px}.key-cell{display:flex;align-items:flex-start;gap:6px;max-width:430px}.key-cell code{word-break:break-all;color:#2449af;background:#f2f5ff;border-radius:7px;padding:6px}.key-cell button,.controls button{border:0;background:#eef2f8;color:#41506a;border-radius:7px;padding:6px 7px;font-size:9px;font-weight:800;cursor:pointer}.controls{display:flex;align-items:center;gap:5px;min-width:250px}.controls select{padding:6px;width:auto}.controls .remove-key{background:#fff0f2;color:#b5263d}.status{display:inline-block!important;width:max-content;border-radius:999px;padding:5px 8px;font-size:9px!important;font-weight:900;text-transform:uppercase;background:#edf2f7;color:#5e6b7c}.status.active{background:#dff8ee;color:#087955}.status.disabled,.status.blocked{background:#ffe5e9;color:#b2253c}.status.suspended{background:#fff2d6;color:#a86400}.customer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.customer-grid article{display:grid;grid-template-columns:38px 1fr auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px}.avatar{width:36px;height:36px;border-radius:10px;background:#e8eeff;color:#3158d2;display:grid;place-items:center;font-weight:900}.customer-grid div{display:grid}.customer-grid small{font-size:9px;color:var(--muted)}.installation-list{display:grid}.installation-list article{display:grid;grid-template-columns:42px minmax(240px,1fr) 90px 150px auto auto;align-items:center;gap:13px;padding:12px 0;border-top:1px solid var(--line)}.installation-list article:first-child{border-top:0}.device{width:39px;height:39px;border-radius:11px;background:#edf3ff;color:#3159dc;display:grid;place-items:center;font-style:normal}.installation-list article>div{display:grid;min-width:0}.installation-list span{display:grid;font-size:10px;color:var(--muted)}.installation-list small{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.installation-list b{color:var(--ink);font-size:10px}.pricing-card{background:linear-gradient(135deg,#17377d,#5231aa);color:#fff;border-radius:18px;padding:28px;box-shadow:0 20px 50px #303c8c33}.pricing-card h2{font-size:43px;margin:11px 0}.pricing-card>p{color:#cdd8ff}.pricing-card>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pricing-card>div span{display:grid;background:#ffffff10;border:1px solid #ffffff18;border-radius:11px;padding:12px;color:#dfe5ff;font-size:10px}.pricing-card b{font-size:22px;color:#fff;margin:5px 0}.pricing-card small{color:#b9c8fa}.empty{text-align:center;color:var(--muted);padding:30px}
@media(max-width:1050px){.sidebar{width:220px}.workspace{margin-left:220px;padding:25px}.metrics{grid-template-columns:1fr 1fr}.installation-list article{grid-template-columns:42px 1fr auto}.installation-list article>span{display:none}.grid-two,.action-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:static;width:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.secure{display:none}.workspace{margin:0;padding:18px}.topbar{align-items:flex-start}.hero{padding:25px}.hero h2{font-size:29px}.hero-stat{display:none}.metrics,.customer-grid,.form-grid{grid-template-columns:1fr}.activity-list>div{grid-template-columns:35px 1fr auto}.activity-list time{display:none}.panel-head{align-items:flex-start;flex-direction:column}.search{width:100%}.installation-list article{grid-template-columns:38px 1fr}.installation-list article>.status,.installation-list article>button{grid-column:2}.triple{grid-template-columns:1fr}.login-card,.install-card{padding:27px}}

/* Owner-controlled license key reveal */
.key-cell{display:grid;align-items:start;gap:7px;max-width:430px}
.key-cell code{width:max-content;max-width:100%;word-break:break-all;padding:7px 9px}
.key-actions{display:flex;gap:6px}
.key-cell button{padding:6px 8px}
.key-cell .reveal-key{background:#e8eeff;color:#294fc5}
.issued-license{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.5fr) auto;align-items:center;gap:18px;border-color:#a7e3ce;background:linear-gradient(135deg,#ecfdf5,#fff)}.issued-license h2{margin:5px 0 3px;font-size:18px}.issued-license p{margin:0;color:var(--muted);font-size:10px}.issued-license code{padding:12px 14px;border:1px solid #a7e3ce;border-radius:10px;background:#fff;color:#075e48;font-size:11px;font-weight:800;word-break:break-all}.issued-license.hidden{display:none}
@media(max-width:1050px){.issued-license{grid-template-columns:1fr}.issued-license .button{justify-self:start}}
.copy-field code{min-width:0;word-break:break-all}

