/* CreateCom admin — design system v2 */
:root{
  --bg:#f6f7fb;--surface:#fff;--surface-2:#fafbfd;--line:#e7e9f0;--line-2:#eef0f5;
  --text:#0f172a;--text-2:#334155;--muted:#64748b;--faint:#94a3b8;
  --brand:#5b4ef5;--brand-2:#7c3aed;--brand-d:#4a3de0;--brand-50:#f1efff;--brand-100:#e4e0ff;
  --ok:#059669;--ok-50:#ecfdf5;--warn:#d97706;--warn-50:#fffbeb;--err:#dc2626;--err-50:#fef2f2;
  --r:14px;--r-sm:10px;--shadow:0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.06);
  --shadow-lg:0 10px 30px -10px rgba(15,23,42,.18),0 4px 10px -4px rgba(15,23,42,.08);
  --side:256px;--top:60px;
}
*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}
body{margin:0;font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-d)}
h1{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0}h2{font-size:15px;font-weight:650;margin:0 0 14px;letter-spacing:-.01em}h3{font-size:14px;margin:0 0 8px}
svg.i{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Shell ---------- */
.shell{display:flex;min-height:100vh}
.side{width:var(--side);background:var(--surface);border-right:1px solid var(--line);flex-shrink:0;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:40;transition:transform .25s}
.side .brand{height:var(--top);display:flex;align-items:center;gap:10px;padding:0 20px;font-weight:800;font-size:17px;letter-spacing:-.02em;color:var(--text);border-bottom:1px solid var(--line-2)}
.logo-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;box-shadow:0 4px 12px -2px rgba(91,78,245,.45)}
.store-pill{margin:14px 14px 6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:10px;background:var(--surface-2)}
.store-pill .av{width:32px;height:32px;border-radius:9px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;font-weight:700;overflow:hidden}
.store-pill .av img{width:100%;height:100%;object-fit:cover}
.store-pill b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.store-pill a{font-size:12px;color:var(--muted)}
.side nav{padding:6px 10px 16px;overflow:auto;flex:1}
.side nav .grp{padding:16px 12px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--faint)}
.side nav a{display:flex;align-items:center;gap:11px;padding:8px 12px;margin:1px 0;border-radius:9px;color:var(--text-2);font-weight:500;font-size:13.5px;transition:background .15s,color .15s}
.side nav a:hover{background:var(--bg);color:var(--text)}
.side nav a.on{background:var(--brand-50);color:var(--brand-d);font-weight:600}
.side nav a.on svg.i{stroke:var(--brand)}
.side nav a .tag{margin-left:auto;font-size:10.5px;background:var(--warn-50);color:var(--warn);padding:1px 7px;border-radius:99px;font-weight:600}
.side .foot{padding:12px 14px;border-top:1px solid var(--line-2);display:flex;align-items:center;gap:10px;font-size:13px}
.side .foot .av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;display:grid;place-items:center;font-weight:700}
.side .foot button{background:none;border:0;color:var(--muted);cursor:pointer;padding:0;font:inherit;font-size:12px}
.side .foot button:hover{color:var(--err)}
.wrap-main{flex:1;min-width:0;margin-left:var(--side);display:flex;flex-direction:column}
.topbar{height:var(--top);background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 28px;position:sticky;top:0;z-index:30}
.topbar .search{flex:1;max-width:520px;position:relative}
.topbar .search input{width:100%;padding:9px 14px 9px 38px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font:inherit;transition:all .15s}
.topbar .search input:focus{background:#fff;border-color:var(--brand);outline:3px solid var(--brand-100)}
.topbar .search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint)}
.topbar .sp{flex:1}
.burger{display:none;background:none;border:0;cursor:pointer;color:var(--text);padding:6px}
.main{padding:28px 32px 80px;max-width:1240px;width:100%;margin:0 auto}
@media(max-width:1000px){.side{transform:translateX(-100%)}.side.open{transform:none;box-shadow:var(--shadow-lg)}.wrap-main{margin-left:0}.burger{display:block}.main{padding:18px 16px 60px}.topbar{padding:0 14px}}

/* ---------- Page header ---------- */
.top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.top>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.top .muted{margin-top:4px}
.back{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;font-weight:500;margin-bottom:6px}.back:hover{color:var(--text)}

