@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600&display=swap";:root{--bg:#f4f7fb;--panel:#fff;--panel-soft:#f8fafc;--panel-muted:#f1f5f9;--text:#0f172a;--text-soft:#334155;--muted:#64748b;--muted-2:#94a3b8;--line:#e2e8f0;--line-soft:#edf2f7;--brand:#2563eb;--brand-strong:#1d4ed8;--brand-soft:#eff6ff;--success:#059669;--warn:#d97706;--danger:#dc2626;--sidebar:#0b1220;--sidebar-2:#111827;--sidebar-width:248px;--topbar-height:72px;--radius-sm:10px;--radius:14px;--radius-lg:18px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 6px 18px #0f172a0f;--shadow:0 16px 40px #0f172a1a;--shadow-lg:0 24px 70px #0f172a29}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb2e}.hidden{display:none!important}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{width:var(--sidebar-width);z-index:50;background:linear-gradient(180deg, var(--sidebar) 0%, #0f172a 55%, var(--sidebar-2) 100%);color:#cbd5e1;border-right:1px solid #ffffff0f;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 30px #02061714}.brand{height:var(--topbar-height);border-bottom:1px solid #ffffff14;flex:none;align-items:center;gap:12px;padding:0 18px;display:flex}.brand-logo{color:#fff;letter-spacing:-.04em;background:linear-gradient(145deg,#60a5fa 0%,#2563eb 52%,#1d4ed8 100%);border-radius:12px;place-items:center;width:38px;height:38px;font-weight:800;display:grid;box-shadow:0 10px 24px #2563eb52}.brand strong{color:#fff;letter-spacing:-.015em;font-size:14px;display:block}.brand small{color:#7f8ca3;margin-top:2px;font-size:9px;display:block}.nav{scrollbar-width:thin;scrollbar-color:#334155 transparent;flex-direction:column;gap:4px;padding:14px 12px 20px;display:flex;overflow:auto}.nav-label{letter-spacing:.13em;text-transform:uppercase;color:#53627a;padding:15px 10px 6px;font-size:9px;font-weight:800}.nav a{color:#91a0b6;border-radius:11px;align-items:center;gap:11px;min-height:42px;padding:9px 11px;font-size:12px;font-weight:650;transition:background .18s,color .18s,transform .18s;display:flex}.nav a:hover{color:#f8fafc;background:#ffffff0e;transform:translate(1px)}.nav a.active{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 10px 24px #1d4ed83d}.nav svg{stroke-width:1.9px;flex:none;width:17px;height:17px}.sidebar-foot{border-top:1px solid #ffffff14;margin-top:auto;padding:14px}.user-mini{align-items:center;gap:10px;min-width:0;display:flex}.avatar{color:#fff;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:10px;font-weight:800;display:grid;box-shadow:0 6px 16px #2563eb38}.user-mini div:last-child{min-width:0}.user-mini strong{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.user-mini small{color:#64748b;margin-top:2px;font-size:9px;display:block}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:45;opacity:0;pointer-events:none;background:#0206177a;transition:opacity .22s;position:fixed;inset:0}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.main{grid-column:2;min-width:0;min-height:100dvh}.topbar{height:var(--topbar-height);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:35;background:#ffffffe0;border-bottom:1px solid #e2e8f0e6;align-items:center;gap:16px;padding:0 26px;display:flex;position:sticky;top:0;box-shadow:0 1px #0f172a05}.menu-btn{border:1px solid var(--line);color:#475569;background:#fff;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:none}.menu-btn svg{width:18px;height:18px}.global-search{flex:1;min-width:180px;max-width:660px;position:relative}.global-search input{color:#1e293b;background:#f8fafc;border:1px solid #d9e1ec;border-radius:12px;outline:none;width:100%;height:42px;padding:0 45px 0 42px;font-size:12px;transition:all .18s}.global-search input::placeholder{color:#94a3b8}.global-search input:hover{background:#fff;border-color:#cbd5e1}.global-search input:focus{background:#fff;border-color:#93c5fd;box-shadow:0 0 0 4px #3b82f61a}.search-icon{color:#94a3b8;pointer-events:none;width:18px;height:18px;position:absolute;top:12px;left:14px}.kbd{color:#94a3b8;box-shadow:var(--shadow-xs);background:#fff;border:1px solid #dbe1ea;border-radius:6px;padding:4px 7px;font-size:9px;position:absolute;top:9px;right:10px}.search-results{border:1px solid var(--line);box-shadow:var(--shadow);z-index:80;background:#fff;border-radius:13px;max-height:280px;padding:6px;display:none;position:absolute;top:49px;left:0;right:0;overflow:auto}.search-results.show{display:block}.search-item{color:#334155;cursor:pointer;border-radius:9px;padding:10px 11px;font-size:11px}.search-item:hover{color:#1d4ed8;background:#eff6ff}.top-actions{flex:none;align-items:center;gap:9px;margin-left:auto;display:flex}.weather{border:1px solid var(--line);min-width:132px;height:42px;box-shadow:var(--shadow-xs);background:#fff;border-radius:12px;align-items:center;gap:9px;padding:6px 10px;display:flex}.weather .icon{font-size:17px;line-height:1}.weather strong{font-size:11px}.weather small{color:var(--muted);white-space:nowrap;margin-top:2px;font-size:8px;display:block}.icon-btn{border:1px solid var(--line);color:#475569;width:40px;height:40px;box-shadow:var(--shadow-xs);background:#fff;border-radius:11px;place-items:center;transition:all .18s;display:grid}.icon-btn:hover{color:#1e293b;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.icon-btn svg{width:17px;height:17px}.header-user{white-space:nowrap;align-items:center;gap:8px;padding-left:3px;display:flex}.content{max-width:1580px;margin:0 auto;padding:28px 30px 40px}.page-head{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:22px;display:flex}.page-head>div:first-child{min-width:0}.page-head h1{letter-spacing:-.035em;margin:0;font-size:27px;line-height:1.15}.page-head p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.6}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.btn{border:1px solid var(--line);color:#334155;min-height:40px;box-shadow:var(--shadow-xs);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:11px;font-weight:700;transition:all .18s;display:inline-flex}.btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg, var(--brand), var(--brand-strong));border-color:var(--brand);color:#fff;box-shadow:0 8px 18px #2563eb2e}.btn.primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);border-color:#1d4ed8}.btn.success{background:var(--success);border-color:var(--success);color:#fff}.btn.danger{color:var(--danger);background:#fff}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow .18s,border-color .18s;overflow:hidden}.card:hover{border-color:#d8e1ec;box-shadow:0 8px 24px #0f172a0b}.card-pad{padding:19px}.metric{justify-content:space-between;align-items:flex-start;gap:14px;min-height:128px;display:flex}.metric .label{color:var(--muted);letter-spacing:.01em;font-size:10px;font-weight:700}.metric .value{letter-spacing:-.045em;color:#0f172a;margin-top:11px;font-size:29px;font-weight:800;line-height:1}.metric .trend{color:var(--success);margin-top:10px;font-size:9px;font-weight:750}.metric-icon{color:#2563eb;background:linear-gradient(145deg,#eff6ff,#dbeafe);border:1px solid #dbeafe;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.metric-icon svg{width:19px;height:19px}.card-title{color:#172033;margin:0;font-size:12px;font-weight:800}.card-sub{color:var(--muted);margin-top:4px;font-size:10px}.card-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:15px 18px;display:flex}.table-wrap{scrollbar-width:thin;overflow:auto}.table{border-collapse:collapse;width:100%;min-width:640px;font-size:11px}.table th{text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--line);background:#fbfcfe;padding:11px 16px;font-size:9px}.table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;color:#334155;padding:13px 16px}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fafcff}.status{letter-spacing:.05em;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:8px;font-weight:800;display:inline-flex}.status.live{color:#047857;background:#ecfdf5}.status.draft{color:#475569;background:#f1f5f9}.status.warn{color:#c2410c;background:#fff7ed}.map-thumb{background:linear-gradient(145deg,#eff6ff,#bfdbfe);border:1px solid #dbeafe;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;font-size:15px;display:grid}.row-title{align-items:center;gap:10px;min-width:180px;display:flex}.row-title strong{color:#172033;font-size:11px}.row-title small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.chip{color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;font-weight:750;display:inline-flex}.progress i{background:linear-gradient(90deg,#60a5fa,#2563eb);border-radius:999px;height:100%;display:block}.list{flex-direction:column;display:flex}.list-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;display:flex}.list-row:last-child{border-bottom:0}.list-row strong{color:#1e293b;font-size:10px}.list-row small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.45;display:block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field label{color:#64748b;margin-bottom:6px;font-size:9px;font-weight:750;display:block}.field input,.field select,.field textarea{color:#1e293b;background:#fff;border:1px solid #dbe1ea;border-radius:10px;outline:none;width:100%;padding:10px 11px;font-size:11px;transition:all .18s}.field input:hover,.field select:hover,.field textarea:hover{border-color:#cbd5e1}.field textarea{resize:vertical;min-height:92px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f617}.switch{width:40px;height:22px;box-shadow:none;background:#cbd5e1;border:0;border-radius:999px;padding:3px;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;display:block;box-shadow:0 1px 4px #0f172a2e}.switch.on{background:#2563eb}.switch.on:after{transform:translate(18px)}.setting-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:10px}.setting-row small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.5;display:block}.chart{height:220px;padding:18px;position:relative}.bars{align-items:flex-end;gap:9px;display:flex;position:absolute;inset:24px 18px}.bar{opacity:.88;background:linear-gradient(#60a5fa,#2563eb);border-radius:6px 6px 2px 2px;flex:1;min-width:7px;box-shadow:inset 0 1px #ffffff40}.bar:hover{opacity:1}.chart-lines{pointer-events:none;background:repeating-linear-gradient(0deg,#eef2f7 0 1px,#0000 1px 42px);position:absolute;inset:24px 18px}.editor-shell{height:calc(100dvh - var(--topbar-height));background:#e8eef5;grid-template-columns:78px 350px minmax(0,1fr);display:grid;overflow:hidden}.editor-nav{scrollbar-width:none;background:#0c1424;border-right:1px solid #1f2937;padding:10px 8px 14px;overflow:auto}.editor-nav::-webkit-scrollbar{display:none}.editor-nav a{color:#68778f;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:58px;margin-bottom:5px;font-size:7px;font-weight:750;transition:all .16s;display:flex}.editor-nav a.active,.editor-nav a:hover{color:#fff;background:#1e293b}.editor-nav a.active{box-shadow:inset 3px 0 #3b82f6}.editor-nav svg{stroke-width:1.8px;width:18px;height:18px}.editor-panel{border-right:1px solid var(--line);z-index:12;background:#fff;min-width:0;overflow:auto}.editor-panel-head{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;background:#fffffff5;padding:15px 16px;position:sticky;top:0}.editor-panel-body{padding:14px}.editor-section{border:1px solid var(--line);box-shadow:var(--shadow-xs);background:#fff;border-radius:13px;margin-bottom:11px;padding:13px}.editor-section h4{color:#172033;margin:0 0 11px;font-size:10px}.mini-field{margin-bottom:10px}.mini-field label{color:#64748b;margin-bottom:4px;font-size:8px;font-weight:750;display:block}.mini-field input,.mini-field select,.mini-field textarea{color:#1e293b;background:#fff;border:1px solid #dbe1ea;border-radius:8px;outline:none;width:100%;padding:8px 9px;font-size:10px}.mini-field textarea{resize:vertical;min-height:72px}.mini-field input:focus,.mini-field select:focus,.mini-field textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f614}.map-stage{isolation:isolate;background:#dce7ef;min-width:0;position:relative}.map-topline{z-index:10;pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.map-pill{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#475569;white-space:nowrap;background:#ffffffeb;border:1px solid #cbd5e1eb;border-radius:10px;padding:8px 10px;font-size:9px;font-weight:700;box-shadow:0 8px 22px #0f172a17}.map-pill strong{color:#172033}#map{position:absolute;inset:0}.maplibregl-map{font-family:Inter,system-ui,sans-serif}.maplibregl-ctrl-group{overflow:hidden;border:1px solid #e2e8f0e6!important;border-radius:10px!important;box-shadow:0 6px 18px #0f172a24!important}.maplibregl-ctrl-group button{width:34px!important;height:34px!important}.maplibregl-popup-content{border-radius:12px!important;padding:12px 14px!important;font-family:Inter,sans-serif!important;box-shadow:0 14px 36px #0f172a29!important}.notice{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:11px 12px;font-size:9px;line-height:1.55}.login-page{background:#0b1220;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100dvh;display:grid}.login-visual{color:#fff;background:radial-gradient(circle at 24% 22%,#2563eb7a,#0000 32%),radial-gradient(circle at 85% 75%,#0ea5e926,#0000 28%),linear-gradient(135deg,#0b1220,#111827 58%,#172554);flex-direction:column;justify-content:space-between;padding:52px clamp(44px,5vw,76px);display:flex;position:relative;overflow:hidden}.login-grid{background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#00000059);mask-image:linear-gradient(#000000e6,#00000059)}.login-copy{z-index:1;max-width:590px;position:relative}.login-copy h1{letter-spacing:-.055em;margin:0 0 18px;font-size:clamp(38px,4vw,52px);line-height:1.03}.login-copy p{color:#cbd5e1;max-width:530px;font-size:13px;line-height:1.72}.login-badges{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.login-badges span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#dbeafe;background:#ffffff0e;border:1px solid #ffffff21;border-radius:10px;padding:8px 10px;font-size:9px}.login-form-wrap{background:#fff;place-items:center;padding:40px;display:grid}.login-card{width:min(100%,410px)}.login-card h2{letter-spacing:-.035em;margin:22px 0 7px;font-size:27px}.login-card p{color:var(--muted);margin:0 0 25px;font-size:11px;line-height:1.55}.login-card .field{margin-bottom:14px}.login-card .field input{height:45px;font-size:11px}.login-card .btn{justify-content:center;width:100%;height:45px}.demo-box{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:11px;margin-top:16px;padding:12px 13px;font-size:9px;line-height:1.55}.login-logo{align-items:center;gap:10px;display:flex}.login-logo .brand-logo{width:42px;height:42px}.login-logo strong{font-size:13px}.login-logo small{color:#94a3b8;margin-top:2px;font-size:8px;display:block}.seo-preview{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.seo-preview .url{color:#047857;font-size:9px}.phone{width:270px;height:540px;box-shadow:var(--shadow);background:#fff;border:8px solid #111827;border-radius:34px;margin:auto;position:relative;overflow:hidden}.phone:before{content:"";z-index:3;background:#111827;border-radius:10px;width:86px;height:18px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.phone-screen{background:linear-gradient(#eff6ff,#fff);padding:42px 14px 14px;position:absolute;inset:0}.app-icon{color:#fff;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:14px;place-items:center;width:54px;height:54px;margin-bottom:14px;font-size:22px;font-weight:800;display:grid}.pwa-card{box-shadow:var(--shadow-xs);background:#fff;border:1px solid #dbe1ea;border-radius:14px;margin-top:12px;padding:14px}.pwa-card strong{font-size:10px}.pwa-card p{color:var(--muted);font-size:8px;line-height:1.55}.code{color:#d1fae5;white-space:pre-wrap;background:#0b1220;border-radius:12px;padding:14px;font-family:JetBrains Mono,monospace;font-size:9px;line-height:1.6;overflow:auto}@media (width<=1280px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-shell{grid-template-columns:72px 320px minmax(0,1fr)}.weather{display:none}.content{padding-left:24px;padding-right:24px}}@media (width<=1024px){:root{--sidebar-width:236px}.app{grid-template-columns:1fr}.sidebar{transition:transform .24s;transform:translate(-102%);box-shadow:24px 0 55px #0206173d}.sidebar.open{transform:translate(0)}.main{grid-column:1}.menu-btn{display:grid}.topbar{padding:0 18px}.content{padding:22px 20px 34px}.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.editor-shell{grid-template-columns:70px minmax(0,1fr)}.editor-panel{right:12px;top:calc(var(--topbar-height) + 12px);z-index:60;border:1px solid var(--line);width:min(370px,100vw - 94px);box-shadow:var(--shadow-lg);border-radius:16px;transition:transform .24s;position:fixed;bottom:12px;overflow:auto;transform:translate(calc(100% + 30px))}.editor-panel.open{transform:translate(0)}.editor-panel-head{border-radius:16px 16px 0 0}.header-user span{display:none}}@media (width<=720px){:root{--topbar-height:112px}.topbar{height:var(--topbar-height);min-height:var(--topbar-height);grid-template-rows:48px 46px;grid-template-columns:auto minmax(0,1fr) auto;align-content:center;gap:0 10px;padding:8px 12px 10px;display:grid}.menu-btn{grid-area:1/1;width:38px;height:38px}.global-search{grid-area:2/1/auto/-1;width:100%;min-width:0;max-width:none}.global-search input{height:40px;font-size:11px}.search-icon{top:11px}.kbd{display:none}.top-actions{grid-area:1/3;gap:7px;margin:0}.header-user{display:none}.icon-btn{width:38px;height:38px}.content{padding:18px 14px 30px}.page-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:18px}.page-head h1{font-size:24px}.page-head p{font-size:11px}.actions{justify-content:flex-start;width:100%}.actions .btn{flex:0 auto}.grid-4{grid-template-columns:1fr}.grid{gap:12px}.card{border-radius:15px}.card-pad{padding:16px}.metric{min-height:112px}.metric .value{font-size:27px}.card-head{padding:14px 15px}.list-row{padding:12px 14px}.table{min-width:560px}.table th:nth-child(3),.table td:nth-child(3),.table th:nth-child(4),.table td:nth-child(4){display:none}.editor-shell{height:calc(100dvh - var(--topbar-height));grid-template-columns:1fr;position:relative}.editor-nav{z-index:25;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1424f5;border:1px solid #ffffff14;border-radius:16px;gap:3px;height:58px;padding:5px 6px;display:flex;position:absolute;bottom:10px;left:10px;right:10px;overflow:auto hidden;box-shadow:0 14px 34px #0206173d}.editor-nav a{border-radius:11px;flex:none;min-width:50px;height:46px;margin:0;padding:0 8px;font-size:0}.editor-nav a.active{box-shadow:inset 0 -3px #3b82f6}.editor-nav svg{width:18px;height:18px}.editor-panel{top:calc(var(--topbar-height) + 10px);border-radius:16px;width:calc(100vw - 20px);max-width:none;bottom:78px;right:10px}.map-topline{top:10px;left:10px;right:10px}.map-pill{text-overflow:ellipsis;max-width:calc(100vw - 20px);font-size:8px;overflow:hidden}.map-pill:nth-child(2){display:none}.maplibregl-ctrl-bottom-right{bottom:74px!important}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100dvh;padding:26px 20px}.login-card{max-width:420px}.login-card h2{font-size:25px}.phone{transform-origin:top;transform:scale(.9)}}@media (width<=430px){.content{padding-left:12px;padding-right:12px}.topbar{padding-left:10px;padding-right:10px}.page-head h1{font-size:22px}.btn{min-height:38px;padding:0 12px;font-size:10px}.metric-icon{width:38px;height:38px}.metric .value{font-size:25px}.editor-panel-body,.editor-section{padding:12px}.map-topline{right:64px}.phone{transform:scale(.82)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.editor-shell.panel-closed{grid-template-columns:78px 0 minmax(0,1fr)}.editor-shell.panel-closed .editor-panel{opacity:0;pointer-events:none;border:0;overflow:hidden}.editor-panel{transition:opacity .2s,transform .24s}.editor-panel-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-panel-title-row [data-editor-title]{color:#172033;font-size:13px}.editor-panel-title-row [data-editor-subtitle]{color:#64748b;margin-top:3px;font-size:9px}.editor-head-actions{align-items:center;gap:6px;display:flex}.editor-mini-btn{border-radius:9px;width:30px;height:30px}.editor-mini-btn svg{width:14px;height:14px}.editor-toolbar-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.editor-toolbar-row .btn{flex:1}.editor-count{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;place-items:center;min-width:28px;height:28px;font-size:9px;font-weight:800;display:grid}.btn.compact{border-radius:9px;min-height:34px;padding:0 11px;font-size:9px}.btn.compact svg{width:14px;height:14px}.editor-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.editor-actions{flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;display:flex}.editor-actions .btn{flex:auto}.editor-check{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;align-items:center;gap:8px;min-height:35px;margin-bottom:7px;padding:7px 9px;font-size:9px;font-weight:650;display:flex}.editor-check input{accent-color:#2563eb}.editor-check:hover{background:#fff;border-color:#cbd5e1}.mini-field input[type=color]{cursor:pointer;height:38px;padding:4px}.empty-state{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:24px 16px;font-size:10px;line-height:1.6}.danger-zone{background:snow;border-color:#fecaca}.danger-zone h4{color:#b91c1c}.raw-json-section{height:calc(100dvh - var(--topbar-height) - 105px);flex-direction:column;min-height:420px;display:flex}.raw-json{resize:none;color:#bbf7d0;tab-size:2;background:#0b1220;border:1px solid #1e293b;border-radius:10px;outline:none;flex:1;width:100%;min-height:300px;padding:12px;font:9px/1.6 JetBrains Mono,monospace}.raw-json:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.map-placement-banner{z-index:20;color:#111827;white-space:nowrap;background:#f59e0b;border:1px solid #fbbf24;border-radius:11px;padding:10px 14px;font-size:9px;font-weight:800;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a2e}.map-placement-banner[hidden]{display:none}.map-pill.dirty,[data-save-status].dirty{color:#c2410c;background:#fff7edf5;border-color:#fed7aa}.editor-toast{z-index:120;color:#fff;opacity:0;background:#0f172a;border:1px solid #ffffff1f;border-radius:11px;max-width:min(360px,100vw - 36px);padding:11px 14px;font-size:10px;font-weight:700;transition:all .2s;position:fixed;top:86px;right:18px;transform:translateY(-8px);box-shadow:0 16px 40px #0f172a38}.editor-toast.show{opacity:1;transform:translateY(0)}.editor-toast.error{background:#991b1b}.editor-toast.info{background:#1e40af}.map-search-item{flex-direction:column;gap:3px;display:flex}.map-search-item strong{color:#1e293b;font-size:10px}.map-search-item small{color:#64748b;font-size:8px}.maplibregl-ctrl-bottom-left{margin-bottom:10px;margin-left:10px}.maplibregl-ctrl-scale{background:#ffffffd1;border-color:#64748b;font-family:Inter,sans-serif;font-size:8px}@media (width<=1280px){.editor-shell.panel-closed{grid-template-columns:72px 0 minmax(0,1fr)}}@media (width<=1024px){.editor-shell.panel-closed{grid-template-columns:70px minmax(0,1fr)}.editor-shell.panel-closed .editor-panel{opacity:1}.editor-panel:not(.open){pointer-events:none}.raw-json-section{height:calc(100dvh - var(--topbar-height) - 125px)}}@media (width<=720px){.editor-grid-2{grid-template-columns:1fr 1fr}.editor-actions.stacked-mobile .btn{flex:100%}.map-placement-banner{white-space:normal;text-align:center;max-width:calc(100vw - 24px);bottom:78px}.editor-toast{top:calc(var(--topbar-height) + 10px);right:10px}.raw-json-section{height:calc(100dvh - var(--topbar-height) - 125px);min-height:0}}@media (width<=430px){.editor-grid-2{grid-template-columns:1fr}.editor-toolbar-row{align-items:stretch}.editor-toolbar-row .btn{min-width:0}.map-placement-banner{font-size:8px}}#root{min-height:100dvh}button{font:inherit}.sidebar-logout{color:#94a3b8;background:#ffffff0a;border:1px solid #ffffff14;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:34px;margin-top:12px;font-size:9px;font-weight:700;display:flex}.sidebar-logout:hover{color:#fca5a5;background:#dc26261a;border-color:#ef444433}.search-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.search-item strong{font-size:10px}.search-item small{color:#94a3b8;font-size:8px}.header-user span{font-size:11px;font-weight:700}.filter-row{flex-wrap:wrap;gap:10px;display:flex}.filter-row input,.filter-row select{color:#334155;background:#fff;border:1px solid #dbe1ea;border-radius:10px;padding:10px 12px;font-size:11px}.filter-row input{flex:1;min-width:220px}.seo-preview{background:#fafcff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.seo-preview small{color:#0f766e}.seo-preview h3{color:#1a0dab;margin:7px 0 5px;font-size:18px;font-weight:500}.seo-preview p{color:#4b5563;margin:0;font-size:11px;line-height:1.6}.notice-card{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;margin-top:16px;padding:14px 16px;font-size:10px;line-height:1.6}.notice-card code{font-family:JetBrains Mono,monospace}.list-button{text-align:left;cursor:pointer;background:#fff;border:0;width:100%}.list-button:hover{background:#f8fafc}.progress-row{border-bottom:1px solid #edf2f7;grid-template-columns:130px minmax(0,1fr) 42px;align-items:center;gap:12px;padding:14px 0;display:grid}.progress-row:last-child{border-bottom:0}.progress-row strong{font-size:10px;display:block}.progress-row small{color:#94a3b8;margin-top:3px;font-size:8px;display:block}.progress{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.progress span{border-radius:inherit;background:#2563eb;height:100%;display:block}.progress-row b{color:#475569;text-align:right;font-size:9px}.empty-page{text-align:center;align-content:center;place-items:center;gap:10px;min-height:60vh;display:grid}.empty-page h1{letter-spacing:-.08em;margin:0;font-size:72px}.empty-page p{color:#64748b}.login-page{color:#e5e7eb;background:#060b15;place-items:center;min-height:100dvh;padding:22px;display:grid;position:relative;overflow:hidden}.login-glow{filter:blur(90px);opacity:.22;pointer-events:none;border-radius:50%;width:460px;height:460px;position:absolute}.login-glow.one{background:#2563eb;top:-220px;left:-180px}.login-glow.two{background:#7c3aed;bottom:-260px;right:-220px}.login-card{z-index:2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172aeb;border:1px solid #1f2937;border-radius:20px;width:min(430px,100%);padding:30px;position:relative;box-shadow:0 32px 100px #0000005c}.login-brand{text-align:center;margin-bottom:22px}.brand-logo.large{border-radius:16px;width:58px;height:58px;margin:0 auto 12px;font-size:24px}.login-brand h1{color:#fff;letter-spacing:-.035em;margin:0;font-size:24px}.login-brand p{color:#94a3b8;margin:7px 0 0;font-size:10px;line-height:1.6}.demo-box{background:#0b1324;border:1px solid #3b82f647;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:11px 12px;display:flex}.demo-box strong{color:#93c5fd;text-transform:uppercase;letter-spacing:.08em;font-size:9px;display:block}.demo-box small{color:#cbd5e1;margin-top:4px;font-size:9px;display:block}.demo-box button{color:#93c5fd;background:#2563eb29;border:1px solid #3b82f647;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:800}.login-page .field{margin-bottom:13px}.login-page .field label{color:#cbd5e1}.login-page .field input{color:#fff;background:#080e1a;border-color:#263244}.login-row{color:#94a3b8;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 16px;font-size:9px;display:flex}.login-row label{align-items:center;gap:7px;display:flex}.link-button{color:#60a5fa;background:0 0;border:0;font-size:9px}.login-submit{width:100%;height:44px}.login-error{color:#fca5a5;background:#7f1d1d40;border:1px solid #7f1d1d;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:9px}.login-success{color:#bbf7d0;background:#14532d38;border:1px solid #22c55e47;border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:9px;line-height:1.55;display:flex}.login-back{color:#93c5fd;align-items:center;gap:6px;margin:12px auto 0;font-size:9px;display:inline-flex}.login-fallback{color:#fde68a;background:#78350f38;border:1px solid #fbbf2452;border-radius:10px;margin:14px 0;padding:12px 14px;font-size:9px;line-height:1.55;display:block}.login-fallback-head{color:#fcd34d;align-items:center;gap:8px;margin-bottom:6px;font-size:9px;display:flex}.login-fallback-head strong{letter-spacing:.02em;text-transform:uppercase}.login-fallback p{margin:0 0 10px}.login-fallback-link{word-break:break-all;color:#fde68a;background:#0f172a99;border:1px solid #fde04752;border-radius:8px;margin:4px 0 8px;padding:7px 10px;font-weight:700;display:inline-block}.login-fallback small{color:#fcd34d;opacity:.85;display:block}.field-hint{color:#94a3b8;margin-top:4px;font-size:9px;display:block}.field-required{color:#f87171}.email-subject{color:#1e3a8a;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;margin-bottom:8px;padding:10px 12px;font-size:11px}.email-subject strong{color:#1d4ed8;margin-right:6px}.email-meta{color:#475569;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:11px;display:flex}.email-meta strong{color:#0f172a;margin-right:4px}.email-note{color:#78350f;background:#fef3c7;border:1px dashed #fcd34d;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:10px}.email-preview{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;height:480px}.email-text{color:#64748b;margin-top:10px;font-size:10px}.email-text summary{cursor:pointer;color:#1e40af;font-weight:700}.email-text pre{color:#cbd5e1;white-space:pre-wrap;word-break:break-word;background:#0b1220;border-radius:8px;margin:8px 0 0;padding:10px;font-family:JetBrains Mono,monospace;font-size:10px}.login-footnote{text-align:center;color:#53627a;margin-top:14px;font-size:8px;display:block}.react-editor{grid-column:1/-1}.editor-nav button{color:#68778f;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:58px;margin-bottom:5px;font-size:7px;font-weight:750;transition:all .16s;display:flex}.editor-nav button.active,.editor-nav button:hover{color:#fff;background:#1e293b}.editor-nav button.active{box-shadow:inset 3px 0 #3b82f6}.editor-nav button svg{stroke-width:1.8px;width:18px;height:18px}.editor-subtitle{margin-top:3px}.editor-map-title{color:#64748b;background:0 0;border:0;border-bottom:1px solid #0000;outline:none;width:190px;max-width:100%;padding:1px 0;font-size:9px}.editor-map-title:focus{border-bottom-color:#93c5fd}.react-map-canvas{position:absolute;inset:0}.map-stage{background:#dbe4ef;min-width:0;position:relative;overflow:hidden}.map-stage .maplibregl-map{position:absolute;inset:0}.map-stage .maplibregl-canvas{outline:none}.map-tool-button{color:#475569;background:#ffffffeb;border:1px solid #ffffffb8;border-radius:9px;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 7px 20px #0f172a1a}.map-tool-button:hover{color:#1d4ed8;background:#fff}.map-topline{z-index:8;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.map-placement-banner strong{color:inherit}.editor-panel-body>.editor-section:last-child{margin-bottom:0}.btn.compact{min-height:34px;padding:0 10px;font-size:9px}.empty-state{text-align:center;color:#94a3b8;border:1px dashed #dbe1ea;border-radius:12px;padding:28px 10px;font-size:9px}.mini-field input[type=color]{height:35px;padding:4px}.editor-panel textarea{font-family:inherit}.editor-panel .mini-field textarea[rows="28"]{min-height:420px;font-family:JetBrains Mono,monospace;font-size:9px;line-height:1.55}.editor-panel .mini-field textarea[rows="14"]{min-height:260px;font-family:JetBrains Mono,monospace;font-size:9px;line-height:1.5}html[dir=rtl] .sidebar{border-left:1px solid #ffffff0f;border-right:0;inset:0 0 0 auto}html[dir=rtl] .main{grid-column:1}html[dir=rtl] .nav a:hover{transform:translate(-1px)}html[dir=rtl] .search-icon{left:auto;right:14px}html[dir=rtl] .global-search input{padding:0 42px 0 45px}html[dir=rtl] .kbd{left:10px;right:auto}.react-editor,.react-map-canvas,.editor-panel{direction:ltr}@media (width<=1024px){.header-user span{display:none}.weather{min-width:112px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.weather{display:none}.top-actions{gap:5px}.global-search{min-width:0}.kbd{display:none}.page-head{align-items:flex-start}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.progress-row{grid-template-columns:100px minmax(0,1fr) 36px}.filter-row input{min-width:100%}.login-card{padding:22px}.editor-nav button{flex:none;width:auto;min-width:50px;height:46px;margin:0;padding:0 8px;font-size:0}.editor-nav button.active{box-shadow:inset 0 -3px #3b82f6}.map-topline{top:10px;left:10px;right:10px}.map-pill:nth-child(2){display:none}}.library-card h3{margin:14px 0 5px;font-size:12px}.library-card p{color:#64748b;min-height:30px;font-size:9px;line-height:1.5}.library-foot{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.library-foot .icon-btn{width:34px;height:34px}.app-loader{color:#fff;background:#07101d;align-content:center;place-items:center;gap:8px;min-height:100dvh;display:grid}.app-loader-mark{background:linear-gradient(145deg,#60a5fa,#2563eb);border-radius:16px;place-items:center;width:54px;height:54px;font-size:22px;font-weight:800;display:grid;box-shadow:0 18px 50px #2563eb47}.app-loader strong{font-size:14px}.app-loader span{color:#94a3b8;font-size:9px}.auth-mode{color:#94a3b8;background:#0b1324;border:1px solid #1e293b;border-radius:9px;justify-content:center;align-items:center;gap:7px;margin:-5px 0 14px;padding:8px 10px;font-size:8px;font-weight:700;display:flex}.demo-box.multi{display:block}.demo-account-buttons{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.demo-account-buttons button{flex:auto}.security-note{color:#64748b;align-items:center;gap:5px;display:flex}.org-switcher{border:1px solid var(--line);color:#64748b;background:#fff;border-radius:10px;align-items:center;gap:7px;max-width:220px;height:38px;padding:0 8px 0 10px;display:flex}.org-switcher select{color:#334155;background:0 0;border:0;outline:0;max-width:170px;font-size:9px;font-weight:700}.org-switcher svg{flex:none}.brand small{white-space:nowrap;text-overflow:ellipsis;max-width:155px;overflow:hidden}.tenant-card{flex-direction:column;gap:14px;display:flex}.tenant-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.tenant-logo{object-fit:cover;background:#000;border:1px solid #000;border-radius:12px;width:42px;height:42px}.tenant-head h3{margin:0;font-size:12px}.tenant-head small{color:#94a3b8;margin-top:4px;font-size:8px;display:block}.tenant-meta{color:#64748b;flex-direction:column;gap:7px;font-size:9px;display:flex}.tenant-meta span:first-child{align-items:center;gap:6px;display:flex}.avatar.small{width:34px;height:34px;font-size:9px}.role-chip{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:8px;font-weight:800;display:inline-flex}.table-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.inline-code{text-overflow:ellipsis;white-space:nowrap;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;max-width:390px;padding:5px 7px;font:8px/1.4 JetBrains Mono,monospace;display:inline-block;overflow:hidden}.asset-url{color:#bbf7d0;background:#0b1220;border-radius:9px;margin:10px 0;padding:9px;font:8px/1.5 JetBrains Mono,monospace;display:block;overflow:auto}.delivery-strip{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:center;gap:10px;margin:0 0 16px;padding:11px 13px;display:flex}.delivery-strip strong{font-size:9px;display:block}.delivery-strip small{color:#3b82f6;word-break:break-all;margin-top:3px;font-size:8px;display:block}.value-domain{word-break:break-word;max-width:180px;letter-spacing:-.03em!important;font-size:14px!important;line-height:1.25!important}.map-tool-button.publish{color:#7c3aed}.map-tool-button.publish:hover{color:#6d28d9;background:#f5f3ff}.map-tool-button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed}@media (width<=1100px){.org-switcher{max-width:160px}.org-switcher select{max-width:115px}}@media (width<=720px){.org-switcher{grid-area:1/2;justify-self:stretch;max-width:none}.org-switcher select{width:100%;max-width:140px}.top-actions{display:flex}.top-actions>.weather,.top-actions>.icon-btn{display:none}.tenant-head{grid-template-columns:auto minmax(0,1fr)}.tenant-head .status{grid-column:1/-1;justify-self:start}.inline-code{max-width:230px}}.muted-action{color:#94a3b8;font-size:8px;font-weight:700}.tenant-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:90;background:#070c198c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel,#fff);color:var(--text,#0f172a);border:1px solid var(--border,#e2e8f0);border-radius:14px;flex-direction:column;gap:12px;width:100%;max-width:480px;padding:22px 22px 18px;display:flex;box-shadow:0 20px 60px #070c1940}.modal-card h3{align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.modal-card p.muted{color:var(--muted,#64748b);margin:0 0 6px;font-size:12px}.field-row{gap:12px;display:flex}.field-row .field{flex:1 1 0}.modal-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.table-select{border:1px solid var(--border,#e2e8f0);background:var(--panel,#fff);color:inherit;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.btn.compact.danger{color:#b91c1c;border-color:#b91c1c4d}.btn.compact.danger:hover{background:#b91c1c14}.cell-sub{color:var(--color-muted);margin-top:2px;font-size:12px}.save-status{color:var(--color-muted);margin-right:8px;font-size:13px}.table .empty{text-align:center;color:var(--color-muted);padding:24px 12px}
