:root{--bg:#0d0d12;--sidebar:#14141c;--panel:#16161f;--panel-2:#1c1c27;--border:#262633;--border-strong:#33334a;--text:#ecedf2;--muted:#8b8ca0;--primary:#8b5cf6;--primary-2:#a855f7;--primary-soft:#241a3d;--danger:#f43f5e;--success:#22c55e;--warn:#f59e0b;--shadow:0 1px 2px rgba(0,0,0,0.3),0 8px 24px rgba(0,0,0,0.25);--radius:16px}:root[data-theme=light]{--bg:#f5f6fa;--sidebar:#ffffff;--panel:#ffffff;--panel-2:#f3f4f8;--border:#e7e9f0;--border-strong:#d9dce6;--text:#1a1c28;--muted:#6a7186;--primary:#7c3aed;--primary-2:#9333ea;--primary-soft:#f0eafe;--shadow:0 1px 2px rgba(16,24,40,0.04),0 6px 18px rgba(16,24,40,0.06)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--primary)}a,a:hover{text-decoration:none}a:hover{color:var(--primary-2)}h2,h3{letter-spacing:-.01em}code{background:var(--primary-soft);color:#c4b5fd;padding:.1rem .35rem;border-radius:5px;font-size:.85em}.small{font-size:.8rem}.muted{color:var(--muted)}.err{color:var(--danger);font-size:.82rem}.layout{display:flex;min-height:100vh}.sidebar{width:244px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--border);padding:1.4rem 1rem;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:.6rem;padding:0 .5rem 1.4rem}.brand-logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:#fff;font-weight:800;font-size:1rem;box-shadow:0 4px 14px rgba(139,92,246,.4)}.brand-name{font-weight:700;font-size:1.05rem;line-height:1.1}.brand-ver{font-size:.7rem;color:var(--muted);font-weight:600}.brand:hover .brand-name{color:var(--primary)}.nav-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);padding:.7rem .7rem .35rem}.sidebar nav a{display:flex;align-items:center;gap:.6rem;padding:.58rem .7rem;border-radius:10px;color:var(--muted);font-size:.92rem;font-weight:500}.sidebar nav a:hover{background:var(--panel-2);color:var(--text)}.sidebar nav a.active{background:linear-gradient(135deg,rgba(139,92,246,.22),rgba(168,85,247,.12));color:#fff;box-shadow:inset 0 0 0 1px rgba(139,92,246,.3)}.sidebar nav a .ic{width:18px;text-align:center}.sidebar-foot{margin-top:auto}.content{flex:1 1;padding:1.8rem 2.2rem;max-width:1180px;width:100%}.content:has(.wide-page){max-width:none}.table-scroll{overflow-x:auto}.page-title{font-size:1.5rem;margin:0 0 .4rem;font-weight:700}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem 1.4rem;margin-bottom:1.3rem;box-shadow:var(--shadow)}.card h2{margin:0 0 1rem;font-size:1rem;font-weight:650}.card h3.sub{margin:1.4rem 0 .7rem;font-size:.9rem;color:var(--muted);font-weight:600}.row{display:flex;gap:1rem;flex-wrap:wrap}.grid2{grid-template-columns:1fr 1fr;grid-gap:1rem}.grid2,.grid3{display:grid;gap:1rem}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:1rem}.grid4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}@media (max-width:780px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}@media (min-width:781px) and (max-width:1100px){.grid4{grid-template-columns:repeat(2,1fr)}}label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.3rem;font-weight:500}input,select,textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--border-strong);border-radius:10px;font:inherit;background:var(--panel-2);color:var(--text);transition:border .15s,box-shadow .15s}input::placeholder{color:#5c5d70}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(139,92,246,.2)}select option{background:var(--panel-2);color:var(--text)}.field{margin-bottom:.9rem}.inline{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.btn,button{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:1px solid transparent;color:#fff;border-radius:10px;cursor:pointer;font:inherit;font-weight:550;background:linear-gradient(135deg,var(--primary),var(--primary-2));transition:filter .15s,transform .05s}.btn:hover,button:hover:not(:disabled){filter:brightness(1.1);text-decoration:none}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}.btn.secondary,button.secondary{background:var(--panel-2);color:var(--text);border-color:var(--border-strong)}button.secondary:hover:not(:disabled){background:var(--border)}button.danger{background:var(--danger)}button.danger.x,button.x{background:transparent;color:var(--muted);border:none;padding:.2rem .4rem}button.x:hover{color:var(--danger);filter:none}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border);font-size:.9rem}th{color:var(--muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border-bottom:none}.badge{font-size:.72rem;padding:.18rem .55rem;border-radius:999px;background:var(--panel-2);border:1px solid var(--border-strong);color:var(--muted);font-weight:600;display:inline-block}.badge.lvl-info{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#4ade80}.badge.lvl-warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35);color:#fbbf24}.badge.lvl-error{background:rgba(244,63,94,.12);border-color:rgba(244,63,94,.35);color:#fb7185}.ok-badge{color:var(--success);font-size:.85rem;font-weight:600}.gen-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.6rem;flex-wrap:wrap}.gen-row input{flex:1 1;min-width:180px}.block-editor{border:1px solid var(--border-strong);border-radius:10px;padding:.8rem;margin-bottom:.6rem;background:var(--panel-2)}.block-editor:focus{outline:none;border-color:var(--primary)}.block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.menu-col{background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:.8rem}.menu-col-head{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:.6rem}.menu-list{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.4rem;min-height:12px}.menu-item{display:flex;align-items:center;gap:.5rem;background:var(--panel);border:1px solid var(--border-strong);border-radius:9px;padding:.45rem .55rem;cursor:-webkit-grab;cursor:grab;font-size:.85rem}.menu-item.dragging{opacity:.4;border-color:var(--primary)}.menu-item .grip{color:var(--muted);cursor:-webkit-grab;cursor:grab}.menu-item-text{flex:1 1;display:flex;flex-direction:column;line-height:1.2}.menu-item-text small{color:var(--muted);font-size:.72rem}.menu-item .x{margin-left:auto}.menu-tree-item{list-style:none}.top-zone{border:1px dashed var(--border-strong);border-radius:8px;padding:.3rem .5rem;font-size:.74rem;color:var(--muted);text-align:center;margin-bottom:.5rem}.nest-zone{cursor:copy;color:var(--muted);border:1px dashed var(--border-strong);border-radius:6px;padding:0 .3rem;font-size:.8rem}.nest-zone:hover{color:var(--primary);border-color:var(--primary)}.menu-sublist{list-style:none;margin:.3rem 0 .3rem 1.1rem;padding-left:.6rem;border-left:2px solid var(--border-strong);display:flex;flex-direction:column;gap:.3rem}.menu-subitem{background:var(--panel)}.menu-add{display:flex;gap:.35rem}.menu-add input{padding:.4rem .5rem;font-size:.82rem}.empty{padding:.4rem}.editor-layout{display:flex;gap:1.3rem;align-items:flex-start}.editor-main{flex:1 1;min-width:0}.editor-aside{width:300px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:1rem}@media (max-width:1000px){.editor-layout{flex-direction:column}.editor-aside{width:100%;position:static}}.link-row{border-bottom:1px solid var(--border);padding:.4rem 0}.link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.2rem}.link-sugg{display:flex;justify-content:space-between;align-items:center;gap:.4rem;font-size:.82rem;padding:.3rem 0;border-bottom:1px solid var(--border)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:.7rem;gap:.7rem}.media-item{border:1px solid var(--border-strong);border-radius:10px;padding:.5rem;text-align:center;background:var(--panel-2)}.media-item.sel{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.media-item img{max-height:60px;max-width:100%;margin:0 auto .3rem;object-fit:contain}.media-name{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.3rem}.btn.small,button.small{padding:.25rem .5rem;font-size:.78rem}.toast-wrap{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.6rem;width:340px;max-width:calc(100vw - 2rem)}.toast{display:flex;gap:.7rem;align-items:flex-start;background:var(--panel);border:1px solid var(--border-strong);border-left-width:4px;border-radius:11px;padding:.8rem .9rem;box-shadow:var(--shadow);animation:toastIn .2s ease}@keyframes toastIn{0%{transform:translateX(20px);opacity:0}to{transform:none;opacity:1}}.toast--pending{border-left-color:var(--primary)}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--warn)}.toast-ic{font-size:1.1rem;line-height:1.3}.toast-body{flex:1 1;min-width:0}.toast-title{font-weight:600;font-size:.9rem}.toast-msg{font-size:.8rem;color:var(--muted);margin-top:.15rem;white-space:pre-wrap;word-break:break-word}.toast-link{display:inline-block;margin-top:.4rem;font-size:.82rem;font-weight:600}.toast-x{background:transparent;border:none;color:var(--muted);padding:0 .2rem}.toast-x:hover{color:var(--text);filter:none}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -10%,rgba(139,92,246,.15),transparent),var(--bg)}.center form{width:360px}.progress-bar{height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden;margin-bottom:.25rem}.progress-bar>span{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.block-editor-row{display:grid;grid-template-columns:1fr 190px;grid-gap:.8rem;gap:.8rem;align-items:start}.block-stats{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem}.block-stats-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:.5rem}@media (max-width:900px){.block-editor-row{grid-template-columns:1fr}}.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--border);margin-bottom:1rem;flex-wrap:wrap}.tabs .tab{padding:.55rem 1rem;font-size:.88rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;text-decoration:none}.tabs .tab:hover{color:var(--text)}.tabs .tab.active{color:var(--primary);border-bottom-color:var(--primary)}.domain-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.8rem;margin-bottom:.6rem}.domain-deploy-box{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.col-picker{position:relative}.col-picker summary{list-style:none}.col-picker summary::-webkit-details-marker{display:none}.col-picker-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:200px;background:var(--panel);border:1px solid var(--border-strong);border-radius:10px;padding:.6rem .8rem;box-shadow:var(--shadow)}mark.a7-link-hint{background:rgba(139,92,246,.35);color:inherit;border-radius:3px;padding:0 1px}.mobile-bar,.nav-backdrop{display:none}@media (max-width:820px){.mobile-bar{display:flex;align-items:center;gap:.7rem;position:-webkit-sticky;position:sticky;top:0;z-index:60;padding:calc(.6rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) .6rem calc(1rem + env(safe-area-inset-left));background:color-mix(in srgb,var(--sidebar) 92%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.mobile-title{font-weight:700;font-size:1rem}.burger{width:44px;height:44px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.burger span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .2s}body.nav-open .burger span:first-child{transform:translateY(6px) rotate(45deg)}body.nav-open .burger span:nth-child(2){opacity:0}body.nav-open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.layout{display:block;min-height:auto}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:70;width:min(82vw,290px);height:100dvh;padding-top:calc(1.2rem + env(safe-area-inset-top));padding-bottom:calc(1.2rem + env(safe-area-inset-bottom));padding-left:calc(1rem + env(safe-area-inset-left));transform:translateX(-100%);transition:transform .28s cubic-bezier(.22,1,.36,1);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:8px 0 32px rgba(0,0,0,.35)}body.nav-open .sidebar{transform:none}.nav-backdrop{display:block;position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .28s}body.nav-open .nav-backdrop{opacity:1;pointer-events:auto}body.nav-open{overflow:hidden}.content{padding:1rem calc(1rem + env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left));max-width:none}.sidebar nav a{padding:.75rem .7rem;font-size:1rem}.card{padding:1rem;border-radius:14px;margin-bottom:1rem}.page-title{font-size:1.25rem}input,select,textarea{font-size:16px;padding:.7rem .8rem}.btn,button{padding:.65rem 1rem;min-height:44px}.btn.small,button.small{min-height:36px;padding:.4rem .7rem}button.x{min-height:32px}.row{flex-direction:column;align-items:stretch;gap:.7rem}.row>.field,.row>div{width:100%!important;min-width:0!important;flex:none!important}.grid2,.grid3,.grid4{grid-template-columns:1fr}table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.toast-wrap{top:auto;bottom:calc(1rem + env(safe-area-inset-bottom));left:1rem;right:1rem;width:auto}.editor-layout{flex-direction:column}.editor-aside{width:100%;position:static}.block-editor-row{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}@media (max-width:400px){.content{padding-left:.7rem;padding-right:.7rem}.card{padding:.8rem}.page-title{font-size:1.15rem}}