:root{
  --bg:#07111f;--bg2:#0b1627;--panel:#101d31;--panel2:#13243a;--line:#243a56;--muted:#8ea4bf;--text:#e9f4ff;--soft:#c7d7ea;--blue:#29a8ff;--cyan:#39d3ff;--green:#22c55e;--warning:#f59e0b;--danger:#ef4444;--shadow:0 18px 50px rgba(0,0,0,.38);--radius:20px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html,body{height:100%;margin:0;background:radial-gradient(circle at top left,#13294b 0,#07111f 34%,#050b14 100%);color:var(--text)}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top,#12315a 0,#07111f 42%,#030711 100%)}.login-card{width:min(420px,100%);padding:34px;border:1px solid rgba(57,211,255,.18);background:linear-gradient(180deg,rgba(16,29,49,.96),rgba(8,17,31,.96));border-radius:28px;box-shadow:var(--shadow)}
.brand-mark,.brand-icon{display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#00172b;font-weight:900;letter-spacing:.5px}.brand-mark{width:58px;height:58px;margin-bottom:16px;font-size:20px}.brand-icon{width:44px;height:44px;flex:0 0 44px}.login-card h1{margin:0 0 4px;font-size:34px}.login-card p{margin:0 0 22px;color:var(--muted)}
.login-card label{display:block;margin:14px 0 0;color:var(--soft);font-size:13px;font-weight:700}.login-card input{width:100%;margin-top:7px;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#081425;color:var(--text);outline:none}.login-card input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,211,255,.12)}.login-card button{width:100%;margin-top:20px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#03111f;font-weight:900;padding:13px 16px;cursor:pointer}.login-error{min-height:22px;margin-top:12px;color:#fecaca}.login-note{font-size:12px!important;margin-top:18px!important;color:var(--muted)!important}
.app-screen{min-height:100vh;display:grid;grid-template-columns:310px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:20px 14px;background:linear-gradient(180deg,#081322,#060c16);border-right:1px solid rgba(57,211,255,.12);box-shadow:14px 0 40px rgba(0,0,0,.24);overflow:hidden}.brand{display:flex;gap:12px;align-items:center;padding:6px 8px 20px}.brand strong{display:block;font-size:20px}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.sidebar-nav{flex:1;overflow:auto;padding-right:6px}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-thumb{background:#1f3552;border-radius:20px}
.nav-group{margin:4px 0}.nav-top{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:14px;background:transparent;color:var(--soft);cursor:pointer;text-align:left}.nav-top:hover,.nav-group.active>.nav-top{background:#0f2036;color:var(--text)}.nav-icon{width:24px;text-align:center}.nav-label{flex:1;font-weight:800}.nav-chevron{opacity:.65}.nav-submenu{display:none;margin:2px 0 8px 32px;padding-left:10px;border-left:1px solid rgba(57,211,255,.15)}.nav-group.manual-open .nav-submenu{display:block}.nav-link{display:block;padding:8px 10px;margin:2px 0;border-radius:12px;color:var(--muted);font-size:13px;line-height:1.25}.nav-link:hover{color:var(--text);background:#0d1b2e}.nav-link.active{color:#dff7ff;background:linear-gradient(90deg,rgba(41,168,255,.26),rgba(57,211,255,.08));box-shadow:inset 3px 0 0 var(--cyan)}
.user-panel{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px;border:1px solid rgba(57,211,255,.12);border-radius:18px;background:#0d1a2d}.user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#173b63;color:#9fe8ff;font-weight:900}.user-panel div:nth-child(2){min-width:0;flex:1}.user-panel strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-panel span{display:block;color:var(--muted);font-size:11px}.user-panel button{border:0;background:#132944;color:var(--soft);border-radius:10px;width:34px;height:34px;cursor:pointer}
.workspace{min-width:0;display:flex;flex-direction:column}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(57,211,255,.1);background:rgba(7,17,31,.76);backdrop-filter:blur(10px)}.breadcrumb{margin:0;color:var(--soft);font-size:14px}.stage-label{display:none!important;margin-top:6px;color:var(--cyan);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:10px}.global-search{width:300px;max-width:32vw;padding:11px 14px;border-radius:999px;border:1px solid var(--line);background:#0d1a2c;color:var(--muted)}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(34,197,94,.12)}.status-text{font-size:12px;color:var(--muted)}
.page{min-width:0;flex:1;overflow:auto}.page-wrap{padding:28px}.page-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px;border:1px solid rgba(57,211,255,.12);background:linear-gradient(135deg,rgba(16,29,49,.96),rgba(10,22,38,.96));border-radius:var(--radius);box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:var(--cyan);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.page-hero h1{margin:0;font-size:34px}.hero-sub{margin:8px 0 0;color:var(--muted);max-width:760px}.hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.pill-green{background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(34,197,94,.22)}.pill-blue{background:rgba(41,168,255,.14);color:#9fe8ff;border:1px solid rgba(41,168,255,.22)}
.v2-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.card{padding:20px;border:1px solid rgba(57,211,255,.12);border-radius:var(--radius);background:rgba(16,29,49,.92);box-shadow:0 12px 30px rgba(0,0,0,.2)}.card-wide{grid-column:1 / -1}.card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.card h2{margin:0;font-size:18px}.card p{margin:5px 0 0;color:var(--muted)}.mapping-table{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.mapping-table div{padding:14px;border:1px solid rgba(57,211,255,.12);background:#0b182a;border-radius:16px}.mapping-table span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.mapping-table strong{display:block;color:var(--text);font-size:13px;line-height:1.35;word-break:break-word}.body-text{line-height:1.6}.muted{color:var(--muted)!important}.safe-list{margin:14px 0 0;padding-left:18px;color:var(--soft);line-height:1.9}
@media (max-width:1100px){.app-screen{grid-template-columns:260px minmax(0,1fr)}.mapping-table{grid-template-columns:1fr 1fr}.v2-grid{grid-template-columns:1fr}.global-search{display:none}}@media (max-width:760px){.app-screen{display:block}.sidebar{position:relative;height:auto}.topbar{height:auto;padding:18px;display:block}.top-actions{margin-top:14px}.page-wrap{padding:18px}.page-hero{display:block}.hero-actions{justify-content:flex-start;margin-top:16px}.mapping-table{grid-template-columns:1fr}}

/* V2R.0B: only one sidebar menu stays expanded at a time. */
.nav-chevron{transition:transform .16s ease}
.nav-group.manual-open .nav-chevron{transform:rotate(180deg)}


/* V2R.0C CLEAN replacement — Edit Customers search + Customer 360 route foundation */
.btn{border:0;border-radius:13px;padding:10px 14px;font-weight:900;cursor:pointer}
.btn-green{background:linear-gradient(135deg,#16a34a,#22c55e);color:#03111f}
.btn-soft{background:#132944;color:var(--soft);border:1px solid rgba(57,211,255,.16)}
.btn-soft:hover{background:#173b63;color:var(--text)}
.customers-edit-page .card-head{align-items:flex-start}
.customer-search-shell label{display:block;margin:0 0 8px;color:var(--soft);font-size:13px;font-weight:850}
.customer-search-input-row{display:flex;align-items:center;gap:10px;border:1px solid rgba(57,211,255,.18);border-radius:18px;background:#081425;padding:8px 10px;margin-bottom:10px}
.search-glyph{color:var(--cyan);font-size:20px;line-height:1}
.customer-search-input-row input{flex:1;min-width:120px;border:0;outline:0;background:transparent;color:var(--text);font-size:14px;padding:10px 4px}
.inline-status{min-height:20px;margin:7px 0 12px;font-size:12px;font-weight:800;color:var(--muted)}
.inline-status.ok{color:#86efac}
.inline-status.danger{color:#fecaca}
.customer-search-results{min-height:150px;max-height:min(460px,52vh);overflow:auto;padding:8px;border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(7,17,31,.56)}
.customer-search-result{display:block;width:100%;margin:0 0 8px;padding:13px 14px;border:1px solid rgba(57,211,255,.13);border-radius:15px;background:#0d1a2d;color:var(--text);text-align:left;cursor:pointer}
.customer-search-result:hover,.customer-search-result:focus{border-color:rgba(57,211,255,.42);background:#10233b;outline:2px solid rgba(57,211,255,.1)}
.customer-search-main{display:block;font-weight:950;margin-bottom:4px}
.customer-search-sub{display:block;color:var(--muted);font-size:12px;line-height:1.45}
.customer-search-message{padding:18px;color:var(--muted);font-size:14px}
.mapping-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid rgba(57,211,255,.1)}
.mapping-row:last-child{border-bottom:0}
.mapping-row span{color:var(--muted);font-size:13px}
.mapping-row strong{color:var(--text);font-size:13px;overflow-wrap:anywhere}
.danger-text{color:#fecaca}
@media(max-width:760px){
  .customer-search-input-row{flex-wrap:wrap}
  .customer-search-input-row .btn{width:100%}
  .mapping-row{grid-template-columns:1fr}
}

/* V2R.0D CLEAN replacement — Customer 360 V1 source-mirrored page foundation */
.v2c360-page{padding:28px;min-height:100%;color:var(--text)}
.v2c360-title-row{display:grid;grid-template-columns:minmax(180px,auto) minmax(320px,1fr) auto;gap:18px;align-items:center;padding:20px;border:1px solid rgba(57,211,255,.12);background:linear-gradient(135deg,rgba(16,29,49,.96),rgba(10,22,38,.96));border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}.v2c360-title-row h1{margin:0;font-size:32px}.v2c360-top-actions,.v2c360-header-actions,.v2c360-card-actions,.v2c360-mini-actions,.v2c360-row-actions,.v2c360-map-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.v2c360-top-actions{justify-content:flex-end}.v2c360-switch-wrap{position:relative;display:grid;grid-template-columns:auto minmax(220px,1fr);gap:8px;align-items:center;z-index:40}.v2c360-switch-wrap>span{font-size:12px;font-weight:900;color:var(--soft);white-space:nowrap}.v2c360-switch-wrap input{width:100%;border:1px solid rgba(57,211,255,.18);border-radius:14px;background:#081425;color:var(--text);padding:12px 14px;outline:none}.v2c360-switch-wrap input:focus{border-color:rgba(57,211,255,.45);box-shadow:0 0 0 3px rgba(57,211,255,.1)}.v2c360-switch-results{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:360px;overflow:auto;border:1px solid rgba(57,211,255,.18);background:#07111f;border-radius:16px;box-shadow:0 22px 48px rgba(0,0,0,.44);padding:8px}.v2c360-switch-results.open,.v2c360-switch-wrap:focus-within .v2c360-switch-results{display:block}.v2c360-switch-result{display:block;width:100%;padding:11px 12px;margin:0 0 6px;border:1px solid rgba(57,211,255,.12);border-radius:12px;background:#0d1a2d;color:var(--text);text-align:left;cursor:pointer}.v2c360-switch-result:hover{background:#10233b;border-color:rgba(57,211,255,.38)}.v2c360-switch-result strong{display:block}.v2c360-switch-result span,.v2c360-switch-message{display:block;color:var(--muted);font-size:12px;margin-top:3px}.v2c360-switch-message{padding:14px}
.v2c360-header{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(320px,auto);gap:14px;align-items:center;border:1px solid rgba(57,211,255,.14);background:linear-gradient(135deg,#11223a,#0c1a2d);border-radius:var(--radius);box-shadow:0 16px 34px rgba(0,0,0,.26);padding:18px;margin-bottom:16px}.v2c360-header.state-suspended{background:linear-gradient(135deg,rgba(251,146,60,.34),rgba(15,23,42,.92));border-color:rgba(251,146,60,.48)}.v2c360-header.state-cancelled{background:linear-gradient(135deg,rgba(239,68,68,.34),rgba(15,23,42,.92));border-color:rgba(239,68,68,.52)}.v2c360-customer-title h2{margin:0;font-size:24px;letter-spacing:-.02em}.v2c360-header-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:12px}.v2c360-header-meta span{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.v2c360-vip{color:#fde68a!important;border-color:rgba(245,158,11,.34)!important;background:rgba(245,158,11,.13)!important}.v2c360-state-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.v2c360-state-pill.active{color:#86efac;background:rgba(34,197,94,.13);border:1px solid rgba(34,197,94,.25)}.v2c360-state-pill.suspended{color:#fed7aa;background:rgba(251,146,60,.14);border:1px solid rgba(251,146,60,.35)}.v2c360-state-pill.cancelled{color:#fecaca;background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.35)}
.v2c360-btn,.v2c360-icon{border:1px solid transparent;border-radius:11px;padding:8px 11px;cursor:pointer;font-size:12px;font-weight:900;line-height:1.1;box-shadow:0 5px 14px rgba(0,0,0,.2)}.v2c360-icon{min-width:31px;min-height:31px;padding:7px 9px}.v2c360-btn.green,.v2c360-icon.green{background:#10b981;color:#03111f}.v2c360-btn.blue,.v2c360-icon.blue{background:#2563eb;color:#fff}.v2c360-btn.yellow,.v2c360-icon.yellow{background:#f59e0b;color:#111827}.v2c360-btn.red,.v2c360-icon.red{background:#dc2626;color:#fff}.v2c360-btn.dark,.v2c360-icon.dark{background:#1f2937;color:#fff;border-color:rgba(255,255,255,.1)}.v2c360-btn.light,.v2c360-icon.light{background:#132944;color:var(--soft);border-color:rgba(57,211,255,.18)}.v2c360-icon.purple{background:#7c3aed;color:#fff}.v2c360-btn:hover,.v2c360-icon:hover{filter:brightness(1.08);transform:translateY(-1px)}
.v2c360-tabs{border:1px solid rgba(57,211,255,.12);background:rgba(7,17,31,.48);border-radius:var(--radius);box-shadow:0 16px 36px rgba(0,0,0,.2);overflow:hidden}.v2c360-tab-list{display:flex;gap:6px;overflow:auto;padding:12px 14px;border-bottom:1px solid rgba(57,211,255,.1);background:rgba(8,20,37,.72)}.v2c360-tab{border:1px solid rgba(57,211,255,.12);border-radius:999px;background:#0d1a2d;color:var(--muted);padding:10px 13px;font-weight:900;cursor:pointer;white-space:nowrap}.v2c360-tab:hover{color:var(--text);border-color:rgba(57,211,255,.34)}.v2c360-tab.active{color:#dff7ff;background:linear-gradient(90deg,rgba(41,168,255,.28),rgba(57,211,255,.11));border-color:rgba(57,211,255,.42);box-shadow:0 0 0 3px rgba(57,211,255,.06)}.v2c360-tab-panel{display:none;padding:16px}.v2c360-tab-panel.active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.v2c360-tab-panel[data-panel="services"].active,.v2c360-tab-panel[data-panel="billing"].active{grid-template-columns:1fr}.v2c360-card{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(16,29,49,.92);box-shadow:0 10px 24px rgba(0,0,0,.18);overflow:hidden}.v2c360-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(57,211,255,.1);background:rgba(13,26,45,.74)}.v2c360-card-head h2{font-size:15px;line-height:1.2;margin:0;font-weight:950;color:var(--text)}.v2c360-card-body{padding:13px 14px;overflow:auto}.v2c360-info-table,.v2c360-list-table{width:100%;border-collapse:collapse}.v2c360-info-table th{width:38%;text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid rgba(57,211,255,.08);font-size:12px;color:var(--muted);font-weight:900;vertical-align:top}.v2c360-info-table td{padding:8px 0;border-bottom:1px solid rgba(57,211,255,.08);font-size:13px;color:var(--soft);vertical-align:top;word-break:break-word}.v2c360-list-table th{background:rgba(8,20,37,.8);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.v2c360-list-table th,.v2c360-list-table td{border-bottom:1px solid rgba(57,211,255,.08);padding:9px 10px;text-align:left;vertical-align:top;font-size:12px}.v2c360-session-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-bottom:1px solid rgba(57,211,255,.08);padding:10px 0;font-size:13px;align-items:center}.v2c360-session-row:last-child{border-bottom:0}.v2c360-row-actions{justify-content:flex-end;white-space:nowrap}.v2c360-muted{color:var(--muted)}.v2c360-link{color:#7dd3fc;text-decoration:none;font-weight:800}.v2c360-link:hover{text-decoration:underline}.v2c360-usage{border:1px solid rgba(57,211,255,.16);border-radius:999px;padding:4px 8px;font-size:11px;background:#0b182a;color:var(--soft);font-weight:900}.v2c360-pill{display:inline-block;border-radius:999px;background:rgba(41,168,255,.13);border:1px solid rgba(41,168,255,.3);color:#9fe8ff;padding:3px 8px;font-size:10px;font-weight:900;margin-left:3px}.v2c360-pill.blue{background:rgba(37,99,235,.18);color:#bfdbfe;border-color:rgba(147,197,253,.32)}.v2c360-empty{color:var(--muted);padding:12px;background:rgba(8,20,37,.66);border:1px dashed rgba(57,211,255,.18);border-radius:12px;font-size:13px}.v2c360-note{border:1px solid rgba(57,211,255,.12);border-radius:14px;background:#0b182a;padding:12px;margin-bottom:9px}.v2c360-note p{margin:6px 0;color:var(--soft);line-height:1.5}.v2c360-note span{font-size:12px;color:var(--muted)}.v2c360-float-right{float:right}.v2c360-chart-placeholder{height:120px;margin-top:14px;border:1px dashed rgba(57,211,255,.2);border-radius:14px;display:grid;place-items:center;color:var(--muted);background:#0b182a}
.v2c360-map-tools{margin:12px 0}.v2c360-map-box{height:390px;border:1px solid rgba(57,211,255,.18);border-radius:16px;background:#07111f;overflow:hidden}.v2c360-map-box iframe{width:100%;height:100%;border:0;display:block;filter:saturate(1.06) contrast(1.02)}.v2c360-map-placeholder{height:100%;display:grid;place-items:center;color:var(--muted);padding:18px;text-align:center}.v2c360-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:42px 18px;overflow:auto}.v2c360-modal{width:min(860px,100%);border:1px solid rgba(57,211,255,.2);border-radius:20px;background:#0b1627;color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.56);overflow:hidden}.v2c360-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(57,211,255,.12);background:#101d31}.v2c360-modal-head h2{margin:0;font-size:20px}.v2c360-modal-close{border:0;border-radius:10px;background:#132944;color:var(--soft);font-size:22px;width:38px;height:38px;cursor:pointer}.v2c360-modal-body{padding:18px}.v2c360-modal-body p{line-height:1.6}.v2c360-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid rgba(57,211,255,.1);background:#081425}
@media(max-width:1200px){.v2c360-title-row,.v2c360-header{grid-template-columns:1fr}.v2c360-top-actions,.v2c360-header-actions{justify-content:flex-start}.v2c360-tab-panel.active{grid-template-columns:1fr}.v2c360-switch-wrap{grid-template-columns:1fr}.v2c360-map-box{height:330px}}@media(max-width:760px){.v2c360-page{padding:18px}.v2c360-session-row{grid-template-columns:1fr}.v2c360-row-actions{justify-content:flex-start}.v2c360-card-head{display:block}.v2c360-card-actions{margin-top:10px}.v2c360-list-table{display:block;overflow-x:auto}.v2c360-info-table th,.v2c360-info-table td{display:block;width:100%}.v2c360-info-table th{border-bottom:0;padding-bottom:2px}.v2c360-info-table td{padding-top:0}.v2c360-map-box{height:280px}}

/* V2R.0E v3 — Customer 360 Billing tab accounting cards */
.v2c360-total-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.v2c360-total-row span{border:1px solid rgba(57,211,255,.14);background:#081425;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;color:var(--soft)}
.v2c360-accounting-actions{margin-top:10px}
.v2c360-statement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.v2c360-statement-grid>div{border:1px solid rgba(57,211,255,.14);background:#081425;border-radius:12px;padding:10px}
.v2c360-statement-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:900}
.v2c360-statement-grid b{display:block;color:var(--text);margin-top:4px;font-size:14px}
@media(max-width:760px){.v2c360-statement-grid{grid-template-columns:1fr}}

/* V2R.0E CLEAN v4 — Customer 360 modal/form professional styling recovery
   Fixes raw browser-default tabs/inputs inside Customer 360 popups without changing backend or route logic. */
.v2c360-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.70);z-index:30000;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow:auto}
.v2c360-modal{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;border:1px solid rgba(57,211,255,.22);border-radius:22px;background:#0b1627;color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.62);overflow:hidden}
.v2c360-form-modal{width:min(1080px,calc(100vw - 32px))}
.v2c360-modal-head{flex:0 0 auto;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(57,211,255,.14);background:linear-gradient(135deg,#101d31,#0b182b)}
.v2c360-modal-head h2{margin:0;font-size:20px;line-height:1.2;font-weight:950;color:var(--text)}
.v2c360-modal-close{border:1px solid rgba(57,211,255,.14);border-radius:13px;background:#132944;color:#dff7ff;font-size:24px;width:42px;height:42px;cursor:pointer;line-height:1;display:grid;place-items:center}
.v2c360-modal-close:hover{background:#173b63;filter:brightness(1.08)}
.v2c360-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:18px 20px;background:#07111f}
.v2c360-form-modal .v2c360-modal-body{max-height:calc(100vh - 190px)}
.v2c360-modal-foot{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 20px;border-top:1px solid rgba(57,211,255,.12);background:#081425}
.v2c360-modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.v2c360-modal-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:8px;border:1px solid rgba(57,211,255,.14);border-radius:16px;background:#0b182a;position:sticky;top:0;z-index:2;box-shadow:0 10px 20px rgba(0,0,0,.18)}
.v2c360-modal-tab{appearance:none;border:1px solid rgba(57,211,255,.16);border-radius:999px;background:#102038;color:var(--soft);padding:9px 12px;font-size:12px;font-weight:900;cursor:pointer;line-height:1.1;white-space:nowrap}
.v2c360-modal-tab:hover{background:#132944;border-color:rgba(57,211,255,.36);color:var(--text)}
.v2c360-modal-tab.active{background:linear-gradient(90deg,rgba(41,168,255,.32),rgba(57,211,255,.14));border-color:rgba(57,211,255,.48);color:#e9faff;box-shadow:0 0 0 3px rgba(57,211,255,.07)}
.v2c360-modal-panel{display:none;border:1px solid rgba(57,211,255,.11);border-radius:18px;background:rgba(16,29,49,.68);padding:16px}
.v2c360-modal-panel.active{display:block}
.v2c360-form-field{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start;padding:10px 0;border-bottom:1px solid rgba(57,211,255,.08)}
.v2c360-form-field:last-child{border-bottom:0}
.v2c360-form-field>label{font-size:13px;font-weight:900;color:#d9ecff;line-height:1.35;padding-top:10px}
.v2c360-form-field small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4}
.v2c360-form-modal input,.v2c360-form-modal select,.v2c360-form-modal textarea{width:100%;max-width:none;border:1px solid rgba(57,211,255,.16);border-radius:12px;background:#081425;color:var(--text);padding:10px 12px;font:inherit;font-size:13px;outline:none;box-shadow:none}
.v2c360-form-modal select{appearance:auto;color:var(--text)}
.v2c360-form-modal input::placeholder,.v2c360-form-modal textarea::placeholder{color:#8ea4bf}
.v2c360-form-modal input:focus,.v2c360-form-modal select:focus,.v2c360-form-modal textarea:focus{border-color:rgba(57,211,255,.55);box-shadow:0 0 0 3px rgba(57,211,255,.10);background:#0a1728}
.v2c360-form-modal input[readonly],.v2c360-form-modal textarea[readonly]{opacity:.82;background:#0b182a;color:var(--muted)}
.v2c360-form-modal textarea{min-height:92px;resize:vertical;line-height:1.45}
.v2c360-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v2c360-inline input,.v2c360-inline select{flex:1 1 220px;min-width:160px}
.v2c360-warning{border:1px solid rgba(245,158,11,.28);border-radius:14px;background:rgba(245,158,11,.10);color:#fde68a;padding:12px;line-height:1.45;margin:8px 0}
.v2c360-vip-banner{border:1px solid rgba(245,158,11,.35);border-radius:14px;background:rgba(245,158,11,.12);color:#fde68a;padding:11px 13px;font-weight:950;margin-bottom:12px}
.v2c360-form-modal .v2c360-list-table{width:100%;border-collapse:collapse;margin:8px 0 12px;border:1px solid rgba(57,211,255,.10);border-radius:12px;overflow:hidden}
.v2c360-form-modal .v2c360-list-table th,.v2c360-form-modal .v2c360-list-table td{padding:9px 10px;border-bottom:1px solid rgba(57,211,255,.08);font-size:12px;vertical-align:top}
.v2c360-form-modal .v2c360-list-table th{background:#0b182a;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:950}
.v2c360-form-modal h3{margin:16px 0 8px;font-size:15px;color:var(--text)}
@media(max-width:760px){.v2c360-modal,.v2c360-form-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.v2c360-modal-backdrop{padding:10px}.v2c360-modal-head,.v2c360-modal-body,.v2c360-modal-foot{padding-left:14px;padding-right:14px}.v2c360-form-field{grid-template-columns:1fr;gap:6px}.v2c360-form-field>label{padding-top:0}.v2c360-modal-actions{width:100%;margin-left:0}.v2c360-modal-actions .v2c360-btn,.v2c360-modal-foot>.v2c360-btn{flex:1 1 auto}}


/* V2R.0G CLEAN — Setup safe settings batch */
.setup-page{display:flex;flex-direction:column;gap:18px}
.setup-status-card{border:1px solid rgba(57,211,255,.12);border-radius:16px;background:rgba(13,26,45,.72);padding:12px 16px;color:var(--muted);font-size:13px}
.setup-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.setup-card{border:1px solid rgba(57,211,255,.12);border-radius:20px;background:linear-gradient(180deg,rgba(16,29,49,.94),rgba(10,21,37,.94));padding:20px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.setup-card.wide,.setup-note.wide{grid-column:1 / -1}
.setup-card-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
.setup-card-head h2{margin:0;font-size:18px}
.setup-card-head p{margin:5px 0 0;color:var(--muted);font-size:13px}
.setup-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.setup-field{display:flex;flex-direction:column;gap:7px}
.setup-field.wide{grid-column:1 / -1}
.setup-field span{font-size:12px;font-weight:900;color:#c7d7ea;letter-spacing:.02em}
.setup-field input,.setup-field select,.setup-field textarea{width:100%;border:1px solid var(--line);background:#081425;color:var(--text);border-radius:13px;padding:11px 12px;outline:none;font:inherit}
.setup-field textarea{resize:vertical;min-height:100px}
.setup-field input:focus,.setup-field select:focus,.setup-field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,211,255,.12)}
.setup-field small,.setup-current-file{color:var(--muted);font-size:11px;line-height:1.45}
.setup-field.secret-like input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.setup-note{border:1px solid rgba(57,211,255,.12);background:rgba(13,26,45,.72);border-radius:16px;padding:14px 16px;color:var(--soft);line-height:1.6}
.setup-note.warn{border-color:rgba(245,158,11,.24);background:rgba(245,158,11,.08)}
.setup-note code{color:#9fe8ff}
.theme-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.theme-choice{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--line);border-radius:18px;background:#081425;color:var(--text);padding:18px;cursor:pointer}
.theme-choice:hover,.theme-choice.active{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,211,255,.12)}
.theme-choice span{color:var(--muted)}
@media(max-width:900px){.setup-card-grid,.setup-form-grid,.theme-choice-grid{grid-template-columns:1fr}.setup-card.wide,.setup-note.wide,.setup-field.wide{grid-column:auto}}


/* V2R.0H — Setup communication settings polish */
.comm-page .inline-actions,.inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;grid-column:1 / -1}
.kpi-strip div{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(13,26,45,.72);padding:15px}
.kpi-strip span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.kpi-strip strong{display:block;margin-top:6px;font-size:20px;color:var(--text)}
.v2-inline-picker{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px}.v2-inline-picker select{width:100%;border:1px solid var(--line);background:#081425;color:var(--text);border-radius:13px;padding:11px 12px;outline:none;font:inherit}
.chipbox{display:flex;flex-wrap:wrap;gap:8px;min-height:42px;border:1px dashed var(--line);background:rgba(8,20,37,.72);border-radius:14px;padding:10px}.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(57,211,255,.20);background:rgba(57,211,255,.08);color:#bfeeff;border-radius:999px;padding:7px 10px;font-weight:850;font-size:12px}.chip button{border:0;background:transparent;color:#bfeeff;cursor:pointer;font-weight:900;font-size:15px;line-height:1}.warn-text{color:#fbbf24!important}.btn-xs{padding:6px 9px;font-size:12px;border-radius:10px}.btn-danger{background:#7f1d1d;color:#fecaca;border:1px solid rgba(248,113,113,.28)}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.data-table th{background:rgba(8,20,37,.82);color:#b6c8df;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.preview-box{white-space:pre-wrap;border:1px solid var(--line);border-radius:14px;background:#07111f;color:#dceaff;padding:14px;min-height:160px;line-height:1.5;overflow:auto}.v2-toast{position:fixed;right:18px;bottom:18px;z-index:99999;padding:12px 16px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.3);font-weight:850;border:1px solid var(--line);background:#0d1a2d;color:var(--text)}.v2-toast.ok{background:#052e1a;color:#bbf7d0;border-color:rgba(34,197,94,.25)}.v2-toast.bad{background:#3b1111;color:#fecaca;border-color:rgba(248,113,113,.25)}
.v2-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.66);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.v2-modal{background:#0b1626;border:1px solid rgba(57,211,255,.16);border-radius:20px;box-shadow:0 26px 80px rgba(0,0,0,.5);max-width:760px;width:100%;max-height:90vh;overflow:auto;color:var(--text)}.v2-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line);background:#0f1d31}.v2-modal-head h2{margin:0;font-size:22px}.v2-modal-head p{margin:5px 0 0;color:var(--muted)}.v2-modal-x{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:#142943;color:#dceaff;font-size:22px;cursor:pointer}.v2-modal-body{padding:18px 20px;display:grid;gap:14px}.v2-modal-foot{padding:15px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#0f1d31;flex-wrap:wrap}
.status-pill{display:inline-flex;border-radius:999px;border:1px solid var(--line);padding:5px 9px;font-size:12px;font-weight:900;background:rgba(13,26,45,.85);color:var(--soft)}.status-pill.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.28);color:#86efac}.status-pill.bad{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.28);color:#fecaca}
@media(max-width:900px){.kpi-strip{grid-template-columns:1fr 1fr}.v2-inline-picker{grid-template-columns:1fr}}
@media(max-width:620px){.kpi-strip{grid-template-columns:1fr}}

/* V2R.0H CLEAN v2 Replacement — Mail Sending inline SMTP test recovery */
.setup-inline-test{margin-top:14px;border:1px solid rgba(57,211,255,.14);border-radius:18px;background:rgba(7,17,31,.74);padding:16px;display:grid;gap:12px}
.setup-inline-test[hidden]{display:none!important}
.setup-inline-test-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:4px}


/* V2R.0I CLEAN — Setup organisation/mailbox CRUD styling */
.setup-crud-page .setup-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.setup-crud-page .setup-mini-grid article{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:linear-gradient(180deg,rgba(16,29,49,.9),rgba(8,20,37,.9));padding:16px}.setup-crud-page .setup-mini-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.setup-crud-page .setup-mini-grid strong{display:block;margin-top:6px;font-size:26px;color:var(--text)}
.setup-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.setup-toolbar input,.setup-toolbar select{min-width:220px;flex:1;border:1px solid var(--line);background:#081425;color:var(--text);border-radius:13px;padding:10px 12px;font:inherit}.row-actions{white-space:nowrap;text-align:right}.btn-mini{padding:7px 10px;font-size:12px;margin:2px}.btn-danger{background:linear-gradient(135deg,#dc2626,#f97316);color:#fff}.inline-card{background:rgba(8,20,37,.6);box-shadow:none}.inline-card h3{margin:0 0 10px;font-size:15px}.setup-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.setup-check-grid label{display:flex;gap:9px;align-items:flex-start;border:1px solid rgba(57,211,255,.12);border-radius:13px;background:#081425;padding:10px;cursor:pointer}.setup-check-grid input{margin-top:2px}.setup-check-grid span{font-weight:900;color:var(--text);font-size:13px}.setup-check-grid small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.setup-crud-modal{width:min(1060px,calc(100vw - 32px));max-height:calc(100vh - 40px)}.setup-crud-modal .v2-modal-body{overflow:auto}.setup-crud-modal .setup-card{padding:14px}.setup-crud-modal .setup-field.secret-like input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:900px){.setup-crud-page .setup-mini-grid,.setup-check-grid{grid-template-columns:1fr}.setup-toolbar input,.setup-toolbar select{min-width:100%;}.row-actions{text-align:left}}

/* V2R.0J CLEAN — Setup Admin Users / Permissions / Role Templates */
.setup-admin-page .setup-card{overflow:hidden}
.setup-admin-table td,.setup-admin-table th{white-space:nowrap}.setup-admin-table td:nth-child(3),.setup-admin-table td:nth-child(6){white-space:normal;min-width:160px}.setup-admin-modal{width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 40px)}.setup-admin-modal .v2-modal-body{padding:0;overflow:auto}.setup-admin-tabs{display:flex;gap:0;overflow:auto;border-bottom:1px solid var(--line);background:#081425}.setup-admin-tab{border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);padding:13px 16px;font-weight:950;white-space:nowrap;cursor:pointer}.setup-admin-tab:hover{background:#0d1a2d;color:var(--text)}.setup-admin-tab.active{background:#10233b;color:#9fe8ff;box-shadow:inset 0 -3px 0 var(--cyan)}.setup-admin-panel{display:none;padding:18px}.setup-admin-panel.active{display:block}.setup-admin-panel-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.setup-admin-matrix th,.setup-admin-matrix td{text-align:center}.setup-admin-matrix th:first-child,.setup-admin-matrix td:first-child{text-align:left;min-width:240px}.setup-check-line .switch-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#081425;border-radius:13px;padding:10px 12px}.switch-row input{width:auto!important}.switch-row strong{color:var(--soft);font-size:13px}.inline-actions input{flex:1;min-width:240px;border:1px solid var(--line);background:#081425;color:var(--text);border-radius:13px;padding:11px 12px;outline:none;font:inherit}.mini-badge{display:inline-flex;align-items:center;justify-content:center;margin:1px 2px;min-width:24px;height:22px;border-radius:999px;font-size:11px;font-weight:950;border:1px solid var(--line)}.mini-badge.ok{background:rgba(34,197,94,.13);color:#86efac;border-color:rgba(34,197,94,.28)}.mini-badge.warn{background:rgba(245,158,11,.13);color:#fde68a;border-color:rgba(245,158,11,.28)}.matrix-scroll{max-height:70vh}.setup-permission-matrix{min-width:1900px}.setup-permission-matrix th:first-child,.setup-permission-matrix td:first-child{position:sticky;left:0;background:#0b182a;z-index:2}.setup-permission-matrix th:first-child{z-index:3}.setup-admin-modal code{display:block;margin-top:8px;border:1px solid rgba(245,158,11,.28);border-radius:12px;background:#07111f;color:#fde68a;padding:12px;font-size:16px;user-select:all}.muted{color:var(--muted)}@media(max-width:900px){.setup-admin-table td,.setup-admin-table th{white-space:normal}.setup-admin-panel{padding:14px}.inline-actions input{min-width:100%}}


/* V2R.0K CLEAN v2 — Data / Radius NAS List V1 Runtime Rebuild */
.nas-page .page-hero{align-items:flex-start}.nas-page .hero-actions{gap:10px}.btn{border:1px solid var(--line);border-radius:13px;padding:10px 14px;font-weight:900;cursor:pointer;background:#10233b;color:var(--text)}.btn.primary{border:0;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#03111f}.btn.secondary{background:#11243d;color:#d9ecff}.btn.danger{background:linear-gradient(135deg,#dc2626,#f97316);color:#fff;border-color:rgba(248,113,113,.3)}.btn:hover{filter:brightness(1.08)}
.nas-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.nas-kpis article{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:linear-gradient(180deg,rgba(16,29,49,.9),rgba(8,20,37,.9));padding:16px}.nas-kpis span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.nas-kpis strong{display:block;margin-top:6px;font-size:28px;color:var(--text)}
.nas-toolbar{gap:14px}.nas-toolbar input,.nas-search{min-width:260px;border:1px solid var(--line);background:#081425;color:var(--text);border-radius:13px;padding:11px 12px;outline:none;font:inherit}.nas-table code{color:#9fe8ff}.nas-table td,.nas-table th{white-space:nowrap}.nas-table td:nth-child(8){white-space:normal;min-width:240px}.nas-notice{border:1px solid rgba(57,211,255,.15);border-radius:16px;background:rgba(13,26,45,.7);padding:14px 16px;color:var(--soft);line-height:1.6;margin-top:12px}.nas-notice.nas-warn{border-color:rgba(245,158,11,.25);background:rgba(245,158,11,.08)}.nas-notice.nas-error{border-color:rgba(248,113,113,.28);background:rgba(127,29,29,.22);color:#fecaca}.nas-secret-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.nas-command{margin-top:9px;border:1px solid var(--line);border-radius:12px;background:#07111f;color:#9fe8ff;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;user-select:all}.nas-form .setup-field input[readonly]{background:#0b1728;color:#94a3b8;border-style:dashed;cursor:not-allowed}.nas-form-actions{justify-content:flex-end}.wide{grid-column:1 / -1}.row-actions{text-align:right}.btn-mini{padding:7px 10px;font-size:12px;margin:2px}@media(max-width:900px){.nas-kpis{grid-template-columns:1fr 1fr}.nas-toolbar{display:block}.nas-toolbar input,.nas-search{width:100%;min-width:0;margin-top:12px}.nas-table td,.nas-table th{white-space:normal}.row-actions{text-align:left}}@media(max-width:620px){.nas-kpis{grid-template-columns:1fr}}

/* V2R.0L CLEAN v2 — Setup Radius Server Setup V1 Rebuild */
.radius-setup-page .hero-sub{max-width:960px}
.radius-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.summary-tile{padding:16px;border:1px solid rgba(57,211,255,.15);border-radius:18px;background:linear-gradient(180deg,rgba(16,29,49,.95),rgba(10,20,35,.95));box-shadow:0 14px 34px rgba(0,0,0,.18)}
.summary-tile span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.summary-tile strong{display:block;margin-top:6px;font-size:19px;color:var(--text)}
.radius-audit-note{padding:14px 16px;margin:0 0 18px;border:1px solid rgba(245,158,11,.22);border-radius:18px;background:rgba(245,158,11,.08);color:#ffe8bd;line-height:1.55}
.radius-audit-note code{color:#fff;background:rgba(0,0,0,.25);padding:2px 6px;border-radius:7px}
.radius-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.radius-setup-card{border:1px solid rgba(57,211,255,.14);background:linear-gradient(180deg,rgba(16,29,49,.98),rgba(9,18,32,.98));border-radius:22px;box-shadow:0 18px 44px rgba(0,0,0,.22);overflow:hidden}
.radius-setup-card.wide{grid-column:1 / -1}
.radius-card-head{display:flex;justify-content:space-between;gap:16px;padding:18px 18px 12px;border-bottom:1px solid rgba(57,211,255,.10)}
.radius-card-head h2{margin:0;font-size:18px}
.radius-card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.radius-card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}
.radius-setup-card.wide .radius-card-body{grid-template-columns:repeat(3,minmax(0,1fr))}
.v2-field{display:block}
.v2-field span{display:block;font-size:12px;color:var(--soft);font-weight:800;margin-bottom:7px}
.v2-field input,.v2-field select{width:100%;min-height:42px;padding:10px 12px;border-radius:13px;border:1px solid rgba(142,164,191,.28);background:#081425;color:var(--text);outline:none}
.v2-field input:focus,.v2-field select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,211,255,.11)}
.v2-field input[readonly],.v2-field select:disabled{opacity:.76;background:#0b1627;color:#aebed2;cursor:not-allowed}
.field-help{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.radius-note{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid rgba(57,211,255,.13);border-radius:16px;background:rgba(57,211,255,.06);line-height:1.42}
.radius-note strong{font-size:13px;color:#dff7ff}
.radius-note span{font-size:13px;color:var(--muted)}
.radius-note.warn{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.08)}
.radius-note.warn strong{color:#ffd48a}
.radius-note.bad{border-color:rgba(239,68,68,.32);background:rgba(239,68,68,.08)}
.radius-note.bad strong{color:#fecaca}
.radius-actions-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:16px;border:1px solid rgba(57,211,255,.14);border-radius:20px;background:#0b1627}
.radius-status{color:var(--muted);font-weight:800}
.radius-status.ok{color:#86efac}
.radius-status.bad{color:#fecaca}
@media (max-width:1200px){
  .radius-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .radius-setup-grid{grid-template-columns:1fr}
  .radius-card-body,.radius-setup-card.wide .radius-card-body{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .radius-summary-grid,.radius-card-body,.radius-setup-card.wide .radius-card-body{grid-template-columns:1fr}
  .radius-actions-bar{align-items:flex-start;flex-direction:column}
}

/* V2R.0M CLEAN — Radius runtime authority wiring */
.runtime-radius-page .runtime-authority{border-color:rgba(57,211,255,.24);background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(57,211,255,.07));color:#dff7ff}
.v2-readonly-field{display:block;padding:11px 12px;border:1px solid rgba(142,164,191,.20);border-radius:13px;background:#081425;min-height:42px}
.v2-readonly-field span{display:block;font-size:12px;color:var(--soft);font-weight:800;margin-bottom:7px}
.v2-readonly-field strong{display:block;color:var(--text);word-break:break-word;font-size:14px}
.v2-readonly-field p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.35}
.runtime-mini-table{grid-column:1 / -1;max-height:360px;overflow:auto;border-radius:16px;border:1px solid rgba(57,211,255,.12)}
.runtime-mini-table table{width:100%;border-collapse:collapse;min-width:760px}.runtime-mini-table th,.runtime-mini-table td{padding:10px 12px;border-bottom:1px solid rgba(142,164,191,.12);text-align:left;font-size:13px}.runtime-mini-table th{color:#9fe8ff;background:#07111f;position:sticky;top:0}.runtime-mini-table code{color:#9fe8ff}.runtime-steps{margin:0 0 18px;padding:16px;border:1px solid rgba(34,197,94,.28);border-radius:18px;background:rgba(34,197,94,.08);color:#d8ffe7}.runtime-steps h3{margin:0 0 8px}.runtime-steps ol{margin:0;padding-left:22px}.runtime-steps li{margin:4px 0;line-height:1.45}.compact-actions{grid-column:1 / -1;justify-content:flex-start}.runtime-radius-page .radius-card-body .runtime-mini-table{margin-top:4px}

/* V2R.0N CLEAN — Company Setup branding upload recovery and shell/default branding */
.brand{color:inherit;text-decoration:none;min-width:0}.brand:hover .brand-copy strong{color:#dff7ff}.brand-copy{min-width:0}.brand-copy strong,.brand-copy span{max-width:185px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-icon.has-image,.brand-mark.has-image{background:#081425;border:1px solid rgba(57,211,255,.22);overflow:hidden;padding:4px}.brand-icon.has-image img,.brand-mark.has-image img{max-width:100%;max-height:100%;object-fit:contain;display:block}.brand-mark.has-image{border-radius:18px}
.setup-form-grid.asset-grid{grid-template-columns:repeat(3,minmax(210px,1fr))}.setup-logo-field{display:flex;flex-direction:column;gap:8px}.setup-logo-upload{border:2px dashed rgba(142,164,191,.35);background:rgba(8,20,37,.74);border-radius:18px;padding:16px;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;transition:.16s ease;color:var(--soft);cursor:pointer}.setup-logo-upload:hover,.setup-logo-upload.dragging{border-color:var(--cyan);background:rgba(57,211,255,.08);box-shadow:0 0 0 3px rgba(57,211,255,.08)}.setup-logo-upload-icon{font-size:28px;line-height:1}.setup-logo-upload-title{font-weight:950;color:var(--text)}.setup-logo-upload-sub{font-size:12px;color:var(--muted);line-height:1.35}.setup-logo-preview{display:flex;align-items:center;justify-content:center;min-height:58px;width:100%}.setup-logo-preview img{max-width:100%;max-height:78px;border:1px solid rgba(57,211,255,.16);border-radius:12px;background:#fff;padding:6px;object-fit:contain}.setup-logo-file-name{font-size:12px;color:var(--muted);word-break:break-word}.setup-logo-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.setup-logo-recommend{font-size:11px;color:var(--muted);line-height:1.35}.setup-logo-recommend strong{color:var(--soft)}.setup-logo-hidden-file{display:none!important}.setup-inline-toast{position:fixed;right:22px;bottom:22px;z-index:99999;padding:12px 16px;border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.32);font-weight:900}.setup-inline-toast.ok{background:rgba(34,197,94,.16);border:1px solid rgba(34,197,94,.34);color:#b9ffd0}.setup-inline-toast.bad{background:rgba(239,68,68,.16);border:1px solid rgba(239,68,68,.38);color:#fecaca}.setup-note code{color:#9fe8ff;background:rgba(0,0,0,.24);padding:2px 6px;border-radius:7px}
.default-home-page{min-height:calc(100vh - 78px);position:relative;display:grid;place-items:center;padding:34px;background:linear-gradient(90deg,#dbe9f5 0,#f7fafc 8%,#ffffff 18%,#ffffff 82%,#f7fafc 92%,#dbe9f5 100%);color:#101827}.default-home-card{width:100%;min-height:calc(100vh - 150px);display:grid;place-items:center;background:#fff;box-shadow:inset 0 0 0 1px rgba(15,23,42,.03)}.default-home-brand{display:flex;align-items:center;justify-content:center;gap:28px}.default-home-logo img{display:block;max-width:360px;max-height:130px;object-fit:contain}.default-home-mark{width:124px;height:124px;display:grid;place-items:center;border-radius:28px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:34px;font-weight:950;box-shadow:0 18px 54px rgba(15,23,42,.18)}.default-home-copy h1{margin:0;font-size:54px;line-height:1.05;letter-spacing:-.04em;color:#111827}.default-home-copy p{margin:12px 0 0;font-size:24px;font-weight:800;letter-spacing:.02em;color:#4b5563}.default-home-loading{color:#64748b;font-weight:850}.default-powered-by{position:absolute;right:24px;bottom:16px;color:#0f766e;font-size:13px;font-weight:850}.default-powered-by strong{font-weight:950}@media(max-width:900px){.setup-form-grid.asset-grid{grid-template-columns:1fr}.default-home-brand{flex-direction:column;text-align:center;gap:16px}.default-home-copy h1{font-size:38px}.default-home-copy p{font-size:19px}.default-home-page{padding:20px}.default-powered-by{position:static;align-self:end;justify-self:end;margin-top:12px}}

/* V2R.0Q CLEAN — ISP Forge powered-by admin/default footer.
   Company Setup Enable Powered By controls this real bottom-right platform footer. */
.workspace{position:relative}.app-powered-footer{position:fixed;right:22px;bottom:12px;z-index:9000;font-size:13px;font-weight:850;color:#0f766e;text-shadow:0 1px 0 rgba(255,255,255,.45);pointer-events:none}.app-powered-footer strong{font-weight:950}.app-powered-footer.hidden{display:none!important}.default-home-page{padding-bottom:56px}


/* V2R.0U Sales Setup V1 rebuild helpers */
.setup-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.setup-kpi-card{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}
.setup-kpi-card span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.setup-kpi-card strong{font-size:24px;color:var(--text);letter-spacing:-.03em}
.setup-kpi-card small{color:var(--muted);font-size:12px;line-height:1.35}
.setup-sales-page .setup-card-grid{align-items:start}
@media(max-width:1100px){.setup-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.setup-kpi-grid{grid-template-columns:1fr}}

/* V2R.0V CLEAN — System Themes runtime colour tokens.
   The page structure stays V2. Only the saved dark/light theme changes colours. */
:root[data-theme="dark"]{
  color-scheme:dark;
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f5f8fc;
  --bg2:#eaf1f8;
  --panel:#ffffff;
  --panel2:#f7fbff;
  --line:#c9d9ea;
  --muted:#64748b;
  --text:#0f172a;
  --soft:#334155;
  --blue:#0877d8;
  --cyan:#0798d7;
  --green:#16a34a;
  --warning:#b45309;
  --danger:#dc2626;
  --shadow:0 18px 46px rgba(15,23,42,.12);
}
:root[data-theme="light"] html,
:root[data-theme="light"] body,
html[data-theme="light"],
html[data-theme="light"] body{
  background:radial-gradient(circle at top left,#d8ecff 0,#f5f8fc 36%,#eef4fb 100%)!important;
  color:var(--text)!important;
}
html[data-theme="light"] .login-screen{background:radial-gradient(circle at top,#d9edff 0,#f7fbff 42%,#edf4fb 100%)!important}
html[data-theme="light"] .login-card,
html[data-theme="light"] .page-hero,
html[data-theme="light"] .card,
html[data-theme="light"] .setup-card,
html[data-theme="light"] .setup-status-card,
html[data-theme="light"] .setup-note,
html[data-theme="light"] .v2c360-title-row,
html[data-theme="light"] .v2c360-tabs,
html[data-theme="light"] .v2c360-card,
html[data-theme="light"] .radius-setup-card,
html[data-theme="light"] .nas-notice,
html[data-theme="light"] .customer-search-results,
html[data-theme="light"] .default-home-card{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.96))!important;
  border-color:rgba(8,119,216,.18)!important;
  color:var(--text)!important;
  box-shadow:var(--shadow)!important;
}
html[data-theme="light"] .sidebar{
  background:linear-gradient(180deg,#ffffff,#edf5fd)!important;
  border-right:1px solid rgba(8,119,216,.18)!important;
  box-shadow:14px 0 34px rgba(15,23,42,.08)!important;
}
html[data-theme="light"] .topbar{
  background:rgba(255,255,255,.82)!important;
  border-bottom:1px solid rgba(8,119,216,.16)!important;
}
html[data-theme="light"] .brand,
html[data-theme="light"] .brand strong,
html[data-theme="light"] .breadcrumb,
html[data-theme="light"] .card h2,
html[data-theme="light"] .setup-card h2,
html[data-theme="light"] .setup-card h3,
html[data-theme="light"] .v2c360-card-head h2,
html[data-theme="light"] .radius-card-head h2,
html[data-theme="light"] .setup-field label,
html[data-theme="light"] .setup-logo-upload-title,
html[data-theme="light"] .mapping-table strong{
  color:var(--text)!important;
}
html[data-theme="light"] .brand span,
html[data-theme="light"] .status-text,
html[data-theme="light"] .muted,
html[data-theme="light"] .card p,
html[data-theme="light"] .setup-card p,
html[data-theme="light"] .setup-field .help,
html[data-theme="light"] .setup-logo-upload-sub,
html[data-theme="light"] .setup-logo-recommend,
html[data-theme="light"] .mapping-table span,
html[data-theme="light"] .v2c360-muted,
html[data-theme="light"] .v2c360-info-table th,
html[data-theme="light"] .v2c360-list-table th{
  color:var(--muted)!important;
}
html[data-theme="light"] .sidebar-nav::-webkit-scrollbar-thumb{background:#c6d7ea!important}
html[data-theme="light"] .nav-top,
html[data-theme="light"] .nav-link{color:#475569!important}
html[data-theme="light"] .nav-top:hover,
html[data-theme="light"] .nav-group.active>.nav-top,
html[data-theme="light"] .nav-link:hover{
  background:#e4f2ff!important;
  color:#0f172a!important;
}
html[data-theme="light"] .nav-link.active{
  color:#063f71!important;
  background:linear-gradient(90deg,rgba(8,119,216,.18),rgba(7,152,215,.08))!important;
  box-shadow:inset 3px 0 0 var(--cyan)!important;
}
html[data-theme="light"] .nav-submenu{border-left-color:rgba(8,119,216,.18)!important}
html[data-theme="light"] .user-panel{
  background:#f8fbff!important;
  border-color:rgba(8,119,216,.18)!important;
}
html[data-theme="light"] .user-avatar,
html[data-theme="light"] .user-panel button,
html[data-theme="light"] .btn-soft{
  background:#e7f3ff!important;
  color:#0f4f82!important;
  border-color:rgba(8,119,216,.18)!important;
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .global-search,
html[data-theme="light"] .customer-search-input-row,
html[data-theme="light"] .customer-search-result,
html[data-theme="light"] .theme-choice,
html[data-theme="light"] .v2c360-switch-wrap input,
html[data-theme="light"] .v2c360-switch-result,
html[data-theme="light"] .v2c360-tab,
html[data-theme="light"] .v2c360-note,
html[data-theme="light"] .v2c360-empty,
html[data-theme="light"] .v2c360-chart-placeholder,
html[data-theme="light"] .v2c360-usage,
html[data-theme="light"] .setup-logo-upload,
html[data-theme="light"] .nas-toolbar input,
html[data-theme="light"] .nas-search,
html[data-theme="light"] .v2-field input,
html[data-theme="light"] .v2-field select,
html[data-theme="light"] .inline-actions input,
html[data-theme="light"] .switch-row,
html[data-theme="light"] code,
html[data-theme="light"] .nas-command{
  background:#ffffff!important;
  color:var(--text)!important;
  border-color:rgba(100,116,139,.28)!important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{color:#94a3b8!important}
html[data-theme="light"] input:focus,
html[data-theme="light"] select:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] .customer-search-result:hover,
html[data-theme="light"] .theme-choice:hover,
html[data-theme="light"] .theme-choice.active{
  border-color:var(--cyan)!important;
  box-shadow:0 0 0 3px rgba(7,152,215,.14)!important;
}
html[data-theme="light"] .mapping-table div,
html[data-theme="light"] .v2c360-card-head,
html[data-theme="light"] .v2c360-tab-list,
html[data-theme="light"] .v2c360-list-table th,
html[data-theme="light"] .runtime-mini-table th,
html[data-theme="light"] .setup-admin-tabs,
html[data-theme="light"] .setup-permission-matrix th:first-child,
html[data-theme="light"] .setup-permission-matrix td:first-child{
  background:#f1f7fd!important;
  color:var(--text)!important;
}
html[data-theme="light"] .v2c360-tab.active,
html[data-theme="light"] .setup-admin-tab.active{
  background:linear-gradient(90deg,rgba(8,119,216,.16),rgba(7,152,215,.08))!important;
  color:#075985!important;
}
html[data-theme="light"] .v2c360-info-table th,
html[data-theme="light"] .v2c360-info-table td,
html[data-theme="light"] .v2c360-list-table th,
html[data-theme="light"] .v2c360-list-table td,
html[data-theme="light"] .runtime-mini-table th,
html[data-theme="light"] .runtime-mini-table td,
html[data-theme="light"] .setup-data-table th,
html[data-theme="light"] .setup-data-table td{
  border-bottom-color:rgba(100,116,139,.18)!important;
}
html[data-theme="light"] .pill-blue,
html[data-theme="light"] .v2c360-pill{background:rgba(8,119,216,.12)!important;color:#075985!important;border-color:rgba(8,119,216,.22)!important}
html[data-theme="light"] .pill-green,
html[data-theme="light"] .mini-badge.ok{background:rgba(22,163,74,.12)!important;color:#166534!important;border-color:rgba(22,163,74,.22)!important}
html[data-theme="light"] .mini-badge.warn{background:rgba(180,83,9,.12)!important;color:#92400e!important;border-color:rgba(180,83,9,.24)!important}
html[data-theme="light"] .nas-notice.nas-warn{background:rgba(180,83,9,.08)!important;border-color:rgba(180,83,9,.22)!important;color:#78350f!important}
html[data-theme="light"] .nas-notice.nas-error{background:rgba(220,38,38,.08)!important;border-color:rgba(220,38,38,.22)!important;color:#7f1d1d!important}
html[data-theme="light"] .default-home-page{
  background:linear-gradient(90deg,#dbe9f5 0,#f7fafc 8%,#ffffff 18%,#ffffff 82%,#f7fafc 92%,#dbe9f5 100%)!important;
  color:#101827!important;
}
html[data-theme="light"] .default-home-copy h1{color:#111827!important}
html[data-theme="light"] .default-home-copy p{color:#4b5563!important}
html[data-theme="light"] .app-powered-footer,
html[data-theme="light"] .default-powered-by{color:#0f766e!important;text-shadow:0 1px 0 rgba(255,255,255,.45)!important}
html[data-theme="dark"] .theme-choice-light{background:linear-gradient(180deg,#f8fbff,#e9f2fb)!important;color:#0f172a!important}
html[data-theme="dark"] .theme-choice-light span{color:#64748b!important}
html[data-theme="dark"] .theme-choice-dark{background:#081425!important;color:var(--text)!important}
html[data-theme="light"] .theme-choice-dark{background:linear-gradient(180deg,#111827,#07111f)!important;color:#e9f4ff!important;border-color:rgba(15,23,42,.36)!important}
html[data-theme="light"] .theme-choice-dark span{color:#b6c6d8!important}
html[data-theme="light"] .theme-choice-light{background:#ffffff!important;color:#0f172a!important}

/* V2R.0W CLEAN — Workflow Sales Workflow V1 Board Foundation */
.sw-page{padding:28px;display:flex;flex-direction:column;gap:16px}.sw-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border:1px solid rgba(57,211,255,.14);border-radius:var(--radius);background:linear-gradient(135deg,rgba(16,29,49,.96),rgba(10,22,38,.96));box-shadow:var(--shadow);padding:24px}.sw-hero h1{margin:0;font-size:34px;letter-spacing:-.02em}.sw-hero p{margin:8px 0 0;color:var(--muted);max-width:880px;line-height:1.55}.sw-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.sw-btn{border:1px solid rgba(57,211,255,.18);border-radius:13px;padding:10px 14px;font-weight:950;cursor:pointer;color:var(--text);background:#132944}.sw-btn.primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#03111f;border-color:transparent}.sw-btn.secondary{background:#132944;color:var(--soft)}.sw-btn:hover{filter:brightness(1.08)}.sw-status{border:1px solid rgba(57,211,255,.12);border-radius:14px;padding:11px 14px;color:var(--muted);background:rgba(13,26,45,.72);font-size:13px}.sw-status.ok{color:#86efac;border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.08)}.sw-status.warn{color:#fbbf24;border-color:rgba(245,158,11,.25);background:rgba(245,158,11,.08)}.sw-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sw-kpis article{border:1px solid rgba(57,211,255,.12);border-radius:16px;background:rgba(16,29,49,.9);padding:14px}.sw-kpis span{display:block;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.sw-kpis strong{display:block;margin-top:7px;font-size:22px;color:var(--text)}.sw-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.sw-tree{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(16,29,49,.92);padding:12px;position:sticky;top:96px;max-height:calc(100vh - 124px);overflow:auto}.sw-tree section{padding:8px 0;border-bottom:1px solid rgba(57,211,255,.10)}.sw-tree section:last-child{border-bottom:0}.sw-tree h3{margin:0 0 7px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.sw-tree button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:3px 0;padding:9px 10px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--soft);cursor:pointer;text-align:left;font-weight:850}.sw-tree button:hover{background:rgba(57,211,255,.08);color:var(--text)}.sw-tree button.active{background:linear-gradient(90deg,rgba(34,197,94,.16),rgba(57,211,255,.07));border-color:rgba(34,197,94,.22);color:#bbf7d0}.sw-tree button strong{min-width:24px;height:22px;display:grid;place-items:center;border-radius:999px;background:#0b182a;color:var(--text);font-size:12px}.sw-main{min-width:0;display:flex;flex-direction:column;gap:14px}.sw-toolbar{display:flex;justify-content:space-between;gap:16px;border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(16,29,49,.92);padding:18px}.sw-toolbar h2{margin:0;font-size:22px}.sw-toolbar p{margin:5px 0 6px;color:var(--muted)}.sw-toolbar strong{display:block;color:#86efac;font-size:12px}.sw-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center;min-width:min(640px,100%)}.sw-toolbar input,.sw-toolbar select{border:1px solid var(--line);border-radius:13px;background:#081425;color:var(--text);padding:10px 12px;font:inherit}.sw-toolbar input{min-width:260px;flex:1}.sw-card{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(16,29,49,.92);overflow:hidden}.sw-table-wrap{overflow:auto}.sw-table{width:100%;border-collapse:collapse;font-size:13px}.sw-table th,.sw-table td{border-bottom:1px solid rgba(57,211,255,.10);padding:12px;text-align:left;vertical-align:top}.sw-table th{background:rgba(8,20,37,.86);color:#b6c8df;text-transform:uppercase;letter-spacing:.06em;font-size:11px;white-space:nowrap}.sw-table tr:hover td{background:rgba(57,211,255,.035)}.sw-table small{color:var(--muted)}.sw-empty{text-align:center!important;color:var(--muted);padding:24px!important}.sw-actions-cell{min-width:260px}.sw-mini{border:0;border-radius:9px;padding:7px 9px;margin:2px;font-size:11px;font-weight:950;cursor:pointer}.sw-mini.green{background:#16a34a;color:#ecfdf5}.sw-mini.blue{background:#1d4ed8;color:#dbeafe}.sw-mini.black{background:#111827;color:#e5e7eb;border:1px solid rgba(255,255,255,.12)}.sw-mini.red{background:#dc2626;color:#fee2e2}.sw-pill{display:inline-flex;border-radius:999px;border:1px solid var(--line);padding:5px 8px;font-size:11px;font-weight:950}.sw-pill.muted{color:var(--muted);background:rgba(8,20,37,.7)}.sw-pill.blue{color:#bfdbfe;background:rgba(37,99,235,.14);border-color:rgba(37,99,235,.28)}.sw-pill.green{color:#bbf7d0;background:rgba(22,163,74,.14);border-color:rgba(22,163,74,.28)}.sw-note{border:1px solid rgba(57,211,255,.12);border-radius:15px;background:rgba(13,26,45,.72);padding:13px 15px;color:var(--soft);line-height:1.55}.sw-note strong{color:var(--text)}.sw-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}.sw-modal{width:min(880px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgba(57,211,255,.16);border-radius:22px;background:#0b1626;color:var(--text);box-shadow:0 26px 90px rgba(0,0,0,.55)}.sw-modal header{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:#0f1d31}.sw-modal h2{margin:0;font-size:22px}.sw-modal header p{margin:5px 0 0;color:var(--muted)}.sw-modal-x{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:#142943;color:var(--text);font-size:22px;cursor:pointer}.sw-modal-body{padding:20px}.sw-modal footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:#0f1d31}.sw-modal-text{color:var(--soft);line-height:1.6}.sw-audit-modal p{margin:0 0 14px;color:var(--soft);line-height:1.6}.sw-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.sw-audit-grid div{border:1px solid rgba(57,211,255,.12);border-radius:14px;background:#081425;padding:12px}.sw-audit-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:950;margin-bottom:6px}.sw-audit-grid strong{display:block;color:var(--text);font-size:13px;line-height:1.45;overflow-wrap:anywhere}.theme-light .sw-hero,.theme-light .sw-kpis article,.theme-light .sw-tree,.theme-light .sw-toolbar,.theme-light .sw-card,.theme-light .sw-note,.theme-light .sw-status{background:rgba(255,255,255,.9)}.theme-light .sw-toolbar input,.theme-light .sw-toolbar select,.theme-light .sw-tree button strong,.theme-light .sw-audit-grid div{background:#f8fafc}.theme-light .sw-table th{background:#eef6ff}.theme-light .sw-modal{background:#ffffff}.theme-light .sw-modal header,.theme-light .sw-modal footer{background:#f8fafc}.theme-light .sw-modal-x{background:#eef6ff}@media(max-width:1180px){.sw-layout{grid-template-columns:1fr}.sw-tree{position:relative;top:auto;max-height:none}.sw-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sw-tree section{border-bottom:0;border:1px solid rgba(57,211,255,.10);border-radius:14px;padding:10px}.sw-toolbar{display:block}.sw-toolbar-actions{justify-content:flex-start;margin-top:12px;min-width:0}.sw-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sw-page{padding:18px}.sw-hero{display:block}.sw-hero-actions{justify-content:flex-start;margin-top:14px}.sw-kpis,.sw-tree,.sw-audit-grid{grid-template-columns:1fr}.sw-toolbar input{min-width:100%}.sw-actions-cell{min-width:220px}}

/* V2R.0X CLEAN — Tools Calendar V1 Runtime Rebuild */
.tc-page{padding:28px;display:flex;flex-direction:column;gap:16px}.tc-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border:1px solid rgba(57,211,255,.14);border-radius:var(--radius);background:linear-gradient(135deg,rgba(16,29,49,.96),rgba(10,22,38,.96));box-shadow:var(--shadow);padding:24px}.tc-hero h1{margin:0;font-size:34px;letter-spacing:-.02em}.tc-hero p{margin:8px 0 0;color:var(--muted);max-width:860px;line-height:1.55}.tc-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.tc-btn{border:1px solid rgba(57,211,255,.18);border-radius:13px;padding:10px 14px;font-weight:950;cursor:pointer;color:var(--text);background:#132944}.tc-btn.primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#03111f;border-color:transparent}.tc-btn.secondary{background:#132944;color:var(--soft)}.tc-btn.secondary.active{background:rgba(57,211,255,.18);color:var(--text);border-color:rgba(57,211,255,.35)}.tc-btn.danger{background:#dc2626;color:#fee2e2;border-color:#dc2626}.tc-btn:hover,.tc-mini:hover{filter:brightness(1.08)}.tc-status{border:1px solid rgba(57,211,255,.14);border-radius:14px;padding:12px 14px;background:rgba(13,26,45,.72);color:var(--muted);font-weight:800}.tc-status.warn{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.28);color:#fbbf24}.tc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tc-kpis article{border:1px solid rgba(57,211,255,.12);border-radius:16px;background:rgba(16,29,49,.9);padding:14px}.tc-kpis strong{display:block;font-size:24px;color:var(--text);letter-spacing:-.03em}.tc-kpis span{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.tc-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}.tc-sidebar{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(16,29,49,.92);padding:12px;position:sticky;top:96px;max-height:calc(100vh - 124px);overflow:auto}.tc-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;color:var(--text);font-weight:950}.tc-section-title.teams{margin-top:18px;padding-top:12px;border-top:1px solid rgba(57,211,255,.1)}.tc-mini{border:1px solid rgba(148,163,184,.3);border-radius:9px;min-width:30px;height:30px;padding:0 9px;background:rgba(148,163,184,.12);color:var(--text);font-weight:950;cursor:pointer}.tc-mini.green{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.32);color:#bbf7d0}.tc-mini.blue{background:#1d4ed8;border-color:#1d4ed8;color:#dbeafe}.tc-mini.red{background:#dc2626;border-color:#dc2626;color:#fee2e2}.tc-side-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(57,211,255,.08)}.tc-side-row:last-child{border-bottom:0}.tc-side-main{display:flex;align-items:center;gap:10px;min-width:0;color:var(--soft);font-weight:850}.tc-side-main input{accent-color:var(--blue)}.tc-color{width:12px;height:12px;border-radius:50%;flex:0 0 12px}.tc-side-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-side-title em{display:block;margin-top:3px;color:var(--muted);font-style:normal;font-size:11px}.tc-side-actions{display:flex;gap:6px}.tc-feed{grid-column:1/-1;margin-left:40px;color:#7dd3fc;font-size:11px}.tc-card{min-width:0;border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(16,29,49,.92);overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.16)}.tc-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid rgba(57,211,255,.10)}.tc-card-head h2{margin:0;font-size:22px}.tc-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tc-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:rgba(8,20,37,.84);border-bottom:1px solid rgba(57,211,255,.1)}.tc-weekdays div{text-align:center;color:var(--soft);font-weight:950;padding:11px 8px;font-size:12px}.tc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(118px,1fr);min-height:690px}.tc-day{position:relative;border:0;border-right:1px solid rgba(57,211,255,.08);border-bottom:1px solid rgba(57,211,255,.08);background:rgba(8,20,37,.46);color:var(--text);padding:10px;text-align:left;cursor:pointer;overflow:hidden}.tc-day:hover{background:rgba(57,211,255,.07)}.tc-day.muted{opacity:.55;background:rgba(8,20,37,.28)}.tc-day.today{outline:2px solid rgba(57,211,255,.75);outline-offset:-2px}.tc-day-num{position:absolute;right:10px;top:8px;color:var(--soft);font-weight:950;font-size:13px}.tc-day-events{display:flex;flex-direction:column;gap:5px;margin-top:28px}.tc-pill{display:block;max-width:100%;border-radius:8px;padding:4px 7px;color:#fff;font-size:11px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 10px 22px rgba(0,0,0,.16)}.tc-more{color:var(--muted);font-size:11px;font-weight:900}.tc-week-view{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:690px}.tc-week-day{border-right:1px solid rgba(57,211,255,.08);min-width:0}.tc-week-day header{padding:12px;border-bottom:1px solid rgba(57,211,255,.08);background:rgba(8,20,37,.55)}.tc-week-day header strong,.tc-week-day header span{display:block}.tc-week-day header span{color:var(--muted);font-size:12px;margin-top:3px}.tc-day-view{min-height:690px;padding:18px}.tc-day-panel{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(8,20,37,.38);overflow:hidden}.tc-day-panel header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(57,211,255,.1)}.tc-day-panel h3{margin:0}.tc-event-row{display:grid;grid-template-columns:12px 88px minmax(0,1fr);gap:10px;align-items:center;width:calc(100% - 16px);margin:8px;padding:10px;border:1px solid rgba(57,211,255,.12);border-radius:12px;background:rgba(13,26,45,.8);color:var(--text);text-align:left;cursor:pointer}.tc-event-row:hover{border-color:rgba(57,211,255,.34);background:rgba(57,211,255,.08)}.tc-event-row small{grid-column:3;color:var(--muted);font-size:11px}.tc-event-color{width:10px;height:10px;border-radius:999px}.tc-empty-day,.tc-empty-note{display:block;width:calc(100% - 16px);margin:8px;padding:12px;border:1px dashed rgba(57,211,255,.18);border-radius:12px;background:transparent;color:var(--muted);text-align:center}.tc-empty-day{cursor:pointer}.tc-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}.tc-modal{width:min(780px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgba(57,211,255,.16);border-radius:22px;background:#0b1626;color:var(--text);box-shadow:0 26px 90px rgba(0,0,0,.55)}.tc-modal.wide{width:min(1030px,calc(100vw - 36px))}.tc-modal header{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:#0f1d31}.tc-modal h2{margin:0;font-size:22px}.tc-x{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:#142943;color:var(--text);font-size:22px;cursor:pointer}.tc-modal-body{padding:20px}.tc-modal footer{display:flex;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:#0f1d31}.tc-foot-actions{display:flex;gap:10px;justify-content:flex-end}.tc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tc-form label{display:grid;gap:7px;color:var(--soft);font-size:13px;font-weight:850}.tc-form label.wide{grid-column:1/-1}.tc-form input,.tc-form select,.tc-form textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#081425;color:var(--text);padding:11px 12px;min-height:42px;outline:none;font:inherit}.tc-form input:focus,.tc-form select:focus,.tc-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,211,255,.11)}.tc-form textarea{min-height:86px;resize:vertical}.tc-form small{color:var(--muted);line-height:1.35}.tc-date-row{display:grid;grid-template-columns:1fr 110px auto 1fr 110px;gap:8px;align-items:center}.tc-date-row span{text-align:center;color:var(--muted);font-weight:950}.tc-customer-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;z-index:20}.tc-customer-wrap input[type=hidden]{display:none}.tc-customer-input{padding-right:40px!important}.tc-customer-icon{position:absolute;right:88px;top:11px;color:var(--muted);pointer-events:none;font-size:18px}.tc-clear-customer{white-space:nowrap}.tc-customer-results{display:none;position:absolute;left:0;right:0;top:46px;z-index:9999;background:#fff;border:1px solid #5b9dff;border-radius:0 0 12px 12px;box-shadow:0 14px 28px rgba(15,23,42,.25);max-height:300px;overflow:auto;padding:6px}.tc-customer-results.open{display:block}.tc-customer-result{display:block;width:100%;text-align:left;border:0;background:#fff;padding:9px 10px;cursor:pointer;color:#111827;border-radius:7px}.tc-customer-result:hover,.tc-customer-result:focus{background:#2563eb;color:#fff;outline:none}.tc-customer-result span{display:block;font-size:14px;font-weight:850}.tc-customer-result small{display:block;margin-top:3px;font-size:11px;opacity:.84;line-height:1.3}.tc-customer-message{padding:10px;color:#475569;font-size:13px}.tc-table-wrap{overflow:auto}.tc-table{width:100%;border-collapse:collapse}.tc-table th,.tc-table td{border-bottom:1px solid rgba(57,211,255,.10);padding:10px;text-align:left;white-space:nowrap}.tc-table th{background:rgba(8,20,37,.84);color:var(--soft);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.tc-table .empty{text-align:center;color:var(--muted);padding:20px}html[data-theme="light"] .tc-hero,html[data-theme="light"] .tc-kpis article,html[data-theme="light"] .tc-sidebar,html[data-theme="light"] .tc-card,html[data-theme="light"] .tc-day-panel,html[data-theme="light"] .tc-status{background:rgba(255,255,255,.9)!important;color:var(--text)!important;border-color:rgba(8,119,216,.18)!important;box-shadow:var(--shadow)!important}html[data-theme="light"] .tc-weekdays,html[data-theme="light"] .tc-week-day header,html[data-theme="light"] .tc-table th{background:#eef6ff!important}html[data-theme="light"] .tc-day{background:#fff!important;color:var(--text)!important;border-color:#dbe4ef!important}html[data-theme="light"] .tc-day.muted{background:#f8fafc!important}html[data-theme="light"] .tc-btn.secondary,html[data-theme="light"] .tc-mini,html[data-theme="light"] .tc-event-row,html[data-theme="light"] .tc-form input,html[data-theme="light"] .tc-form select,html[data-theme="light"] .tc-form textarea{background:#f8fafc!important;color:var(--text)!important;border-color:#cbd5e1!important}html[data-theme="light"] .tc-modal{background:#fff!important;color:var(--text)!important}html[data-theme="light"] .tc-modal header,html[data-theme="light"] .tc-modal footer{background:#f8fafc!important}html[data-theme="dark"] .tc-customer-results{background:#0f172a;border-color:#334155}html[data-theme="dark"] .tc-customer-result{background:#0f172a;color:#f8fafc;border:1px solid rgba(148,163,184,.16)}html[data-theme="dark"] .tc-customer-result:hover{background:#2563eb;color:#fff}html[data-theme="dark"] .tc-customer-message{color:#cbd5e1}@media(max-width:1180px){.tc-layout{grid-template-columns:1fr}.tc-sidebar{position:relative;top:auto;max-height:none}.tc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-week-view{grid-template-columns:1fr}.tc-week-day{border-right:0;border-bottom:1px solid rgba(57,211,255,.08)}}@media(max-width:780px){.tc-page{padding:18px}.tc-hero{display:block}.tc-actions{justify-content:flex-start;margin-top:14px}.tc-kpis{grid-template-columns:1fr}.tc-card-head{display:block}.tc-nav{margin-top:12px}.tc-grid{grid-template-columns:1fr;grid-auto-rows:minmax(120px,auto)}.tc-weekdays{display:none}.tc-form{grid-template-columns:1fr}.tc-date-row{grid-template-columns:1fr}.tc-modal footer{flex-direction:column;align-items:stretch}.tc-foot-actions{justify-content:flex-end}.tc-customer-wrap{grid-template-columns:1fr}.tc-customer-icon{right:12px}.tc-customer-results{top:46px}.tc-event-row{grid-template-columns:12px 80px minmax(0,1fr)}}

/* V2R.0Y CLEAN — Setup Billing Setup V1 runtime rebuild */
.billing-setup-page{display:flex;flex-direction:column;gap:18px}.billing-hero{margin-bottom:0}.billing-status{border:1px solid rgba(57,211,255,.14);background:rgba(13,26,45,.78);color:var(--soft);border-radius:16px;padding:12px 14px;font-size:13px;font-weight:800}.billing-status.ok{color:#86efac;border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.08)}.billing-status.bad{color:#fecaca;border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.1)}.billing-setup-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.billing-setup-kpis article{border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(16,29,49,.92);box-shadow:0 12px 30px rgba(0,0,0,.16);padding:16px;min-width:0}.billing-setup-kpis span{display:block;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.billing-setup-kpis strong{display:block;margin-top:7px;color:var(--text);font-size:18px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-setup-kpis small{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.3}.billing-setup-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid rgba(57,211,255,.12);border-radius:18px;background:rgba(16,29,49,.88);padding:14px}.billing-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.billing-setup-card{border:1px solid rgba(57,211,255,.12);border-radius:20px;background:rgba(16,29,49,.92);box-shadow:0 12px 30px rgba(0,0,0,.16);overflow:hidden}.billing-setup-card.wide{grid-column:1/-1}.billing-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid rgba(57,211,255,.1);background:rgba(8,20,37,.52)}.billing-card-head h2{margin:0;color:var(--text);font-size:19px}.billing-card-head p{margin:5px 0 0;color:var(--muted);line-height:1.4;font-size:13px}.billing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.billing-field{display:flex;flex-direction:column;gap:7px;min-width:0}.billing-field.wide,.billing-admin-picker{grid-column:1/-1}.billing-field-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--soft);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.billing-audit-btn{width:30px;height:28px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(57,211,255,.16);border-radius:9px;background:#132944;color:var(--soft);cursor:pointer;font-weight:950}.billing-audit-btn:hover{border-color:rgba(57,211,255,.44);color:var(--text);background:#173b63}.billing-field input,.billing-field select,.billing-field textarea,.billing-admin-manual{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:13px;background:#081425;color:var(--text);padding:11px 12px;outline:none;font:inherit}.billing-field input:focus,.billing-field select:focus,.billing-field textarea:focus,.billing-admin-manual:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,211,255,.11)}.billing-field input[readonly]{opacity:.82}.billing-field textarea{min-height:92px;resize:vertical}.billing-field small{color:var(--muted);line-height:1.4;font-size:12px}.billing-admin-picker{border:1px solid rgba(57,211,255,.12);border-radius:16px;background:rgba(8,20,37,.38);padding:13px}.billing-chipbox{display:flex;flex-wrap:wrap;gap:8px;min-height:34px}.billing-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(57,211,255,.2);background:rgba(41,168,255,.12);color:#c8f3ff;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}.billing-chip button{border:0;background:transparent;color:inherit;font-weight:950;cursor:pointer}.billing-empty-chip{border:1px dashed rgba(57,211,255,.18);border-radius:12px;color:var(--muted);padding:8px 10px;font-size:12px}.billing-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.billing-admin-row select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:13px;background:#081425;color:var(--text);padding:11px 12px;outline:none;font:inherit}.billing-admin-manual{min-height:58px}.billing-audit-backdrop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.68);padding:20px}.billing-audit-modal{width:min(920px,calc(100vw - 36px));max-height:calc(100vh - 36px);display:flex;flex-direction:column;border:1px solid rgba(57,211,255,.16);border-radius:22px;background:#0b1626;color:var(--text);box-shadow:0 26px 90px rgba(0,0,0,.55);overflow:hidden}.billing-audit-modal header,.billing-audit-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#0f1d31;border-bottom:1px solid var(--line)}.billing-audit-modal footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.billing-audit-modal h2{margin:0;font-size:20px}.billing-audit-modal header button{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#142943;color:var(--text);font-size:22px;cursor:pointer}.billing-audit-body{padding:18px;overflow:auto}.billing-audit-body table{width:100%;border-collapse:collapse}.billing-audit-body th,.billing-audit-body td{padding:10px;border-bottom:1px solid rgba(57,211,255,.1);text-align:left;vertical-align:top}.billing-audit-body th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);background:rgba(8,20,37,.62)}.billing-audit-body .empty{text-align:center;color:var(--muted);padding:18px}@media(max-width:1180px){.billing-setup-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-card-grid{grid-template-columns:1fr}}@media(max-width:760px){.billing-setup-kpis,.billing-form-grid{grid-template-columns:1fr}.billing-admin-row{grid-template-columns:1fr}.billing-setup-actions{flex-direction:column}.billing-setup-actions .btn,.billing-hero .btn{width:100%}}
html[data-theme="light"] .billing-status,html[data-theme="light"] .billing-setup-kpis article,html[data-theme="light"] .billing-setup-actions,html[data-theme="light"] .billing-setup-card,html[data-theme="light"] .billing-admin-picker{background:rgba(255,255,255,.92)!important;color:var(--text)!important;border-color:rgba(8,119,216,.18)!important;box-shadow:var(--shadow)!important}html[data-theme="light"] .billing-card-head,html[data-theme="light"] .billing-audit-modal header,html[data-theme="light"] .billing-audit-modal footer,html[data-theme="light"] .billing-audit-body th{background:#eef6ff!important}html[data-theme="light"] .billing-field input,html[data-theme="light"] .billing-field select,html[data-theme="light"] .billing-field textarea,html[data-theme="light"] .billing-admin-row select,html[data-theme="light"] .billing-admin-manual,html[data-theme="light"] .billing-audit-btn{background:#fff!important;color:var(--text)!important;border-color:#cbd5e1!important}html[data-theme="light"] .billing-audit-modal{background:#fff!important;color:var(--text)!important}html[data-theme="light"] .billing-chip{background:#e0f2fe!important;color:#075985!important;border-color:#bae6fd!important}


/* V2R.0Z CLEAN — Invoice & Credit Note Setup V1 Runtime Rebuild */
.invcn-page{ padding-bottom:72px; }
.invcn-hero{ align-items:flex-start; }
.invcn-status{ margin:14px 0 16px; padding:14px 16px; border:1px solid var(--line); border-radius:16px; background:var(--card); color:var(--muted); box-shadow:var(--shadow-soft); }
.invcn-status.bad{ border-color:rgba(239,68,68,.45); color:#fecaca; background:rgba(127,29,29,.16); }
:root[data-theme="light"] .invcn-status.bad{ color:#991b1b; background:#fff1f2; }
.invcn-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
.invcn-kpis>div{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:14px 16px; box-shadow:var(--shadow-soft); }
.invcn-kpis strong{ display:block; color:var(--text); font-size:16px; margin-bottom:4px; }
.invcn-kpis span{ color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.invcn-layout{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.invcn-card{ background:var(--card); border:1px solid var(--line); border-radius:18px; padding:18px; box-shadow:var(--shadow-soft); }
.invcn-card.wide{ grid-column:1/-1; }
.invcn-card-head h2{ margin:0; font-size:18px; color:var(--text); }
.invcn-card-head p{ margin:6px 0 0; color:var(--muted); font-size:13px; line-height:1.4; }
.invcn-grid{ margin-top:16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.invcn-field.wide{ grid-column:1/-1; }
.invcn-label-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 7px; }
.invcn-label-row label{ font-size:12px; text-transform:none; letter-spacing:.02em; color:var(--text); font-weight:850; }
.invcn-audit-btn{ width:26px; height:24px; border-radius:9px; border:1px solid var(--line); background:var(--input); color:var(--muted); cursor:pointer; font-weight:900; }
.invcn-audit-btn:hover{ border-color:var(--accent); color:var(--accent); }
.invcn-page .form-control{ width:100%; border:1px solid var(--line); background:var(--input); color:var(--text); border-radius:13px; padding:12px 14px; font-size:14px; outline:none; box-sizing:border-box; }
.invcn-page textarea.form-control{ min-height:98px; resize:vertical; line-height:1.45; }
.invcn-page .form-control:focus{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(34,211,238,.12); }
.invcn-page .field-help{ color:var(--muted); font-size:12px; line-height:1.35; margin-top:7px; }
.invcn-logo-widget{ display:grid; gap:12px; }
.invcn-logo-drop{ min-height:156px; border:1px dashed var(--line-strong); border-radius:16px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; background:var(--input); text-align:center; color:var(--muted); transition:border-color .15s, background .15s; }
.invcn-logo-drop.dragover{ border-color:var(--accent); background:rgba(34,211,238,.10); }
.invcn-logo-drop strong{ color:var(--text); }
.invcn-logo-placeholder{ width:138px; height:54px; border-radius:12px; align-items:center; justify-content:center; display:flex; background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#00111a; font-weight:900; font-size:13px; letter-spacing:.04em; }
.invcn-logo-preview{ max-width:400px; max-height:100px; object-fit:contain; border-radius:10px; background:#fff; padding:8px; box-shadow:0 10px 22px rgba(0,0,0,.18); }
.invcn-logo-row{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.invcn-logo-row input[type="file"]{ max-width:280px; color:var(--muted); }
.invcn-logo-status{ padding:9px 11px; border-radius:12px; font-size:12px; border:1px solid var(--line); }
.invcn-logo-status.ok{ color:#86efac; background:rgba(22,163,74,.10); border-color:rgba(34,197,94,.25); }
.invcn-logo-status.bad{ color:#fecaca; background:rgba(239,68,68,.09); border-color:rgba(239,68,68,.24); }
:root[data-theme="light"] .invcn-logo-status.ok{ color:#166534; background:#ecfdf5; }
:root[data-theme="light"] .invcn-logo-status.bad{ color:#991b1b; background:#fff1f2; }
.invcn-modal-backdrop{ position:fixed; inset:0; background:rgba(2,6,23,.68); z-index:10000; display:flex; align-items:center; justify-content:center; padding:24px; }
.invcn-modal{ width:min(920px,96vw); max-height:88vh; overflow:hidden; display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:20px; box-shadow:0 24px 70px rgba(0,0,0,.35); color:var(--text); }
.invcn-modal-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 20px; border-bottom:1px solid var(--line); }
.invcn-modal-head h2{ margin:0; font-size:19px; }
.invcn-modal-head button{ width:36px; height:36px; border-radius:12px; border:1px solid var(--line); background:var(--input); color:var(--text); cursor:pointer; font-size:20px; }
.invcn-modal-sub{ padding:12px 20px; color:var(--muted); border-bottom:1px solid var(--line); }
.invcn-modal-body{ overflow:auto; padding:0; }
.invcn-modal table{ width:100%; border-collapse:collapse; }
.invcn-modal th,.invcn-modal td{ padding:11px 14px; border-bottom:1px solid var(--line); text-align:left; font-size:13px; vertical-align:top; }
.invcn-modal th{ color:var(--muted); text-transform:uppercase; letter-spacing:.06em; font-size:11px; }
.invcn-empty{ text-align:center!important; color:var(--muted); padding:26px!important; }
.invcn-modal-foot{ padding:14px 20px; display:flex; justify-content:flex-end; border-top:1px solid var(--line); }
@media (max-width: 1100px){ .invcn-layout,.invcn-kpis{ grid-template-columns:1fr; } .invcn-grid{ grid-template-columns:1fr; } }

/* V2R.1F CLEAN v2 — Workflow V1-style swing-out menu recovery.
   Menu shell only: no routes, pages, backend or Asset Register behaviour changed. */
.v2-menu-flyout{
  position:fixed;
  z-index:90000;
  display:flex;
  align-items:flex-start;
  gap:10px;
  pointer-events:auto;
}
.v2-menu-flyout[hidden]{display:none!important}
.nav-group-flyout .nav-chevron{transform:none!important;transition:transform .16s ease}
.nav-group-flyout.active>.nav-top .nav-chevron,
.nav-group-flyout .nav-top[aria-expanded="true"] .nav-chevron{transform:translateX(2px)!important}
.v2-menu-flyout-panel,
.v2-menu-flyout-child{
  width:318px;
  max-height:calc(100vh - 32px);
  overflow:auto;
  padding:14px;
  border:1px solid rgba(57,211,255,.18);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(14,28,47,.98),rgba(8,17,31,.98));
  color:var(--text);
  box-shadow:0 24px 72px rgba(0,0,0,.42);
  backdrop-filter:blur(16px);
}
.v2-menu-flyout-child{display:none;width:274px;min-height:120px}
.v2-menu-flyout-child.active{display:block}
.v2-flyout-kicker{
  margin:0 0 10px;
  color:var(--muted);
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.v2-flyout-block{padding:4px 0 12px;margin-bottom:8px;border-bottom:1px solid rgba(57,211,255,.12)}
.v2-flyout-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.v2-flyout-block h3,
.v2-menu-flyout-child h3{
  margin:0 0 8px;
  color:var(--text);
  font-size:14px;
  font-weight:950;
  letter-spacing:.02em;
}
.v2-flyout-link,
.v2-flyout-parent{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:3px 0;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:13px;
  background:transparent;
  color:var(--soft);
  font:inherit;
  font-size:13px;
  font-weight:850;
  text-align:left;
  cursor:pointer;
}
.v2-flyout-link:hover,
.v2-flyout-link:focus,
.v2-flyout-parent:hover,
.v2-flyout-parent:focus,
.v2-flyout-parent.active{
  color:#dff7ff;
  background:rgba(57,211,255,.10);
  border-color:rgba(57,211,255,.18);
  outline:none;
}
.v2-flyout-link.active{
  color:#dff7ff;
  background:linear-gradient(90deg,rgba(41,168,255,.26),rgba(57,211,255,.08));
  border-color:rgba(57,211,255,.24);
  box-shadow:inset 3px 0 0 var(--cyan);
}
.v2-flyout-parent span{color:var(--cyan);font-weight:950}
.v2-flyout-empty{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
html[data-theme="light"] .v2-menu-flyout-panel,
html[data-theme="light"] .v2-menu-flyout-child{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,255,.98))!important;
  border-color:rgba(8,119,216,.18)!important;
  color:var(--text)!important;
  box-shadow:0 24px 58px rgba(15,23,42,.14)!important;
}
html[data-theme="light"] .v2-flyout-block{border-bottom-color:rgba(8,119,216,.12)!important}
html[data-theme="light"] .v2-flyout-link,
html[data-theme="light"] .v2-flyout-parent{color:#334155!important}
html[data-theme="light"] .v2-flyout-link:hover,
html[data-theme="light"] .v2-flyout-link:focus,
html[data-theme="light"] .v2-flyout-parent:hover,
html[data-theme="light"] .v2-flyout-parent:focus,
html[data-theme="light"] .v2-flyout-parent.active{
  background:#e4f2ff!important;
  color:#0f172a!important;
  border-color:rgba(8,119,216,.18)!important;
}
html[data-theme="light"] .v2-flyout-link.active{
  color:#063f71!important;
  background:linear-gradient(90deg,rgba(8,119,216,.18),rgba(7,152,215,.08))!important;
  border-color:rgba(8,119,216,.20)!important;
  box-shadow:inset 3px 0 0 var(--cyan)!important;
}
@media(max-width:760px){
  .v2-menu-flyout{left:12px!important;right:12px!important;top:120px!important;display:block}
  .v2-menu-flyout-panel,.v2-menu-flyout-child{width:100%;max-height:45vh;margin-bottom:10px}
  .v2-menu-flyout-child.active{display:block}
}

/* V2R.1F CLEAN v3 — Workflow inline menu with Asset Register child flyouts only.
   The first Workflow menu stays inside the sidebar; only Asset Register groups swing out. */
.workflow-inline-menu{padding-top:2px}
.nav-submenu-heading{
  margin:12px 8px 6px;
  color:var(--muted);
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.92;
}
.nav-flyout-parent.nav-link{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:0;
  cursor:pointer;
  text-align:left;
  font:inherit;
  font-size:13px;
  line-height:1.25;
  background:transparent;
}
.nav-flyout-parent.nav-link.active,
.nav-flyout-parent.nav-link:hover,
.nav-flyout-parent.nav-link:focus{
  color:#dff7ff;
  background:rgba(57,211,255,.10);
  outline:none;
}
.nav-inline-chevron{
  color:var(--cyan);
  font-weight:950;
  opacity:.9;
}
.v2-workflow-child-flyout{
  align-items:flex-start;
  gap:0;
}
.v2-workflow-child-flyout .v2-menu-flyout-child{
  width:286px;
  max-height:min(420px, calc(100vh - 32px));
}
html[data-theme="light"] .nav-flyout-parent.nav-link.active,
html[data-theme="light"] .nav-flyout-parent.nav-link:hover,
html[data-theme="light"] .nav-flyout-parent.nav-link:focus{
  background:#e4f2ff!important;
  color:#0f172a!important;
}
html[data-theme="light"] .nav-inline-chevron{color:#0877d8!important}
@media(max-width:760px){
  .v2-workflow-child-flyout{left:12px!important;right:12px!important;top:120px!important;display:block}
  .v2-workflow-child-flyout .v2-menu-flyout-child{width:100%;max-height:45vh;margin-bottom:10px}
}

/* V2R.1G CLEAN — V1 menu structure flyout alignment.
   Generalises the accepted V2R.1F v3 Asset Register flyout pattern for long V1 menu groups.
   Menu shell only: no routes, pages, backend or business logic changed. */
.nav-grouped-menu{padding-top:2px}
.v2-child-flyout{align-items:flex-start;gap:0}
.v2-child-flyout .v2-menu-flyout-child{
  width:300px;
  max-height:min(520px, calc(100vh - 32px));
}
.v2-child-flyout .v2-menu-flyout-child h3{
  margin-bottom:10px;
}
.nav-flyout-parent.nav-link span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
}
.nav-flyout-parent.nav-link .nav-inline-chevron{
  flex:0 0 auto;
}
@media(max-width:760px){
  .v2-child-flyout{left:12px!important;right:12px!important;top:120px!important;display:block}
  .v2-child-flyout .v2-menu-flyout-child{width:100%;max-height:45vh;margin-bottom:10px}
}


/* V2R.1H CLEAN — Home/default page footer and scroll cleanup
   The global app shell owns the Powered by ISP Forge footer.
   The default landing page only shows the installed ISP branding. */
.default-powered-by{display:none!important}
.default-home-page{
  min-height:calc(100vh - 78px)!important;
  height:calc(100vh - 78px)!important;
  overflow:hidden!important;
  padding:24px 32px 56px!important;
  background:radial-gradient(circle at top left,#13294b 0,#07111f 34%,#050b14 100%)!important;
  color:var(--text)!important;
}
.default-home-card{
  min-height:0!important;
  height:100%!important;
  width:100%!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(57,211,255,.12)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,rgba(16,29,49,.94),rgba(8,20,37,.92))!important;
  box-shadow:var(--shadow)!important;
}
.default-home-copy h1{color:var(--text)!important}
.default-home-copy p{color:var(--muted)!important}
.default-home-logo img{max-width:min(360px,38vw)!important;max-height:130px!important}
html[data-theme="light"] .default-home-page{
  background:radial-gradient(circle at top left,#d8ecff 0,#f5f8fc 36%,#eef4fb 100%)!important;
  color:var(--text)!important;
}
html[data-theme="light"] .default-home-card{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,255,.96))!important;
  border-color:rgba(8,119,216,.18)!important;
  box-shadow:var(--shadow)!important;
}
html[data-theme="light"] .default-home-copy h1{color:#111827!important}
html[data-theme="light"] .default-home-copy p{color:#4b5563!important}
@media(max-width:900px){
  .default-home-page{height:auto!important;min-height:calc(100vh - 78px)!important;overflow:auto!important;padding:20px 20px 72px!important}
  .default-home-card{min-height:calc(100vh - 170px)!important;height:auto!important}
}


/* V2R.1I CLEAN — Asset Register V1 Runtime Rebuild */
.asset-page-wrap .asset-hero .hero-sub{max-width:760px}.asset-nav-card{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:10px;border:1px solid var(--border);background:var(--card);border-radius:18px;box-shadow:var(--shadow)}.asset-nav-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}.asset-nav-btn.active,.asset-nav-btn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.asset-panel{border:1px solid var(--border);background:var(--card);border-radius:22px;box-shadow:var(--shadow);padding:18px}.asset-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.asset-panel-head h2{margin:0;font-size:22px}.asset-panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.asset-actions,.asset-row-actions,.asset-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.asset-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.asset-search{min-width:260px;flex:1}.asset-limit{width:auto;min-width:120px}.asset-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0}.asset-kpi{padding:12px;border:1px solid var(--border);background:var(--panel);border-radius:16px}.asset-kpi span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.asset-kpi strong{display:block;font-size:22px;margin-top:3px}.asset-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.asset-table{width:100%;border-collapse:collapse;font-size:13px}.asset-table th{position:sticky;top:0;background:var(--card);color:var(--muted);text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:10px;border-bottom:1px solid var(--border);white-space:nowrap}.asset-table td{padding:10px;border-bottom:1px solid var(--border);vertical-align:top}.asset-table tr:last-child td{border-bottom:0}.asset-table tr.selected td{background:var(--accent-soft)}.asset-table.compact td,.asset-table.compact th{padding:8px}.asset-muted{color:var(--muted);font-size:12px}.asset-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:var(--danger);border-radius:14px;padding:10px;margin:10px 0}.asset-loading,.asset-empty-state{padding:26px;border:1px dashed var(--border);border-radius:18px;color:var(--muted);background:var(--panel)}.asset-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;border:1px solid var(--border);background:var(--panel);white-space:nowrap}.asset-badge.ok{color:#22c55e;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.1)}.asset-badge.warn{color:#f59e0b;border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.1)}.asset-badge.danger{color:#ef4444;border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.1)}.asset-badge.neutral{color:var(--muted)}.asset-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(2,6,23,.78);display:flex;align-items:center;justify-content:center;padding:24px}.asset-modal{width:min(1180px,96vw);max-height:92vh;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:0 24px 80px rgba(0,0,0,.45);overflow:hidden}.asset-modal-head,.asset-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--panel)}.asset-modal-foot{border-top:1px solid var(--border);border-bottom:0;justify-content:flex-end}.asset-modal-head h2{margin:0;font-size:20px}.asset-modal-body{padding:18px;overflow:auto;background:var(--card)}.asset-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.asset-form.asset-form-wide{grid-template-columns:repeat(3,minmax(190px,1fr))}.asset-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.asset-form label.wide,.asset-form .wide{grid-column:1/-1}.asset-form input,.asset-form select,.asset-form textarea,.asset-toolbar input,.asset-toolbar select{border:1px solid var(--border);border-radius:12px;background:var(--input-bg,var(--panel));color:var(--text);padding:9px 10px;min-height:38px}.asset-form textarea{min-height:82px;resize:vertical}.asset-form small,.asset-form-note{color:var(--muted);font-size:12px}.asset-form-note{padding:10px;border:1px dashed var(--border);border-radius:14px;background:var(--panel)}.asset-detail-grid{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.35fr);gap:14px}.asset-detail-pane{min-width:0}.asset-detail-card{border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:16px}.asset-detail-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:14px}.asset-detail-title h3{margin:0}.asset-detail-title p{margin:4px 0 0;color:var(--muted)}.asset-field-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px;margin-bottom:14px}.asset-detail-field{border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--card)}.asset-detail-field.wide{grid-column:1/-1}.asset-detail-field span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.asset-detail-field strong{display:block;margin-top:4px;font-size:13px;white-space:pre-wrap}.tiny{font-size:12px;padding:6px 8px}.icon-btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;width:34px;height:34px;font-size:20px;line-height:1;cursor:pointer}.danger{border-color:rgba(239,68,68,.45)!important;color:#ef4444!important}.danger:disabled,.secondary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1100px){.asset-detail-grid{grid-template-columns:1fr}.asset-form.asset-form-wide{grid-template-columns:repeat(2,minmax(190px,1fr))}}@media(max-width:720px){.asset-panel-head{flex-direction:column}.asset-form,.asset-form.asset-form-wide{grid-template-columns:1fr}.asset-search{min-width:0}.asset-field-grid{grid-template-columns:1fr}}

/* V2R.1J CLEAN — Sales Workflow V1 runtime button/popup wiring */
.sw-modal-wide{width:min(1240px,calc(100vw - 42px));}
.sw-form{display:grid;grid-template-columns:1fr;gap:12px;align-items:start;}
.sw-form.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.sw-form.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.sw-form label,.sw-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;}
.sw-form label.wide,.sw-form .wide,.sw-field.wide{grid-column:1/-1;}
.sw-form input,.sw-form select,.sw-form textarea,.sw-field input,.sw-field select,.sw-field textarea{border:1px solid var(--line);border-radius:13px;background:var(--field,#081425);color:var(--text);padding:10px 12px;min-height:40px;box-sizing:border-box;font:inherit;font-size:13px;text-transform:none;letter-spacing:normal;outline:none;width:100%;}
.sw-form textarea,.sw-field textarea{min-height:92px;resize:vertical;}
.sw-form input:focus,.sw-form select:focus,.sw-form textarea:focus,.sw-field input:focus,.sw-field select:focus,.sw-field textarea:focus{border-color:var(--accent,var(--cyan));box-shadow:0 0 0 3px rgba(57,211,255,.12);}
.sw-check{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;text-transform:none!important;letter-spacing:normal!important;font-size:13px!important;color:var(--soft)!important;}
.sw-check input{width:auto!important;min-height:auto!important;margin-top:3px;}
.sw-btn.red{background:#dc2626;color:#fee2e2;border-color:rgba(239,68,68,.35);}
.sw-line{display:grid;grid-template-columns:minmax(104px,.9fr) minmax(120px,1fr) minmax(160px,1.4fr) 70px 85px minmax(92px,.9fr) 78px 70px 84px 86px 76px 86px 34px;gap:6px;align-items:end;border-bottom:1px solid var(--line);padding:6px 0;}
.sw-line label{display:flex;flex-direction:column;gap:4px;margin:0;color:var(--muted);font-size:9.5px;font-weight:950;text-transform:uppercase;letter-spacing:.045em;}
.sw-line input,.sw-line select{height:33px!important;min-height:33px!important;border:1px solid var(--line);border-radius:9px;background:var(--field,#081425);color:var(--text);padding:5px 6px!important;font-size:11px!important;line-height:1.1!important;width:100%;box-sizing:border-box;}
.sw-line .readonly-pill,.readonly-pill{min-height:33px;display:flex;align-items:center;justify-content:flex-end;border:1px solid var(--line);border-radius:9px;background:var(--panel,#0b182a);color:var(--text);font-size:11px;font-weight:950;padding:5px 7px;white-space:nowrap;box-sizing:border-box;}
.sw-line .invoice-line-remove,.invoice-line-remove{height:33px;width:33px;border:0;border-radius:9px;background:#dc2626;color:#fee2e2;font-weight:950;cursor:pointer;}
.sw-quote-lines{margin-top:14px;}
.sw-lines-table{border:1px solid var(--line);border-radius:14px;background:var(--panel,#0b182a);overflow:auto;margin-top:12px;}
.sw-lines-table table{width:100%;border-collapse:collapse;font-size:12px;}
.sw-lines-table th,.sw-lines-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;}
.sw-lines-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--card,#101d31);}
.sw-customer-results{position:relative;border:1px solid var(--line);border-radius:13px;background:var(--panel,#0b182a);margin-top:8px;max-height:240px;overflow:auto;}
.sw-customer-result{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;padding:10px 12px;cursor:pointer;}
.sw-customer-result:hover{background:var(--accent-soft,rgba(57,211,255,.08));}
.sw-customer-result strong{display:block;font-size:13px;}
.sw-customer-result small,.sw-result-empty{display:block;color:var(--muted);font-size:12px;margin-top:3px;}
.sw-result-empty{padding:12px;}
.sw-pre{white-space:pre-wrap;border:1px solid var(--line);border-radius:14px;background:var(--panel,#0b182a);color:var(--text);padding:14px;max-height:56vh;overflow:auto;font-size:12px;line-height:1.55;}
.sw-modal .invoice-line-wrap{margin-top:14px;}
.sw-modal .invoice-manual-line.head{grid-template-columns:minmax(104px,.9fr) minmax(120px,1fr) minmax(160px,1.4fr) 70px 85px minmax(92px,.9fr) 78px 70px 84px 86px 76px 86px 34px;font-size:9.5px;}
.sw-modal .invoice-total-box{margin-top:14px;display:flex;justify-content:flex-end;}
.sw-modal .invoice-total-box>div{min-width:280px;border:1px solid var(--line);border-radius:16px;background:var(--panel,#0b182a);padding:13px;}
.sw-modal .invoice-total-box p{display:flex;justify-content:space-between;gap:20px;margin:7px 0;color:var(--soft);}
.sw-modal .invoice-total-box p:last-child{font-size:18px;color:var(--text);}
@media(max-width:1250px){.sw-form.four{grid-template-columns:repeat(2,minmax(0,1fr));}.sw-line,.sw-modal .invoice-manual-line.head{grid-template-columns:minmax(140px,1fr);}.sw-line{border:1px solid var(--line);border-radius:14px;padding:10px;margin:8px 0;}.sw-line .readonly-pill{justify-content:flex-start}.sw-modal .invoice-manual-line.head{display:none!important;}}
@media(max-width:760px){.sw-form.two,.sw-form.four{grid-template-columns:1fr}.sw-modal-wide{width:calc(100vw - 24px);}.sw-modal-body{padding:14px}.sw-modal footer{flex-wrap:wrap;}}
html[data-theme="light"] .sw-form input,html[data-theme="light"] .sw-form select,html[data-theme="light"] .sw-form textarea,html[data-theme="light"] .sw-line input,html[data-theme="light"] .sw-line select,html[data-theme="light"] .sw-line .readonly-pill,html[data-theme="light"] .sw-customer-results,html[data-theme="light"] .sw-pre,html[data-theme="light"] .sw-lines-table{background:#f8fafc;color:#0f172a;}

/* V2R.1J CLEAN v2 — Sales Workflow Job Card customer picker / mini calendar handoff */
.sw-modal.sw-modal-wide{width:min(1120px,calc(100vw - 36px));}
.sw-jobcard-form .sw-inline-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;}
.sw-jobcard-form .sw-inline-picker input{width:100%;}
.sw-schedule-select{width:100%;min-height:42px;border:1px solid rgba(80,151,255,.35);border-radius:13px;background:rgba(37,99,235,.10);color:#bfdbfe;font-weight:950;cursor:pointer;padding:10px 12px;text-align:center;}
.sw-schedule-select:hover{border-color:rgba(57,211,255,.55);background:rgba(57,211,255,.12);}
.sw-mini-cal-panel{position:relative;margin:14px 0 0;padding:14px;border:1px solid rgba(57,211,255,.18);border-radius:18px;background:#081425;color:var(--text);box-shadow:0 18px 60px rgba(0,0,0,.35);z-index:3;}
.sw-mini-cal-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.sw-mini-cal-head h3{margin:0;flex:1;text-align:center;font-size:18px;}
.sw-mini-cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:5px;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:950;text-align:center;}
.sw-mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.sw-mini-cal-day{min-height:58px;border:1px solid rgba(57,211,255,.12);border-radius:10px;background:#0d1a2d;color:var(--text);text-align:left;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:3px;}
.sw-mini-cal-day:hover{border-color:rgba(57,211,255,.45);background:rgba(57,211,255,.10);}
.sw-mini-cal-day.muted{opacity:.45;}
.sw-mini-cal-day.today{outline:2px solid rgba(34,197,94,.38);}
.sw-mini-cal-day strong{font-size:12px;}
.sw-mini-cal-day span{display:block;height:4px;border-radius:99px;}
.sw-mini-event-form{border:1px solid rgba(57,211,255,.14);border-radius:16px;background:#0b1626;padding:14px;}
.sw-mini-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(57,211,255,.12);}
.theme-light .sw-schedule-select{background:#eef6ff;color:#1d4ed8;border-color:#bfdbfe;}
.theme-light .sw-mini-cal-panel,.theme-light .sw-mini-event-form{background:#ffffff;color:var(--text);border-color:#d7e4f5;box-shadow:0 18px 60px rgba(15,23,42,.16);}
.theme-light .sw-mini-cal-day{background:#f8fafc;color:#0f172a;border-color:#d7e4f5;}
.theme-light .sw-mini-cal-day:hover{background:#eff6ff;border-color:#93c5fd;}
@media(max-width:760px){.sw-jobcard-form .sw-inline-picker{grid-template-columns:1fr}.sw-mini-cal-head{flex-wrap:wrap}.sw-mini-cal-grid{gap:3px}.sw-mini-cal-day{min-height:46px;padding:4px}.sw-mini-cal-week{font-size:10px}}

/* V2R.1K CLEAN — Customer 360 Workflow Quote Builder */
.v2c360-tab-panel[data-panel="workflow"].active{grid-template-columns:1fr}
.v2c360-quote-form-top,.v2c360-quote-form-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.v2c360-quote-form-top label,.v2c360-quote-form-bottom label{display:grid;gap:5px;font-size:11px;font-weight:950;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.v2c360-quote-form-top label.wide,.v2c360-quote-form-bottom label.wide{grid-column:1/-1}
.v2c360-quote-form-top input,.v2c360-quote-form-top select,.v2c360-quote-form-bottom input,.v2c360-quote-form-bottom textarea{width:100%;border:1px solid rgba(57,211,255,.16);border-radius:12px;background:#081425;color:var(--text);padding:10px 12px;font:inherit;font-size:13px;outline:none}
.v2c360-quote-form-top input[readonly]{background:#0b182a;color:var(--muted)}
.v2c360-quote-grid-wrap{border:1px solid rgba(57,211,255,.12);border-radius:16px;background:#07111f;padding:8px;margin:10px 0 12px;overflow:visible}
.v2c360-quote-line{display:grid;grid-template-columns:1.02fr 1.2fr 1.8fr .5fr .75fr .9fr .72fr .62fr .75fr .78fr .68fr .78fr 34px;gap:5px;align-items:center;margin-bottom:6px}
.v2c360-quote-line select,.v2c360-quote-line input{min-width:0;width:100%;border:1px solid rgba(57,211,255,.14);border-radius:10px;background:#081425;color:var(--text);padding:8px 8px;font-size:11px;line-height:1.15;font-weight:700;outline:none}
.v2c360-quote-line input[type="number"]{text-align:right}
.v2c360-quote-head{margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.v2c360-quote-readonly{border:1px solid rgba(57,211,255,.10);border-radius:10px;background:#0b182a;color:var(--text);padding:8px 6px;font-size:11px;font-weight:950;text-align:right;white-space:nowrap;min-width:0}
.v2c360-quote-totals{grid-column:3/-1;justify-self:end;width:min(360px,100%);border:1px solid rgba(57,211,255,.16);border-radius:16px;background:#081425;padding:12px;margin-top:8px}
.v2c360-quote-totals p{display:flex;justify-content:space-between;gap:16px;margin:5px 0;color:var(--soft)}
.v2c360-quote-totals span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:950}
.v2c360-quote-totals strong,.v2c360-quote-totals b{font-size:15px;color:var(--text)}
.theme-light .v2c360-quote-form-top input,.theme-light .v2c360-quote-form-top select,.theme-light .v2c360-quote-form-bottom input,.theme-light .v2c360-quote-form-bottom textarea,.theme-light .v2c360-quote-line select,.theme-light .v2c360-quote-line input{background:#fff;color:#0f172a;border-color:#cbd5e1}
.theme-light .v2c360-quote-grid-wrap,.theme-light .v2c360-quote-readonly,.theme-light .v2c360-quote-totals{background:#f8fafc;color:#0f172a;border-color:#dbe4ee}
@media(max-width:1250px){.v2c360-quote-line{grid-template-columns:1fr 1fr 1.4fr .55fr .75fr .9fr .7fr .7fr .75fr .8fr .7fr .8fr 34px}.v2c360-quote-line select,.v2c360-quote-line input,.v2c360-quote-readonly{font-size:10.5px;padding:7px 6px}}
@media(max-width:900px){.v2c360-quote-form-top,.v2c360-quote-form-bottom{grid-template-columns:1fr}.v2c360-quote-grid-wrap{overflow-x:auto}.v2c360-quote-line{min-width:1100px}.v2c360-quote-totals{grid-column:1/-1;justify-self:stretch;width:100%}}
html[data-theme="light"] .v2c360-quote-form-top input,
html[data-theme="light"] .v2c360-quote-form-top select,
html[data-theme="light"] .v2c360-quote-form-bottom input,
html[data-theme="light"] .v2c360-quote-form-bottom textarea,
html[data-theme="light"] .v2c360-quote-line select,
html[data-theme="light"] .v2c360-quote-line input{background:#fff;color:#0f172a;border-color:#cbd5e1}
html[data-theme="light"] .v2c360-quote-grid-wrap,
html[data-theme="light"] .v2c360-quote-readonly,
html[data-theme="light"] .v2c360-quote-totals{background:#f8fafc;color:#0f172a;border-color:#dbe4ee}


/* V2R.1P CLEAN — Add Customer V1 full-page rebuild */
.add-customer-page .addc-hero{align-items:flex-start}
.addc-status-card{margin:16px 0 0;border:1px solid rgba(57,211,255,.12);border-radius:16px;background:rgba(16,29,49,.78);padding:12px 16px;color:var(--muted);font-weight:800;font-size:13px}
.addc-status.ok{color:#86efac}.addc-status.bad{color:#fecaca}
.addc-shell{margin-top:16px;border:1px solid rgba(57,211,255,.12);border-radius:22px;background:rgba(16,29,49,.92);box-shadow:0 12px 30px rgba(0,0,0,.2);overflow:hidden}
.addc-tabs{display:flex;gap:6px;overflow:auto;padding:12px 14px;border-bottom:1px solid rgba(57,211,255,.1);background:rgba(8,20,37,.74)}
.addc-tab{border:1px solid rgba(57,211,255,.12);border-radius:999px;background:#0d1a2d;color:var(--muted);padding:10px 13px;font-weight:950;cursor:pointer;white-space:nowrap}
.addc-tab:hover{color:var(--text);border-color:rgba(57,211,255,.34)}
.addc-tab.active{color:#dff7ff;background:linear-gradient(90deg,rgba(41,168,255,.28),rgba(57,211,255,.11));border-color:rgba(57,211,255,.42);box-shadow:0 0 0 3px rgba(57,211,255,.06)}
.addc-form{padding:18px}.addc-tab-panel{display:none}.addc-tab-panel.active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.addc-tab-panel .wide{grid-column:1 / -1}
.addc-field{display:block}.addc-field>span{display:block;font-size:12px;color:var(--soft);font-weight:900;margin-bottom:7px}.addc-field input,.addc-field select,.addc-field textarea{width:100%;min-height:42px;padding:10px 12px;border-radius:13px;border:1px solid rgba(142,164,191,.28);background:#081425;color:var(--text);outline:none;font:inherit}.addc-field textarea{resize:vertical;line-height:1.45}.addc-field input:focus,.addc-field select:focus,.addc-field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(57,211,255,.11)}.addc-field small{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.35}
.addc-inline{display:flex;gap:8px;align-items:center}.addc-inline input{flex:1}.addc-inline .btn{white-space:nowrap}.addc-section-note,.addc-warning{grid-column:1 / -1;border:1px solid rgba(57,211,255,.13);border-radius:16px;background:rgba(57,211,255,.06);padding:13px 14px;color:var(--soft);line-height:1.5}.addc-warning{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.08);color:#ffe8bd}.addc-map-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}.addc-address-status{margin-top:7px;color:var(--muted);font-size:12px;font-weight:800}.addc-address-status.ok{color:#86efac}.addc-address-status.bad{color:#fecaca}.addc-address-status.warn{color:#fde68a}.addc-map-box{height:360px;border:1px solid rgba(57,211,255,.18);border-radius:16px;background:#07111f;overflow:hidden}.addc-map-box iframe{width:100%;height:100%;border:0;display:block;filter:saturate(1.06) contrast(1.02)}.addc-map-placeholder{height:100%;display:grid;place-items:center;color:var(--muted);padding:18px;text-align:center}
html[data-theme="light"] .addc-status-card,
html[data-theme="light"] .addc-shell,
html[data-theme="light"] .addc-section-note{background:#ffffff!important;border-color:#d9e5f3!important;box-shadow:0 12px 30px rgba(15,23,42,.08)!important;color:#334155!important}
html[data-theme="light"] .addc-tabs{background:#f4f8fc!important;border-color:#d9e5f3!important}
html[data-theme="light"] .addc-tab{background:#fff!important;color:#475569!important;border-color:#d9e5f3!important}
html[data-theme="light"] .addc-tab.active{background:linear-gradient(90deg,rgba(41,168,255,.18),rgba(57,211,255,.08))!important;color:#0f172a!important;border-color:rgba(37,99,235,.28)!important}
html[data-theme="light"] .addc-field>span{color:#334155!important}
html[data-theme="light"] .addc-map-box{background:#eef5fb!important;border-color:#d9e5f3!important}
html[data-theme="light"] .addc-warning{background:#fffbeb!important;color:#92400e!important;border-color:#fde68a!important}
@media(max-width:900px){.addc-tab-panel.active{grid-template-columns:1fr}.addc-inline{flex-wrap:wrap}.addc-inline .btn{width:100%}.addc-map-box{height:280px}}

/* V2R.1Q v2 — Google Maps drag / scroll / satellite runtime */
.ispforge-google-map-canvas{width:100%;height:calc(100% - 34px);min-height:300px;border:0;display:block;background:#07111f}
.ispforge-google-map-hint{min-height:34px;display:flex;align-items:center;padding:8px 12px;border-top:1px solid rgba(57,211,255,.14);background:rgba(8,20,37,.96);color:var(--muted);font-size:12px;font-weight:800}
.ispforge-map-placeholder{height:100%;min-height:260px;display:grid;place-items:center;color:var(--muted);padding:18px;text-align:center;background:#07111f}
.v2c360-address-status{margin-top:7px;color:var(--muted);font-size:12px;font-weight:800}.v2c360-address-status.ok{color:#86efac}.v2c360-address-status.bad{color:#fecaca}.v2c360-address-status.warn{color:#fde68a}.v2c360-profile-map-box{height:360px;border:1px solid rgba(57,211,255,.18);border-radius:16px;background:#07111f;overflow:hidden;grid-column:1 / -1;margin-top:6px}
.v2c360-profile-map-box iframe{width:100%;height:100%;border:0;display:block;filter:saturate(1.06) contrast(1.02)}
.addc-map-box .ispforge-google-map-canvas,.v2c360-map-box .ispforge-google-map-canvas,.v2c360-profile-map-box .ispforge-google-map-canvas{min-height:0;height:calc(100% - 34px)}
.addc-map-box .ispforge-map-placeholder,.v2c360-map-box .ispforge-map-placeholder,.v2c360-profile-map-box .ispforge-map-placeholder{min-height:100%}
html[data-theme="light"] .ispforge-google-map-canvas,html[data-theme="light"] .ispforge-map-placeholder,html[data-theme="light"] .v2c360-profile-map-box{background:#eef5fb!important;border-color:#d9e5f3!important}
html[data-theme="light"] .ispforge-google-map-hint{background:#f8fafc!important;border-color:#e2e8f0!important;color:#64748b!important}
@media(max-width:900px){.v2c360-profile-map-box{height:280px}.ispforge-google-map-canvas{min-height:240px}}

/* V2R.1R CLEAN — Customers Merge / Customer Groups / Resellers V1 Runtime Rebuild */
.custdir-page .page-hero{align-items:flex-start}.custdir-page .hero-actions{gap:8px}.custdir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.custdir-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.custdir-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.custdir-card{border:1px solid rgba(57,211,255,.14);border-radius:20px;background:linear-gradient(180deg,rgba(16,29,49,.96),rgba(10,22,38,.94));box-shadow:0 16px 40px rgba(0,0,0,.22);padding:18px}.custdir-card.wide{grid-column:1 / -1}.custdir-card h2,.custdir-card h3{margin:0 0 6px}.custdir-card p{margin:0 0 12px;color:var(--muted);line-height:1.5}.custdir-kpi span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.custdir-kpi strong{display:block;margin-top:8px;font-size:28px;color:var(--text)}.custdir-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0;padding:12px;border:1px solid rgba(57,211,255,.12);border-radius:18px;background:#0b182a}.custdir-toolbar input,.custdir-toolbar select{min-height:42px;border:1px solid var(--line);border-radius:13px;background:#081425;color:var(--text);padding:10px 12px;outline:none}.custdir-toolbar input{flex:1;min-width:240px}.custdir-table-wrap{border:1px solid rgba(57,211,255,.12);border-radius:18px;overflow:auto;background:#0b182a}.custdir-table{width:100%;border-collapse:collapse;font-size:13px}.custdir-table th,.custdir-table td{padding:12px 10px;border-bottom:1px solid rgba(57,211,255,.10);text-align:left;vertical-align:middle}.custdir-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);background:#081425;white-space:nowrap}.custdir-table td{color:var(--text)}.custdir-table small{display:block;color:var(--muted);margin-top:3px}.custdir-row-actions{white-space:nowrap;text-align:right}.custdir-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:950;border:1px solid var(--line)}.custdir-badge.ok{background:rgba(34,197,94,.12);color:#86efac;border-color:rgba(34,197,94,.25)}.custdir-badge.no{background:rgba(239,68,68,.12);color:#fecaca;border-color:rgba(239,68,68,.25)}.custdir-badge.warn{background:rgba(245,158,11,.12);color:#fde68a;border-color:rgba(245,158,11,.25)}.custdir-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.custdir-form label{display:block;color:var(--soft);font-size:12px;font-weight:950}.custdir-form label.full{grid-column:1 / -1}.custdir-form input,.custdir-form select,.custdir-form textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:#081425;color:var(--text);border-radius:13px;padding:11px 12px;outline:none;font:inherit}.custdir-form textarea{min-height:110px;resize:vertical}.custdir-form small{display:block;color:var(--muted);margin-top:6px;line-height:1.4}.custdir-picker{display:grid;grid-template-columns:1fr;gap:10px}.custdir-picker input,.custdir-picker select{width:100%;border:1px solid var(--line);background:#081425;color:var(--text);border-radius:13px;padding:11px 12px}.custdir-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.custdir-detail{border:1px solid rgba(57,211,255,.12);border-radius:16px;background:#081425;padding:14px}.custdir-detail-row{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid rgba(57,211,255,.08)}.custdir-detail-row:last-child{border-bottom:0}.custdir-detail-row span{color:var(--muted);font-size:12px}.custdir-detail-row strong{font-size:13px;word-break:break-word}.custdir-warning{margin-top:14px;border:1px solid rgba(245,158,11,.30);border-radius:16px;background:rgba(245,158,11,.10);color:#fde68a;padding:14px;line-height:1.55}.custdir-notice{border:1px solid rgba(57,211,255,.16);border-radius:16px;background:rgba(57,211,255,.06);padding:14px;color:var(--soft);line-height:1.55}.custdir-modal{width:min(820px,calc(100vw - 34px));max-height:calc(100vh - 38px)}.custdir-modal .v2-modal-body{overflow:auto}.custdir-empty{padding:20px;color:var(--muted);text-align:center}.custdir-column-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.custdir-column-picker label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#081425}.custdir-column-picker input{width:auto}.custdir-chip-row{display:flex;gap:8px;flex-wrap:wrap}.custdir-chip{display:inline-flex;align-items:center;border:1px solid rgba(57,211,255,.18);border-radius:999px;background:#081425;color:var(--soft);padding:7px 10px;font-size:12px;font-weight:900}@media(max-width:1050px){.custdir-grid,.custdir-grid.three,.custdir-grid.four,.custdir-compare{grid-template-columns:1fr}.custdir-form{grid-template-columns:1fr}.custdir-detail-row{grid-template-columns:1fr}.custdir-toolbar input{min-width:100%}} 
body[data-theme="light"] .custdir-card,body[data-theme="light"] .custdir-toolbar,body[data-theme="light"] .custdir-table-wrap,body[data-theme="light"] .custdir-detail,body[data-theme="light"] .custdir-form input,body[data-theme="light"] .custdir-form select,body[data-theme="light"] .custdir-form textarea,body[data-theme="light"] .custdir-picker input,body[data-theme="light"] .custdir-picker select,body[data-theme="light"] .custdir-chip,body[data-theme="light"] .custdir-column-picker label{background:#fff;color:var(--text)}body[data-theme="light"] .custdir-table th{background:#edf4fb;color:#34465e}body[data-theme="light"] .custdir-table td{color:var(--text)}

/* V2R.1S — Customer Changes / Import / Usage polish */
.custutil-page .right-text{text-align:right;white-space:nowrap}.custutil-page .danger-text{color:#fecaca;font-weight:900}.custutil-page .ok-text{color:#86efac;font-weight:900}.custutil-log{border:1px solid rgba(57,211,255,.12);border-radius:12px;padding:9px 11px;margin:7px 0;background:#081425;color:var(--soft);font-size:13px}.custutil-log.ok{border-color:rgba(34,197,94,.28);color:#86efac;background:rgba(34,197,94,.08)}.custutil-log.bad{border-color:rgba(239,68,68,.28);color:#fecaca;background:rgba(239,68,68,.08)}.custutil-log.info{border-color:rgba(57,211,255,.22);color:#bfdbfe;background:rgba(57,211,255,.06)}.custdir-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.custdir-card-head h2{margin:0}.usage-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;margin-top:18px}.usage-layout aside{display:grid;gap:14px;align-content:start}.usage-card h2,.usage-graph h2{margin:0 0 12px}.usage-total{font-size:28px;font-weight:950;color:var(--text);margin:10px 0 14px}.usage-account{border-top:1px solid rgba(57,211,255,.1);padding:11px 0}.usage-account strong{display:block;margin-bottom:7px}.usage-progress{height:26px;border:1px solid rgba(57,211,255,.14);border-radius:999px;background:#081425;position:relative;overflow:hidden}.usage-progress span{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--blue),var(--cyan));opacity:.72}.usage-progress em{position:absolute;right:9px;top:4px;font-style:normal;font-size:12px;font-weight:900;color:var(--text)}.usage-billing-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(57,211,255,.08);padding:9px 0}.usage-billing-row:last-child{border-bottom:0}.usage-billing-row strong{color:var(--muted)}.usage-graph-grid{display:grid;grid-template-columns:1fr 190px;gap:18px;align-items:center}.usage-tabs{display:flex;gap:7px;margin-bottom:10px}.usage-tabs span{border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--muted);font-size:12px;font-weight:900}.usage-tabs .active{color:#dff7ff;border-color:rgba(57,211,255,.32);background:rgba(57,211,255,.08)}.usage-bars{height:160px;display:flex;align-items:flex-end;gap:4px;border:1px solid rgba(57,211,255,.12);border-radius:16px;background:#081425;padding:12px}.usage-bar{flex:1;min-height:4px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--cyan),var(--blue));opacity:.75}.usage-pie{width:160px;height:160px;border-radius:50%;background:conic-gradient(var(--cyan) 0 55%, var(--blue) 55% 82%, rgba(57,211,255,.16) 82% 100%);border:14px solid #081425;box-shadow:inset 0 0 0 1px rgba(57,211,255,.20),0 8px 30px rgba(0,0,0,.18)}.usage-session-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.usage-session-head strong{margin-right:auto}.usage-session-head input,.usage-session-head select,.usage-topbar select{min-height:38px;border:1px solid var(--line);border-radius:12px;background:#081425;color:var(--text);padding:8px 10px}.usage-customer{min-width:280px}.usage-month{display:flex;align-items:center;gap:8px;margin-left:auto}.usage-month strong{min-width:130px;text-align:center}.custutil-page button:disabled{opacity:.45;cursor:not-allowed}body[data-theme="light"] .custutil-log,body[data-theme="light"] .usage-progress,body[data-theme="light"] .usage-bars,body[data-theme="light"] .usage-pie,body[data-theme="light"] .usage-session-head input,body[data-theme="light"] .usage-session-head select,body[data-theme="light"] .usage-topbar select{background:#fff;color:var(--text)}body[data-theme="light"] .usage-tabs .active{color:#0f3e58;background:#e8f7ff}@media(max-width:1100px){.usage-layout{grid-template-columns:1fr}.usage-graph-grid{grid-template-columns:1fr}.usage-pie{margin:auto}.usage-month{margin-left:0}.usage-customer{min-width:100%}}

/* V2R.2X CLEAN — Workflow Asset Register Button / Modal Contrast Stabilisation
   Narrow visual-only fix for Asset Register runtime pages after hub/flyout cleanup.
   It avoids global button styling and only targets the existing asset register page/modal classes. */
.asset-page-wrap .asset-actions button,
.asset-page-wrap .asset-toolbar button,
.asset-page-wrap .asset-row-actions button,
.asset-page-wrap .asset-detail-actions button,
.asset-modal button{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(57,211,255,.18);
  border-radius:12px;
  background:#132944;
  color:#dceeff;
  font:inherit;
  font-size:13px;
  font-weight:900;
  line-height:1.15;
  padding:9px 12px;
  box-shadow:none;
  cursor:pointer;
  text-decoration:none;
}
.asset-page-wrap .asset-actions button.primary,
.asset-page-wrap .asset-toolbar button.primary,
.asset-page-wrap .asset-row-actions button.primary,
.asset-page-wrap .asset-detail-actions button.primary,
.asset-modal button.primary{
  border-color:transparent;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  color:#03111f;
  box-shadow:0 10px 26px rgba(57,211,255,.16);
}
.asset-page-wrap .asset-actions button.secondary,
.asset-page-wrap .asset-toolbar button.secondary,
.asset-page-wrap .asset-row-actions button.secondary,
.asset-page-wrap .asset-detail-actions button.secondary,
.asset-modal button.secondary{
  border-color:rgba(57,211,255,.20);
  background:#11243d;
  color:#e4f4ff;
}
.asset-page-wrap .asset-actions button.danger,
.asset-page-wrap .asset-toolbar button.danger,
.asset-page-wrap .asset-row-actions button.danger,
.asset-page-wrap .asset-detail-actions button.danger,
.asset-modal button.danger{
  border-color:rgba(248,113,113,.35)!important;
  background:rgba(127,29,29,.24)!important;
  color:#fecaca!important;
}
.asset-page-wrap .asset-row-actions button.tiny,
.asset-page-wrap .asset-detail-actions button.tiny,
.asset-modal button.tiny{
  border-radius:10px;
  padding:7px 10px;
  font-size:12px;
}
.asset-page-wrap .asset-actions button:hover:not(:disabled),
.asset-page-wrap .asset-toolbar button:hover:not(:disabled),
.asset-page-wrap .asset-row-actions button:hover:not(:disabled),
.asset-page-wrap .asset-detail-actions button:hover:not(:disabled),
.asset-modal button:hover:not(:disabled){
  filter:brightness(1.08);
  border-color:rgba(57,211,255,.34);
}
.asset-page-wrap .asset-actions button:disabled,
.asset-page-wrap .asset-toolbar button:disabled,
.asset-page-wrap .asset-row-actions button:disabled,
.asset-page-wrap .asset-detail-actions button:disabled,
.asset-modal button:disabled{
  opacity:.42;
  cursor:not-allowed;
  filter:none;
}
.asset-modal-backdrop{
  z-index:20000;
  background:rgba(1,5,15,.88)!important;
  backdrop-filter:blur(2px);
}
.asset-modal{
  background:#0f1c30!important;
  border:1px solid rgba(57,211,255,.18)!important;
  box-shadow:0 34px 110px rgba(0,0,0,.74)!important;
}
.asset-modal-head,
.asset-modal-foot{
  background:#101f35!important;
  border-color:rgba(57,211,255,.14)!important;
}
.asset-modal-body{
  background:#0b1728!important;
}
.asset-modal .asset-form input,
.asset-modal .asset-form select,
.asset-modal .asset-form textarea,
.asset-page-wrap .asset-toolbar input,
.asset-page-wrap .asset-toolbar select{
  background:#081425!important;
  border-color:rgba(57,211,255,.18)!important;
  color:#eef7ff!important;
}
.asset-modal .asset-form input:focus,
.asset-modal .asset-form select:focus,
.asset-modal .asset-form textarea:focus,
.asset-page-wrap .asset-toolbar input:focus,
.asset-page-wrap .asset-toolbar select:focus{
  outline:none;
  border-color:rgba(57,211,255,.48)!important;
  box-shadow:0 0 0 3px rgba(57,211,255,.10);
}
.asset-modal .asset-form-note{
  background:#081425!important;
  border-color:rgba(57,211,255,.16)!important;
  color:#b8d8f2!important;
}
.asset-modal .asset-form label span,
.asset-modal .asset-form label,
.asset-modal .asset-form small{
  color:#aecaeb!important;
}

/* V2R.3B CLEAN — Tools button / modal contrast guardrails
   Scoped to current Tools modules only. Keeps popups solid and buttons professional. */
.v2msg .v2msg-btn,
.v2g-shell .v2g-btn,
.tools-hub .tools-hub-card{
  font-family:inherit;
}
.v2msg .v2msg-btn,
.v2g-shell .v2g-btn{
  appearance:none!important;
  border-radius:13px!important;
  font-weight:950!important;
  cursor:pointer;
}
.v2msg .v2msg-btn:not(.primary):not(.success):not(.danger):not(.warn),
.v2g-shell .v2g-btn:not(.primary):not(.success):not(.danger){
  background:#132944!important;
  color:#dff2ff!important;
  border:1px solid rgba(57,211,255,.22)!important;
  box-shadow:none!important;
}
.v2msg .v2msg-btn.primary,
.v2g-shell .v2g-btn.primary{
  background:linear-gradient(135deg,#2563eb,#29a8ff)!important;
  color:#03111f!important;
  border:1px solid rgba(103,232,249,.24)!important;
}
.v2msg .v2msg-btn.success,
.v2g-shell .v2g-btn.success{
  background:linear-gradient(135deg,#16a34a,#34d399)!important;
  color:#03111f!important;
  border:1px solid rgba(134,239,172,.22)!important;
}
.v2msg .v2msg-btn.danger,
.v2g-shell .v2g-btn.danger{
  background:linear-gradient(135deg,#dc2626,#ef4444)!important;
  color:#fff!important;
  border:1px solid rgba(254,202,202,.22)!important;
}
.v2msg .v2msg-modal-backdrop{
  background:rgba(1,5,15,.88)!important;
  backdrop-filter:blur(3px);
}
.v2msg .v2msg-modal{
  background:#0f1c30!important;
  border:1px solid rgba(57,211,255,.20)!important;
  box-shadow:0 34px 110px rgba(0,0,0,.74)!important;
}
.v2msg .v2msg-modal-head,
.v2msg .v2msg-modal-footer{
  background:#101f35!important;
  border-color:rgba(57,211,255,.16)!important;
}
.v2msg .v2msg-modal-body{
  background:#0b1728!important;
  color:#d8ecff!important;
}
.v2msg .v2msg-field input,
.v2msg .v2msg-field select,
.v2msg .v2msg-field textarea,
.v2g-shell .v2g-form input,
.v2g-shell .v2g-form select,
.v2g-shell .v2g-form textarea{
  background:#081425!important;
  border-color:rgba(57,211,255,.18)!important;
  color:#eef7ff!important;
}

/* V2R.3W CLEAN — Public landing / online sales application */
.public-screen{min-height:100vh;background:linear-gradient(180deg,#f8fafc 0,#eef4f9 100%);color:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.public-topbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:#fff;border-bottom:1px solid #dfe7ef;box-shadow:0 3px 12px rgba(15,23,42,.08);position:sticky;top:0;z-index:20}.public-mini-brand{display:flex;align-items:center;gap:8px}.public-top-actions{display:flex;align-items:center;gap:8px}.public-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #2f86c8;border-radius:4px;background:#337ab7;color:#fff;font-weight:800;padding:9px 14px;font-size:13px;line-height:1;cursor:pointer;text-decoration:none}.public-btn:hover{filter:brightness(1.04)}.public-btn.light{background:#fff;color:#111827;border-color:#cbd5e1}.public-btn.primary{background:#2f86c8;color:#fff;border-color:#2f86c8}.public-btn.big{padding:12px 18px;font-size:14px}.public-btn.active{box-shadow:0 0 0 3px rgba(51,122,183,.16)}.public-logo{display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid #dbe5ef;color:#0f3d46;font-weight:900}.public-logo img{max-width:100%;max-height:100%;object-fit:contain}.public-logo.small{width:38px;height:38px;border-radius:6px}.public-logo.large{width:180px;height:180px;border-radius:16px}.public-logo.hero{width:min(360px,34vw);height:min(360px,34vw);border:0;background:transparent}.public-logo.hero span{font-size:54px}.public-landing{min-height:calc(100vh - 62px);position:relative;padding:42px 40px}.public-hero-public{display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,480px);gap:40px;align-items:center;min-height:calc(100vh - 180px)}.public-hero-public h1{margin:0;font-size:30px;font-weight:500;color:#111827;letter-spacing:.02em}.public-subtitle{margin:10px 0 48px;color:#334155;font-size:15px}.public-restricted{font-size:13px;margin:0 0 42px;color:#111827}.public-hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.public-brand-stage{display:flex;align-items:center;justify-content:center}.public-offline-note{display:inline-flex;border:1px solid #f59e0b;background:#fff7ed;color:#92400e;border-radius:8px;padding:10px 12px;font-weight:800;font-size:13px}.public-powered{position:absolute;right:34px;top:86px;color:#64748b;font-size:13px}.public-page{min-height:calc(100vh - 62px);padding:28px 34px 70px}.public-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px;color:#334155;background:#f8fafc}.public-spinner{width:44px;height:44px;border-radius:50%;border:4px solid #dbeafe;border-top-color:#337ab7;animation:publicSpin 1s linear infinite}@keyframes publicSpin{to{transform:rotate(360deg)}}.public-card{background:#fff;border:1px solid #dfe7ef;border-radius:5px;box-shadow:0 4px 12px rgba(15,23,42,.05);padding:24px}.public-card.wide{width:100%}.public-card h1{margin:0 0 12px;font-size:22px;font-weight:500;color:#111827}.public-card p{color:#475569}.public-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.public-card-head h1{margin:0 0 4px}.public-card-head p{margin:0;color:#64748b}.public-form{display:grid;gap:18px}.public-form-section{display:grid;gap:14px;border-top:1px solid #edf2f7;padding-top:16px}.public-form-section:first-of-type{border-top:0}.public-form-section.two{grid-template-columns:repeat(2,minmax(240px,1fr));align-items:start}.public-form-section.one{grid-template-columns:1fr}.public-field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:#1f2937}.public-field span{color:#7f1d1d}.public-field input,.public-field select,.public-field textarea{min-height:36px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#111827;padding:8px 10px;outline:none;font:inherit;font-weight:500}.public-field textarea{min-height:86px;resize:vertical}.public-field input:focus,.public-field select:focus,.public-field textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.12)}.public-field small{color:#64748b;font-weight:600}.public-segment{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cbd5e1;border-radius:5px;overflow:hidden}.public-segment button{border:0;background:#fff;color:#1f2937;padding:10px;font-weight:800;cursor:pointer}.public-segment button.active{background:#337ab7;color:#fff}.address-grid{grid-template-columns:minmax(320px,1fr) minmax(380px,1.15fr);align-items:start}.public-address-fields{display:grid;gap:12px}.public-inline{display:flex;gap:8px}.public-inline input{flex:1}.public-map-edit{width:38px;border:0;border-radius:6px;background:#62c2dc;color:#fff;font-weight:900;cursor:pointer}.public-map-actions{display:flex;gap:7px;flex-wrap:wrap}.public-mini-btn{border:1px solid #337ab7;background:#337ab7;color:#fff;border-radius:4px;padding:7px 10px;font-size:12px;font-weight:800;cursor:pointer}.public-mini-btn.green{background:#4caf50;border-color:#4caf50}.public-map-box{min-height:310px;border:1px solid #dbe5ef;border-radius:4px;background:#ccebf5;overflow:hidden}.public-map-placeholder{height:310px;display:grid;place-items:center;text-align:center;color:#334155;padding:22px;background:linear-gradient(135deg,#cdeef7,#dff7ff)}.public-consent-grid{grid-template-columns:minmax(280px,420px) 1fr;align-items:end}.public-captcha{display:flex;align-items:end;gap:14px}.public-captcha strong{font-family:Georgia,serif;font-size:28px;letter-spacing:.08em;color:#111827;min-width:120px}.public-terms-agree{display:flex;align-items:center;gap:8px;color:#111827;font-size:13px}.public-terms-agree a{color:#337ab7;text-decoration:underline}.public-submit-status{min-height:22px;font-size:13px;font-weight:800;color:#475569}.public-submit-status.ok{color:#15803d}.public-submit-status.bad{color:#b91c1c}.public-submit-status.warn{color:#92400e}.public-form-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #edf2f7;padding-top:16px}.public-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}.public-success{display:grid;gap:12px;justify-items:start}.public-success h2{margin:0;font-size:28px;color:#111827}.public-reference{border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;padding:12px 16px}.public-reference span{display:block;font-size:12px;color:#64748b;text-transform:uppercase}.public-reference strong{font-size:22px;color:#1d4ed8}.public-terms-card{line-height:1.62}.public-terms-list{padding-left:24px;color:#111827}.public-terms-list li{margin:0 0 10px}.public-error{display:grid;place-items:center}.public-error .public-card{max-width:620px}@media(max-width:900px){.public-hero-public,.address-grid,.public-form-section.two,.public-consent-grid{grid-template-columns:1fr}.public-landing,.public-page{padding:22px}.public-logo.hero{width:220px;height:220px;margin:auto}.public-powered{position:static;margin-top:20px}.public-card-head{display:block}.public-card-head .public-btn{margin-top:12px}.public-topbar{height:auto}.public-top-actions{flex-wrap:wrap;justify-content:flex-end}.public-form-footer{justify-content:stretch}.public-form-footer .public-btn{flex:1}.public-captcha{align-items:center;flex-wrap:wrap}}

/* ISP Forge V2R.3X — public landing root: centered logo, no body text/buttons */
.public-landing.public-landing-logo-only{display:flex;align-items:center;justify-content:center;padding:42px 40px}
.public-hero-public.public-hero-logo-only{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 180px);width:100%;gap:0}
.public-brand-stage.public-brand-stage-centered{display:flex;align-items:center;justify-content:center;width:100%}
.public-landing-logo-only .public-logo.hero{width:min(420px,42vw);height:min(420px,42vw);max-width:520px;max-height:520px}
@media(max-width:900px){.public-landing.public-landing-logo-only{padding:28px 22px}.public-hero-public.public-hero-logo-only{min-height:calc(100vh - 150px)}.public-landing-logo-only .public-logo.hero{width:min(280px,72vw);height:min(280px,72vw)}}
.v2c360-delete-blockers{margin:12px 0 0 18px;padding:0;color:var(--soft);line-height:1.45}.v2c360-delete-blockers li{margin:0 0 10px}.v2c360-delete-blockers span{color:var(--muted)}
