:root{--bg:#f3f4f6;--card:#fff;--line:#e5e7eb;--txt:#111827;--mut:#6b7280;--pri:#2563eb;--ok:#16a34a;--bad:#dc2626;--warn:#d97706;--nav:#111827}*{box-sizing:border-box}body{margin:0;font:14px/1.45 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--txt);background:var(--bg)}a{color:var(--pri)}h1{font-size:20px;margin:0 0 4px}h2{font-size:17px;margin:0 0 10px}h3{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);margin:16px 0 6px}button{font:inherit;padding:7px 12px;border-radius:7px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;color:var(--txt)}button.pri{background:var(--pri);color:#fff;border-color:var(--pri)}button.ok{background:var(--ok);color:#fff;border-color:var(--ok)}button.bad{background:var(--bad);color:#fff;border-color:var(--bad)}button.sm{padding:3px 8px;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed}a.btn{display:inline-block;font:inherit;padding:7px 12px;border-radius:7px;border:1px solid #cbd5e1;background:#fff;color:var(--txt);text-decoration:none}a.btn.sm{padding:3px 8px;font-size:12px}input,select,textarea{width:100%;padding:7px 9px;border:1px solid #cbd5e1;border-radius:7px;font:inherit;background:#fff}input:disabled,select:disabled,textarea:disabled{background:#f1f5f9;color:#94a3b8}textarea{min-height:80px;resize:vertical}.f-empty{background:#fef2f2!important;border-color:#fca5a5!important}.f-filled{background:#f0fdf4!important;border-color:#86efac!important}.f-empty:disabled,.f-filled:disabled{opacity:.75}.legend{display:inline-flex;gap:10px;align-items:center;font-size:12px;color:var(--mut)}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-1px}label{display:block;font-weight:600;font-size:12px;margin:10px 0 3px}label .req{color:var(--bad)}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1;min-width:120px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.muted{color:var(--mut);font-size:12px}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:#e5e7eb;white-space:nowrap}.st-Not\ Started{background:#e5e7eb}.st-In\ Progress{background:#dbeafe;color:#1e40af}.st-Blocked{background:#fecaca;color:#991b1b}.st-Pending\ Review{background:#fef3c7;color:#92400e}.st-Changes\ Requested{background:#fed7aa;color:#9a3412}.st-Ready\ for\ Shopify{background:#bbf7d0;color:#166534}.st-Published{background:#86efac;color:#14532d}.pill.ok{background:#dcfce7;color:#166534}.pill.bad{background:#fee2e2;color:#991b1b}.pill.warn{background:#fef3c7;color:#92400e}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--mut);font-weight:600;font-size:12px}tr.click:hover{background:#f8fafc;cursor:pointer}.bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.bar>div{height:100%;background:var(--ok)}.msg{padding:9px 12px;border-radius:7px;margin:10px 0;white-space:pre-wrap;display:none}.msg.ok{display:block;background:#dcfce7;color:#166534}.msg.bad{display:block;background:#fee2e2;color:#991b1b}.msg.info{display:block;background:#dbeafe;color:#1e40af}#app{min-height:100vh}.top{background:var(--nav);color:#fff;padding:10px 18px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:5}.top b{font-size:15px}.top .brand{display:flex;align-items:center;gap:8px}.top .brand img{border-radius:50%;flex:none}.nav-acct{display:none}.top .sp{flex:1}.top .who{font-size:12px;color:#cbd5e1}.top button{background:transparent;color:#fff;border-color:#4b5563}.shell{display:flex}nav{width:210px;background:#fff;border-right:1px solid var(--line);min-height:calc(100vh - 48px);padding:12px 8px}nav a{display:block;padding:9px 12px;border-radius:7px;color:var(--txt);text-decoration:none;margin-bottom:2px}nav a.on{background:#eff6ff;color:var(--pri);font-weight:600}nav a .n{float:right;font-size:11px;background:#e5e7eb;border-radius:999px;padding:0 7px}main{flex:1;padding:18px 22px;max-width:1150px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px;flex-wrap:wrap}.tabs a{padding:8px 12px;text-decoration:none;color:var(--mut);border-bottom:2px solid transparent}.tabs a.on{color:var(--pri);border-color:var(--pri);font-weight:600}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.kpi .v{font-size:24px;font-weight:700}.kpi .l{font-size:12px;color:var(--mut)}.check{display:flex;gap:8px;padding:4px 0;border-bottom:1px dashed #eef2f7}.check .ic{width:18px}.media{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.thumb{width:72px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:26px}.media .info{flex:1;min-width:0}.media .acts{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.drop{border:2px dashed #cbd5e1;border-radius:10px;padding:18px;text-align:center;color:var(--mut);background:#fafafa}.ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:none;align-items:center;justify-content:center;z-index:20}.ov.on{display:flex}.modal{background:#fff;border-radius:12px;padding:18px;width:min(520px,94vw);max-height:90vh;overflow:auto}.toast{position:fixed;bottom:18px;right:18px;background:#111827;color:#fff;padding:10px 14px;border-radius:8px;font-size:13px;display:none;z-index:30;max-width:360px}.demo{font-size:12px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:7px;padding:8px;margin-top:10px}.demo code{background:#e5e7eb;padding:0 4px;border-radius:3px;cursor:pointer}.burger{display:none;background:transparent;border:1px solid #4b5563;color:#fff;font-size:18px;line-height:1;padding:6px 10px}.scrim{display:none}.tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tabs a{white-space:nowrap}.card{overflow-x:auto}img{max-width:100%}@media(max-width:900px){.grid2,.grid3{grid-template-columns:1fr}.burger{display:inline-block}nav{position:fixed;top:48px;left:0;bottom:0;z-index:15;width:250px;transform:translate(-105%);transition:transform .2s ease;box-shadow:4px 0 20px #00000026;overflow-y:auto;min-height:0}body.nav-open nav{transform:none}body.nav-open .scrim{display:block;position:fixed;top:48px;right:0;bottom:0;left:0;background:#00000059;z-index:14}main{padding:14px 12px;max-width:100%;min-width:0}.shell{display:block}}@media(max-width:700px){body{font-size:14px}h1{font-size:18px}.top{padding:8px 10px;gap:8px}.top .proto{display:none}.top .brand{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .who{font-size:11px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input,select,textarea{font-size:16px}button{min-height:36px}button.sm{min-height:30px}.row{gap:8px}.row>*{min-width:calc(50% - 8px)}.kpis{grid-template-columns:repeat(2,1fr)}.kpi .v{font-size:20px}.card{padding:12px}.modal{width:100vw;max-width:100vw;max-height:92vh;border-radius:14px 14px 0 0;align-self:flex-end;padding:16px}.ov{align-items:flex-end}.toast{left:10px;right:10px;bottom:10px;max-width:none}table.stk{min-width:0!important}table.stk,table.stk tbody,table.stk tr,table.stk td{display:block;width:100%}table.stk tr.stk-h{display:none}table.stk tr{border:1px solid var(--line);border-radius:9px;margin-bottom:8px;padding:6px 10px;background:#fff}table.stk td{border:none;padding:5px 0;display:flex;gap:10px;align-items:flex-start}table.stk td:before{content:attr(data-label);flex:0 0 36%;max-width:36%;color:var(--mut);font-size:12px;font-weight:600;padding-top:2px}table.stk td[data-label=""]:before{display:none}table.stk td>*{min-width:0}table.stk td{flex-wrap:wrap}table.stk td select,table.stk td input{flex:1 1 55%;min-width:0}table.stk td>div{flex-basis:100%;padding-left:calc(36% + 10px)}.media{flex-wrap:wrap}}.banner{display:flex;gap:10px;align-items:center;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:8px;padding:9px 12px;margin-bottom:12px;font-size:13px;flex-wrap:wrap}.banner .sp{flex:1}.banner button:not(.pri){background:#fff}.soon{text-align:center;padding:40px 16px;color:var(--mut)}.soon .big{font-size:40px}.acts{display:flex;gap:4px;flex-wrap:wrap}.top .who{cursor:default}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--mut)}.pw{position:relative}.pw input{padding-right:84px}.pw button{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:0;padding:3px 8px;border-color:transparent;background:#f1f5f9;color:var(--mut)}.pw button:hover{color:var(--txt)}.pill.st-not-started{background:#e5e7eb}.pill.st-in-progress{background:#dbeafe;color:#1e40af}.pill.st-blocked{background:#fecaca;color:#991b1b}.pill.st-ready-for-shopify{background:#bbf7d0;color:#166534}.pill.st-published{background:#86efac;color:#14532d}.checker{background:repeating-conic-gradient(#f1f5f9 0,#f1f5f9 25%,#fff 0,#fff 50%) 0 0/16px 16px;border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center}.thumb img,img.thumb{width:72px;height:72px;object-fit:cover;border-radius:6px}.missing-logo{border:2px dashed #fca5a5;background:#fef2f2;border-radius:8px;padding:14px;text-align:center;color:#991b1b}.head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:6px 0}.head h1{margin:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.filters>*{flex:1;min-width:150px}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:10px}a.plain{color:inherit;text-decoration:none}.check.inv{color:#991b1b}.kpi.link{cursor:pointer}.kpi.link:hover{border-color:var(--pri)}textarea.f-empty,select.f-empty{background:#fef2f2!important;border-color:#fca5a5!important}.staging-bar{background:#facc15;color:#422006;text-align:center;font-weight:700;font-size:13px;padding:4px 8px}#login{--lg-red:#9b1c12;--lg-red-d:#7f150d;--lg-ink:#4a0d0d;--lg-line:#d9cfc7;position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:40px 20px;overflow:hidden;background:linear-gradient(100deg,#fdf6f0,#fdf4ec 45%,#fffaf6)}#login .lg-bg{position:absolute;left:0;bottom:0;height:100%;width:auto;max-width:42vw;object-fit:cover;object-position:left bottom;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-mask-image:linear-gradient(to right,#000 70%,transparent);mask-image:linear-gradient(to right,#000 70%,transparent)}#login .lg-hero{display:none}.lg-card{position:relative;z-index:1;width:100%;max-width:560px;background:#fff;border:1px solid #f0dccb;border-radius:20px;padding:28px 42px 30px;box-shadow:0 18px 50px #783c141a,0 2px 6px #783c140d;text-align:center}.lg-logo{display:block;width:112px;height:auto;margin:0 auto 14px;border-radius:50%}.lg-card h1{font-size:30px;line-height:1.2;font-weight:800;color:var(--lg-ink);margin:0 0 8px;letter-spacing:-.01em}.lg-sub{margin:0 auto 26px;max-width:430px;font-size:16px;line-height:1.6;color:#57534e}.lg-card label{text-align:left;font-size:15px;font-weight:700;color:#1c1917;margin:16px 0 8px}.lg-field{position:relative;display:flex;align-items:center}.lg-field>svg{position:absolute;left:16px;width:20px;height:20px;fill:#57534e;pointer-events:none}.lg-field input{height:52px;padding:0 48px 0 50px;font-size:17px;border:1px solid var(--lg-line);border-radius:8px;color:#1c1917;background:#fff}.lg-field input::placeholder{color:#78716c}.lg-field input:focus{outline:none;border-color:var(--lg-red);box-shadow:0 0 0 3px #9b1c1224}.lg-eye{position:absolute;right:6px;width:40px;height:40px;min-height:0;padding:0;border:none;background:transparent;display:grid;place-items:center;border-radius:6px}.lg-eye svg{width:22px;height:22px;fill:#44403c}.lg-eye:focus-visible{outline:2px solid var(--lg-red)}.lg-submit{margin-top:30px;width:100%;height:58px;border:none;border-radius:9px;background:var(--lg-red);color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s}.lg-submit svg{width:24px;height:24px;fill:#fff}.lg-submit:hover:not(:disabled){background:var(--lg-red-d)}.lg-submit:disabled{opacity:.55}.lg-help{display:flex;align-items:center;gap:22px;margin:30px 0 14px;color:#57534e;font-size:15px}.lg-help:before,.lg-help:after{content:"";flex:1;height:1px;background:#e7e0da}.lg-forgot{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;font-size:16px;color:#44403c}.lg-forgot svg{width:20px;height:20px;fill:#44403c;flex:none}.lg-err{margin:0 0 6px;padding:10px 12px;border-radius:8px;background:#fee2e2;color:#991b1b;text-align:left;font-size:14px}@media(max-width:1100px){#login .lg-bg{opacity:.55}}@media(max-width:640px){#login{display:block;padding:0 0 calc(24px + env(safe-area-inset-bottom));background:#fdf6f0}#login .lg-bg{display:none}#login .lg-hero{display:block;width:100%;height:34vh;min-height:190px;max-height:300px;object-fit:cover;object-position:center 70%;-webkit-mask-image:linear-gradient(#000 65%,transparent);mask-image:linear-gradient(#000 65%,transparent)}.lg-card{width:auto;margin:-64px 14px 0;padding:0 20px 24px;border-radius:18px}.lg-logo{width:88px;margin:-44px auto 10px;border:4px solid #fff;box-shadow:0 4px 14px #783c142e}.lg-card h1{font-size:23px}.lg-sub{font-size:14.5px;margin-bottom:16px}.lg-card label{font-size:14px;margin:14px 0 6px}.lg-field input{height:50px;font-size:16px}.lg-submit{margin-top:24px;height:54px;font-size:18px}.lg-help{margin:22px 0 10px;font-size:14px}.lg-forgot{font-size:13.5px;text-wrap:balance}}@media(max-width:640px)and (max-height:620px){#login .lg-hero{height:150px;min-height:0}}@media(max-width:700px){.top .tb-acct{display:none}.nav-acct{display:flex;flex-direction:column;gap:8px;margin:14px 4px 0;padding:14px 8px 0;border-top:1px solid var(--line)}.nav-acct .who{font-size:13px;color:var(--mut)}.nav-acct button{text-align:left;padding:9px 12px}.tabs{flex-wrap:wrap;overflow:visible;gap:6px;border-bottom:none}.tabs a{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;background:#fff}.tabs a.on{background:#eff6ff;border-color:var(--pri)}table.stk td>.bar{flex:0 0 calc(64% - 10px);padding-left:0;margin-top:6px}}