/* ---------- Cards & grid ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}
.card.flat{box-shadow:none}.card.pad0{padding:0;overflow:hidden}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.card-h h2{margin:0}
.grid{display:grid;gap:18px}.g2{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,1fr)}}
.stat-card{position:relative;overflow:hidden}
.stat-card .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;margin-bottom:12px}
.stat-card .ic.a{background:var(--brand-50);color:var(--brand)}.stat-card .ic.b{background:#ecfeff;color:#0891b2}.stat-card .ic.c{background:#fdf2f8;color:#db2777}.stat-card .ic.d{background:#fff7ed;color:#ea580c}
.stat{font-size:26px;font-weight:750;letter-spacing:-.03em;line-height:1.2}
.muted{color:var(--muted)}.small{font-size:12.5px}.faint{color:var(--faint)}

/* ---------- Forms ---------- */
label{display:block;font-weight:600;font-size:13px;margin:14px 0 6px;color:var(--text-2)}label:first-child{margin-top:0}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=tel],input[type=search],select,textarea{width:100%;padding:10px 12px;border:1px solid #d9dce6;border-radius:var(--r-sm);font:inherit;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#c4c8d6}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
input[type=color]{width:100%;height:42px;padding:3px;border:1px solid #d9dce6;border-radius:var(--r-sm);background:#fff;cursor:pointer}
input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:16px;height:16px}
input[type=file]{font:inherit;font-size:13px}
textarea{min-height:110px;resize:vertical}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.row{display:flex;gap:12px}.row>*{flex:1;min-width:0}
@media(max-width:640px){.row{flex-direction:column;gap:0}}
.hint{font-size:12.5px;color:var(--muted);margin-top:6px}
.check{display:flex!important;align-items:center;gap:9px;font-weight:500!important;margin:8px 0!important;cursor:pointer}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid transparent;background:var(--text);color:#fff!important;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:none!important;white-space:nowrap;transition:transform .08s,box-shadow .15s,background .15s;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.btn:hover{background:#1e293b}.btn:active{transform:translateY(1px)}
.btn.pri,.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:0 4px 14px -4px rgba(91,78,245,.55)}
.btn.pri:hover{filter:brightness(1.06)}
.btn.sec{background:#fff;color:var(--text)!important;border-color:var(--line);box-shadow:var(--shadow)}.btn.sec:hover{background:var(--surface-2);border-color:#d5d8e2}
.btn.ghost{background:transparent;color:var(--text-2)!important;box-shadow:none}.btn.ghost:hover{background:var(--line-2)}
.btn.danger{background:#fff;color:var(--err)!important;border-color:#fecaca;box-shadow:none}.btn.danger:hover{background:var(--err-50)}
.btn.sm{padding:6px 11px;font-size:12.5px;border-radius:8px}.btn.lg{padding:12px 22px;font-size:15px;border-radius:12px}.btn.block{width:100%}
.btn svg.i{width:16px;height:16px}

/* ---------- Tables ---------- */
.tbl-wrap{overflow-x:auto;margin:0 -20px}.card.pad0 .tbl-wrap{margin:0}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px 20px;border-bottom:1px solid var(--line-2);vertical-align:middle}
th{font-size:11.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);border-bottom:1px solid var(--line)}
tbody tr{transition:background .12s}tbody tr:hover{background:#fafbff}
tr:last-child td{border-bottom:0}
.card table th:first-child,.card table td:first-child{padding-left:20px}

/* ---------- Badges, flash, misc ---------- */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;background:#f1f5f9;color:#475569;text-transform:capitalize}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}
.badge.active,.badge.published,.badge.done{background:var(--ok-50);color:#047857}
.badge.draft,.badge.queued,.badge.running{background:var(--warn-50);color:#b45309}
.badge.archived,.badge.hidden{background:#f1f5f9;color:#64748b}
.badge.suspended,.badge.failed{background:var(--err-50);color:#b91c1c}
.toast{position:fixed;top:74px;right:24px;z-index:100;padding:12px 16px 12px 14px;border-radius:12px;font-weight:500;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow-lg);background:#fff;border:1px solid var(--line);max-width:420px;animation:toastIn .3s ease}
.toast.success{border-left:4px solid var(--ok)}.toast.error{border-left:4px solid var(--err)}
.toast.hide{opacity:0;transform:translateY(-8px);transition:all .3s}
@keyframes toastIn{from{opacity:0;transform:translateY(-10px)}}
.flash{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-weight:500}.flash.success{background:var(--ok-50);color:#065f46}.flash.error{background:var(--err-50);color:#991b1b}
.thumb{width:46px;height:46px;border-radius:9px;object-fit:cover;background:var(--line-2);border:1px solid var(--line);display:block}
.empty{text-align:center;padding:48px 20px;color:var(--muted)}
.empty .ill{width:64px;height:64px;border-radius:18px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;margin:0 auto 14px}
.empty .ill svg.i{width:30px;height:30px}
.empty h2{color:var(--text);margin-bottom:6px}
.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--line);padding:0 4px}
.tabs a{padding:10px 12px;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--text);border-color:var(--brand);font-weight:600}
code{background:#f1f5f9;padding:2px 7px;border-radius:6px;font-size:12.5px;color:#334155}
.pager{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line-2)}
.toolbar .search-in{flex:1;min-width:200px;position:relative}.toolbar .search-in svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint)}
.toolbar .search-in input{padding-left:36px}

/* checklist / setup guide */
.guide{background:linear-gradient(135deg,#fff 0%,#fbfaff 100%)}
.guide .prog{display:flex;align-items:center;gap:12px;margin:4px 0 16px}
.guide .bar{flex:1;height:8px;background:var(--line-2);border-radius:99px;overflow:hidden}.guide .bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:99px;transition:width .6s}
.steps-list{list-style:none;margin:0;padding:0}
.steps-list li{display:flex;gap:14px;align-items:flex-start;padding:14px 12px;border-radius:12px;transition:background .15s}
.steps-list li:hover{background:var(--surface-2)}
.steps-list .dot{width:26px;height:26px;border-radius:50%;border:2px dashed #cbd0dc;flex-shrink:0;display:grid;place-items:center;margin-top:1px}
.steps-list li.done .dot{border:0;background:var(--ok);color:#fff}.steps-list li.done .dot svg{width:14px;height:14px;stroke-width:3}
.steps-list li.done b{color:var(--muted);text-decoration:line-through;text-decoration-color:#cbd5e1}
.steps-list .tx{flex:1}.steps-list .tx p{margin:2px 0 0;color:var(--muted);font-size:13px}
.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.quick a{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--text);font-weight:500;transition:all .15s;background:#fff}
.quick a:hover{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50);color:var(--text)}
.quick a .ic{width:32px;height:32px;border-radius:9px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center}
.link-box{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.link-box a{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}

/* images, media */
.imgs{display:flex;flex-wrap:wrap;gap:12px}.imgs .im{width:120px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.imgs .im img{width:120px;height:120px;object-fit:cover;display:block}.imgs .im form{display:inline}.imgs .im .acts{display:flex;justify-content:space-between;padding:6px 8px}
.imgs .im button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:12px;font-weight:500}.imgs .im button:hover{color:var(--brand)}
.drop{border:2px dashed #d5d9e6;border-radius:14px;padding:26px;text-align:center;background:var(--surface-2);cursor:pointer;transition:all .15s;display:block}
.drop:hover,.drop.over{border-color:var(--brand);background:var(--brand-50)}
.drop input{display:none}.drop .ic{width:44px;height:44px;border-radius:12px;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;margin:0 auto 10px;color:var(--brand)}
.drop b{display:block;color:var(--text)}
.vtable input{padding:7px 9px;font-size:13px;border-radius:8px}.vtable td{padding:6px 4px;border:0}.vtable th{background:none;padding:6px 4px;border:0}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.media-grid .mi{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;font-size:12px;box-shadow:var(--shadow)}
.media-grid img{width:100%;height:140px;object-fit:cover;display:block;background:var(--line-2)}.media-grid .mi>div{padding:8px}

/* theme editor */
.sec-item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff;box-shadow:var(--shadow);transition:box-shadow .15s}
.sec-item:hover{box-shadow:var(--shadow-lg)}
.sec-item .hd{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;border-radius:12px}
.sec-item:not(.closed) .hd{border-bottom:1px solid var(--line-2);border-radius:12px 12px 0 0;background:var(--surface-2)}
.sec-item .hd b{flex:1}.sec-item .bd{padding:14px}.sec-item.closed .bd{display:none}
.sec-item .hd button{border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;padding:3px 9px;color:var(--muted)}
.sec-item .hd button:hover{color:var(--text);border-color:#cbd0dc}
.presets{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.preset{border:2px solid var(--line);border-radius:12px;padding:10px;cursor:pointer;background:#fff;transition:all .15s;text-align:left;font:inherit}
.preset:hover{border-color:#c7c2ff}.preset.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.preset .sw{display:flex;gap:4px;margin-bottom:8px}.preset .sw span{flex:1;height:26px;border-radius:6px}
.preset b{font-size:13px}.preset small{display:block;color:var(--muted);font-size:11.5px}

/* rich text editor */
.rte-bar{display:flex;gap:3px;flex-wrap:wrap;padding:6px;border:1px solid #d9dce6;border-bottom:0;border-radius:10px 10px 0 0;background:var(--surface-2)}
.rte-bar button{border:0;background:transparent;border-radius:6px;padding:5px 9px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;color:var(--text-2)}
.rte-bar button:hover{background:#fff;box-shadow:var(--shadow)}
.rte{min-height:200px;padding:14px;border:1px solid #d9dce6;border-radius:0 0 10px 10px;background:#fff;overflow:auto;line-height:1.6}
.rte:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}

/* ---------- Auth pages ---------- */
.auth-split{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;background:#fff}
@media(max-width:900px){.auth-split{grid-template-columns:1fr}.auth-art{display:none!important}}
.auth-art{background:radial-gradient(1200px 600px at 10% 10%,#7c3aed 0%,transparent 60%),radial-gradient(900px 600px at 90% 90%,#ec4899 0%,transparent 55%),linear-gradient(135deg,#3b2fd9,#5b4ef5);color:#fff;padding:48px 56px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.auth-art .brandw{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}
.auth-art .brandw .logo-mark{background:#fff;color:var(--brand)}
.auth-art h2{font-size:38px;line-height:1.1;letter-spacing:-.03em;margin:auto 0 16px;font-weight:800;max-width:460px}
.auth-art p{opacity:.88;font-size:16px;max-width:420px;margin:0 0 28px}
.auth-art ul{list-style:none;padding:0;margin:0 0 auto;display:grid;gap:12px}
.auth-art li{display:flex;gap:10px;align-items:center;font-weight:500}
.auth-art li span{width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.auth-art .mock{position:absolute;right:-60px;bottom:-40px;width:340px;height:220px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px);transform:rotate(-8deg)}
.auth-form{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.auth-form .inner{width:100%;max-width:420px}
.auth-form h1{font-size:28px;margin-bottom:6px}
.auth-form .sub{color:var(--muted);margin:0 0 24px}
.auth-form input{padding:12px 14px}
.slugbox{display:flex;align-items:center;border:1px solid #d9dce6;border-radius:var(--r-sm);overflow:hidden;background:#fff;transition:all .15s}
.slugbox:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.slugbox input{border:0!important;box-shadow:none!important}
.slugbox span{padding:0 12px;color:var(--muted);background:var(--surface-2);align-self:stretch;display:flex;align-items:center;font-size:12.5px;white-space:nowrap;border-left:1px solid var(--line)}
.auth{max-width:440px;margin:60px auto;padding:0 16px}.auth .card{padding:30px}
.auth .brand{display:flex;justify-content:center;align-items:center;gap:10px;font-size:22px;font-weight:800;margin-bottom:20px;color:var(--text)}

/* ---------- Wizard ---------- */
.wiz{min-height:100vh;background:radial-gradient(900px 500px at 100% 0%,#efeaff 0%,transparent 60%),radial-gradient(700px 400px at 0% 100%,#fdeef6 0%,transparent 60%),var(--bg)}
.wiz-top{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;max-width:1100px;margin:0 auto}
.wiz-top .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:var(--text)}
.stepper{display:flex;align-items:center;gap:0;max-width:760px;margin:6px auto 26px;padding:0 20px}
.stepper .st{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px;color:var(--faint);white-space:nowrap}
.stepper .st .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);font-size:13px;flex-shrink:0;transition:all .3s}
.stepper .st.on{color:var(--text)}.stepper .st.on .n{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 4px var(--brand-100)}
.stepper .st.done{color:var(--text-2)}.stepper .st.done .n{background:var(--brand);border-color:var(--brand);color:#fff}
.stepper .ln{flex:1;height:2px;background:var(--line);margin:0 10px;border-radius:2px}.stepper .st.done+.ln{background:var(--brand)}
@media(max-width:700px){.stepper .st span{display:none}}
.wiz-card{max-width:760px;margin:0 auto 60px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:36px;animation:rise .4s ease}
@keyframes rise{from{opacity:0;transform:translateY(10px)}}
.wiz-card h1{font-size:26px;margin-bottom:6px}.wiz-card .sub{color:var(--muted);margin:0 0 24px;font-size:15px}
.wiz-actions{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--line-2)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tile{position:relative;border:1.5px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;transition:all .15s;background:#fff;display:block;margin:0!important}
.tile:hover{border-color:#c7c2ff;transform:translateY(-1px)}
.tile input{position:absolute;opacity:0;pointer-events:none}
.tile .em{font-size:24px;display:block;margin-bottom:6px}
.tile b{display:block;font-size:13.5px;color:var(--text)}.tile small{color:var(--muted);font-weight:400;font-size:12px}
.tile:has(input:checked){border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 0 3px var(--brand-100)}
.theme-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media(max-width:640px){.theme-cards{grid-template-columns:1fr}}
.theme-card{border:2px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .15s;display:block;margin:0!important;position:relative}
.theme-card input{position:absolute;opacity:0}
.theme-card:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-100)}
.theme-card .pv{height:120px;padding:10px;display:flex;flex-direction:column;gap:6px}
.theme-card .pv .h{height:14px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;padding:0 6px}
.theme-card .pv .hero{flex:1;border-radius:6px}
.theme-card .pv .cards{display:flex;gap:5px}.theme-card .pv .cards span{flex:1;height:26px;border-radius:4px}
.theme-card .meta{padding:10px 14px;border-top:1px solid var(--line-2);background:#fff}
.theme-card .meta b{display:block;font-size:14px;color:var(--text)}.theme-card .meta small{color:var(--muted);font-weight:400}
.done-hero{text-align:center}
.done-hero .big{width:84px;height:84px;border-radius:50%;margin:0 auto 18px;background:linear-gradient(135deg,#10b981,#059669);display:grid;place-items:center;color:#fff;box-shadow:0 12px 30px -8px rgba(5,150,105,.5);animation:pop .5s cubic-bezier(.2,1.4,.4,1)}
.done-hero .big svg{width:42px;height:42px;stroke-width:3}
@keyframes pop{from{transform:scale(.4);opacity:0}}

/* ---------- Public landing ---------- */
.pub{background:#fff}
.pubnav{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:18px 24px}
.pubnav .logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--text)}
.pubnav nav{display:flex;gap:28px;font-weight:500}.pubnav nav a{color:var(--text-2)}
@media(max-width:800px){.pubnav nav{display:none}}
.hero-pub{max-width:1180px;margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
@media(max-width:900px){.hero-pub{grid-template-columns:1fr}}
.hero-pub .pill{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:99px;background:var(--brand-50);color:var(--brand-d);font-weight:600;font-size:13px;margin-bottom:18px}
.hero-pub h1{font-size:56px;line-height:1.04;letter-spacing:-.04em;margin-bottom:18px;font-weight:800}
.hero-pub h1 em{font-style:normal;background:linear-gradient(135deg,var(--brand),#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-pub p{font-size:18px;color:var(--muted);max-width:520px;margin:0 0 28px}
@media(max-width:600px){.hero-pub h1{font-size:38px}}
.hero-shot{border-radius:20px;background:linear-gradient(160deg,#f5f3ff,#fdf2f8);border:1px solid var(--line);padding:18px;box-shadow:var(--shadow-lg)}
.hero-shot .win{background:#fff;border-radius:14px;border:1px solid var(--line);overflow:hidden}
.hero-shot .bar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line-2)}.hero-shot .bar i{width:9px;height:9px;border-radius:50%;background:#e2e8f0}
.hero-shot .bd{display:grid;grid-template-columns:90px 1fr;min-height:250px}
.hero-shot .sd{background:var(--surface-2);border-right:1px solid var(--line-2);padding:12px 10px;display:grid;gap:8px;align-content:start}.hero-shot .sd span{height:8px;border-radius:4px;background:#e2e8f0}.hero-shot .sd span:first-child{background:var(--brand-100)}
.hero-shot .ct{padding:14px;display:grid;gap:10px;align-content:start}
.hero-shot .kp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-shot .kp div{height:52px;border-radius:10px;border:1px solid var(--line-2);background:linear-gradient(180deg,#fff,#fafbff)}
.hero-shot .ch{height:110px;border-radius:10px;background:linear-gradient(180deg,rgba(91,78,245,.12),rgba(91,78,245,0)),#fff;border:1px solid var(--line-2);position:relative;overflow:hidden}
.hero-shot .ch::after{content:"";position:absolute;inset:auto 0 18px 0;height:60px;background:linear-gradient(90deg,transparent,transparent);border-top:3px solid var(--brand);border-radius:50% 50% 0 0/40% 60% 0 0;transform:skewY(-6deg)}
.logos{max-width:1180px;margin:0 auto;padding:10px 24px 30px;color:var(--faint);font-weight:600;text-align:center;font-size:13px}
.feat{max-width:1180px;margin:30px auto;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}@media(max-width:800px){.feat{grid-template-columns:1fr}}
.feat .card{padding:26px}.feat .ic{width:44px;height:44px;border-radius:12px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;margin-bottom:14px}
.feat h3{font-size:17px;margin-bottom:6px}.feat p{color:var(--muted);margin:0}
.cta-band{max-width:1180px;margin:40px auto;padding:44px;border-radius:24px;background:linear-gradient(135deg,#1e1b4b,#4c1d95);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.cta-band h2{font-size:28px;margin:0 0 6px;letter-spacing:-.02em}.cta-band p{margin:0;opacity:.8}

/* ---------- Dashboard v2 ---------- */
.hello{position:relative;overflow:hidden;border-radius:20px;padding:26px 28px;margin-bottom:20px;color:#fff;
  background:radial-gradient(600px 300px at 100% 0%,rgba(255,255,255,.18),transparent 60%),linear-gradient(120deg,#5b4ef5 0%,#8b5cf6 45%,#ec4899 100%);box-shadow:0 18px 40px -18px rgba(91,78,245,.6)}
.hello::before,.hello::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.12)}
.hello::before{width:220px;height:220px;right:-50px;top:-80px}.hello::after{width:140px;height:140px;right:150px;bottom:-70px;background:rgba(255,255,255,.08)}
.hello h1{font-size:26px;color:#fff;position:relative}.hello p{margin:6px 0 18px;opacity:.9;position:relative;max-width:560px}
.hello .acts{display:flex;gap:10px;flex-wrap:wrap;position:relative}
.hello .btn.w{background:#fff;color:#4338ca!important;box-shadow:0 6px 16px -6px rgba(0,0,0,.25)}
.hello .btn.t{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);box-shadow:none}
.hello .btn.t:hover{background:rgba(255,255,255,.26)}
.hello .linkchip{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.18);padding:6px 6px 6px 12px;border-radius:99px;font-size:13px;margin-top:14px;position:relative}
.hello .linkchip a{color:#fff;font-weight:600}.hello .linkchip button{border:0;background:#fff;color:#4338ca;border-radius:99px;padding:4px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{border-radius:18px;padding:18px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow)}
.kpi .ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff;box-shadow:0 4px 10px -4px rgba(15,23,42,.18);margin-bottom:14px}
.kpi .lb{font-size:13px;font-weight:600;opacity:.8}.kpi .vl{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-top:2px}
.kpi .sub{font-size:12.5px;margin-top:6px;font-weight:500;opacity:.75}
.kpi::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-40px;bottom:-50px;background:rgba(255,255,255,.35)}
.kpi.k1{background:linear-gradient(140deg,#eef2ff,#e0e7ff);color:#3730a3}.kpi.k1 .ic{color:#4f46e5}
.kpi.k2{background:linear-gradient(140deg,#ecfdf5,#d1fae5);color:#065f46}.kpi.k2 .ic{color:#059669}
.kpi.k3{background:linear-gradient(140deg,#fff7ed,#ffedd5);color:#9a3412}.kpi.k3 .ic{color:#ea580c}
.kpi.k4{background:linear-gradient(140deg,#fdf2f8,#fce7f3);color:#9d174d}.kpi.k4 .ic{color:#db2777}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:1200px){.pgrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.pgrid{grid-template-columns:repeat(2,1fr)}}
.pc{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;color:var(--text)!important;transition:transform .15s,box-shadow .2s;display:block}
.pc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.pc .ph{aspect-ratio:1/1;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);position:relative;overflow:hidden;display:grid;place-items:center;color:#94a3b8}
.pc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.pc:hover .ph img{transform:scale(1.05)}
.pc .ph .badge{position:absolute;top:8px;left:8px;background:rgba(255,255,255,.92);backdrop-filter:blur(4px)}
.pc .ph .stk{position:absolute;bottom:8px;right:8px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px;background:rgba(15,23,42,.75);color:#fff}
.pc .ph .stk.low{background:#ea580c}.pc .ph .stk.out{background:#dc2626}
.pc .bd{padding:10px 12px 12px}.pc .bd b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc .bd .pr{font-size:14px;font-weight:700;margin-top:2px}.pc .bd .pr s{color:var(--faint);font-weight:500;font-size:12px;margin-left:5px}
.pc.add{border:2px dashed #d5d9e6;display:grid;place-items:center;text-align:center;color:var(--muted)!important;min-height:220px;background:var(--surface-2)}
.pc.add:hover{border-color:var(--brand);color:var(--brand)!important;background:var(--brand-50)}
.pc.add .ic{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;margin:0 auto 10px;box-shadow:var(--shadow);color:var(--brand)}
.ring{--p:0;width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--brand) calc(var(--p)*1%),var(--line-2) 0);display:grid;place-items:center;flex-shrink:0}
.ring span{width:50px;height:50px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}
.setup-mini{display:flex;gap:16px;align-items:center;margin-bottom:12px}
.mini-steps a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:var(--text);font-weight:500;font-size:13.5px}
.mini-steps a:hover{background:var(--surface-2);color:var(--text)}
.mini-steps .d{width:20px;height:20px;border-radius:50%;border:2px solid #cbd0dc;flex-shrink:0;display:grid;place-items:center}
.mini-steps .ok .d{background:var(--ok);border-color:var(--ok);color:#fff}.mini-steps .ok .d svg{width:12px;height:12px;stroke-width:3}
.mini-steps .ok{color:var(--muted)!important;text-decoration:line-through}
.mini-steps .nx{margin-left:auto;color:var(--brand);font-size:12.5px;font-weight:600}
.alist .it{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-2);color:var(--text)}
.alist .it:last-child{border:0}.alist .it img,.alist .it .ph{width:42px;height:42px;border-radius:10px;object-fit:cover;background:var(--line-2);flex-shrink:0}
.alist .it b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alist .it .q{margin-left:auto;font-weight:700;font-size:12px;padding:3px 9px;border-radius:99px;background:#fff7ed;color:#c2410c;white-space:nowrap}
.alist .it .q.z{background:#fef2f2;color:#b91c1c}
.colstrip{display:flex;gap:14px;overflow-x:auto;padding-bottom:4px}
.colstrip a{flex:0 0 auto;text-align:center;color:var(--text);font-weight:600;font-size:12.5px;width:86px}
.colstrip .cc{width:74px;height:74px;border-radius:50%;margin:0 auto 6px;background:linear-gradient(135deg,#c7d2fe,#fbcfe8);overflow:hidden;display:grid;place-items:center;color:#4338ca;font-size:22px;font-weight:800;border:3px solid #fff;box-shadow:0 0 0 2px var(--brand-100)}
.colstrip .cc img{width:100%;height:100%;object-fit:cover}
.soon{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;background:linear-gradient(135deg,#fefce8,#fef3c7);border:1px solid #fde68a;color:#854d0e;font-size:13px}
.soon .ic{width:36px;height:36px;border-radius:10px;background:#fff;display:grid;place-items:center;color:#d97706;flex-shrink:0}

/* ---------- Dashboards v3 ---------- */
.perf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
@media(max-width:800px){.perf{grid-template-columns:repeat(2,1fr)}}
.perf .m{padding:14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-2)}
.perf .m .lb{font-size:12.5px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:6px}
.perf .m .lb i{width:8px;height:8px;border-radius:50%;display:inline-block}
.perf .m .vl{font-size:24px;font-weight:800;letter-spacing:-.03em;margin-top:4px}
.dl{display:inline-flex;align-items:center;gap:2px;font-size:11.5px;font-weight:700;padding:2px 7px;border-radius:99px;margin-left:6px;vertical-align:middle}
.dl.up{background:var(--ok-50);color:#047857}.dl.down{background:var(--err-50);color:#b91c1c}.dl.flat{background:#f1f5f9;color:#64748b}
.bars{display:flex;align-items:flex-end;gap:8px;height:150px;padding-top:10px}
.bars .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;min-width:0}
.bars .b .col{width:100%;max-width:46px;border-radius:9px 9px 4px 4px;background:linear-gradient(180deg,#a78bfa,#5b4ef5);position:relative;min-height:4px;transition:height .6s cubic-bezier(.2,.8,.2,1)}
.bars .b .col.alt{background:linear-gradient(180deg,#f9a8d4,#ec4899)}
.bars .b:hover .col{filter:brightness(1.1)}
.bars .b .col span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--text-2);opacity:0;transition:opacity .15s;white-space:nowrap}
.bars .b:hover .col span{opacity:1}
.bars .b small{font-size:11px;color:var(--faint);font-weight:600;white-space:nowrap}
.bars.dense{gap:3px}.bars.dense .b small{display:none}.bars.dense .b .col{border-radius:4px 4px 2px 2px}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);font-weight:600}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}
.rank .it{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2);color:var(--text)}
.rank .it:last-child{border:0}
.rank .no{width:24px;height:24px;border-radius:8px;background:var(--brand-50);color:var(--brand);font-weight:800;font-size:12px;display:grid;place-items:center;flex-shrink:0}
.rank .it:nth-child(1) .no{background:#fef3c7;color:#b45309}.rank .it:nth-child(2) .no{background:#f1f5f9;color:#475569}.rank .it:nth-child(3) .no{background:#ffedd5;color:#c2410c}
.rank img,.rank .ph{width:44px;height:44px;border-radius:10px;object-fit:cover;background:var(--line-2);flex-shrink:0}
.rank b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank .v{margin-left:auto;text-align:right;font-weight:800;font-size:14px;white-space:nowrap}.rank .v small{display:block;font-weight:500;color:var(--muted);font-size:11.5px}
.meter{height:8px;border-radius:99px;background:var(--line-2);overflow:hidden;margin-top:6px}.meter span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--brand-2))}
.health .it{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2);color:var(--text)}
.health .it:last-child{border:0}.health .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}
.health .ic.ok{background:var(--ok-50);color:var(--ok)}.health .ic.warn{background:var(--warn-50);color:var(--warn)}
.health .it b{font-size:13.5px;font-weight:600}.health .it .n{margin-left:auto;font-weight:800}.health .it .fx{font-size:12px;font-weight:700;color:var(--brand);margin-left:10px}
.feed{position:relative;padding-left:4px}
.feed .it{display:flex;gap:12px;padding:8px 0;position:relative}
.feed .it:not(:last-child)::before{content:"";position:absolute;left:15px;top:38px;bottom:-6px;width:2px;background:var(--line-2)}
.feed .dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--brand-50);color:var(--brand)}
.feed .dot svg{width:15px;height:15px}
.feed .dot.c2{background:#ecfdf5;color:#059669}.feed .dot.c3{background:#fdf2f8;color:#db2777}.feed .dot.c4{background:#fff7ed;color:#ea580c}.feed .dot.c5{background:#ecfeff;color:#0891b2}
.feed b{font-size:13.5px;font-weight:600;display:block}.feed small{color:var(--muted);font-size:12px}
.tiles-q{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tiles-q a{border-radius:14px;padding:14px 12px;color:var(--text);font-weight:600;font-size:13px;display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s}
.tiles-q a:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:var(--text)}
.tiles-q .ic{width:36px;height:36px;border-radius:11px;background:#fff;display:grid;place-items:center;box-shadow:0 3px 8px -3px rgba(15,23,42,.15)}
.tiles-q a:nth-child(6n+1){background:#eef2ff}.tiles-q a:nth-child(6n+1) .ic{color:#4f46e5}
.tiles-q a:nth-child(6n+2){background:#ecfdf5}.tiles-q a:nth-child(6n+2) .ic{color:#059669}
.tiles-q a:nth-child(6n+3){background:#fdf2f8}.tiles-q a:nth-child(6n+3) .ic{color:#db2777}
.tiles-q a:nth-child(6n+4){background:#fff7ed}.tiles-q a:nth-child(6n+4) .ic{color:#ea580c}
.tiles-q a:nth-child(6n+5){background:#ecfeff}.tiles-q a:nth-child(6n+5) .ic{color:#0891b2}
.tiles-q a:nth-child(6n+6){background:#fefce8}.tiles-q a:nth-child(6n+6) .ic{color:#ca8a04}
.split{display:flex;height:14px;border-radius:99px;overflow:hidden;margin:10px 0 8px}.split span{display:block}
.chipset{display:flex;flex-wrap:wrap;gap:8px}.chipset span{padding:6px 12px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);font-size:13px;font-weight:600}
.chipset span b{color:var(--brand);margin-left:4px}
.seg{display:inline-flex;background:var(--line-2);border-radius:10px;padding:3px}.seg a{padding:6px 12px;border-radius:8px;font-weight:600;font-size:13px;color:var(--muted)}
.seg a.on{background:#fff;color:var(--text);box-shadow:var(--shadow)}
.qty{display:flex;align-items:center;gap:6px}.qty input{width:80px;padding:6px 8px;text-align:center;font-weight:700}
.qty button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:800;color:var(--text-2)}
.qty button:hover{border-color:var(--brand);color:var(--brand)}
.pill-stock{font-weight:700;font-size:12px;padding:3px 9px;border-radius:99px;white-space:nowrap}
.pill-stock.out{background:var(--err-50);color:#b91c1c}.pill-stock.low{background:#fff7ed;color:#c2410c}.pill-stock.ok{background:var(--ok-50);color:#047857}
.store-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.store-cards a{border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--text);display:flex;gap:12px;align-items:center;background:#fff;transition:all .15s}
.store-cards a:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);color:var(--text)}
.store-cards .lg{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#c7d2fe,#fbcfe8);display:grid;place-items:center;font-weight:800;color:#4338ca;overflow:hidden;flex-shrink:0}
.store-cards .lg img{width:100%;height:100%;object-fit:cover}
