@import"https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Sans+KR:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";.ig-page{--ig-bg: #f2f5f9;--ig-panel: #ffffff;--ig-line: #dbe2ea;--ig-text: #1b2430;--ig-muted: #687689;--ig-primary: #1f5fff;--ig-primary-soft: #e8efff;--ig-danger: #b91c1c;--ig-danger-soft: #fee2e2;min-height:0;display:grid;gap:14px;padding:16px;background:radial-gradient(circle at top left,rgba(255,255,255,.95),transparent 28%),radial-gradient(circle at bottom right,rgba(31,95,255,.08),transparent 22%),linear-gradient(180deg,#f5f8fc,#edf2f8);color:var(--ig-text);font-family:Barlow,Noto Sans SC,Noto Sans JP,Noto Sans KR,Source Han Sans SC,Microsoft YaHei UI,Microsoft YaHei,Yu Gothic UI,Yu Gothic,Meiryo,Malgun Gothic,Segoe UI,sans-serif}.ig-toolbar{border:1px solid rgba(214,223,234,.95);border-radius:22px;background:radial-gradient(circle at top right,rgba(31,95,255,.08),transparent 22%),#fffffff5;display:grid;gap:12px;padding:16px 18px;box-shadow:0 20px 48px #10203314}.ig-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ig-toolbar-note{font-size:12px;color:var(--ig-muted);padding:10px 12px;border-radius:14px;background:#f7faffeb;border:1px solid rgba(227,234,243,.95)}.ig-layout{display:grid;grid-template-columns:300px 1fr 330px;gap:14px;align-items:start}.ig-side{overflow:visible;border:1px solid rgba(214,223,234,.95);border-radius:22px;background:#fffffff2;box-shadow:0 16px 40px #1020330f}.ig-right{border-right:1px solid rgba(214,223,234,.95);border-left:1px solid rgba(214,223,234,.95)}.ig-center{min-width:0;border:1px solid rgba(214,223,234,.95);border-radius:26px;background:radial-gradient(circle at top left,rgba(255,255,255,.8),transparent 22%),linear-gradient(145deg,#eef3f9,#f8fbfe 45%,#eef4fb);position:relative;overflow:visible;box-shadow:0 24px 56px #10203314}.ig-panel-block{border-bottom:1px solid #edf1f5;padding:16px;display:grid;gap:12px}.ig-panel-block h3{margin:0;font-size:14px;font-weight:800;letter-spacing:.02em}.ig-row-list,.ig-element-fields{display:grid;gap:8px}.ig-element-main-fields{display:grid;gap:8px;order:1}.ig-element-layer-actions{order:2}.ig-element-geometry{order:3}.ig-element-main-fields.is-text>.ig-inline-field:nth-of-type(3){order:1}.ig-element-main-fields.is-text>.ig-inline-field:nth-of-type(4){order:2}.ig-element-main-fields.is-text>.ig-inline-field:nth-of-type(1){order:3}.ig-element-main-fields.is-text>.ig-inline-field:nth-of-type(2){order:4}.ig-element-main-fields.is-text>.ig-grid-2{order:5}.ig-grid-2{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.ig-muted{margin:0;color:var(--ig-muted);font-size:12px;line-height:1.4}.ig-btn{border:1px solid var(--ig-line);background:linear-gradient(180deg,#fff,#f9fbff);color:var(--ig-text);border-radius:12px;font-size:12px;font-weight:700;padding:9px 13px;cursor:pointer}.ig-btn:hover:not(:disabled){border-color:#aebed1;background:#f4f8ff}.ig-btn:disabled{opacity:.5;cursor:not-allowed}.ig-btn.is-primary{color:var(--ig-primary);border-color:#bfd2ff;background:linear-gradient(180deg,#eef4ff,#e3edff)}.ig-btn.is-danger{color:var(--ig-danger);border-color:#fecaca;background:var(--ig-danger-soft)}.ig-inline-field{display:grid;gap:6px;font-size:12px;font-weight:600;color:#425466}.ig-inline-field input,.ig-inline-field select,.ig-inline-field textarea{width:100%;border:1px solid #ccd6e1;border-radius:12px;background:#fff;color:#1f2937;padding:10px 12px;font-size:12px;outline:none;font-family:inherit}.ig-inline-field textarea{min-height:70px;resize:vertical}.ig-inline-field input:focus,.ig-inline-field select:focus,.ig-inline-field textarea:focus{border-color:#7ca3ff;box-shadow:0 0 0 3px #1f5fff29}.ig-segment{display:inline-flex;border:1px solid #c9d3df;border-radius:14px;overflow:hidden;background:#f8fafefa}.ig-segment-btn{border:0;background:transparent;color:#506276;font-size:12px;font-weight:700;padding:9px 16px;cursor:pointer}.ig-segment-btn.is-active{color:#1f4bd5;background:linear-gradient(180deg,#edf3ff,#e4ecff)}.ig-switch{display:flex;align-items:center;gap:8px;font-size:12px;color:#506276}.ig-switch input{margin:0}.ig-reference-preview{width:100%;max-height:180px;object-fit:cover;border-radius:10px;border:1px solid #d7dde6}.ig-ai-layout-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ig-ai-layout-preview-card{border:1px solid #d6deea;border-radius:10px;background:#f9fbff;overflow:hidden;display:grid}.ig-ai-layout-preview-card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;display:block}.ig-ai-layout-preview-card span{padding:6px 8px;font-size:11px;color:#60758f;border-top:1px solid #e4ebf4}.ig-canvas-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:24px;overflow:visible;min-height:calc(100vh - 220px)}.ig-canvas-shell{position:relative;flex:0 0 auto}.ig-canvas-editor{position:relative;overflow:hidden;border-radius:10px;box-shadow:0 24px 54px #111a262e}.ig-element-box{width:100%;height:100%;border:1px solid transparent;background:transparent;-webkit-user-select:none;user-select:none;cursor:move;position:relative}.ig-element-box.is-selected{border-color:#2f67ff;box-shadow:inset 0 0 0 1px #2f67ff8c}.ig-element-content{position:relative;width:100%;height:100%}.ig-guides-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999}.ig-marquee-selection{position:absolute;pointer-events:none;border:1px dashed rgba(31,95,255,.95);background:#1f5fff29;box-shadow:inset 0 0 0 1px #bfd2ffcc;z-index:998}.ig-guide-line{position:absolute}.ig-guide-line.is-vertical{top:0;bottom:0;border-left:1px dashed rgba(44,111,255,.78);box-shadow:0 0 0 1px #c7daff40}.ig-guide-line.is-horizontal{left:0;right:0;border-top:1px dashed rgba(44,111,255,.78);box-shadow:0 0 0 1px #c7daff40}.ig-guide-line.is-center{border-color:#f64a15e6;box-shadow:0 0 0 1px #f8ab8d59}.ig-image-fill{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.ig-image-empty{width:100%;height:100%;border:1px dashed #90a4ba;background:#f8fafc;color:#70849b;display:flex;align-items:center;justify-content:center;font-size:12px}.ig-data-key-badge{position:absolute;right:8px;top:8px;font-size:11px;line-height:1;padding:4px 6px;border-radius:999px;color:#2c4a85;background:#e2ecffe6;border:1px solid rgba(162,186,244,.8)}.ig-mini-preview-wrap{width:100%;overflow:auto;border:1px solid #d6dde8;border-radius:10px;background:#f6f9fd;padding:10px}.ig-mini-preview-scale{width:216px;height:270px;overflow:hidden}.ig-mini-preview-scale>div{transform:scale(.2);transform-origin:top left}.ig-export-host{position:fixed;left:-20000px;top:0;opacity:0;pointer-events:none}.ig-template-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:280;background:#1118279e;display:flex;align-items:center;justify-content:center;padding:18px}.ig-template-modal-panel{width:min(1240px,96vw);max-height:92vh;border-radius:14px;border:1px solid #d8e1ec;background:#fff;display:flex;flex-direction:column;gap:10px;padding:14px}.ig-save-modal-panel{width:min(520px,94vw);max-height:none}.ig-template-modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.ig-template-modal-header h3{margin:0;font-size:15px}.ig-template-modal-actions{display:flex;gap:8px}.ig-template-tabs{display:flex;flex-wrap:wrap;gap:8px}.ig-template-tab{border:1px solid #d6deea;background:#f8fbff;color:#516579;border-radius:999px;font-size:12px;font-weight:700;padding:8px 14px;cursor:pointer}.ig-template-tab.is-active{border-color:#bfd2ff;background:#e8efff;color:#1f5fff}.ig-save-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.ig-template-grid{flex:1;min-height:0;overflow:auto;padding-right:4px;display:grid;align-content:start;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.ig-template-card{border:1px solid #d6deea;border-radius:14px;padding:10px;background:linear-gradient(180deg,#fcfdff,#f6f9ff);display:grid;gap:8px}.ig-template-thumb-btn{border:0;background:#fff;border-radius:8px;overflow:hidden;cursor:zoom-in;padding:0}.ig-template-thumb-img{width:100%;aspect-ratio:4 / 5;object-fit:cover;display:block}.ig-template-thumb-empty{width:100%;aspect-ratio:4 / 5;display:flex;align-items:center;justify-content:center;color:#8393a8;font-size:12px;border:1px dashed #c7d2e2;background:#f8fafc}.ig-template-card-title{font-size:12px;font-weight:700;color:#27364a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ig-template-card-meta{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;color:#73839a;font-size:11px}.ig-template-meta-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#eef4ff;color:#3159b7;border:1px solid #d5e2ff;font-weight:700}.ig-template-card-actions{display:flex;justify-content:flex-end}.ig-template-empty{border:1px dashed #cad4e2;border-radius:10px;padding:28px 12px;text-align:center;color:#7a8ca4;font-size:12px;background:#f9fbff}.ig-template-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0f172ad6;display:flex;align-items:center;justify-content:center;padding:20px}.ig-template-zoom-inner{width:min(980px,96vw);max-height:92vh;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#0f172a;color:#dbe7ff;padding:12px;display:grid;gap:10px}.ig-template-zoom-close{justify-self:end;border:1px solid #3b4d71;background:#1a2640;color:#dbe7ff;border-radius:8px;font-size:12px;padding:6px 10px;cursor:pointer}.ig-template-zoom-title{font-size:13px;font-weight:700}.ig-template-zoom-actions{display:flex;justify-content:flex-end}.ig-template-zoom-img{width:100%;max-height:74vh;object-fit:contain;border-radius:8px;background:#111827}.ig-template-zoom-tip{color:#9fb0cc;font-size:12px}@media (max-width: 1360px){.ig-layout{grid-template-columns:280px 1fr 300px}}@media (max-width: 1120px){.ig-page{height:auto;min-height:0}.ig-layout{grid-template-columns:1fr}.ig-side{border-right:0;border-bottom:1px solid var(--ig-line)}.ig-right{border-left:0}.ig-center{min-height:70vh}.ig-grid-2,.ig-ai-layout-preview-grid{grid-template-columns:1fr}}:root{--bg-1: #ffffff;--bg-2: #ffffff;--panel: #ffffff;--line: #eef0f4;--line-soft: #f4f6f8;--text: #333333;--muted: #888888;--brand: #6b46c1;--brand-soft: #f3f0ff;--danger: #ef4444;--success: #10b981}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#fff}a{color:#2458c4}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;gap:20px;align-items:center;padding:12px 24px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--text)}.brand-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;overflow:hidden;background:transparent}.brand-icon-image{display:block;width:100%;height:100%;object-fit:contain}.main-nav{display:flex;gap:24px;flex-wrap:wrap;margin-left:20px}.nav-link{text-decoration:none;color:#666;font-size:14px;padding:6px 0;border-bottom:2px solid transparent;transition:all .2s}.nav-link:hover{color:var(--brand)}.nav-link.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:500}.page-wrap{flex:1;padding:0;display:flex;flex-direction:column}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:14px}.topbar-user-meta{display:grid;gap:2px;text-align:right}.topbar-user-meta strong{font-size:13px;color:#0f172a}.topbar-user-meta span{font-size:11px;color:#64748b}.topbar-logout{height:36px}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.primary-btn{border:1px solid #2458c4;background:#2458c4;color:#fff}.primary-btn:hover:not(:disabled){transform:translateY(-1px);background:#1c4cac}.secondary-btn{border:1px solid #d7deea;background:#fff;color:#30445f}.secondary-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#bcc7d8}.primary-btn:disabled,.secondary-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-boot,.login-page{min-height:calc(100vh - 73px);display:grid;background:radial-gradient(circle at top left,rgba(36,88,196,.14),transparent 30%),linear-gradient(180deg,#f6f8fc,#eaf0f8)}.auth-boot{grid-template-columns:1fr;place-items:center}.login-page{grid-template-columns:1fr;place-items:center;padding:40px 20px}.auth-boot-panel,.login-card{width:min(440px,calc(100vw - 40px));padding:32px;border-radius:26px;background:#ffffffeb;border:1px solid rgba(202,212,227,.9);box-shadow:0 30px 70px #0f172a14}.auth-boot-panel h1,.login-card h2{margin:14px 0 8px;font-size:28px;line-height:1;color:#102033}.auth-boot-panel p,.login-card p{margin:0;color:#55687f;font-size:14px;line-height:1.6}.login-card-head{display:grid;gap:10px}.login-form,.stacked-fields{display:grid;gap:14px}.login-form{margin-top:22px}.stacked-field{display:grid;gap:8px}.stacked-field span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6a7d95}.stacked-field input,.stacked-field select,.stacked-field textarea{width:100%;min-height:44px;border:1px solid #d9e1ec;border-radius:14px;background:#fff;padding:0 14px;font-size:14px;color:#102033;outline:none}.stacked-field textarea{padding-top:12px;padding-bottom:12px;resize:vertical}.stacked-field input:focus,.stacked-field select:focus,.stacked-field textarea:focus{border-color:#2458c4;box-shadow:0 0 0 3px #2458c41f}.login-error{padding:12px 14px;border-radius:14px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px}.login-submit{width:100%}.workspace-section{display:grid;gap:16px;padding:22px;border-radius:24px;background:#fffffff5;border:1px solid rgba(210,219,231,.92);box-shadow:0 18px 50px #0f172a0d}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-head h2{margin:0;color:#102033;font-size:20px}.section-head p{margin:6px 0 0;color:#60748c;font-size:13px;line-height:1.6}.toolbar-actions,.toolbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-pill.is-success{background:#dcfce7;color:#166534}.status-pill.is-muted{background:#e2e8f0;color:#475569}.toggle-field{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:#102033}.toggle-field input{width:18px;height:18px}.user-admin-grid{grid-template-columns:minmax(0,.95fr) minmax(360px,.92fr)}.user-list{display:grid;gap:10px}.user-list-item{width:100%;display:grid;gap:10px;padding:16px;border-radius:18px;border:1px solid rgba(210,219,231,.92);background:#fff;text-align:left;cursor:pointer}.user-list-item:hover,.user-list-item.is-active{border-color:#2458c4;box-shadow:0 10px 24px #2458c414}.user-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.user-list-head strong{font-size:15px;color:#102033}.user-list-meta{display:flex;gap:10px;flex-wrap:wrap;color:#60748c;font-size:12px}.permissions-panel{display:grid;gap:14px;padding-top:8px;border-top:1px solid #eef2f7}.permission-grid{display:grid;gap:10px}.permission-item{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;border:1px solid #d9e1ec;background:#fff}.permission-item input{margin-top:3px}.permission-item div{display:grid;gap:4px}.permission-item strong{font-size:14px;color:#102033}.permission-item span{font-size:12px;color:#64748b}.panel{background:var(--panel);border:none;border-radius:0;box-shadow:none;padding:24px;display:flex;flex-direction:column;flex:1}.panel h1{margin:0 0 8px;font-size:24px}.panel h2{margin:0 0 8px;font-size:18px}.workspace-page{--workspace-bg: linear-gradient(180deg, #f5f7fb 0%, #edf2f9 100%);--workspace-card: rgba(255, 255, 255, .96);--workspace-line: #d9e1ec;--workspace-line-strong: #c7d2e2;--workspace-title: #102033;--workspace-copy: #4b5f77;--workspace-chip-bg: #eef4ff;--workspace-chip-text: #305081;--workspace-glow: 0 24px 60px rgba(18, 34, 61, .08);min-width:0;display:grid;gap:20px;padding:24px;background:var(--workspace-bg);font-family:Manrope,Segoe UI,sans-serif}.workspace-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);gap:18px;padding:24px;border:1px solid rgba(203,214,229,.9);border-radius:24px;background:radial-gradient(circle at top right,rgba(82,130,255,.15),transparent 34%),radial-gradient(circle at bottom left,rgba(16,185,129,.1),transparent 26%),#ffffffe6;box-shadow:var(--workspace-glow)}.workspace-eyebrow{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#0f172a0f;color:#37506b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.workspace-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:14px}.workspace-title-row h1{margin:0;font-size:30px;line-height:1;font-weight:800;color:var(--workspace-title)}.workspace-hero-text{margin:12px 0 0;max-width:760px;color:var(--workspace-copy);font-size:14px;line-height:1.7}.workspace-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-kpi-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-kpi{display:grid;gap:8px;padding:16px;border:1px solid rgba(208,217,229,.95);border-radius:18px;background:#fffffff2;min-width:0}.workspace-kpi-label{color:#60748c;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.workspace-kpi strong{color:var(--workspace-title);font-size:28px;line-height:1}.workspace-kpi small{color:var(--workspace-copy);font-size:12px;line-height:1.5}.workspace-kpi--success{background:linear-gradient(180deg,#f5fff8,#ecfdf3)}.workspace-kpi--danger{background:linear-gradient(180deg,#fff7f7,#fff0f0)}.workspace-grid{display:grid;grid-template-columns:minmax(0,.94fr) 404px;gap:20px;align-items:start;min-width:0}.workspace-main,.workspace-aside{display:grid;gap:20px;min-width:0}.workspace-card{min-width:0;padding:20px;border:1px solid rgba(211,219,231,.95);border-radius:22px;background:var(--workspace-card);box-shadow:0 16px 36px #1020330f}.workspace-card--table{padding-bottom:0}.workspace-card--tabs{gap:18px}.workspace-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.workspace-card-header--tight{margin-bottom:12px}.workspace-card-title{margin:0;color:var(--workspace-title);font-size:18px;font-weight:800}.workspace-card-subtitle{margin:6px 0 0;color:var(--workspace-copy);font-size:13px;line-height:1.6}.workspace-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.workspace-search{min-width:min(100%,300px)}.workspace-inline-control{width:auto;min-width:142px}.workspace-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.workspace-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--workspace-chip-bg);color:var(--workspace-chip-text);font-size:12px;font-weight:700}.workspace-chip--strong{background:#0f172a14;color:#24384f}.workspace-table-scroll{max-height:68vh;overflow:auto;border-top:1px solid rgba(230,235,242,.95)}.workspace-card-footer{position:static;margin:0 -20px;padding:12px 20px;border-top:1px solid rgba(230,235,242,.95);border-radius:0 0 22px 22px;background:#f9fbffe6}.workspace-empty-table{padding:40px 20px;text-align:center;color:#7f8ea2}.workspace-field-grid{display:grid;gap:14px}.runtime-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.workspace-field{margin-bottom:0;padding:14px;border:1px solid rgba(226,233,242,.95);border-radius:16px;background:linear-gradient(180deg,#fff,#fbfcff);display:grid;gap:10px;align-content:start}.workspace-field-note{color:#73839a;font-size:12px;line-height:1.55}.workspace-stepper{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.workspace-stepper-input{min-width:0}.workspace-stepper-actions{display:grid;grid-template-rows:1fr 1fr;gap:6px}.workspace-stepper-btn{min-width:40px;padding:0 10px;border:1px solid rgba(196,210,230,.95);border-radius:10px;background:#f8fbff;color:#24415f;font-size:18px;font-weight:700;cursor:pointer}.workspace-stepper-btn:hover:not(:disabled){background:#eef5ff;border-color:#6f92c1f2}.workspace-stepper-btn:disabled{opacity:.45;cursor:not-allowed}.workspace-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(214,223,234,.95);border-radius:12px;background:#f8faffe6;color:#324a67}.runtime-apply-btn{justify-self:start;border-color:#2563eb;background:#2563eb;color:#fff}.runtime-apply-btn:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;color:#fff}.runtime-apply-btn:disabled{background:#bfdbfe;border-color:#bfdbfe;color:#eff6ff;cursor:not-allowed}.workspace-switch{position:relative;display:inline-flex;align-items:center;gap:12px;width:fit-content;cursor:pointer;-webkit-user-select:none;user-select:none}.workspace-switch input{position:absolute;opacity:0;pointer-events:none}.workspace-switch-track{position:relative;width:52px;height:30px;border-radius:999px;background:#d7deea;transition:background-color .2s ease;box-shadow:inset 0 0 0 1px #8c9ab03d}.workspace-switch-thumb{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0f172a38;transition:transform .2s ease}.workspace-switch input:checked+.workspace-switch-track{background:#2563eb}.workspace-switch input:checked+.workspace-switch-track .workspace-switch-thumb{transform:translate(22px)}.workspace-switch input:disabled+.workspace-switch-track{opacity:.55}.workspace-switch-copy{color:#324a67;font-size:13px;font-weight:600}.workspace-actions{display:grid;gap:10px;margin-top:16px}.runtime-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(226,233,242,.95);border-radius:16px;background:linear-gradient(180deg,#f8fbfffa,#f2f7fff2)}.runtime-selection-copy{display:grid;gap:4px;min-width:0}.runtime-selection-copy strong{color:var(--workspace-title);font-size:14px}.runtime-selection-copy span{color:var(--workspace-copy);font-size:12px;line-height:1.5}.runtime-selection-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.workspace-note{color:var(--workspace-copy);font-size:12px;line-height:1.6}.workspace-note--danger{color:#b42318}.workspace-console-list{display:grid;gap:10px}.workspace-console-item{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;border:1px solid rgba(229,234,241,.95);border-radius:14px;background:#fafcffeb}.workspace-console-item--selected{border-color:#2563eb59;background:#eff6fff2}.workspace-console-check{display:flex;align-items:center;justify-content:center;padding-top:2px}.workspace-console-copy{min-width:0;color:#21364d;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.workspace-console-meta{color:#7588a1;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.workspace-console-error{margin-top:6px;color:#b42318}.workspace-empty-state{padding:16px;border:1px dashed rgba(198,208,223,.95);border-radius:14px;color:#7f8ea2;text-align:center;font-size:13px}.workspace-log-block{max-height:240px}.workspace-tab-strip{display:flex;gap:10px;flex-wrap:wrap}.workspace-subpanel{padding:18px;border-radius:20px;border-color:#d7dfeaf2;background:linear-gradient(180deg,#fff,#fbfcff)}.workspace-form-grid{align-items:start}.workspace-subsection{padding-top:16px;border-top:1px dashed rgba(219,226,236,.95)}.workspace-action-row{padding-top:18px;border-top:1px solid rgba(229,234,241,.95);flex-wrap:wrap}.workspace-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.workspace-mini-btn{height:28px;padding:0 10px;font-size:12px}.workspace-inline-note{margin:10px 0 0}.runtime-path-cell{font-size:13px}.runtime-selection-actions--queue{margin:12px 0 16px}.runtime-queue-toggle-all{display:inline-flex;align-items:center;gap:8px;color:#51657f;font-size:13px}.budget-panel--enhanced{margin-bottom:0}.usage-monitor-page .action-btn{gap:8px}.usage-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.usage-kpi{min-width:0;padding:18px;border:1px solid rgba(211,219,231,.95);border-radius:8px;background:#fffffff5;box-shadow:0 10px 24px #1020330d;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.usage-kpi:hover{border-color:#2f7dd361;box-shadow:0 14px 30px #10203317;transform:translateY(-2px)}.usage-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#51667d;font-size:13px;font-weight:700}.usage-kpi-head svg,.usage-panel .workspace-card-header svg{flex:0 0 auto;color:#2468b5}.usage-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#eaf4ff;transition:background .18s ease,color .18s ease,transform .18s ease}.usage-icon-wrap--header{width:36px;height:36px}.usage-kpi:hover .usage-icon-wrap,.usage-panel:hover .usage-icon-wrap{background:#d9f3e9;transform:rotate(-8deg) scale(1.06)}.usage-kpi:hover .usage-icon-wrap svg,.usage-panel:hover .usage-icon-wrap svg{color:#19815f}.usage-spin{animation:usage-spin .8s linear infinite}@keyframes usage-spin{to{transform:rotate(360deg)}}.usage-kpi-value{margin-top:12px;color:#102033;font-size:34px;line-height:1;font-weight:850}.usage-kpi-meta{margin-top:10px;color:#6c7f95;font-size:12px}.usage-panel{border-radius:8px}.usage-range-tabs{display:inline-flex;gap:8px;flex-wrap:wrap}.usage-filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:-4px 0 14px}.usage-filter-row label{display:grid;gap:5px;color:#586c82;font-size:12px;font-weight:700}.usage-filter-row input{height:36px;min-width:150px;border:1px solid #d7e0eb;border-radius:6px;padding:0 10px;color:#172b43;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.usage-filter-row input:focus{outline:none;border-color:#2f7dd3;box-shadow:0 0 0 3px #2f7dd321}.usage-trend-chart{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(42px,1fr);align-items:end;gap:10px;min-height:230px;padding-top:12px;overflow-x:auto}.usage-trend-day{display:grid;grid-template-rows:1fr auto auto;gap:7px;min-width:42px;height:210px;text-align:center}.usage-trend-bar-wrap{display:flex;align-items:end;justify-content:center;min-height:150px;border-bottom:1px solid #d9e1ec}.usage-trend-bar{width:min(32px,72%);border-radius:6px 6px 0 0;background:linear-gradient(180deg,#2f7dd3,#31a47e);transform-origin:bottom;animation:usage-bar-rise .42s ease both;transition:filter .18s ease,transform .18s ease}.usage-trend-day:hover .usage-trend-bar{filter:saturate(1.18) brightness(1.05);transform:scaleX(1.12)}.usage-trend-day:hover .usage-trend-value,.usage-trend-day:hover .usage-trend-label{color:#0f5da8}@keyframes usage-bar-rise{0%{transform:scaleY(.05);opacity:.35}to{transform:scaleY(1);opacity:1}}.usage-trend-value{color:#16324f;font-size:12px;font-weight:800}.usage-trend-label{color:#74869a;font-size:11px}.usage-two-column{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px}.usage-table-scroll{max-height:360px}.usage-table th,.usage-table td{white-space:nowrap}.usage-source-list{display:grid;gap:16px}.usage-source-row{display:grid;gap:8px;padding:8px 0;transition:transform .18s ease}.usage-source-row:hover{transform:translate(3px)}.usage-source-title,.usage-source-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.usage-source-title{color:#243b53;font-size:14px;font-weight:750}.usage-source-title strong{font-size:18px}.usage-source-meter{height:9px;overflow:hidden;border-radius:999px;background:#e8eef6}.usage-source-meter span{display:block;height:100%;border-radius:inherit;background:#31a47e;transition:width .28s ease,background .18s ease}.usage-source-row:hover .usage-source-meter span{background:#2f7dd3}.usage-source-meta{color:#6c7f95;font-size:12px}.lookbook-page .action-btn{gap:8px}.lookbook-page svg{transition:transform .18s ease,color .18s ease}.lookbook-page button:hover:not(:disabled) svg,.lookbook-upload:hover svg,.lookbook-task-row--button:hover svg,.lookbook-task-card--button:hover svg,.lookbook-preview-button:hover svg{transform:translateY(-1px) scale(1.08)}.lookbook-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.lookbook-page--queue-collapsed .lookbook-layout{grid-template-columns:minmax(0,1fr) 56px}.lookbook-main,.lookbook-steps,.lookbook-result-grid{display:grid;gap:16px}.lookbook-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.lookbook-panel,.lookbook-step,.lookbook-queue{border-radius:8px}.lookbook-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.lookbook-upload{position:relative;display:grid;gap:8px;min-height:300px;padding:12px;border:1px dashed #c8d4e4;border-radius:8px;background:#f8fbff;color:#58708c;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.lookbook-upload-target{display:grid;gap:8px;align-content:start;min-width:0;width:100%;min-height:230px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.lookbook-upload img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:8px;background:#e8eef6;max-height:260px}.lookbook-upload--has-preview{padding:10px}.lookbook-upload-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.lookbook-upload-preview-single{display:grid}.lookbook-upload-preview{min-width:0}.lookbook-upload:hover{border-color:#2f7dd3;background:#eef7ff;transform:translateY(-1px)}.lookbook-upload strong{min-width:0;color:#172b43;font-size:13px;overflow-wrap:anywhere}.lookbook-upload input{display:none}.lookbook-upload-remove-row{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px}.lookbook-upload-remove{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:0 8px;border:1px solid #d8e2ee;border-radius:999px;background:#fff;color:#51657f;font-size:11px;cursor:pointer}.lookbook-upload-remove:hover{border-color:#d64d4d;color:#b42318}.lookbook-step{display:grid;gap:14px}.lookbook-step-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lookbook-step-head span{color:#2f7dd3;font-size:12px;font-weight:850}.lookbook-step-head h2,.lookbook-result-grid h3,.lookbook-queue-section h3{margin:0;color:#162b43;font-size:15px;line-height:1.35}.lookbook-field{display:grid;gap:6px;color:#58708c;font-size:12px;font-weight:750}.lookbook-field input,.lookbook-step textarea,.lookbook-prompt-editor textarea{width:100%;min-width:0;border:1px solid #d7e0eb;border-radius:6px;background:#fff;color:#172b43;font:inherit;transition:border-color .18s ease,box-shadow .18s ease}.lookbook-field input{height:38px;padding:0 10px}.lookbook-step textarea,.lookbook-prompt-editor textarea{min-height:126px;padding:10px 12px;resize:vertical;line-height:1.6}.lookbook-field input:focus,.lookbook-step textarea:focus,.lookbook-prompt-editor textarea:focus{outline:none;border-color:#2f7dd3;box-shadow:0 0 0 3px #2f7dd321}.lookbook-prompt-editor{display:grid;gap:10px}.lookbook-step-actions,.lookbook-step2-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.lookbook-step-actions{justify-content:flex-end}.lookbook-field--inline{width:138px}.lookbook-step2-head{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.lookbook-step2-controls .lookbook-field{width:112px}.lookbook-stage-card{display:grid;gap:10px}.lookbook-stage-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;align-items:start}.lookbook-stage-grid--full{grid-template-columns:minmax(0,1fr)}.lookbook-stage-main{min-width:0}.lookbook-stage-rail{display:grid;gap:12px;padding:12px;border:1px solid #dbe4ef;border-radius:10px;background:#f8fbff}.lookbook-stage-rail .lookbook-field textarea{min-height:122px}.lookbook-batch-list{display:grid;gap:14px}.lookbook-step2-batch{display:grid;gap:10px;padding:12px;border:1px solid #dbe4ef;border-radius:10px;background:#fff}.lookbook-batch-head{display:grid;gap:6px}.lookbook-batch-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lookbook-batch-chip,.lookbook-batch-time{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:800}.lookbook-batch-chip{color:#1d4f91;background:#e9f2ff}.lookbook-batch-time{color:#5f748d;background:#eef3f9}.lookbook-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.lookbook-image-card{display:grid;gap:8px;padding:8px;border:1px solid #dbe4ef;border-radius:10px;background:#fff}.lookbook-image-card.is-selected{border-color:#2f7dd3;box-shadow:0 0 0 2px #2f7dd31f}.lookbook-image-preview{width:100%;padding:0;border:0;background:transparent;cursor:pointer}.lookbook-image-preview img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid #dbe4ef;border-radius:8px;background:#eef3f9}.lookbook-image-actions,.lookbook-selected-preview{display:grid;gap:8px}.lookbook-selected-preview>span{color:#58708c;font-size:12px;font-weight:800}.lookbook-selected-preview img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid #dbe4ef;border-radius:8px;background:#eef3f9}.lookbook-empty--compact{padding:10px}.lookbook-two-fields{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(0,1fr) minmax(0,1.25fr);gap:12px}.lookbook-submit-inline{display:flex;align-items:end;gap:10px;flex-wrap:wrap;justify-content:flex-end}.lookbook-submit-inline .lookbook-field{width:140px}.lookbook-field--wide{min-width:0}.lookbook-check{display:inline-flex;align-items:center;gap:8px;color:#344c68;font-size:13px;font-weight:700}.lookbook-preview-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.lookbook-preview-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.lookbook-preview-button svg{position:absolute;right:9px;bottom:9px;width:28px;height:28px;padding:6px;border-radius:999px;color:#fff;background:#0f2033ad;opacity:0}.lookbook-preview-button:hover svg{opacity:1}.lookbook-preview-strip img,.lookbook-input-thumb img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid #dbe4ef;border-radius:8px;background:#eef3f9;transition:transform .18s ease,box-shadow .18s ease}.lookbook-preview-button:hover img,.lookbook-input-thumb:hover img{transform:translateY(-2px);box-shadow:0 12px 24px #1020331f}.lookbook-input-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.lookbook-input-thumb{display:grid;gap:5px;min-width:0;padding:0;border:0;background:transparent;color:#5f748d;font-size:11px;text-align:center;cursor:zoom-in}.lookbook-input-thumb:disabled{cursor:default}.lookbook-input-thumb small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lookbook-input-thumb--group{border:0;background:transparent;cursor:default}.lookbook-product-thumb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-content:start}.lookbook-product-thumb-grid button,.lookbook-product-thumb-grid>span{display:block;min-width:0;padding:0;border:0;background:transparent}.lookbook-product-thumb-grid button{cursor:zoom-in}.lookbook-product-thumb-grid img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #dbe4ef;border-radius:6px;background:#eef3f9}.lookbook-empty{padding:14px;border:1px dashed #cbd7e6;border-radius:8px;background:#f7faff;color:#71859d;font-size:13px;text-align:center}.lookbook-modal-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#0812208f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lookbook-modal-card{width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:grid;gap:16px;padding:18px;border-radius:16px;background:#fff;box-shadow:0 28px 72px #1020334d}.lookbook-original-modal-card{width:min(1280px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:grid;gap:16px;overflow:auto;padding:18px;border-radius:16px;background:#fff;box-shadow:0 28px 72px #1020334d}.lookbook-original-preview{display:grid;place-items:center;min-height:360px;overflow:auto;padding:12px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fbff}.lookbook-original-preview img{display:block;max-width:none;width:auto;height:auto;max-height:calc(100vh - 164px);object-fit:contain}.lookbook-modal-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.lookbook-modal-head strong{display:block;color:#162b43;font-size:16px}.lookbook-modal-head span{display:block;margin-top:4px;color:#60758e;font-size:13px;line-height:1.5}.lookbook-modal-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;min-height:0}.lookbook-editor-stage{display:grid;gap:12px}.lookbook-editor-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lookbook-tool-field{display:inline-flex;align-items:center;gap:7px;min-height:34px;color:#58708c;font-size:12px;font-weight:800}.lookbook-tool-field input[type=color]{width:34px;height:28px;padding:2px;border:1px solid #d7e0eb;border-radius:6px;background:#fff}.lookbook-tool-field input[type=range]{width:120px}.lookbook-tool-field strong{color:#172b43;font-size:12px}.lookbook-editor-canvas-wrap{display:grid;place-items:center;min-height:320px;padding:16px;overflow:auto;border:1px solid #dbe4ef;border-radius:12px;background:linear-gradient(45deg,#f8fbff 25%,transparent 25%),linear-gradient(-45deg,#f8fbff 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f8fbff 75%),linear-gradient(-45deg,transparent 75%,#f8fbff 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.lookbook-editor-canvas{max-width:100%;border-radius:10px;box-shadow:0 14px 36px #1020332e;background:#fff;touch-action:none;transform-origin:center center}.lookbook-editor-side{display:grid;align-content:start;gap:12px}.lookbook-editor-side .lookbook-field textarea{min-height:220px;line-height:1.55}.lookbook-queue{position:sticky;top:16px;display:grid;gap:18px}.lookbook-page--queue-collapsed .lookbook-queue{padding:12px 8px;justify-items:center}.lookbook-queue-collapse{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #d8e2ee;border-radius:999px;background:#fff;color:#2b4663;font-size:12px;font-weight:800;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.lookbook-queue-collapse:hover{border-color:#2f7dd3;background:#eef7ff;transform:translate(1px)}.lookbook-page--queue-collapsed .lookbook-queue-collapse{writing-mode:vertical-rl;min-height:118px;padding:10px 0}.lookbook-queue-section{display:grid;gap:10px}.lookbook-queue-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.lookbook-queue-section-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lookbook-queue-filter{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.lookbook-queue-topbar{display:flex;justify-content:flex-end}.lookbook-queue-date-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px}.lookbook-queue-unread-count{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#eef4ff;color:#2f5faf;font-size:11px;font-weight:800}.lookbook-queue-pagination{display:inline-flex;align-items:center;gap:6px;color:#71859d;font-size:11px}.lookbook-queue-pagination button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;color:#2c4866}.lookbook-queue-pagination button:disabled{cursor:not-allowed;opacity:.45}.lookbook-task-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px;border:1px solid #dce5ef;border-radius:8px;background:#fbfdff;color:#1c3149;font-size:12px;text-align:left;overflow-wrap:anywhere;transition:border-color .18s ease,background .18s ease,transform .18s ease}.lookbook-task-row span{min-width:0;overflow-wrap:anywhere}.lookbook-task-row--button{width:100%;justify-content:flex-start;cursor:pointer}.lookbook-task-row--button:hover{border-color:#2f7dd3;background:#eef7ff;transform:translate(2px)}.lookbook-task-card{display:grid;gap:10px;min-width:0;width:100%;padding:12px;border:1px solid #dce5ef;border-radius:8px;background:#fbfdff;color:#1c3149;text-align:left;transition:border-color .18s ease,background .18s ease,transform .18s ease}.lookbook-task-card--button{cursor:pointer}.lookbook-task-card--button:hover{border-color:#2f7dd3;background:#eef7ff;transform:translate(2px)}.lookbook-task-card-head,.lookbook-task-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.lookbook-task-card-badges{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.lookbook-task-card-head span{color:#244462;font-size:13px;font-weight:850}.lookbook-task-card-head strong{min-height:24px;padding:4px 8px;border-radius:999px;background:#eaf4ff;color:#1d5f9e;font-size:11px}.lookbook-task-unread{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;background:#fff4d6;color:#9a6500;font-size:10px;font-weight:900;letter-spacing:.04em}.lookbook-task-card-error{display:-webkit-box;overflow:hidden;color:#b14141;font-size:11px;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lookbook-task-card-foot{color:#71859d;font-size:11px}.lookbook-task-card-foot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lookbook-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#eaf4ff;color:#1d5f9e;font-size:12px;font-weight:800}.lookbook-result-grid p{margin:8px 0 0;color:#405774;font-size:13px;line-height:1.7;white-space:pre-wrap}.lookbook-preview-panel{min-height:70vh}.lookbook-preview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lookbook-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;gap:14px;padding:32px;border:0;background:#091320d1;cursor:zoom-out}.lookbook-lightbox span{color:#fff;font-size:14px;font-weight:800}.lookbook-lightbox img{max-width:min(92vw,980px);max-height:84vh;border-radius:8px;object-fit:contain;box-shadow:0 24px 80px #00000052}.workspace-batch-title{font-size:13px;font-weight:800;color:#24384f}@media (max-width: 1180px){.workspace-hero,.workspace-grid{grid-template-columns:1fr}.workspace-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lookbook-layout{grid-template-columns:1fr}.lookbook-queue{position:static}.lookbook-result-grid,.lookbook-stage-grid,.lookbook-modal-body{grid-template-columns:1fr}}@media (max-width: 760px){.workspace-page{padding:16px}.workspace-title-row{flex-direction:column;align-items:flex-start}.workspace-kpi-grid,.workspace-kpi-grid--compact{grid-template-columns:1fr}.workspace-toolbar,.workspace-card-header,.workspace-section-title-row{flex-direction:column;align-items:stretch}.workspace-inline-control,.workspace-search{width:100%;min-width:0}.runtime-config-grid{grid-template-columns:1fr}.runtime-selection-actions{flex-direction:column;align-items:stretch}.runtime-selection-buttons{width:100%;justify-content:stretch}.runtime-selection-buttons .action-btn{width:100%}.lookbook-upload-grid,.lookbook-two-fields{grid-template-columns:1fr}.lookbook-input-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.lookbook-modal-shell{padding:12px}.lookbook-modal-card{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:14px}}.stack{display:grid;gap:12px}.muted{color:var(--muted)}.file-manager{padding:0;overflow:hidden}.fm-header{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line);background:#fff}.fm-brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--text);min-width:160px}.fm-brand-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--brand);color:#fff;border-radius:6px}.fm-nav-arrows{display:flex;gap:4px}.icon-btn{background:transparent;border:none;color:#666;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.icon-btn:hover{background:#f3f4f6;color:var(--text)}.fm-path-bar{flex:1;display:flex;align-items:center;gap:12px}.breadcrumbs{flex:1;display:flex;align-items:center;background:#f3f4f6;border-radius:6px;padding:0 12px;height:32px;overflow-x:auto;white-space:nowrap;font-size:13px;border:none}.breadcrumb-item{display:flex;align-items:center;color:#666}.breadcrumb-item a{color:#666;text-decoration:none}.breadcrumb-item a:hover{color:var(--brand)}.separator{margin:0 8px;color:#999}.fm-search{position:relative;display:flex;align-items:center;background:#f3f4f6;border-radius:6px;height:32px;width:240px}.search-icon{position:absolute;left:10px;color:#999}.search-input{width:100%;height:100%;border:none;background:transparent;padding:0 12px 0 34px;font-size:13px;outline:none}.search-input:focus{background:#fff;box-shadow:0 0 0 1px var(--brand)}.fm-actions-right{display:flex;align-items:center;gap:8px}.user-avatar{width:32px;height:32px;border-radius:50%;background:#d8b4e2;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;margin-left:8px}.fm-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;border-bottom:1px solid var(--line);background:#fff}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.btn-primary{display:flex;align-items:center;gap:6px;background:transparent;color:var(--brand);border:none;height:32px;padding:0 12px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer}.btn-primary:hover{background:var(--brand-soft)}.new-folder-wrapper{display:flex;align-items:center;gap:4px}.new-folder-input{height:30px;border:1px solid var(--line);border-radius:6px;padding:0 8px;font-size:13px;width:120px}.new-folder-input:focus{outline:none;border-color:var(--brand)}.arrow-down{font-size:10px;margin-left:2px}.divider{width:1px;height:16px;background:var(--line);margin:0 4px}.toolbar-btn{display:flex;align-items:center;gap:6px;background:transparent;color:#444;border:none;height:32px;padding:0 10px;font-size:13px;font-weight:400;border-radius:6px;cursor:pointer}.toolbar-btn:hover:not(.disabled){background:#f3f4f6;color:#111}.toolbar-btn.disabled{color:#bbb;cursor:not-allowed}.danger-text{color:var(--danger)}.danger-text:hover{background:#fef2f2!important;color:#dc2626!important}.fm-content{display:flex;flex:1;overflow:hidden;position:relative}.list-wrap{flex:1;overflow:auto;position:relative}.fm-table{width:100%;border-collapse:collapse}.fm-table th{position:sticky;top:0;background:#fff;z-index:2;text-align:left;padding:12px 10px;font-size:13px;font-weight:500;color:#666;border-bottom:1px solid var(--line)}.fm-table td{padding:12px 10px;font-size:13px;border-bottom:1px solid var(--line-soft)}.fm-table tr:hover{background:#f9fafb}.active-row{background:var(--brand-soft)!important}.custom-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid #ccc;cursor:pointer;margin:0;padding:0}.name-cell{display:flex;align-items:center;gap:12px}.name-text{color:var(--text)}.name-text.highlight{color:#1a56db;font-weight:500}.text-muted{color:#666}.icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.empty-state{display:flex;align-items:center;justify-content:center;height:200px;color:#999;font-size:14px}.fm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;padding:20px;align-content:start}.grid-item{position:relative;display:flex;flex-direction:column;align-items:center;padding:12px 8px;border-radius:8px;border:1px solid transparent;cursor:pointer;transition:all .2s}.grid-item:hover{background:#f9fafb}.grid-item.active{background:var(--brand-soft)}.grid-item.selected{border-color:var(--brand);background:var(--brand-soft)}.grid-item-checkbox{position:absolute;top:8px;left:8px;opacity:0;transition:opacity .2s}.grid-item:hover .grid-item-checkbox,.grid-item.selected .grid-item-checkbox{opacity:1}.grid-item-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.grid-item-icon img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 2px 8px #0000001a}.large-icon svg{width:64px;height:64px}.grid-item-name{font-size:13px;color:var(--text);text-align:center;word-break:break-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;width:100%}.drop-zone-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#f3f0ffe6;border:2px dashed var(--brand);display:flex;align-items:center;justify-content:center;color:var(--brand);font-weight:500;font-size:16px;z-index:10;pointer-events:none}.status-log-minimal{position:fixed;bottom:56px;right:16px;background:#333;color:#fff;padding:8px 16px;border-radius:6px;font-size:13px;box-shadow:0 4px 12px #00000026;z-index:120;max-width:min(560px,calc(100vw - 32px));white-space:pre-wrap;word-break:break-word}.detail-pane{padding:12px;background:#fcfdff}.detail-pane h2{margin-top:0;font-size:18px}.detail-card{border:1px solid var(--line-soft);border-radius:10px;padding:10px;background:#fff}.preview{width:100%;max-height:220px;object-fit:contain;border-radius:8px;border:1px solid var(--line)}.detail-icon{font-size:26px;margin-top:8px}.detail-name{margin:8px 0;font-weight:700;word-break:break-all}.detail-kv{color:#344861;margin-bottom:5px;font-size:12px;word-break:break-all}.status-log{margin-top:10px;border-radius:10px;background:#0f1e3a;color:#dce9ff;padding:10px;min-height:84px;font-size:12px}.footline{display:flex;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:12px}.table-wrap{overflow:auto}.runs-actions{margin:8px 0 10px}.progress-cell{min-width:180px}.progress-track{height:8px;border-radius:999px;background:#e5eaf2;overflow:hidden}.progress-fill{height:100%;background:var(--brand)}.progress-text{margin-top:4px;color:#4a5f7e;font-size:12px}.tester-grid{display:grid;grid-template-columns:400px 1fr;gap:10px}.tester-panel{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px}.tester-panel h3{margin:0 0 8px;font-size:14px}.compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field-gap{margin-top:8px}.row-actions{display:flex;gap:8px}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.thumb{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f8fbff}.thumb img{width:100%;height:88px;object-fit:cover;display:block}.cap{font-size:11px;color:#3f4b5d;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m8{margin:8px 0 4px}.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.result-grid img{width:100%;max-height:220px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.form-label{font-size:13px;font-weight:500;color:var(--text)}.form-control{height:36px;padding:0 12px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:#fff;color:var(--text);transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--brand)}textarea.form-control{height:auto;padding:10px 12px;font-family:inherit;line-height:1.5}.prompt-area{background:#f8fafc;border:1px solid var(--line-soft);color:#334155}.file-input{font-size:13px;padding:6px 0;color:#666}.file-input::file-selector-button{height:28px;padding:0 12px;border:1px solid var(--line);border-radius:4px;background:#f9fafb;color:#444;font-size:12px;cursor:pointer;margin-right:12px;transition:all .2s}.file-input::file-selector-button:hover{background:#f3f4f6;color:#111}.action-btn{height:36px;padding:0 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;border:none}.action-btn.primary{background:var(--brand);color:#fff}.action-btn.primary:hover{opacity:.9}.action-btn.secondary{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.action-btn.secondary:hover{background:#e2e8f0;color:#1e293b}.result-section{margin-top:24px;padding-top:16px;border-top:1px dashed var(--line-soft)}.section-title{font-size:13px;font-weight:600;color:#64748b;margin-bottom:12px}.thumb-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.remove-img-btn{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#00000080;color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:all .2s;z-index:10}.thumb-card:hover .remove-img-btn{opacity:1}.remove-img-btn:hover{background:#ef4444e6}.thumb-img-wrapper{aspect-ratio:1;background:#f8fafc;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px}.thumb-img-wrapper img{width:100%;height:100%;object-fit:contain}.thumb-cap{font-size:11px;color:#64748b;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f8fafc;border-top:1px solid var(--line-soft);text-align:center}.empty-hint{font-size:12px;color:#94a3b8;padding:16px;background:#f8fafc;border-radius:6px;text-align:center;border:1px dashed var(--line)}.info-alert{margin-top:12px;padding:8px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#166534;font-size:12px}.inline-switch-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.inline-switch-label{font-size:12px;color:#334155;font-weight:500}.inline-switch-hint{font-size:12px}.mini-switch{position:relative;display:inline-block;width:42px;height:24px}.mini-switch input{opacity:0;width:0;height:0}.mini-switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#cbd5e1;border-radius:999px;transition:background-color .2s ease}.mini-switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 2px #0f172a40}.mini-switch input:checked+.mini-switch-slider{background-color:#22c55e}.mini-switch input:checked+.mini-switch-slider:before{transform:translate(18px)}.result-img-wrapper{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f8fafc;padding:8px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center}.result-img-wrapper img{width:100%;height:100%;object-fit:contain;border-radius:4px}.batch-results-horizontal{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;overflow-y:auto;overflow-x:hidden;align-items:start;max-height:72vh;padding-right:6px}.batch-style-column{border:1px solid var(--line-soft);border-radius:10px;padding:12px;background:#f8fafc;display:grid;gap:10px;align-content:start}.batch-style-ref{background:#fff}.batch-style-ref-img{object-fit:cover}.batch-style-output-grid{display:grid;grid-template-columns:1fr;gap:8px}.batch-result-clickable{cursor:zoom-in}@media (max-width: 900px){.batch-results-horizontal{grid-template-columns:1fr;max-height:68vh}}.debug-section{margin-top:24px;padding-top:16px;border-top:1px dashed var(--line-soft)}.debug-item{margin-bottom:12px}.debug-label{font-size:12px;font-weight:500;color:#64748b;margin-bottom:6px;display:block}.debug-log{margin:0;white-space:pre-wrap;overflow:auto;font-size:11px;line-height:1.5;max-height:200px;border-radius:6px;background:#1e293b;color:#e2e8f0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ai-tester-page{min-width:0;max-width:100%;overflow-x:hidden}.ai-tester-page>.panel{min-width:0;max-width:100%;overflow-x:hidden}.ai-tester-page .tester-grid{grid-template-columns:minmax(320px,400px) minmax(0,1fr);min-width:0;max-width:100%;align-items:start}.ai-tester-page .tester-panel,.ai-tester-page .result-section,.ai-tester-page .debug-section,.ai-tester-page .debug-grid,.ai-tester-page .debug-item,.ai-tester-page .form-group,.ai-tester-page .thumbs,.ai-tester-page .result-grid{min-width:0;max-width:100%}.ai-tester-page .debug-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.ai-tester-page .row-actions{flex-wrap:wrap}.ai-tester-page .action-btn{min-width:0;max-width:100%;height:auto;min-height:36px;white-space:normal;text-align:center;line-height:1.35}.ai-tester-page .form-control,.ai-tester-page .file-input,.ai-tester-page .info-alert,.ai-tester-page .section-title,.ai-tester-page .debug-label,.ai-tester-page .thumb-cap,.ai-tester-page .empty-hint,.ai-tester-page .muted{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.ai-tester-page textarea.form-control,.ai-tester-page .prompt-area{width:100%;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden}.ai-tester-page .debug-log{width:100%;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden;overflow-y:auto}.budget-panel{margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fbfdff,#f5f9ff)}.budget-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.budget-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.budget-card{min-width:0;padding:12px;border:1px solid #d8e6f8;border-radius:10px;background:#fff}.budget-card-label{font-size:12px;color:#60758f;margin-bottom:8px}.budget-card-value{font-size:22px;font-weight:700;color:#183b63;line-height:1.2;word-break:break-word}.budget-card-value--small{font-size:15px}.budget-card-meta{margin-top:8px;font-size:12px;color:#6b7f98;word-break:break-word}.result-list{display:grid;gap:6px;max-height:260px;overflow:auto}.result-list code{display:block;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:#f8fbff;color:#223851;font-size:12px}.tiny-log{margin:4px 0 0;white-space:pre-wrap;overflow:auto;font-size:12px;max-height:180px;min-height:64px;border-radius:8px;background:#0f172a;color:#dbeafe;padding:8px}@media (max-width: 1100px){.fm-content{grid-template-columns:1fr}.list-wrap{border-right:0;border-bottom:1px solid var(--line-soft)}.fm-header{align-items:flex-start;flex-direction:column}.fm-header-actions{width:100%;flex-wrap:wrap}.tester-grid,.compact-grid{grid-template-columns:1fr}.usage-kpi-grid,.usage-two-column{grid-template-columns:minmax(0,1fr)}.budget-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.usage-kpi-grid{gap:10px}.usage-kpi{padding:14px}.usage-kpi-value{font-size:28px}.usage-range-tabs{width:100%}.usage-range-tabs .action-btn{flex:1 1 0}.budget-panel-head{flex-direction:column}.budget-card-grid{grid-template-columns:minmax(0,1fr)}}.runs-header{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}.runs-search{flex:1;max-width:400px}.runs-filters{display:flex;gap:8px}.filter-btn{height:32px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#666;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:4px}.filter-btn:hover{background:#f9fafb;color:#333}.filter-btn.active{background:#f3f4f6;color:var(--brand);border-color:var(--brand)}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;line-height:1.5}.status-success{background:#dcfce7;color:#166534}.status-failed{background:#fee2e2;color:#991b1b}.progress-row{display:flex;align-items:center;gap:8px}.progress-bar-bg{flex:1;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden;max-width:120px}.progress-bar-val{height:100%;border-radius:3px;transition:width .3s}.progress-bar-val.success{background:#10b981}.progress-bar-val.failed{background:#ef4444}.action-link{color:#2563eb;font-weight:500;cursor:pointer;text-decoration:none}.action-link:hover{text-decoration:underline}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:16px;margin-top:auto}.page-info{margin-right:auto;color:#666;font-size:13px}.page-btn{min-width:32px;height:32px;padding:0 6px;border:1px solid var(--line);background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;font-size:13px}.page-btn:hover:not(:disabled){border-color:#d1d5db;color:#333}.page-btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}.page-btn:disabled{background:#f9fafb;color:#ccc;cursor:not-allowed}.preview-pane{width:320px;border-left:1px solid var(--line);background:#fff;display:flex;flex-direction:column;flex-shrink:0}.preview-empty{display:flex;align-items:center;justify-content:center;height:100%}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--line-soft)}.preview-title{font-weight:600;color:var(--text);font-size:14px}.close-btn{background:transparent;border:none;cursor:pointer;color:#999;padding:4px;border-radius:4px;display:flex}.close-btn:hover{background:#f3f4f6;color:#666}.preview-body{padding:20px;flex:1;overflow-y:auto}.preview-image-container{width:100%;aspect-ratio:16/10;background:#f8fafc;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;border:1px solid var(--line-soft);overflow:hidden}.preview-img{width:100%;height:100%;object-fit:contain}.preview-file-icon{width:64px;height:64px}.preview-info{margin-bottom:24px}.preview-filename{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px;word-break:break-all}.preview-filetype{font-size:12px;color:#999;text-transform:uppercase}.preview-details{display:flex;flex-direction:column;gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:#999}.detail-value{font-size:13px;color:#333;word-break:break-all}.fm-footer-status{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;padding:8px 24px;border-top:1px solid var(--line);font-size:13px;color:#666;background:#fff;z-index:100;box-shadow:0 -2px 10px #0000000d}.fm-footer-status .separator{margin:0 12px;color:#d1d5db}.image-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-preview-close{position:absolute;top:24px;right:24px;background:#ffffff1a;border:none;color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1001;transition:background .2s}.image-preview-close:hover{background:#ffffff40}.image-preview-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1f;border:none;color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1001;transition:background .2s,opacity .2s}.image-preview-nav:hover:not(:disabled){background:#ffffff40}.image-preview-nav-left{left:24px}.image-preview-nav-right{right:24px}.image-preview-nav.disabled,.image-preview-nav:disabled{opacity:.35;cursor:not-allowed}.image-preview-content{transition:transform .1s ease-out;cursor:grab;max-width:90vw;max-height:90vh;object-fit:contain;-webkit-user-select:none;user-select:none}.image-preview-content:active{cursor:grabbing}
