:root{--bg:#f4f5f9;--card:#fff;--text:#1e2130;--text-2:#3d4257;--muted:#7c8196;--line:#eef0f5;--tile:#f1f2f6;--primary:#4a6cf7;--primary-2:#6c5ce7;--grad-primary:linear-gradient(135deg, #4a6cf7 0%, #6c5ce7 100%);--grad-hero:linear-gradient(118deg, #9250ea 0%, #6f40e1 55%, #4c3bd8 100%);--grad-pink:linear-gradient(160deg, #ec52a6 0%, #c747b9 100%);--grad-cyan:linear-gradient(160deg, #4fc4dd 0%, #3c80d2 100%);--grad-orange:linear-gradient(160deg, #f8ab48 0%, #ec773c 100%);--grad-mint:linear-gradient(160deg, #7fe0cf 0%, #3aa9cb 100%);--grad-bar:linear-gradient(180deg, #8f6ff3 0%, #585ee0 100%);--paid-bg:#e4f5ea;--paid:#3fae63;--pend-bg:#fdeee0;--pend:#e8843a;--danger:#d94d3f;--danger-bg:#fdeceb;--promo:#efe5fb;--shadow:0 2px 10px #1e21300a;--radius:14px;--sidebar-w:236px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}::selection{background:#dfe4ff}.ic{vertical-align:-.1em;flex:none;width:1em;height:1em;line-height:0;display:inline-flex}.ic svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.muted{color:var(--muted)}.hidden{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{z-index:30;scrollbar-width:thin;background:#fff;border-right:1px solid #eceef4;flex-direction:column;height:100vh;padding:22px 14px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.logo{align-items:center;gap:10px;margin-bottom:26px;padding:0 6px;display:flex}.logo .mark{background:#15171c;border-radius:10px;flex:none;width:64px;height:36px;padding:3px 5px;overflow:hidden}.logo .mark img{object-fit:contain;width:100%;height:100%;display:block}.logo .name{letter-spacing:.08em;color:#3f6df3;font-size:12px;font-weight:700;line-height:1}.logo .slogan{letter-spacing:.22em;color:#9aa0b3;text-transform:uppercase;margin-top:4px;font-size:7px;font-weight:500}.nav{flex-direction:column;gap:4px;display:flex}.nav-group{margin-top:10px}.nav-group>.nav-head{color:var(--text-2);text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px;font-size:12.5px;font-weight:600;display:flex}.nav-group>.nav-head:hover{background:#f6f7fb}.nav-group>.nav-head .tile{background:var(--tile);color:#454a5f;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:16px;transition:background .2s,transform .15s,box-shadow .2s;display:grid}.nav-group.active>.nav-head .tile,.nav-item.active .tile{background:var(--grad-primary);color:#fff;box-shadow:0 8px 16px #5464f047}.nav-group>.nav-head .chev{color:#9aa0b3;margin-left:auto;font-size:11px;transition:transform .2s}.nav-group.open>.nav-head .chev{transform:rotate(180deg)}.nav-sub{flex-direction:column;gap:2px;padding:2px 0 6px 44px;display:none}.nav-group.open .nav-sub{display:flex}.nav-sub a{color:var(--text-2);border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.nav-sub a:hover{color:var(--text);background:#f6f7fb}.nav-sub a.active{color:var(--primary);background:#eef1ff;font-weight:600}.nav-sub a .cnt,.nav-item .cnt{color:#fff;background:#ec52a6;border-radius:8px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}.nav-item{color:var(--text-2);border-radius:10px;align-items:center;gap:10px;padding:8px;font-size:12.5px;font-weight:600;display:flex}.nav-item:hover{background:#f6f7fb}.nav-item .tile{background:var(--tile);color:#454a5f;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.nav-item.active{color:var(--text)}.promo{background:var(--promo);border-radius:14px;margin-top:auto;padding:16px}.promo h4{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600;line-height:1.3}.promo p{color:var(--muted);margin-bottom:12px;font-size:11.5px}.main{min-width:0;padding:22px 24px 40px}.topbar{align-items:center;gap:12px;margin-bottom:22px;display:flex}.topbar .menu-btn{display:none}.avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#f5b98b,#c7785a);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.greet{white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:700;overflow:hidden}.greet small{color:var(--muted);font-size:11.5px;font-weight:500;display:block}.search{background:var(--tile);color:#8a90a5;border-radius:10px;align-items:center;gap:8px;width:260px;height:34px;margin-left:auto;padding:0 12px;transition:box-shadow .15s;display:flex}.search:focus-within{box-shadow:0 0 0 2px #dfe4ff}.search input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:12px}.search input::placeholder{color:#8a90a5}.search kbd{color:#9aa0b3;background:#fff;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:10px}.iconbtn{background:var(--tile);color:#8a90a5;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:15px;transition:background .15s;display:grid;position:relative}.iconbtn:hover{color:var(--text-2);background:#e7e9f0}.iconbtn.sm{width:28px;height:28px;font-size:13px}.iconbtn .dot{color:#fff;text-align:center;background:#ec52a6;border:1.5px solid #fff;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:6px;right:6px}.notif-wrap{position:relative}.dropdown{z-index:40;background:#fff;border-radius:14px;width:320px;padding:10px;animation:.15s pop;position:absolute;top:44px;right:0;box-shadow:0 16px 40px #1e213029}.dropdown .dd-head{justify-content:space-between;align-items:center;padding:6px 8px 10px;font-size:13px;font-weight:700;display:flex}.dropdown .dd-head button,.dropdown .dd-head a{color:var(--primary);font-size:11px;font-weight:600}.notif{cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:9px 8px;display:flex}.notif:hover{background:#f6f7fb}.notif .ico{background:var(--tile);width:30px;height:30px;color:var(--primary);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.notif .t{color:var(--text-2);font-size:12px;line-height:1.35}.notif.unread .t{color:var(--text);font-weight:600}.notif .tm{color:var(--muted);margin-top:2px;font-size:10.5px}.notif .ud{background:var(--primary);visibility:hidden;border-radius:50%;flex:none;width:7px;height:7px;margin:7px 0 0 auto}.notif.unread .ud{visibility:visible}.dd-empty{text-align:center;color:var(--muted);padding:18px;font-size:12px}.user-menu{position:relative}.user-menu .dropdown{width:220px}.user-menu .dropdown a,.user-menu .dropdown button{width:100%;color:var(--text-2);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:flex}.user-menu .dropdown a:hover,.user-menu .dropdown button:hover{background:#f6f7fb}.btn{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:transform .12s,box-shadow .15s,background .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:0 6px 14px #5464f047}.btn-primary:hover{box-shadow:0 8px 18px #5464f061}.btn-white{color:var(--text);box-shadow:var(--shadow);background:#fff}.btn-white:hover{background:#f4f4fb}.btn-ghost{background:var(--tile);color:var(--text-2)}.btn-ghost:hover{background:#e7e9f0}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover{background:#f9dcda}.btn-link{color:var(--primary);padding:4px 0;font-size:12px;font-weight:600}.btn-link:hover{text-decoration:underline}.btn-sm{padding:6px 10px;font-size:11.5px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--tile);color:var(--text-2);border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.chip:hover{background:#e7e9f0}.chip.active{background:var(--grad-primary);color:#fff}.pill-select{display:inline-block;position:relative}.pill-select select{appearance:none;background:var(--tile);color:var(--text-2);cursor:pointer;border:0;border-radius:8px;outline:none;max-width:220px;padding:7px 30px 7px 12px;font-size:12px;font-weight:500}.pill-select select:focus{box-shadow:0 0 0 2px #dfe4ff}.pill-select .ic{pointer-events:none;color:#8a90a5;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.status{white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1.3;display:inline-block}.status.ok,.status.paid,.status.delivered,.status.published,.status.active,.status.approved,.status.replied{background:var(--paid-bg);color:var(--paid)}.status.warn,.status.pending,.status.draft,.status.scheduled,.status.unread,.status.low{background:var(--pend-bg);color:var(--pend)}.status.info,.status.confirmed,.status.processing,.status.packed,.status.shipped,.status.out_for_delivery,.status.read{color:#4a6cf7;background:#e6ebff}.status.bad,.status.cancelled,.status.failed,.status.rejected,.status.unpublished,.status.inactive,.status.disabled,.status.expired,.status.out,.status.hidden-s{background:var(--danger-bg);color:var(--danger)}.status.neutral,.status.returned,.status.refunded,.status.partially_refunded{background:var(--tile);color:var(--text-2)}.tag{background:var(--tile);color:var(--text-2);border-radius:6px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.tag.blue{color:var(--primary);background:#e6ebff}.tag.pink{color:#d63f8f;background:#fde9f3}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:18px 18px 16px}.card+.card{margin-top:16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.card-title{font-size:15px;font-weight:600}.card-sub{color:var(--muted);margin-top:2px;font-size:11.5px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.page-head h2{font-size:18px;font-weight:700}.page-head .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:11.5px;display:flex}.crumbs a:hover{color:var(--primary)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .sp{flex:1}.toolbar .search{width:240px;margin-left:0}.empty{text-align:center;color:var(--muted);padding:36px 16px;font-size:12px}.empty .ic{color:#c9cdd8;margin:0 auto 8px;font-size:28px;display:block}.grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);align-items:start;gap:16px;display:grid}.grid-main{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.stack{flex-direction:column;gap:16px;display:flex}.hr{border:0;border-top:1px solid var(--line);margin:14px 0}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:22px;display:grid}.stat{color:#fff;border-radius:14px;flex-direction:column;min-height:118px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}a.stat:hover{transform:translateY(-2px);box-shadow:0 10px 22px #1e213024}.stat.pink{background:var(--grad-pink)}.stat.cyan{background:var(--grad-cyan)}.stat.orange{background:var(--grad-orange)}.stat.blue{background:var(--grad-primary)}.stat.mint{background:var(--grad-mint)}.stat.hero{background:var(--grad-hero)}.stat .sic{background:#ffffff40;border-radius:50%;place-items:center;width:30px;height:30px;margin-bottom:14px;font-size:14px;display:grid}.stat .lbl{opacity:.92;white-space:nowrap;margin-bottom:6px;font-size:11.5px}.stat .val{align-items:center;gap:6px;font-size:20px;font-weight:700;line-height:1;display:flex}.stat .delta{opacity:.92;margin-top:8px;font-size:11px}.kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:16px;display:grid}.kpi{box-shadow:var(--shadow);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.kpi .sic{color:#fff;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-size:17px;display:grid}.kpi .sic.pink{background:var(--grad-pink)}.kpi .sic.cyan{background:var(--grad-cyan)}.kpi .sic.orange{background:var(--grad-orange)}.kpi .sic.blue{background:var(--grad-primary)}.kpi .sic.mint{background:var(--grad-mint)}.kpi .l{color:var(--muted);font-size:11px}.kpi .v{margin-top:2px;font-size:18px;font-weight:700;line-height:1.1}.kpi .d{margin-top:3px;font-size:11px}.kpi .d.up{color:var(--paid)}.kpi .d.down{color:var(--danger)}.hero-card{background:var(--grad-hero);color:#fff;border-radius:16px;min-height:150px;padding:26px 24px;position:relative;overflow:hidden}.hero-card h2{max-width:320px;margin-bottom:14px;font-size:20px;font-weight:600;line-height:1.28}.hero-card p{opacity:.85;max-width:360px;margin-bottom:16px;font-size:12.5px}.hero-card .wave{z-index:0;width:64%;height:70%;position:absolute;bottom:-8px;right:-10px}.hero-card>*{z-index:1;position:relative}.quick{flex-wrap:wrap;gap:8px;display:flex}.quick .btn{color:#fff;background:#ffffff29}.quick .btn:hover{background:#ffffff42}.chart{width:100%;display:block;overflow:visible}.chart text{fill:var(--muted);font-family:inherit;font-size:11px}.chart .grid{stroke:#e4e6ec;stroke-dasharray:2 3}.chart .bar{fill:url(#barGrad)}.chart .line{fill:none;stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.chart .area{opacity:.12}.chart-legend{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:16px;font-size:11.5px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.bar-h{align-items:center;gap:10px;padding:6px 0;font-size:12px;display:flex}.bar-h .lbl{text-overflow:ellipsis;white-space:nowrap;width:42%;min-width:0;color:var(--text-2);overflow:hidden}.bar-h .bar{background:var(--tile);border-radius:4px;flex:1;height:8px;overflow:hidden}.bar-h .bar i{background:var(--grad-primary);border-radius:4px;height:100%;display:block}.bar-h .v{text-align:right;width:70px;font-weight:600}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:var(--text-2);text-align:left;white-space:nowrap;padding:6px 8px 10px;font-size:11.5px;font-weight:600}th a{align-items:center;gap:3px;display:inline-flex}th a:hover,th.on{color:var(--primary)}td{border-top:1px solid var(--line);color:var(--text-2);vertical-align:middle;padding:10px 8px;font-size:11.5px}td.b,.b{color:var(--text);font-weight:600}td.nowrap{white-space:nowrap}tr.row:hover td{background:#fafbfd}.who{color:var(--text);align-items:center;gap:8px;min-width:0;display:flex}.who .avatar{width:24px;height:24px;font-size:9px}.who .thumb{object-fit:cover;background:var(--tile);border-radius:6px;flex:none;width:36px;height:44px}.who .thumb.sq{width:34px;height:34px}.who .t{min-width:0}.who .t b{text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:block;overflow:hidden}.who .t small{color:var(--muted);font-size:10.5px}.rowacts{justify-content:flex-end;gap:4px;display:flex}.rowacts .iconbtn{background:0 0;width:26px;height:26px;font-size:12px}.rowacts .iconbtn:hover{background:var(--tile)}.rowacts .iconbtn.del:hover{background:var(--danger-bg);color:var(--danger)}.pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:11.5px;display:flex}.pager .pg{gap:4px;display:flex}.pager a,.pager span.pgb{background:var(--tile);min-width:26px;height:26px;color:var(--text-2);border-radius:7px;place-items:center;padding:0 6px;font-size:11px;font-weight:600;display:grid}.pager a.on{background:var(--grad-primary);color:#fff}.pager span.pgb{opacity:.4}input[type=checkbox].cb{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.bulk{background:#eef1ff;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:12px;display:flex}.field{min-width:0;margin-bottom:12px}.field label,.field>.lbl{color:var(--text-2);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.field .hint{color:var(--muted);margin-top:4px;font-size:10.5px}.field input,.field select,.field textarea,.input{background:var(--tile);border:1.5px solid #0000;border-radius:9px;outline:none;width:100%;padding:9px 12px;font-size:13px;transition:all .15s}.field textarea{resize:vertical;min-height:80px}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--primary);background:#fff}.field .err,.form-err{color:var(--danger);margin-top:4px;font-size:11px}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#e07b72}.form-err.box{background:var(--danger-bg);border-radius:9px;margin-bottom:12px;padding:10px 12px;font-size:12px}.form-ok{background:var(--paid-bg);color:var(--paid);border-radius:9px;margin-bottom:12px;padding:10px 12px;font-size:12px}.grid2{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.grid2 .span2{grid-column:1/-1}.rte img{border-radius:8px;max-width:100%;height:auto;max-height:320px;margin:10px 0;display:block}.rte img.ProseMirror-selectednode{outline:2px solid var(--primary)}.grid3{grid-template-columns:1fr 1fr 1fr;gap:0 12px;display:grid}.switch-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.switch-row:first-of-type{border-top:0}.switch-row .t{font-size:12.5px;font-weight:600}.switch-row .s{color:var(--muted);margin-top:1px;font-size:11px}.switch{background:#d9dce6;border-radius:12px;flex:none;width:38px;height:22px;transition:all .2s;display:inline-block;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch.on{background:var(--primary)}.switch.on:after{left:19px}.switch:disabled{opacity:.5;cursor:default}.danger{background:#fff7f6;border:1px dashed #f0b6b0;border-radius:12px;margin-top:14px;padding:14px}.danger h5{color:var(--danger);margin-bottom:4px;font-size:12.5px}.danger p{color:var(--muted);margin-bottom:10px;font-size:11.5px}.form-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;display:flex}.form-foot .sp{flex:1}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button,.tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px;font-size:12px;font-weight:600}.tabs button.active,.tabs a.active{color:var(--primary);border-bottom-color:var(--primary)}.tabs button.err{color:var(--danger)}.tabpanel[hidden]{display:none}.detail{grid-template-columns:1fr 1fr;gap:10px;display:grid}.detail div{background:var(--tile);border-radius:10px;min-width:0;padding:10px 12px}.detail small{color:var(--muted);margin-bottom:3px;font-size:10px;display:block}.detail b{word-break:break-word;font-size:13px}.detail .full{grid-column:1/-1}.kv{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding:7px 0;font-size:12px;display:flex}.kv:first-child{border-top:0}.kv b{font-weight:600}.kv.total{font-size:14px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.media-tile{background:var(--tile);aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:10px;position:relative;overflow:hidden}.media-tile img,.media-tile video{object-fit:cover;width:100%;height:100%;display:block}.media-tile.on{border-color:var(--primary);box-shadow:0 0 0 2px #dfe4ff}.media-tile .cap{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#0000,#0000008c);padding:14px 8px 6px;font-size:10px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.media-tile .x{width:22px;height:22px;color:var(--danger);opacity:0;background:#ffffffeb;border-radius:50%;place-items:center;font-size:12px;transition:all .15s;display:grid;position:absolute;top:6px;right:6px}.media-tile:hover .x{opacity:1}.dropzone{text-align:center;color:var(--muted);cursor:pointer;background:#fafbfd;border:2px dashed #d5d9e6;border-radius:12px;padding:22px;font-size:12px;transition:all .15s}.dropzone.over,.dropzone:hover{border-color:var(--primary);color:var(--text-2);background:#f3f5ff}.picker{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.picker .pv{background:var(--tile);color:#b3b7c6;border-radius:10px;flex:none;place-items:center;width:72px;height:72px;font-size:20px;display:grid;overflow:hidden}.picker .pv img,.picker .pv video{object-fit:cover;width:100%;height:100%;display:block}.seg{gap:6px;display:inline-flex}.picker .pv.wide{width:140px;height:72px}.logo-slot .picker .pv.wide{box-sizing:border-box;width:240px;padding:8px}.logo-slot .picker .pv img{object-fit:contain}.logo-slot--dark .picker .pv{background:#1c0c44}.sortable{flex-direction:column;gap:8px;display:flex}.sortable .item{background:var(--tile);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.sortable .item .grip{color:#b3b7c6;cursor:grab;touch-action:none;font-size:14px}.sortable .item .thumb{object-fit:cover;background:#fff;border-radius:6px;flex:none;width:40px;height:48px}.sortable .item .t{flex:1;min-width:0}.sortable .item .t b{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.sortable .item .t small{color:var(--muted);font-size:10.5px}.sortable .item.dragging{opacity:.6}.imgs{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.imgs .item{background:var(--tile);aspect-ratio:4/5;cursor:grab;border:2px solid #0000;border-radius:10px;position:relative;overflow:hidden}.imgs .item img{object-fit:cover;width:100%;height:100%;display:block}.imgs .item.primary{border-color:var(--primary)}.imgs .item .badge{background:var(--grad-primary);color:#fff;border-radius:5px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:6px;left:6px}.imgs .item .acts{opacity:0;gap:3px;transition:all .15s;display:flex;position:absolute;top:4px;right:4px}.imgs .item:hover .acts{opacity:1}.imgs .item .acts button{background:#fffffff2;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.imgs .item select{background:#fffffff2;border:0;border-radius:6px;padding:3px 4px;font-size:10px;position:absolute;bottom:4px;left:4px;right:4px}.rte{background:var(--tile);border:1.5px solid #0000;border-radius:10px}.rte:focus-within{border-color:var(--primary);background:#fff}.rte .bar{border-bottom:1px solid #e3e5ee;flex-wrap:wrap;gap:2px;padding:6px 8px;display:flex}.rte .bar button{color:var(--text-2);border-radius:6px;padding:4px 8px;font-size:11.5px;font-weight:600}.rte .bar button:hover{background:#e7e9f0}.rte .bar button.on{background:var(--grad-primary);color:#fff}.rte .ProseMirror{outline:none;min-height:140px;padding:10px 12px;font-size:13px;line-height:1.55}.rte .ProseMirror p{margin:0 0 8px}.rte .ProseMirror ul,.rte .ProseMirror ol{margin:0 0 8px;padding-left:20px}.rte .ProseMirror h2,.rte .ProseMirror h3{margin:10px 0 6px}.rte .ProseMirror a{color:var(--primary);text-decoration:underline}.prose{color:var(--text-2);font-size:13px;line-height:1.55}.prose p{margin:0 0 8px}.prose ul,.prose ol{margin:0 0 8px;padding-left:20px}.matrix th,.matrix td{text-align:center;padding:6px}.matrix th:first-child,.matrix td:first-child{text-align:left}.matrix input{text-align:center;background:var(--tile);border:1.5px solid #0000;border-radius:7px;width:64px;padding:6px}.matrix input:focus{border-color:var(--primary);background:#fff;outline:none}.matrix input.wide{text-align:left;width:120px}.overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e213061;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:92vh;padding:22px;animation:.18s pop;overflow-y:auto;box-shadow:0 24px 60px #1e213047}.modal.lg{max-width:900px}.modal h3{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.modal-foot{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.toasts{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{color:#fff;background:#1e2130;border-radius:10px;align-items:center;gap:8px;max-width:340px;padding:10px 14px;font-size:12px;animation:.2s up;display:flex;box-shadow:0 10px 30px #00000038}.toast .ic{font-size:14px}.toast.ok .ic{color:#5fd38a}.toast.err .ic{color:#ff8a7a}.toast.info .ic{color:#8fa4ff}.scrim{z-index:29;background:#1e213059;display:none;position:fixed;inset:0}.scrim.open{display:block}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.btn-ghost .spinner,.btn-white .spinner{border-color:#c9cdd8;border-top-color:var(--primary)}.auth{background:var(--grad-hero);place-items:center;min-height:100vh;padding:20px;display:grid}.auth .brand{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:400px;display:flex}.auth .brand>img{width:180px;height:auto;display:block}.auth .box{background:#fff;border-radius:18px;width:100%;max-width:400px;padding:30px 28px;box-shadow:0 30px 80px #140a3c59}.auth .box h1{margin:12px 0 4px;font-size:20px;font-weight:700}.auth .box p.sub{color:var(--muted);margin-bottom:18px;font-size:12.5px}.auth .row{justify-content:space-between;align-items:center;margin:4px 0 16px;font-size:12px;display:flex}.auth .row label{color:var(--text-2);align-items:center;gap:6px;display:flex}.auth .box .btn{width:100%;padding:11px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:none}}@keyframes up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1100px){.grid-main{grid-template-columns:minmax(0,1fr)}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width:1000px){.grid-2{grid-template-columns:1fr}}@media (max-width:820px){.app{grid-template-columns:1fr}.sidebar{width:250px;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-102%);box-shadow:0 0 40px #00000026}.sidebar.open{transform:none}.topbar .menu-btn{display:grid}.search{flex:1;width:auto;min-width:120px}.search kbd{display:none}.greet{font-size:16px}.main{padding:16px 14px 90px}.grid-3{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.tbl-wrap table.cards,.tbl-wrap table.cards tbody,.tbl-wrap table.cards tr,.tbl-wrap table.cards td{width:100%;display:block}.tbl-wrap table.cards thead{display:none}.tbl-wrap table.cards tr{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:10px;padding:8px 10px}.tbl-wrap table.cards td{white-space:normal;border:0;justify-content:space-between;gap:12px;padding:5px 0;display:flex}.tbl-wrap table.cards td:before{content:attr(data-l);color:var(--muted);flex:none;font-size:10.5px;font-weight:600}.tbl-wrap table.cards td.sel:before,.tbl-wrap table.cards td.acts:before{content:none}.rowacts{justify-content:flex-start}}@media (max-width:560px){.grid2,.grid3,.detail{grid-template-columns:1fr}.topbar{flex-wrap:wrap}.topbar .greet{flex:1 1 0;min-width:0;font-size:17px}.topbar .greet small{font-size:11px}.topbar .search{flex-basis:100%;order:5;width:auto;margin-left:0}.stats{grid-template-columns:1fr 1fr}}.linkbtn{color:inherit;font:inherit;text-align:left;padding:0}.linkbtn:hover{color:var(--primary)}
