@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#f4f7fb;--panel:#fff;--text:#142033;--muted:#6f7b8e;--line:#e5eaf1;--primary:#3169f5;--primary-dark:#1f55d9;--navy:#0c1424;--navy2:#111c30;--green:#13a66b;--red:#e54949;--amber:#d99016;--shadow:0 18px 45px rgba(17,31,56,.08)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.auth-body{background:linear-gradient(135deg,#09111f,#132846);padding:34px}
.auth-shell{max-width:1120px;min-height:calc(100vh - 68px);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}
.install-shell{max-width:1260px;grid-template-columns:.8fr 1.2fr}
.auth-brand{color:#fff;padding:30px}
.brand-mark{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#3f7bff,#22c7a7);font-size:32px;font-weight:800;box-shadow:0 20px 45px rgba(47,105,245,.35);margin-bottom:28px}
.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:20px;margin:0;box-shadow:none}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#6d86ad}
.auth-brand .eyebrow{color:#85a8df}
.auth-brand h1{font-size:50px;line-height:1.08;margin:15px 0 20px;max-width:720px}
.auth-brand p{color:#aebbd1;font-size:17px;line-height:1.75;max-width:620px}
.feature-list{display:grid;gap:13px;margin-top:30px;color:#d6e1f3}
.feature-list span:before{content:'✓';display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(34,199,167,.15);color:#43deb9;margin-right:10px}
.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.mini-stats div{border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:18px;background:rgba(255,255,255,.04)}
.mini-stats strong,.mini-stats span{display:block}.mini-stats span{font-size:12px;color:#9eabc0;margin-top:7px;line-height:1.5}
.auth-card{background:#fff;border-radius:24px;padding:36px;box-shadow:0 34px 80px rgba(0,0,0,.25)}
.auth-card.wide{padding:34px}
.auth-card-head h2{font-size:30px;margin:12px 0 8px}.auth-card-head p{color:var(--muted);margin:0 0 26px}
.step-pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef3ff;color:var(--primary);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.stack-form{display:grid;gap:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:grid;gap:8px}.field.full,.full{grid-column:1/-1}
.field label{font-size:13px;font-weight:700;color:#344055}.field label small{font-weight:500;color:var(--muted);margin-left:5px}
input,select,textarea{width:100%;border:1px solid #dce3ec;background:#fff;border-radius:11px;padding:12px 13px;color:var(--text);outline:none;transition:.18s}
input:focus,select:focus,textarea:focus{border-color:#6d93ff;box-shadow:0 0 0 4px rgba(49,105,245,.1)}
input:disabled{background:#f1f4f8;color:#8a95a5}
textarea{resize:vertical}
.check-row{display:flex;align-items:center;gap:10px;color:#4c596c;font-size:13px}
.check-row input{width:17px;height:17px}.lifetime-check{align-self:end;padding-bottom:13px}
.divider{position:relative;text-align:center;color:#8792a3;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:4px 0}
.divider:before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--line)}
.divider span{position:relative;background:#fff;padding:0 12px}
.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}
.btn.secondary{background:#eef2f7;color:#334056}.btn.secondary:hover{background:#e4e9f0}
.btn.danger{background:#fff0f0;color:var(--red)}.btn.warning-btn{background:#fff4dd;color:#a96600}.btn.success-btn{background:#eaf9f2;color:#078254}
.auth-foot{text-align:center;color:#8893a4;font-size:12px;margin:24px 0 0}
.alert{border-radius:12px;padding:13px 15px;margin-bottom:18px;font-size:13px;line-height:1.5;position:relative}
.alert.success{background:#eaf9f2;color:#067d50;border:1px solid #c9efdf}.alert.danger{background:#fff0f0;color:#aa3030;border:1px solid #ffd5d5}.alert.warning{background:#fff7e7;color:#946000}
.alert ul{margin:8px 0 0;padding-left:18px}.alert button{position:absolute;right:10px;top:7px;background:transparent;border:0;font-size:20px;color:inherit}
.app-body{background:var(--bg)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:30}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:2px 8px 24px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand small{font-size:11px;color:#7f8da3;margin-top:3px}
.sidebar nav{display:grid;gap:6px;margin-top:22px}
.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;color:#aab6c8;font-size:14px;font-weight:600}
.sidebar nav a span{width:20px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(70,118,255,.16);color:#fff}
.sidebar nav a.active{box-shadow:inset 3px 0 #4f7cff}
.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);padding:12px;border-radius:12px;background:rgba(255,255,255,.03)}
.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:12px}.sidebar-foot small{font-size:10px;color:#7f8da3;margin-top:3px}
.api-light{width:9px;height:9px;border-radius:50%;background:#2bd28d;box-shadow:0 0 0 5px rgba(43,210,141,.12)}
.app-shell{margin-left:250px;min-height:100vh}
.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;position:sticky;top:0;z-index:20}
.topbar-title{font-weight:800}.menu-btn{display:none;border:0;background:#eef2f7;border-radius:9px;padding:8px 10px;margin-right:12px}
.user-menu{margin-left:auto;display:flex;align-items:center;gap:10px}.user-menu strong,.user-menu small{display:block}.user-menu strong{font-size:13px}.user-menu small{font-size:10px;color:var(--muted);margin-top:2px}.user-menu>a{font-size:12px;color:#65738a;margin-left:8px}
.avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eaf0ff;color:var(--primary);font-weight:800;flex:0 0 auto}
.main-content{padding:30px;max-width:1560px;margin:auto}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}
.page-head h1{font-size:31px;margin:7px 0 6px;letter-spacing:-.03em}.page-head p{margin:0;color:var(--muted);font-size:14px}
.large-key{font-size:14px!important;color:#4f6078!important;letter-spacing:.03em}
.button-row,.form-actions,.danger-zone{display:flex;gap:10px;align-items:center}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 9px 25px rgba(17,31,56,.04)}
.stat-card span,.stat-card small{display:block}.stat-card span{color:var(--muted);font-size:12px;font-weight:700}.stat-card strong{display:block;font-size:31px;margin:11px 0 7px}.stat-card small{color:#9aa5b5;font-size:11px}
.stat-card.positive strong{color:var(--green)}.stat-card.warning strong{color:var(--amber)}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 9px 25px rgba(17,31,56,.04);overflow:hidden;margin-bottom:22px}
.panel-head{padding:19px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}
.panel-head h2{font-size:17px;margin:0 0 5px}.panel-head p{font-size:12px;color:var(--muted);margin:0}.panel-head>a{font-size:12px;color:var(--primary);font-weight:700}
.content-grid.two{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:#7d8898;font-size:10px;text-transform:uppercase;letter-spacing:.07em;background:#fbfcfe;padding:12px 15px;border-bottom:1px solid var(--line)}
td{padding:14px 15px;border-bottom:1px solid #eef1f5;vertical-align:middle}tbody tr:hover{background:#fbfdff}
td small.block{display:block;color:#8b96a6;margin-top:5px;font-size:10px}
.actions{white-space:nowrap;text-align:right}.actions form{display:inline}
.icon-btn{display:inline-flex;border:0;background:transparent;color:#4a5a70;font-size:12px;font-weight:700;padding:6px 7px}.danger-text{color:var(--red)!important}
.mono-link{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:#245edc;white-space:nowrap}
.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.status.active{background:#e9f9f1;color:#088255}.status.suspended,.status.disabled{background:#fff0f0;color:#bd3f3f}.status.expired{background:#fff5e3;color:#a86c08}
.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f7;color:#5c687a;font-size:10px;font-weight:800;text-transform:uppercase}
.empty{padding:30px!important;text-align:center;color:#919bab}
.activity-list{padding:3px 20px}.activity-item{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;padding:15px 0;border-bottom:1px solid #eef1f5}.activity-item:last-child{border:0}.activity-dot{width:9px;height:9px;background:#4b7aff;border-radius:50%;margin-top:5px;box-shadow:0 0 0 5px #eef3ff}.activity-item strong{font-size:12px}.activity-item p{font-size:11px;color:var(--muted);margin:4px 0 0}.activity-item time{font-size:10px;color:#9ba4b2}
.toolbar{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);gap:15px}
.search-form{display:flex;gap:8px;max-width:540px;width:100%}.search-form input{max-width:360px}.search-form.multi{max-width:760px}.search-form.multi select{max-width:160px}
.muted{color:var(--muted);font-size:11px}
.user-cell{display:flex;align-items:center;gap:10px}.user-cell strong,.user-cell small{display:block}.user-cell small{font-size:10px;color:var(--muted);margin-top:4px}
.form-panel{padding:25px}.form-panel.narrow{max-width:760px}.form-actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px}
.inline-input{display:flex;gap:9px}.inline-input input{flex:1}
.detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}
.detail-card{padding-bottom:20px}
.detail-list{margin:0;padding:4px 20px}.detail-list>div{display:grid;grid-template-columns:150px 1fr;padding:13px 0;border-bottom:1px solid #eef1f5}.detail-list dt{color:var(--muted);font-size:12px}.detail-list dd{margin:0;font-size:13px;font-weight:700}.detail-list dd small{display:block;font-weight:400;color:var(--muted);margin-top:4px}
.note-box{margin:15px 20px;padding:13px;background:#f5f8fc;border-radius:11px;color:#5c697a;font-size:12px;line-height:1.6}
.danger-zone{padding:15px 20px 0;border-top:1px solid var(--line);margin-top:15px;justify-content:space-between}
.device-list{padding:5px 20px}.device-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #eef1f5}.device-card:last-child{border:0}.device-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef3ff;color:#3169f5;font-size:11px;font-weight:800}.device-copy strong,.device-copy span,.device-copy small{display:block}.device-copy strong{font-family:ui-monospace,monospace;font-size:11px}.device-copy span{font-size:11px;color:#526078;margin-top:4px}.device-copy small{font-size:9px;color:#99a2b0;margin-top:5px}
.customer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.license-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:var(--shadow)}.license-card-top{display:flex;justify-content:space-between;align-items:flex-start}.license-card h2{margin:7px 0 0}.key-box{display:flex;justify-content:space-between;align-items:center;background:#0f1728;color:#dce8ff;border-radius:12px;padding:15px;margin:20px 0;font-size:13px;letter-spacing:.03em}.key-box button{background:#25334c;color:#fff;border:0;border-radius:7px;padding:6px 9px;font-size:10px}.license-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.license-meta div{background:#f6f8fb;border-radius:11px;padding:12px}.license-meta span,.license-meta strong{display:block}.license-meta span{font-size:9px;text-transform:uppercase;color:#8b96a6}.license-meta strong{font-size:12px;margin-top:6px}
.empty-state{text-align:center;padding:50px}.empty-icon{width:56px;height:56px;border-radius:17px;background:#eef3ff;color:#3169f5;display:grid;place-items:center;margin:0 auto 15px;font-size:22px;font-weight:800}
.toast{position:fixed;right:25px;bottom:25px;background:#101827;color:#fff;padding:12px 16px;border-radius:10px;font-size:12px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}
.mobile-overlay{display:none}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.content-grid.two,.detail-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr;gap:15px}.auth-brand{padding-bottom:0}.auth-brand h1{font-size:40px}.auth-shell{min-height:auto}.auth-card{max-width:760px;width:100%;margin:auto}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.app-shell{margin-left:0}.menu-btn{display:block}.mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(6,13,24,.55);z-index:25}.main-content{padding:20px}.topbar{padding:0 18px}.page-head{align-items:flex-start;flex-direction:column}.stat-grid,.customer-grid{grid-template-columns:1fr}.content-grid.two{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full,.full{grid-column:auto}.search-form.multi{flex-wrap:wrap}.auth-body{padding:18px}.auth-brand{padding:15px}.auth-brand h1{font-size:34px}.auth-card{padding:25px}.mini-stats{grid-template-columns:1fr}.user-menu div{display:none}}
@media(max-width:560px){.stat-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.search-form{flex-direction:column;max-width:none}.search-form input,.search-form.multi select{max-width:none}.button-row{width:100%;flex-wrap:wrap}.button-row .btn{flex:1}.detail-list>div{grid-template-columns:1fr;gap:6px}.danger-zone{align-items:stretch;flex-direction:column}.danger-zone form,.danger-zone .btn{width:100%}.license-meta{grid-template-columns:1fr}.inline-input{flex-direction:column}.auth-brand{display:none}.auth-shell{display:block;min-height:calc(100vh - 36px)}}

/* v3 role/privacy and Google Maps identity */
.maps-login-logo{position:relative;width:92px;height:92px;border-radius:28px;display:grid;place-items:center;background:#fff;box-shadow:0 24px 55px rgba(0,0,0,.28);margin-bottom:28px}
.maps-login-logo img{width:67px;height:67px;object-fit:contain;position:relative;z-index:2}.map-pulse{position:absolute;inset:9px;border-radius:22px;border:2px solid rgba(66,133,244,.25);animation:mapPulse 2s infinite}@keyframes mapPulse{0%{transform:scale(.85);opacity:.8}100%{transform:scale(1.25);opacity:0}}
.map-brand-strip{display:flex;align-items:center;gap:8px;margin-top:28px;color:#dbe8fb;font-size:12px}.map-dot{width:9px;height:9px;border-radius:50%}.map-dot.blue{background:#4285f4}.map-dot.red{background:#ea4335}.map-dot.yellow{background:#fbbc05}.map-dot.green{background:#34a853}.map-brand-strip strong{margin-left:4px}
.sidebar-brand .brand-mark img{width:30px;height:30px;object-fit:contain}.five-cards{grid-template-columns:repeat(5,1fr)}
.privacy-banner{margin:18px;padding:15px 17px;border:1px solid #cfe0ff;background:#f1f6ff;border-radius:12px;display:flex;gap:12px;align-items:center}.privacy-banner strong{color:#245edc;font-size:12px;white-space:nowrap}.privacy-banner span{font-size:11px;color:#65738a}
.privacy-note{padding:14px 16px;border-radius:12px;background:#f1f6ff;border:1px solid #d6e4ff;display:flex;gap:10px}.privacy-note strong{font-size:12px;color:#245edc}.privacy-note span{font-size:11px;color:#65738a}
.section-title{position:relative;margin:3px 0 0;border-bottom:1px solid var(--line);height:24px}.section-title span{position:absolute;left:0;bottom:-7px;background:#fff;padding-right:12px;color:#3169f5;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:10px}
.pill.role-owner{background:#ede8ff;color:#6546c7}.pill.role-super_admin{background:#e7f0ff;color:#245edc}.pill.role-admin{background:#e9f9f1;color:#087b51}.pill.role-reseller{background:#fff4df;color:#9a6508}.feature-list.dark{color:#4c596c}.feature-list.dark span:before{background:#eaf9f2;color:#078254}
@media(max-width:1300px){.five-cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.five-cards{grid-template-columns:1fr 1fr}.privacy-banner{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.five-cards{grid-template-columns:1fr}}


/* GMAP v4 user management */
.status.inactive{background:#fff5e3;color:#a86c08}
.status.expired{background:#f4eaff;color:#7143b3}
.owner-lock{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px;border:1px solid #dce6ff;background:#f2f6ff;border-radius:13px}
.owner-lock strong,.owner-lock span{display:block}.owner-lock strong{font-size:13px;color:#234fbe}.owner-lock div span{font-size:11px;color:#65738a;margin-top:5px}
.role-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.role-choice{position:relative;display:block;cursor:pointer}
.role-choice input{position:absolute;opacity:0;pointer-events:none}
.role-choice>span{display:block;min-height:120px;padding:16px;border:1px solid #dce3ec;border-radius:13px;background:#fff;transition:.18s}
.role-choice strong,.role-choice small{display:block}
.role-choice strong{font-size:14px;color:#1b2940;margin-bottom:8px}
.role-choice small{font-size:11px;color:#718096;line-height:1.55}
.role-choice input:checked+span{border-color:#3169f5;background:#eef3ff;box-shadow:0 0 0 3px rgba(49,105,245,.12)}
.role-choice input:checked+span strong{color:#245bd6}
.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px}
.control-grid form{margin:0}
.control-card{width:100%;min-height:110px;text-align:left;border:1px solid #dce3ec;border-radius:13px;background:#fff;padding:16px;display:block;transition:.18s}
.control-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(17,31,56,.08)}
.control-card strong,.control-card span{display:block}
.control-card strong{font-size:13px;margin-bottom:7px}
.control-card span{font-size:10px;line-height:1.55;color:#718096}
.success-control{border-color:#c8eadb;background:#f3fbf7}.success-control strong{color:#087b51}
.warning-control{border-color:#f2dfb8;background:#fffaf0}.warning-control strong{color:#9a6508}
.danger-control{border-color:#f1cccc;background:#fff7f7}.danger-control strong{color:#ba3d3d}
.fixed-product-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:15px;border:1px solid #d7e4ff;background:linear-gradient(135deg,#eef4ff,#f6f9ff);border-radius:13px}
.fixed-product-banner>div{padding:12px;background:rgba(255,255,255,.78);border-radius:10px}
.fixed-product-banner span,.fixed-product-banner strong{display:block}
.fixed-product-banner span{font-size:9px;color:#7b899d;text-transform:uppercase;letter-spacing:.08em}
.fixed-product-banner strong{font-size:14px;color:#244eae;margin-top:6px}
@media(max-width:820px){
  .role-choice-grid,.control-grid,.fixed-product-banner{grid-template-columns:1fr}
  .role-choice>span{min-height:auto}
}


/* GMAP v5 role hierarchy */
.child-user-note{
    display:inline-flex;
    padding:5px 9px;
    border-radius:999px;
    background:#eef3ff;
    color:#285dce;
    font-size:10px;
    font-weight:800;
}


/* Professional neutral login — no company branding */
.login-page{
    min-height:100vh;
    margin:0;
    padding:24px;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 10% 5%,rgba(67,104,255,.12),transparent 31%),
        radial-gradient(circle at 95% 95%,rgba(24,196,161,.10),transparent 28%),
        #edf2f8;
    color:#132033;
}
.login-shell{
    width:min(1240px,100%);
    min-height:720px;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    overflow:hidden;
    border:1px solid rgba(135,153,180,.22);
    border-radius:28px;
    background:#fff;
    box-shadow:0 34px 100px rgba(27,44,74,.16);
}
.login-visual{
    position:relative;
    overflow:hidden;
    padding:44px 48px 34px;
    display:flex;
    flex-direction:column;
    background:
        linear-gradient(145deg,rgba(16,29,50,.97),rgba(18,40,72,.98)),
        #101d32;
    color:#fff;
}
.login-visual:before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.17;
    background-image:
        linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
    background-size:46px 46px;
    mask-image:linear-gradient(to bottom,#000,transparent 86%);
}
.login-visual-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(2px);
    pointer-events:none;
}
.login-visual-glow.one{
    width:360px;height:360px;right:-160px;top:-120px;
    background:radial-gradient(circle,rgba(77,118,255,.40),transparent 68%);
}
.login-visual-glow.two{
    width:300px;height:300px;left:-140px;bottom:-140px;
    background:radial-gradient(circle,rgba(24,202,164,.28),transparent 68%);
}
.login-brand{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:13px;
}
.login-brand img,
.login-mobile-brand img{
    width:49px;
    height:49px;
    border-radius:15px;
    box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.login-brand strong,
.login-brand span,
.login-mobile-brand strong,
.login-mobile-brand span{
    display:block;
}
.login-brand strong{
    font-size:18px;
    letter-spacing:.01em;
}
.login-brand span{
    margin-top:3px;
    color:#91a1bb;
    font-size:11px;
}
.login-hero-copy{
    position:relative;
    z-index:2;
    margin-top:68px;
    max-width:570px;
}
.login-kicker{
    display:inline-flex;
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    background:rgba(255,255,255,.06);
    color:#9eb7df;
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.login-hero-copy h1{
    margin:19px 0 17px;
    max-width:540px;
    font-size:46px;
    line-height:1.08;
    letter-spacing:-.045em;
}
.login-hero-copy p{
    margin:0;
    max-width:555px;
    color:#9facbf;
    font-size:15px;
    line-height:1.75;
}
.login-preview{
    position:relative;
    z-index:2;
    margin-top:35px;
    padding:20px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    background:rgba(255,255,255,.055);
    box-shadow:0 22px 55px rgba(0,0,0,.17);
    backdrop-filter:blur(13px);
}
.login-preview-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.login-preview-head span,
.login-preview-head strong{
    display:block;
}
.login-preview-head>div>span{
    color:#8090aa;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.11em;
}
.login-preview-head>div>strong{
    margin-top:5px;
    font-size:14px;
}
.login-live{
    display:inline-flex!important;
    align-items:center;
    gap:7px;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(38,211,155,.11);
    color:#65e3bb!important;
    font-size:9px!important;
    font-weight:800;
}
.login-live i{
    width:7px;height:7px;border-radius:50%;background:#31d49b;
    box-shadow:0 0 0 5px rgba(49,212,155,.10);
}
.login-preview-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:11px;
    margin-top:17px;
}
.login-preview-stat{
    padding:13px;
    border-radius:13px;
    background:rgba(3,12,26,.24);
}
.login-preview-stat span,
.login-preview-stat strong,
.login-preview-stat small{
    display:block;
}
.login-preview-stat span{color:#8e9db3;font-size:9px}
.login-preview-stat strong{margin:7px 0 4px;font-size:23px}
.login-preview-stat small{color:#6f819c;font-size:8px}
.login-route-card{
    height:122px;
    margin-top:11px;
    overflow:hidden;
    border-radius:14px;
    background:rgba(3,12,26,.21);
}
.login-route-card svg{width:100%;height:100%;display:block}
.login-feature-row{
    position:relative;
    z-index:2;
    display:flex;
    gap:21px;
    flex-wrap:wrap;
    margin-top:auto;
    padding-top:27px;
}
.login-feature-row div{
    display:flex;
    align-items:center;
    gap:8px;
    color:#97a7bd;
    font-size:10px;
    font-weight:600;
}
.login-feature-row i{
    width:19px;height:19px;border-radius:50%;
    display:grid;place-items:center;
    background:rgba(32,209,164,.11);
    color:#55dbb7;
    font-style:normal;
    font-size:10px;
}
.login-form-area{
    display:grid;
    place-items:center;
    padding:54px;
    background:#fff;
}
.login-form-wrap{
    width:min(410px,100%);
}
.login-mobile-brand{display:none}
.login-form-head{margin-bottom:29px}
.login-form-label{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    background:#edf3ff;
    color:#3169f5;
    font-size:9px;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.login-form-head h2{
    margin:14px 0 8px;
    color:#132033;
    font-size:32px;
    letter-spacing:-.035em;
}
.login-form-head p{
    margin:0;
    color:#758195;
    font-size:13px;
    line-height:1.65;
}
.login-form{
    display:grid;
    gap:18px;
}
.login-field{
    display:grid;
    gap:8px;
}
.login-field label{
    color:#344055;
    font-size:12px;
    font-weight:750;
}
.login-input-wrap{
    position:relative;
}
.login-input-wrap input{
    height:52px;
    padding:0 58px 0 46px;
    border:1px solid #dce3ed;
    border-radius:13px;
    background:#fbfcfe;
    font-size:13px;
    transition:.2s;
}
.login-input-wrap input:hover{border-color:#c7d1df}
.login-input-wrap input:focus{
    border-color:#5f87f7;
    background:#fff;
    box-shadow:0 0 0 4px rgba(49,105,245,.10);
}
.login-input-icon{
    position:absolute;
    left:15px;
    top:50%;
    width:19px;height:19px;
    transform:translateY(-50%);
    color:#8a98aa;
    pointer-events:none;
}
.login-input-icon svg{
    width:100%;height:100%;
    fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;
}
.login-password-toggle{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    padding:6px 8px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#567096;
    font-size:10px;
    font-weight:750;
}
.login-password-toggle:hover{background:#edf2f9}
.login-submit{
    width:100%;
    height:52px;
    margin-top:4px;
    padding:0 17px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:0;
    border-radius:13px;
    background:linear-gradient(135deg,#3169f5,#2458dc);
    color:#fff;
    box-shadow:0 13px 28px rgba(49,105,245,.25);
    font-size:13px;
    font-weight:800;
    transition:.2s;
}
.login-submit:hover{
    transform:translateY(-1px);
    box-shadow:0 17px 34px rgba(49,105,245,.31);
}
.login-submit svg{
    width:18px;height:18px;
    fill:none;stroke:currentColor;stroke-width:2;
    stroke-linecap:round;stroke-linejoin:round;
}
.login-security-note{
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin-top:23px;
    padding:13px;
    border:1px solid #e5eaf1;
    border-radius:12px;
    background:#f8fafc;
}
.login-security-icon{
    width:26px;height:26px;
    flex:0 0 auto;
    display:grid;place-items:center;
    border-radius:9px;
    background:#e9f9f2;
    color:#078254;
    font-size:11px;
    font-weight:900;
}
.login-security-note strong,
.login-security-note small{display:block}
.login-security-note strong{
    color:#334056;
    font-size:11px;
}
.login-security-note small{
    margin-top:4px;
    color:#8a95a5;
    font-size:9px;
    line-height:1.5;
}
.sidebar-brand .brand-mark{
    overflow:hidden;
    background:#f5f8ff;
}
.sidebar-brand .brand-mark img{
    width:100%;
    height:100%;
    object-fit:cover;
}
@media(max-width:1000px){
    .login-shell{grid-template-columns:1fr;max-width:620px;min-height:auto}
    .login-visual{display:none}
    .login-form-area{padding:48px}
    .login-mobile-brand{
        display:flex;
        align-items:center;
        gap:12px;
        margin-bottom:38px;
    }
    .login-mobile-brand strong{font-size:17px}
    .login-mobile-brand span{margin-top:3px;color:#7d899b;font-size:10px}
}
@media(max-width:560px){
    .login-page{padding:0;background:#fff}
    .login-shell{
        min-height:100vh;
        border:0;
        border-radius:0;
        box-shadow:none;
    }
    .login-form-area{padding:32px 24px}
    .login-form-head h2{font-size:29px}
}

/* =========================================================
   GMAP v6 — Tailwind-inspired professional admin dashboard
   ========================================================= */
:root{
  --v6-bg:#f8fafc;
  --v6-surface:#ffffff;
  --v6-surface-soft:#f8fafc;
  --v6-border:#e2e8f0;
  --v6-border-strong:#cbd5e1;
  --v6-text:#0f172a;
  --v6-muted:#64748b;
  --v6-subtle:#94a3b8;
  --v6-primary:#4f46e5;
  --v6-primary-dark:#4338ca;
  --v6-primary-soft:#eef2ff;
  --v6-success:#10b981;
  --v6-success-soft:#ecfdf5;
  --v6-warning:#f59e0b;
  --v6-warning-soft:#fffbeb;
  --v6-danger:#ef4444;
  --v6-danger-soft:#fef2f2;
  --v6-violet:#8b5cf6;
  --v6-violet-soft:#f5f3ff;
  --v6-sidebar:#0f172a;
  --v6-sidebar-soft:#1e293b;
  --v6-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.05);
  --v6-shadow-hover:0 18px 38px rgba(15,23,42,.10);
}

.app-body{
  min-height:100vh;
  background:var(--v6-bg);
  color:var(--v6-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.app-body .ui-icon{width:19px;height:19px;display:block;flex:0 0 auto}
.app-body .sidebar{
  width:264px;
  padding:20px 16px 16px;
  background:linear-gradient(180deg,#0f172a 0%,#111827 100%);
  border-right:1px solid rgba(255,255,255,.05);
  box-shadow:8px 0 30px rgba(15,23,42,.08);
}
.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.app-body .sidebar-brand{
  flex:1;
  padding:0 8px 20px;
  gap:12px;
  border-bottom:0;
}
.app-body .sidebar-brand .brand-mark{
  width:42px;height:42px;border-radius:13px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.app-body .sidebar-brand .brand-mark img{width:100%;height:100%;object-fit:cover}
.brand-copy strong{font-size:15px;letter-spacing:.04em;color:#fff}
.brand-copy small{font-size:10px;color:#94a3b8;letter-spacing:.02em}
.sidebar-close{display:none;width:34px;height:34px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#cbd5e1;font-size:22px}
.sidebar-nav{display:grid;gap:4px;margin-top:18px}
.sidebar-nav .nav-label{
  padding:0 12px 8px;
  color:#64748b;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.sidebar-nav .nav-label-spaced{margin-top:18px}
.app-body .sidebar nav a{
  min-height:44px;
  padding:0 12px;
  gap:12px;
  border-radius:10px;
  color:#94a3b8;
  font-size:13px;
  font-weight:650;
  transition:background .18s,color .18s,transform .18s;
}
.app-body .sidebar nav a .ui-icon{width:18px;height:18px}
.app-body .sidebar nav a:hover{background:rgba(255,255,255,.06);color:#e2e8f0;transform:translateX(2px)}
.app-body .sidebar nav a.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(99,102,241,.95),rgba(79,70,229,.92));
  box-shadow:0 10px 22px rgba(79,70,229,.28);
}
.app-body .sidebar nav a.active:before{display:none}
.sidebar-account{
  margin-top:auto;
  min-height:64px;
  padding:11px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  border:1px solid rgba(148,163,184,.14);
  border-radius:13px;
  background:rgba(255,255,255,.04);
}
.sidebar-account strong,.sidebar-account small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-account strong{color:#e2e8f0;font-size:11px}
.sidebar-account small{margin-top:3px;color:#64748b;font-size:9px}
.avatar.avatar-dark{background:rgba(99,102,241,.18);color:#c7d2fe}
.sidebar-logout{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:#64748b;transition:.18s}
.sidebar-logout:hover{background:rgba(239,68,68,.12);color:#fca5a5}
.sidebar-logout .ui-icon{width:16px;height:16px}

.app-body .app-shell{margin-left:264px}
.app-body .topbar{
  height:72px;
  padding:0 28px;
  border-bottom:1px solid var(--v6-border);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.topbar-copy{display:grid;gap:3px}
.topbar-copy small{color:var(--v6-subtle);font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.topbar-copy strong{font-size:14px;color:var(--v6-text)}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:14px}
.topbar-create{
  height:38px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:9px;
  background:var(--v6-primary);
  color:#fff;
  font-size:11px;
  font-weight:750;
  box-shadow:0 8px 18px rgba(79,70,229,.18);
}
.topbar-create:hover{background:var(--v6-primary-dark)}
.topbar-create .ui-icon{width:16px;height:16px}
.topbar-user{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid var(--v6-border)}
.topbar-user>span:last-child strong,.topbar-user>span:last-child small{display:block}
.topbar-user>span:last-child strong{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.topbar-user>span:last-child small{margin-top:2px;color:var(--v6-muted);font-size:9px}
.app-body .avatar{width:36px;height:36px;border-radius:10px;background:var(--v6-primary-soft);color:var(--v6-primary);font-size:13px}
.app-body .menu-btn{width:38px;height:38px;padding:0;place-items:center;color:var(--v6-text)}
.app-body .menu-btn .ui-icon{width:20px;height:20px}

.app-body .main-content{max-width:1540px;padding:28px 30px 48px}
.app-body .page-head{align-items:center;margin-bottom:24px}
.app-body .page-head h1{margin:5px 0 5px;font-size:27px;line-height:1.2;letter-spacing:-.035em}
.app-body .page-head p{font-size:12px;color:var(--v6-muted);line-height:1.55}
.app-body .eyebrow{color:var(--v6-primary);font-size:9px;letter-spacing:.14em}
.page-actions,.app-body .button-row{display:flex;align-items:center;gap:9px}
.app-body .btn{
  min-height:40px;
  padding:0 15px;
  border-radius:9px;
  font-size:11px;
  font-weight:750;
  line-height:1;
  transition:transform .17s,box-shadow .17s,background .17s,border-color .17s;
}
.app-body .btn .ui-icon{width:16px;height:16px}
.app-body .btn:hover{transform:translateY(-1px)}
.app-body .btn.primary{background:var(--v6-primary);box-shadow:0 8px 18px rgba(79,70,229,.18)}
.app-body .btn.primary:hover{background:var(--v6-primary-dark);box-shadow:0 11px 22px rgba(79,70,229,.24)}
.app-body .btn.secondary{border:1px solid var(--v6-border);background:#fff;color:#334155}
.app-body .btn.secondary:hover{background:#f8fafc;border-color:var(--v6-border-strong)}
.app-body .btn.danger{background:var(--v6-danger-soft);color:#dc2626;border:1px solid #fecaca}
.app-body .btn.warning-btn{background:var(--v6-warning-soft);color:#b45309;border:1px solid #fde68a}
.app-body .btn.success-btn{background:var(--v6-success-soft);color:#047857;border:1px solid #a7f3d0}

.app-body .panel{
  border:1px solid var(--v6-border);
  border-radius:14px;
  background:var(--v6-surface);
  box-shadow:var(--v6-shadow);
  margin-bottom:20px;
}
.app-body .panel-head{padding:18px 20px;border-color:var(--v6-border)}
.app-body .panel-head.compact{padding:16px 18px}
.app-body .panel-head h2{margin:0 0 4px;font-size:14px;letter-spacing:-.015em}
.app-body .panel-head p{font-size:10px;color:var(--v6-muted)}
.app-body .panel-head>a{display:inline-flex;align-items:center;gap:5px;color:var(--v6-primary);font-size:10px;font-weight:750}
.app-body .panel-head>a .ui-icon{width:14px;height:14px}
.panel-chip{padding:6px 9px;border-radius:999px;background:var(--v6-primary-soft);color:var(--v6-primary);font-size:9px;font-weight:750}

.app-body .stat-grid{gap:14px;margin-bottom:20px}
.app-body .dashboard-stats,.app-body .user-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.app-body .stat-card{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:17px 18px;
  border:1px solid var(--v6-border);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--v6-shadow);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.app-body .stat-card:hover{transform:translateY(-3px);box-shadow:var(--v6-shadow-hover);border-color:#d4dce8}
.stat-card:after{content:"";position:absolute;width:92px;height:92px;right:-33px;bottom:-45px;border-radius:50%;opacity:.55}
.stat-card.stat-primary:after{background:#e0e7ff}
.stat-card.stat-success:after{background:#d1fae5}
.stat-card.stat-violet:after{background:#ede9fe}
.stat-card.stat-amber:after{background:#fef3c7}
.stat-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stat-card-top>span{font-size:10px!important;color:var(--v6-muted)!important}
.stat-card-top i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-style:normal}
.stat-primary .stat-card-top i{background:var(--v6-primary-soft);color:var(--v6-primary)}
.stat-success .stat-card-top i{background:var(--v6-success-soft);color:#059669}
.stat-violet .stat-card-top i{background:var(--v6-violet-soft);color:var(--v6-violet)}
.stat-amber .stat-card-top i{background:var(--v6-warning-soft);color:#d97706}
.stat-card-top i .ui-icon{width:17px;height:17px}
.app-body .stat-card strong{position:relative;z-index:1;margin:12px 0 5px;font-size:29px;letter-spacing:-.04em;color:var(--v6-text)!important}
.app-body .stat-card small{position:relative;z-index:1;color:var(--v6-subtle);font-size:9px}

.analytics-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}
.chart-panel{min-height:310px}
.bar-chart{height:238px;padding:26px 22px 18px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:14px}
.bar-column{height:100%;display:grid;grid-template-rows:18px 1fr 18px;gap:7px;align-items:end;text-align:center}
.bar-value{color:var(--v6-muted);font-size:9px;font-weight:750}
.bar-track{height:100%;position:relative;overflow:hidden;border-radius:8px;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}
.bar-track i{position:absolute;left:22%;right:22%;bottom:0;height:var(--bar-height);min-height:3px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#818cf8,#4f46e5);box-shadow:0 8px 14px rgba(79,70,229,.18);animation:growBar .75s cubic-bezier(.2,.8,.2,1) both}
.bar-column small{color:var(--v6-muted);font-size:9px;font-weight:650}
@keyframes growBar{from{height:0}}
.donut-layout{min-height:236px;padding:24px 24px 22px;display:flex;align-items:center;justify-content:center;gap:28px}
.donut-chart{width:148px;height:148px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--v6-success) 0 var(--active-end),var(--v6-warning) var(--active-end) var(--suspended-end),var(--v6-danger) var(--suspended-end) 100%);position:relative;box-shadow:inset 0 0 0 1px rgba(15,23,42,.03)}
.donut-chart:before{content:"";position:absolute;inset:25px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--v6-border)}
.donut-chart>div{position:relative;z-index:1;text-align:center}.donut-chart strong,.donut-chart span{display:block}.donut-chart strong{font-size:26px;letter-spacing:-.04em}.donut-chart span{margin-top:3px;color:var(--v6-muted);font-size:9px}
.chart-legend{display:grid;gap:12px;min-width:120px}
.chart-legend>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}
.chart-legend>div:last-child{border-bottom:0}.chart-legend span{color:var(--v6-muted);font-size:9px}.chart-legend strong{font-size:11px}.legend-dot{width:8px;height:8px;border-radius:50%}.active-dot{background:var(--v6-success)}.suspended-dot{background:var(--v6-warning)}.expired-dot{background:var(--v6-danger)}

.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px}
.mini-license-list{padding:3px 18px 8px}
.mini-license-card{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9;transition:.18s}
.mini-license-card:last-child{border-bottom:0}.mini-license-card:hover{padding-left:5px}.mini-license-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--v6-primary-soft);color:var(--v6-primary)}.mini-license-icon .ui-icon{width:17px;height:17px}
.mini-license-copy{min-width:0}.mini-license-copy strong,.mini-license-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-license-copy strong{font-size:11px}.mini-license-copy small{margin-top:5px;color:var(--v6-muted);font:8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.mini-license-meta{display:grid;justify-items:end;gap:5px}.mini-license-meta small{color:var(--v6-subtle);font-size:8px}.row-arrow{width:15px!important;height:15px!important;color:var(--v6-subtle)}
.modern-activity{padding:4px 18px 7px}.modern-activity .activity-item{grid-template-columns:auto minmax(0,1fr) auto;padding:13px 0}.activity-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#f1f5f9;color:#64748b}.activity-icon .ui-icon{width:15px;height:15px}.modern-activity .activity-item strong{font-size:10px}.modern-activity .activity-item p{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.modern-activity .activity-item time{font-size:8px}
.role-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px 18px 18px}.role-summary-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--v6-border);border-radius:11px;transition:.18s}.role-summary-card:hover{border-color:#c7d2fe;background:#fafaff;transform:translateY(-2px)}.role-summary-card>span:nth-child(2) strong,.role-summary-card>span:nth-child(2) small{display:block}.role-summary-card>span:nth-child(2) strong{font-size:10px}.role-summary-card>span:nth-child(2) small{margin-top:3px;color:var(--v6-muted);font-size:8px}.role-summary-card>b{font-size:18px}.role-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:11px;font-weight:800}.role-avatar.role-owner{background:#f3e8ff;color:#7e22ce}.role-avatar.role-super_admin{background:#e0e7ff;color:#4338ca}.role-avatar.role-admin{background:#dcfce7;color:#15803d}.role-avatar.role-reseller{background:#fef3c7;color:#b45309}

.filter-panel{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;overflow:visible!important}
.filter-bar{flex:1;display:flex;align-items:center;gap:9px;min-width:0}
.filter-search{position:relative;flex:1;min-width:230px;max-width:430px}.filter-search>.ui-icon{position:absolute;left:13px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:#94a3b8}.filter-search input{padding-left:39px}
.app-body input,.app-body select,.app-body textarea{
  border:1px solid var(--v6-border-strong);
  border-radius:9px;
  background:#fff;
  color:var(--v6-text);
  font-size:11px;
  transition:border-color .17s,box-shadow .17s,background .17s;
}
.app-body input,.app-body select{height:42px;padding:0 12px}
.app-body textarea{padding:12px;line-height:1.6}
.app-body input::placeholder,.app-body textarea::placeholder{color:#a8b3c2}
.app-body input:focus,.app-body select:focus,.app-body textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.11)}
.filter-bar select{width:auto;min-width:142px;max-width:210px;background-color:#fff}
.filter-submit{min-height:42px!important}.clear-filter{padding:8px;color:var(--v6-muted);font-size:10px;font-weight:700}.clear-filter:hover{color:var(--v6-primary)}
.result-count{display:flex;align-items:baseline;gap:5px;padding:0 5px 0 10px;white-space:nowrap}.result-count strong{font-size:15px}.result-count span{color:var(--v6-muted);font-size:9px}

.license-card-grid,.user-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.license-card-v6,.user-card-v6{position:relative;overflow:hidden;border:1px solid var(--v6-border);border-radius:14px;background:#fff;box-shadow:var(--v6-shadow);transition:transform .2s,box-shadow .2s,border-color .2s}
.license-card-v6:hover,.user-card-v6:hover{transform:translateY(-3px);box-shadow:var(--v6-shadow-hover);border-color:#cbd5e1}
.license-card-head,.user-card-head{display:flex;align-items:center;gap:10px;padding:17px 17px 14px}
.license-client{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.client-avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:var(--v6-primary);font-size:13px;font-weight:800}.license-client>div{min-width:0}.license-client h2{margin:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.license-client span{display:block;margin-top:4px;color:var(--v6-muted);font-size:8px}
.app-body .status{padding:5px 8px;border-radius:999px;font-size:8px;letter-spacing:.05em}.app-body .status.active{background:var(--v6-success-soft);color:#047857}.app-body .status.suspended,.app-body .status.disabled{background:var(--v6-danger-soft);color:#dc2626}.app-body .status.expired{background:#fff7ed;color:#c2410c}.app-body .status.inactive{background:var(--v6-warning-soft);color:#b45309}
.license-key-box{margin:0 17px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e0e7ff;border-radius:10px;background:#f8faff}.license-key-box span{min-width:0}.license-key-box small,.license-key-box strong{display:block}.license-key-box small{color:#818cf8;font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.license-key-box strong{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3730a3;font:9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}.license-key-box button{width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #c7d2fe;border-radius:8px;background:#fff;color:var(--v6-primary)}.license-key-box button:hover{background:var(--v6-primary);color:#fff}.license-key-box button .ui-icon{width:14px;height:14px}
.license-contact-list,.user-contact-list{display:grid;gap:8px;padding:14px 17px}.license-contact-list a,.user-contact-list>a,.user-contact-list>span{display:flex;align-items:center;gap:8px;min-width:0;color:var(--v6-muted);font-size:9px}.license-contact-list .ui-icon,.user-contact-list .ui-icon{width:14px;height:14px;color:#94a3b8}.license-contact-list span,.user-contact-list span span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.license-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}.license-metrics>div{padding:12px 10px;border-right:1px solid #f1f5f9;min-width:0}.license-metrics>div:last-child{border-right:0}.license-metrics span,.license-metrics strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.license-metrics span{display:flex;align-items:center;gap:4px;color:var(--v6-subtle);font-size:7px;text-transform:uppercase;letter-spacing:.04em}.license-metrics span .ui-icon{width:10px;height:10px}.license-metrics strong{margin-top:5px;font-size:8px}
.license-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:13px 17px 16px}.card-action{height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--v6-border);border-radius:8px;color:#475569;font-size:9px;font-weight:750}.card-action:hover{background:#f8fafc;border-color:#cbd5e1}.card-action.primary-action{border-color:#c7d2fe;background:var(--v6-primary-soft);color:var(--v6-primary)}.card-action.primary-action:hover{background:#e0e7ff}.card-action .ui-icon{width:14px;height:14px}

.user-card-head{align-items:flex-start}.user-card-avatar{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;font-size:14px;font-weight:800}.role-bg-owner{background:#f3e8ff;color:#7e22ce}.role-bg-super_admin{background:#e0e7ff;color:#4338ca}.role-bg-admin{background:#dcfce7;color:#15803d}.role-bg-reseller{background:#fef3c7;color:#b45309}.user-card-title{min-width:0;flex:1}.user-card-title h2{margin:2px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.app-body .pill{padding:4px 7px;font-size:7px;letter-spacing:.04em}.app-body .pill.role-owner{background:#f3e8ff;color:#7e22ce}.app-body .pill.role-super_admin{background:#e0e7ff;color:#4338ca}.app-body .pill.role-admin{background:#dcfce7;color:#15803d}.app-body .pill.role-reseller{background:#fef3c7;color:#b45309}
.user-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:1px 17px 13px;border:1px solid #f1f5f9;border-radius:10px;background:#fafcff}.user-card-metrics>div{padding:10px;border-right:1px solid #f1f5f9;min-width:0}.user-card-metrics>div:last-child{border-right:0}.user-card-metrics span,.user-card-metrics strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-metrics span{color:var(--v6-subtle);font-size:7px;text-transform:uppercase}.user-card-metrics strong{margin-top:5px;font-size:8px}
.user-workspace-line{margin:0 17px 13px;padding:9px 10px;display:grid;grid-template-columns:auto 1fr;gap:3px 8px;border-radius:9px;background:#f8fafc}.user-workspace-line span{color:var(--v6-subtle);font-size:7px;text-transform:uppercase}.user-workspace-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:8px}.user-workspace-line small{grid-column:1/-1;color:var(--v6-muted);font-size:7px}
.user-card-actions{min-height:56px;padding:10px 14px;display:flex;align-items:center;gap:7px;border-top:1px solid #f1f5f9;background:#fcfdff}.user-card-actions form{display:flex;margin:0}.round-action{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--v6-border);border-radius:9px;background:#fff;color:#64748b;transition:.16s}.round-action:hover{transform:translateY(-1px);border-color:#cbd5e1;background:#f8fafc}.round-action .ui-icon{width:15px;height:15px}.primary-round{border-color:#c7d2fe;background:var(--v6-primary-soft);color:var(--v6-primary)}.warning-round{border-color:#fde68a;background:var(--v6-warning-soft);color:#b45309}.success-round{border-color:#a7f3d0;background:var(--v6-success-soft);color:#047857}.danger-round{border-color:#fecaca;background:var(--v6-danger-soft);color:#dc2626}.action-spacer{flex:1}.user-id-label{color:#a1acba;font:8px ui-monospace,SFMono-Regular,Menlo,monospace}

.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:18px;align-items:start}.editor-main,.editor-side .panel{margin-bottom:0}.editor-side{display:grid;gap:14px;position:sticky;top:91px}.form-panel-head{justify-content:flex-start!important;gap:11px!important}.panel-title-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--v6-primary-soft);color:var(--v6-primary)}.panel-title-icon .ui-icon{width:17px;height:17px}.form-section{padding:20px}.app-body .form-grid{gap:17px}.app-body .field{gap:7px}.app-body .field label{color:#334155;font-size:10px;font-weight:750}.app-body .field label small{color:var(--v6-muted);font-size:8px;font-weight:500}.input-with-icon{position:relative}.input-with-icon>.ui-icon{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.input-with-icon input{padding-left:38px}.side-form-stack{display:grid;gap:16px}.key-input-group{display:grid;grid-template-columns:minmax(0,1fr) 36px 36px;gap:6px}.key-input-group input{min-width:0;padding:0 10px;background:#f8fafc;font-size:9px}.key-input-group button{height:42px;display:grid;place-items:center;border:1px solid var(--v6-border-strong);border-radius:9px;background:#fff;color:#64748b}.key-input-group button:hover{border-color:#a5b4fc;color:var(--v6-primary)}.key-input-group button .ui-icon{width:15px;height:15px}.key-flash{animation:keyFlash .5s ease}@keyframes keyFlash{50%{background:#eef2ff;border-color:#818cf8}}
.modern-toggle{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;cursor:pointer}.modern-toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-ui{width:38px;height:22px;grid-row:1/3;position:relative;border-radius:999px;background:#cbd5e1;transition:.2s}.toggle-ui:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.25);transition:.2s}.modern-toggle input:checked+.toggle-ui{background:var(--v6-primary)}.modern-toggle input:checked+.toggle-ui:after{transform:translateX(16px)}.modern-toggle>span:last-child strong,.modern-toggle>span:last-child small{display:block}.modern-toggle>span:last-child strong{font-size:10px}.modern-toggle>span:last-child small{margin-top:3px;color:var(--v6-muted);font-size:8px}
.auto-setting-note{padding:12px;display:flex;align-items:flex-start;gap:9px;border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;color:#2563eb}.auto-setting-note>.ui-icon{width:17px;height:17px;margin-top:1px}.auto-setting-note span{min-width:0}.auto-setting-note strong,.auto-setting-note small{display:block}.auto-setting-note strong{font-size:9px}.auto-setting-note small{margin-top:4px;color:#64748b;font-size:8px;line-height:1.5}.owner-note{border-color:#e9d5ff;background:#faf5ff;color:#7e22ce}.sticky-form-actions{padding:12px;display:flex;align-items:center;justify-content:flex-end;gap:8px;border:1px solid var(--v6-border);border-radius:12px;background:#fff;box-shadow:var(--v6-shadow)}
.password-field-wrap{position:relative}.password-field-wrap input{padding-right:62px}.password-field-wrap button{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:6px 8px;border:0;border-radius:7px;background:#f1f5f9;color:#475569;font-size:8px;font-weight:750}
.compact-role-list{display:grid;gap:8px}.compact-role-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:10px;border:1px solid var(--v6-border);border-radius:10px;cursor:pointer;transition:.17s}.compact-role-option:hover{border-color:#c7d2fe;background:#fafaff}.compact-role-option input{position:absolute;opacity:0;pointer-events:none}.role-radio-ui{width:17px;height:17px;border:2px solid #cbd5e1;border-radius:50%;position:relative}.compact-role-option input:checked+.role-radio-ui{border-color:var(--v6-primary)}.compact-role-option input:checked+.role-radio-ui:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--v6-primary)}.compact-role-option>span:last-child strong,.compact-role-option>span:last-child small{display:block}.compact-role-option>span:last-child strong{font-size:9px}.compact-role-option>span:last-child small{margin-top:3px;color:var(--v6-muted);font-size:7px;line-height:1.4}.compact-role-option:has(input:checked){border-color:#a5b4fc;background:var(--v6-primary-soft)}
.current-status-box{padding:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;border:1px solid var(--v6-border);border-radius:10px;background:#f8fafc}.current-status-box>span:first-child{color:var(--v6-muted);font-size:9px}.current-status-box small{grid-column:1/-1;color:var(--v6-subtle);font-size:7px;line-height:1.45}

.managed-user-heading{display:flex;align-items:center;gap:13px}.large-avatar{width:52px;height:52px;border-radius:15px;font-size:17px}.manage-user-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:18px}.profile-detail-stack{padding:6px 18px 14px}.profile-detail-stack>div{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:12px 0;border-bottom:1px solid #f1f5f9}.profile-detail-stack>div:last-child{border-bottom:0}.profile-detail-stack>div>span{width:32px;height:32px;grid-row:1/3;display:grid;place-items:center;border-radius:9px;background:#f1f5f9;color:#64748b}.profile-detail-stack .ui-icon{width:15px;height:15px}.profile-detail-stack small{color:var(--v6-subtle);font-size:7px;text-transform:uppercase}.profile-detail-stack strong{font-size:9px;overflow-wrap:anywhere}.quick-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px}.quick-control-grid form{margin:0}.quick-control{width:100%;min-height:94px;padding:13px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;text-align:left;border:1px solid var(--v6-border);border-radius:11px;background:#fff;transition:.18s}.quick-control:hover{transform:translateY(-2px);box-shadow:var(--v6-shadow)}.quick-control>span{width:30px;height:30px;grid-row:1/3;display:grid;place-items:center;margin-right:9px;border-radius:9px;background:rgba(255,255,255,.7)}.quick-control .ui-icon{width:15px;height:15px}.quick-control strong{font-size:9px}.quick-control small{margin-top:4px;color:var(--v6-muted);font-size:7px;line-height:1.45}.privacy-compact-panel{padding:16px 18px;display:flex;align-items:flex-start;gap:11px}.privacy-compact-panel>.ui-icon{color:var(--v6-primary)}.privacy-compact-panel strong{font-size:10px}.privacy-compact-panel p{margin:4px 0 0;color:var(--v6-muted);font-size:8px;line-height:1.5}

.detail-key-line{display:flex;align-items:center;gap:8px;margin-top:8px}.detail-key-line code{padding:7px 9px;border:1px solid #e0e7ff;border-radius:8px;background:var(--v6-primary-soft);color:#3730a3;font-size:9px}.detail-key-line button{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--v6-border);border-radius:8px;background:#fff;color:#64748b}.detail-key-line button .ui-icon{width:14px;height:14px}.license-overview-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px}.license-profile-top{padding:20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #f1f5f9}.large-client-avatar{width:48px;height:48px;border-radius:14px;font-size:16px}.license-profile-top>div{min-width:0;flex:1}.license-profile-top h2{margin:0;font-size:14px}.license-profile-top p{margin:4px 0 0;color:var(--v6-muted);font-size:9px}.license-profile-contact{padding:7px 18px}.license-profile-contact a{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid #f1f5f9}.license-profile-contact a:last-child{border-bottom:0}.license-profile-contact>a>.ui-icon{width:17px;height:17px;color:#94a3b8}.license-profile-contact span small,.license-profile-contact span strong{display:block}.license-profile-contact span small{color:var(--v6-subtle);font-size:7px}.license-profile-contact span strong{margin-top:3px;font-size:9px;overflow-wrap:anywhere}.modern-note{margin:8px 18px 18px}.modern-note strong{font-size:9px}.modern-note p{margin:5px 0 0}.access-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px 18px}.access-summary-grid>div{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;padding:12px;border:1px solid var(--v6-border);border-radius:10px;background:#fafcff}.access-summary-grid>div>span{width:30px;height:30px;grid-row:1/3;display:grid;place-items:center;border-radius:9px;background:#fff;color:var(--v6-primary);box-shadow:0 1px 2px rgba(15,23,42,.05)}.access-summary-grid .ui-icon{width:14px;height:14px}.access-summary-grid small{color:var(--v6-subtle);font-size:7px}.access-summary-grid strong{font-size:9px}.license-control-row{padding:14px 18px;display:flex;justify-content:space-between;gap:8px;border-top:1px solid #f1f5f9}.license-control-row form{margin:0}.device-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px}.device-card-v6{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--v6-border);border-radius:11px;background:#fff}.device-card-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#f1f5f9;color:#64748b}.device-card-icon .ui-icon{width:16px;height:16px}.device-card-v6>div{min-width:0}.device-card-v6 strong,.device-card-v6 span,.device-card-v6 small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card-v6 strong{font:8px ui-monospace,SFMono-Regular,Menlo,monospace}.device-card-v6 span{margin-top:4px;color:var(--v6-muted);font-size:8px}.device-card-v6 small{margin-top:4px;color:var(--v6-subtle);font-size:7px}

.app-body .table-wrap{overflow:auto}.app-body table{font-size:10px}.app-body th{padding:11px 14px;background:#f8fafc;color:#64748b;border-color:var(--v6-border);font-size:8px}.app-body td{padding:12px 14px;border-color:#f1f5f9}.app-body tbody tr:hover{background:#fafcff}.table-action-name{display:flex;align-items:center;gap:7px}.table-action-name .ui-icon{width:14px;height:14px;color:#94a3b8}.app-body .mono-link{color:var(--v6-primary);font-size:9px}.app-body .icon-btn{border-radius:7px;color:#475569}.app-body .toolbar{border-color:var(--v6-border)}

.app-body .alert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:11px 13px;border-radius:10px;font-size:10px}.alert-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.55)}.alert-icon .ui-icon{width:14px;height:14px}.app-body .alert button{position:static;width:25px;height:25px;padding:0}.app-body .alert.success{background:var(--v6-success-soft);color:#047857;border-color:#a7f3d0}.app-body .alert.danger{background:var(--v6-danger-soft);color:#b91c1c;border-color:#fecaca}
.app-body .empty{color:var(--v6-muted)}.large-empty{padding:54px 24px!important}.compact-empty{padding:32px 20px!important}.app-body .empty-state h2,.app-body .empty-state h3{margin:0 0 7px}.app-body .empty-state h2{font-size:17px}.app-body .empty-state h3{font-size:12px}.app-body .empty-state p{margin:0 0 15px;color:var(--v6-muted);font-size:9px}.app-body .empty-icon{width:48px;height:48px;border-radius:14px;background:var(--v6-primary-soft);color:var(--v6-primary)}.app-body .empty-icon .ui-icon{width:21px;height:21px}.app-body .toast{border-radius:10px;background:#0f172a;box-shadow:0 16px 40px rgba(15,23,42,.22)}

/* Legacy pages aligned to v6 */
.app-body .form-panel{padding:22px}.app-body .form-actions{border-color:var(--v6-border)}.app-body .detail-grid{gap:18px}.app-body .detail-list>div{border-color:#f1f5f9}.app-body .note-box{background:#f8fafc}.app-body .privacy-banner{margin:0 0 18px;border-color:#dbeafe;background:#f8fbff}.app-body .privacy-note{border-color:#dbeafe;background:#f8fbff}.app-body .section-title{border-color:var(--v6-border)}.app-body .section-title span{color:var(--v6-primary)}

.reveal-item{animation:revealV6 .38s ease both;animation-delay:var(--reveal-delay,0ms)}
@keyframes revealV6{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reveal-item,.bar-track i{animation:none!important}.license-card-v6,.user-card-v6,.stat-card,.btn{transition:none!important}}

@media(max-width:1320px){
  .license-card-grid,.user-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .device-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1120px){
  .app-body .dashboard-stats,.app-body .user-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-grid,.dashboard-grid{grid-template-columns:1fr}
  .chart-panel{min-height:auto}
  .role-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .license-overview-grid,.manage-user-grid{grid-template-columns:1fr}
  .filter-panel{align-items:stretch;flex-direction:column}.result-count{justify-content:flex-end}
}
@media(max-width:900px){
  .app-body .sidebar{transform:translateX(-100%);transition:transform .24s ease}.app-body .sidebar.open{transform:none}.app-body .app-shell{margin-left:0}.app-body .menu-btn{display:grid}.sidebar-close{display:grid;place-items:center}.mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);z-index:25}.nav-open{overflow:hidden}
  .app-body .main-content{padding:22px 20px 42px}.app-body .topbar{padding:0 20px}
  .editor-layout{grid-template-columns:1fr}.editor-side{position:static}.user-editor-layout{grid-template-columns:1fr}
  .filter-bar{flex-wrap:wrap}.filter-search{max-width:none;flex-basis:100%}.filter-bar select{flex:1;max-width:none}.filter-submit{flex:0 0 auto}
}
@media(max-width:680px){
  .app-body .topbar{height:64px}.topbar-copy small{display:none}.topbar-create span,.topbar-user>span:last-child{display:none}.topbar-user{padding-left:10px}.app-body .main-content{padding:18px 14px 38px}.app-body .page-head{align-items:flex-start;flex-direction:column}.page-actions{width:100%;flex-wrap:wrap}.page-actions .btn{flex:1}
  .app-body .dashboard-stats,.app-body .user-stats,.license-card-grid,.user-card-grid,.role-summary-grid{grid-template-columns:1fr}
  .app-body .stat-card{min-height:120px}.analytics-grid,.dashboard-grid{gap:14px}.bar-chart{padding-left:12px;padding-right:12px;gap:8px}.bar-track i{left:16%;right:16%}.donut-layout{flex-direction:column}.filter-bar{display:grid;grid-template-columns:1fr}.filter-search,.filter-bar select,.filter-submit{width:100%;min-width:0}.clear-filter{text-align:center}.result-count{justify-content:flex-start;padding-left:0}
  .app-body .form-grid{grid-template-columns:1fr}.app-body .field.full,.app-body .full{grid-column:auto}.sticky-form-actions{position:sticky;bottom:8px;z-index:10}.sticky-form-actions .btn{flex:1}.license-metrics{grid-template-columns:1fr}.license-metrics>div{border-right:0;border-bottom:1px solid #f1f5f9}.license-metrics>div:last-child{border-bottom:0}.user-card-metrics{grid-template-columns:1fr}.user-card-metrics>div{border-right:0;border-bottom:1px solid #f1f5f9}.user-card-metrics>div:last-child{border-bottom:0}.quick-control-grid,.access-summary-grid,.device-card-grid{grid-template-columns:1fr}.license-control-row{flex-direction:column}.license-control-row form,.license-control-row .btn{width:100%}.mini-license-card{grid-template-columns:auto minmax(0,1fr) auto}.mini-license-meta{display:none}.role-summary-grid{padding:14px}.topbar-actions{gap:7px}
}

.profile-page-grid{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);gap:18px;align-items:start}.profile-summary-card{padding:25px;text-align:center}.profile-large-avatar{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 13px;border-radius:20px;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;font-size:24px;font-weight:800}.profile-summary-card h2{margin:0;font-size:16px}.profile-summary-card>p{margin:6px 0 10px;color:var(--v6-muted);font-size:9px;overflow-wrap:anywhere}.profile-summary-list{display:grid;gap:0;margin-top:22px;text-align:left}.profile-summary-list>div{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #f1f5f9}.profile-summary-list>div:last-child{border-bottom:0}.profile-summary-list>div>span:first-child{color:var(--v6-muted);font-size:8px}.profile-summary-list strong{font-size:8px;text-align:right}.profile-form-card .form-actions{margin-top:2px}.profile-form-card .form-actions .btn{margin-left:auto}
@media(max-width:900px){.profile-page-grid{grid-template-columns:1fr}}
.donut-chart.donut-empty{background:#e2e8f0}

/* =========================================================
   GMAP v7 — light navigation + responsive list management
   ========================================================= */
.app-body{
  --v7-sidebar:#f8fafc;
  --v7-sidebar-hover:#eef2ff;
  --v7-sidebar-active:#e0e7ff;
  --v7-sidebar-text:#475569;
  --v7-sidebar-strong:#172033;
}

/* The former desktop top strip has intentionally been removed. */
.app-body .topbar{display:none!important}
.mobile-topbar{display:none}

.app-body .sidebar{
  width:258px;
  padding:20px 15px 16px;
  color:var(--v7-sidebar-text);
  background:linear-gradient(180deg,#ffffff 0%,var(--v7-sidebar) 100%);
  border-right:1px solid #e5eaf2;
  box-shadow:8px 0 30px rgba(15,23,42,.035);
}
.app-body .app-shell{margin-left:258px}
.app-body .sidebar-brand{padding:0 8px 21px;border-bottom:1px solid #edf1f6}
.app-body .sidebar-brand .brand-mark{background:#fff;border:1px solid #e4e9f1;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.brand-copy strong{color:var(--v7-sidebar-strong)}
.brand-copy small{color:#8a97aa}
.sidebar-nav .nav-label{color:#a1adbc}
.app-body .sidebar nav a{
  position:relative;
  color:var(--v7-sidebar-text);
  border:1px solid transparent;
  transition:background .2s,color .2s,transform .2s,border-color .2s,box-shadow .2s;
}
.app-body .sidebar nav a:hover{
  color:#3730a3;
  background:var(--v7-sidebar-hover);
  border-color:#e0e7ff;
  transform:translateX(4px);
  box-shadow:0 8px 20px rgba(79,70,229,.06);
}
.app-body .sidebar nav a.active{
  color:#3730a3;
  background:var(--v7-sidebar-active);
  border-color:#c7d2fe;
  box-shadow:0 8px 22px rgba(79,70,229,.10);
}
.app-body .sidebar nav a.active:after{
  content:"";
  position:absolute;
  right:9px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#4f46e5;
}
.sidebar-account{
  border-color:#e4e9f1;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.sidebar-account:hover{transform:translateY(-2px);border-color:#cfd8e6;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.sidebar-account strong{color:#283548}
.sidebar-account small{color:#8a97aa}
.avatar.avatar-dark{background:#eef2ff;color:#4f46e5}
.sidebar-logout{color:#94a3b8}
.sidebar-logout:hover{background:#fff1f2;color:#dc2626;transform:rotate(-4deg)}
.sidebar-close{background:#eef2f7;color:#475569}

.app-body .main-content{padding-top:32px}
.dashboard-grid-single{grid-template-columns:1fr!important}

/* Search and filters */
.modern-filter-panel{padding:12px 13px}
.filter-search-group{display:flex;align-items:stretch;flex:1;min-width:330px;max-width:590px}
.filter-search-group .filter-search{max-width:none;min-width:0}
.filter-search-group .filter-search input{
  height:42px;
  padding-right:40px;
  border-radius:10px 0 0 10px;
  border-right:0;
}
.filter-search-group .filter-search input:focus{position:relative;z-index:2}
.search-submit{
  min-width:92px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #4f46e5;
  border-radius:0 10px 10px 0;
  background:#4f46e5;
  color:#fff;
  font-size:10px;
  font-weight:750;
  transition:background .18s,transform .18s,box-shadow .18s;
}
.search-submit:hover{background:#4338ca;box-shadow:0 8px 18px rgba(79,70,229,.18)}
.search-submit .ui-icon{width:14px;height:14px}
.search-clear{
  position:absolute;
  right:10px;
  top:50%;
  z-index:3;
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border-radius:7px;
  color:#94a3b8;
  font-size:17px;
}
.search-clear:hover{background:#f1f5f9;color:#334155}
.modern-filter-panel .filter-bar select{height:42px;border-radius:10px}
.modern-filter-panel .clear-filter{white-space:nowrap}

/* List layouts */
.data-list-panel{overflow:visible!important}
.data-list-head,.data-row{display:grid;align-items:center;gap:16px}
.license-list-grid{grid-template-columns:minmax(175px,1.2fr) minmax(190px,1.35fr) minmax(170px,1.1fr) minmax(125px,.85fr) 78px 88px 82px}
.user-list-grid{grid-template-columns:minmax(175px,1.15fr) minmax(190px,1.35fr) 105px minmax(135px,.9fr) minmax(135px,.9fr) 88px 150px}
.data-list-head{
  min-height:48px;
  padding:0 18px;
  border-bottom:1px solid #e9edf3;
  border-radius:14px 14px 0 0;
  background:#f8fafc;
  color:#7c899b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.data-list-head .align-right{text-align:right}
.data-list-body{background:#fff;border-radius:0 0 14px 14px}
.data-row{
  min-height:82px;
  padding:14px 18px;
  border-bottom:1px solid #edf1f5;
  transition:background .18s,box-shadow .18s,transform .18s;
}
.data-row:last-child{border-bottom:0;border-radius:0 0 14px 14px}
.data-row:hover{position:relative;z-index:1;background:#fbfcff;box-shadow:inset 3px 0 #6366f1,0 8px 24px rgba(15,23,42,.045);transform:translateX(2px)}
.list-primary{min-width:0;display:flex;align-items:center;gap:10px}
.small-avatar,.list-user-avatar{width:39px!important;height:39px!important;flex:0 0 auto;border-radius:11px!important;font-size:12px!important}
.list-primary-copy{min-width:0}
.list-primary-copy strong,.list-primary-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-primary-copy strong{font-size:10px;color:#253247}
.list-primary-copy small{margin-top:5px;color:#8a97aa;font-size:8px}
.list-contact{min-width:0;display:grid;gap:6px}
.list-contact>a,.list-contact>span{min-width:0;display:flex;align-items:center;gap:7px;color:#657286;font-size:8px;transition:color .16s}
.list-contact>a:hover{color:#4f46e5}
.list-contact .whatsapp-link:hover{color:#079455}
.list-contact .ui-icon{width:13px;height:13px}
.list-contact span span,.list-contact a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-key{min-width:0;display:flex;align-items:center;gap:6px}
.list-key code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 8px;border:1px solid #e0e7ff;border-radius:8px;background:#f5f7ff;color:#4338ca;font-size:8px}
.list-key button{width:29px;height:29px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #e4e9f1;border-radius:8px;background:#fff;color:#718096;transition:.16s}
.list-key button:hover{border-color:#c7d2fe;background:#eef2ff;color:#4f46e5;transform:translateY(-1px)}
.list-key button .ui-icon{width:13px;height:13px}
.list-stack{min-width:0}
.list-stack strong,.list-stack small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-stack strong{font-size:9px;color:#344158}
.list-stack small{margin-top:5px;color:#8f9aab;font-size:7px}
.device-count{display:flex;align-items:center;gap:6px;color:#526077}
.device-count .ui-icon{width:15px;height:15px;color:#94a3b8}
.device-count strong{font-size:9px}
.list-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.list-actions form{display:flex;margin:0}
.data-row .round-action{width:31px;height:31px;border-radius:8px}
.data-row .round-action .ui-icon{width:14px;height:14px}

/* Mobile navigation */
@media(max-width:900px){
  .mobile-topbar{
    position:sticky;
    top:0;
    z-index:20;
    height:64px;
    padding:0 16px;
    display:flex;
    align-items:center;
    gap:12px;
    border-bottom:1px solid #e5eaf1;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(14px);
  }
  .mobile-topbar .menu-btn{display:grid!important;margin:0}
  .mobile-topbar-title{min-width:0;display:grid;gap:2px}
  .mobile-topbar-title small{color:#98a4b5;font-size:8px;font-weight:800;letter-spacing:.12em}
  .mobile-topbar-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
  .mobile-quick-add{margin-left:auto;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#4f46e5;color:#fff;box-shadow:0 8px 18px rgba(79,70,229,.18)}
  .mobile-quick-add .ui-icon{width:17px;height:17px}
  .app-body .sidebar{width:278px}
  .filter-search-group{max-width:none;min-width:100%;flex-basis:100%}
  .data-list-panel{border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
  .data-list-head{display:none}
  .data-list-body{display:grid;gap:12px;background:transparent}
  .license-list-grid,.user-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .data-row{
    min-height:0;
    padding:16px;
    gap:15px 18px;
    border:1px solid #e4e9f1!important;
    border-radius:14px!important;
    background:#fff;
    box-shadow:0 7px 22px rgba(15,23,42,.045);
  }
  .data-row:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.08)}
  .data-row>div{min-width:0;position:relative;padding-top:14px}
  .data-row>div:before{content:attr(data-label);position:absolute;left:0;top:0;color:#9aa6b6;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .data-row .list-primary{grid-column:1/-1;padding-top:0}
  .data-row .list-primary:before{display:none}
  .data-row .list-contact{grid-column:1/-1}
  .data-row .list-actions{grid-column:1/-1;justify-content:flex-start;padding-top:16px;border-top:1px solid #eef1f5}
}

@media(max-width:680px){
  .app-body .main-content{padding-top:18px}
  .modern-filter-panel{padding:11px}
  .filter-search-group{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .filter-search-group .filter-search input{border-radius:9px 0 0 9px}
  .search-submit{min-width:46px;padding:0 13px;border-radius:0 9px 9px 0}
  .search-submit span{display:none}
  .modern-filter-panel .filter-bar{display:grid;grid-template-columns:1fr}
  .modern-filter-panel .filter-bar select{width:100%;max-width:none}
  .license-list-grid,.user-list-grid{grid-template-columns:1fr}
  .data-row .list-primary,.data-row .list-contact,.data-row .list-actions{grid-column:auto}
  .data-row .list-primary{grid-column:1/-1}
  .data-row .list-contact{grid-column:1/-1}
  .data-row .list-actions{grid-column:1/-1}
  .list-actions{flex-wrap:wrap}
  .page-head .btn{width:100%}
}

/* Keep the desktop list usable on narrower laptops without breaking the page. */
@media(min-width:901px){
  .data-list-panel{overflow-x:auto!important;overflow-y:hidden!important}
  .data-list-head,.data-row{min-width:1120px}
}
@media(max-width:900px){
  .data-list-head,.data-row{min-width:0}
}

/* =========================================================
   GMAP v8 — map-inspired professional login screen
   ========================================================= */
.gmap-login-page{
  --gmap-bg:#f5f7fb;
  --gmap-card:#ffffff;
  --gmap-text:#0f172a;
  --gmap-muted:#64748b;
  --gmap-line:#e2e8f0;
  --gmap-primary:#4f46e5;
  --gmap-primary-dark:#4338ca;
  --gmap-blue:#3b82f6;
  --gmap-green:#10b981;
  --gmap-amber:#f59e0b;
  position:relative;
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  display:grid;
  place-items:center;
  padding:24px;
  background:var(--gmap-bg);
  color:var(--gmap-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.gmap-login-page *{box-sizing:border-box}
.gmap-login-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.gmap-bg-grid{
  position:absolute;
  inset:0;
  opacity:.44;
  background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 84%);
}
.gmap-bg-orb{position:absolute;border-radius:999px;filter:blur(2px)}
.gmap-bg-orb-one{width:440px;height:440px;top:-210px;left:-120px;background:radial-gradient(circle,rgba(99,102,241,.16),transparent 69%)}
.gmap-bg-orb-two{width:520px;height:520px;right:-250px;bottom:-260px;background:radial-gradient(circle,rgba(16,185,129,.12),transparent 69%)}
.gmap-login-shell{
  position:relative;
  z-index:1;
  width:min(1320px,100%);
  min-height:min(820px,calc(100vh - 48px));
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  overflow:hidden;
  border:1px solid rgba(203,213,225,.9);
  border-radius:26px;
  background:#fff;
  box-shadow:0 34px 90px rgba(15,23,42,.14);
}
.gmap-login-showcase{
  position:relative;
  min-width:0;
  padding:34px 38px 28px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:linear-gradient(145deg,#f8fafc 0%,#f3f7ff 54%,#f5fbf8 100%);
  border-right:1px solid #e5eaf1;
}
.gmap-login-showcase:before{
  content:"";
  position:absolute;
  width:470px;height:470px;
  right:-210px;top:-250px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(79,70,229,.12),transparent 70%);
  pointer-events:none;
}
.gmap-login-brandbar{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px}
.gmap-login-brand,.gmap-mobile-brand{display:flex;align-items:center;gap:12px}
.gmap-login-brandmark{
  width:46px;height:46px;
  flex:0 0 auto;
  display:grid;place-items:center;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.09);
}
.gmap-login-brandmark img{width:100%;height:100%;display:block;object-fit:cover}
.gmap-login-brandcopy strong,.gmap-login-brandcopy small{display:block}
.gmap-login-brandcopy strong{color:#111827;font-size:16px;font-weight:850;letter-spacing:.045em}
.gmap-login-brandcopy small{margin-top:3px;color:#7c8a9e;font-size:9px;font-weight:650;letter-spacing:.035em}
.gmap-system-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 11px;
  border:1px solid #d8ede4;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#187652;
  box-shadow:0 7px 18px rgba(15,23,42,.04);
  font-size:9px;font-weight:800;letter-spacing:.025em;
}
.gmap-system-pill i{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.11)}
.gmap-showcase-copy{position:relative;z-index:3;margin-top:54px;max-width:620px}
.gmap-showcase-kicker{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 10px;
  border:1px solid #dbe4f2;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#4f46e5;
  font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;
}
.gmap-showcase-kicker svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gmap-showcase-copy h1{margin:17px 0 13px;max-width:590px;color:#0f172a;font-size:43px;line-height:1.09;letter-spacing:-.045em}
.gmap-showcase-copy p{margin:0;max-width:580px;color:#637086;font-size:14px;line-height:1.75}
.gmap-map-stage{
  position:relative;
  z-index:2;
  height:386px;
  margin-top:30px;
  overflow:hidden;
  border:1px solid #dfe6ef;
  border-radius:23px;
  background:#fff;
  box-shadow:0 24px 50px rgba(15,23,42,.09);
  isolation:isolate;
}
.gmap-map-stage:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.35));
  pointer-events:none;z-index:2;
}
.gmap-map-layer{position:absolute;inset:-14px;transform:translate3d(var(--move-x,0),var(--move-y,0),0);transition:transform .18s ease-out}
.gmap-map-svg{width:100%;height:100%;display:block;background:linear-gradient(145deg,#f8fafc,#f0f6f5)}
.gmap-map-roads path{fill:none;stroke:#cbd5e1;stroke-width:14;stroke-linecap:round;opacity:.48}
.gmap-map-roads path:nth-child(2){stroke:#bfdbfe;opacity:.48}
.gmap-map-roads path:nth-child(4){stroke:#c7d2fe;opacity:.5}
.gmap-map-roads path:after{stroke:#fff}
.gmap-map-blocks rect{fill:#fff;stroke:#e2e8f0;stroke-width:2;opacity:.86}
.gmap-route-halo{fill:none;stroke:rgba(59,130,246,.14);stroke-width:18;stroke-linecap:round}
.gmap-route-line{fill:none;stroke:url(#gmapRoute);stroke-width:5;stroke-linecap:round;stroke-dasharray:10 12;animation:gmapRouteDash 14s linear infinite}
.gmap-route-point{stroke:#fff;stroke-width:5}
.gmap-route-point.start{fill:#10b981}
.gmap-route-point.middle{fill:#3b82f6}
.gmap-pin{fill:#4f46e5}
@keyframes gmapRouteDash{to{stroke-dashoffset:-176}}
.gmap-floating-card{
  position:absolute;
  z-index:4;
  display:flex;align-items:center;gap:10px;
  min-width:205px;
  padding:11px 12px;
  border:1px solid rgba(226,232,240,.95);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 34px rgba(15,23,42,.13);
  backdrop-filter:blur(10px);
  transform:translate3d(var(--move-x,0),var(--move-y,0),0);
  transition:transform .18s ease-out,box-shadow .2s ease;
}
.gmap-floating-card:hover{box-shadow:0 20px 44px rgba(15,23,42,.17)}
.gmap-card-license{left:24px;top:23px}
.gmap-card-user{right:22px;top:122px}
.gmap-floating-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px}
.gmap-floating-icon.blue{background:#eff6ff;color:#2563eb}
.gmap-floating-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gmap-floating-card>span:nth-child(2){min-width:0;flex:1}
.gmap-floating-card small,.gmap-floating-card strong{display:block}
.gmap-floating-card small{color:#8b98aa;font-size:8px;letter-spacing:.02em}
.gmap-floating-card strong{margin-top:3px;color:#1e293b;font-size:10px;white-space:nowrap}
.gmap-check{width:22px;height:22px;display:grid;place-items:center;border-radius:8px;background:#ecfdf5;color:#059669;font-style:normal;font-size:10px;font-weight:900}
.gmap-avatar-mini{width:35px;height:35px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#e0e7ff,#dbeafe);color:#4338ca;font-size:9px;font-weight:850}
.gmap-online-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.1)}
.gmap-map-bottom{
  position:absolute;z-index:4;left:22px;right:22px;bottom:20px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:9px;
  transform:translate3d(var(--move-x,0),var(--move-y,0),0);
  transition:transform .18s ease-out;
}
.gmap-mini-metric{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid rgba(226,232,240,.94);border-radius:13px;background:rgba(255,255,255,.91);box-shadow:0 10px 22px rgba(15,23,42,.08);backdrop-filter:blur(9px)}
.gmap-metric-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px}
.gmap-metric-icon.green{background:#ecfdf5;color:#059669}.gmap-metric-icon.violet{background:#eef2ff;color:#4f46e5}.gmap-metric-icon.amber{background:#fffbeb;color:#d97706}
.gmap-metric-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gmap-mini-metric small,.gmap-mini-metric strong{display:block}.gmap-mini-metric small{color:#94a3b8;font-size:7px}.gmap-mini-metric strong{margin-top:2px;color:#334155;font-size:9px}
.gmap-showcase-footer{position:relative;z-index:3;display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:auto;padding-top:23px;color:#7b8799;font-size:9px;font-weight:700}
.gmap-showcase-footer span{display:flex;align-items:center;gap:7px}.gmap-showcase-footer i{width:7px;height:7px;border-radius:50%}.gmap-showcase-footer i.green{background:#10b981}.gmap-showcase-footer i.blue{background:#3b82f6}.gmap-showcase-footer i.violet{background:#6366f1}
.gmap-login-panel{position:relative;min-width:0;display:grid;align-content:center;justify-items:center;padding:52px;background:#fff}
.gmap-login-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981 0 25%,#3b82f6 25% 50%,#f59e0b 50% 75%,#ef4444 75%)}
.gmap-mobile-brand{display:none}
.gmap-login-card{width:min(410px,100%)}
.gmap-login-card-head{text-align:left;margin-bottom:27px}
.gmap-login-icon-wrap{width:62px;height:62px;display:grid;place-items:center;margin-bottom:19px;overflow:hidden;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.10)}
.gmap-login-icon-wrap img{width:49px;height:49px;object-fit:contain}
.gmap-login-badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:8px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.gmap-login-card-head h2{margin:12px 0 7px;color:#0f172a;font-size:31px;line-height:1.15;letter-spacing:-.04em}
.gmap-login-card-head p{margin:0;color:#718096;font-size:12px;line-height:1.6}
.gmap-login-alert{margin-bottom:18px;border-radius:11px;font-size:11px}
.gmap-login-form{display:grid;gap:17px}
.gmap-login-field{display:grid;gap:8px}
.gmap-login-field label{color:#334155;font-size:11px;font-weight:800}
.gmap-login-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.gmap-login-label-row span{color:#9aa6b5;font-size:8px;font-weight:650}
.gmap-login-input{position:relative}
.gmap-login-input input{
  width:100%;height:51px;
  padding:0 48px 0 44px;
  border:1px solid #dbe3ec;
  border-radius:12px;
  background:#f8fafc;
  color:#0f172a;
  outline:none;
  font-size:12px;
  transition:border-color .18s,box-shadow .18s,background .18s,transform .18s;
}
.gmap-login-input input::placeholder{color:#a8b2c0}
.gmap-login-input input:hover{border-color:#c8d2df;background:#fff}
.gmap-login-input input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px rgba(99,102,241,.10)}
.gmap-login-input-icon{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#8b98aa;pointer-events:none}
.gmap-login-input-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gmap-password-toggle{position:absolute;right:11px;top:50%;width:32px;height:32px;transform:translateY(-50%);display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#8290a3}
.gmap-password-toggle:hover{background:#eef2f7;color:#4f46e5}.gmap-password-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.gmap-password-toggle .eye-closed{display:none}.gmap-password-toggle.is-visible .eye-open{display:none}.gmap-password-toggle.is-visible .eye-closed{display:block}
.gmap-login-submit{
  width:100%;height:52px;margin-top:3px;padding:0 17px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  border:0;border-radius:12px;
  background:linear-gradient(135deg,#4f46e5,#3b82f6);
  color:#fff;
  box-shadow:0 14px 28px rgba(79,70,229,.24);
  font-size:11px;font-weight:850;letter-spacing:.01em;
  transition:transform .18s,box-shadow .18s,filter .18s;
}
.gmap-login-submit:hover{transform:translateY(-2px);box-shadow:0 19px 34px rgba(79,70,229,.30);filter:saturate(1.08)}
.gmap-login-submit:active{transform:translateY(0)}
.gmap-login-submit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}.gmap-login-submit:hover svg{transform:translateX(3px)}
.gmap-login-trust{display:flex;align-items:flex-start;gap:11px;margin-top:22px;padding:13px;border:1px solid #e3e9f0;border-radius:12px;background:#f8fafc}
.gmap-trust-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:#ecfdf5;color:#059669}.gmap-trust-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gmap-login-trust strong,.gmap-login-trust small{display:block}.gmap-login-trust strong{color:#334155;font-size:10px}.gmap-login-trust small{margin-top:4px;color:#8a97a8;font-size:8px;line-height:1.5}
.gmap-login-copyright{position:absolute;left:20px;right:20px;bottom:20px;margin:0;text-align:center;color:#a0aaba;font-size:8px;font-weight:650;letter-spacing:.02em}
@media(max-width:1080px){
  .gmap-login-page{padding:18px}
  .gmap-login-shell{grid-template-columns:minmax(0,1fr) 430px;min-height:720px}
  .gmap-login-showcase{padding:30px}
  .gmap-showcase-copy h1{font-size:37px}
  .gmap-map-stage{height:350px}
  .gmap-login-panel{padding:42px}
}
@media(max-width:900px){
  .gmap-login-page{padding:18px;background:#f5f7fb}
  .gmap-login-shell{width:min(570px,100%);min-height:auto;grid-template-columns:1fr;border-radius:22px}
  .gmap-login-showcase{display:none}
  .gmap-login-panel{min-height:680px;padding:38px 38px 58px}
  .gmap-mobile-brand{width:min(410px,100%);display:flex;margin-bottom:38px}
  .gmap-login-card-head{text-align:left}
}
@media(max-width:560px){
  .gmap-login-page{padding:0;background:#fff}
  .gmap-login-bg{display:none}
  .gmap-login-shell{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}
  .gmap-login-panel{min-height:100vh;align-content:start;padding:28px 22px 58px}
  .gmap-mobile-brand{margin-bottom:44px}
  .gmap-login-brandmark{width:43px;height:43px;border-radius:13px}
  .gmap-login-card-head h2{font-size:29px}
  .gmap-login-icon-wrap{width:58px;height:58px;border-radius:17px}
  .gmap-login-input input,.gmap-login-submit{height:50px}
  .gmap-login-label-row span{display:none}
  .gmap-login-copyright{bottom:17px}
}
@media(max-height:720px) and (min-width:901px){
  .gmap-login-page{padding:12px}
  .gmap-login-shell{min-height:calc(100vh - 24px)}
  .gmap-login-showcase{padding:24px 30px 20px}
  .gmap-showcase-copy{margin-top:30px}
  .gmap-showcase-copy h1{font-size:35px}
  .gmap-map-stage{height:310px;margin-top:22px}
  .gmap-showcase-footer{padding-top:15px}
  .gmap-login-panel{padding:38px}
}
@media(prefers-reduced-motion:reduce){
  .gmap-route-line{animation:none}
  .gmap-map-layer,.gmap-floating-card,.gmap-map-bottom,.gmap-login-submit,.gmap-login-submit svg{transition:none!important}
}


/* v9 — reseller white-label branding */
.branding-round{color:#7c3aed!important;background:#f5f3ff!important;border-color:#ddd6fe!important}
.branding-round:hover{background:#ede9fe!important;transform:translateY(-2px) rotate(-3deg)!important}
.branding-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:20px;align-items:start}
.branding-form-panel{overflow:hidden}.branding-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-top:1px solid #edf1f5;background:#fafbfc}.branding-form-actions>span{display:flex;align-items:center;gap:8px;color:#778397;font-size:10px;line-height:1.5}.branding-form-actions>span svg{width:17px;height:17px;color:#10b981;flex:0 0 auto}
.brand-color-field{display:grid;grid-template-columns:50px 1fr;gap:9px}.brand-color-field input[type=color]{width:50px;height:44px;padding:4px;border:1px solid #dce3eb;border-radius:11px;background:#fff;cursor:pointer}.brand-color-field input[type=text],.brand-color-field input:not([type]){min-width:0}
.extension-preview-panel{position:sticky;top:20px;overflow:hidden}.extension-window-preview{margin:0 18px 18px;border:1px solid #dce3ec;border-radius:15px;overflow:hidden;background:#f6f8fb;box-shadow:0 18px 42px rgba(15,23,42,.12)}
.extension-titlebar-preview{height:30px;display:flex;align-items:center;gap:7px;padding:0 10px;background:#e9eee4;color:#172033;font-size:8px}.extension-titlebar-preview strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-pin{color:var(--preview-accent);font-size:13px}.preview-window-controls{margin-left:auto;letter-spacing:5px;color:#2d3748}
.extension-toolbar-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;background:#fff;border-bottom:1px solid #edf1f5}.preview-brand-cluster{display:flex;align-items:center;gap:9px;min-width:0}.preview-brand-cluster>span:last-child{min-width:0}.preview-brand-cluster strong,.preview-brand-cluster small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-brand-cluster strong{max-width:155px;color:#162033;font-size:10px}.preview-brand-cluster small{margin-top:2px;color:#8a96a8;font-size:7px}.preview-brand-logo{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e4e9ef;border-radius:10px;background:#fff;overflow:hidden}.preview-brand-logo img{width:26px;height:26px;object-fit:contain}.preview-toolbar-actions{display:flex;gap:6px}.preview-toolbar-actions>span{display:flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid currentColor;border-radius:7px;font-size:7px;font-weight:800}.preview-toolbar-actions svg{width:10px;height:10px}.preview-help-button{color:#0b9f57}.preview-license-button{color:var(--preview-accent)}
.preview-license-card{width:calc(100% - 34px);margin:22px auto;padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;text-align:center;box-shadow:0 13px 30px rgba(15,23,42,.09)}.preview-license-brand{display:flex;align-items:center;gap:9px;text-align:left}.preview-license-brand img{width:37px;height:37px;object-fit:contain;border-radius:10px}.preview-license-brand strong,.preview-license-brand span{display:block}.preview-license-brand strong{color:#1e293b;font-size:10px}.preview-license-brand span{margin-top:3px;color:#8a96a8;font-size:7px}.preview-active-check{width:40px;height:40px;margin:17px auto 7px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--preview-accent) 12%,white);color:var(--preview-accent);font-size:19px;font-weight:900}.preview-license-card h3{margin:0;color:#182235;font-size:14px}.preview-license-card>p{margin:5px 0 13px;color:#8995a6;font-size:8px}.preview-support-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:9px;background:#f5f7fa;text-align:left}.preview-support-row span{color:#8b96a7;font-size:7px;text-transform:uppercase}.preview-support-row strong{color:#233047;font-size:9px;overflow-wrap:anywhere}.branding-note{display:flex;gap:10px;margin:0 18px 18px;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#eff6ff}.branding-note>svg{width:18px;height:18px;color:#2563eb;flex:0 0 auto}.branding-note strong,.branding-note p{display:block}.branding-note strong{color:#1e3a5f;font-size:10px}.branding-note p{margin:4px 0 0;color:#64809d;font-size:8px;line-height:1.5}
@media(max-width:1050px){.branding-layout{grid-template-columns:1fr}.extension-preview-panel{position:static}.extension-window-preview{max-width:620px}}
@media(max-width:650px){.branding-form-actions{align-items:stretch;flex-direction:column}.branding-form-actions .btn{width:100%}.extension-toolbar-preview{align-items:flex-start;flex-direction:column}.preview-toolbar-actions{width:100%;justify-content:flex-end}.extension-titlebar-preview{font-size:7px}.branding-layout{gap:14px}.extension-window-preview{margin:0 12px 12px}.branding-note{margin:0 12px 12px}}

/* v10 — controlled extension download and branding permissions */
.sidebar-download-btn{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:14px 4px 10px;
  padding:12px;
  border:1px solid #dce5f1;
  border-radius:13px;
  background:linear-gradient(135deg,#f8fbff,#eef5ff);
  color:#334155;
  box-shadow:0 9px 24px rgba(37,99,235,.07);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.sidebar-download-btn:hover{
  transform:translateY(-2px);
  border-color:#bfd2f4;
  background:#fff;
  box-shadow:0 14px 30px rgba(37,99,235,.12);
}
.sidebar-download-icon{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:10px;
  background:#e0ecff;
  color:#2563eb;
}
.sidebar-download-icon .ui-icon{width:18px;height:18px}
.sidebar-download-btn>span:nth-child(2){min-width:0}
.sidebar-download-btn strong,.sidebar-download-btn small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-download-btn strong{font-size:10px;color:#26344a}
.sidebar-download-btn small{margin-top:4px;font-size:7px;color:#8794a6}
.sidebar-download-arrow{width:15px;height:15px;color:#8ca4c8;transition:transform .18s ease}
.sidebar-download-btn:hover .sidebar-download-arrow{transform:translateX(3px)}
.download-action-btn{border-color:#cfe0f8!important;background:#f6f9ff!important;color:#315c9a!important}
.download-action-btn:hover{background:#fff!important;border-color:#aac7ee!important}
.permission-section-label{
  margin-top:4px;padding-top:12px;
  border-top:1px solid #edf1f5;
  color:#94a0b1;
  font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
}
.permission-toggle{
  padding:11px;
  border:1px solid #e3e8ef;
  border-radius:11px;
  background:#fafbfd;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.permission-toggle:hover{transform:translateY(-1px);border-color:#ced9e7;background:#fff}
.permission-lock-note{
  display:flex;align-items:flex-start;gap:10px;
  padding:12px;
  border:1px solid #dbeafe;
  border-radius:11px;
  background:#eff6ff;
  color:#2563eb;
}
.permission-lock-note>.ui-icon{width:18px;height:18px;flex:0 0 auto}
.permission-lock-note strong,.permission-lock-note small{display:block}
.permission-lock-note strong{font-size:9px;color:#29466e}
.permission-lock-note small{margin-top:4px;font-size:7px;color:#6f88a8;line-height:1.45}
.permission-mini-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.permission-mini{
  display:inline-flex;align-items:center;gap:4px;
  min-width:0;padding:4px 6px;
  border:1px solid transparent;border-radius:999px;
  font-size:6px;font-weight:800;line-height:1;
}
.permission-mini .ui-icon{width:10px;height:10px;flex:0 0 auto}
.permission-mini b{font:inherit;white-space:nowrap}
.permission-mini.enabled{border-color:#ccebdd;background:#effaf5;color:#16805c}
.permission-mini.disabled{border-color:#e2e8f0;background:#f7f8fa;color:#98a3b2}
.profile-detail-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
.profile-detail-stack>div:nth-last-child(-n+2){border-bottom:0}
.quick-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1180px){
  .profile-detail-stack{grid-template-columns:1fr}
  .profile-detail-stack>div:nth-last-child(2){border-bottom:1px solid #f1f5f9}
}
@media(max-width:820px){
  .sidebar-download-btn{margin:12px 3px 9px}
  .download-action-btn{width:100%;justify-content:center}
}
@media(max-width:620px){
  .permission-mini b{display:none}
  .permission-mini{width:24px;height:24px;padding:0;justify-content:center}
  .permission-mini .ui-icon{width:12px;height:12px}
}

/* v12 — domain-based white-label workspaces */
.dynamic-brand-mark{overflow:hidden;background:#fff!important}
.dynamic-brand-mark img{width:100%!important;height:100%!important;object-fit:contain!important;padding:3px}
.app-body .sidebar-brand .brand-copy{min-width:0}
.app-body .sidebar-brand .brand-copy strong{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-body .sidebar-nav a.active{background:rgba(var(--brand-rgb),.10);color:var(--primary);box-shadow:inset 3px 0 var(--primary)}
.app-body .sidebar-nav a:hover{background:rgba(var(--brand-rgb),.07);color:var(--primary)}
.sidebar-download-icon{background:rgba(var(--brand-rgb),.10);color:var(--primary)}
.sidebar-download-btn:hover{border-color:rgba(var(--brand-rgb),.35);box-shadow:0 14px 30px rgba(var(--brand-rgb),.12)}
.status.inactive{background:#f1f5f9;color:#64748b}
.assigned-domain-panel{margin-top:2px}
.domain-chip-list{display:flex;flex-wrap:wrap;gap:10px;padding:18px 20px}
.domain-chip{min-width:230px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dfe6ef;border-radius:13px;background:#fbfcfe;transition:.18s}
.domain-chip:hover{transform:translateY(-2px);border-color:rgba(var(--brand-rgb),.35);box-shadow:0 12px 26px rgba(15,23,42,.07);background:#fff}
.domain-chip>.ui-icon{width:17px;height:17px;color:var(--primary)}
.domain-chip>span{min-width:0}.domain-chip strong,.domain-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.domain-chip strong{font-size:11px}.domain-chip small{margin-top:4px;color:#8895a7;font-size:8px}.domain-chip.inactive{opacity:.6}
.domain-empty{width:100%;padding:12px!important}
.domain-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px;align-items:start}
.domain-form-panel,.domain-setup-panel{margin-bottom:20px}
.domain-form{display:grid;gap:18px;padding:20px}
.field-help{display:block;margin-top:2px;color:#8a96a8;font-size:9px;line-height:1.5}
.domain-active-switch{display:grid;grid-template-columns:auto 42px minmax(0,1fr);align-items:center;gap:10px;padding:13px;border:1px solid #e2e8f0;border-radius:12px;background:#fafbfd;cursor:pointer}
.domain-active-switch>input{position:absolute;opacity:0;pointer-events:none}
.domain-active-switch>span{width:42px;height:23px;border-radius:999px;background:#cbd5e1;position:relative;transition:.18s}
.domain-active-switch>span:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.22);transition:.18s}
.domain-active-switch>input:checked+span{background:var(--primary)}
.domain-active-switch>input:checked+span:after{transform:translateX(19px)}
.domain-active-switch>div{grid-column:3}.domain-active-switch strong,.domain-active-switch small{display:block}.domain-active-switch strong{font-size:10px}.domain-active-switch small{margin-top:4px;color:#8b96a7;font-size:8px;line-height:1.45}
.domain-save-btn{width:100%}
.domain-setup-panel>.panel-head>.ui-icon{width:22px;height:22px;color:var(--primary)}
.domain-steps{list-style:none;display:grid;gap:0;margin:0;padding:8px 20px 12px}
.domain-steps li{display:grid;grid-template-columns:31px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f5}.domain-steps li:last-child{border-bottom:0}
.domain-steps li>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:rgba(var(--brand-rgb),.10);color:var(--primary);font-size:10px;font-weight:850}
.domain-steps strong,.domain-steps p{display:block}.domain-steps strong{font-size:10px}.domain-steps p{margin:4px 0 0;color:#8490a2;font-size:8px;line-height:1.55}
.domain-security-note{display:flex;align-items:flex-start;gap:10px;margin:0 20px 20px;padding:12px;border:1px solid rgba(var(--brand-rgb),.18);border-radius:12px;background:rgba(var(--brand-rgb),.05)}
.domain-security-note>.ui-icon{width:18px;height:18px;color:var(--primary);flex:0 0 auto}.domain-security-note strong,.domain-security-note small{display:block}.domain-security-note strong{font-size:9px}.domain-security-note small{margin-top:4px;color:#78879a;font-size:8px;line-height:1.5}
.domain-list{display:grid}
.domain-row{display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(220px,.9fr) auto auto;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid #edf1f5;transition:.18s}.domain-row:last-child{border-bottom:0}.domain-row:hover{background:#fbfdff}
.domain-row-brand{display:flex;align-items:center;gap:11px;min-width:0}.domain-row-logo{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:1px solid #e2e8f0;border-radius:12px;background:color-mix(in srgb,var(--domain-accent) 9%,white);color:var(--domain-accent);font-size:14px;font-weight:850}.domain-row-logo img{width:100%;height:100%;padding:4px;object-fit:contain}.domain-row-brand>span:last-child{min-width:0}.domain-row-brand strong,.domain-row-brand small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.domain-row-brand strong{font-size:11px}.domain-row-brand small{margin-top:4px;color:#8793a5;font-size:8px}
.domain-row-owner{min-width:0}.domain-row-owner small,.domain-row-owner strong,.domain-row-owner span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.domain-row-owner small{color:#9aa5b4;font-size:7px;text-transform:uppercase;letter-spacing:.06em}.domain-row-owner strong{margin-top:4px;font-size:9px}.domain-row-owner span{margin-top:3px;color:#8794a5;font-size:7px}
.domain-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.domain-row-actions form{display:inline-flex}.icon-action{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:9px;background:#f2f5f8;color:#5f6d80;transition:.18s}.icon-action:hover{transform:translateY(-2px);background:rgba(var(--brand-rgb),.10);color:var(--primary)}.icon-action.danger:hover{background:#fff1f2;color:#dc2626}.icon-action .ui-icon{width:15px;height:15px}
@media(max-width:1050px){.domain-layout{grid-template-columns:1fr}.domain-row{grid-template-columns:minmax(0,1fr) auto}.domain-row-owner{grid-column:1}.domain-row-status{grid-column:2;grid-row:1}.domain-row-actions{grid-column:2;grid-row:2}}
@media(max-width:700px){.domain-page-head{align-items:stretch;flex-direction:column}.domain-page-head>.btn{width:100%}.domain-row{grid-template-columns:1fr;padding:14px}.domain-row-owner,.domain-row-status,.domain-row-actions{grid-column:1;grid-row:auto}.domain-row-actions{justify-content:flex-start}.domain-chip{min-width:100%}.domain-chip-list{padding:14px}.domain-form{padding:14px}.domain-steps{padding:8px 14px 10px}.domain-security-note{margin:0 14px 14px}.assigned-domain-panel .panel-head{align-items:stretch;flex-direction:column}.assigned-domain-panel .panel-head .btn{width:100%}}

/* =========================================================
   GMAP V13 PROFESSIONAL WHITE-LABEL LOGIN
   ========================================================= */
.wl-login-page{
    margin:0;
    min-height:100vh;
    color:#172033;
    background:#eef4fb;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    overflow-x:hidden;
}
.wl-login-page *{box-sizing:border-box}
.wl-login-background{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.wl-login-grid{
    position:absolute;inset:0;
    opacity:.32;
    background-image:linear-gradient(rgba(111,132,165,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(111,132,165,.08) 1px,transparent 1px);
    background-size:32px 32px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.86),transparent 92%);
}
.wl-login-orb{position:absolute;border-radius:999px;filter:blur(6px);opacity:.72}
.wl-login-orb-one{width:520px;height:520px;left:-170px;top:-210px;background:rgba(var(--wl-rgb),.13)}
.wl-login-orb-two{width:480px;height:480px;right:-180px;bottom:-220px;background:rgba(14,165,233,.11)}
.wl-login-shell{
    position:relative;z-index:1;
    width:min(1180px,calc(100% - 40px));
    min-height:720px;
    margin:clamp(20px,4vh,42px) auto;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);
    border:1px solid rgba(153,171,199,.42);
    border-radius:30px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 34px 100px rgba(26,44,76,.16),0 5px 20px rgba(34,52,82,.06);
}
.wl-login-visual{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:34px 42px 32px;
    overflow:hidden;
    background:
        radial-gradient(circle at 72% 34%,rgba(var(--wl-rgb),.17),transparent 31%),
        linear-gradient(145deg,#f9fcff 0%,#edf5ff 48%,#f5f9ff 100%);
    border-right:1px solid rgba(148,163,184,.28);
}
.wl-login-visual:before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.75;
    background-image:linear-gradient(rgba(91,117,151,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(91,117,151,.055) 1px,transparent 1px);
    background-size:26px 26px;
    mask-image:linear-gradient(to bottom,#000 0%,transparent 94%);
}
.wl-visual-top,.wl-map-visual,.wl-visual-copy,.wl-feature-row{position:relative;z-index:1}
.wl-visual-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.wl-visual-brand{display:inline-flex;align-items:center;gap:12px;color:#172033;text-decoration:none;min-width:0}
.wl-visual-brand-logo{
    width:45px;height:45px;display:grid;place-items:center;overflow:hidden;border-radius:14px;
    background:#fff;border:1px solid rgba(148,163,184,.32);box-shadow:0 8px 24px rgba(31,56,93,.09)
}
.wl-visual-brand-logo img{width:31px;height:31px;object-fit:contain}
.wl-visual-brand span:last-child{display:flex;flex-direction:column;min-width:0}
.wl-visual-brand strong{font-size:15px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
.wl-visual-brand small{margin-top:2px;color:#75849a;font-size:11px;font-weight:650;letter-spacing:.025em}
.wl-secure-pill{
    display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;
    font-size:11px;font-weight:750;color:#4e627d;background:rgba(255,255,255,.76);
    border:1px solid rgba(148,163,184,.3);box-shadow:0 6px 18px rgba(42,60,88,.05);white-space:nowrap
}
.wl-secure-pill i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.wl-map-visual{
    height:355px;margin:18px -8px 5px;transform:translate(var(--move-x,0),var(--move-y,0));transition:transform .2s ease-out
}
.wl-route-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wl-road-line{fill:none;stroke:#b9c8dc;stroke-width:2;opacity:.47;stroke-linecap:round}
.wl-route-shadow{fill:none;stroke:rgba(var(--wl-rgb),.15);stroke-width:17;stroke-linecap:round}
.wl-route-main{fill:none;stroke:var(--wl-primary);stroke-width:5;stroke-linecap:round;stroke-dasharray:12 10;animation:wl-route-flow 11s linear infinite}
.wl-route-point{fill:#fff;stroke:var(--wl-primary);stroke-width:5}
@keyframes wl-route-flow{to{stroke-dashoffset:-220}}
.wl-google-map-icon-card{
    position:absolute;left:50%;top:48%;width:152px;height:152px;transform:translate(-50%,-50%);
    display:grid;place-items:center;border-radius:42px;background:rgba(255,255,255,.94);
    border:1px solid rgba(148,163,184,.25);box-shadow:0 28px 60px rgba(31,56,93,.18),inset 0 1px 0 #fff
}
.wl-google-map-icon-card:after{
    content:"";position:absolute;inset:12px;border-radius:32px;border:1px solid rgba(var(--wl-rgb),.11);pointer-events:none
}
.wl-google-map-icon-card img{position:relative;z-index:2;width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(31,56,93,.17));animation:wl-icon-float 4s ease-in-out infinite}
.wl-google-map-glow{position:absolute;width:102px;height:102px;border-radius:50%;background:rgba(var(--wl-rgb),.18);filter:blur(22px)}
@keyframes wl-icon-float{50%{transform:translateY(-7px)}}
.wl-map-ring{position:absolute;left:50%;top:48%;border:1px solid rgba(var(--wl-rgb),.18);border-radius:50%;transform:translate(-50%,-50%)}
.wl-map-ring-one{width:235px;height:235px}
.wl-map-ring-two{width:315px;height:315px;opacity:.65}
.wl-map-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--wl-primary);box-shadow:0 0 0 6px rgba(var(--wl-rgb),.11)}
.wl-map-dot.dot-one{left:17%;top:28%}.wl-map-dot.dot-two{right:17%;top:19%}.wl-map-dot.dot-three{right:23%;bottom:17%}
.wl-location-card{
    position:absolute;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;
    background:rgba(255,255,255,.93);border:1px solid rgba(148,163,184,.26);
    box-shadow:0 16px 36px rgba(38,61,96,.12);backdrop-filter:blur(9px);
    transform:translate(var(--move-x,0),var(--move-y,0));transition:transform .2s ease-out
}
.wl-location-card-one{left:2%;top:20%}.wl-location-card-two{right:0;bottom:14%}
.wl-location-card small,.wl-location-card strong{display:block}.wl-location-card small{font-size:10px;color:#8591a4;font-weight:700}.wl-location-card strong{margin-top:2px;font-size:12px;color:#27354a}
.wl-location-icon,.wl-status-check{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(var(--wl-rgb),.1);color:var(--wl-primary);flex:0 0 auto}
.wl-location-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9}
.wl-status-check{background:#e9f9ef;color:#16a34a;font-size:16px;font-weight:900}
.wl-visual-copy{max-width:550px;margin-top:auto}
.wl-product-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(var(--wl-rgb),.09);color:var(--wl-primary);font-size:11px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.wl-visual-copy h1{margin:14px 0 12px;font-size:clamp(30px,3vw,44px);line-height:1.08;letter-spacing:-.038em;color:#152238}
.wl-visual-copy p{margin:0;color:#64748b;font-size:14px;line-height:1.72;max-width:510px}
.wl-feature-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:23px;padding-top:21px;border-top:1px solid rgba(148,163,184,.25)}
.wl-feature-row span{display:inline-flex;align-items:center;gap:7px;color:#50627b;font-size:11px;font-weight:700}
.wl-feature-row i{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:rgba(var(--wl-rgb),.1);color:var(--wl-primary);font-style:normal;font-size:11px}
.wl-login-form-side{position:relative;display:flex;align-items:center;background:#fff;padding:42px 48px}
.wl-login-form-side:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,var(--wl-primary),var(--wl-primary-dark));opacity:.9}
.wl-login-form-wrap{width:100%;max-width:430px;margin:auto}
.wl-form-brandline{display:flex;align-items:center;gap:11px;margin-bottom:42px}
.wl-form-brand-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;border:1px solid #dce4ef;background:#fff;box-shadow:0 7px 20px rgba(29,50,82,.08);overflow:hidden}
.wl-form-brand-icon img{width:29px;height:29px;object-fit:contain}
.wl-form-brandline>span:last-child{display:flex;flex-direction:column;min-width:0}
.wl-form-brandline strong{font-size:14px;color:#1d293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.wl-form-brandline small{font-size:10px;color:#8995a8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.wl-form-kicker{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--wl-primary)}
.wl-form-heading h2{margin:8px 0 9px;font-size:31px;line-height:1.15;letter-spacing:-.032em;color:#172033}
.wl-form-heading p{margin:0;color:#748197;font-size:13px;line-height:1.65}
.wl-login-alert{margin:20px 0 0;border-radius:13px;font-size:12px}
.wl-login-form{margin-top:28px}
.wl-field{margin-bottom:18px}
.wl-field label{display:block;margin-bottom:7px;color:#34435a;font-size:12px;font-weight:750}
.wl-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wl-field-label-row span{margin-bottom:7px;color:#9aa5b5;font-size:10px;font-weight:650}
.wl-input-wrap{position:relative;display:flex;align-items:center}
.wl-input-wrap input{
    width:100%;height:50px;padding:0 46px 0 43px;border-radius:13px;border:1px solid #d8e1ec;background:#fbfcfe;
    color:#1e2a3c;font-size:13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease
}
.wl-input-wrap input::placeholder{color:#abb4c2}
.wl-input-wrap input:hover{border-color:#c2cedc;background:#fff}
.wl-input-wrap input:focus{border-color:var(--wl-primary);background:#fff;box-shadow:0 0 0 4px rgba(var(--wl-rgb),.1)}
.wl-input-icon{position:absolute;left:14px;z-index:1;display:grid;place-items:center;color:#8996a8}
.wl-input-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wl-password-toggle{position:absolute;right:9px;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#8896a8;cursor:pointer;display:grid;place-items:center;transition:.18s ease}
.wl-password-toggle:hover{background:#eef3f8;color:var(--wl-primary)}
.wl-password-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wl-password-toggle .eye-closed{display:none}.wl-password-toggle.is-visible .eye-open{display:none}.wl-password-toggle.is-visible .eye-closed{display:block}
.wl-login-button,.wl-buy-button{width:100%;min-height:51px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.wl-login-button{border:0;color:#fff;background:linear-gradient(135deg,var(--wl-primary),var(--wl-primary-dark));box-shadow:0 13px 26px rgba(var(--wl-rgb),.23)}
.wl-login-button svg,.wl-buy-arrow{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wl-login-button:hover{transform:translateY(-2px);box-shadow:0 17px 31px rgba(var(--wl-rgb),.29);filter:saturate(1.06)}
.wl-login-button:active,.wl-buy-button:active{transform:translateY(0)}
.wl-buy-button{position:relative;justify-content:flex-start;margin-top:12px;padding:9px 13px;border:1px solid #bce8ce;background:#f0fcf5;color:#13783c;box-shadow:0 8px 18px rgba(20,120,62,.06)}
.wl-buy-button:hover{transform:translateY(-2px);border-color:#84d8a7;background:#e9faef;box-shadow:0 14px 25px rgba(20,120,62,.12)}
.wl-whatsapp-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#20b85a;color:#fff;flex:0 0 auto}
.wl-whatsapp-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.wl-buy-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.wl-buy-copy strong{font-size:12px}.wl-buy-copy small{font-size:9.5px;color:#4f8b67;font-weight:650;margin-top:2px}
.wl-buy-arrow{margin-left:auto}
.wl-login-trust-row{display:flex;align-items:flex-start;gap:10px;margin-top:24px;padding:14px;border-radius:13px;background:#f8fafc;border:1px solid #e6ebf2}
.wl-login-trust-row>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:rgba(var(--wl-rgb),.09);color:var(--wl-primary);flex:0 0 auto}
.wl-login-trust-row svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wl-login-trust-row p{margin:0;display:flex;flex-direction:column}.wl-login-trust-row strong{font-size:11px;color:#3a4a61}.wl-login-trust-row small{margin-top:3px;font-size:9.5px;line-height:1.45;color:#8895a6}
.wl-login-footer{margin:23px 0 0;text-align:center;color:#a0aaba;font-size:9.5px;font-weight:650}
.wl-mobile-map-brand{display:none}
@media (max-width:980px){
    .wl-login-shell{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);width:min(1040px,calc(100% - 28px));min-height:680px}
    .wl-login-visual{padding:30px 30px 28px}.wl-login-form-side{padding:38px 34px}
    .wl-map-visual{height:320px}.wl-location-card-one{left:-1%}.wl-location-card-two{right:-2%}
    .wl-google-map-icon-card{width:135px;height:135px;border-radius:36px}.wl-google-map-icon-card img{width:77px;height:77px}
    .wl-visual-copy h1{font-size:34px}
}
@media (max-width:760px){
    .wl-login-page{background:#f3f7fc}
    .wl-login-shell{display:block;width:min(520px,calc(100% - 22px));min-height:0;margin:18px auto;border-radius:23px;overflow:hidden}
    .wl-login-visual{display:none}
    .wl-login-form-side{display:block;padding:0 22px 25px;border:0}
    .wl-login-form-side:before{display:none}
    .wl-mobile-map-brand{display:flex;align-items:center;gap:13px;margin:0 -22px 30px;padding:22px;background:linear-gradient(135deg,rgba(var(--wl-rgb),.1),#f3f8ff);border-bottom:1px solid #e1e9f2}
    .wl-mobile-map-brand img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 7px 11px rgba(31,56,93,.13))}
    .wl-mobile-map-brand span{display:flex;flex-direction:column;min-width:0}.wl-mobile-map-brand strong{font-size:15px;color:#1d2b40}.wl-mobile-map-brand small{font-size:10px;color:#718096;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .wl-form-brandline{margin-bottom:29px}.wl-form-heading h2{font-size:27px}.wl-login-form{margin-top:24px}
}
@media (max-width:390px){
    .wl-login-shell{width:calc(100% - 14px);margin:7px auto;border-radius:19px}
    .wl-login-form-side{padding:0 16px 20px}.wl-mobile-map-brand{margin:0 -16px 25px;padding:18px 16px}
    .wl-form-brandline strong,.wl-form-brandline small{max-width:220px}.wl-form-heading h2{font-size:25px}
}
@media (prefers-reduced-motion:reduce){
    .wl-route-main,.wl-google-map-icon-card img{animation:none!important}
    .wl-map-visual,.wl-location-card,.wl-login-button,.wl-buy-button{transition:none!important}
}
