:root{--bg:#f4f9f8;--paper:#fff;--ink:#18312f;--muted:#6b7f7b;--line:#dcebe7;--navy:#fff;--blue:#287f8c;--orange:#ffb45a;--green:#2b9272;--amber:#a66b22;--mint:#e7f6f1;--sky:#eaf5fb}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
a{color:inherit;text-decoration:none}
.eyebrow{margin:0 0 8px;color:#71818d;font-size:11px;font-weight:800;letter-spacing:.16em}
.portal-login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#102735 0 48%,#edf1f3 48%)}
.login-shell{width:min(980px,calc(100% - 40px));min-height:590px;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 28px 80px #06141d55}
.login-story{padding:76px 68px;color:#fff;background:radial-gradient(circle at 80% 10%,#28536a 0,transparent 32%),#142b3b}
.brand-mark,.ops-brand>span{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--orange);color:#17212b;font-size:22px;font-weight:900}
.login-story .eyebrow{margin-top:52px;color:#9cb1bd}
.login-story h1{max-width:430px;margin:0;font-size:42px;line-height:1.14}
.login-story>p:not(.eyebrow){max-width:430px;color:#b9c7ce;font-size:16px}
.login-story ul{margin:44px 0 0;padding:0;display:grid;gap:13px;list-style:none;color:#d8e0e4}
.login-story li:before{content:"✓";margin-right:10px;color:var(--orange);font-weight:900}
.login-card{align-self:center;padding:52px}
.login-kicker{color:var(--blue);font-size:12px;font-weight:800}
.login-card h2{margin:10px 0 4px;font-size:30px}
.login-card>p{margin:0 0 28px;color:var(--muted)}
.feishu-login{height:58px;padding:0 18px;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;border:1px solid #cfd7dc;border-radius:10px;background:#fff}
.feishu-login>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#3370ff;color:#fff;font-weight:900}
.feishu-login em{font-size:24px;font-style:normal}
.feishu-login.disabled{pointer-events:none;opacity:.5}
.login-note{display:block;margin-top:14px;color:var(--amber)}
.login-card form{margin-top:22px}
.login-card button{width:100%;height:44px;border:0;border-radius:8px;background:#e8edf0;color:#233744;font-weight:750;cursor:pointer}
.message-card{width:min(460px,calc(100% - 32px));padding:44px;border-radius:16px;background:#fff;box-shadow:0 20px 60px #06141d40}
.message-card p{color:var(--muted)}
.message-card a{color:var(--blue);font-weight:700}
.ops-body{min-width:1180px;padding-left:258px;background:radial-gradient(circle at 8% 0,#e7f7f2 0,transparent 26%),radial-gradient(circle at 96% 10%,#eaf5fb 0,transparent 27%),var(--bg)}
.portal-nav-toggle{position:fixed;opacity:0;pointer-events:none}
.portal-sidebar{width:258px;padding:22px 16px 16px;position:fixed;inset:0 auto 0 0;z-index:50;display:flex;flex-direction:column;color:#e8f5f0;background:linear-gradient(180deg,#173d36,#102f2b);box-shadow:10px 0 30px #183b3320}
.portal-sidebar-brand{padding:0 7px 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #ffffff17}.portal-sidebar-brand>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#153a32;background:#c8ed71;font-size:20px;font-weight:900}.portal-sidebar-brand div{display:grid}.portal-sidebar-brand b{font-size:13px}.portal-sidebar-brand small{color:#9dbbb2;font-size:10px}
.portal-sidebar section{margin-top:22px}.portal-sidebar section>p{margin:0 9px 8px;color:#8eafa6;font-size:10px;font-weight:800;letter-spacing:.13em}.portal-sidebar section>p em{float:right;padding:2px 6px;border-radius:10px;color:#cbe8df;background:#ffffff12;font-size:9px;font-style:normal;letter-spacing:0}
.portal-sidebar nav{display:grid;gap:3px}.portal-sidebar nav a{min-height:42px;padding:6px 9px;display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;border-radius:10px;color:#bad1ca;transition:.16s ease}.portal-sidebar nav a:hover{color:#fff;background:#ffffff0c}.portal-sidebar nav a.active{color:#173d36;background:#dff4b4;font-weight:800;box-shadow:0 6px 18px #071b1726}.portal-sidebar nav i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:inherit;background:#ffffff0d;font-size:10px;font-style:normal;font-weight:800}.portal-sidebar nav a.active i{background:#bddf7d}
.portal-admin-nav{padding-top:18px;border-top:1px solid #ffffff17}.portal-sidebar footer{margin-top:auto;padding:15px 8px 4px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff17}.portal-sidebar footer div{display:grid}.portal-sidebar footer small{color:#8eafa6;font-size:10px}.portal-sidebar footer>a{color:#d9b582;font-size:12px}.portal-nav-button,.portal-nav-close,.portal-nav-backdrop{display:none}
.ops-topbar .ops-brand,.ops-topbar nav{display:none}.ops-topbar{gap:10px}.ops-page{width:100%}
.ops-topbar{height:68px;padding:0 28px;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:40px;color:var(--ink);background:#ffffffeb;border-bottom:1px solid #dfeeea;box-shadow:0 4px 18px #326b6010;backdrop-filter:blur(14px)}
.ops-brand{display:flex;align-items:center;gap:11px}
.ops-brand>span{width:34px;height:34px;border-radius:8px;font-size:18px}
.ops-brand div{display:grid}
.ops-brand small{color:#829691;font-size:10px;letter-spacing:.08em}
.ops-topbar nav{display:flex;gap:4px}
.ops-topbar nav a{padding:9px 12px;border-radius:9px;color:#647b76;transition:.18s ease}
.ops-topbar nav a:hover{color:#217a6a;background:#e9f7f2}
.ops-user{margin-left:auto;display:grid;grid-template-columns:auto auto;column-gap:10px}
.ops-user>span{font-weight:700}
.ops-user small{color:#8a9d99}
.ops-user a{grid-column:2;grid-row:1/3;align-self:center;color:#b8782c}
.ops-page{max-width:1680px;margin:auto;padding:24px 28px 70px}
.ops-hero{min-height:152px;padding:30px 32px;display:grid;grid-template-columns:1.2fr .9fr auto;gap:30px;align-items:center;border:1px solid #d5ebe5;border-radius:18px;color:var(--ink);background:linear-gradient(120deg,#f7fffc 0%,#eaf8f3 48%,#edf7fc 100%);box-shadow:0 12px 36px #3a7b6f12}
.ops-hero h1{margin:0;font-size:30px}
.ops-hero>div>p:last-child{margin:5px 0 0;color:#6f8580}
.hero-status{padding:15px 17px;display:grid;grid-template-columns:12px 1fr;column-gap:10px;border:1px solid #d1e9e3;border-radius:12px;background:#ffffffb8}
.hero-status i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#e6a23c;box-shadow:0 0 0 5px #e6a23c22}
.hero-status span{font-weight:800}
.hero-status small{grid-column:2;color:#78908b}
.hero-time{padding-left:28px;border-left:1px solid #cde2dd;display:grid}
.hero-time span,.hero-time small{color:#7b908b}
.hero-time b{font-size:27px}
.kpi-grid{margin:14px 0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.kpi-grid article,.health-grid article{padding:19px;border:1px solid var(--line);border-radius:14px;background:#ffffffd9;box-shadow:0 5px 18px #3c756a0a;transition:transform .18s ease,box-shadow .18s ease}
.kpi-grid article:hover,.health-grid article:hover{transform:translateY(-2px);box-shadow:0 9px 24px #3c756a14}
.kpi-grid span,.health-grid span{display:block;color:var(--muted);font-size:12px}
.kpi-grid b{display:block;margin:3px 0;font-size:25px}
.kpi-grid small,.health-grid small{color:#8a969e}
.kpi-grid .accent{border-color:#f1d9ad;background:#fffaf0}
.ops-panel{margin-top:14px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#ffffffdf;box-shadow:0 7px 25px #326b600b}
.ops-panel>header{margin-bottom:18px;display:flex;justify-content:space-between}
.ops-panel>header>div{display:grid;grid-template-columns:35px auto;column-gap:9px}
.section-no{grid-row:1/3;margin:2px 0;color:#aab4ba;font-size:12px;font-weight:800}
.ops-panel h2{margin:0;font-size:19px}
.ops-panel header span{color:var(--muted);font-size:12px}
.read-only{height:25px;padding:4px 9px;border-radius:12px;color:#276847!important;background:#e8f6ee}
.table-scroll{overflow:auto}
table{width:100%;border-collapse:collapse}
th{padding:11px;text-align:right;color:#718681;border-bottom:1px solid var(--line);background:#f7fbfa;font-size:11px;white-space:nowrap}
td{padding:13px 11px;text-align:right;border-bottom:1px solid #edf4f2;white-space:nowrap}
tbody tr{transition:background .15s ease}
tbody tr:hover{background:#f4fbf8}
th:first-child,td:first-child{text-align:left}
td:first-child b,td:first-child small{display:block}
td:first-child small{color:#88949c}
.disabled-row{color:#9baaa6;background:#fafcfb}
.status-pill{padding:4px 8px;border-radius:12px;font-size:11px}
.status-pill.running{color:#1f7450;background:#e5f5ec}
.status-pill.disabled{color:#7a848a;background:#edf0f2}
.ops-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.empty-state{min-height:210px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}
.empty-state i{width:48px;height:48px;display:grid;place-items:center;border:1px dashed #8fc5b8;border-radius:50%;color:#2a8a73;background:#effaf6;font-style:normal}
.empty-state b{margin-top:12px;color:#354752}
.quality-list{display:grid;gap:10px}
.quality-list div{padding:12px 14px;display:flex;justify-content:space-between;border-radius:10px;background:#f2f9f7}
.alert-panel{border-color:#f0d6ad;background:#fffdf8}
.alert-panel .quality-list div{background:#fff7e9;color:#835a28}
.health-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.health-grid article b{display:block;margin:7px 0 2px;font-size:18px}
.module-heading{margin:30px 0 14px;padding:20px 24px;display:flex;align-items:center;gap:16px;border-radius:18px;border:1px solid;box-shadow:0 10px 30px #315f5910}
.module-heading>span{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;font-size:15px;font-weight:800;background:#fff}
.module-heading p{margin:0 0 2px;font-size:10px;font-weight:800;letter-spacing:.14em}
.module-heading h1{margin:0;font-size:24px;letter-spacing:-.02em}
.module-heading small{color:#6f827e}
.crawler-heading{margin-top:0;border-color:#cce9df;background:linear-gradient(115deg,#edfbf6,#f8fffc)}
.crawler-heading>span{color:#20836e;box-shadow:0 5px 16px #20836e18}.crawler-heading p{color:#31917d}
.redis-heading{margin-top:34px;border-color:#cfe1f1;background:linear-gradient(115deg,#eef7ff,#f7fbff)}
.redis-heading>span{color:#3978a6;box-shadow:0 5px 16px #3978a618}.redis-heading p{color:#4b88b4}
.maintenance-heading{margin-top:34px;border-color:#e6ddc5;background:linear-gradient(115deg,#fffaf0,#fffef9)}
.maintenance-heading>span{color:#9a6e2f;box-shadow:0 5px 16px #9a6e2f18}.maintenance-heading p{color:#a67b3d}
.crawler-panel{border-color:#d6ebe5}.redis-panel{border-color:#d6e5f1;background:linear-gradient(180deg,#fbfdff,#fff)}
.maintenance-panel{border-color:#e9e0cb;background:linear-gradient(180deg,#fffefa,#fff)}
.maintenance-panel .section-no{color:#a57c42}.maintenance-notice{margin:10px 0;padding:13px 16px;border:1px solid #e8d7aa;border-radius:12px;color:#72511f;background:#fff8e7}
.maintenance-actionbar{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.maintenance-actionbar form{margin:0;display:flex;align-items:center;gap:9px}.maintenance-actionbar input{width:120px;padding:8px;border:1px solid #d7d8d2;border-radius:8px}.maintenance-actionbar button,.maintenance-panel header button{min-height:38px;padding:7px 12px;border:1px solid #d8c69e;border-radius:8px;background:#fff8e8;color:#70501d;font-weight:700}.maintenance-panel button:disabled{cursor:not-allowed;opacity:.55}
.maintenance-empty{text-align:center!important;color:#82908d}.disabled-actions{display:flex;gap:6px}.scheduling-list{grid-template-columns:repeat(4,1fr)}
.run-control-panel{border-top:4px solid #4f8fda}.run-date-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.run-date-strip div{padding:13px 15px;border-radius:13px;background:#f2f7fd;border:1px solid #dce9f8}.run-date-strip span,.run-date-strip b{display:block}.run-date-strip span{font-size:12px;color:#708195;margin-bottom:5px}.run-timeline{display:grid;grid-template-columns:repeat(8,minmax(145px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.timeline-step{display:flex;gap:9px;padding:13px 11px;border:1px solid #e3eaf1;border-radius:14px;background:#fbfcfd;min-height:132px}.timeline-dot{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:grid;place-items:center;background:#dce7f4;color:#376189;font-weight:800}.timeline-step span,.timeline-step b,.timeline-step small,.timeline-step em,.timeline-step code{display:block}.timeline-step span{font-size:12px;color:#708195}.timeline-step b{font-size:15px;margin:3px 0 7px}.timeline-step small{font-size:10px;color:#84919e;line-height:1.55}.timeline-step em{margin-top:5px;color:#c45b3f;font-size:11px;font-style:normal}.timeline-step code{margin-top:5px;font-size:9px;color:#a34c38;white-space:normal}.state-completed{background:#f0faf6;border-color:#ccecdf}.state-completed .timeline-dot{background:#35a477;color:#fff}.state-running{background:#fffaf0;border-color:#f0dfb5}.state-running .timeline-dot{background:#daa33a;color:#fff}.state-abnormal{background:#fff3f0;border-color:#f0cec5}.state-abnormal .timeline-dot{background:#d4664c;color:#fff}.reconciliation-panel{border-top:3px solid #85a9d2}.status-pill.warning{color:#9a5d14;background:#fff1cf}
.wizard-flow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.wizard-flow div{min-height:105px;padding:13px;border:1px solid #eadfc7;border-radius:12px;background:#fffaf0}.wizard-flow span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#7b5722;background:#f4e2bb;font-weight:800}.wizard-flow b,.wizard-flow small{display:block;margin-top:8px}.wizard-flow small{color:#71847e}.safety-note{margin:13px 0 0;padding:11px 13px;border-radius:9px;color:#715525;background:#fff7e5}
.redis-panel .section-no{color:#4a83ad}.redis-panel .quality-list div{background:#f1f7fc}
.quality-list.quality-six{grid-template-columns:repeat(6,1fr)}
.quality-list.quality-six div{display:block}.quality-list.quality-six b{display:block;margin-top:6px;font-size:18px;color:#244d45}
@media(max-width:900px){.portal-login{background:#edf1f3}
.login-shell{grid-template-columns:1fr}
.login-story{display:none}
.login-card{padding:40px}
.ops-body{min-width:0}
.ops-topbar{padding:0 15px}
.ops-topbar nav{display:none}
.ops-page{padding:15px}
.ops-hero{grid-template-columns:1fr}
.hero-time{display:none}
.kpi-grid{grid-template-columns:repeat(2,1fr)}
.ops-columns{grid-template-columns:1fr}
.health-grid{grid-template-columns:repeat(2,1fr)}
}
.ops-hero.compact{min-height:126px;grid-template-columns:1.25fr .75fr}
.kpi-grid.four{grid-template-columns:repeat(4,1fr)}
.inline-form{margin:0}
.inline-form button{padding:7px 11px;border:1px solid #c9d4da;border-radius:6px;color:#274553;background:#fff;cursor:pointer}
.locked{color:#87949b}
.query-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;color:#687581}
.acceptance-panel{border-top:3px solid #63a887}.verdict{padding:6px 11px;border-radius:999px;font-size:12px;font-weight:800;background:#eef3f1;color:#64736e}.verdict-通过{background:#e3f6ed;color:#23775a}.verdict-警告{background:#fff1cf;color:#9a5d14}.verdict-失败{background:#ffe5df;color:#aa4933}
@media(max-width:900px){.kpi-grid.four{grid-template-columns:repeat(2,1fr)}.ops-hero.compact{grid-template-columns:1fr}}
@media(max-width:900px){.quality-list.quality-six{grid-template-columns:repeat(2,1fr)}.module-heading{padding:17px}.module-heading h1{font-size:21px}}
@media(max-width:600px){
body{font-size:13px}
.portal-login{display:block;padding:16px;background:linear-gradient(180deg,#eef8f5,#edf3f7)}
.login-shell{width:100%;min-height:calc(100vh - 32px);display:block;border-radius:18px}
.login-card{padding:36px 22px}.login-card h2{font-size:26px}.feishu-login{height:56px;padding:0 13px}
.ops-topbar{height:58px;gap:10px}.ops-brand>span{width:32px;height:32px}.ops-brand b{font-size:13px}.ops-brand small{display:none}
.ops-user{column-gap:7px;font-size:12px}.ops-user small{display:none}.ops-user a{grid-row:1;align-self:auto}
.ops-page{padding:12px 10px 48px}.module-heading{margin:20px 0 10px;padding:14px;border-radius:15px;gap:12px}
.module-heading>span{width:40px;height:40px;border-radius:12px}.module-heading h1{font-size:19px}.module-heading small{font-size:11px}
.ops-hero{min-height:0;padding:20px 17px;gap:14px;border-radius:15px}.ops-hero h1{font-size:24px}.hero-status{padding:12px}
.kpi-grid,.kpi-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kpi-grid article,.health-grid article{padding:14px 12px}.kpi-grid b{font-size:21px}.kpi-grid small,.health-grid small{font-size:10px}
.ops-panel{margin-top:10px;padding:16px 12px;border-radius:14px}.ops-panel>header{margin-bottom:12px;gap:8px}.ops-panel>header>div{grid-template-columns:25px auto}
.ops-panel h2{font-size:17px}.read-only{white-space:nowrap}.health-grid{gap:8px}.health-grid article b{font-size:16px}
.quality-list.quality-six{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.quality-list div{padding:10px;gap:8px}.quality-list.quality-six b{font-size:16px}
.table-scroll,.ops-panel>table{width:100%;display:block;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border-radius:10px}
.table-scroll table,.ops-panel>table{min-width:720px}.table-scroll th,.table-scroll td,.ops-panel>table th,.ops-panel>table td{padding:10px 9px}
.inline-form button{min-height:44px}.message-card{padding:28px 22px}
.maintenance-actionbar{align-items:stretch;flex-direction:column}.maintenance-actionbar form{align-items:stretch;flex-direction:column}.maintenance-actionbar input{width:100%;min-height:44px}.maintenance-actionbar button,.maintenance-panel header button{min-height:44px}.disabled-actions{flex-wrap:wrap}.scheduling-list{grid-template-columns:1fr}.wizard-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
.run-date-strip{grid-template-columns:1fr}.run-timeline{grid-template-columns:repeat(8,165px);margin-right:-12px}.timeline-step{min-height:142px}.reconciliation-panel table{min-width:1180px}
}

/* Business market analysis */
.market-body{background:radial-gradient(circle at 10% 0,#dff6ec 0,transparent 28%),radial-gradient(circle at 92% 5%,#eef4d8 0,transparent 24%),#f5f8f2}
.market-page{max-width:1460px}
.ops-topbar nav a.active{color:#166f5b;background:#e5f5ef}
.market-hero,.market-detail-hero{min-height:230px;padding:44px 48px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;border:1px solid #cae4d8;border-radius:24px;background:linear-gradient(125deg,#f7fffb 0%,#e5f5ed 55%,#f2f4d8 100%);box-shadow:0 18px 48px #315e4f16}
.market-hero h1,.market-detail-hero h1{max-width:720px;margin:0;font-size:40px;line-height:1.12;letter-spacing:-.035em}
.market-hero>div>p:last-child,.market-detail-hero>div>p:last-child{max-width:720px;margin:12px 0 0;color:#657b73;font-size:16px}
.market-hero-score,.detail-score{min-width:160px;padding:24px;text-align:center;border:1px solid #cbe2d8;border-radius:20px;background:#ffffffb8;box-shadow:0 10px 26px #3b74611a}
.market-hero-score span,.market-hero-score small,.detail-score span,.detail-score small{display:block;color:#6f817b}
.market-hero-score b{display:block;margin:5px 0;font-size:28px}.detail-score b{display:block;color:#20755f;font-size:54px;line-height:1.05}
.market-toolbar{margin:16px 0 10px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#ffffffd9}
.country-tabs{display:flex;gap:7px;overflow:auto}.country-tabs a{padding:8px 12px;border-radius:10px;color:#657c75;white-space:nowrap}.country-tabs a.active{color:#166f5b;background:#e5f5ef;font-weight:800}.country-tabs small{margin-left:4px;color:#879993}
.market-kpis{margin:12px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.market-kpis.detail-kpis{grid-template-columns:repeat(5,1fr)}
.market-kpis article{padding:20px;border:1px solid var(--line);border-radius:15px;background:#ffffffdf}.market-kpis span,.market-kpis small{display:block;color:var(--muted)}.market-kpis b{display:block;margin:4px 0;color:#24483f;font-size:25px}
.opportunity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.opportunity-card{padding:18px;border:1px solid #d8e9e2;border-radius:15px;background:linear-gradient(150deg,#fbfffd,#f2f8f0);transition:.18s ease}.opportunity-card:hover{transform:translateY(-2px);border-color:#9bcab9;box-shadow:0 10px 24px #315f5114}.opportunity-top{display:flex;align-items:center;justify-content:space-between;color:#62776f}.opportunity-top b{color:#20755f;font-size:28px}.opportunity-card h3{margin:4px 0 12px}.signal-line{height:7px;overflow:hidden;border-radius:9px;background:#dfeae5}.signal-line i{height:100%;display:block;border-radius:9px;background:linear-gradient(90deg,#2d9276,#8dbb5f)}.opportunity-meta{margin:10px 0 4px;display:flex;justify-content:space-between;color:#536e65;font-size:12px}.opportunity-card small{color:#83928d}
.market-table-panel table{min-width:1260px}.market-table-panel td small{display:block;color:#87968f}.score-pill{display:inline-block;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:800}.score-high{color:#197157;background:#dff4ea}.score-mid{color:#8b661f;background:#fff2cf}.score-low{color:#985248;background:#fde8e3}.market-mobile-list{display:none}
.market-empty{min-height:320px;display:grid;place-items:center;align-content:center;text-align:center}.market-empty p{max-width:520px;color:var(--muted)}.market-empty a{color:var(--green);font-weight:800}
.score-method-summary{margin:12px 0;padding:0;overflow:hidden}.score-method-summary summary{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}.score-method-summary summary::-webkit-details-marker{display:none}.score-method-summary summary span,.score-method-summary summary small{display:block}.score-method-summary summary small{margin-top:3px;color:var(--muted);font-weight:400}.score-method-summary summary i{color:var(--green);font-style:normal;font-weight:800}.score-method-summary[open] summary{border-bottom:1px solid var(--line)}.score-method-summary>div{padding:18px 24px;color:#526a62}.score-method-summary p{margin-top:0}.score-method-summary li{margin:7px 0}.score-pill{cursor:pointer}.detail-score{color:inherit}.score-explanation{scroll-margin-top:20px}.score-formula{padding:18px;border-radius:14px;background:#eff8f3}.score-formula code{display:block;color:#176b55;font-size:16px;font-weight:800;white-space:normal}.score-factor-grid{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.score-factor-grid article{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.score-factor-grid span,.score-factor-grid small{display:block;color:var(--muted)}.score-factor-grid b{display:block;margin:4px 0;color:#20755f;font-size:24px}.score-caveat{margin:14px 0 0;color:#6e7d78;font-size:12px}
.availability-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.availability-grid article{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fbfefc}.availability-grid span,.availability-grid small{display:block;color:var(--muted)}.availability-grid b{display:block;margin:3px 0;color:#24483f;font-size:24px}.availability-grid article>div{height:6px;margin:10px 0 7px;overflow:hidden;border-radius:8px;background:#dfebe6}.availability-grid article>div i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#2d9276,#8dbb5f)}.availability-grid p{margin:0;color:#8a6a35;font-size:11px}.availability-note{margin:12px 0 0;color:var(--muted);font-size:12px}
.business-body{background:radial-gradient(circle at 12% 0,#dff5eb 0,transparent 26%),radial-gradient(circle at 88% 3%,#f4f1d8 0,transparent 24%),#f6f8f3}.business-page{max-width:1460px}.ops-topbar nav span{padding:7px 3px;color:#a1aaa6;white-space:nowrap}.business-hero{min-height:310px;padding:48px;display:grid;grid-template-columns:1fr 230px;gap:50px;align-items:center;border:1px solid #cfe5da;border-radius:26px;background:linear-gradient(128deg,#fafffc 0%,#e6f5ed 55%,#f5f2d9 100%);box-shadow:0 20px 54px #315e4f17}.business-hero h1{max-width:800px;margin:0;font-size:46px;line-height:1.08;letter-spacing:-.045em}.business-hero>div>p:last-of-type{max-width:760px;margin:15px 0;color:#60766e;font-size:16px}.business-hero aside{padding:28px 20px;text-align:center;border:1px solid #c9e0d4;border-radius:20px;background:#ffffffb8}.business-hero aside span,.business-hero aside small{display:block;color:var(--muted)}.business-hero aside b{display:block;margin:8px 0;color:#23735e;font-size:34px}.hero-actions{margin-top:24px;display:flex;align-items:center;gap:16px}.hero-actions a{padding:11px 18px;border-radius:11px;color:#fff;background:#24775f;font-weight:800}.hero-actions span{color:#72857e;font-size:12px}.business-kpis{margin:12px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.business-kpis article{padding:20px;border:1px solid var(--line);border-radius:15px;background:#ffffffdf}.business-kpis span,.business-kpis small{display:block;color:var(--muted)}.business-kpis b{display:block;margin:3px 0;color:#24483f;font-size:27px}.business-section{margin-top:12px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#ffffffea}.business-section>header{margin-bottom:14px;display:flex;justify-content:space-between;align-items:center}.business-section>header h2{margin:0}.business-section>header span{color:var(--muted)}.section-link{color:#237861;font-weight:800}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.module-card{min-height:190px;padding:19px;display:flex;flex-direction:column;border:1px solid #dbe9e3;border-radius:15px;background:#fbfdfb}.module-card.available{background:linear-gradient(145deg,#effaf5,#f8fae9);border-color:#acd4c3}.module-card>div{display:flex;justify-content:space-between;color:#769087;font-size:11px;font-weight:800;letter-spacing:.08em}.module-card i{padding:3px 7px;border-radius:20px;background:#eef2ef;font-style:normal;letter-spacing:0}.module-card.available i{color:#176e56;background:#d9f1e6}.module-card h3{margin:22px 0 5px;font-size:21px}.module-card p{margin:0;color:#657a72}.module-card small{margin-top:auto;color:#7d8e88}.home-market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.home-market-grid>a{padding:17px;border:1px solid #dceae4;border-radius:14px;background:#fbfefc}.home-market-grid span,.home-market-grid p{color:var(--muted)}.home-market-grid h3{margin:4px 0 14px}.home-market-grid>a>div{display:flex;align-items:baseline;gap:8px}.home-market-grid b{color:#20755f;font-size:30px}.home-market-grid p{margin:6px 0 0;font-size:12px}.data-foundation>div{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.data-foundation article{padding:15px;border-radius:12px;background:#f2f7f4}.data-foundation span,.data-foundation small{display:block;color:var(--muted)}.data-foundation b{display:block;margin:3px 0;color:#24483f;font-size:23px}
.daily-issues-entry{margin:12px 0;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;border:1px solid #b9dacd;border-radius:15px;background:linear-gradient(100deg,#edf9f4,#f8fae9)}.daily-issues-entry span,.daily-issues-entry small{display:block}.daily-issues-entry small{color:var(--muted);font-weight:400}.daily-issues-entry i{color:#237861;font-style:normal;font-weight:800}.issue-hero{padding:34px 40px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;border:1px solid #cee3d9;border-radius:22px;background:linear-gradient(125deg,#f7fffb,#e8f5ee)}.issue-hero h1{margin:0;font-size:36px}.issue-hero p:last-child{color:var(--muted)}.issue-hero aside{min-width:180px;padding:20px;text-align:center;border:1px solid var(--line);border-radius:16px;background:#fff}.issue-hero aside span,.issue-hero aside small{display:block;color:var(--muted)}.issue-hero aside b{display:block;color:#ae603f;font-size:38px}.issue-kpis{margin:12px 0;display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.issue-kpis article{padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.issue-kpis span,.issue-kpis small{display:block;color:var(--muted)}.issue-kpis b{display:block;margin:3px 0;font-size:25px}.issue-panel table{min-width:1100px}.issue-state,.issue-tag{display:inline-block;padding:3px 7px;border-radius:30px;font-size:11px;font-weight:800}.issue-state.new{color:#9b433a;background:#fde6e1}.issue-state.continuing{color:#8a651d;background:#fff0c8}.issue-state.recovered{color:#187159;background:#dff4ea}.issue-tag{margin:2px;color:#6d6250;background:#f3efe6}.external-link,.entity-issue-list a{color:#237861;font-weight:800}.issue-mobile-list{display:none}.issue-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.entity-issue-list{display:grid;gap:8px}.entity-issue-list>div{padding:13px;border-radius:11px;background:#f4f8f5}.entity-issue-list b,.entity-issue-list span,.entity-issue-list small{display:block}.entity-issue-list span,.entity-issue-list small{color:var(--muted)}.issue-contract-note{min-height:260px;display:grid;place-items:center;align-content:center;text-align:center}.issue-contract-note p{max-width:620px;color:var(--muted)}
.product-body{background:radial-gradient(circle at 8% 0,#e2f5ed 0,transparent 24%),#f6f8f4}.product-page{max-width:1460px}.product-search-hero{padding:42px 46px;border:1px solid #cfe4da;border-radius:24px;background:linear-gradient(130deg,#f9fffc,#e8f5ee 60%,#f5f2da)}.product-search-hero h1{max-width:800px;margin:0;font-size:40px;line-height:1.12}.product-search-hero>div>p:last-child{color:var(--muted)}.product-search-hero form{margin-top:24px;display:grid;grid-template-columns:190px 1fr auto;gap:9px}.product-search-hero select,.product-search-hero input{min-height:46px;padding:0 13px;border:1px solid #cfded8;border-radius:11px;background:#fff;font:inherit}.product-search-hero button{padding:0 22px;border:0;border-radius:11px;color:#fff;background:#24775f;font-weight:800}.product-results{margin-top:12px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#ffffffeb}.product-results>header{margin-bottom:13px;display:flex;justify-content:space-between}.product-results>header h2{margin:0}.product-results>header span{color:var(--muted)}.product-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.product-result-grid>a{min-height:140px;padding:13px;display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;border:1px solid #dbe9e3;border-radius:14px;background:#fbfdfb}.product-result-grid img,.product-image-empty{width:110px;height:110px;object-fit:contain;border-radius:10px;background:#f1f4f1}.product-image-empty{display:grid;place-items:center;color:#9ba7a2;font-size:11px}.product-result-copy span,.product-result-copy p{color:var(--muted)}.product-result-copy h3{margin:4px 0;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px}.product-result-copy p{margin:4px 0 0;font-size:11px}.product-result-grid>a>i{color:#237861;font-style:normal;font-weight:800}.product-empty{grid-column:1/3;min-height:240px;display:grid;place-items:center;align-content:center;text-align:center}.product-empty p{color:var(--muted)}.product-overview{padding:28px;display:grid;grid-template-columns:210px 1fr 190px;gap:26px;align-items:center;border:1px solid #cfe4da;border-radius:22px;background:linear-gradient(125deg,#fbfffd,#eaf5ef)}.product-overview>img,.product-overview>.product-image-empty{width:210px;height:210px;object-fit:contain;border-radius:16px;background:#fff}.product-overview h1{margin:0;display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:29px;line-height:1.18}.product-identifiers{margin-top:13px;display:flex;flex-wrap:wrap;gap:7px}.product-identifiers>*{padding:5px 8px;border-radius:8px;background:#ffffffa6}.product-actions{margin-top:16px;display:flex;gap:8px}.product-actions a{padding:9px 12px;border:1px solid #b9d7ca;border-radius:9px;color:#237861;background:#fff;font-weight:800}.product-overview aside{padding:19px;text-align:center;border:1px solid var(--line);border-radius:15px;background:#fff}.product-overview aside span,.product-overview aside small{display:block;color:var(--muted)}.product-overview aside b{display:block;margin:6px 0;color:#23735e;font-size:22px}.product-kpis{margin:12px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.product-kpis article{padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff}.product-kpis span,.product-kpis small{display:block;color:var(--muted)}.product-kpis b{display:block;margin:3px 0;font-size:25px}.product-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:12px}.trend-table{display:grid;gap:5px}.trend-head,.trend-row{display:grid;grid-template-columns:88px repeat(4,1fr);gap:7px;align-items:center}.trend-head{color:var(--muted);font-size:11px}.trend-row{padding:6px 0;border-top:1px solid #edf2ef}.trend-row>span{height:26px;position:relative;overflow:hidden;border-radius:6px;background:#f0f5f2}.trend-row i{height:100%;display:block;background:#dcefe7}.trend-row em{position:absolute;inset:4px 6px;font-style:normal;font-weight:800}.product-facts dl{margin:0;display:grid;gap:7px}.product-facts dl div{padding:10px;border-radius:9px;background:#f3f7f4}.product-facts dt{color:var(--muted);font-size:11px}.product-facts dd{margin:2px 0 0;font-weight:800}.variant-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}.variant-list a{padding:4px 7px;border-radius:7px;color:#237861;background:#e9f4ef;font-size:11px;font-weight:800}.category-chip-list{display:flex;flex-wrap:wrap;gap:8px}.category-chip-list>span{min-width:190px;padding:12px;display:grid;border-radius:11px;background:#f2f7f4}.category-chip-list b{color:#237861}.category-chip-list small{color:var(--muted)}
.market-breadcrumb{margin:2px 0 12px;display:flex;gap:9px;color:#71847d}.market-breadcrumb a{color:#237861}.market-breadcrumb i{font-style:normal}
.market-detail-hero{min-height:190px;padding:36px 42px}.market-detail-hero h1{font-size:36px}
.detail-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px}.signal-meter{margin-bottom:23px}.signal-meter>div:first-child{margin-bottom:7px;display:flex;justify-content:space-between}.signal-meter b{font-size:20px}.signal-meter.competition .signal-line i{background:linear-gradient(90deg,#d4b76a,#d77d60)}.confidence-box{padding:18px;border-radius:14px;background:#eef8f3}.confidence-box span,.confidence-box b{display:block}.confidence-box b{font-size:24px}.confidence-box p{margin-bottom:0;color:#617970}
.metric-stack{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric-stack>div{padding:17px;border:1px solid #e0ece7;border-radius:13px;background:#f9fcfa}.metric-stack span,.metric-stack small{display:block;color:var(--muted)}.metric-stack b{display:block;margin:5px 0;font-size:21px}
.peer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.peer-grid a{padding:15px;display:grid;grid-template-columns:1fr auto;border:1px solid #deebe6;border-radius:13px;background:#fafdfb}.peer-grid b{grid-row:1/3;grid-column:2;font-size:25px;color:#287c66}.peer-grid small{color:var(--muted)}
.methodology-panel ul{margin:0;padding-left:20px;display:grid;gap:8px;color:#61756e}
@media(max-width:900px){.market-hero,.market-detail-hero{grid-template-columns:1fr}.market-hero-score,.detail-score{min-width:0}.market-kpis,.market-kpis.detail-kpis{grid-template-columns:repeat(2,1fr)}.opportunity-grid{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:1fr}.peer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.market-hero,.market-detail-hero{min-height:0;padding:24px 18px;gap:18px;border-radius:17px}.market-hero h1,.market-detail-hero h1{font-size:28px}.market-hero>div>p:last-child,.market-detail-hero>div>p:last-child{font-size:13px}.market-hero-score,.detail-score{padding:15px;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left}.market-hero-score b,.detail-score b{grid-row:1/3;grid-column:2;font-size:34px}.market-hero-score small,.detail-score small{grid-row:2}.market-kpis,.market-kpis.detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.market-kpis article{padding:14px 12px}.market-kpis b{font-size:20px}.opportunity-grid{grid-template-columns:1fr}.market-desktop-table{display:none}.market-mobile-list{display:grid;gap:9px}.market-mobile-card{padding:15px;display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid #dceae5;border-radius:14px;background:#fff}.market-mobile-card h3{margin:2px 0}.market-mobile-card>div>span,.market-mobile-card small{color:var(--muted)}.market-mobile-card>b{color:#20755f;font-size:30px}.market-mobile-card dl{grid-column:1/3;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.market-mobile-card dl div{padding:8px;border-radius:9px;background:#f2f8f5}.market-mobile-card dt{color:var(--muted);font-size:10px}.market-mobile-card dd{margin:2px 0 0;font-weight:800}.metric-stack{grid-template-columns:1fr}.peer-grid{grid-template-columns:1fr}.market-toolbar{margin-top:10px}.country-tabs a{min-height:42px;display:flex;align-items:center}}
@media(max-width:900px){.score-factor-grid{grid-template-columns:repeat(2,1fr)}.availability-grid{grid-template-columns:repeat(3,1fr)}.business-hero{grid-template-columns:1fr}.business-kpis,.module-grid{grid-template-columns:repeat(2,1fr)}.home-market-grid{grid-template-columns:repeat(2,1fr)}.data-foundation>div{grid-template-columns:repeat(3,1fr)}.issue-kpis{grid-template-columns:repeat(3,1fr)}.issue-split{grid-template-columns:1fr}.product-result-grid{grid-template-columns:1fr}.product-overview{grid-template-columns:160px 1fr}.product-overview>img,.product-overview>.product-image-empty{width:160px;height:160px}.product-overview aside{grid-column:1/3}.product-layout{grid-template-columns:1fr}}
@media(max-width:600px){.score-factor-grid,.availability-grid{grid-template-columns:1fr}.score-method-summary summary{padding:15px}.score-method-summary>div{padding:15px}.score-formula{padding:14px}.business-hero{min-height:0;padding:25px 18px;gap:20px;border-radius:18px}.business-hero h1{font-size:31px}.business-hero aside{text-align:left}.hero-actions{align-items:flex-start;flex-direction:column}.business-kpis,.module-grid,.home-market-grid{grid-template-columns:1fr}.business-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.business-section{padding:15px}.business-section>header{align-items:flex-start;gap:8px}.data-foundation>div{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-issues-entry{align-items:flex-start;flex-direction:column;gap:8px}.issue-hero{padding:24px 18px;grid-template-columns:1fr}.issue-hero h1{font-size:28px}.issue-hero aside{text-align:left}.issue-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.issue-desktop{display:none}.issue-mobile-list{display:grid;gap:9px}.issue-mobile-list article{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.issue-mobile-list article>div:first-child{display:flex;justify-content:space-between}.issue-mobile-list p{color:var(--muted)}.issue-mobile-list a{display:block;margin-top:10px;color:#237861;font-weight:800}.product-search-hero{padding:25px 18px}.product-search-hero h1{font-size:29px}.product-search-hero form{grid-template-columns:1fr}.product-search-hero button{min-height:45px}.product-results{padding:14px}.product-result-grid>a{grid-template-columns:82px 1fr}.product-result-grid img,.product-result-grid .product-image-empty{width:82px;height:82px}.product-result-grid>a>i{display:none}.product-overview{padding:17px;grid-template-columns:90px 1fr;gap:14px}.product-overview>img,.product-overview>.product-image-empty{width:90px;height:90px}.product-overview h1{font-size:20px}.product-overview aside{grid-column:1/3;text-align:left}.product-actions{align-items:flex-start;flex-direction:column}.product-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-table{overflow-x:auto}.trend-head,.trend-row{min-width:620px}.category-chip-list>span{width:100%}}
.entity-page{display:grid;gap:22px}.entity-hero,.entity-detail-hero{display:flex;justify-content:space-between;gap:28px;padding:34px;border:1px solid #dcebe5;border-radius:28px;background:linear-gradient(135deg,#f4fbf7,#eef9fb);box-shadow:0 18px 40px rgba(31,87,70,.08)}.entity-hero h1,.entity-detail-hero h1{margin:8px 0;font-size:38px;line-height:1.12}.entity-hero p,.entity-detail-hero p{color:#60736c}.entity-hero form{width:min(480px,100%);display:grid;grid-template-columns:1fr 120px auto;gap:10px;align-self:center}.entity-hero input{min-width:0;padding:12px 14px;border:1px solid #cfe0da;border-radius:12px;background:#fff}.entity-hero form>button,.entity-switch button{border:0;border-radius:12px;padding:12px 16px;background:#176b52;color:#fff;font-weight:700;cursor:pointer}.entity-switch{grid-column:1/-1;display:flex;gap:8px}.entity-switch button{background:#e6f2ed;color:#39705f}.entity-switch button.active{background:#176b52;color:#fff}.entity-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.entity-kpis article{padding:20px;border:1px solid #e0ebe7;border-radius:18px;background:#fff}.entity-kpis span,.entity-kpis small{display:block;color:#718079}.entity-kpis b{display:block;margin:8px 0;font-size:30px;color:#173d31}.entity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.entity-grid>a{display:block;padding:20px;border:1px solid #e0ebe7;border-radius:18px;background:#fff;color:inherit;text-decoration:none;transition:.18s ease}.entity-grid>a:hover{transform:translateY(-2px);border-color:#8cc5b0;box-shadow:0 12px 26px rgba(29,82,66,.09)}.entity-grid>a>div:first-child{display:flex;justify-content:space-between;color:#718079;font-size:12px}.entity-grid h3{margin:12px 0 16px;font-size:20px}.entity-metrics{display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px}.entity-metrics b{font-size:21px;color:#173d31}.entity-metrics small{display:block;margin-top:3px;color:#7b8984;font-size:11px;font-weight:400}.entity-metrics .bad{color:#b64b4b}.entity-metrics .good{color:#21815f}.entity-grid p{margin:16px 0 8px;color:#8a5b2d}.entity-grid em{color:#176b52;font-style:normal;font-weight:700}.entity-detail-hero{align-items:center}.entity-detail-hero a{display:inline-block;margin-top:12px;color:#176b52;font-weight:700}.entity-detail-numbers{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:12px}.entity-detail-numbers b{padding:18px;border-radius:16px;background:rgba(255,255,255,.85);font-size:28px;color:#173d31;text-align:center}.entity-detail-numbers small{display:block;margin-top:5px;font-size:11px;color:#718079;font-weight:400}
@media(max-width:1000px){.entity-grid{grid-template-columns:1fr 1fr}.entity-hero,.entity-detail-hero{flex-direction:column}.entity-hero form{width:100%}.entity-detail-numbers{width:100%}}
@media(max-width:650px){.entity-hero,.entity-detail-hero{padding:22px}.entity-hero h1,.entity-detail-hero h1{font-size:29px}.entity-hero form{grid-template-columns:1fr}.entity-switch{grid-column:auto}.entity-kpis{grid-template-columns:1fr 1fr}.entity-grid{grid-template-columns:1fr}.entity-detail-numbers{grid-template-columns:1fr 1fr}.entity-metrics{grid-template-columns:repeat(4,1fr)!important}}
.keyword-page{display:grid;gap:22px}.keyword-hero{padding:34px;border:1px solid #dcebe5;border-radius:28px;background:linear-gradient(135deg,#f5fbf7,#eef8fb)}.keyword-hero h1{margin:8px 0;font-size:38px}.keyword-hero p{color:#60736c}.keyword-hero form{margin-top:22px;display:grid;grid-template-columns:2fr 120px 150px auto;gap:10px}.keyword-hero input,.keyword-hero select{min-width:0;padding:12px 14px;border:1px solid #cfe0da;border-radius:12px;background:#fff}.keyword-hero button{border:0;border-radius:12px;padding:12px 20px;background:#176b52;color:#fff;font-weight:800}.keyword-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.keyword-kpis article{padding:18px;border:1px solid #dfebe6;border-radius:17px;background:#fff}.keyword-kpis span,.keyword-kpis small{display:block;color:#70817a}.keyword-kpis b{display:block;margin:7px 0;font-size:28px}.keyword-panel td small{display:block;color:#7a8983}.keyword-state{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.keyword-state.up,.keyword-state.new{background:#e1f4eb;color:#1f785b}.keyword-state.down,.keyword-state.lost{background:#fae9e7;color:#a94945}.keyword-state.stable{background:#eef1f0;color:#66736e}.keyword-mobile{display:none}
@media(max-width:850px){.keyword-kpis{grid-template-columns:repeat(3,1fr)}.keyword-hero form{grid-template-columns:1fr 1fr}.keyword-hero form input:first-child{grid-column:1/-1}}
@media(max-width:600px){.keyword-hero{padding:22px}.keyword-hero h1{font-size:29px}.keyword-hero form{grid-template-columns:1fr}.keyword-hero form input:first-child{grid-column:auto}.keyword-kpis{grid-template-columns:1fr 1fr}.keyword-desktop{display:none}.keyword-mobile{display:grid;gap:10px}.keyword-mobile article{padding:15px;border:1px solid #dfeae6;border-radius:14px}.keyword-mobile article>div{display:flex;justify-content:space-between;gap:10px}.keyword-mobile p{color:#70817a}.keyword-mobile strong{display:block}.keyword-mobile a{display:block;margin-top:12px;color:#176b52;font-weight:800}}
.review-page{display:grid;gap:22px}.review-hero{padding:34px;border:1px solid #e3e5ef;border-radius:28px;background:linear-gradient(135deg,#fbf8fc,#f1f8f7)}.review-hero h1{margin:8px 0;font-size:38px}.review-hero p{color:#66766f}.review-hero form{margin-top:22px;display:grid;grid-template-columns:2fr 120px 160px auto;gap:10px}.review-hero input,.review-hero select{min-width:0;padding:12px 14px;border:1px solid #d8dfdc;border-radius:12px;background:#fff}.review-hero button{border:0;border-radius:12px;padding:12px 20px;background:#176b52;color:#fff;font-weight:800}.review-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.review-kpis article{padding:18px;border:1px solid #e2e9e6;border-radius:17px;background:#fff}.review-kpis span,.review-kpis small{display:block;color:#74827d}.review-kpis b{display:block;margin:7px 0;font-size:28px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review-grid>article{padding:19px;border:1px solid #e1e9e6;border-radius:17px;background:#fff}.review-grid>article>div:first-child{display:flex;justify-content:space-between;color:#72817b;font-size:12px}.review-grid h3{margin:12px 0 5px}.review-grid p{min-height:38px;color:#718079}.review-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.review-counts b{font-size:20px}.review-counts small{display:block;color:#82908a;font-size:10px;font-weight:400}.review-counts .risk{color:#ae4b48}.review-counts .good{color:#1f785b}.review-tags{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0}.review-tags span{padding:4px 7px;border-radius:999px;background:#f8e9e7;color:#9c4a47;font-size:10px;font-weight:800}.review-grid a{color:#176b52;font-weight:800;text-decoration:none}
@media(max-width:900px){.review-grid{grid-template-columns:1fr 1fr}.review-kpis{grid-template-columns:repeat(3,1fr)}.review-hero form{grid-template-columns:1fr 1fr}.review-hero form input:first-child{grid-column:1/-1}}
@media(max-width:600px){.review-hero{padding:22px}.review-hero h1{font-size:29px}.review-hero form{grid-template-columns:1fr}.review-hero form input:first-child{grid-column:auto}.review-kpis{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr}}
.category-page{display:grid;gap:22px}.category-hero,.category-detail-hero{padding:34px;border:1px solid #dfe8e3;border-radius:28px;background:linear-gradient(135deg,#f6fbf6,#f4f7fc)}.category-hero h1,.category-detail-hero h1{margin:8px 0;font-size:38px}.category-hero p,.category-detail-hero p{color:#687970}.category-hero form{margin-top:22px;display:grid;grid-template-columns:2fr 140px auto;gap:10px}.category-hero input{min-width:0;padding:12px 14px;border:1px solid #d5e0db;border-radius:12px}.category-hero button{border:0;border-radius:12px;padding:12px 20px;background:#176b52;color:#fff;font-weight:800}.category-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.category-kpis article{padding:18px;border:1px solid #e1e9e5;border-radius:17px;background:#fff}.category-kpis span,.category-kpis small{display:block;color:#74827d}.category-kpis b{display:block;margin:7px 0;font-size:28px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.category-grid>a{padding:19px;border:1px solid #e0e9e5;border-radius:17px;background:#fff;color:inherit;text-decoration:none}.category-grid>a>div:first-child{display:flex;justify-content:space-between;color:#73817c;font-size:11px}.category-grid h3{min-height:46px}.category-grid>a>div:nth-of-type(2){display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.category-grid b{font-size:20px}.category-grid small{display:block;color:#81908a;font-size:10px;font-weight:400}.category-grid .good{color:#20775b}.category-grid .bad{color:#ae4c49}.category-grid em{display:block;margin-top:15px;color:#176b52;font-style:normal;font-weight:800}.category-detail-hero{display:flex;justify-content:space-between;align-items:center}.category-detail-hero>div:last-child{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.category-detail-hero>div:last-child b{padding:16px;border-radius:14px;background:#fff;font-size:25px;text-align:center}.category-detail-hero small,.category-panel td small{display:block;color:#7a8882;font-size:10px}.category-state{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.category-state.entered,.category-state.up{background:#e2f3eb;color:#20775b}.category-state.exited,.category-state.down{background:#f8e8e6;color:#a54a47}.category-state.stable{background:#edf0ef;color:#697570}
@media(max-width:900px){.category-grid{grid-template-columns:1fr 1fr}.category-kpis{grid-template-columns:repeat(3,1fr)}.category-detail-hero{align-items:flex-start;flex-direction:column;gap:18px}.category-detail-hero>div:last-child{width:100%}}
@media(max-width:600px){.category-hero,.category-detail-hero{padding:22px}.category-hero h1,.category-detail-hero h1{font-size:29px}.category-hero form{grid-template-columns:1fr}.category-kpis{grid-template-columns:1fr 1fr}.category-grid{grid-template-columns:1fr}.category-detail-hero>div:last-child{grid-template-columns:1fr 1fr}.category-desktop{overflow-x:auto}.category-desktop table{min-width:700px}}
.daily-page{display:grid;gap:22px}.daily-hero{display:flex;justify-content:space-between;gap:24px;padding:34px;border:1px solid #dce7e2;border-radius:28px;background:linear-gradient(135deg,#f2faf6,#f5f8fb)}.daily-hero.失败{background:linear-gradient(135deg,#fff4f2,#f8f4f7)}.daily-hero.警告{background:linear-gradient(135deg,#fff9ed,#f6faf6)}.daily-hero h1{margin:8px 0;font-size:38px}.daily-hero p{color:#61736b}.daily-hero aside{text-align:right}.daily-hero aside span,.daily-hero aside small{display:block;color:#71817a}.daily-hero aside b{display:block;margin:8px 0;font-size:28px}.daily-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.daily-kpis article{padding:17px;border:1px solid #e0e9e5;border-radius:16px;background:#fff}.daily-kpis span,.daily-kpis small{display:block;color:#74827c}.daily-kpis b{display:block;margin:7px 0;font-size:27px}.daily-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.daily-comparisons,.daily-quality{display:grid;gap:8px}.daily-comparisons>div{display:grid;grid-template-columns:1.4fr 1fr 70px 70px;align-items:center;gap:8px;padding:11px;border-radius:11px;background:#f7faf8}.daily-comparisons small{display:block;color:#82908a}.daily-comparisons em{font-style:normal;font-weight:800}.daily-comparisons em.up{color:#20775b}.daily-comparisons em.down{color:#ae4c49}.daily-comparisons i{font-style:normal;color:#68766f}.daily-quality>div{display:grid;grid-template-columns:1fr 70px 80px 60px;align-items:center;gap:8px;padding:11px;border-bottom:1px solid #ebf0ed}.daily-quality small{color:#7d8a84}.daily-quality i{font-size:11px;font-style:normal;font-weight:800}.daily-quality i.异常,.daily-quality i.警告{color:#ad4b48}.daily-quality i.正常{color:#20775b}.daily-market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.daily-market-grid>a{padding:17px;border:1px solid #e0e9e5;border-radius:16px;color:inherit;text-decoration:none}.daily-market-grid span{color:#718079;font-size:12px}.daily-market-grid h3{margin:8px 0 13px}.daily-market-grid>a>div{display:grid;grid-template-columns:repeat(3,1fr)}.daily-market-grid b{font-size:21px}.daily-market-grid small{display:block;color:#82908a;font-size:10px;font-weight:400}.daily-market-grid em{display:block;margin-top:14px;color:#176b52;font-style:normal;font-weight:800}
@media(max-width:950px){.daily-kpis{grid-template-columns:repeat(3,1fr)}.daily-layout{grid-template-columns:1fr}.daily-market-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.daily-hero{padding:22px;flex-direction:column}.daily-hero h1{font-size:29px}.daily-hero aside{text-align:left}.daily-kpis{grid-template-columns:1fr 1fr}.daily-market-grid{grid-template-columns:1fr}.daily-comparisons>div{grid-template-columns:1fr 1fr}.daily-quality>div{grid-template-columns:1fr 60px}.daily-quality small,.daily-quality i{text-align:right}}
.global-issue-page{display:grid;gap:22px}.global-issue-hero{padding:32px;border:1px solid #dce8e3;border-radius:27px;background:linear-gradient(135deg,#f3faf6,#f7f8fc)}.global-issue-hero h1{margin:8px 0;font-size:37px}.global-issue-hero p{color:#687971}.global-issue-hero form{margin-top:22px;display:grid;grid-template-columns:1.5fr 90px 130px 170px auto;gap:9px}.global-issue-hero input,.global-issue-hero select{min-width:0;padding:11px 13px;border:1px solid #d4e0db;border-radius:11px;background:#fff}.global-issue-hero button{border:0;border-radius:11px;background:#176b52;color:#fff;font-weight:800}.global-issue-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.global-issue-kpis article{padding:17px;border:1px solid #e0e9e5;border-radius:15px;background:#fff}.global-issue-kpis span,.global-issue-kpis small{display:block;color:#75837d}.global-issue-kpis b{display:block;margin:6px 0;font-size:27px}.global-issue-page table td small{display:block;color:#7b8983}
@media(max-width:900px){.global-issue-hero form{grid-template-columns:1fr 1fr}.global-issue-hero form input:first-child{grid-column:1/-1}.global-issue-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.global-issue-hero{padding:22px}.global-issue-hero h1{font-size:29px}.global-issue-hero form{grid-template-columns:1fr}.global-issue-hero form input:first-child{grid-column:auto}.global-issue-kpis{grid-template-columns:1fr 1fr}}
.issue-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid #e5ece9}.issue-pagination a{padding:8px 12px;border-radius:10px;background:#e9f5f0;color:#176b52;font-weight:800;text-decoration:none}.issue-pagination span{color:#6e7d76}.global-issue-page .section-link{padding:9px 13px;border-radius:10px;background:#176b52;color:#fff}
@media(max-width:600px){.issue-pagination{flex-wrap:wrap}.global-issue-page .section-link{width:100%;text-align:center}}
.permission-users{display:grid;gap:15px}.permission-users>article{padding:18px;border:1px solid #dfe9e5;border-radius:16px}.permission-users>article>header{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.permission-users small,.permission-users>article>header>span{display:block;color:#73827b}.permission-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.permission-grid button{width:100%;padding:11px;border:1px solid #dbe6e2;border-radius:11px;background:#f7faf8;text-align:left;cursor:pointer}.permission-grid button span,.permission-grid button i{display:block}.permission-grid button i{margin-top:3px;font-size:11px;font-style:normal;font-weight:800}.permission-grid button.allowed{border-color:#a9d1c1;background:#edf8f3;color:#176b52}.permission-grid button.denied{color:#8c5854}.permission-grid button:disabled{cursor:default;opacity:.75}
@media(max-width:900px){.permission-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.permission-users>article>header{flex-direction:column}.permission-grid{grid-template-columns:1fr 1fr}}

/* Shared left navigation */
@media(max-width:900px){
  .ops-body{padding-left:0}
  .portal-sidebar{transform:translateX(-105%);transition:transform .22s ease}
  .portal-nav-button{width:42px;height:42px;position:fixed;left:12px;top:9px;z-index:60;display:grid;place-content:center;gap:4px;border:1px solid #d7e7e1;border-radius:11px;background:#fff;box-shadow:0 6px 18px #193b331c}
  .portal-nav-button span{width:18px;height:2px;display:block;border-radius:2px;background:#245e51}
  .portal-nav-toggle:checked~.portal-sidebar{transform:translateX(0)}
  .portal-nav-backdrop{position:fixed;inset:0;z-index:45;display:block;pointer-events:none;opacity:0;background:#0d292466;transition:opacity .22s ease}
  .portal-nav-toggle:checked~.portal-nav-backdrop{pointer-events:auto;opacity:1}
  .portal-nav-close{margin-top:10px;padding:10px;display:block;border-radius:9px;text-align:center;color:#9fc0b7;background:#ffffff0b}
  .ops-topbar{padding-left:66px}
}
@media(min-width:901px){.ops-page{max-width:calc(1680px - 258px)}}

.business-hero aside small+small{margin-top:3px}
.home-judgment{margin:12px 0;padding:20px 22px;border:1px solid #ead7a4;border-radius:17px;background:#fffaf0}
.home-judgment>header,.home-judgment>footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.home-judgment>header span,.home-judgment>header b{display:block}.home-judgment>header span{color:#8a631d;font-size:12px;font-weight:800}.home-judgment>header b{margin-top:3px;font-size:19px}
.home-judgment a{color:#206f5a;font-weight:800}.home-judgment-reasons{margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.home-judgment-reasons article{padding:14px;display:flex;gap:11px;border:1px solid #eadfbe;border-radius:12px;background:#fff}
.home-judgment-reasons i{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#8a631d;background:#fff0c8;font-style:normal;font-weight:800}
.home-judgment-reasons b{display:block}.home-judgment-reasons p{margin:4px 0 0;color:#6e766f;font-size:13px;line-height:1.55}.home-judgment>footer{padding-top:12px;border-top:1px solid #eadfbe;color:#707a73}
@media(max-width:600px){.home-judgment{padding:16px}.home-judgment>header,.home-judgment>footer{align-items:flex-start;flex-direction:column}.home-judgment-reasons{grid-template-columns:1fr}}
.category-product-cell{min-width:310px;display:flex;align-items:center;gap:12px}.category-product-cell img,.category-product-image-empty{width:64px;height:64px;flex:0 0 64px;border:1px solid #dce7e1;border-radius:10px;background:#f4f7f5;object-fit:contain}.category-product-image-empty{display:grid;place-items:center;color:#8b9993;font-size:11px}.category-product-cell>div{max-width:470px}.category-product-cell small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}
@media(max-width:600px){.category-product-cell{min-width:240px}.category-product-cell img,.category-product-image-empty{width:52px;height:52px;flex-basis:52px}}
.market-scope-bar{margin:0 0 12px;padding:14px 16px;display:flex;align-items:end;gap:10px;border:1px solid #cfe4da;border-radius:15px;background:#f8fcfa}.market-scope-field{min-width:210px;display:grid;gap:5px}.market-scope-field span{color:#657970;font-size:12px;font-weight:800}.market-scope-field select{width:100%;min-height:42px;padding:8px 34px 8px 11px;border:1px solid #cddfd7;border-radius:10px;background:#fff;color:#24483f}.market-scope-bar button{min-height:42px;padding:0 17px;border:0;border-radius:10px;color:#fff;background:#24775f;font-weight:800}.market-scope-bar small{margin-left:auto;color:#61766e}.product-search-hero .market-scope-field,.keyword-hero .market-scope-field,.review-hero .market-scope-field,.entity-hero .market-scope-field,.global-issue-hero .market-scope-field,.category-hero .market-scope-field{min-width:0}.product-search-hero .market-scope-field span,.keyword-hero .market-scope-field span,.review-hero .market-scope-field span,.entity-hero .market-scope-field span,.global-issue-hero .market-scope-field span,.category-hero .market-scope-field span{font-size:11px}
@media(max-width:600px){.market-scope-bar{align-items:stretch;flex-direction:column}.market-scope-field{width:100%;min-width:0}.market-scope-bar small{margin-left:0}.market-scope-bar button{width:100%}}

/* Navigation and account controls live in the sidebar; avoid a duplicated top menu. */
.ops-topbar{display:none}
.issue-tag.dog{color:#a52f2f;background:#ffe0dc;border:1px solid #f2aaa1;font-size:12px}.issue-tag.dog:before{content:'⚠ ';font-weight:900}
.today-action-list{display:grid;gap:8px}.today-action-list>a{padding:13px 15px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #e1ebe6;border-radius:12px;background:#fbfdfc;color:inherit}.today-action-list b,.today-action-list p,.today-action-list small{display:block}.today-action-list p{margin:3px 0 0;color:var(--muted)}.today-action-list>a>small{color:#6a7e76}.action-empty{padding:22px;border-radius:12px;background:#f2f8f5;text-align:center}.action-empty p{margin:4px 0;color:var(--muted)}
.workflow-row td{padding:0 12px 14px!important;background:#fbfdfc}.issue-workflow{padding:12px;display:grid;grid-template-columns:130px 150px minmax(220px,1fr) auto;gap:8px;align-items:end;border:1px solid #dce8e3;border-radius:11px;background:#f4f8f6}.issue-workflow label{display:grid;gap:4px}.issue-workflow label>span{color:#657970;font-size:10px;font-weight:800}.issue-workflow select,.issue-workflow input{min-height:38px;padding:7px 9px;border:1px solid #ceded7;border-radius:8px;background:#fff}.issue-workflow button{min-height:38px;padding:0 12px;border:0;border-radius:8px;color:#fff;background:#24775f;font-weight:800}.issue-workflow>small{grid-column:1/-1;color:var(--muted)}
.product-conclusions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.product-conclusions article{padding:16px;border:1px solid #dce8e3;border-radius:13px;background:#fff}.product-conclusions p{margin:5px 0 0;color:var(--muted)}.product-conclusions .danger{border-color:#efb1a8;background:#fff1ef}.product-conclusions .warning{border-color:#ead39b;background:#fff9ea}.product-conclusions .good{border-color:#add8c6;background:#eef9f4}.business-conclusion{display:block;margin:8px 0;color:#566d65;line-height:1.45}.keyword-panel .business-conclusion{min-width:180px}
@media(max-width:800px){.issue-workflow{grid-template-columns:1fr 1fr}.issue-workflow .workflow-note,.issue-workflow button{grid-column:1/-1}.today-action-list>a{grid-template-columns:auto 1fr}.today-action-list>a>small{grid-column:2}.product-conclusions{grid-template-columns:1fr}}
@media(max-width:520px){.issue-workflow{grid-template-columns:1fr}.issue-workflow .workflow-note,.issue-workflow button{grid-column:auto}}
