:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#fff;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}#root{min-height:100vh}.app-shell{--ink:#111;--body:#374151;--muted:#6b7280;--hairline:#e5e7eb;--hairline-soft:#f3f4f6;--canvas:#fff;--surface-soft:#f8f9fa;--surface-card:#f5f5f5;--primary:#111;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--accent:#3b82f6;min-height:100vh;color:var(--ink);background:var(--canvas);letter-spacing:0;grid-template-columns:248px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--hairline);background:var(--canvas);flex-direction:column;gap:18px;height:100vh;padding:18px 16px;display:flex;position:sticky;top:0}.brand-button{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.brand-mark{background:var(--ink);color:#fff;letter-spacing:0;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:15px;font-weight:800;display:inline-flex}.brand-button strong,.account-card strong{font-size:14px;line-height:1.2;display:block}.brand-button small,.account-card small{color:var(--muted);font-size:12px;line-height:1.4;display:block}.side-nav{gap:4px;display:grid}.side-nav button,.sidebar-footer button{width:100%;min-height:40px;color:var(--body);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 11px;font-size:14px;font-weight:600;display:flex}.side-nav button:hover,.sidebar-footer button:hover,.side-nav button.active{background:var(--surface-card);color:var(--ink)}.sidebar-footer{gap:8px;margin-top:auto;display:grid}.live-dot,.status-dot{background:var(--success);border-radius:999px;width:8px;height:8px;display:inline-block}.sidebar-footer .live-dot{margin-left:auto}.account-card{border:1px solid var(--hairline);border-radius:10px;align-items:center;gap:10px;margin-top:6px;padding:10px;display:flex}.avatar{background:var(--surface-card);width:28px;height:28px;color:var(--ink);border-radius:999px;flex:0 0 28px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.workspace{background:var(--canvas);min-width:0;padding:0 24px 32px}.topbar{z-index:10;border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 0;display:flex;position:sticky;top:0}.control-group,.topbar-actions,.header-tools,.feedback-actions,.approval-actions,.creative-footer{align-items:center;gap:10px;display:flex}.control-group,.topbar-actions{flex-wrap:wrap}.control-group label,.select-control,.creative-controls label,.copy-box{color:var(--body);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.control-group label{flex:none}.control-group label>span{white-space:nowrap}.control-group select{max-width:300px}select,textarea{border:1px solid var(--hairline);background:var(--canvas);color:var(--ink);border-radius:8px;outline:none;min-height:38px;padding:0 12px}select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #11111114}textarea{resize:vertical;min-height:86px;padding:10px 12px;line-height:1.5}.sync-state,.primary-button,.secondary-button,.icon-button{border:1px solid var(--hairline);background:var(--canvas);min-height:40px;color:var(--ink);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.primary-button{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 6px 18px #11111129}.primary-button:hover{background:#242424}.secondary-button:hover,.icon-button:hover,.sync-state:hover{background:var(--surface-soft)}.icon-button{width:40px;padding:0}.sync-state{color:var(--body);font-weight:600}.sync-state svg{color:var(--success)}.language-toggle{border:1px solid var(--hairline);background:var(--surface-soft);border-radius:999px;align-items:center;gap:4px;min-height:38px;padding:4px;display:inline-flex}.language-toggle button{min-width:42px;height:28px;color:var(--muted);letter-spacing:0;background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.language-toggle button:hover{color:var(--ink)}.language-toggle button.active{background:var(--canvas);color:var(--ink);box-shadow:0 1px 2px #11111114}.section-block,.content-grid,.lower-grid{scroll-margin-top:84px}.section-block{margin-top:20px}.kpi-strip{grid-template-columns:repeat(5,minmax(160px,1fr));gap:14px;display:grid}.kpi-card,.panel,.action-card{border:1px solid var(--hairline);background:var(--canvas);border-radius:12px;box-shadow:0 1px 2px #1111110a}.kpi-card{align-content:start;gap:8px;min-height:126px;padding:18px;display:grid}.kpi-icon{width:30px;height:30px;color:var(--ink);justify-content:center;align-items:center;display:inline-flex}.eyebrow{color:var(--muted);font-size:12px;font-weight:700}.kpi-card strong{font-size:34px;line-height:1}.kpi-card small{color:var(--muted);font-size:13px}.kpi-card small span,.tone-success .status-dot,.status-dot.success{color:var(--success)}.tone-warning .status-dot{background:var(--warning)}.tone-danger .status-dot,.status-dot.danger{background:var(--danger)}.action-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.action-card{gap:12px;min-height:92px;padding:16px;display:flex}.action-card strong{margin-bottom:5px;font-size:15px;display:block}.action-card p,.panel-header p,.csv-side p,.uploaded-card p,.region-trend-card p,.sales-story p,.objection-box p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.content-grid{grid-template-columns:minmax(760px,1fr) minmax(330px,360px);align-items:start;gap:16px;margin-top:16px;display:grid}.lower-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);gap:16px;margin-top:16px;display:grid}.panel{min-width:0;overflow:hidden}.panel-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:16px;display:flex}.panel-header.compact{align-items:flex-start}.panel-header h2{margin:0 0 4px;font-size:18px;line-height:1.3}.header-tools{flex-wrap:wrap;justify-content:flex-end}.select-control{border:1px solid var(--hairline);background:var(--canvas);border-radius:8px;min-height:36px;padding:0 8px}.select-control select{border:0;min-height:34px;padding:0}.select-control.compact{gap:6px}.table-scroller{max-height:470px;overflow:hidden auto}.opportunity-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.opportunity-table th:first-child,.opportunity-table td:first-child{width:32%}.opportunity-table th:nth-child(2),.opportunity-table td:nth-child(2){width:22%}.opportunity-table th:nth-child(3),.opportunity-table td:nth-child(3){width:20%}.opportunity-table th:nth-child(4),.opportunity-table td:nth-child(4){width:15%}.opportunity-table th:nth-child(5),.opportunity-table td:nth-child(5){width:11%}.opportunity-table th,.opportunity-table td{border-bottom:1px solid var(--hairline-soft);text-align:left;vertical-align:middle;padding:11px 12px}.opportunity-table th{color:var(--muted);background:var(--surface-soft);font-size:12px;font-weight:700}.opportunity-table tr{transition:background .14s}.opportunity-table tbody tr:hover,.opportunity-table tbody tr.selected{background:#fafafa}.sku-cell{align-items:center;gap:12px;min-width:0;display:flex}.sku-cell>div{min-width:0}.sku-cell img,.selected-sku-card img{object-fit:cover;border:1px solid var(--hairline);background:var(--surface-soft);border-radius:8px;width:52px;height:64px}.sku-cell strong,.trend-row strong,.campaign-card strong,.event-row strong{font-size:14px;line-height:1.35;display:block}.sku-cell small,.opportunity-table td small,.trend-row small,.campaign-card small,.event-row small{color:var(--muted);font-size:12px;line-height:1.5;display:block}.score-bar{align-items:center;gap:10px;min-width:0;display:flex}.score-bar strong{width:30px;font-size:16px}.score-bar span{background:var(--hairline);border-radius:999px;width:100%;max-width:120px;height:7px;position:relative;overflow:hidden}.score-bar i{border-radius:inherit;background:var(--success);height:100%;display:block}.tag-list{flex-wrap:wrap;gap:5px;display:flex}.tag-list span,.source-chip,.beta-chip,.export-chip{border:1px solid var(--hairline);background:var(--surface-soft);color:var(--body);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.action-label{word-break:keep-all;margin-bottom:4px;font-size:13px;display:inline-block}.csv-panel{margin-top:16px}.csv-layout{grid-template-columns:minmax(320px,1fr) minmax(260px,360px);gap:14px;padding:14px;display:grid}.csv-drop-zone{border:1px dashed var(--hairline);background:var(--surface-soft);border-radius:10px;align-items:center;gap:14px;min-height:116px;padding:18px;display:flex;position:relative}.csv-drop-zone svg{flex:none}.csv-drop-zone strong,.uploaded-card strong,.region-trend-card strong,.sales-card strong{font-size:15px;line-height:1.35;display:block}.csv-drop-zone span,.uploaded-card small,.region-trend-card small,.sales-card small{color:var(--muted);font-size:12px;line-height:1.5;display:block}.csv-drop-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.csv-side{align-content:center;gap:10px;display:grid}.csv-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 14px 14px;display:grid}.uploaded-candidates{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 14px 14px;display:grid}.uploaded-card{border:1px solid var(--hairline);border-radius:10px;gap:10px;min-width:0;padding:14px;display:grid}.uploaded-card .score-bar span,.region-trend-card .score-bar span{max-width:none}.empty-panel{border:1px solid var(--hairline);background:var(--surface-soft);color:var(--muted);border-radius:10px;margin:0 14px 14px;padding:16px;font-size:13px;line-height:1.5}.viewer-page{gap:16px;display:grid}.viewer-intro{margin-top:0}.viewer-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px;display:grid}.viewer-summary-grid .mini-metric strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;display:block;overflow:hidden}.viewer-source-panel{border-top:1px solid var(--hairline-soft);grid-template-columns:minmax(220px,.74fr) minmax(0,1.26fr);align-items:start;gap:12px;padding:12px 14px;display:grid}.viewer-source-status{gap:7px;min-width:0;display:grid}.viewer-source-title{align-items:center;gap:8px;min-width:0;display:flex}.viewer-source-title strong{color:var(--ink);font-size:14px}.viewer-source-badge{color:#9f1239;white-space:nowrap;background:#fff1f2;border:1px solid #fecdd3;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.viewer-source-badge.ready{color:#047857;background:#f0fdf4;border-color:#bbf7d0}.viewer-source-meta{min-width:0;color:var(--muted);gap:4px;font-size:12px;font-weight:800;display:grid}.viewer-source-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.viewer-source-actions{gap:8px;min-width:0;display:grid}.viewer-source-default{border:1px solid var(--ink);background:var(--ink);min-height:36px;color:var(--canvas);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.viewer-source-default:disabled{cursor:progress;opacity:.66}.viewer-source-files{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.viewer-source-upload{border:1px solid var(--hairline);background:var(--canvas);min-width:0;min-height:58px;color:var(--body);cursor:pointer;border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;display:grid;position:relative}.viewer-source-upload:hover{border-color:var(--ink)}.viewer-source-upload.busy{cursor:progress;opacity:.7}.viewer-source-upload span{gap:3px;min-width:0;display:grid}.viewer-source-upload strong{color:var(--ink);font-size:12px}.viewer-source-upload small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;font-weight:800;overflow:hidden}.viewer-source-upload em{background:var(--surface-soft);color:var(--body);border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:900}.viewer-source-upload input{cursor:pointer;opacity:0;position:absolute;inset:0}.viewer-source-upload input:disabled{cursor:progress}.viewer-search-panel{border-top:1px solid var(--hairline-soft);padding:0 14px}.viewer-search-box{border:1px solid var(--hairline);background:var(--canvas);min-height:44px;color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:0 10px 0 12px;display:flex}.viewer-search-box:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #1111110f}.viewer-search-box input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px;font-weight:700}.viewer-search-box input::placeholder{color:var(--muted);font-weight:700}.viewer-search-status{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:900}.viewer-search-clear{width:30px;height:30px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.viewer-search-clear:hover{border-color:var(--hairline);color:var(--ink)}.viewer-filter-panel{border-top:1px solid var(--hairline-soft);gap:12px;padding:0 14px 14px;display:grid}.viewer-filter-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.viewer-filter-clear{border:1px solid var(--hairline);background:var(--canvas);min-height:32px;color:var(--body);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.viewer-filter-clear:hover{border-color:var(--ink);color:var(--ink)}.viewer-filter-groups{gap:12px;display:grid}.viewer-filter-group{gap:7px;min-width:0;display:grid}.viewer-filter-head{color:var(--ink);font-size:13px;font-weight:900}.viewer-filter-options{flex-wrap:wrap;gap:8px;display:flex}.viewer-filter-chip{border:1px solid var(--hairline);background:var(--canvas);max-width:100%;min-height:34px;color:var(--body);border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.viewer-filter-chip>span:not(.viewer-color-swatch){overflow-wrap:anywhere}.viewer-filter-chip small{background:var(--surface-soft);min-width:22px;height:22px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:900;display:inline-flex}.viewer-filter-chip:hover,.viewer-filter-chip.active{border-color:var(--ink);color:var(--ink)}.viewer-filter-chip.active{background:#f7fee7}.viewer-filter-chip.active small{background:var(--ink);color:var(--canvas)}.viewer-color-swatch{border:1px solid #1111112e;border-radius:999px;flex:0 0 14px;width:14px;height:14px}.viewer-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.viewer-grid.loading{opacity:.68;pointer-events:none}.viewer-pagination{border:1px solid var(--hairline);background:var(--canvas);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex;box-shadow:0 1px 2px #1111110a}.viewer-pagination-summary{gap:2px;display:grid}.viewer-pagination-summary strong{color:var(--ink);font-size:13px}.viewer-pagination-summary span{color:var(--muted);font-size:12px;font-weight:800}.viewer-pagination-controls,.viewer-page-numbers{align-items:center;gap:6px;display:flex}.viewer-page-step,.viewer-page-number{border:1px solid var(--hairline);background:var(--canvas);min-height:34px;color:var(--body);justify-content:center;align-items:center;font-size:12px;font-weight:900;display:inline-flex}.viewer-page-step{border-radius:999px;gap:5px;padding:0 10px}.viewer-page-number{border-radius:8px;min-width:34px;padding:0 9px}.viewer-page-step:hover:not(:disabled),.viewer-page-number:hover:not(:disabled),.viewer-page-number.active{border-color:var(--ink);color:var(--ink)}.viewer-page-number.active{background:var(--ink);color:var(--canvas)}.viewer-page-step:disabled,.viewer-page-number:disabled{cursor:not-allowed;opacity:.52}.viewer-page-ellipsis{min-width:20px;color:var(--muted);text-align:center;font-size:13px;font-weight:900}.viewer-card{border:1px solid var(--hairline);background:var(--canvas);border-radius:12px;min-width:0;transition:border-color .16s,box-shadow .16s,transform .16s;overflow:hidden;box-shadow:0 1px 2px #1111110a}.viewer-card:hover,.viewer-card.expanded{border-color:#cbd5e1;box-shadow:0 12px 34px #11111114}.viewer-image-frame{background:#f7f7fb;place-items:center;min-height:340px;padding:20px;display:grid;position:relative}.viewer-image-frame img{object-fit:contain;width:100%;height:320px}.viewer-state{border:1px solid var(--hairline);color:var(--body);background:#ffffffeb;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;position:absolute;top:14px;right:14px;box-shadow:0 4px 14px #11111114}.viewer-state.selling{color:#047857}.viewer-state.stopped{color:#9f1239}.viewer-action-row{border-top:1px solid var(--hairline-soft);flex-wrap:wrap;gap:8px;min-height:54px;padding:10px 14px;display:flex}.viewer-pill{border:1px solid var(--hairline);background:var(--surface-soft);min-height:34px;color:var(--body);border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:800;display:inline-flex}.viewer-pill span{background:var(--canvas);min-width:24px;height:24px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:12px;display:inline-flex}.viewer-pill:hover,.viewer-pill.active{border-color:var(--ink);color:var(--ink)}.viewer-pill.active.resemble{background:#fce7f3}.viewer-pill.active.mix{background:#eef2ff}.viewer-expansion{border-top:1px solid var(--hairline-soft);background:#fbfbfc;padding:12px 14px 14px;animation:.18s viewerExpand}.viewer-expansion.loading{color:var(--muted);font-size:13px;font-weight:700}.viewer-expansion-head,.viewer-mix-set-head,.viewer-card-label{justify-content:space-between;align-items:center;gap:10px;display:flex}.viewer-expansion-head{margin-bottom:10px}.viewer-expansion-head strong,.viewer-mix-set-head strong{font-size:13px}.viewer-expansion-head span,.viewer-mix-set-head span,.viewer-card-label small{color:var(--muted);font-size:12px;font-weight:800}.viewer-reco-strip{overscroll-behavior-x:contain;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.viewer-reco-card{border:1px solid var(--hairline);background:var(--canvas);border-radius:10px;flex:0 0 178px;overflow:hidden}.viewer-reco-card img{object-fit:cover;background:var(--surface-soft);width:100%;height:146px}.viewer-reco-card>div{gap:3px;padding:10px;display:grid}.viewer-reco-card strong,.viewer-analysis-head strong{font-size:14px}.viewer-reco-card small{color:var(--muted);font-size:12px;line-height:1.35}.viewer-reco-card span{color:var(--body);margin-top:4px;font-size:12px;font-weight:800}.viewer-reco-card.skeleton,.viewer-image-skeleton,.viewer-line-skeleton{background:linear-gradient(90deg,#f3f4f6 0%,#fff 45%,#f3f4f6 100%) 0 0/220% 100%;animation:1.2s ease-in-out infinite viewerShimmer}.viewer-reco-card.skeleton{height:196px}.viewer-mix-stack{gap:12px;display:grid}.viewer-mix-set{gap:8px;display:grid}.viewer-analysis{border-top:1px solid var(--hairline-soft);gap:14px;padding:14px;display:grid}.viewer-analysis-head{justify-content:space-between;gap:12px;display:flex}.viewer-category-block,.viewer-attribute-block{gap:8px;display:grid}.viewer-card-label{color:var(--muted);font-size:12px;font-weight:800}.viewer-category-row{border:1px solid var(--hairline);background:var(--surface-soft);min-height:38px;color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:8px 10px;font-size:13px;display:flex}.viewer-category-row strong{color:var(--ink);font-size:13px}.viewer-empty{gap:12px;margin:0;display:grid}.viewer-empty p{margin:0}.viewer-empty-text{color:var(--muted);margin:0;font-size:13px;font-weight:700}.viewer-card-loading{gap:12px;padding:14px;display:grid}.viewer-image-skeleton{border-radius:10px;min-height:300px}.viewer-line-skeleton{border-radius:999px;height:16px}.viewer-line-skeleton.short{width:46%}@keyframes viewerExpand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes viewerShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.opportunity-table td small{word-break:keep-all}.status-select{border:1px solid var(--hairline);background:var(--surface-soft);border-radius:999px;align-items:center;display:inline-flex;position:relative}.status-select:before{content:"";background:var(--muted);border-radius:999px;width:7px;height:7px;margin-left:10px}.status-select select{background:0 0;border:0;max-width:98px;min-height:28px;padding:0 6px 0 5px;font-size:12px;font-weight:700}.status-running:before,.status-adopted:before{background:var(--success)}.status-preparing:before,.status-review:before{background:var(--warning)}.status-attention:before,.status-rejected:before{background:var(--danger)}.assignee{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.region-panel{height:100%}.region-list{gap:10px;max-height:470px;padding:14px;display:grid;overflow-y:auto}.region-card{border:1px solid var(--hairline);background:var(--canvas);width:100%;min-height:98px;color:var(--ink);text-align:left;border-radius:10px;grid-template-columns:36px minmax(118px,1fr) 68px 18px;align-items:center;gap:12px;padding:13px;display:grid}.region-card:hover,.region-card.selected{border-color:var(--ink);box-shadow:0 8px 26px #11111114}.weather-icon{color:var(--muted)}.weather-icon.sunny{color:var(--warning)}.weather-icon.rainy{color:var(--accent)}.weather-metrics strong,.region-recos span{font-size:13px;line-height:1.4;display:block}.region-recos{grid-column:2/-1}.region-recos span{word-break:keep-all;overflow-wrap:normal}.region-card>svg:last-child{grid-area:1/4;justify-self:end}.weather-metrics span{color:var(--body);margin-top:4px;font-size:13px;font-weight:700;display:block}.weather-metrics small,.region-recos small,.uv-meter small{color:var(--muted);font-size:11px}.uv-meter{border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);text-align:center;padding:0 10px}.uv-meter span{color:var(--muted);font-size:11px;font-weight:700;display:block}.uv-meter strong{color:var(--success);margin:2px 0;font-size:21px;display:block}.uv-meter.medium strong{color:var(--warning)}.uv-meter.high strong{color:var(--danger)}.trend-list,.feedback-events{gap:10px;padding:14px;display:grid}.trend-row,.event-row{border:1px solid var(--hairline);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:13px;display:flex}.source-chip{margin-bottom:8px;display:inline-flex}.trend-score{text-align:right}.trend-score strong{font-size:24px}.trend-score small{color:var(--success);font-weight:800}.region-trend-panel{margin-top:16px}.region-trend-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:14px;display:grid}.region-trend-card{border:1px solid var(--hairline);border-radius:10px;gap:10px;padding:14px;display:grid}.region-trend-head{gap:10px;display:grid}.region-trend-meta{flex-wrap:wrap;gap:6px;display:flex}.region-trend-meta span{background:var(--surface-soft);color:var(--body);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.feedback-metrics{grid-template-columns:repeat(4,1fr);gap:8px;padding:14px;display:grid}.mini-metric{border:1px solid var(--hairline);background:var(--surface-soft);border-radius:10px;padding:12px}.mini-metric-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.mini-metric-button:hover,.mini-metric-button:focus-visible,.mini-metric-button.active{border-color:var(--accent);background:#eff6ff;box-shadow:0 0 0 1px #3b82f629}.mini-metric-button:focus-visible{outline-offset:2px;outline:2px solid #3b82f647}.mini-metric small{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.mini-metric strong{font-size:20px}.feedback-actions{justify-content:flex-end;padding:0 14px 14px}.event-row{justify-content:flex-start}.creative-panel{margin-top:16px}.creative-grid{grid-template-columns:220px minmax(320px,1fr) 240px 230px;gap:14px;padding:14px;display:grid}.selected-sku-card,.quality-card,.approval-card{border:1px solid var(--hairline);background:var(--canvas);border-radius:10px;padding:14px}.selected-sku-card img{width:82px;height:104px;margin:12px 0}.selected-sku-card strong{font-size:15px;line-height:1.35;display:block}.selected-sku-card small,.quality-card small,.approval-card small,.creative-footer span{color:var(--muted);font-size:12px}.sku-detail-list{color:var(--body);gap:7px;margin-top:14px;font-size:12px;line-height:1.45;display:grid}.creative-controls{gap:12px;display:grid}.control-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.creative-controls label,.copy-box{flex-direction:column;align-items:stretch}.scene-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.scene-card{border:1px solid var(--hairline);background:var(--surface-soft);min-height:92px;color:var(--ink);text-align:center;border-radius:10px;align-content:start;gap:6px;padding:7px;display:grid}.scene-card.selected{border-color:var(--ink);background:var(--canvas)}.scene-card img{object-fit:cover;border-radius:7px;width:100%;height:50px}.scene-card span{font-size:11px;font-weight:700;line-height:1.25}.add-scene{border-style:dashed;place-items:center}.copy-box textarea{width:100%}.check-row{color:var(--body);align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.check-row svg{color:var(--success);flex:none}.quality-score{border-top:1px solid var(--hairline);margin-top:18px;padding-top:14px}.quality-score strong{color:var(--success);margin-top:4px;font-size:23px;display:block}.approval-card{gap:10px;display:grid}.approval-card strong{font-size:18px}.approval-card textarea{min-height:72px}.approval-actions{justify-content:stretch}.approval-actions button{flex:1}.creative-footer{border-top:1px solid var(--hairline);justify-content:flex-end;padding:14px}.campaign-panel{margin-top:16px}.campaign-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;display:grid}.campaign-card{border:1px solid var(--hairline);background:var(--canvas);border-radius:10px;gap:12px;padding:14px;display:grid}.campaign-card>span{color:var(--ink);font-size:22px;font-weight:800}.export-chip{border-color:var(--ink);color:var(--ink)}.sales-panel{margin-top:16px}.sales-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.sales-card{border:1px solid var(--hairline);border-radius:10px;gap:14px;padding:16px;display:grid}.sales-card-head{gap:5px;display:grid}.sales-story{gap:6px;display:grid}.sales-story small,.objection-box small,.next-action-box small{color:var(--muted);font-size:11px;font-weight:800}.proof-list{gap:7px;display:grid}.proof-list span{color:var(--body);align-items:flex-start;gap:7px;font-size:12px;line-height:1.45;display:flex}.proof-list svg{color:var(--success);flex:none;margin-top:1px}.objection-box,.next-action-box{border-top:1px solid var(--hairline);gap:5px;padding-top:12px;display:grid}.next-action-box strong{font-size:13px}.toast,.error-panel,.loading-screen{align-items:center;gap:10px;display:flex}.toast{z-index:30;border:1px solid var(--hairline);background:var(--ink);color:#fff;border-radius:10px;max-width:min(420px,100vw - 44px);padding:12px 14px;font-size:14px;font-weight:700;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 36px #1113}.error-panel{color:#991b1b;background:#ef44440f;border:1px solid #ef444440;border-radius:10px;margin-top:16px;padding:12px 14px;font-size:14px;font-weight:700}.loading-screen{min-height:100vh;color:var(--body);flex-direction:column;justify-content:center}@media (width<=1320px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:14px 10px}.brand-button span:not(.brand-mark),.side-nav span,.sidebar-footer button,.account-card{display:none}.brand-mark{width:40px;height:40px}.side-nav button{justify-content:center;padding:10px}.content-grid,.lower-grid{grid-template-columns:1fr}.creative-grid{grid-template-columns:220px 1fr}.campaign-grid,.region-trend-grid,.sales-grid,.uploaded-candidates,.viewer-source-files,.viewer-grid,.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.csv-layout{grid-template-columns:1fr}}@media (width<=860px){.app-shell{display:block}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--hairline);width:100%;height:auto;padding:10px 12px;position:sticky;top:0}.brand-button{display:none}.side-nav{gap:6px;display:flex;overflow-x:auto}.side-nav span{display:inline}.side-nav button{flex:none;width:auto;min-height:36px;padding:8px 10px}.sidebar-footer{display:none}.workspace{padding:0 12px 28px}.topbar{flex-direction:column;align-items:stretch;position:static}.control-group,.topbar-actions,.header-tools,.creative-footer{flex-wrap:wrap}.control-group label{flex:220px}.control-group select,.language-toggle,.topbar-actions .primary-button,.sync-state{width:100%}.language-toggle{justify-content:center}.language-toggle button{flex:1}.kpi-strip,.action-strip,.campaign-grid,.feedback-metrics,.csv-summary-grid,.region-trend-grid,.sales-grid,.uploaded-candidates,.viewer-source-panel,.viewer-source-files,.viewer-summary-grid,.viewer-grid,.creative-grid,.control-row{grid-template-columns:1fr}.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card{min-height:108px;padding:14px}.kpi-card strong{font-size:28px}.viewer-pagination{flex-direction:column;align-items:stretch}.viewer-pagination-controls{flex-wrap:wrap;align-items:stretch}.viewer-page-numbers{flex-wrap:wrap;order:-1;justify-content:center;width:100%}.viewer-page-step{flex:120px}.region-card{grid-template-columns:34px 1fr 64px}.region-recos,.region-card>svg:last-child{display:none}.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-sku-card img{width:100%;height:160px}.viewer-image-frame{min-height:280px;padding:16px}.viewer-image-frame img{height:260px}.table-scroller{max-height:none;overflow-x:auto}.opportunity-table{min-width:760px}.region-list{max-height:none}}
