:root{--bg-color: #f4f5f7;--surface: #ffffff;--text-color: #1f2430;--muted: #6e7482;--line: #e2e6ec;--header-bg: #f0d8e2;--accent-color: #d4a8ba;--highlight-bg: rgba(212, 168, 186, .14);--primary-btn: #2f3a49;--primary-btn-border: #2a3340;--danger-btn: #c73c3c;--danger-btn-border: #ad2f2f;--gold-start: var(--header-bg);--gold-end: var(--accent-color)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg-color);color:var(--text-color);font-size:16.5px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-container{min-height:100dvh;display:grid;place-items:center;background:linear-gradient(90deg,var(--gold-end) 0%,var(--gold-start) 100%);padding:16px}.login-box{width:min(420px,96vw);background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;box-shadow:0 16px 36px #0000002e;padding:22px}.login-header{margin-bottom:16px;text-align:center}.login-header h1{margin:0;font-size:1.35rem}.login-header p{margin:6px 0 0;color:var(--muted)}.form-group{display:grid;gap:6px;margin-bottom:12px}.form-group label{font-size:.9rem;font-weight:600}.form-group input{min-height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit}.login-btn{min-height:40px;width:100%;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:linear-gradient(90deg,var(--gold-end) 0%,var(--gold-start) 100%);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-status{margin-top:12px;padding:10px 12px;border-radius:8px;font-size:.88rem;border:1px solid transparent}.login-status--down{background:#fff5f5;border-color:#f3b7b7;color:#8b1f1f}a{color:inherit;text-decoration:none}.app-shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-color)}.brand-header{position:sticky;top:0;z-index:120;min-height:64px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:linear-gradient(90deg,var(--gold-end) 0%,var(--gold-start) 100%);border-bottom:1px solid var(--accent-color)}.brand-header h1{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:0;color:#fff}.app-title{display:inline-flex;align-items:center;gap:10px}.app-title-logo{height:30px;width:auto;object-fit:contain;display:block}.menu-icon-btn{width:40px;height:36px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:#ffffff2e;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.menu-icon-btn:hover{background:#ffffff47;border-color:#fff9}.menu-bar{width:18px;height:2px;background:#fff;border-radius:999px}.app-actions{position:relative;display:flex;align-items:center}.menu-panel{position:absolute;right:0;top:44px;z-index:150;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px #131b2638;overflow:hidden}.menu-item{min-height:42px;width:100%;display:flex;align-items:center;padding:0 10px;font-size:.96rem;font-weight:500;letter-spacing:0;color:#333;text-align:left;font:inherit;border:none;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.menu-item:last-child{border-bottom:none}.menu-item:hover{background:var(--highlight-bg)}.error-banner{margin:0;padding:10px 12px;border-bottom:1px solid #e7b4b4;background:#fdf0f0;color:#912727}.mobile-app-container{max-width:none;margin:0;width:100%;min-height:calc(100dvh - 64px)}.route-frame,.screen{min-height:calc(100dvh - 64px)}.screen-toolbar{min-height:48px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;padding:0 8px;border-bottom:1px solid var(--accent-color);background:var(--surface)}.screen-toolbar h2{margin:0;text-align:center;font-size:.95rem;text-transform:none;letter-spacing:.08em}.toolbar-spacer{width:40px;height:40px}.icon-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-color);display:inline-flex;align-items:center;justify-content:center;font-size:1.14rem;cursor:pointer}.screen-body{padding:0}.app-container{display:none}.product-list-panel{background:var(--surface);border-right:1px solid var(--accent-color);overflow:hidden}.product-detail-panel{flex:1;background:var(--surface);overflow:hidden}.list-toolbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--accent-color);background:var(--surface)}.list-toolbar h3{margin:0;font-size:.95rem;font-weight:700;letter-spacing:.01em}.list-toolbar-actions{display:flex;align-items:center;gap:8px}.filter-wrap{position:relative}.filter-btn{min-width:40px;padding:0 10px}.filter-btn.active{background:#e8f5ea;border-color:#b8dcbc;color:#2f7f3a}.filter-icon{width:14px;height:14px;fill:currentColor}.filter-panel{position:absolute;top:40px;right:0;z-index:30;width:170px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 20px #00000024;padding:8px}.filter-item{display:flex;align-items:center;gap:8px;min-height:30px;font-size:.82rem;color:#333}.filter-item input{margin:0}.filter-reset-btn{margin-top:6px}.new-product-btn{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(90deg,var(--gold-end) 0%,var(--gold-start) 100%);color:#fff;font-size:.84rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.new-product-btn:hover{filter:brightness(1.03)}.product-row{position:relative;display:grid;grid-template-columns:18px 56px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.product-row:last-child{border-bottom:none}.product-row:hover,.product-row.active{background:var(--highlight-bg)}.product-row.active:before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--accent-color)}.row-checkbox{width:14px;height:14px;margin:0}.row-checkbox-placeholder{width:14px;height:14px;display:inline-block}.thumb{width:56px;height:56px;border:1px solid var(--line);object-fit:contain;background:#fff}.product-row h3{margin:0;font-size:1.04rem;font-weight:650;line-height:1.3}.product-row p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}.badge{border:1px solid var(--line);border-radius:4px;background:#fafbfc;color:#424a59;display:inline-flex;align-items:center;gap:4px;padding:3px 6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.status-processing{border-color:#a8c7f8;color:#255ca8}.status-review-ai{border-color:#eecb98;color:#9a6315}.status-complete{border-color:#9cd6a4;color:#2f7f3a}.status-error{border-color:#efb1b1;color:#a12727}.pulse-dot,.btn-inline-spinner{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse .85s ease-in-out infinite}.selection-bar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid var(--accent-color);background:var(--surface);font-size:.84rem}.selection-meta{display:inline-flex;align-items:center;gap:10px;min-width:0;flex:1}.selection-link{border:none;background:transparent;color:#2f69c4;font-size:.82rem;font-weight:600;padding:0;cursor:pointer;white-space:nowrap}.panel{min-height:100%;background:var(--surface)}.detail-head{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px;border-bottom:1px solid var(--accent-color)}.detail-head-main{display:grid;gap:8px}.detail-head h2{margin:0;font-size:1.18rem;line-height:1.3}.detail-status-wrap{display:flex;justify-content:flex-start}.unsaved-floating-bar{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:220;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 28px #10182833;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.92rem;color:#3b4250}.unsaved-actions-buttons{display:inline-flex;align-items:center;gap:8px}.detail-head-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.gallery{padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-bottom:1px solid var(--line)}.gallery img{width:100%;aspect-ratio:1 / 1;object-fit:contain;border:1px solid var(--line);background:#fff}.gallery-image-trigger{margin:0;padding:0;border:none;background:transparent;cursor:zoom-in;display:grid;gap:4px;text-align:left}.gallery-meta{font-size:.74rem;color:var(--muted);padding:0 2px}.image-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a0e14b3;display:flex;align-items:center;justify-content:center;padding:16px}.image-preview-modal{position:relative;width:min(980px,96vw);max-height:calc(100dvh - 32px);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}.image-preview-modal img{width:100%;max-height:calc(100dvh - 88px);object-fit:contain;background:#fff}.image-preview-close{position:absolute;top:8px;right:8px;width:34px;height:34px;border:1px solid #d7dbe3;border-radius:999px;background:#fff;color:#323847;font-size:1.1rem;line-height:1;cursor:pointer}.detail-main-layout{display:block}.detail-media-column,.detail-fields-column{min-width:0}.detail-section{padding:10px 12px;border-bottom:1px solid var(--line)}.detail-section h4{margin:0 0 6px;font-size:.98rem;font-weight:600;letter-spacing:.01em;color:#4f5764}.detail-section p{margin:0;line-height:1.45}.detail-section p+p{margin-top:4px}.upload-zone{position:relative;min-height:180px;display:grid;place-items:center;text-align:center;color:var(--muted);border:1px dashed var(--accent-color);background:#fcfcfd;margin:12px;padding:12px}.upload-zone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.upload-actions{display:flex;justify-content:center;gap:8px;padding:0 12px}.upload-progress{padding:10px 12px 0}.upload-progress-track{width:100%;height:8px;border-radius:999px;border:1px solid var(--line);background:#eef1f5;overflow:hidden}.upload-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-end) 0%,var(--gold-start) 100%);transition:width .18s ease-out}.upload-progress-label{margin:6px 0 0;font-size:.8rem;color:var(--muted)}.settings-select,.instruction-box,.color-picker{width:100%;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text-color);font:inherit}.settings-select[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.settings-select,.color-picker{min-height:38px;padding:0 8px}.instruction-box{min-height:108px;padding:8px;resize:vertical}.description-box{min-height:180px}.ai-template-box{min-height:420px;height:420px;overflow-y:auto;-webkit-overflow-scrolling:touch}.color-picker{padding:4px}.toggle-row{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.9rem}.toggle-row input{width:16px;height:16px}.field-row{display:grid;gap:6px;margin-top:8px;font-size:.84rem;color:var(--muted)}.settings-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px 18px}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;background:#00000059;display:flex;align-items:center;justify-content:center;padding:16px}.settings-modal-window{width:min(520px,96vw);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px #00000038}.settings-modal-window.settings-modal-ai{width:min(900px,98vw);max-height:calc(100dvh - 12px)}.settings-modal-head{min-height:52px;padding:8px 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-start;gap:8px}.settings-modal-head h3{margin:0;font-size:1rem;font-weight:600}.settings-version{padding:8px 12px 0;font-size:.84rem;color:#6b7280}.settings-label{display:block;margin-bottom:6px;font-size:.92rem;font-weight:600;color:#4f5764}.settings-input,.settings-color{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text-color);font:inherit}.settings-input{min-height:38px;padding:0 10px}.settings-input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.settings-color{min-height:44px;padding:4px;cursor:pointer}.settings-secondary,.settings-primary{min-height:36px;width:auto;min-width:84px;border-radius:10px;font-size:.92rem;font-weight:600;padding:0 14px;cursor:pointer}.settings-secondary{border:1px solid #d7dbe3;background:#f3f4f6;color:#323847}.settings-primary{border:1px solid rgba(255,255,255,.2);background:linear-gradient(90deg,var(--gold-end) 0%,var(--gold-start) 100%);color:#fff}.settings-secondary:hover,.settings-primary:hover{filter:brightness(.97)}.settings-secondary:disabled,.settings-primary:disabled{opacity:.6;cursor:not-allowed}.primary-btn,.secondary-btn,.danger-btn,.neutral-btn,.approve-btn,.delete-btn,.rerun-btn{min-height:36px;width:100%;border:1px solid transparent;border-radius:999px;font-size:.94rem;font-weight:600;padding:0 14px;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.primary-btn,.secondary-btn{background:linear-gradient(90deg,var(--gold-end) 0%,var(--gold-start) 100%);border-color:#fff3;color:#fff}.danger-btn{background:linear-gradient(90deg,#b83030,#d95a5a);border-color:#ffffff1f;color:#fff}.neutral-btn{background:#fff;border-color:#d7dbe3;color:#5a6270}.approve-btn{background:#fff;border-color:#2f8d46;color:#2f8d46}.delete-btn{background:#fff;border-color:#c13b3b;color:#c13b3b}.rerun-btn{background:#fff;border-color:#2f69c4;color:#2f69c4}.primary-btn:hover,.secondary-btn:hover,.danger-btn:hover,.neutral-btn:hover,.approve-btn:hover,.delete-btn:hover,.rerun-btn:hover{filter:brightness(.97)}.primary-btn:disabled,.secondary-btn:disabled,.danger-btn:disabled,.neutral-btn:disabled,.approve-btn:disabled,.delete-btn:disabled,.rerun-btn:disabled{opacity:.58;cursor:not-allowed}.inline-btn{width:auto;min-height:36px;margin:0;padding:0 12px;font-size:.88rem}.small-btn{width:auto;min-height:34px;margin:0;padding:0 12px;font-size:.8rem}.hint,.empty,.empty-panel{margin:0;padding:10px 12px;color:var(--muted);font-size:.84rem}.empty-state-panel{min-height:calc(100dvh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:24px;background:#f8f9fb}.empty-state-art{width:78px;height:78px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:1.7rem}.empty-state-panel h2{margin:4px 0 0;font-size:1.12rem;font-weight:700;color:#303846}.empty-state-panel p{margin:0;max-width:340px;color:var(--muted);font-size:.9rem;line-height:1.45}.empty-state-cta{width:auto;min-width:192px;margin-top:8px;padding:0 14px}.error-note{color:#982828}.slide-forward{animation:slideForward .18s ease}.slide-back{animation:slideBack .18s ease}@media (min-width: 768px){.mobile-app-container{display:none}.app-container{display:flex;flex:1;min-height:calc(100dvh - 64px);overflow:hidden}.product-list-panel{width:36%;min-width:320px;max-width:460px;overflow-y:auto}.product-detail-panel{overflow:hidden}.desktop-detail-transition{height:calc(100dvh - 64px);overflow:auto}.product-detail-panel .screen-toolbar{display:none}.detail-main-layout.desktop{display:grid;grid-template-columns:minmax(260px,40%) minmax(0,1fr);border-bottom:1px solid var(--line)}.detail-main-layout.desktop .detail-media-column{border-right:1px solid var(--line)}.detail-main-layout.desktop .gallery{border-bottom:0;grid-template-columns:1fr;align-content:start;height:100%}.detail-main-layout.desktop .gallery img{aspect-ratio:4 / 3}.detail-main-layout.desktop .detail-fields-column .detail-section:last-child{border-bottom:0}.detail-main-layout.desktop .description-box{min-height:260px}.detail-main-layout.desktop .ai-template-box{min-height:520px}.detail-head{flex-direction:row;justify-content:space-between;align-items:flex-start}.detail-head-actions{justify-content:flex-end}}@media (max-width: 768px){body{font-size:18px;line-height:1.45}.brand-header h1{font-size:1.34rem}.menu-item{font-size:1rem}.screen-toolbar h2,.list-toolbar h3{font-size:1.02rem}.new-product-btn,.small-btn,.inline-btn,.primary-btn,.secondary-btn,.danger-btn,.neutral-btn,.approve-btn,.delete-btn,.rerun-btn{font-size:.98rem}.product-row h3{font-size:1.1rem}.product-row p,.detail-section p,.hint,.empty,.empty-panel{font-size:.96rem}.badge{font-size:.79rem}.detail-head h2{font-size:1.24rem}.unsaved-floating-bar{flex-direction:column;align-items:stretch;font-size:.96rem}.unsaved-actions-buttons{width:100%;justify-content:flex-start}.detail-section h4,.settings-label,.toggle-row,.field-row,.settings-input,.settings-select,.instruction-box{font-size:1rem}.selection-bar{gap:8px}.selection-bar .small-btn{width:auto;max-width:46vw;white-space:nowrap}.settings-modal-window.settings-modal-ai{width:calc(100vw - 8px);max-height:calc(100dvh - 8px);border-radius:10px}.ai-template-box{min-height:58dvh;height:58dvh}}@keyframes pulse{0%{transform:scale(.7);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes slideForward{0%{transform:translate(12px);opacity:.45}to{transform:translate(0);opacity:1}}@keyframes slideBack{0%{transform:translate(-12px);opacity:.45}to{transform:translate(0);opacity:1}}
