:root{--bg:#f8fafc;--surface:#ffffff;--surface2:#f1f5f9;--line:#e2e8f0;--text:#0f172a;--text-secondary:#334155;--muted:#64748b;--cyan:#0891b2;--cyan-light:#e0f7fa;--blue:#2563eb;--blue-light:#eff6ff;--violet:#7c3aed;--violet-light:#f3ebff;--green:#16a34a;--green-light:#dcfce7;--green-border:#bbf0cc;--amber:#d97706;--amber-light:#fef3c7;--red:#dc2626;--red-light:#fee2e2;--red-border:#fecaca;--sidebar-bg:#0b0f19;--sidebar-line:#1b2333;--sidebar-text:#94a3b8;--sidebar-text-active:#ffffff;--header-bg:#ffffffee;--overlay:#0f172a99;--shadow:0 1px 2px #0f172a08;--shadow-md:0 8px 24px -8px #0f172a1f}
:root[data-theme="dark"]{--bg:#0a0e17;--surface:#111827;--surface2:#1a2333;--line:#232d3f;--text:#e2e8f0;--text-secondary:#cbd5e1;--muted:#8896ab;--cyan:#22d3ee;--cyan-light:#1a3540;--blue:#3b82f6;--blue-light:#152238;--violet:#a78bfa;--violet-light:#241b3d;--green:#4ade80;--green-light:#132a1d;--green-border:#1f4a30;--amber:#fbbf24;--amber-light:#2e2409;--red:#f87171;--red-light:#331515;--red-border:#4a2222;--sidebar-bg:#05070c;--sidebar-line:#161d2b;--sidebar-text:#8290a8;--sidebar-text-active:#ffffff;--header-bg:#0a0e17ee;--overlay:#000000b3;--shadow:0 1px 2px #00000040;--shadow-md:0 8px 24px -8px #00000060}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;transition:background-color .2s ease,color .2s ease}
button,input,select{font:inherit}
.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:var(--sidebar-bg)}
.login-art{position:relative;overflow:hidden;padding:48px 56px;background:radial-gradient(circle at 85% 25%,#0e3a4266,transparent 34%),linear-gradient(140deg,#0b131c,#071015 70%)}
.brand{display:flex;align-items:center;gap:12px;font:700 15px Manrope;letter-spacing:2px;color:#fff}
.brand b{color:var(--cyan)}
.brand-mark,.mobile-logo{display:grid;place-items:center;width:38px;height:38px;border:1px solid #22b8c4;border-radius:11px;color:var(--cyan);font:bold 20px Manrope;box-shadow:inset 0 0 18px #0891b220}
.login-copy{position:absolute;left:56px;top:43%;transform:translateY(-50%);z-index:2}
.eyebrow,.overline{font-size:11px;letter-spacing:2px;color:var(--cyan);font-weight:700}
.login-copy h1{font:800 clamp(40px,5vw,72px)/1.05 Manrope;margin:20px 0;color:#fff}
.login-copy h1 em{font-style:normal;color:var(--cyan)}
.login-copy p{color:#a4b0c0;font-size:18px;max-width:540px}
.orb{position:absolute;border-radius:50%;filter:blur(2px)}
.orb-one{width:320px;height:320px;background:#1cf0d515;right:-90px;bottom:2%;border:1px solid #46d5cc20}
.orb-two{width:160px;height:160px;background:#4a8fff15;right:23%;top:13%;border:1px solid #4a8fff25}
.system-line{position:absolute;bottom:48px;font-size:12px;color:#8da1aa}
.system-line i,.live-pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px;box-shadow:0 0 10px var(--green)}
.login-card{background:#ffffff;display:flex;flex-direction:column;justify-content:center;padding:12%;gap:22px}
.login-card h2{font:700 32px Manrope;margin:8px 0;color:var(--text)}
.muted{color:var(--muted)}
.mobile-logo{display:none}
.login-card label{font-size:13px;color:var(--muted);display:grid;gap:9px}
.login-card input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;color:#0f172a;outline:none}
.table-tools input,.table-tools select,.filters-bar input,.filters-bar select{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--text);outline:none;transition:border-color .15s ease}
.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1a}
.table-tools input:focus,.filters-bar input:focus,.filters-bar select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1a}
.primary-button{border:0;border-radius:10px;background:var(--blue);color:#fff;padding:12px 18px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}
.primary-button:hover{background:#1d4fd1}
.primary-button:disabled{opacity:.6}
.security-note{text-align:center;color:#8b96a8;font-size:12px}
.form-error{color:var(--red);font-size:13px;min-height:18px;margin:0}
.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}
aside{position:fixed;inset:0 auto 0 0;width:240px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-line);padding:24px 16px;display:flex;flex-direction:column;z-index:5}
aside .brand{padding:0 8px 25px;border-bottom:1px solid var(--sidebar-line)}
nav{overflow:auto;margin-top:16px}
nav p{font-size:9px;letter-spacing:1.7px;color:#48566d;margin:19px 12px 8px}
nav button{width:100%;border:0;background:none;color:var(--sidebar-text);padding:10px 12px;border-radius:8px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;font-size:13px}
nav button span{width:18px;color:#5c6d87}
nav button small{margin-left:auto;padding:2px 7px;background:#151d2c;border-radius:10px;color:#9fb0c8}
nav button:hover,nav button.active{background:#111a29;color:var(--sidebar-text-active)}
nav button.active{box-shadow:inset 2px 0 var(--blue)}
nav button.active span{color:var(--blue)}
.operator{margin-top:auto;border-top:1px solid var(--sidebar-line);padding:18px 7px 0;display:flex;align-items:center;gap:9px}
.avatar{width:34px;height:34px;border-radius:9px;background:#132436;color:var(--cyan);display:grid;place-items:center;font-size:11px;font-weight:bold}
.operator div{display:grid;font-size:11px}
.operator b{color:#e2e8f0}
.operator small{color:#64758c}
.operator button{margin-left:auto;border:0;background:none;color:#7c8aa0;cursor:pointer}
main{grid-column:2;min-width:0}
header{height:78px;position:sticky;top:0;z-index:4;background:var(--header-bg);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between;transition:background-color .2s ease,border-color .2s ease}
header h2{margin:3px 0 0;font:700 19px Manrope;color:var(--text)}
.header-actions{display:flex;align-items:center;gap:10px}
.live-pill{font-size:9px;letter-spacing:1px;color:var(--green);border:1px solid #bbf0cc;background:var(--green-light);border-radius:20px;padding:8px 11px}
.status-ok{font-size:10px;letter-spacing:.4px;color:var(--green);border:1px solid #bbf0cc;background:var(--green-light);border-radius:20px;padding:6px 11px;font-weight:700}
.icon-button,.menu-button{position:relative;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:9px;width:36px;height:36px;cursor:pointer;font-size:14px;transition:border-color .15s ease,color .15s ease}
.icon-button:hover,.menu-button:hover{border-color:var(--blue);color:var(--blue)}
.notification-dot{position:absolute;width:5px;height:5px;background:var(--blue);border-radius:50%;right:7px;top:7px}
.menu-button{display:none}
.content{padding:30px;max-width:1600px;margin:auto}
.view{display:none}
.view.active{display:block}
.welcome,.section-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}
.welcome h1,.section-top h1{font:700 28px Manrope;margin:0;color:var(--text)}
.welcome h1 span{color:var(--blue)}
.welcome p,.section-top p{color:var(--muted);margin:7px 0 0}
.welcome>span{font-size:11px;color:var(--muted)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.metrics article,.panel,.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);transition:background-color .2s ease,border-color .2s ease,box-shadow .15s ease,transform .15s ease}
.metrics article:hover,.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.metrics article,.stat-card{padding:19px;display:flex;gap:15px;align-items:flex-start}
.metric-icon,.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:bold;flex:none}
.metric-icon.cyan,.stat-icon.cyan{background:var(--cyan-light);color:var(--cyan)}
.metric-icon.violet,.stat-icon.violet{background:var(--violet-light);color:var(--violet)}
.metric-icon.blue,.stat-icon.blue{background:var(--blue-light);color:var(--blue)}
.metric-icon.green,.stat-icon.green{background:var(--green-light);color:var(--green)}
.metric-icon.amber,.stat-icon.amber{background:var(--amber-light);color:var(--amber)}
.metrics p,.stat-card p{font-size:11px;letter-spacing:.3px;color:var(--muted);margin:2px 0 0}
.metrics h3,.stat-card h3{font:700 26px Manrope;margin:5px 0 3px;color:var(--text)}
.metrics h3 em{font-style:normal;font-size:13px;color:var(--muted)}
.metrics small{font-size:10px;color:var(--muted)}
.metrics small b{color:var(--green)}
.stat-card small{font-size:11px;color:var(--green);font-weight:700}
.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:14px;margin-top:14px}
.panel{padding:21px}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px}
.panel-heading h3{margin:5px 0 0;font:700 16px Manrope;color:var(--text)}
.text-button{border:0;background:none;color:var(--blue);font-size:11px;cursor:pointer;font-weight:600}
.activity-list{min-height:265px;display:grid;place-items:center}
.empty-state{text-align:center;max-width:280px}
.empty-state span,.coming-soon>span{font-size:29px;color:#94a3b8}
.empty-state h4{margin:12px 0 5px;color:var(--text)}
.empty-state p,.coming-soon p{font-size:12px;color:var(--muted);line-height:1.6}
.health-score{display:flex;align-items:center;gap:18px;padding:21px 0}
.ring{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at center,var(--surface) 58%,transparent 59%),conic-gradient(var(--green) 100%,var(--line) 0)}
.ring strong{font:700 20px Manrope;color:var(--text)}
.ring small{position:absolute;top:45px;font-size:8px;color:var(--muted)}
.health-score h4{margin:0 0 5px;font-size:13px;color:var(--text)}
.health-score p{margin:0;color:var(--muted);font-size:10px}
.service-row{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);font-size:11px;color:var(--text)}
.service-row b{color:var(--green);font-size:10px}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px}
.green-dot{background:var(--green)}
.amber-dot{background:var(--amber)}
.service-row .amber-text{color:var(--amber)}
.quick-row{display:flex;align-items:center;gap:9px;margin-top:14px;padding:12px 0;flex-wrap:wrap}
.quick-row p{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-right:auto}
.quick-row button,.secondary-button{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 13px;font-size:11px;cursor:pointer;transition:border-color .15s ease,color .15s ease}
.quick-row button:hover,.secondary-button:hover{border-color:var(--blue);color:var(--blue)}
.compact{display:inline-flex;width:auto;gap:20px}
.table-panel{padding:0}
.table-tools,.filters-bar{padding:16px;display:flex;gap:10px;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center}
.table-tools input,.filters-bar input{min-width:280px;flex:1}
.filters-bar select{min-width:150px}
.filters-bar .clear-filters{margin-left:auto;background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:12px 14px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px}
.filters-bar .clear-filters:hover{border-color:var(--blue);color:var(--blue)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);font-size:12.5px}
th{font-size:10px;color:var(--muted);letter-spacing:.6px;background:var(--surface2)}
td{color:var(--text)}
.empty-table{text-align:center;color:var(--muted);padding:60px}
.world-card{display:grid;grid-template-columns:1fr 300px;min-height:480px}
.world-map{position:relative;border-right:1px solid var(--line);display:grid;place-items:center;background:radial-gradient(circle,var(--cyan-light),transparent 40%)}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle,black,transparent 75%)}
.map-message{text-align:center;position:relative;max-width:380px}
.map-message b{font-size:50px;color:var(--blue)}
.map-message p{color:var(--muted)}
.country-list{padding:25px}
.country-list h3{color:var(--text)}
.country-list div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);color:var(--text)}
.coming-soon{text-align:center;padding:80px 20px}
.coming-soon h2{font:700 27px Manrope;color:var(--text)}
.secondary-button{margin-top:15px}
.activity-item{display:grid;grid-template-columns:32px 1fr auto;gap:11px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.activity-item .event-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--blue-light);color:var(--blue)}
.activity-item p{margin:0;font-size:12px;color:var(--text)}
.activity-item small{color:var(--muted)}
.activity-item time{font-size:10px;color:var(--muted)}

.avatar-circle{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none;background:var(--blue-light);color:var(--blue)}
.customer-cell{display:flex;align-items:center;gap:12px}
.customer-cell .customer-info{display:grid}
.customer-cell b{color:var(--text);font-size:13px}
.customer-cell a{color:var(--blue);font-size:11.5px;text-decoration:none}
.customer-cell small.tag{margin-top:3px;display:inline-block;width:fit-content;background:var(--surface2);color:var(--muted);font-size:9.5px;letter-spacing:.4px;padding:2px 7px;border-radius:5px;font-weight:700}

.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:20px;font-size:11px;font-weight:700}
.badge.trial{background:var(--green-light);color:var(--green)}
.badge.active{background:var(--green-light);color:var(--green)}
.badge.suspended{background:var(--red-light);color:var(--red)}
.badge.blocked{background:var(--red-light);color:var(--red)}
.badge.pending{background:var(--amber-light);color:var(--amber)}

.row-actions{display:flex;gap:6px}
.row-actions button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;display:grid;place-items:center;font-size:13px;transition:border-color .15s ease,color .15s ease}
.row-actions button:hover{border-color:var(--blue);color:var(--blue)}

.pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:16px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}
.pagination button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}
.pagination button.active{background:var(--blue);border-color:var(--blue);color:#fff}
.pagination button:disabled{opacity:.4;cursor:default}

.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.quick-actions-grid article{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;gap:13px;align-items:flex-start;box-shadow:var(--shadow);transition:background-color .2s ease,border-color .2s ease,box-shadow .15s ease,transform .15s ease}
.quick-actions-grid article:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.quick-actions-grid .qa-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--blue-light);color:var(--blue);flex:none}
.quick-actions-grid h4{margin:0 0 4px;font-size:13px;color:var(--text)}
.quick-actions-grid p{margin:0 0 8px;font-size:11.5px;color:var(--muted);line-height:1.5}
.quick-actions-grid a{font-size:12px;color:var(--blue);text-decoration:none;font-weight:700;cursor:pointer}

@media(max-width:1100px){.metrics,.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.world-card{grid-template-columns:1fr}.world-map{min-height:350px;border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:760px){.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:28px;min-height:100vh}.mobile-logo{display:grid}.app-shell{grid-template-columns:1fr}aside{transform:translateX(-100%);transition:.25s}aside.open{transform:none}main{grid-column:1}.menu-button{display:block}header{padding:0 16px}.content{padding:18px}.metrics,.quick-actions-grid{grid-template-columns:1fr}.welcome,.section-top{align-items:flex-start;gap:16px}.quick-row{flex-wrap:wrap}.quick-row p{width:100%}.table-tools,.filters-bar{flex-direction:column;align-items:stretch}.table-tools input{min-width:0}.filters-bar .clear-filters{margin-left:0}.world-card{padding:0}}
