[hidden]{display:none!important}.publish-card-selection{display:flex;align-items:center;gap:9px;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--pink-soft);font-weight:800;cursor:pointer}.publish-card-selection input{width:20px!important;min-width:20px;accent-color:var(--pink);inline-size:20px;block-size:20px;flex:none}
.generation-builder{display:grid;gap:18px}.output-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.output-choice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.output-choice:has(input:checked){border-color:var(--pink);background:var(--pink-soft);box-shadow:0 0 0 2px rgba(232,45,121,.08)}.output-choice input{margin-top:3px;accent-color:var(--pink)}.output-choice span{display:grid;gap:3px}.output-choice small,.field-help,.reference-picker-head small{color:var(--muted)}.reference-step{display:grid;gap:12px}.reference-picker{padding-top:12px;border-top:1px solid var(--line)}.reference-picker-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.reference-card-grid{display:grid;grid-template-columns:1fr;gap:9px;max-height:430px;overflow:auto;padding:2px}.reference-card{position:relative;display:grid;grid-template-columns:62px 1fr;gap:9px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;min-width:0}.reference-card:has(input:checked){border-color:var(--pink);box-shadow:0 0 0 2px rgba(232,45,121,.1)}.reference-card>input{position:absolute;top:8px;left:8px;z-index:2;accent-color:var(--pink)}.reference-card img{width:62px;height:62px;object-fit:cover;border-radius:9px}.reference-card span{min-width:0;display:flex;flex-direction:column;justify-content:center}.reference-card strong,.reference-card small{overflow:hidden;text-overflow:ellipsis}.reference-card em{font-size:10px;color:var(--pink-dark);font-style:normal;font-weight:800;text-transform:uppercase;margin-top:3px}.reference-library-layout{align-items:start}.reference-library-intro{margin-bottom:20px}.reference-library-card p{font-size:12px;color:var(--muted);margin:8px 0}.field-help{font-size:12px;margin:-4px 0 4px}@media(max-width:1100px){.output-choice-grid,.reference-card-grid{grid-template-columns:1fr}}@media(max-width:700px){.reference-picker-head{display:grid}.reference-card-grid{grid-template-columns:1fr;max-height:none}.reference-card{grid-template-columns:72px 1fr}.reference-card img{width:72px;height:72px}}
:root{--pink:#e82d79;--pink-dark:#c9185e;--pink-soft:#fff0f6;--navy:#162033;--muted:#697386;--line:#e5e8ef;--bg:#f5f7fb;--green:#1a9a67;--amber:#b96c13;--radius:16px;--shadow:0 10px 30px rgba(26,35,54,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);background:var(--bg)}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#ff4a99,var(--pink));color:#fff;font-weight:900;box-shadow:0 7px 18px rgba(232,45,121,.25)}.brand span:last-child{display:flex;flex-direction:column}.brand small{color:var(--muted);font-size:11px;margin-top:2px}.sidebar nav{display:grid;gap:6px;margin-top:40px}.sidebar nav a{padding:12px 14px;border-radius:10px;text-decoration:none;color:#4c566a;font-weight:650;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:var(--pink-soft);color:var(--pink-dark)}.sidebar-user{margin-top:auto;padding:14px;border-radius:12px;background:var(--bg);display:grid}.sidebar-user span{font-weight:700}.sidebar-user small{color:var(--muted)}.app-shell{margin-left:248px;min-height:100vh}.app-shell.signed-out{margin-left:0;display:grid;place-items:center}.page{max-width:1550px;margin:auto;padding:38px 42px 70px}.mobile-head{display:none}.page-head,.workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:28px}.eyebrow{display:block;color:var(--pink-dark);font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:6px}h1,h2,p{margin-top:0}h1{font-size:clamp(28px,3vw,40px);line-height:1.08;margin-bottom:8px;letter-spacing:-.035em}h2{letter-spacing:-.02em}.page-head p,.workspace-head p{color:var(--muted);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:750;text-decoration:none;cursor:pointer;gap:7px}.btn:hover{border-color:#c9ced9;box-shadow:0 4px 12px rgba(16,24,40,.06)}.btn.primary{border-color:var(--pink);background:var(--pink);color:#fff}.btn.primary:hover{background:var(--pink-dark)}.btn.wide{width:100%}.link-button{border:0;background:none;padding:4px 0;color:var(--pink-dark);cursor:pointer;text-align:left}.link-button.danger{color:#b42318}.progress-banner{display:flex;align-items:center;gap:30px;background:linear-gradient(110deg,#fff,#fff5f9);border:1px solid #f7d8e5;border-radius:var(--radius);padding:20px 24px;margin-bottom:20px}.progress-banner>div:first-child{min-width:250px}.progress-banner strong,.progress-banner span{display:block}.progress-banner span{color:var(--muted);font-size:13px;margin-top:3px}.progress-track{appearance:none;-webkit-appearance:none;height:10px;border:0;border-radius:100px;background:#f1dbe4;flex:1;overflow:hidden}.progress-track::-webkit-progress-bar{background:#f1dbe4;border-radius:100px}.progress-track::-webkit-progress-value{background:linear-gradient(90deg,var(--pink),#ff77ad);border-radius:100px}.progress-track::-moz-progress-bar{background:linear-gradient(90deg,var(--pink),#ff77ad);border-radius:100px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.metrics article,.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 1px 2px rgba(0,0,0,.02)}.metrics span{color:var(--muted);font-size:13px}.metrics strong{font-size:30px;display:block;margin:4px 0}.metrics small{color:#8b94a6}.filters{display:grid;grid-template-columns:minmax(250px,1.6fr) repeat(2,minmax(160px,.6fr)) auto;gap:10px;margin-bottom:22px}.filters input,.filters select,.field input,.field select,.field textarea,.upload-options select,.actions input{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 12px;color:var(--navy)}.search{position:relative}.search span{position:absolute;left:13px;top:10px;color:var(--muted)}.search input{padding-left:36px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px}.product-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:inherit;transition:.2s}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d9bdc8}.product-media{position:relative;aspect-ratio:4/3;background:linear-gradient(145deg,#f8f9fc,#eef1f6);display:grid;place-items:center}.product-media img{width:100%;height:100%;object-fit:contain;padding:18px}.empty-media{color:#a3a9b5;font-size:13px}.shopify-state{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.93);padding:5px 8px;border-radius:7px;font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase}.shopify-state.active{color:var(--green)}.shopify-state.draft{color:var(--amber)}.product-body{padding:16px}.product-body h2{font-size:16px;margin-bottom:5px}.product-body>p{font-size:12px;color:var(--muted)}.status-row{display:flex;justify-content:space-between;align-items:end;gap:8px;margin-top:18px}.photo-status{font-size:11px;font-weight:800;color:#6d7789}.photo-status.approved,.photo-status.published{color:var(--green)}.photo-status.raw_uploaded,.photo-status.images_generated{color:var(--amber)}.status-row small{color:#9299a7;font-size:10px;text-align:right}.toast{padding:12px 14px;border-radius:10px;margin-bottom:18px;background:#eaf8f2;color:#08764d;border:1px solid #bfead8}.toast.error{background:#fff0f0;color:#a61b1b;border-color:#f6c7c7}.back{display:inline-block;color:var(--muted);text-decoration:none;font-weight:650;margin-bottom:24px}.workspace-title{display:flex;gap:16px;align-items:center}.workspace-title>img{width:68px;height:68px;border:1px solid var(--line);border-radius:13px;object-fit:contain;background:#fff}.workspace-title h1{font-size:31px}.dot{margin:0 5px;color:#c3c7d0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.workspace-main,.generation-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 18px rgba(23,30,48,.04)}.generation-panel{padding:22px;position:sticky;top:22px}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 22px}.tab{border:0;background:none;padding:17px 4px;margin-right:25px;font-weight:800;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer}.tab.active{color:var(--pink-dark);border-color:var(--pink)}.tab b{background:#eef0f4;border-radius:99px;padding:2px 6px;font-size:10px}.tab-panel{display:none;padding:22px}.tab-panel.active{display:block}.upload-zone{border:1.5px dashed #cad0dc;border-radius:14px;padding:24px;text-align:center;background:#fafbfc}.upload-zone>input{position:absolute;opacity:0;pointer-events:none}.upload-zone>label{display:grid;justify-items:center;gap:4px;cursor:pointer}.upload-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--pink-soft);color:var(--pink);font-size:21px;margin-bottom:5px}.upload-zone small{color:var(--muted)}.upload-options{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:18px;text-align:left}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:13px;margin-top:18px}.image-tile{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.image-tile img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#f7f7f7}.image-tile>div{padding:11px;display:grid;gap:4px}.image-tile strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-tile small{color:var(--muted);font-size:11px}.generation-panel h2{font-size:22px}.generation-panel fieldset{border:0;padding:0;margin:0 0 20px}.generation-panel legend,.field>span{font-size:12px;font-weight:800;margin-bottom:9px}.radio,.check{display:flex;align-items:center;gap:8px;min-height:36px;font-size:13px}.check span{font-weight:650}.check small{margin-left:auto;color:var(--muted)}.field{display:grid;gap:6px;margin-bottom:15px}.field small{color:var(--muted)}.converted-list{display:grid;gap:16px}.converted-card{display:grid;grid-template-columns:minmax(230px,42%) 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden}.converted-card>img{width:100%;aspect-ratio:1;object-fit:contain;background:#f4f5f7}.converted-info{padding:20px;display:flex;flex-direction:column;gap:15px}.badges{display:flex;gap:7px}.badge{display:inline-block;width:max-content;padding:4px 8px;border-radius:99px;background:#f0f2f5;color:#4c566a;font-size:10px;font-weight:800}.badge.pink{background:var(--pink-soft);color:var(--pink-dark)}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.actions form{display:flex;gap:5px}.publish-bar{margin-top:20px;border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.publish-select{display:flex;gap:10px;flex-wrap:wrap}.workspace-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.empty-state{grid-column:1/-1;text-align:center;padding:55px 20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.empty-state.compact{padding:28px}.empty-state h2{font-size:18px;color:var(--navy)}.settings-layout{display:grid;grid-template-columns:320px 1fr;gap:22px;align-items:start}.reference-library{display:grid;gap:20px}.reference-group{background:#fff;border:1px solid var(--line);padding:20px;border-radius:var(--radius)}.reference-group h2{font-size:16px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.panel-title{display:flex;justify-content:space-between;align-items:center}.connection{font-size:11px;font-weight:800;padding:5px 8px;background:#f2f3f5;border-radius:99px;color:#7d8491}.connection.connected{background:#e8f8f1;color:var(--green)}dl{display:grid;grid-template-columns:140px 1fr;font-size:13px;gap:10px;margin:20px 0}dt{color:var(--muted)}dd{margin:0;font-weight:650}.confirm-wrap{max-width:760px;margin:auto}.warning-card{padding:18px;border-radius:13px;background:#eaf8f2;border:1px solid #c8eadc;margin:22px 0}.warning-card h2{font-size:17px}.warning-card p{margin:0;color:#4d665c}.warning-card.danger-zone{background:#fff3ef;border-color:#f6cbbc}.warning-card.danger-zone p{color:#7c3723}.publish-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.publish-review article{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.publish-review img{width:100%;aspect-ratio:1;object-fit:contain}.publish-review div{padding:10px;display:grid;gap:5px}.center{text-align:center}.muted{color:var(--muted)}.login-card{width:min(420px,calc(100vw - 30px));background:#fff;border:1px solid var(--line);padding:32px;border-radius:20px;box-shadow:var(--shadow)}.login-brand{display:flex;gap:14px;align-items:center;margin-bottom:28px}.login-brand h1{font-size:25px}.login-brand p{color:var(--muted);font-size:13px}.login-card>small{display:block;text-align:center;color:var(--muted);margin-top:18px}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}.generation-panel{position:static;order:-1}.settings-layout{grid-template-columns:1fr}.converted-card{grid-template-columns:280px 1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:translateX(0);box-shadow:20px 0 50px rgba(10,20,40,.18)}.app-shell{margin-left:0}.mobile-head{display:flex;height:64px;padding:0 18px;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:15}.mobile-head .brand-mark{width:32px;height:32px}.menu-toggle{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 10px}.page{padding:24px 16px 55px}.page-head,.workspace-head{display:grid}.page-head form,.page-head .btn{width:100%}.metrics{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.progress-banner{display:grid;gap:15px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-media{aspect-ratio:1}.product-body{padding:12px}.status-row{display:grid}.status-row small{text-align:left}.workspace-title>img{width:55px;height:55px}.workspace-title h1{font-size:24px}.workspace{display:block}.generation-panel{margin-bottom:14px}.tab-panel{padding:14px}.upload-options{grid-template-columns:1fr}.converted-card{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.actions form{width:100%}.actions form input{min-width:0}.workspace-nav{position:static;padding:10px 0;background:transparent}dl{grid-template-columns:1fr;gap:3px}}@media(max-width:430px){.metrics{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.workspace-title{align-items:flex-start}.page-head h1{font-size:30px}}
.converter-head{max-width:850px}.converter-panel{max-width:920px;padding:28px}.converter-panel .panel-title{align-items:flex-start}.converter-panel .panel-title p{color:var(--muted);margin:7px 0 0;max-width:650px;line-height:1.55}.format-pill{flex:none;padding:7px 10px;border-radius:999px;background:var(--pink-soft);color:var(--pink-dark);font-size:12px;font-weight:800}.converter-form{display:grid;gap:14px;margin-top:24px}.converter-drop{position:relative;min-height:260px;border:2px dashed #d7a1b8;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#fff6fa 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}.converter-drop:hover,.converter-drop:focus-within{border-color:var(--pink);box-shadow:0 10px 30px rgba(232,45,121,.11);transform:translateY(-1px)}.converter-drop strong{font-size:20px;margin:12px 0 5px}.converter-drop span:not(.converter-icon){color:var(--muted);font-size:13px}.converter-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:var(--pink);color:#fff;font-size:28px;font-weight:900;box-shadow:0 9px 24px rgba(232,45,121,.24)}.converter-drop input{position:absolute;width:1px;height:1px;opacity:0}.converter-drop:focus-within{outline:3px solid rgba(232,45,121,.18);outline-offset:3px}.converter-selection{min-height:22px;color:var(--muted);font-size:13px;text-align:center}.converter-submit{justify-self:center;min-width:260px;min-height:48px}.converter-submit:disabled{opacity:.48;cursor:not-allowed}.converter-error{margin-top:20px;padding:14px 16px;border-radius:12px;background:#fff0f0;border:1px solid #f2b8b8;color:#8d2929}.converter-error ul{margin:8px 0 0;padding-left:20px}.converter-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.converter-notes div{display:grid;gap:4px}.converter-notes strong{font-size:13px}.converter-notes span{font-size:12px;color:var(--muted);line-height:1.45}@media(max-width:700px){.converter-panel{padding:18px}.converter-panel .panel-title{display:grid}.format-pill{justify-self:start}.converter-drop{min-height:220px;padding:25px 16px}.converter-submit{justify-self:stretch;width:100%;min-width:0}.converter-notes{grid-template-columns:1fr}.converter-drop strong{font-size:18px}}
.source-upload-form{padding:0;overflow:hidden;text-align:left}.source-upload-form>input[type=file]{position:absolute;opacity:0;pointer-events:none}.source-picker{display:grid;justify-items:center;gap:4px;padding:26px;cursor:pointer;text-align:center;background:#fafbfc}.source-picker:hover{background:#fff7fa}.source-staging{padding:22px;border-top:1px solid var(--line);background:#fff}.source-staging-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.source-staging-head h2{font-size:20px;margin-bottom:5px}.source-staging-head p{margin:0;color:var(--muted);font-size:13px}.source-count{flex:none;border-radius:999px;background:var(--pink-soft);color:var(--pink-dark);padding:6px 10px;font-size:12px}.source-tag-list{display:grid;gap:10px}.source-tag-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.source-tag-preview{width:96px;height:96px;object-fit:contain;border-radius:10px;background:#f4f5f7}.source-tag-main{min-width:0;display:grid;gap:10px}.source-file-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.source-file-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.source-file-meta small{flex:none;color:var(--muted);font-size:11px}.source-tag-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.source-tag-fields label,.source-single-variant{display:grid;gap:5px}.source-tag-fields label>span,.source-single-variant>span{font-size:11px;font-weight:800;color:var(--muted)}.source-tag-fields select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy)}.source-tag-fields select:required:invalid{color:var(--muted)}.source-single-variant{padding:3px 0}.source-single-variant strong{font-size:13px}.source-remove{align-self:start;border:0;background:none;color:#a61b1b;font-size:11px;font-weight:750;padding:7px;cursor:pointer}.source-remove:hover{text-decoration:underline}.source-upload-button{display:flex;margin:18px 0 0 auto;min-width:220px}.source-upload-button:disabled{opacity:.48;cursor:not-allowed}@media(max-width:700px){.source-picker{padding:22px 14px}.source-staging{padding:14px}.source-staging-head{display:grid;gap:8px}.source-count{justify-self:start}.source-tag-row{grid-template-columns:76px minmax(0,1fr);align-items:start}.source-tag-preview{width:76px;height:76px}.source-remove{grid-column:1/-1;justify-self:end;margin-top:-8px}.source-tag-fields{grid-template-columns:1fr}.source-file-meta{display:grid;gap:2px}.source-upload-button{width:100%;margin-top:14px}.source-staging-head h2{font-size:18px}}