
:root{--bg:#fff;--bg-alt:#f5f5f7;--ink:#1d1d1f;--ink-2:#6e6e73;--ink-3:#86868b;--blue:#0071e3;--blue-ink:#0066cc;--green:#1d8c3e;--orange:#b25000;--hair:rgba(0,0,0,.10);--radius:18px;--radius-lg:28px}*{box-sizing:border-box}body{margin:0;background:var(--bg-alt);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Arial,sans-serif;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #0071e3;outline-offset:3px}a{color:var(--blue-ink)}.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--hair)}.top-in{max-width:1600px;margin:auto;min-height:60px;padding:12px 28px;display:flex;gap:20px;align-items:center}.brand{font-size:17px;font-weight:650;letter-spacing:-.02em}.top-in a{font-size:13px;text-decoration:none;margin-left:auto}.badge{font-size:12px;padding:4px 9px;border-radius:99px;background:#edf5ff;color:#0066cc;white-space:nowrap}.demo-note{padding:12px 28px;background:#eaf4ff;border-bottom:1px solid #d6e7fb;font-size:13px;text-align:center;color:#285072}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 105px)}aside{background:white;border-right:1px solid var(--hair);padding:25px 16px}.sidebar-title{font-size:20px;font-weight:650;margin:0 10px 3px}.muted{color:var(--ink-2)}.sidebar-note{font-size:12px;margin:0 10px 18px}.search{width:100%;border:1px solid #d2d2d7;border-radius:10px;padding:10px 12px;background:#fafafa;margin-bottom:10px}.filter{width:100%;border:1px solid #d2d2d7;border-radius:10px;padding:9px;background:white;margin-bottom:16px}.product{display:flex;align-items:center;text-align:left;width:100%;gap:12px;padding:13px 10px;border:1px solid transparent;border-radius:14px;background:transparent;margin:4px 0}.product.active{background:#edf5ff;border-color:#d3e7ff}.product img{width:44px;height:58px;object-fit:cover;border-radius:7px;background:#f5f5f7}.product .blank-thumb{width:44px;height:58px;background:#f0f0f3;border-radius:7px;display:grid;place-items:center;color:#7a7a81;flex-shrink:0}.product b{font-size:13px;line-height:1.3;display:block}.product small{display:block;font-size:11px;color:var(--ink-2);margin-top:5px}.sidebar-help{margin:24px 10px;padding-top:20px;border-top:1px solid var(--hair);font-size:12px;color:var(--ink-2)}main{padding:32px;min-width:0}.heading-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.eyebrow{font-size:12px;font-weight:600;color:var(--blue);text-transform:uppercase;letter-spacing:.05em;margin:0 0 7px}h1{font-size:clamp(24px,2.5vw,33px);font-weight:650;line-height:1.12;letter-spacing:-.025em;margin:0 0 12px;max-width:640px}h2{font-size:19px;letter-spacing:-.02em;margin:0}h3{font-size:15px;margin:0}.meta{font-size:13px;color:var(--ink-2);margin:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 15px;border:1px solid #d2d2d7;border-radius:99px;background:white;color:var(--ink);font-size:13px;text-decoration:none}.btn.primary{background:var(--blue);color:white;border-color:var(--blue)}.btn.subtle{border-color:transparent;background:#edf5ff;color:var(--blue-ink)}.btn.small{padding:6px 11px;min-height:34px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.statusline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin:14px 0 22px}.dot{height:7px;width:7px;border-radius:50%;background:#b25000;display:inline-block;margin-right:6px}.progress{width:170px;height:5px;background:#dddde3;border-radius:5px;overflow:hidden}.progress>div{height:100%;background:var(--blue);transition:width .2s}.workspace{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(330px,1.3fr);gap:22px;align-items:start}.panel{background:white;border:1px solid var(--hair);border-radius:var(--radius);padding:20px;min-width:0}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:5px}.hint{font-size:12px;color:var(--ink-2);margin:0 0 16px}.pool{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-height:110px;max-height:490px;overflow-y:auto;overscroll-behavior:contain;padding:3px}.image-card{position:relative;border:2px solid transparent;border-radius:11px;background:#f5f5f7;overflow:hidden;cursor:grab;min-width:0}.image-card:active{cursor:grabbing}.image-card.selected{border-color:var(--blue);box-shadow:0 0 0 2px #dcecff}.image-card[draggable=true]{user-select:none}.image-button{width:100%;border:0;background:none;display:block;padding:0;text-align:left;color:inherit}.image-button img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;pointer-events:none}.image-num{position:absolute;top:5px;left:5px;background:rgba(255,255,255,.9);border-radius:5px;font-size:10px;padding:1px 5px;pointer-events:none}.image-label{display:block;font-size:10px;padding:5px 6px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#555}.star{position:absolute;right:5px;top:5px;border:0;min-width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,.94);font-size:16px;color:#424245;padding:0}.star.on{color:#8b6500;background:#fff0b8}.check-bubble{position:absolute;right:6px;bottom:28px;border-radius:50%;background:var(--blue);color:white;width:19px;height:19px;font-size:12px;display:grid;place-items:center;pointer-events:none}.selectionbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-top:1px solid var(--hair);padding-top:15px;margin-top:18px;font-size:12px}.colors{display:grid;gap:18px}.color-panel{transition:background .15s,border-color .15s}.color-panel.dragover{background:#edf5ff;border:2px solid #0071e3;padding:19px}.color-title{display:flex;align-items:center;gap:9px}.swatch{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.15);background:var(--swatch)}.color-meta{font-size:11px;color:var(--ink-2);margin:3px 0 15px}.color-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-height:100px}.empty-drop{grid-column:1/-1;border:1px dashed #b9c9dd;border-radius:12px;padding:24px 12px;text-align:center;color:var(--ink-2);font-size:13px;align-self:stretch;display:grid;place-items:center}.adline{display:flex;align-items:center;gap:9px;font-size:12px;color:#655121;padding-top:13px;margin-top:14px;border-top:1px solid var(--hair)}.adline img{width:28px;height:37px;border-radius:4px;object-fit:cover}.role-group{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-2);padding-top:10px}.role-group:first-child{padding-top:0}.edit-panel{margin-top:22px}.editor-layout{display:grid;grid-template-columns:92px 1fr;gap:18px}.editor-layout img{width:92px;border-radius:10px;aspect-ratio:3/4;object-fit:cover}.fields{display:flex;gap:12px;flex-wrap:wrap}.fields label{font-size:12px;color:var(--ink-2);display:grid;gap:5px;min-width:150px;flex:1}.fields select,.fields input{padding:8px 10px;min-height:39px;background:white;border:1px solid #d2d2d7;border-radius:8px;color:var(--ink);max-width:100%;font-size:13px}.editor-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.file-name{font-size:11px;color:var(--ink-2);overflow-wrap:anywhere;margin:0 0 12px}.empty-editor{font-size:13px;color:var(--ink-2);margin:0}.statusbox{margin-top:22px;padding:16px 20px;border-radius:14px;background:#fff7ed;border:1px solid #f1d9bb;font-size:13px;color:#805020}.statusbox.ok{background:#eff9f1;border-color:#c4e3ca;color:#246f37}.statusbox p{margin:0}.statusbox ul{padding-left:20px;margin:8px 0 0}.save-note{font-size:11px;color:var(--ink-2);margin-top:9px}.q3-empty{padding:30px;min-height:280px;text-align:center;display:grid;place-items:center}.q3-empty b{font-size:21px;display:block;margin:10px 0}.q3-empty p{font-size:14px;color:var(--ink-2);max-width:440px;margin:auto}.q3-roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.q3-roles div{padding:20px;border:1px dashed #c6c6cd;border-radius:13px;color:#6e6e73;text-align:center}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#1d1d1f;color:white;border-radius:14px;padding:12px 20px;font-size:13px;box-shadow:0 4px 22px #0002;z-index:50;max-width:min(90vw,620px)}.bottom-explain{margin:28px 2px;font-size:12px;color:var(--ink-2);max-width:780px}.notice{font-size:12px;padding:12px 16px;border-radius:12px;background:#eef5ff;color:#355b7e;margin:17px 0}.queue-empty{font-size:13px;color:var(--ink-2);padding:15px 10px}[hidden]{display:none!important}.zoom{border:0;padding:0;border-radius:20px;max-width:min(90vw,640px);box-shadow:0 10px 80px #0004;background:white}.zoom::backdrop{background:#0008}.zoom img{display:block;max-height:72vh;max-width:100%;margin:auto}.zoom footer{padding:15px;display:flex;justify-content:space-between;gap:10px;align-items:center}.zoom footer span{font-size:12px;overflow-wrap:anywhere}
@media(min-width:1450px){.pool{grid-template-columns:repeat(4,minmax(0,1fr))}.color-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){.shell{grid-template-columns:205px 1fr}main{padding:25px 20px}.workspace{grid-template-columns:minmax(210px,.85fr) minmax(280px,1.15fr)}.pool{grid-template-columns:repeat(3,minmax(0,1fr))}.color-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{padding:16px}}
@media(min-width:701px) and (max-width:900px){.workspace{grid-template-columns:1fr}.pool{grid-template-columns:repeat(5,minmax(0,1fr));max-height:260px}.colors{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.top-in{padding:12px 16px;gap:10px}.top-in a{font-size:12px}.brand{font-size:15px}.demo-note{padding:10px 16px;text-align:left;font-size:12px}.shell{display:block}aside{padding:17px 16px;border-right:0;border-bottom:1px solid var(--hair)}.sidebar-title,.sidebar-note,.sidebar-help{display:none}.search{margin:0 0 8px}.filter{margin:0 0 8px}.products{display:flex;gap:8px}.product{flex:1;margin:0;padding:8px}.product img,.product .blank-thumb{width:32px;height:42px}.product b{font-size:11px}.product small{font-size:10px}.product .long-title{display:none}main{padding:25px 16px}.heading-row{display:block}.workspace{gap:16px;grid-template-columns:1fr}.colors{grid-template-columns:1fr}.color-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.pool{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-layout{grid-template-columns:1fr}.editor-layout>img{display:none}.btn{min-height:44px}.fields label{min-width:120px}.fields select,.fields input{font-size:16px}.q3-roles{grid-template-columns:1fr}.top-in .badge{font-size:10px}.toast{bottom:12px}.image-label{font-size:10px}}

.login-shell{max-width:440px;margin:10vh auto;padding:24px}.login-shell h1{font-size:34px}.login-shell label{display:grid;gap:7px;font-size:13px;margin:20px 0}.login-shell input{font:inherit;padding:12px;border:1px solid #d2d2d7;border-radius:10px;min-height:46px}.login-shell button{width:100%}.login-shell p{color:var(--ink-2);font-size:14px}.error-text{color:#a12b22!important;white-space:pre-line}.top-actions{display:flex;gap:10px;align-items:center;margin-left:auto}.top-actions a{margin:0}.top-actions .btn{min-height:30px}.queue-stats{font-size:12px;margin:0 10px 16px;color:var(--ink-2)}.products{max-height:calc(100vh - 375px);overflow-y:auto}.workspace{grid-template-columns:minmax(230px,.85fr) minmax(320px,1.15fr)}.main-empty{max-width:680px;margin:80px auto}.main-empty h1{font-size:44px}.main-empty p{font-size:18px;color:var(--ink-2)}.role-select{width:100%;font:inherit;padding:9px;border:1px solid #d2d2d7;border-radius:9px;background:white}.selectionbar select{max-width:180px}.selectionbar button{flex:0 0 auto}.color-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.workmeta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.toolbar-end{margin-left:auto}.empty-drop{min-height:100px}.muted-notice{background:#f5f5f7;color:#6e6e73}.notice.warning{background:#fff5e8;color:#805020;border:1px solid #efcf9e}.danger{color:#a12b22}.badge.green{color:#1d8c3e;background:#eaf7ed}.badge.orange{color:#b25000;background:#fff4e5}.look-form{padding-top:15px;margin-top:15px;border-top:1px solid var(--hair)}.look-form summary{cursor:pointer;font-size:12px;font-weight:600}.look-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.look-grid label,.notes label{display:grid;gap:4px;font-size:12px;color:var(--ink-2)}.look-grid input,.look-grid textarea,.notes textarea{width:100%;font:inherit;border:1px solid #d2d2d7;border-radius:8px;padding:8px;background:white;color:var(--ink)}.look-grid .full{grid-column:1/-1}.notes textarea{min-height:90px;resize:vertical}.image-card .image-label{white-space:normal;min-height:24px}.type-tag{position:absolute;top:5px;left:32px;border-radius:5px;padding:1px 5px;font-size:10px;background:white}.highlight{outline:2px solid var(--blue)}.backup-actions{display:flex;gap:8px;margin-top:8px}.image-button:focus-visible{outline-offset:-4px}.dot.saved{background:var(--green)}.history{padding:24px;max-width:680px;width:90vw}.history h2{margin-bottom:10px}.history-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--hair)}.history-row small{display:block;color:var(--ink-2)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.zoom video{display:block;max-height:70vh;max-width:100%;margin:auto}.safety-banner{color:#285072;background:#eaf4ff;padding:10px 28px;font-size:12px;text-align:center}.filter-label{display:block;font-size:11px;color:var(--ink-2);margin:3px 0 5px}.check-inline{font-size:12px;display:flex;align-items:center;gap:6px;margin:8px 0}.subtle-divider{margin-top:20px;padding-top:20px;border-top:1px solid var(--hair)}.error-box{white-space:pre-line}.adline .star{position:static}.add-images-note{font-size:12px;color:var(--ink-2);margin-top:15px}.queue-progress{font-size:12px;color:var(--blue-ink)}.busy-indicator{color:var(--blue-ink);font-size:13px}.fallback-thumb{min-height:120px;display:grid;place-items:center;font-size:11px}.roles-group{border-top:1px solid var(--hair);margin-top:12px;padding-top:12px}.role-heading{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.button-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.image-card.selected{border-color:var(--blue)}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(210px,.85fr) minmax(280px,1.15fr)}.color-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.top-in{gap:12px}.top-actions{gap:7px}.brand{font-size:15px}}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.colors{grid-template-columns:1fr}.pool{grid-template-columns:repeat(5,minmax(0,1fr));max-height:310px}.products{max-height:500px}.top-in{flex-wrap:wrap}.top-actions{margin-left:0}.main-empty h1{font-size:32px}}
@media(max-width:700px){.products{max-height:230px;display:block}.product{width:100%;font-size:12px}.product .blank-thumb,.product img{width:38px;height:46px}.sidebar-help{display:none}.queue-stats{display:block;margin:8px 0}.filter-label{display:none}.filter-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter{font-size:12px}.workspace{grid-template-columns:1fr}.pool{grid-template-columns:repeat(4,minmax(0,1fr))}.top-in{padding:10px 16px}.top-actions{margin-left:0;flex-wrap:wrap}.safety-banner{padding:10px 16px;text-align:left}.look-grid{grid-template-columns:1fr}.look-grid input,.look-grid textarea,.notes textarea{font-size:16px}.main-empty{margin:25px 0}.top-in .badge{font-size:11px}.heading-row h1{font-size:27px}}

.image-card{touch-action:none;user-select:none;-webkit-user-select:none}.image-card.dragging{opacity:.5}.drag-badge{position:fixed;z-index:10000;pointer-events:none;background:#0071e3;color:white;padding:8px 14px;border-radius:20px;font-size:13px;box-shadow:0 4px 16px #0002}.color-panel.dragover{outline:3px solid #0071e3;background:#edf5ff}.collection-slot.dragover{outline:3px solid #0071e3;background:#e4f1ff}.collection-slot.drag-invalid{outline:3px solid #b42318;background:#fff0ee}

.order-help{font-size:12px;color:var(--ink-2);margin:12px 0 20px}.collection-choices{border-top:1px solid var(--hair);margin-top:16px;padding-top:16px}.collection-choices h3{font-size:14px;margin:0 0 5px}.collection-choices p{font-size:12px;color:var(--ink-2);margin:0 0 10px}.collection-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px}.collection-slot{display:flex;flex-direction:column;align-items:center;gap:5px;background:#f5f5f7;border:1px dashed #b9c9d9;border-radius:12px;padding:10px;min-width:0;text-align:center;color:var(--ink)}.collection-slot img{height:105px;width:100%;object-fit:contain;border-radius:6px}.collection-slot b{font-size:12px}.collection-slot small{font-size:11px;color:var(--blue-ink)}.collection-placeholder{display:grid;place-items:center;height:105px;font-size:28px;color:var(--blue)}.collection-slot.chosen{border-style:solid;border-color:#9abfe8;background:#f4f9ff}.collection-choices .collection-scope{font-size:10px;margin-top:10px;margin-bottom:0}.collection-dialog{padding:24px;width:680px;max-width:92vw;max-height:88vh;overflow-y:auto}.collection-dialog h2{font-size:23px;margin:0 0 8px}.collection-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.collection-option{padding:5px;border:2px solid transparent;border-radius:12px;background:#f5f5f7;min-width:0;color:var(--ink)}.collection-option img{width:100%;aspect-ratio:3/4;object-fit:contain;border-radius:8px}.collection-option span{display:block;padding:7px 0;font-size:12px}.collection-option.chosen{border-color:var(--blue);background:#edf5ff}@media(max-width:500px){.collection-options{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-dialog{padding:16px}.collection-slots{gap:8px}}

.product.has-work{background:#eff9f1;border-color:#c4e3ca}.product.has-work.active{background:#e5f5e9;border-color:#32934c;box-shadow:inset 0 0 0 1px #32934c}.product.has-work .work-label{color:var(--green);font-weight:600}.queue-legend{font-size:11px;line-height:1.5;color:var(--ink-2);margin:0 4px 12px}.queue-legend span{display:block;color:var(--green)}

.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.brand-logo{display:block;width:120px;height:60px;object-fit:contain}.login-logo{display:block;width:176px;height:88px;object-fit:contain;margin:0 0 18px}.top-in{min-height:80px;padding-top:6px;padding-bottom:6px}@media(max-width:700px){.brand{gap:12px}.brand-logo{width:100px;height:50px}.top-in{min-height:70px}}
