/* CleanClean operations console. Presentation only; market rules remain in index.html. */
:root{
 color-scheme:dark;--brand:#61D0DF;--brand-dark:#61D0DF;--brand-deep:#9be5ee;
 --brand-glow:rgba(97,208,223,.10);--brand-glow-strong:rgba(97,208,223,.22);
 --bg:#08111e;--bg-deep:#060d17;--bg-panel:#0d1929;--card:#101e30;--card-hover:#16273c;
 --card-border:#263a50;--card-border-strong:#3b6578;--ink:#f0f6fc;--text:#d5e2ef;
 --muted:#a0b3c7;--muted-2:#91a6bc;--line:#293d51;--line-soft:#203248;
 --good:#73dfb0;--warn:#f4c879;--bad:#ff919c;--purple:#b2a3ef;
 --shadow:0 8px 28px rgba(0,0,0,.16);--radius:16px;--radius-lg:20px;
 --brand-light:#315463;--brand-soft:rgba(97,208,223,.10);--brand-mist:rgba(97,208,223,.04)
}
html{scroll-padding-top:115px}body{background:var(--bg)}
body::before{background:radial-gradient(ellipse at 85% 0,rgba(40,113,148,.13),transparent 50%),linear-gradient(180deg,#0b1726,#08111e);z-index:-2}
body::after{background-image:linear-gradient(rgba(97,208,223,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(97,208,223,.025) 1px,transparent 1px);background-size:64px 64px}
a:hover{color:#a8eef6;text-shadow:none}.serif{font-family:Inter,"Noto Sans TC",sans-serif}
.layout{grid-template-columns:232px minmax(0,1fr)}
.sidebar{background:#0a1523;padding:26px 15px;border-right-color:#223449;box-shadow:none}
.sidebar .brand{padding:4px 4px 24px;gap:10px}.sidebar .brand img{height:34px;filter:none;background:#fff;padding:3px}
.sidebar .brand .name{font-size:14px;text-shadow:none}.sidebar .brand .name small{font-size:10px}
.sidebar .label{font-size:10px;padding-top:26px;color:var(--muted)}
.sidebar .nav-item{padding:14px 12px;font-size:13px;min-height:46px;border-radius:10px;margin-bottom:4px}
.sidebar .nav-item.active{background:rgba(97,208,223,.1);color:var(--brand);border-color:#315463;box-shadow:inset 3px 0 var(--brand)}
.sidebar .nav-item.active .ico,.sidebar .nav-item:hover .ico{filter:none}
.sidebar .footer-info{font-size:11px;line-height:1.8}
header{background:rgba(10,21,35,.94);padding:22px 32px;gap:18px;border-color:#26394d;backdrop-filter:blur(16px)}
header .logo-box{background:#fff;border:0;border-radius:10px;padding:6px 10px;box-shadow:none}
header .logo{height:36px;filter:none}header .titles h1{font-size:23px;letter-spacing:-.5px;text-shadow:none}
header .titles .sub{font-size:11px;letter-spacing:1.3px;margin-top:5px}header .badges{gap:9px}
main{padding:28px 32px;max-width:1560px;width:100%}
section{padding:24px;margin-bottom:22px;backdrop-filter:none}section h2{font-size:15px;margin-bottom:19px;letter-spacing:.2px}
section h2 .dot{height:18px;box-shadow:none}.chip{font-size:11px;padding:5px 10px;letter-spacing:0}
button{min-height:42px;background:var(--brand);color:#071a24;border-radius:9px;padding:11px 16px;box-shadow:none;font-size:13px;text-transform:none;letter-spacing:0}
button:hover:not(:disabled){background:#86deea;box-shadow:0 4px 16px rgba(97,208,223,.12);transform:translateY(-1px)}
button.secondary{background:#172b40;color:#d5e9f1;border-color:#365069;box-shadow:none}
button.secondary:hover:not(:disabled){background:#20384f;color:#fff;box-shadow:none}
button.ghost:hover:not(:disabled){color:var(--brand)}button:disabled{opacity:.45}
input,select,textarea{background:#0a1625;border-color:#365069;color:var(--text);min-height:42px;font-size:14px;border-radius:9px}
input:focus,select:focus,textarea:focus{background:#0e2033;box-shadow:0 0 0 3px rgba(97,208,223,.12)}
input[type=checkbox]{min-height:auto;accent-color:var(--brand);width:16px;height:16px}select option{background:#101e30}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.stat-grid{gap:14px}.stat{background:#132438;padding:22px;border-radius:12px;backdrop-filter:none}
.stat::before{background:var(--brand);width:24px;left:22px;opacity:.7}.stat .num{font-size:34px;margin-top:12px;text-shadow:none}.stat .lbl{font-size:12px;letter-spacing:0}
.stat:hover{box-shadow:none}.decision-hero{background:linear-gradient(120deg,#19283a,#211f2e);border-color:#64404b;padding:28px;border-radius:18px;box-shadow:none;backdrop-filter:none}
.decision-hero.zero{background:linear-gradient(120deg,#102b34,#112035);border-color:#325963;box-shadow:none}
.decision-hero.partial{background:linear-gradient(120deg,#29283a,#172235);border-color:#655b42;box-shadow:none}
.decision-hero .heading{margin-bottom:18px}.decision-hero .heading .h-title{font-size:11px;letter-spacing:1.7px}
.decision-hero .headline{font-size:30px;letter-spacing:-.7px;text-shadow:none;line-height:1.5}
.decision-hero .heading i,.decision-hero .headline .highlight,.price-bad,.viol-card .price-row .sale{text-shadow:none}
.decision-hero .kpi-row{gap:12px;margin-top:24px}.decision-hero .kpi{background:rgba(5,15,27,.35);padding:16px;border-color:#2c4153;backdrop-filter:none;border-radius:10px}
.decision-hero .kpi .k-lbl{font-size:11px}.decision-hero .kpi .k-val{font-size:23px;margin-top:7px}.decision-hero .kpi .k-sub{font-size:11px;margin-top:6px}
.cov-alert,.cov-alert.warn,.cov-alert.bad{background:#172435;box-shadow:none;backdrop-filter:none;border-radius:12px}
.cov-alert.warn{border-color:#756341}.cov-alert.bad{border-color:#80505c}.cov-alert:empty{display:none}
.cov-pill.ok{color:var(--good)}.cov-pill.fail{color:var(--bad)}.cov-pill.none{color:var(--warn)}
.hint{background:#0d1b2c;font-size:13px;padding:14px 16px;line-height:1.8}
.log{background:#091523;font-size:12px}details{background:#0d1a2b;padding:13px 16px}details summary{font-size:13px;min-height:24px}
.scroll-table{background:#0c1929;border-radius:12px}table{min-width:760px}thead th{background:#172b40;color:#bfd6e6;font-size:12px;padding:15px 12px;backdrop-filter:none}
tbody td{padding:15px 12px;font-size:13px}tbody tr:nth-child(even):not(.violation){background:rgba(135,180,220,.025)}
.viol-card{background:#182337;border-color:#684451;border-left-color:var(--bad)}.viol-card .title{font-size:14px;line-height:1.6}
.viol-card .actions a{font-size:12px;min-height:36px;display:inline-flex;align-items:center;gap:4px}.viol-card .actions a:hover{color:#08111e}
.badge-dealer,.badge-range{color:#22180a}.tag-platform{box-shadow:none}.tag-ruten{color:#251a04}
.empty{padding:42px 20px;line-height:1.9;font-size:14px}.empty .ico{opacity:.8;color:var(--brand)}
#extAutoBox,#pickedInfo{background:#122a3a!important;border-width:1px!important}
#pickedInfo [style*="background:#fff"]{background:#0b1b2b!important}
#googleCatLinks a[style*="background:var(--brand)"]{color:#08111e!important}
#btnExtAll{background:var(--brand)!important}.footer{font-size:12px;color:var(--muted);padding:24px;line-height:1.8}
#sec-scan>.flex-between>.row{flex:1;justify-content:flex-end}#sec-scan>.flex-between{gap:18px;align-items:flex-start}
.ui-icon{width:1.2em;height:1.2em;vertical-align:-.2em;display:inline-block;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar .ico .ui-icon{width:19px;height:19px}.heading>.ui-icon{width:26px;height:26px;color:var(--brand)}.empty .ico .ui-icon{width:34px;height:34px}
@media(min-width:1500px){main{padding:32px 44px}.stat .num{font-size:38px}}
@media(max-width:1100px){.layout{grid-template-columns:208px minmax(0,1fr)}main{padding:22px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#sec-scan>.flex-between>.row{justify-content:flex-start}header .logo-box{display:none}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto;flex-direction:row;padding:10px 12px;gap:6px;max-width:100vw;border-bottom:1px solid var(--line)}.sidebar .nav-item{padding:10px 12px;margin:0;flex-shrink:0}.sidebar .nav-item.active{box-shadow:inset 0 -2px var(--brand)}header{padding:20px;position:relative}main{padding:20px}html{scroll-padding-top:20px}}
@media(max-width:600px){header{gap:12px;flex-wrap:wrap;padding:20px 16px}header .titles{flex:1}header .titles h1{font-size:22px}header .titles .sub{font-size:10px;letter-spacing:.5px}header .badges{margin-left:0;width:100%}main{padding:16px 12px}section{padding:18px 14px;border-radius:14px;margin-bottom:16px}.decision-hero{padding:22px 16px;border-radius:14px}.decision-hero .headline{font-size:23px}.decision-hero .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.decision-hero .kpi{padding:12px}.decision-hero .kpi .k-val{font-size:21px}.stat-grid{gap:9px}.stat{padding:18px 13px}.stat .num{font-size:30px}.stat::before{left:13px}.stat .lbl{font-size:11px}.row{align-items:stretch}.row>input,.row>select{min-width:0!important;width:100%!important;flex:auto!important}.row>button{flex:1 0 auto}input,select,textarea{font-size:16px}button{min-height:44px}.cov-alert{padding:16px 13px}.cov-alert .cov-top{font-size:14px}.cov-alert .cov-top>div{min-width:0;overflow-wrap:anywhere}.viol-grid{grid-template-columns:minmax(0,1fr)}.hint{font-size:12px;padding:12px}.flex-between{gap:14px}.scroll-table{max-width:100%}.footer{padding:20px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:hover:not(:disabled),.stat:hover,.viol-card:hover{transform:none}}

/* Claude review 2026-09-16: preserve contrast on dark surfaces. */
.viol-card .actions .call:hover { background: var(--warn); color: #091522; }
.cov-alert .cov-stale { color: var(--warn); }

