:root{--bg:#0b1120;--panel:#111a2e;--panel2:#16213a;--text:#e8eefc;--muted:#91a0bc;--line:#243352;--accent:#4f8cff;--green:#28c281;--red:#ff5c68;--yellow:#f7c948}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);display:flex;min-height:100vh}a{color:inherit;text-decoration:none}
.sidebar{width:230px;background:#08101f;border-right:1px solid var(--line);padding:22px 14px;position:fixed;top:0;bottom:0;left:0}.logo{font-size:24px;font-weight:800;padding:0 10px 24px}.logo span{color:var(--accent)}.logo small{display:block;font-size:12px;color:var(--muted);font-weight:500}
nav a{display:block;padding:11px 12px;margin:4px 0;border-radius:8px;color:#b8c5dd}nav a:hover,nav a.active{background:#15223c;color:#fff}.side-footer{position:absolute;bottom:18px;left:24px;color:var(--muted);font-size:13px}.side-footer a{color:#fff}
main{margin-left:230px;width:calc(100% - 230px);padding:24px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1,h2,h3{margin:0}header p{margin:5px 0 0;color:var(--muted)}
.badge{padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700}.badge.ok{background:#123629;color:#6be2a8}.badge.off{background:#3a1820;color:#ff8991}
.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:18px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.card{padding:18px}.card span{color:var(--muted);font-size:13px}.card strong{display:block;font-size:28px;margin-top:8px}.good{color:var(--green)}
.panel{padding:18px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-head span{font-size:12px;color:var(--muted)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.online{background:var(--green);box-shadow:0 0 8px var(--green)}.dot.offline{background:#64748b}.tag{font-size:11px;background:#1e3156;padding:4px 7px;border-radius:5px}
.btn{border:0;border-radius:8px;padding:10px 14px;background:#24395f;color:white;cursor:pointer;font-weight:700}.btn.primary{background:var(--accent)}.btn.danger{background:var(--red)}.btn.success{background:var(--green);color:#07140f}
.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:var(--panel2);padding:15px;border-radius:10px;margin-bottom:16px}.form-grid label,.login-card label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px}.form-grid input,.form-grid select,.login-card input{background:#0b1427;border:1px solid #2b3a58;color:#fff;padding:10px;border-radius:7px}.check{flex-direction:row!important;align-items:center}.hidden{display:none}.hint{grid-column:1/-1;color:var(--yellow);font-size:12px}
.install{display:grid;place-items:center;width:100%;background:radial-gradient(circle at top,#152b54,#080d18 58%)}.login-card{width:min(440px,92vw);background:var(--panel);padding:28px;border:1px solid var(--line);border-radius:16px;box-shadow:0 25px 70px #0008}.login-card form{display:grid;gap:14px}.login-card p{color:var(--muted)}.brand{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--accent);font-weight:900;margin-bottom:14px}
.alert,.notice{padding:12px;border-radius:8px;margin:12px 0}.alert.danger{background:#4a1d25;color:#ffb5bb}.notice{background:#162844;color:#c7d8f4}.control-box{padding:20px;background:var(--panel2);border-radius:10px;margin-bottom:14px}code{color:#9dc0ff}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{width:70px;padding:14px 8px}.sidebar .logo small,.sidebar nav a{font-size:0}.sidebar nav a:before{content:"•";font-size:22px}.side-footer{display:none}main{margin-left:70px;width:calc(100% - 70px);padding:14px}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}header{align-items:flex-start;gap:10px}.badge{white-space:nowrap}}

/* ===== KDC ADMIN V4 PREMIUM UI ===== */
:root{--panel3:#0e1729;--cyan:#54d6ff;--purple:#8b7cff;--orange:#ffb454}
body{background:radial-gradient(circle at 70% -20%,#142b50 0,transparent 32%),var(--bg)}
.sidebar{background:linear-gradient(180deg,#07101f,#091426);box-shadow:12px 0 35px #0002}.logo span{font-size:27px;letter-spacing:-1px}.logo small{margin-top:3px;letter-spacing:.08em;text-transform:uppercase}
nav a{transition:.18s ease;border:1px solid transparent}nav a:hover,nav a.active{background:linear-gradient(90deg,#152b4c,#122039);border-color:#28466f;transform:translateX(2px)}
header{padding-bottom:16px;border-bottom:1px solid #1d2d48}.badge.ok{box-shadow:0 0 0 1px #2c6f55 inset,0 0 24px #28c28118}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;margin-bottom:16px;border:1px solid #294266;border-radius:16px;background:linear-gradient(115deg,#142440,#101a2e 58%,#13294a);box-shadow:0 16px 45px #0003}.dashboard-hero h2{font-size:23px;margin:5px 0}.dashboard-hero p{margin:0;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.18em;color:#7db3ff;font-weight:800}.hero-state{font-size:11px;font-weight:800;color:#79e6b2;border:1px solid #285d49;background:#102c24;padding:9px 12px;border-radius:999px}.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px;box-shadow:0 0 12px var(--green)}
.cards{grid-template-columns:repeat(6,minmax(135px,1fr))}.card{position:relative;overflow:hidden;background:linear-gradient(145deg,#121d32,#0e1728);box-shadow:0 12px 28px #0002}.card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--accent),var(--cyan))}.card strong{font-size:27px}.card small{display:block;color:#657796;margin-top:5px;font-size:10px}.warn{color:var(--orange)}.neg{color:#ff7d87}
.panel{box-shadow:0 14px 35px #0002}.panel-head h2{font-size:16px}.table-wrap{border:1px solid #1e304d;border-radius:10px}th{background:#0d1728;position:sticky;top:0;z-index:1}tbody tr{transition:.15s ease}tbody tr:hover{background:#15243d}td{height:48px}.status-pill,.license-pill,.platform-badge,.mini-badge{display:inline-flex;align-items:center;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.03em}.status-pill{padding:5px 8px;background:#101b2e}.license-pill{padding:5px 8px}.license-pill.ok{color:#70e6ad;background:#113528}.license-pill.off{color:#ff9299;background:#391921}.license-pill.expired{color:#ffd078;background:#3b2c13}.platform-badge{padding:4px 7px;background:#1b3154;color:#9fc4ff}.mini-badge.risk{margin-left:5px;padding:4px 6px;background:#4a1d25;color:#ff9ca4}.expiry{display:block;color:#7183a0;font-size:9px;margin-top:3px}.last-seen{color:#a9b9d2;font-size:11px}
@media(max-width:1300px){.cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dashboard-hero{align-items:flex-start;gap:16px;flex-direction:column}.cards{grid-template-columns:repeat(2,1fr)}header h1{font-size:21px}.card strong{font-size:23px}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.dashboard-hero{padding:18px}.hero-state{display:none}}

/* ===== KDC ADMIN V4.2 DASHBOARD & CONTROL ===== */
.status-pill.online{color:#79e6b2;background:#103328}.status-pill.offline{color:#a7b4c9;background:#182238}
.mini-badge{padding:4px 7px}.mini-badge.copy-on,.mini-badge.safe{background:#113528;color:#70e6ad}.mini-badge.copy-off{background:#3b2c13;color:#ffd078}
.cmds{display:flex;gap:6px;flex-wrap:wrap}.cmds .btn{padding:8px 10px;font-size:11px}
.cards{grid-template-columns:repeat(4,minmax(145px,1fr))}
@media(max-width:1180px){.cards{grid-template-columns:repeat(2,1fr)}.table-wrap{max-width:100%}}
@media(max-width:760px){main{overflow-x:hidden}.panel{padding:13px}.table-wrap{margin:0 -4px}.cmds{min-width:220px}.cards{grid-template-columns:1fr 1fr}.card{padding:15px}.card span{font-size:11px}.card strong{font-size:22px}}
@media(max-width:460px){.cards{grid-template-columns:1fr}.badge{font-size:10px;padding:7px 9px}}


/* ===== KDC ADMIN V4.2.1 FOLLOWER CONTROL UI FIX ===== */
.control-table-wrap{overflow-x:hidden}
.control-table{width:100%;table-layout:fixed;font-size:11px}
.control-table th,.control-table td{padding:9px 6px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.control-table th:nth-child(1){width:84px}.control-table th:nth-child(2){width:104px}.control-table th:nth-child(3){width:82px}.control-table th:nth-child(4){width:68px}.control-table th:nth-child(5){width:78px}.control-table th:nth-child(6){width:70px}.control-table th:nth-child(7){width:70px}.control-table th:nth-child(8){width:52px}.control-table th:nth-child(9){width:82px}.control-table th:nth-child(10){width:112px}.control-table th:nth-child(11){width:154px}
.control-table .status-pill,.control-table .license-pill,.control-table .platform-badge,.control-table .mini-badge{font-size:9px}
.control-table .last-seen{font-size:10px}
.control-table .cmds{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:0}
.control-table .cmds form{display:block!important;min-width:0}
.control-table .cmds .btn{width:100%;padding:7px 4px;font-size:9px;line-height:1.05;white-space:nowrap;border-radius:6px}
@media(max-width:1050px){.control-table-wrap{overflow-x:auto}.control-table{min-width:920px}}

/* V4.3 Customer Portal */
.client-hero{border-color:#294f85}.client-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.empty-state{text-align:center;color:#8da4c7;padding:28px!important}.license-key{font-size:12px;word-break:break-all}.sidebar .side-footer{line-height:1.55}
@media(max-width:760px){.client-cards{grid-template-columns:1fr 1fr}.client-hero .hero-state{display:none}}

.owner-form{display:flex;gap:6px;align-items:center;min-width:190px}.owner-form select{min-width:115px;padding:7px 8px}.btn.tiny{padding:7px 9px;font-size:11px}

/* V4.3.1 client assignment & isolation */
.owner-form{display:flex;gap:6px;align-items:center;min-width:190px}.owner-form select{min-width:120px}.empty-state{text-align:center;opacity:.72;padding:28px!important}.license-key{font-size:12px;word-break:break-all}.client-hero .hero-state{white-space:nowrap}

/* V4.3.2 CLIENT PORTAL CONTROL */
.client-control-wrap{overflow-x:auto}
.client-control-table{min-width:1180px;font-size:11px}
.client-control-table th,.client-control-table td{padding:9px 7px;vertical-align:middle}
.client-cmds{display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:145px}
.client-cmds form{display:block;margin:0}
.client-cmds .btn{width:100%;padding:7px 5px;font-size:9px;line-height:1.05;white-space:nowrap;border-radius:6px}
.client-cmds .btn:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.3)}
@media(max-width:760px){.client-control-table{min-width:1080px}.client-cmds{min-width:140px}}


/* V4.3.3 CLIENT PORTAL UI + CONTROL HARDENING */
.client-control-wrap{overflow-x:visible}
.client-control-table{min-width:0;width:100%;table-layout:auto;font-size:10px}
.client-control-table th,.client-control-table td{padding:8px 5px;white-space:nowrap}
.client-control-table th:last-child,.client-control-table td:last-child{width:150px}
.client-cmds{grid-template-columns:1fr 1fr;min-width:132px;gap:4px}
.client-cmds .btn{padding:7px 4px;font-size:9px}
.pending-line,.sub-id{display:block;margin-top:4px;font-size:9px;opacity:.72;white-space:nowrap}
.pending-line{color:#ffbd5b;opacity:1;font-weight:700}
.client-flash{margin:0 0 16px;padding:11px 14px;border:1px solid #29476c;border-radius:9px;background:#11243d;font-weight:700}
.client-flash.success{border-color:#176b51;color:#5ee2ad}.client-flash.warn{border-color:#8a6322;color:#ffca69}.client-flash.danger{border-color:#873642;color:#ff7c89}
@media(max-width:1050px){.client-control-wrap{overflow-x:auto}.client-control-table{min-width:900px}}

/* V4.4 License Management Pro */
.license-pro-table{min-width:1180px}.license-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:300px}.license-actions form{margin:0}.license-actions .btn{white-space:nowrap}.license-pro-table td{vertical-align:middle}


/* V4.4.1 LICENSE MANAGEMENT PRO UI POLISH */
.license-pro-wrap{overflow-x:hidden}
.license-pro-table{min-width:0;width:100%;table-layout:fixed;font-size:11px}
.license-pro-table th,.license-pro-table td{padding:9px 6px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}
.license-pro-table th:nth-child(1){width:205px}
.license-pro-table th:nth-child(2){width:88px}
.license-pro-table th:nth-child(3){width:68px}
.license-pro-table th:nth-child(4){width:185px}
.license-pro-table th:nth-child(5){width:92px}
.license-pro-table th:nth-child(6){width:145px}
.license-pro-table th:nth-child(7){width:235px}
.license-pro-table .owner-form{min-width:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}
.license-pro-table .owner-form select{min-width:0;width:100%;padding:7px 6px;font-size:10px}
.license-pro-table .owner-form .btn{padding:7px 8px;font-size:9px}
.license-pro-table .license-key{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.license-pro-table .badge{padding:6px 8px;font-size:10px}
.license-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;width:100%}
.license-actions form{display:block;min-width:0}
.license-actions .btn{width:100%;padding:7px 4px;font-size:9px;line-height:1.05;border-radius:6px;white-space:nowrap}
.license-actions form:last-child{grid-column:3}
@media(max-width:1120px){.license-pro-wrap{overflow-x:auto}.license-pro-table{min-width:960px}}
@media(max-width:760px){.license-pro-table{min-width:930px}.license-actions{grid-template-columns:repeat(3,72px)}}


/* V4.5.2 Self Registration */
.register-card{max-width:860px;width:min(92vw,860px)}
.register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.register-grid label{display:flex;flex-direction:column;gap:6px}
.register-grid .agree-row{grid-column:1/-1;display:flex;flex-direction:row;align-items:center}
.register-grid .agree-row input{width:auto}
.register-grid .btn{grid-column:1/-1}
.login-help{margin-top:14px;text-align:center}
.login-help a{color:#8fb9ff;text-decoration:none}
.onboarding-card{margin-bottom:18px}
@media(max-width:720px){.register-grid{grid-template-columns:1fr}}


/* V4.5.2.1 Register Route Fix */
.register-card{max-width:860px;width:min(92vw,860px)}
.register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.register-grid label{display:flex;flex-direction:column;gap:6px}
.register-grid .agree-row{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:10px}
.register-grid .agree-row input{width:auto}
.register-grid .btn{grid-column:1/-1}
.login-help{margin-top:14px;text-align:center}
.login-help a{color:#8fb9ff;text-decoration:none}
@media(max-width:720px){.register-grid{grid-template-columns:1fr}}

/* V4.5.4.1 */
.client-cmds{gap:6px;flex-wrap:wrap}.client-cmds form{margin:0}
