:root{
  --bg:#f5f7fb;--panel:#fff;--text:#182033;--muted:#6c7484;--line:#e3e8f0;--sidebar:#101827;
  --sidebar-2:#182235;--accent:#ee4d2d;--accent-2:#ff775d;--good:#16845a;--good-bg:#eaf8f1;
  --warn:#a56f00;--warn-bg:#fff7e4;--danger:#ba3d31;--danger-bg:#fff0ef;--blue:#2f64a7;--blue-bg:#edf4ff;
  --radius:18px;--shadow:0 7px 24px rgba(23,32,51,.06);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}code{background:#f2f4f8;padding:2px 5px;border-radius:6px}
.login-shell{min-height:100vh;background:radial-gradient(circle at 20% 20%,#fff0eb 0,transparent 32%),linear-gradient(145deg,#f7f8fb,#eef2f8)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 28px 80px rgba(23,32,51,.12)}.brand-lockup{display:flex;align-items:center;gap:12px;margin-bottom:30px}.brand-lockup strong{display:block}.brand-lockup span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.brand-mark{width:56px;height:56px;border-radius:17px;background:linear-gradient(135deg,var(--accent),#ff9a6f);display:grid;place-items:center;color:#fff;font-weight:1000;letter-spacing:-1px;box-shadow:0 12px 25px rgba(238,77,45,.2)}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:13px}.login-card h1{font-size:28px;margin:0 0 8px}.login-copy{color:var(--muted);margin:0 0 22px;line-height:1.5}.login-form{display:grid;gap:14px}.login-form label{display:grid;gap:7px;font-size:12px;font-weight:800}.login-form input{border:1px solid var(--line);border-radius:12px;padding:12px 13px;outline:none}.login-form input:focus{border-color:#f1a08f;box-shadow:0 0 0 4px #fff0ec}.login-form button{border:0;background:var(--accent);color:#fff;padding:13px 16px;border-radius:12px;font-weight:900}.login-foot{display:grid;gap:5px;margin-top:18px;color:var(--muted);font-size:10px}.notice{padding:12px 14px;border-radius:12px;margin:14px 0;font-size:12px;line-height:1.45}.notice.warning{background:var(--warn-bg);color:#775000}.notice.danger{background:var(--danger-bg);color:#9b3429}
.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:linear-gradient(180deg,var(--sidebar),#0d1421);color:#dce3ed;padding:18px 14px;z-index:40;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:5px 7px 20px}.sidebar-brand strong{display:block;font-size:13px}.sidebar-brand span{display:block;color:#8f9aad;font-size:10px;margin-top:3px}.side-nav{display:grid;gap:4px;overflow:auto;padding-right:3px}.nav-item{border:0;background:transparent;color:#aeb8c8;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 11px;border-radius:11px;font-weight:750;font-size:12px}.nav-item:hover{background:rgba(255,255,255,.05);color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(238,77,45,.22),rgba(238,77,45,.06));color:#fff;box-shadow:inset 3px 0 var(--accent)}.nav-icon{width:20px;text-align:center;font-size:15px}.nav-count{margin-left:auto;background:#27334a;border-radius:999px;padding:2px 7px;font-size:9px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:14px 8px 4px;display:grid;gap:12px}.sidebar-footer>a{color:#9da8b9;text-decoration:none;font-size:11px}.source-legend{display:grid;gap:6px;color:#8995a8;font-size:9px}.source-legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%}.dot.official{background:#5a92d8}.dot.observed{background:#f17c63}
.main-wrap{margin-left:245px;min-height:100vh}.topbar{position:sticky;top:0;height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(13px);border-bottom:1px solid var(--line);z-index:30;display:flex;align-items:center;gap:18px;padding:0 24px}.page-heading{min-width:240px}.page-heading h1{font-size:18px;margin:0}.page-heading p{font-size:10px;color:var(--muted);margin:4px 0 0}.global-search-wrap{position:relative;flex:1;max-width:520px;margin-left:auto}.global-search-wrap input{width:100%;border:1px solid var(--line);background:#f8f9fb;border-radius:12px;padding:10px 13px;outline:none}.global-search-wrap input:focus{border-color:#cfd6e2;background:#fff;box-shadow:0 0 0 4px #eef2f8}.search-results{position:absolute;left:0;right:0;top:46px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(23,32,51,.15);padding:6px;display:none}.search-results.open{display:block}.search-results button{width:100%;border:0;background:#fff;text-align:left;padding:10px;border-radius:9px;display:grid;gap:3px}.search-results button:hover{background:#f7f8fb}.search-results span{font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.search-results strong{font-size:12px}.search-empty{padding:16px;text-align:center;color:var(--muted);font-size:11px}.top-actions{display:flex;align-items:center;gap:8px}.live-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;white-space:nowrap}.status-dot{width:8px;height:8px;background:#2eb872;border-radius:50%;box-shadow:0 0 0 4px #e5f8ef}.menu-btn{display:none}.icon-btn,.secondary-btn,.primary-btn,.link-btn,.table-btn,.x-small{border:0;border-radius:10px;font-weight:800}.secondary-btn{background:#f1f4f8;color:#374151;padding:8px 11px}.secondary-btn:hover{background:#e8edf4}.primary-btn{background:var(--accent);color:#fff;padding:11px 14px}.primary-btn.compact{padding:8px 11px}.link-btn{background:transparent;color:var(--accent);padding:6px}.table-btn{background:#fff0ec;color:#bb432d;padding:7px 9px}.x-small{background:#f1f3f7;width:28px;height:28px;color:#697386}.row-actions{display:flex;gap:8px;align-items:center}
.content{padding:24px}.view{display:none}.view.active{display:block}.metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric-card,.panel,.category-card,.video-card,.health-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{padding:16px;display:flex;gap:12px;align-items:center}.metric-icon{width:38px;height:38px;border-radius:11px;background:#f7f8fb;display:grid;place-items:center;color:var(--accent);font-weight:1000}.metric-card .label{font-size:10px;color:var(--muted);font-weight:800}.metric-card .value{font-size:23px;font-weight:950;margin-top:4px}.metric-card .hint{font-size:9px;color:var(--muted);margin-top:3px}.dashboard-grid{display:grid;grid-template-columns:1.55fr .75fr;gap:16px;margin-bottom:16px}.panel{padding:17px;margin-bottom:16px}.dashboard-grid>.panel{margin-bottom:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-head h2{font-size:16px;margin:0 0 4px}.panel-head p{margin:0;color:var(--muted);font-size:10px}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-toolbar h2{font-size:19px;margin:0}.section-toolbar p{font-size:11px;color:var(--muted);margin:4px 0 0}.section-toolbar input,.section-toolbar select,.panel-head input{border:1px solid var(--line);background:#fff;padding:9px 11px;border-radius:10px;outline:none}.product-mini{display:grid;grid-template-columns:1fr auto auto auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.product-mini:last-child{border-bottom:0}.product-main-cell{display:flex;align-items:flex-start;gap:8px;min-width:0}.product-meta{font-size:9px;color:var(--muted);margin-top:4px}.text-link{border:0;background:transparent;padding:0;color:var(--text);text-align:left;font-weight:850}.text-link:hover{color:var(--accent)}.heading-link{font-size:13px}.pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f1f3f7;font-size:9px;font-weight:850;white-space:nowrap}.pill.good{background:var(--good-bg);color:var(--good)}.pill.accent{background:#fff0ec;color:#bd432c}.pill.observed{background:#fff0ec;color:#b8422e}.trend-list{display:grid;gap:3px}.trend-item{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid var(--line)}.trend-rank{width:27px;height:27px;border-radius:9px;background:#f1f3f7;display:grid;place-items:center;font-weight:950;font-size:10px}.trend-term{font-size:11px;font-weight:800;flex:1;min-width:0}.trend-cat{font-size:9px;color:var(--muted);margin-top:2px}.movement{font-size:9px;font-weight:850;padding:4px 6px;border-radius:999px;white-space:nowrap}.movement.up{background:var(--good-bg);color:var(--good)}.movement.down{background:var(--danger-bg);color:var(--danger)}.movement.stable{background:#f1f3f7;color:#667085}.movement.new{background:#fff0ec;color:#b9432d}.category-mini-list{display:grid}.category-mini{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.category-mini strong{display:block;font-size:11px}.category-mini span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.category-mini b{width:30px;height:30px;border-radius:9px;background:#fff0ec;color:#bd432d;display:grid;place-items:center;font-size:10px}
.alert-list{display:grid;gap:7px}.alert-item{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 10px;text-align:left;display:flex;gap:8px;align-items:flex-start}.alert-item>span{width:7px;height:7px;border-radius:50%;margin-top:5px;background:#96a0ae}.alert-item.good>span{background:var(--good)}.alert-item.warn>span{background:#d99b12}.alert-item.info>span{background:#4d85c9}.alert-item strong{display:block;font-size:10px}.alert-item small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.empty-note{padding:24px;text-align:center;color:var(--muted);font-size:10px}
.video-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.mini-grid .video-card{min-height:260px}.video-card{padding:13px}.video-card-top{display:flex;align-items:center;justify-content:space-between}.video-rank{font-size:10px;font-weight:950;color:var(--accent)}.video-thumb{height:92px;border-radius:12px;background:linear-gradient(135deg,#eff2f6,#dfe5ed);display:grid;place-items:center;align-content:center;margin:9px 0;color:#8993a3}.video-thumb span{font-size:28px}.video-thumb small{font-size:9px;margin-top:5px}.video-title{font-size:11px;font-weight:850;min-height:28px}.video-stats{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:9px;margin-top:8px}.video-desc{font-size:9px;color:#667085;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inline-link{display:inline-block;margin-top:9px;text-decoration:none}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.filters-advanced{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;align-items:end;margin-bottom:11px}.filters-advanced label,.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800}.filters-advanced input,.filters-advanced select,.form-grid input,.form-grid select,.form-grid textarea,.table-filters input,.table-filters select{border:1px solid var(--line);background:#fff;padding:9px 10px;border-radius:10px;outline:none;width:100%}.filters-advanced input:focus,.filters-advanced select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.table-filters input:focus,.table-filters select:focus{border-color:#f0a08f;box-shadow:0 0 0 3px #fff0ec}.check-label{display:flex!important;align-items:center;gap:7px;padding:9px 0;color:var(--text)!important}.check-label input{width:auto}.formula-note{background:#f7f8fb;border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--muted);font-size:9px;line-height:1.5;margin-bottom:12px}.result-toolbar{display:flex;align-items:center;justify-content:space-between;margin:6px 0 10px;font-size:10px;color:var(--muted)}.opportunity-list{display:grid;gap:9px}.opportunity-card{display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}.opportunity-card.compact{grid-template-columns:84px 1fr auto;padding:10px}.opportunity-rank{display:flex;align-items:center;gap:7px}.signal-count{background:#f6f7fa;border-radius:11px;padding:9px;min-width:58px}.signal-count strong{display:block;font-size:21px}.signal-count span{display:block;font-size:8px;color:var(--muted);line-height:1.25}.opportunity-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.opportunity-title span{font-size:9px;color:var(--muted);white-space:nowrap}.opportunity-kpis{display:grid;grid-template-columns:repeat(4,minmax(85px,1fr));gap:7px;margin:9px 0}.opportunity-kpis div{background:#f8f9fb;border-radius:9px;padding:7px}.opportunity-kpis small{display:block;color:var(--muted);font-size:8px;margin-bottom:3px}.opportunity-kpis strong{font-size:10px}.signals-row{display:flex;flex-wrap:wrap;gap:5px}.signal{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}.signal.positive{background:var(--good-bg);color:var(--good)}.signal.neutral{background:#f1f3f7;color:#636c7a}.signal.unknown{background:var(--warn-bg);color:var(--warn)}
.table-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px;margin-bottom:10px}.table-wrap{overflow:auto;border-radius:12px}table{width:100%;border-collapse:collapse;min-width:820px}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);font-size:10px;vertical-align:middle}th{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}td strong{font-size:10px}.product-title-row{display:flex;align-items:flex-start;gap:7px;min-width:250px}.watch-btn{border:1px solid var(--line);background:#fff;color:#b0b6c2;border-radius:9px;width:30px;height:30px;cursor:pointer;font-size:14px;line-height:1}.watch-btn:hover,.watch-btn.active{color:#d89a00;background:#fff8df;border-color:#f3d978}.watch-btn.large{width:38px;height:38px;font-size:18px}.compare-check{accent-color:var(--accent)}.freshness{display:inline-flex;border-radius:999px;padding:4px 6px;font-size:8px;font-weight:800}.freshness.fresh{background:var(--good-bg);color:var(--good)}.freshness.stale{background:var(--warn-bg);color:var(--warn)}.freshness.unknown{background:#f1f3f7;color:#687180}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.category-card{padding:16px}.category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.category-head h3{font-size:13px;margin:0}.category-head span{font-size:9px;color:var(--muted)}.heat{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:950;font-size:11px;background:rgba(238,77,45,calc(.08 + var(--heat)*.28));color:#a43f2b}.category-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.category-stat{background:#f7f8fa;border-radius:10px;padding:9px}.category-stat strong{display:block;font-size:16px}.category-stat span{font-size:8px;color:var(--muted)}
.trend-summary{display:flex;gap:9px;flex-wrap:wrap;margin:3px 0 10px}.trend-summary span{background:#f7f8fb;border-radius:9px;padding:7px 9px;font-size:9px}.good-text{color:var(--good)}.danger-text{color:var(--danger)}.accent-text{color:var(--accent)}
.compare-grid{display:grid;grid-template-columns:180px repeat(var(--cols),minmax(180px,1fr));border:1px solid var(--line);border-radius:14px;overflow:auto}.compare-head,.compare-label,.compare-value,.compare-corner{padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.compare-head{background:#f7f8fb;display:flex;gap:8px;justify-content:space-between}.compare-label{font-size:9px;font-weight:900;color:var(--muted);text-transform:uppercase}.compare-value{font-size:11px;font-weight:800}.compare-corner{background:#f7f8fb}
.collector-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.collector-hero h2{margin:0;font-size:20px}.collector-hero p{margin:4px 0 0;color:var(--muted);font-size:10px}.collector-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:12px}.collector-tab{border:1px solid var(--line);background:#fff;color:#5f6877;padding:9px 11px;border-radius:10px;font-weight:800;font-size:10px;white-space:nowrap}.collector-tab.active{background:#fff0ec;border-color:#f4b6a8;color:#b8432d}.collector-panel{display:none}.collector-panel.active{display:block}.collector-panel h3{margin:0 0 4px;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.form-grid .span-2{grid-column:1/-1}.form-grid textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end}.collector-message{position:fixed;right:18px;bottom:18px;z-index:90;background:#153d2e;color:#fff;border-radius:12px;padding:12px 15px;box-shadow:0 15px 40px rgba(0,0,0,.2);opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;font-size:11px}.collector-message.error{background:#8d2f28}.collector-message.show{opacity:1;transform:none}.collector-panel code{font-size:9px}
.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.health-card{padding:15px}.health-title{display:flex;align-items:center;gap:8px}.health-title strong{font-size:11px}.health-dot{width:9px;height:9px;border-radius:50%;background:#aab2bf}.health-dot.fresh{background:var(--good);box-shadow:0 0 0 4px var(--good-bg)}.health-dot.stale{background:#d59a12;box-shadow:0 0 0 4px var(--warn-bg)}.health-time{font-size:11px;font-weight:850;margin-top:13px}.health-meta{font-size:9px;color:var(--muted);margin-top:4px}.provenance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.provenance-card{border:1px solid var(--line);border-radius:12px;padding:13px}.provenance-card strong{display:block;font-size:11px}.provenance-card span{display:block;font-size:9px;color:var(--muted);line-height:1.5;margin-top:5px}.official-card{border-top:3px solid #5d8fce}.observed-card{border-top:3px solid #ef7d66}.pipeline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pipeline span{background:#f7f8fb;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:10px;font-weight:850}.pipeline b{color:#a3abb8}
.modal{position:fixed;inset:0;background:rgba(7,12,20,.62);display:none;place-items:center;padding:18px;z-index:70}.modal.open{display:grid}.modal-card{width:min(950px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:23px;position:relative}.modal-card.wide{width:min(1150px,100%)}.modal-close{position:absolute;right:13px;top:12px;border:0;background:#f1f3f7;border-radius:999px;width:34px;height:34px;font-size:20px;z-index:2}.detail-hero{padding-right:42px}.detail-title-line{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.detail-title-line h2{margin:3px 0 5px;font-size:20px}.detail-title-line p{margin:0;color:var(--muted);font-size:10px}.eyebrow{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:900}.detail-actions{display:flex;gap:7px;align-items:center}.source-row{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.source-badge{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.source-badge.official{background:var(--blue-bg);color:var(--blue)}.source-badge.observed{background:#fff0ec;color:#b9442e}.detail-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:15px 0}.detail-metric{background:#f7f8fa;border-radius:12px;padding:11px}.detail-metric strong{display:block;font-size:16px}.detail-metric span{font-size:8px;color:var(--muted)}.intelligence-box{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fbfcfe;border:1px solid var(--line);border-radius:13px;padding:12px;margin:12px 0}.intelligence-box h3{font-size:12px;margin:0}.intelligence-box p{margin:3px 0 0;font-size:9px}.charts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:13px 0}.chart{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.chart-caption{display:flex;justify-content:space-between;gap:6px;font-size:8px;color:var(--muted)}.chart-caption strong{color:var(--text)}.chart svg{width:100%;height:115px;margin-top:4px}.axis{stroke:#e6eaf0;stroke-width:1}.chart-line{stroke:var(--accent)}.chart-empty{height:140px;border:1px dashed var(--line);border-radius:12px;display:grid;place-items:center;color:var(--muted);font-size:9px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:14px 0}.detail-grid h3{font-size:12px}.observed-box{display:grid;grid-template-columns:1fr 1fr;gap:7px}.observed-box div,.data-freshness div{background:#f7f8fa;border-radius:10px;padding:9px}.observed-box span,.data-freshness span{display:block;color:var(--muted);font-size:8px;margin-bottom:4px}.observed-box strong,.data-freshness strong{font-size:11px}.data-freshness{display:grid;gap:7px}.detail-warning{margin-top:12px}
.empty-state{min-height:360px;display:grid;place-items:center;text-align:center;align-content:center}.empty-state.compact{min-height:210px}.empty-state p{max-width:520px;color:var(--muted);font-size:10px}.empty-icon{font-size:42px;color:#d8a032}.muted{color:var(--muted)}.toast-stack{position:fixed;right:18px;top:90px;z-index:100;display:grid;gap:8px}.toast{background:#153d2e;color:#fff;padding:10px 13px;border-radius:11px;box-shadow:0 13px 40px rgba(0,0,0,.2);font-size:10px;opacity:0;transform:translateX(20px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.warn{background:#7b5911}.toast.error{background:#8d2f28}
@media(max-width:1280px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.video-grid{grid-template-columns:repeat(3,1fr)}.category-grid{grid-template-columns:repeat(3,1fr)}.filters-advanced{grid-template-columns:repeat(4,1fr)}.health-grid,.provenance-grid{grid-template-columns:repeat(2,1fr)}.detail-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main-wrap{margin-left:0}.menu-btn{display:block;border:0;background:#f1f3f7;border-radius:9px;padding:8px 10px}.topbar{padding:0 13px}.page-heading{min-width:0}.global-search-wrap{display:none}.top-actions .secondary-btn,.live-state span{display:none}.content{padding:14px}.dashboard-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:repeat(2,1fr)}.video-grid,.category-grid{grid-template-columns:repeat(2,1fr)}.filters-advanced{grid-template-columns:repeat(2,1fr)}.opportunity-card{grid-template-columns:80px 1fr}.opportunity-card>.table-btn{grid-column:2;justify-self:start}.charts-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-title-line{display:block}.detail-actions{margin-top:10px}.section-toolbar,.panel-head.stacked-mobile{align-items:flex-start;flex-direction:column}.table-filters{grid-template-columns:1fr}.health-grid,.provenance-grid{grid-template-columns:1fr 1fr}.compare-grid{grid-template-columns:150px repeat(var(--cols),180px)}}
@media(max-width:600px){.metrics-grid,.video-grid,.category-grid{grid-template-columns:1fr}.filters-advanced{grid-template-columns:1fr}.opportunity-card{grid-template-columns:1fr}.opportunity-card>.table-btn{grid-column:auto}.opportunity-kpis{grid-template-columns:repeat(2,1fr)}.opportunity-title{display:block}.opportunity-title span{display:block;margin-top:4px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.detail-metrics{grid-template-columns:repeat(2,1fr)}.intelligence-box{display:block}.intelligence-box .signals-row{margin-top:10px}.observed-box{grid-template-columns:1fr}.health-grid,.provenance-grid{grid-template-columns:1fr}.collector-hero{align-items:flex-start;flex-direction:column}.topbar{height:70px}.page-heading p{display:none}.page-heading h1{font-size:15px}.metric-card .value{font-size:20px}.row-actions{flex-wrap:wrap}.panel{padding:13px}.detail-actions{flex-wrap:wrap}.modal{padding:8px}.modal-card{padding:18px 13px}.toast-stack{left:12px;right:12px;top:auto;bottom:12px}.toast{width:100%}}

.field-hint{font-size:9px;color:var(--muted);font-weight:600;line-height:1.35}.link-lookup-status{min-height:18px;font-size:10px;color:var(--muted);padding:0 2px}.link-lookup-status.loading{color:#806000}.link-lookup-status.ok{color:var(--good)}.link-lookup-status.warn{color:var(--warn)}.link-lookup-status.error{color:var(--danger)}.auto-detected-grid{display:flex;gap:8px;flex-wrap:wrap}.auto-detected-grid span{background:#f7f8fb;border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:9px;color:var(--muted)}.auto-detected-grid strong{color:var(--text)}

/* Cadastro de produto: validação explícita + prévia */
.link-validate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.validate-product-btn{white-space:nowrap;height:100%;min-height:38px}.product-preview-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:stretch;border:1px solid var(--line);border-radius:14px;padding:12px;background:linear-gradient(180deg,#fff,#fbfcfe)}.product-preview-card[hidden]{display:none!important}.product-preview-image-wrap{width:150px;height:150px;border-radius:12px;background:#f4f6f9;border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center}.product-preview-image-wrap img{width:100%;height:100%;object-fit:contain;background:#fff}.product-preview-info{min-width:0}.product-preview-top{display:flex;align-items:center;gap:7px;margin-bottom:6px}.preview-existing{font-size:8px;font-weight:800;padding:4px 7px;border-radius:999px;background:#fff0ec;color:#b8432d}.product-preview-info h4{font-size:15px;margin:0 0 4px;line-height:1.3}.product-preview-info p{margin:0 0 10px}.product-preview-kpis{display:grid;grid-template-columns:repeat(3,minmax(95px,1fr));gap:8px}.product-preview-kpis div{background:#f7f8fb;border-radius:9px;padding:8px}.product-preview-kpis span{display:block;color:var(--muted);font-size:8px;margin-bottom:3px}.product-preview-kpis strong{font-size:10px;line-height:1.25;word-break:break-word}
@media(max-width:700px){.link-validate-row{grid-template-columns:1fr}.validate-product-btn{width:100%}.product-preview-card{grid-template-columns:1fr}.product-preview-image-wrap{width:100%;height:220px}.product-preview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Imagens de produto */
.product-thumb{display:block;object-fit:cover;background:#f5f6f8;border:1px solid var(--line);border-radius:9px;flex:0 0 auto}.product-thumb.placeholder{display:flex;align-items:center;justify-content:center;color:#a8afba}.product-thumb.mini{width:38px;height:38px}.product-thumb.table{width:42px;height:42px}.product-thumb.opportunity{width:56px;height:56px}.product-thumb.detail{width:88px;height:88px;border-radius:12px}.product-main-cell{gap:8px}.product-title-row{display:flex;align-items:center;gap:8px}.opportunity-heading-row{display:flex;align-items:flex-start;gap:10px}.opportunity-heading-row .opportunity-title{flex:1}.detail-product-title{display:flex;align-items:flex-start;gap:12px;min-width:0}.detail-product-title>div{min-width:0}
@media(max-width:700px){.product-thumb.detail{width:72px;height:72px}.product-thumb.opportunity{width:48px;height:48px}}


/* Importação em lote Shopee → RBG */
.bulk-helper{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin:12px 0;border:1px solid #fed7aa;background:#fff7ed;border-radius:12px}.bulk-helper div{display:flex;flex-direction:column;gap:3px}.bulk-helper strong{font-size:11px}.bulk-helper span{font-size:9px;color:var(--muted);line-height:1.45}.bulk-paste-label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:800}.bulk-paste-label textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;resize:vertical;font:inherit;font-weight:500}.bulk-actions{justify-content:flex-start;margin:8px 0 12px}.bulk-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:9px;color:var(--muted);margin-top:10px}.bulk-summary strong{color:var(--ink);font-size:12px}.bulk-progress{height:7px;background:#eef1f5;border-radius:99px;overflow:hidden;margin:8px 0 12px}.bulk-progress span{display:block;height:100%;width:0;background:#ff5a36;transition:width .25s ease}.bulk-import-list{display:flex;flex-direction:column;gap:7px;max-height:430px;overflow:auto}.bulk-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}.bulk-item.loading{border-color:#93c5fd;background:#eff6ff}.bulk-item.added{border-color:#86efac;background:#f0fdf4}.bulk-item.updated{border-color:#fed7aa;background:#fff7ed}.bulk-item.error{border-color:#fecaca;background:#fef2f2}.bulk-order{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f3f5f8;font-size:9px;font-weight:900}.bulk-item div{min-width:0}.bulk-item strong,.bulk-item small{display:block}.bulk-item strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-item small{font-size:8px;color:var(--muted);margin-top:2px}.bulk-status{font-size:8px;font-weight:900;white-space:nowrap}.bulk-item.added .bulk-status{color:#15803d}.bulk-item.updated .bulk-status{color:#c2410c}.bulk-item.error .bulk-status{color:#b91c1c}@media(max-width:700px){.bulk-helper{align-items:stretch;flex-direction:column}.bulk-helper button{width:100%}.bulk-item{grid-template-columns:26px minmax(0,1fr)}.bulk-status{grid-column:2}.bulk-summary{align-items:flex-start;flex-direction:column}}

/* Importação por categoria */
.category-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.category-import-grid .span-2{grid-column:1/-1}.category-import-grid label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800}.category-import-grid input,.category-import-grid select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit}.category-check{flex-direction:row!important;align-items:center;gap:8px!important;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.category-check input{width:auto!important}.category-import-summary{display:flex;gap:16px;flex-wrap:wrap;padding:10px 0;font-size:9px;color:var(--muted)}.category-import-summary strong{font-size:12px;color:var(--ink)}.category-actions{justify-content:flex-start;margin-bottom:10px}.category-results-wrap{max-height:500px;overflow:auto;border:1px solid var(--line);border-radius:12px}.category-results-table{width:100%;border-collapse:collapse;min-width:780px}.category-results-table th{position:sticky;top:0;z-index:1;background:#f7f8fb}.category-results-table th,.category-results-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:9px;vertical-align:middle}.category-result-product{display:flex;align-items:center;gap:8px;min-width:260px}.category-result-product img,.category-result-placeholder{width:44px;height:44px;border-radius:8px;border:1px solid var(--line);object-fit:cover;background:#f4f6f9}.category-result-placeholder{display:grid;place-items:center}.category-result-product strong{display:block;font-size:9px;line-height:1.35}.category-result-product small{display:block;color:var(--muted);margin-top:2px}.category-note{margin-top:12px}@media(max-width:700px){.category-import-grid{grid-template-columns:1fr}.category-import-grid .span-2{grid-column:auto}.category-actions{align-items:stretch;flex-direction:column}.category-actions button{width:100%}}
.category-import-grid textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit;resize:vertical;min-height:118px;line-height:1.45}.category-import-grid textarea:focus{border-color:#f0a08f;box-shadow:0 0 0 3px #fff0ec;outline:none}
.category-tree-card{grid-column:span 2}.subcategory-list{margin-top:12px;border-top:1px solid var(--line);display:grid}.subcategory-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.subcategory-row:last-child{border-bottom:0}.subcategory-row strong{display:block;font-size:10px}.subcategory-row span{display:block;font-size:8px;color:var(--muted);margin-top:2px}.subcategory-actions{display:flex;align-items:center;gap:8px}.subcategory-actions b{font-size:10px;background:#f7f8fa;border-radius:999px;padding:4px 7px}.subcategory-actions a{text-decoration:none;font-weight:900;color:var(--accent)}.subcategory-empty{margin-top:12px;padding:10px;border-radius:10px;background:#f7f8fa;color:var(--muted);font-size:9px}
@media(max-width:980px){.category-tree-card{grid-column:span 2}}
@media(max-width:600px){.category-tree-card{grid-column:span 1}}

/* Mapeador Shopee */
.mapper-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px}.mapper-input-row label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800}.mapper-input-row input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font:inherit}.mapper-input-row input:focus{border-color:#f0a08f;box-shadow:0 0 0 3px #fff0ec;outline:none}.mapper-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.mapper-summary>div{border:1px solid var(--line);background:#fafbfc;border-radius:11px;padding:10px}.mapper-summary span{display:block;font-size:8px;color:var(--muted);margin-bottom:4px}.mapper-summary strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapper-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.mapper-help{display:flex;gap:8px;align-items:flex-start;border:1px solid #fed7aa;background:#fff7ed;border-radius:12px;padding:11px 12px;margin-bottom:12px}.mapper-help strong{font-size:9px;white-space:nowrap}.mapper-help span{font-size:9px;line-height:1.45;color:var(--muted)}.mapper-capture{display:grid;gap:3px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:11px;padding:10px 12px;margin-bottom:10px}.mapper-capture strong{font-size:10px;color:#1d4f91}.mapper-capture span{font-size:9px}.mapper-capture small{font-size:8px;color:var(--muted);word-break:break-all}.mapper-list{display:flex;flex-direction:column;gap:7px;max-height:520px;overflow:auto}.mapper-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}.mapper-row>div{min-width:0}.mapper-row strong{display:block;font-size:10px}.mapper-row small,.mapper-row span{display:block;font-size:8px;color:var(--muted);margin-top:2px}.mapper-order{width:24px;height:24px;border-radius:50%;display:grid!important;place-items:center;background:#f3f5f8;color:var(--text)!important;font-size:9px!important;font-weight:900;margin:0!important}.mapper-badges{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.mapper-badges b{font-size:7px;padding:4px 6px;border-radius:999px;background:#edf4ff;color:#2f64a7;white-space:nowrap}.mapper-row-actions a{font-size:8px;font-weight:900;color:var(--accent);text-decoration:none;white-space:nowrap}
@media(max-width:800px){.mapper-input-row{grid-template-columns:1fr}.mapper-input-row>button{width:100%}.mapper-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.mapper-row{grid-template-columns:26px minmax(0,1fr) auto}.mapper-badges{grid-column:2}.mapper-row-actions{grid-column:3;grid-row:1/3}.mapper-help{flex-direction:column}.mapper-actions{align-items:stretch;flex-direction:column}.mapper-actions button{width:100%}}


/* Monitor de importação ao vivo */
.live-import-monitor{border:1px solid #d9e2ef;background:linear-gradient(180deg,#fbfdff,#f7fafc);border-radius:14px;padding:13px 14px;margin:12px 0 14px}.live-import-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-import-title{display:flex;align-items:center;gap:9px}.live-import-title>div{display:grid;gap:2px}.live-import-title strong{font-size:11px}.live-import-title span{font-size:9px;color:var(--muted)}.live-import-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px #eef2f7}.live-import-monitor.running .live-import-dot{background:#22c55e;box-shadow:0 0 0 4px #dcfce7;animation:rbgPulse 1.2s infinite}.live-import-monitor.waiting .live-import-dot{background:#f59e0b;box-shadow:0 0 0 4px #fef3c7}.live-import-monitor.idle .live-import-dot{background:#64748b}.live-import-monitor.error .live-import-dot{background:#ef4444;box-shadow:0 0 0 4px #fee2e2}.live-import-refresh{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8px}.live-import-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.live-import-grid>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 10px;min-width:0}.live-import-grid span,.live-import-grid small{display:block;color:var(--muted);font-size:8px}.live-import-grid strong{display:block;font-size:15px;margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-import-track{height:7px;background:#e8edf4;border-radius:999px;overflow:hidden;margin:10px 0 12px}.live-import-track span{display:block;height:100%;background:#22c55e;border-radius:999px;transition:width .35s ease}.live-import-track span.indeterminate{width:38%!important;animation:rbgTrack 1.5s ease-in-out infinite}.live-import-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.live-import-activity,.live-import-products{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px;min-width:0}.live-import-activity>strong,.live-import-products>strong{display:block;font-size:9px;margin-bottom:7px}.live-activity-row,.live-product-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-top:1px solid #f0f2f5}.live-activity-row:first-child,.live-product-row:first-child{border-top:0}.live-activity-row>div,.live-product-row>div{min-width:0;flex:1}.live-activity-row strong,.live-product-row strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-activity-row small,.live-product-row small,.live-product-row>span{font-size:7px;color:var(--muted)}.live-activity-icon{width:7px;height:7px;border-radius:50%;background:#22c55e;margin-top:4px;flex:0 0 auto}.live-activity-icon.work{background:#f59e0b}.live-activity-icon.bad{background:#ef4444}@keyframes rbgPulse{50%{transform:scale(1.18);opacity:.7}}@keyframes rbgTrack{0%{transform:translateX(-110%)}50%{transform:translateX(130%)}100%{transform:translateX(310%)}}@media(max-width:800px){.live-import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-import-columns{grid-template-columns:1fr}.live-import-head{align-items:flex-start;flex-direction:column}.live-import-refresh{width:100%;justify-content:space-between}}


/* RBG Coletor Mobile / PWA Share Target */
.mobile-collector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.mobile-step{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line,#e5e7eb);border-radius:14px;background:var(--panel,#fff)}
.mobile-step>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#101827;color:#fff;font-weight:800;flex:0 0 auto}
.mobile-step div{display:grid;gap:4px}.mobile-step small{color:var(--muted,#667085);line-height:1.35}
.mobile-share-box{margin:18px 0;padding:16px;border:1px solid #d8dee9;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);display:grid;gap:12px}
.mobile-share-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mobile-share-head>div{display:grid;gap:4px}.mobile-share-head span:not(.pill){color:var(--muted,#667085);font-size:.9rem}
.mobile-share-box label{display:grid;gap:6px;font-weight:650}.mobile-share-box input,.mobile-share-box textarea{width:100%}
.mobile-share-actions{flex-wrap:wrap}
@media(max-width:900px){.mobile-collector-grid{grid-template-columns:1fr 1fr}.mobile-share-actions>*{flex:1 1 45%}}
@media(max-width:560px){.mobile-collector-grid{grid-template-columns:1fr}.mobile-share-head{align-items:flex-start}.mobile-share-actions{display:grid;grid-template-columns:1fr}.mobile-share-actions>*{width:100%}}

/* Regras posteriores preservadas do arquivo publicado */
.category-browser-controls{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;max-width:720px}
.category-browser-controls input{min-width:240px}
.category-browser-controls select{min-width:130px}
.category-monitor-toggle{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:10px;font-weight:800;white-space:nowrap}
.category-monitor-toggle input{width:auto;margin:0;accent-color:var(--accent)}
.category-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.category-summary span{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:9px;color:var(--muted)}
.category-summary strong{color:var(--text);font-size:10px}
.category-browser-help{background:#fff7f4;border:1px solid #f7d8d0;color:#7b4a3e;border-radius:12px;padding:9px 11px;font-size:9px;line-height:1.45;margin-bottom:10px}
.category-tree-browser{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.category-tree-node{background:#fff}
.category-tree-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:62px;padding:9px 12px 9px calc(10px + (var(--level) - 1) * 18px);border-bottom:1px solid var(--line);transition:background .15s,border-color .15s}
.category-tree-row:hover{background:#fafbfc}
.category-tree-row.is-monitored{background:linear-gradient(90deg,#fff4f0 0,#fff 34%);box-shadow:inset 3px 0 var(--accent)}
.category-tree-node.level-1>.category-tree-row{min-height:68px;background-color:#fbfcfe}
.category-tree-toggle{width:28px;height:28px;border:0;border-radius:8px;background:#f1f4f8;color:#4f5b6d;font-weight:950;display:grid;place-items:center;padding:0}
.category-tree-toggle:hover{background:#e7ecf3}
.category-tree-toggle.empty{background:transparent;color:#c5ccd6;cursor:default}
.category-tree-main{min-width:0}
.category-tree-name{border:0;background:transparent;padding:0;text-align:left;color:var(--text);font-size:12px;font-weight:900;max-width:100%}
.category-tree-name:hover{color:var(--accent)}
.category-tree-node.level-1 .category-tree-name{font-size:13px}
.category-tree-meta{display:flex;flex-wrap:wrap;gap:5px 9px;align-items:center;margin-top:5px;color:var(--muted);font-size:8px}
.category-level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:27px;border-radius:999px;padding:3px 6px;background:#edf2f8;color:#536173;font-size:8px;font-weight:950}
.level-1 .category-level-badge{background:#fff0ec;color:#b9432d}
.level-2 .category-level-badge{background:#edf4ff;color:#2f64a7}
.level-3 .category-level-badge{background:#eaf8f1;color:#16845a}
.level-4 .category-level-badge{background:#fff7e4;color:#8b6200}
.level-5 .category-level-badge{background:#f4edff;color:#7048a5}
.category-monitor-state{border-radius:999px;padding:3px 6px;font-weight:850}
.category-monitor-state.on{background:var(--good-bg);color:var(--good)}
.category-monitor-state.off{background:#f1f3f7;color:#737c8a}
.category-tree-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px;color:#8a93a1;font-size:8px}
.category-tree-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.category-monitor-btn{min-width:82px}
.category-monitor-btn:disabled{opacity:.55;cursor:wait}
.category-shopee-link{width:30px;height:30px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;text-decoration:none;color:var(--accent);font-size:13px;font-weight:950;background:#fff}
.category-shopee-link:hover{background:#fff0ec;border-color:#f3b8aa}
.category-no-id{font-size:8px;color:var(--muted);background:#f5f6f8;border-radius:8px;padding:6px 7px}
.category-tree-children{position:relative}
.category-tree-children:before{content:"";position:absolute;left:calc(24px + (var(--level,1) - 1) * 18px);top:0;bottom:0;width:1px;background:#edf0f4}
.category-tree-browser .empty-state{padding:30px}
@media(max-width:1000px){
  .category-browser-toolbar{display:grid;gap:12px}
  .category-browser-controls{justify-content:flex-start;max-width:none}
  .category-browser-controls input{flex:1;min-width:220px}
  .category-tree-row{grid-template-columns:28px minmax(0,1fr);padding-left:calc(8px + (var(--level) - 1) * 12px)}
  .category-tree-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap;padding-bottom:2px}
}
@media(max-width:650px){
  .category-browser-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .category-browser-controls input{grid-column:1/-1;min-width:0;width:100%}
  .category-monitor-toggle{justify-content:center}
  .category-summary{gap:5px}
  .category-summary span{font-size:8px}
  .category-tree-row{padding-right:8px;gap:6px}
  .category-tree-path{max-width:70vw}
  .category-tree-actions .secondary-btn{padding:7px 9px}
}

/* Product catalog cards 2026-09-28 */
.product-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.product-catalog-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;box-shadow:0 4px 16px rgba(24,31,46,.04);transition:transform .15s,border-color .15s,box-shadow .15s}
.product-catalog-card:hover{transform:translateY(-1px);border-color:#d8dde6;box-shadow:0 8px 24px rgba(24,31,46,.07)}
.product-card-visual{border:0;background:#f7f8fa;border-radius:12px;padding:0;width:112px;height:112px;overflow:hidden;cursor:pointer}
.product-thumb.catalog{width:112px;height:112px;border:0;border-radius:12px;object-fit:cover}
.product-card-body{min-width:0;display:flex;flex-direction:column}
.product-card-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}
.product-card-title-wrap{min-width:0;flex:1}
.product-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;border:0;background:transparent;padding:0;text-align:left;font-size:11px;line-height:1.35;font-weight:900;color:var(--text);cursor:pointer}
.product-card-title:hover{color:var(--accent)}
.product-card-id{margin-top:4px;font-size:8px;color:var(--muted)}
.product-card-category{margin-top:7px;padding:6px 8px;background:#f8f9fb;border-radius:8px;font-size:8px;color:#697386;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-card-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}
.product-card-kpis>div{background:#fbfcfd;border:1px solid #eef1f5;border-radius:9px;padding:7px;min-width:0}
.product-card-kpis span{display:block;font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:800;margin-bottom:3px}
.product-card-kpis strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-card-kpis small{display:block;font-size:7px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-fresh-text.fresh{color:var(--good)}
.product-fresh-text.stale{color:var(--warn)}
.product-fresh-text.unknown{color:var(--muted)}
.product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:9px}
.product-compare-toggle{display:flex;align-items:center;gap:6px;font-size:8px;color:var(--muted);font-weight:800;white-space:nowrap}
.product-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.product-card-actions a{text-decoration:none}
.product-result-toolbar{margin-top:10px}
@media(max-width:1180px){.product-catalog-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .product-catalog-card{grid-template-columns:82px minmax(0,1fr);padding:10px;gap:10px}
  .product-card-visual,.product-thumb.catalog{width:82px;height:82px}
  .product-card-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-card-footer{grid-column:1/-1;align-items:flex-start;flex-direction:column}
  .product-card-actions{width:100%;justify-content:flex-start}
  .product-card-actions .primary-btn{margin-left:auto}
}



/* RBG HOTFIX 2026-10-02 - tamanhos das imagens SOMENTE no painel interno */
html body.app-shell img.product-thumb,
html body.app-shell .product-thumb{
  display:block!important;
  object-fit:cover!important;
  flex:0 0 auto!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
html body.app-shell img.product-thumb.mini,
html body.app-shell .product-thumb.mini{
  width:38px!important;height:38px!important;
  min-width:38px!important;min-height:38px!important;
  max-width:38px!important;max-height:38px!important;
  border-radius:9px!important;
}
html body.app-shell img.product-thumb.table,
html body.app-shell .product-thumb.table{
  width:42px!important;height:42px!important;
  min-width:42px!important;min-height:42px!important;
  max-width:42px!important;max-height:42px!important;
  border-radius:9px!important;
}
html body.app-shell img.product-thumb.opportunity,
html body.app-shell .product-thumb.opportunity{
  width:56px!important;height:56px!important;
  min-width:56px!important;min-height:56px!important;
  max-width:56px!important;max-height:56px!important;
  border-radius:10px!important;
}
html body.app-shell img.product-thumb.detail,
html body.app-shell .product-thumb.detail{
  width:88px!important;height:88px!important;
  min-width:88px!important;min-height:88px!important;
  max-width:88px!important;max-height:88px!important;
  border-radius:12px!important;
}
html body.app-shell img.product-thumb.catalog,
html body.app-shell .product-thumb.catalog{
  width:112px!important;height:112px!important;
  min-width:112px!important;min-height:112px!important;
  max-width:112px!important;max-height:112px!important;
  border-radius:12px!important;
}
html body.app-shell .product-card-visual{
  width:112px!important;height:112px!important;
  min-width:112px!important;min-height:112px!important;
  max-width:112px!important;max-height:112px!important;
  padding:0!important;overflow:hidden!important;
}
html body.app-shell .product-card-visual img{
  width:112px!important;height:112px!important;
  min-width:112px!important;min-height:112px!important;
  max-width:112px!important;max-height:112px!important;
  object-fit:cover!important;
}
html body.app-shell .product-main-cell,
html body.app-shell .product-title-row,
html body.app-shell .opportunity-heading-row,
html body.app-shell .detail-product-title{
  min-width:0!important;
}
@media(max-width:700px){
  html body.app-shell img.product-thumb.detail,
  html body.app-shell .product-thumb.detail{
    width:72px!important;height:72px!important;
    min-width:72px!important;min-height:72px!important;
    max-width:72px!important;max-height:72px!important;
  }
  html body.app-shell img.product-thumb.opportunity,
  html body.app-shell .product-thumb.opportunity{
    width:48px!important;height:48px!important;
    min-width:48px!important;min-height:48px!important;
    max-width:48px!important;max-height:48px!important;
  }
html body.app-shell .product-card-visual,
  html body.app-shell .product-card-visual img,
  html body.app-shell img.product-thumb.catalog,
  html body.app-shell .product-thumb.catalog{
    width:82px!important;height:82px!important;
    min-width:82px!important;min-height:82px!important;
    max-width:82px!important;max-height:82px!important;
  }
}

/* Ajustes de estrutura para telas pequenas; as cores vêm do tema atual. */
@media(max-width:700px){
  body.app-shell .content,body.app-shell .view,body.app-shell .panel{min-width:0;max-width:100%}
  body.app-shell .collector-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.app-shell .collector-tab{flex:0 0 auto}
  body.app-shell .collector-panel{min-width:0}
  body.app-shell .mobile-collector-grid,body.app-shell .form-grid,
  body.app-shell .category-import-grid,body.app-shell .mapper-summary,
  body.app-shell .live-import-grid,body.app-shell .live-import-columns{grid-template-columns:minmax(0,1fr)}
  body.app-shell .form-grid .span-2,body.app-shell .category-import-grid .span-2{grid-column:auto}
  body.app-shell .mobile-share-box,body.app-shell .live-import-monitor{min-width:0}
  body.app-shell .mobile-share-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  body.app-shell .mobile-share-actions>*{width:100%}
  body.app-shell .product-catalog-grid,body.app-shell .dashboard-grid,
  body.app-shell .category-grid,body.app-shell .video-grid{grid-template-columns:minmax(0,1fr)}
  body.app-shell .product-catalog-card{min-width:0;grid-template-columns:82px minmax(0,1fr)}
  body.app-shell .product-card-body,body.app-shell .product-card-head{min-width:0}
  body.app-shell .product-card-kpis,body.app-shell .opportunity-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.app-shell .category-results-wrap,body.app-shell .table-wrap{max-width:100%;overflow-x:auto}
}

/* Cada guia do Coletor possui uma tela exclusiva. Aplica-se também no celular. */
html body.app-shell #view-collector .collector-panel{display:none!important}
html body.app-shell #view-collector .collector-panel.active{display:block!important}

/* Mapeador: caixas do monitor no mesmo tema escuro do painel. */
html body.app-shell #collector-mapper .live-import-grid>div,
html body.app-shell #collector-mapper .live-import-activity,
html body.app-shell #collector-mapper .live-import-products{
  background:#171c23;
  border-color:#242b35;
  color:#f4f7fb;
}
html body.app-shell #collector-mapper .mapper-help,
html body.app-shell #collector-mapper .mapper-capture{
  background:#171c23;
  border-color:#242b35;
  color:#f4f7fb;
}
html body.app-shell #collector-mapper .mapper-help span,
html body.app-shell #collector-mapper .mapper-capture small,
html body.app-shell #collector-mapper .live-import-grid span,
html body.app-shell #collector-mapper .live-import-grid small,
html body.app-shell #collector-mapper .live-activity-row small,
html body.app-shell #collector-mapper .live-product-row small{
  color:#a5afbf;
}

/* Superfícies do Coletor, catálogo e categorias no tema escuro existente. */
html body.app-shell #view-collector .mobile-share-box,
html body.app-shell #view-collector .product-preview-card{
  background:#171c23;
  background-image:none;
  border-color:#242b35;
  color:#f4f7fb;
}
html body.app-shell #view-collector .bulk-helper,
html body.app-shell #view-collector .bulk-item,
html body.app-shell #view-collector .category-check,
html body.app-shell #view-collector .product-preview-kpis>div,
html body.app-shell #view-collector .auto-detected-grid span{
  background:#171c23;
  border-color:#242b35;
  color:#f4f7fb;
}
html body.app-shell #view-collector .product-preview-image-wrap,
html body.app-shell #view-collector .bulk-order{
  background:#10141a;
  border-color:#242b35;
  color:#f4f7fb;
}
html body.app-shell #view-collector .category-results-table th,
html body.app-shell #view-collector .category-results-table td{
  background:#171c23;
  border-color:#242b35;
  color:#a5afbf;
}
html body.app-shell #view-collector .category-results-table td{color:#f4f7fb}
html body.app-shell #view-collector .bulk-helper span,
html body.app-shell #view-collector .bulk-item small,
html body.app-shell #view-collector .product-preview-kpis span,
html body.app-shell #view-collector .auto-detected-grid span{
  color:#a5afbf;
}
html body.app-shell #view-collector .auto-detected-grid strong{color:#f4f7fb}
html body.app-shell #view-categories .category-browser-help,
html body.app-shell #view-categories .category-tree-browser,
html body.app-shell #view-categories .category-tree-node,
html body.app-shell #view-categories .category-tree-row,
html body.app-shell #view-categories .category-monitor-toggle,
html body.app-shell #view-categories .category-summary span{
  background:#171c23;
  border-color:#242b35;
  color:#f4f7fb;
}
html body.app-shell #view-categories .category-tree-row:hover,
html body.app-shell #view-categories .category-tree-row.is-monitored,
html body.app-shell #view-categories .category-tree-node.level-1>.category-tree-row{
  background:#1d242d;
}
html body.app-shell #view-products .product-catalog-card,
html body.app-shell #view-products .product-card-category,
html body.app-shell #view-products .product-card-kpis>div,
html body.app-shell #view-products .product-card-visual{
  background:#171c23;
  border-color:#242b35;
  color:#f4f7fb;
}
html body.app-shell #view-products .product-card-kpis span,
html body.app-shell #view-products .product-card-category{color:#a5afbf}
