:root{--bg:#08111f;--panel:#111c2d;--panel2:#152238;--line:#283a55;--text:#eef4ff;--muted:#9cb0ca;--accent:#7569ff;--accent2:#59d98e;--danger:#ff667d;--warn:#f0c45b;--white:#fff;--shadow:0 18px 50px rgba(0,0,0,.22)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% -10%,rgba(117,105,255,.16),transparent 38%),var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;padding:24px 18px;background:rgba(9,18,32,.96);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 24px}.brandmark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#8b78ff);font-weight:800}.brand strong{display:block;font-size:16px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.sidebar nav{display:grid;gap:6px}.sidebar nav a,.logout button{display:block;width:100%;padding:11px 13px;border-radius:9px;color:#bed0e8;border:0;background:transparent;text-align:left;cursor:pointer}.sidebar nav a:hover,.sidebar nav a.active,.logout button:hover{background:var(--panel2);color:var(--white)}.logout{margin-top:auto}.main{margin-left:260px;padding:34px;max-width:1700px}.pagehead{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.pagehead h1{font-size:30px;margin:0 0 6px;letter-spacing:-.03em}.pagehead p{margin:0;color:var(--muted)}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.card{background:linear-gradient(180deg,rgba(20,33,53,.96),rgba(15,26,43,.96));border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.metric strong{display:block;font-size:30px;letter-spacing:-.03em}.metric span{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:9px;border:1px solid transparent;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.btn.secondary{background:transparent;border-color:var(--line);color:var(--text)}.btn.success{background:#23865a}.btn.danger{background:#8f2940}.btn.small{padding:7px 10px;font-size:13px}.btn:disabled{opacity:.55;cursor:not-allowed}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table{border-collapse:collapse;width:100%;min-width:820px}.table th,.table td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(40,58,85,.75);vertical-align:top}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#101b2c}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:rgba(255,255,255,.018)}.muted{color:var(--muted)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#24334a;color:#cbd8e9}.status-ready,.status-active,.status-submitted,.status-assets_ready,.status-ok,.status-done{background:rgba(52,198,124,.15);color:#70e7a9}.status-failed,.status-partial_failed,.status-cancelled{background:rgba(255,102,125,.14);color:#ff8397}.status-processing,.status-waiting_map,.status-waiting,.status-waiting_city,.status-publishing{background:rgba(117,105,255,.17);color:#aaa2ff}.status-retry,.status-unchecked,.status-changed,.status-draft{background:rgba(240,196,91,.14);color:#f0c45b}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:13px}.field small{color:var(--muted)}input,select,textarea{width:100%;padding:11px 12px;border-radius:9px;border:1px solid var(--line);background:#0b1627;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(117,105,255,.12)}textarea{min-height:115px;resize:vertical}.check{display:flex;align-items:center;gap:9px}.check input{width:auto}.alert{padding:13px 15px;border:1px solid var(--line);border-radius:10px;margin-bottom:18px}.alert.success{background:rgba(52,198,124,.12);border-color:rgba(52,198,124,.35)}.alert.error{background:rgba(255,102,125,.12);border-color:rgba(255,102,125,.35)}.alert.warning{background:rgba(240,196,91,.1);border-color:rgba(240,196,91,.35)}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{width:min(440px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.login-card .brand{padding:0 0 22px}.login-card form{display:grid;gap:15px}.progress{height:7px;background:#0a1322;border-radius:999px;overflow:hidden;margin-top:7px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#5fb4ff)}.split{display:flex;justify-content:space-between;gap:16px;align-items:center}.stack{display:grid;gap:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#08111f;padding:12px;border:1px solid var(--line);border-radius:9px;overflow:auto}.preview{display:block;max-width:100%;max-height:420px;margin:auto;border-radius:8px}.tabs{display:flex;gap:7px;margin-bottom:18px;flex-wrap:wrap}.tabs a{padding:8px 11px;border-radius:8px;border:1px solid var(--line);color:var(--muted)}.tabs a.active{background:var(--panel2);color:#fff}.empty{padding:40px;text-align:center;color:var(--muted)}details{border:1px solid var(--line);border-radius:10px;padding:12px}summary{cursor:pointer;font-weight:700}.installer{max-width:980px;margin:30px auto;padding:0 20px}.system-check{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check-card{padding:13px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}.check-card.ok strong{color:var(--accent2)}.check-card.warn strong{color:var(--warn)}.check-card.bad strong{color:var(--danger)}@media(max-width:1100px){.grid.six,.grid.five,.grid.four,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.grid.two{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:static;width:auto;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.logout{margin-top:15px}.main{margin-left:0;padding:20px}.pagehead{display:grid}.grid.six,.grid.five,.grid.four,.grid.three{grid-template-columns:1fr}.system-check{grid-template-columns:1fr}}

/* bastCOM SellMaps branding */
.brand--sellmaps{gap:11px}.brand--sellmaps .brandicon{width:46px;height:46px;object-fit:contain;flex:0 0 46px;filter:drop-shadow(0 6px 16px rgba(37,216,255,.16))}.brand--sellmaps strong{font-size:15px;line-height:1.08}.brand--sellmaps strong em{font-style:normal;color:#6fdfff}.login-card .brand--sellmaps .brandicon{width:58px;height:58px;flex-basis:58px}.login-card .brand--sellmaps strong{font-size:20px}

/* 0.4.5 AI marketing review */
.status-waiting_gelato{background:rgba(117,105,255,.17);color:#aaa2ff}.score{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;background:rgba(240,196,91,.14);color:var(--warn);font-size:13px;vertical-align:middle}.score.good{background:rgba(52,198,124,.15);color:#70e7a9}.copy-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.55;background:#0b1627;border:1px solid var(--line);border-radius:10px;padding:15px;max-height:620px;overflow:auto;color:var(--text)}.ai-review-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(117,105,255,.35);background:rgba(117,105,255,.08);border-radius:10px}.ai-review-summary a{flex:0 0 auto}@media(max-width:760px){.ai-review-summary{align-items:flex-start;flex-direction:column}}

/* 0.4.14 – visible background-processing progress */
.gelato-progress-card{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#0b1627;min-width:390px}.gelato-progress-card.is-active{border-color:rgba(117,105,255,.42)}.gelato-progress-card.is-done{border-color:rgba(52,198,124,.42)}.gelato-progress-card.is-error{border-color:rgba(255,102,125,.48)}.progress-lg{height:10px;margin:12px 0 14px}.progress-number{font-weight:800;font-size:22px;white-space:nowrap}.gelato-stages{display:grid;gap:8px}.gelato-stage{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;padding:7px 0;border-bottom:1px solid rgba(40,58,85,.45)}.gelato-stage:last-child{border-bottom:0}.gelato-stage .stage-icon{font-weight:900;color:var(--muted)}.gelato-stage.done .stage-icon{color:#70e7a9}.gelato-stage.active .stage-icon{color:#aaa2ff}.gelato-stage.skipped{opacity:.72}.gelato-stage strong{font-size:13px}.gelato-stage .muted{font-size:12px;margin-top:2px}.gelato-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid rgba(40,58,85,.55);font-size:12px;color:var(--muted)}.auto-refresh-note{position:sticky;bottom:12px;margin:14px auto 0;width:max-content;max-width:100%;padding:8px 12px;border:1px solid rgba(117,105,255,.35);border-radius:999px;background:rgba(11,22,39,.94);box-shadow:var(--shadow);color:var(--muted);font-size:12px;z-index:5}.auto-refresh-note strong{color:var(--text)}@media(max-width:760px){.gelato-progress-card{min-width:0}.gelato-meta{display:grid;gap:5px}.auto-refresh-note{width:auto;text-align:center}}

/* 0.5.0 - reusable product standards */
.standard-action-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid rgba(40,58,85,.6)}
.standard-preview{margin-top:10px;padding:11px;border-radius:9px;background:#0b1627;border:1px solid rgba(40,58,85,.7);display:grid;gap:6px;overflow-wrap:anywhere}
.standard-card .check-card{min-height:130px}
@media(max-width:760px){.standard-action-row{align-items:flex-start;flex-direction:column}.standard-action-row .actions{width:100%}.standard-action-row .btn{width:100%}}

/* 0.5.2 - integrated Android build and AI comparison fallback */
.status-needs_input{background:rgba(240,196,91,.14);color:var(--warn)}
code{overflow-wrap:anywhere}

/* 0.5.3 - standard Etsy media */
.standard-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:14px 0}.standard-media-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#0b1627}.standard-media-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;border:1px solid rgba(40,58,85,.7);background:#08111f}.standard-media-meta{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:end}.standard-media-upload{margin-top:14px;padding-top:14px;border-top:1px solid rgba(40,58,85,.6)}@media(max-width:760px){.standard-media-grid{grid-template-columns:1fr}.standard-media-meta{grid-template-columns:1fr}}
.gelato-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:4px 0 16px}.gelato-overview-item{min-width:0;padding:11px 12px;border:1px solid rgba(40,58,85,.7);border-radius:9px;background:rgba(17,28,45,.72)}.gelato-overview-item span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.045em;margin-bottom:5px}.gelato-overview-item strong{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.gelato-overview-item.ok{border-color:rgba(52,198,124,.32);background:rgba(52,198,124,.06)}.gelato-overview-item.active{border-color:rgba(117,105,255,.38);background:rgba(117,105,255,.07)}.gelato-overview-item.bad{border-color:rgba(255,102,125,.42);background:rgba(255,102,125,.07)}.gelato-section-title{margin:2px 0 6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}@media(max-width:1100px){.gelato-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.gelato-overview{grid-template-columns:1fr}}
.overview-heading{align-items:flex-start;gap:18px}.overview-heading h2{margin-bottom:5px}.overview-filterbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.overview-filter{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#0d1829;color:#cbd8e9;font-size:13px;font-weight:800;white-space:nowrap}.overview-filter:hover{border-color:#51688a;background:#132139}.overview-filter.active{border-color:rgba(117,105,255,.75);background:rgba(117,105,255,.18);color:#fff}.overview-filter span{display:inline-flex;min-width:22px;height:22px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px}.project-city-table th:nth-child(3),.project-city-table td:nth-child(3){min-width:320px}.product-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:9px}.product-publish-list{display:grid;gap:4px;min-width:290px}.product-publish-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.025)}.product-publish-name{font-size:12px;line-height:1.3;color:#dce7f5;min-width:0}.product-publish-state{flex:0 0 auto;display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;white-space:nowrap}.product-publish-state.published{background:rgba(52,198,124,.15);color:#70e7a9}.product-publish-state.running{background:rgba(117,105,255,.17);color:#aaa2ff}.product-publish-state.failed{background:rgba(255,102,125,.14);color:#ff8397}.product-publish-state.open{background:rgba(240,196,91,.14);color:#f0c45b}.product-publish-step{margin:-2px 7px 2px;font-size:10px;color:var(--muted)}.product-details-link{margin-top:8px;font-size:12px;font-weight:800}@media(max-width:900px){.overview-heading{display:block}.overview-filterbar{justify-content:flex-start;margin-top:12px}.project-city-table th:nth-child(3),.project-city-table td:nth-child(3){min-width:280px}}

/* 0.5.61 - bulk actions in project overview */
.overview-bulk-shell{margin:14px 0 16px}
.overview-bulkbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid rgba(40,58,85,.75);border-radius:12px;background:#0b1627}
.bulk-check{font-weight:700}
.bulk-check span{color:var(--text)}
.overview-bulk-status{color:var(--muted);font-size:13px;font-weight:700}
.project-city-table .select-col{width:66px;min-width:66px;text-align:center}
.project-city-table .select-col input[type="checkbox"]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
@media(max-width:900px){.overview-bulkbar{align-items:flex-start;flex-direction:column}.overview-bulkbar .actions{width:100%}.overview-bulkbar .btn{flex:1 1 auto}}

.status-rate_limited{background:rgba(240,196,91,.14);color:#f0c45b}

/* 0.5.107 - project types + artwork collection phase 1 */
.project-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-type-card{position:relative;display:grid;gap:6px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#0b1627;cursor:pointer}.project-type-card:hover{border-color:#51688a}.project-type-card:has(input:checked){border-color:rgba(117,105,255,.8);box-shadow:0 0 0 3px rgba(117,105,255,.1);background:rgba(117,105,255,.08)}.project-type-card input{position:absolute;right:14px;top:14px;width:auto}.project-type-card strong{font-size:17px}.project-type-card span{color:var(--muted);padding-right:24px;line-height:1.45}.artwork-dropzone{position:relative;min-height:170px;border:2px dashed rgba(117,105,255,.55);border-radius:13px;background:rgba(117,105,255,.055);display:grid;place-items:center;align-content:center;gap:7px;text-align:center;padding:24px;cursor:pointer;transition:.16s ease}.artwork-dropzone:hover,.artwork-dropzone.is-dragging{border-color:#8e84ff;background:rgba(117,105,255,.12);transform:translateY(-1px)}.artwork-dropzone strong{font-size:18px}.artwork-dropzone span{color:var(--muted)}.artwork-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.artwork-title-cell{display:flex;align-items:center;gap:12px;min-width:260px}.artwork-thumb{width:64px;height:84px;object-fit:cover;border-radius:7px;border:1px solid var(--line);background:#08111f}.artwork-table{min-width:1380px}.artwork-table input[type="checkbox"]{width:18px;height:18px;accent-color:var(--accent)}[hidden]{display:none!important}@media(max-width:760px){.project-type-grid{grid-template-columns:1fr}.artwork-dropzone{min-height:140px}}

/* 0.5.110 - Artwork Collection phase 2/3 */
.status-warning{background:rgba(240,196,91,.14);color:#f0c45b}
.compact-select{width:auto;min-width:180px;padding:8px 10px}
.action-menu{position:relative;padding:0;border:0;border-radius:0}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu[open] .action-menu-panel{display:grid}.action-menu-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:30;display:none;min-width:215px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#0b1627;box-shadow:var(--shadow);gap:3px}.action-menu-panel form{margin:0}.menu-button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);font-weight:700;text-align:left;cursor:pointer}.menu-button:hover{background:var(--panel2)}.menu-button.danger{color:#ff8397}.menu-button.danger:hover{background:rgba(255,102,125,.1)}
.pipeline-badges{display:flex;flex-wrap:wrap;gap:5px;min-width:250px}.pipeline-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.pipeline-pill.done{background:rgba(52,198,124,.14);color:#70e7a9}.pipeline-pill.pending{background:rgba(156,176,202,.09);color:#8ea2bd}.pipeline-badges.large{gap:8px}.pipeline-badges.large .pipeline-pill{padding:7px 10px;font-size:12px}
.art-detail-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:18px}.art-preview-card{display:grid;gap:10px;align-content:start}.art-detail-preview{width:100%;max-height:720px;object-fit:contain;border-radius:10px;border:1px solid var(--line);background:#08111f}.detail-kv{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(0,1.35fr);gap:9px 14px;align-items:start}.detail-kv span{color:var(--muted)}.detail-kv strong{overflow-wrap:anywhere}.text-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:9px;background:#08111f;font-family:inherit;line-height:1.5}.art-mockup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.art-mockup-item{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#0b1627}.art-mockup-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#08111f}.art-mockup-item span,.art-mockup-item small{color:var(--muted);font-size:12px}.art-error{margin-top:4px;color:#ff8397;font-size:12px;line-height:1.35}.pipeline-detail{overflow:auto}
@media(max-width:960px){.art-detail-grid{grid-template-columns:1fr}.action-menu-panel{left:0;right:auto}.compact-select{width:100%}.pipeline-badges{min-width:0}}
