:root{--bg:#07111f;--sidebar:#081524;--panel:#0e1c2e;--panel-2:#11243a;--line:#233b57;--line-soft:#192d44;--text:#eef5ff;--muted:#91a7c0;--primary:#4388ff;--primary-2:#775cff;--success:#27c792;--danger:#ff6678;--warning:#f6bd55;--radius:16px;--shadow:0 18px 55px rgba(0,0,0,.20)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:linear-gradient(180deg,#0a192a,#07111f);border-right:1px solid var(--line-soft);overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:7px 9px 21px}.logo{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--primary-2));font-weight:900;box-shadow:0 10px 28px rgba(67,136,255,.3)}.brand b{font-size:16px}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.nav-title{padding:14px 11px 7px;color:#657e9d;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;margin:3px 0;border-radius:11px;color:#a8bdd3;transition:.18s}.nav a:hover,.nav a.active{color:#fff;background:linear-gradient(90deg,rgba(67,136,255,.19),rgba(119,92,255,.08));box-shadow:inset 3px 0 0 var(--primary)}.nav .badge{margin-left:auto;padding:2px 7px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px}.main{min-width:0}.topbar{position:sticky;top:0;z-index:10;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:rgba(7,17,31,.9);backdrop-filter:blur(15px);border-bottom:1px solid var(--line-soft)}.topbar h1{margin:0;font-size:19px}.top-subtitle{display:block;margin-top:2px;color:var(--muted);font-size:11px}.user{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#203a59;font-weight:800}.content{width:100%;max-width:1540px;padding:26px}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.two{grid-template-columns:1.35fr .65fr}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{padding:20px;background:linear-gradient(145deg,rgba(17,35,56,.98),rgba(11,25,42,.98));border:1px solid rgba(73,105,143,.42);border-radius:var(--radius);box-shadow:var(--shadow)}h2{margin:0 0 16px;font-size:16px}h3{margin:0}.muted{color:var(--muted)}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-36px;top:-36px;width:112px;height:112px;border-radius:50%;background:rgba(67,136,255,.09)}.stat .label{color:var(--muted)}.stat .num{margin:8px 0;font-size:31px;font-weight:850}.stat .trend{color:#65d8ad;font-size:12px}.toolbar,.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:17px}.section-head>div{display:flex;align-items:center;gap:11px}.section-head h2,.toolbar h2{margin:0}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;padding:10px 14px;background:var(--primary);color:#fff;font-weight:750;cursor:pointer;transition:.16s}.btn:hover,button:hover{transform:translateY(-1px);box-shadow:0 9px 25px rgba(67,136,255,.20)}.secondary{background:#1a2d45!important;color:#dce9f8!important}.danger{background:#7e2635!important}.success{background:#087e5c!important}.mini{padding:7px 10px;font-size:12px}.field label,.full>label{display:block;margin-bottom:7px;color:#9db1c8;font-size:12px;font-weight:650}.field input,.field select,.field textarea,.input,input,select,textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #2c4765;border-radius:10px;background:#081625;color:var(--text);outline:none}.field textarea,textarea{min-height:105px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(67,136,255,.12)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .full{grid-column:1/-1}.notice{padding:12px 14px;margin-bottom:15px;border:1px solid #2b5f94;border-radius:12px;background:#12365b}.table-wrap{overflow:auto;border:1px solid var(--line-soft);border-radius:13px}table{width:100%;border-collapse:collapse}th{padding:12px;color:#7690ad;font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:left;background:#0a192a;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr:hover{background:rgba(67,136,255,.035)}.key,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.key{font-weight:800;color:#b8d5ff}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.status.active{background:#073e31;color:#71e4b9}.status.suspended{background:#4a1721;color:#ff9cab}.status.expired{background:#4a3512;color:#ffd37c}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.actions{display:flex;gap:6px;flex-wrap:wrap}.empty{padding:36px;text-align:center;color:#718ba8}.activity{display:grid;gap:14px}.activity-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:12px}.pin{width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--primary)}.activity-item time{color:#6d86a3;font-size:11px}.chart{height:225px;display:flex;align-items:end;gap:10px;padding-top:15px}.bar{position:relative;flex:1;min-height:7px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#4c94ff,#285caf)}.bar span{position:absolute;bottom:-24px;width:100%;text-align:center;color:#69829f;font-size:10px}.eyebrow{margin-bottom:8px;color:#74abff;font-size:10px;font-weight:900;letter-spacing:.18em}.license-hero,.api-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:radial-gradient(circle at 90% 10%,rgba(119,92,255,.20),transparent 34%),linear-gradient(135deg,#102640,#0a192b)}.license-hero h2,.api-hero h2{margin:0 0 7px;font-size:26px}.hero-meta,.hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.tabs{position:sticky;top:72px;z-index:5;display:flex;gap:8px;overflow:auto;padding:13px 0 17px;background:var(--bg)}.tabs a{white-space:nowrap;padding:8px 12px;border:1px solid #263f5d;border-radius:999px;background:#0d1d30;color:#a2b7ce}.tabs a:hover{border-color:var(--primary);color:#fff}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.full-span{grid-column:1/-1}.section-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#216fe9,var(--primary-2));font-size:10px;font-weight:900}.edit-pill,.readonly-pill{padding:5px 8px;border:1px solid rgba(67,136,255,.25);border-radius:999px;background:rgba(67,136,255,.1);color:#93bdff;font-size:10px}.readonly-pill{color:#a1b1c5;background:rgba(145,167,192,.08);border-color:rgba(145,167,192,.17)}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.module-card{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;min-height:86px;padding:14px;border:1px solid #263f5c;border-radius:13px;background:#0a192a;cursor:pointer}.module-card:hover{border-color:var(--primary);background:#10243b}.module-card input{position:absolute;opacity:0;pointer-events:none}.module-toggle{grid-row:1/3;width:27px;height:27px;border:1px solid #3a5573;border-radius:8px;background:#071523}.module-card input:checked+.module-toggle{border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--primary-2))}.module-card input:checked+.module-toggle:after{content:"✓";display:grid;place-items:center;height:100%;font-weight:900}.module-card b{align-self:end}.module-card small{color:#718ba8;line-height:1.35}.info-list{display:grid}.info-list>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.info-list span{color:#8099b5}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.metric-row>div{padding:13px;border:1px solid #223c59;border-radius:11px;background:#09192a}.metric-row span{display:block;color:#7e97b3;font-size:11px}.metric-row b{display:block;margin-top:5px}.save-dock{position:sticky;bottom:14px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:14px 17px;border:1px solid #315c88;border-radius:15px;background:rgba(9,27,47,.95);backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(0,0,0,.35)}.save-dock small{display:block;color:#819bb9}.save-main{min-width:215px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:15px;border-color:rgba(246,189,85,.3)}.api-health{text-align:right}.api-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr)}.api-form-card{overflow:hidden}.api-form-card .form-grid{gap:16px}.permission-section{padding-top:4px}.permission-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:11px}.permission-title small{color:var(--muted)}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-grid label{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;min-height:72px;padding:12px;border:1px solid #263f5c;border-radius:12px;background:#09192a;cursor:pointer}.permission-grid label:hover{border-color:var(--primary);background:#10243b}.permission-grid input{position:absolute;opacity:0;pointer-events:none}.permission-grid label:before{content:"";width:24px;height:24px;border:1px solid #3a5573;border-radius:7px;background:#071523}.permission-grid label:has(input:checked):before{content:"✓";display:grid;place-items:center;border-color:transparent;background:linear-gradient(135deg,var(--primary),var(--primary-2));font-weight:900}.permission-grid span{min-width:0}.permission-grid b{display:block;line-height:1.3}.permission-grid small{display:block;margin-top:3px;color:#718ba8;font:10px/1.3 ui-monospace,monospace;word-break:break-word}.capability-list{display:grid;gap:9px}.capability-list>div{padding:12px;border:1px solid #203955;border-radius:11px;background:#09192a}.capability-list span{display:block;margin-top:4px;color:#8099b5;line-height:1.4}.endpoint-box{margin-top:14px;padding:13px;border:1px solid #2d527d;border-radius:11px;background:linear-gradient(135deg,rgba(67,136,255,.12),rgba(119,92,255,.1))}.endpoint-box code{display:block;margin-top:7px;color:#aed1ff;word-break:break-all}.api-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.api-key-card{padding:16px;border:1px solid #253f5c;border-radius:14px;background:#09192a}.api-key-head{display:flex;align-items:center;gap:11px}.api-key-head .status{margin-left:auto}.api-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#216fe9,var(--primary-2));font-weight:900}.api-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.api-meta>div{padding:9px;border-radius:9px;background:#0d2035}.api-meta span{display:block;color:#7089a6;font-size:10px}.api-meta b{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.tag-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.tag-row span{padding:4px 7px;border-radius:999px;background:#15304e;color:#9cc7fa;font-size:9px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#15345c,transparent 40%),var(--bg)}.login-card{width:min(430px,92vw);padding:31px}.login-card input{margin:7px 0 14px}.login-card button{width:100%;padding:12px}.mobile-menu{display:none}
@media(max-width:1180px){.stats{grid-template-columns:repeat(2,1fr)}.two,.three,.api-layout{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.app{display:block}.sidebar{display:none;position:fixed;z-index:30;width:248px}.sidebar.open{display:block}.mobile-menu{display:block}.content{padding:16px}.topbar{padding:0 15px}.stats,.form-grid,.detail-grid,.permission-grid,.api-key-grid,.metric-row,.api-meta{grid-template-columns:1fr}.form-grid .full,.full-span{grid-column:auto}.module-grid{grid-template-columns:1fr}.license-hero,.api-hero,.danger-zone,.save-dock{align-items:flex-start;flex-direction:column}.save-main{width:100%;min-width:0}.api-health{text-align:left}.user span{display:none}}
.notice-error{border-color:#8d3344;background:#4b1520;color:#ffd7dd}.user-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}.user-create-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.help{display:block;margin-top:6px;color:var(--muted)}.role-list{display:grid;gap:10px}.role-list p{margin:0;padding:12px;border:1px solid var(--line-soft);border-radius:11px;background:#09192a}.role-list b,.role-list span{display:block}.role-list span{margin-top:3px;color:var(--muted);font-size:12px}.security-note{margin-top:13px;padding:12px;border:1px solid rgba(246,189,85,.3);border-radius:11px;background:rgba(246,189,85,.08);color:#ffd993}.user-list-card{margin-top:18px}.user-filters{display:grid;grid-template-columns:minmax(210px,1fr) 160px 160px;gap:9px;min-width:min(100%,560px)}.user-cell{display:flex;align-items:center;gap:10px;min-width:230px}.small-avatar{width:34px;height:34px;flex:0 0 34px}.role-badge,.self-pill{display:inline-flex;padding:5px 9px;border:1px solid #315274;border-radius:999px;background:#102844;color:#b8d6fb;font-size:11px;font-weight:750;text-transform:capitalize}.self-pill{color:#9db2c9;background:#122235;border-color:#263c55}.users-table td:last-child{min-width:260px}.user-dialog{width:min(720px,calc(100vw - 30px));padding:0;border:1px solid #345477;border-radius:17px;background:#0d1c2e;color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.55)}.user-dialog::backdrop{background:rgba(2,8,16,.75);backdrop-filter:blur(5px)}.user-dialog form{padding:21px}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialog-head{margin-bottom:20px}.dialog-head h2{margin:0}.dialog-actions{justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-soft)}
@media(max-width:1000px){.user-stats{grid-template-columns:1fr}.user-create-grid{grid-template-columns:1fr}.user-filters{grid-template-columns:1fr;width:100%;min-width:0}}

/* Dashboard compact layout */
.dashboard-overview{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:16px;align-items:stretch}.dashboard-overview>.card{margin:0;min-height:0}.dashboard-chart-card,.dashboard-activity-card{height:360px;overflow:hidden}.dashboard-chart-card{display:flex;flex-direction:column}.chart-compact{height:auto;min-height:0;flex:1;padding:20px 0 30px}.dashboard-activity-card{display:flex;flex-direction:column}.activity-toolbar{flex:0 0 auto;margin-bottom:10px}.activity-scroll{min-height:0;overflow-y:auto;padding-right:8px;margin-right:-4px;scrollbar-width:thin;scrollbar-color:#315d91 #0a1829}.activity-scroll::-webkit-scrollbar{width:8px}.activity-scroll::-webkit-scrollbar-track{background:#0a1829;border-radius:999px}.activity-scroll::-webkit-scrollbar-thumb{background:#315d91;border-radius:999px;border:2px solid #0a1829}.activity-scroll::-webkit-scrollbar-thumb:hover{background:#4388ff}.activity-scroll .activity-item{padding:11px 2px;border-bottom:1px solid var(--line-soft)}.activity-scroll .activity-item:last-child{border-bottom:0}.activity-scroll .activity-item b{font-size:12px}.activity-scroll .activity-item .muted{font-size:10px;line-height:1.35;word-break:break-word}.activity-scroll .activity-item time{white-space:nowrap}

/* User edit modal refinement */
.user-dialog{width:min(760px,calc(100vw - 30px));max-height:min(88vh,820px);overflow:hidden}.user-dialog form{padding:0;display:flex;flex-direction:column;max-height:min(88vh,820px)}.user-dialog .dialog-head{margin:0;padding:18px 20px;border-bottom:1px solid var(--line-soft);background:linear-gradient(135deg,rgba(67,136,255,.09),rgba(119,92,255,.05))}.dialog-user-title{display:flex;align-items:center;gap:12px}.dialog-avatar{width:42px;height:42px;flex:0 0 42px}.dialog-close{width:34px;height:34px;padding:0;display:grid;place-items:center}.dialog-body{display:grid;gap:12px;padding:16px 20px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#315d91 #0a1829}.dialog-body::-webkit-scrollbar{width:8px}.dialog-body::-webkit-scrollbar-track{background:#0a1829}.dialog-body::-webkit-scrollbar-thumb{background:#315d91;border-radius:999px}.edit-section{padding:15px;border:1px solid #263f5c;border-radius:14px;background:#09192a}.edit-section-head{display:flex;align-items:center;gap:11px;margin-bottom:13px}.edit-section-head .section-icon{width:32px;height:32px;flex:0 0 32px}.edit-section-head b,.edit-section-head small{display:block}.edit-section-head small{margin-top:2px;color:var(--muted);font-size:11px}.compact-form{gap:12px}.compact-form input,.compact-form select,.edit-section> .field input{min-height:42px}.user-dialog .dialog-actions{margin:0;padding:14px 20px;border-top:1px solid var(--line-soft);background:#0b192a;flex:0 0 auto}.user-dialog .dialog-actions button{min-width:140px}
@media(max-width:1180px){.dashboard-overview{grid-template-columns:1fr}.dashboard-chart-card,.dashboard-activity-card{height:340px}}
@media(max-width:800px){.dashboard-chart-card{height:300px}.dashboard-activity-card{height:360px}.user-dialog{width:calc(100vw - 18px);max-height:92vh}.user-dialog form{max-height:92vh}.user-dialog .dialog-head,.dialog-body,.user-dialog .dialog-actions{padding-left:14px;padding-right:14px}.compact-form{grid-template-columns:1fr}.user-dialog .dialog-actions{display:grid;grid-template-columns:1fr 1fr}.user-dialog .dialog-actions button{min-width:0;width:100%}}

/* KDTS UI BUILD 20260726-3 - forced cache-safe compact dashboard */
.dashboard-overview{grid-template-columns:minmax(0,1.7fr) minmax(320px,.65fr)!important;gap:14px!important}
.dashboard-chart-card,.dashboard-activity-card{height:315px!important;padding:16px!important}
.dashboard-chart-card .toolbar,.dashboard-activity-card .toolbar{margin-bottom:8px!important}
.chart-compact{padding:8px 0 26px!important}
.activity-scroll{overflow-y:scroll!important;overscroll-behavior:contain;max-height:238px!important;padding-right:10px!important}
.activity-scroll .activity-item{padding:8px 2px!important;gap:9px!important}
.activity-scroll .activity-item b{font-size:11px!important}
.activity-scroll .activity-item .muted{font-size:9px!important}
.activity-scroll .activity-item time{font-size:9px!important}
.user-dialog .edit-section{padding:12px!important}
.user-dialog .dialog-body{gap:10px!important;padding-top:12px!important;padding-bottom:12px!important}
.user-dialog .edit-section-head{margin-bottom:10px!important}
.user-dialog .form-grid{gap:10px!important}
@media(max-width:1180px){.dashboard-overview{grid-template-columns:1fr!important}.dashboard-chart-card,.dashboard-activity-card{height:310px!important}}
/* KDTS PRO Cloud Control Center v3 - Build 5 */
.system-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.system-strip>div{display:flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid #203a59;background:linear-gradient(180deg,#0d1d30,#0a1726);border-radius:12px}.system-strip b{font-size:12px}.system-strip small{margin-left:auto;color:#7f99b5}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.1)}
.premium-stats .stat{position:relative;overflow:hidden;min-height:138px}.premium-stats .stat:after{content:"";position:absolute;inset:auto -35px -55px auto;width:120px;height:120px;border-radius:50%;background:rgba(54,132,255,.08)}.stat-icon{position:absolute;right:16px;top:16px;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#102a47;border:1px solid #25496d}.money-num{font-size:28px!important}
.dashboard-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:18px}.dashboard-grid .card{min-width:0}.chart-panel,.map-panel{min-height:340px}.eyebrow{display:block;color:#4ea1ff;font-size:10px;letter-spacing:.14em;font-weight:800;margin-bottom:5px}.section-head p{margin:4px 0 0;color:#7890aa;font-size:12px}.line-chart{height:230px;display:flex;align-items:flex-end;gap:4px;padding:22px 4px 25px;border-bottom:1px solid #20354f;background:linear-gradient(180deg,rgba(30,107,198,.04),transparent)}.line-bar{height:100%;flex:1;display:flex;align-items:flex-end;position:relative}.line-bar i{display:block;width:100%;height:var(--h);min-height:5px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#4ca5ff,#1c5ba5);opacity:.88;transition:.2s}.line-bar:hover i{opacity:1;filter:brightness(1.2)}.line-bar span{position:absolute;bottom:-21px;left:0;font-size:9px;color:#66809a;white-space:nowrap}.donut-wrap{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:20px;padding-top:12px}.donut{--p:35;width:140px;height:140px;border-radius:50%;background:conic-gradient(#368cff calc(var(--p)*1%),#15304d 0);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;inset:18px;background:#0c1929;border-radius:50%}.donut strong,.donut span{z-index:1;position:absolute}.donut strong{font-size:28px;transform:translateY(-8px)}.donut span{font-size:11px;color:#7890aa;transform:translateY(17px)}.legend-list>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #1d3048}.legend-list em{font-style:normal;color:#7890aa;font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#368cff}
.world-map{height:220px;position:relative;overflow:hidden;border:1px solid #203a59;border-radius:14px;background:radial-gradient(ellipse at 30% 35%,#173b5c 0 12%,transparent 13%),radial-gradient(ellipse at 58% 42%,#173b5c 0 17%,transparent 18%),radial-gradient(ellipse at 78% 62%,#173b5c 0 9%,transparent 10%),linear-gradient(180deg,#0b1b2d,#081522)}.world-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(81,139,194,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(81,139,194,.08) 1px,transparent 1px);background-size:28px 28px}.map-pin{position:absolute;z-index:2}.map-pin span{display:block;width:10px;height:10px;border-radius:50%;background:#48a9ff;box-shadow:0 0 0 6px rgba(72,169,255,.15),0 0 18px #3693e9}.domain-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.domain-chips a{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:10px;background:#0b1a2b;border:1px solid #203a59;color:#bcd1e7;font-size:11px}.domain-chips img,.domain-cell img{width:20px;height:20px;border-radius:5px}.soft-badge{padding:5px 9px;border-radius:999px;background:#102b48;color:#7fc0ff;font-size:11px}.soft-badge.warning{background:#412d12;color:#ffc56b}.scroll-area{max-height:274px;overflow:auto;padding-right:5px}.compact-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #1c3048;color:inherit}.compact-row div{display:flex;flex-direction:column}.compact-row small{color:#7890aa;margin-top:3px}.days-pill{background:#253a52;color:#bcd1e7;padding:5px 8px;border-radius:999px;font-size:11px}.days-pill.danger{background:#4a1f27;color:#ff9da7}.customer-mini-grid{display:grid;gap:8px}.customer-mini-grid>a{display:grid;grid-template-columns:36px 1fr 14px;gap:10px;align-items:center;padding:10px;border-radius:11px;border:1px solid #1f3854;background:#0b1929;color:inherit}.customer-mini-grid small{display:block;color:#7890aa;margin-top:3px}.customer-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#245c9c,#18375a);border:1px solid #326cae;font-weight:800}.customer-avatar.large{width:50px;height:50px;border-radius:14px;font-size:19px}.customer-avatar.xlarge{width:72px;height:72px;border-radius:20px;font-size:28px}.customer-avatar.small{width:34px;height:34px}
.customer-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-card{padding:16px;border:1px solid #203a59;border-radius:15px;background:linear-gradient(180deg,#0d1d30,#0a1726)}.customer-card-head{display:grid;grid-template-columns:50px 1fr auto;gap:11px;align-items:center}.customer-card h3{margin:0 0 3px}.customer-card p{margin:0;color:#7890aa;font-size:12px}.customer-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.customer-metrics>div{padding:10px;border-radius:10px;background:#091624;text-align:center}.customer-metrics b,.customer-metrics span{display:block}.customer-metrics span{font-size:10px;color:#7890aa;margin-top:3px}.customer-domains{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:13px}.customer-domains span{font-size:10px;padding:5px 7px;border-radius:8px;background:#142941;color:#91abc5}.compact-search{max-width:260px}.profile-hero{display:flex;justify-content:space-between;align-items:center}.profile-main{display:flex;gap:16px;align-items:center}.profile-actions{display:flex;gap:8px}.profile-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:18px}.profile-dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-dl>div{padding:12px;border-radius:11px;background:#0a1726;border:1px solid #1c334d}.profile-dl .wide{grid-column:1/-1}.profile-dl dt{font-size:10px;color:#7890aa;text-transform:uppercase;letter-spacing:.08em}.profile-dl dd{margin:5px 0 0;font-weight:700}.summary-stack{display:grid;gap:10px}.summary-stack>div{display:flex;justify-content:space-between;padding:13px;border-radius:11px;background:#0a1726;border:1px solid #1c334d}.license-customer,.domain-cell{display:flex;align-items:center;gap:10px}.license-customer>div,.domain-cell>div{display:flex;flex-direction:column;gap:2px}.license-customer .key{font-size:10px}.block{display:block;margin-top:5px;color:#7890aa}.plan-badge{display:inline-flex;padding:5px 8px;border-radius:8px;background:#142d49;color:#8fc6ff;font-size:11px;font-weight:700}.notification-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.notification-card{display:flex;gap:12px;padding:14px;border:1px solid #203a59;background:#0b1929;border-radius:13px}.notification-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#14304d;color:#80c1ff;font-weight:900}.notification-card.warning .notification-icon{background:#493114;color:#ffc56b}.notification-card.danger .notification-icon{background:#4a1d26;color:#ff9da7}.notification-card p{margin:5px 0;color:#91a8bf}.notification-card small{color:#657e97}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.customer-card-grid{grid-template-columns:repeat(2,1fr)}.system-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.system-strip,.customer-card-grid,.profile-grid,.notification-grid{grid-template-columns:1fr}.system-strip>div:nth-child(n+3){display:none}.donut-wrap{grid-template-columns:1fr}.donut{margin:auto}.profile-hero{align-items:flex-start;gap:15px;flex-direction:column}.profile-actions{width:100%}.profile-actions .btn{flex:1}.license-table{min-width:980px}.customer-card-head{grid-template-columns:50px 1fr}.customer-card-head .status{grid-column:1/-1;width:max-content}.dashboard-grid{gap:12px}}

/* KDTS PRO UI BUILD 6 — genuine map and API workspace */
.real-world-map{position:relative;min-height:360px;overflow:hidden;border:1px solid #294866;border-radius:16px;background:radial-gradient(circle at 50% 45%,rgba(40,104,170,.18),transparent 48%),linear-gradient(180deg,#071829,#081522)}
.real-world-map svg{display:block;width:100%;height:360px}.map-grid-lines path{fill:none;stroke:#1b3550;stroke-width:1;opacity:.6}.continents path{fill:#173c5d;stroke:#2c5f88;stroke-width:2;filter:drop-shadow(0 8px 10px rgba(0,0,0,.18))}.geo-pin{position:absolute;transform:translate(-50%,-50%);z-index:4}.geo-pin>i{display:block;width:14px;height:14px;border:3px solid #b9dcff;border-radius:50%;background:#2f95ff;box-shadow:0 0 0 7px rgba(47,149,255,.18),0 0 24px #2f95ff;animation:geoPulse 2s infinite}.geo-pin>span{display:none;position:absolute;left:18px;top:-18px;width:220px;padding:10px 12px;border:1px solid #37658f;border-radius:10px;background:#081827;box-shadow:0 14px 35px rgba(0,0,0,.45)}.geo-pin:hover>span{display:block}.geo-pin b,.geo-pin small{display:block}.geo-pin small{margin-top:3px;color:#8eabc7}.map-overlay-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,80%);padding:18px;text-align:center;border:1px solid #31597f;border-radius:14px;background:rgba(7,22,37,.88);backdrop-filter:blur(8px)}.map-overlay-empty b,.map-overlay-empty span{display:block}.map-overlay-empty span{margin-top:6px;color:#91abc4}.map-overlay-empty code{color:#b5d7ff}.map-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:13px}.country-list{display:flex;gap:8px;flex-wrap:wrap}.country-list>span{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #25435f;border-radius:999px;background:#0a1a2b}.country-list i{width:7px;height:7px;border-radius:50%;background:#3d9cff}.country-list b{padding-left:3px;color:#fff}.unlocated{min-width:230px}.unlocated summary{cursor:pointer;color:#f2c66e}.unlocated>div{display:grid;gap:5px;margin-top:8px;padding:9px;border:1px solid #2a455f;border-radius:10px;background:#091827}.unlocated a{color:#9fc9f5;font-size:12px}@keyframes geoPulse{50%{box-shadow:0 0 0 12px rgba(47,149,255,0),0 0 28px #2f95ff}}
.api-command-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;background:radial-gradient(circle at 90% 10%,rgba(119,92,255,.22),transparent 36%),linear-gradient(135deg,#102640,#0a192b)}.api-command-header h2{margin:0 0 7px;font-size:27px}.api-command-header p{margin:0;color:#96acc5}.api-command-status{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:9px;text-align:right}.api-command-status span{grid-column:1/-1;display:flex;align-items:center;gap:7px;color:#76e2bb}.api-command-status span i{width:8px;height:8px;border-radius:50%;background:#2ed49d;box-shadow:0 0 0 5px rgba(46,212,157,.12)}.api-command-status strong{font-size:27px}.api-command-status small{color:#829ab5}.api-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.api-kpis>div{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid #284562;border-radius:12px;background:#0c1d30}.api-kpis span{color:#8fa5bd}.api-kpis b{font-size:22px}.api-workspace{margin-top:16px;padding:0;overflow:hidden}.workspace-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #243f5b;background:linear-gradient(135deg,rgba(67,136,255,.08),rgba(119,92,255,.04))}.workspace-head>div{display:flex;align-items:center;gap:12px}.workspace-head h2,.workspace-head p{margin:0}.workspace-head p{margin-top:3px;color:#8fa5bd}.api-builder{padding:18px}.api-builder-section{padding:16px 0;border-bottom:1px solid #1d344d}.api-builder-section:first-of-type{padding-top:0}.builder-title{display:flex;align-items:center;gap:11px;margin-bottom:14px}.builder-title>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,#2d83fa,#6b5cf4);font-weight:900}.builder-title b,.builder-title small{display:block}.builder-title small{margin-top:2px;color:#8098b4}.permission-compact{grid-template-columns:repeat(5,minmax(0,1fr))}.permission-compact label{min-height:84px;padding:11px}.api-builder-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:17px}.api-builder-footer>div b,.api-builder-footer>div code{display:block}.api-builder-footer code{margin-top:4px;color:#9cc8f7}.api-builder-footer button{min-width:240px}.api-list-panel{margin-top:16px}.compact-search{width:260px;min-height:39px}.api-key-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.api-key-grid-compact .api-key-card{min-width:0}.api-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid #1d344c}.api-card-footer small{color:#7e96b1}
@media(max-width:1250px){.permission-compact{grid-template-columns:repeat(3,1fr)}.api-key-grid-compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.real-world-map,.real-world-map svg{min-height:270px;height:270px}.map-summary,.api-command-header,.api-builder-footer{flex-direction:column;align-items:stretch}.unlocated{min-width:0}.api-kpis{grid-template-columns:repeat(2,1fr)}.permission-compact,.api-key-grid-compact{grid-template-columns:1fr}.api-command-status{text-align:left}.api-builder-footer button,.compact-search{width:100%;min-width:0}.workspace-head{align-items:flex-start;gap:12px;flex-direction:column}}

/* KDTS PRO UI BUILD 7 — active OpenStreetMap */
.active-domain-map{height:410px;width:100%;border:1px solid #294866;border-radius:16px;overflow:hidden;background:#071522;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.active-domain-map .leaflet-tile-pane{filter:saturate(.72) brightness(.62) contrast(1.15) hue-rotate(174deg)}
.active-domain-map .leaflet-control-zoom a{background:#0b1c2e;color:#d9ecff;border-color:#294866}.active-domain-map .leaflet-control-zoom a:hover{background:#15304c}
.active-domain-map .leaflet-control-attribution{background:rgba(5,17,29,.82);color:#7f9ab5}.active-domain-map .leaflet-control-attribution a{color:#80bfff}
.kdts-map-marker{background:transparent;border:0}.kdts-map-marker span{display:block;width:18px;height:18px;border:3px solid #d5ecff;border-radius:50%;background:#2c98ff;box-shadow:0 0 0 7px rgba(44,152,255,.20),0 0 26px rgba(44,152,255,.95);animation:kdtsMarkerPulse 1.8s infinite}
.kdts-map-popup{min-width:210px;color:#13263b}.kdts-map-popup b,.kdts-map-popup span,.kdts-map-popup small{display:block}.kdts-map-popup b{font-size:14px;margin-bottom:4px}.kdts-map-popup span{font-weight:700}.kdts-map-popup small{color:#60768c;margin:5px 0 10px}.kdts-map-popup a{display:inline-flex;padding:7px 10px;border-radius:8px;background:#1474d4;color:#fff;font-weight:800}
.map-live-status{display:flex;align-items:center;gap:8px;margin-top:11px;padding:10px 12px;border:1px solid #203d5b;border-radius:11px;background:#091827}.map-live-status small{margin-left:auto;color:#7892ad}.map-live-dot{width:9px;height:9px;border-radius:50%;background:#32d69b;box-shadow:0 0 0 5px rgba(50,214,155,.12)}
.map-unlocated{min-width:240px;padding:9px 11px;border:1px solid #5b4422;border-radius:10px;background:#271c0c;color:#f3c66c}.map-unlocated b,.map-unlocated small{display:block}.map-unlocated small{margin-top:3px;color:#cda96d}
@keyframes kdtsMarkerPulse{50%{box-shadow:0 0 0 13px rgba(44,152,255,0),0 0 32px rgba(44,152,255,1)}}
@media(max-width:800px){.active-domain-map{height:320px}.map-live-status{align-items:flex-start;flex-wrap:wrap}.map-live-status small{width:100%;margin-left:17px}}

/* KDTS PRO UI BUILD 8 — Leaflet tile layout fix */
.active-domain-map.leaflet-container{position:relative;overflow:hidden;font-family:inherit;background:#071522}
.active-domain-map .leaflet-pane,.active-domain-map .leaflet-tile,.active-domain-map .leaflet-marker-icon,.active-domain-map .leaflet-marker-shadow,.active-domain-map .leaflet-tile-container,.active-domain-map .leaflet-map-pane svg,.active-domain-map .leaflet-map-pane canvas{position:absolute;left:0;top:0}
.active-domain-map .leaflet-container img,.active-domain-map img.leaflet-tile{max-width:none!important;max-height:none!important}
.active-domain-map .leaflet-tile{width:256px!important;height:256px!important;padding:0!important;margin:0!important;border:0!important;display:block!important}
.active-domain-map .leaflet-map-pane,.active-domain-map .leaflet-tile-pane{transform-origin:0 0}
.active-domain-map .leaflet-control{position:relative;z-index:800}


/* KDTS PRO UI BUILD 9 — compact plans and exact map location */
.plans-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.85fr);gap:16px;align-items:start}.plan-builder-card,.plan-list-card{padding:0;overflow:hidden}.plan-builder-card>.section-head,.plan-list-card>.section-head{padding:20px 22px;margin:0;border-bottom:1px solid #203a55;background:linear-gradient(135deg,rgba(52,128,225,.08),transparent)}.plan-builder-form{padding:20px 22px}.plan-basic-grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(130px,1fr));gap:13px}.plan-name-field{grid-column:span 2}.money-input{display:flex;align-items:center;border:1px solid #294967;border-radius:10px;background:#071827;overflow:hidden}.money-input:focus-within{border-color:#4b9dff;box-shadow:0 0 0 3px rgba(75,157,255,.11)}.money-input span{padding:0 0 0 13px;color:#76a9d8;font-weight:800}.money-input input{border:0!important;box-shadow:none!important;background:transparent!important}.module-picker-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 12px;padding-top:18px;border-top:1px solid #1e3852}.module-picker-head b,.module-picker-head small{display:block}.module-picker-head small{margin-top:3px;color:#849db7}.plan-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.plan-module-option{position:relative;display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;min-height:66px;padding:11px 12px;border:1px solid #24425f;border-radius:11px;background:#091a2b;cursor:pointer;transition:.18s}.plan-module-option:hover{border-color:#3d75a8;background:#0d2238}.plan-module-option input{position:absolute;opacity:0;pointer-events:none}.plan-module-check{width:29px;height:29px;display:grid;place-items:center;border:1px solid #315574;border-radius:8px;color:transparent;background:#071624;font-weight:900}.plan-module-option input:checked~.plan-module-check{color:#fff;border-color:#459cff;background:linear-gradient(135deg,#2383ec,#6558f0);box-shadow:0 0 0 4px rgba(55,143,243,.11)}.plan-module-option b,.plan-module-option small{display:block}.plan-module-option small{margin-top:3px;color:#7f98b3;font-size:11px;line-height:1.25}.plan-builder-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:17px;border-top:1px solid #1e3852}.plan-builder-footer b,.plan-builder-footer small{display:block}.plan-builder-footer small{margin-top:3px;color:#8099b4}.plan-builder-footer button{min-width:190px}.plan-catalog{display:grid;gap:11px;padding:16px;max-height:720px;overflow:auto}.catalog-plan{padding:15px;border:1px solid #24435f;border-radius:13px;background:linear-gradient(145deg,#0d2137,#091827);box-shadow:0 8px 20px rgba(0,0,0,.12)}.catalog-plan-top,.catalog-plan-top>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.catalog-plan-top>div{justify-content:flex-start}.catalog-plan-top h3{margin:0;font-size:15px}.catalog-plan-top small{color:#8099b3}.catalog-plan-top .plan-badge{width:34px;height:34px;display:grid;place-items:center;padding:0;border-radius:9px}.catalog-price{display:flex;align-items:baseline;gap:6px;margin-top:15px}.catalog-price b{font-size:25px}.catalog-price span{color:#7f98b2}.catalog-limits{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.catalog-limits span{padding:8px;text-align:center;border:1px solid #203b56;border-radius:9px;background:#081624;color:#849db6;font-size:11px}.catalog-limits b{color:#fff}.catalog-modules{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.catalog-modules span{padding:5px 7px;border-radius:7px;background:#132f4c;color:#a8c9ea;font-size:10px;font-weight:700}.plan-empty{display:grid;gap:5px;padding:40px 20px}.plan-empty span{color:#8098b1}.geo-edit-block{margin-top:15px;padding-top:15px;border-top:1px solid #1f3953}.geo-edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.geo-edit-head b,.geo-edit-head small{display:block}.geo-edit-head small{margin-top:3px;color:#849cb5}.compact-info{grid-template-columns:repeat(2,1fr)}.geo-detect-message{min-height:18px;margin-top:9px;font-size:12px}.geo-detect-message.working{color:#8fc5f7}.geo-detect-message.success{color:#65deb3}.geo-detect-message.error{color:#ff929f}.map-live-status small:after{content:' · Pin, lisans kaydındaki koordinatı; yoksa sunucu IP konumunu gösterir'}
@media(max-width:1180px){.plans-layout{grid-template-columns:1fr}.plan-basic-grid{grid-template-columns:repeat(2,1fr)}.plan-name-field{grid-column:auto}.plan-list-card{order:2}.plan-catalog{grid-template-columns:repeat(2,1fr);max-height:none}}
@media(max-width:700px){.plan-basic-grid,.plan-module-grid,.plan-catalog,.compact-info{grid-template-columns:1fr}.plan-builder-footer,.module-picker-head,.geo-edit-head{align-items:stretch;flex-direction:column}.plan-builder-footer button{width:100%}}
