:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182432;background:#f4f6f8;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
.app-shell{max-width:1520px;margin:0 auto;padding:28px clamp(16px,3vw,48px) 60px}
.masthead,.section-heading,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.masthead{margin-bottom:28px;align-items:center}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(1.9rem,3vw,2.6rem);letter-spacing:-.035em;margin-bottom:7px}
h2{font-size:1.12rem;letter-spacing:-.015em;margin-bottom:5px}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.69rem;font-weight:800;color:#54718e;margin-bottom:8px}
.intro,.section-heading p,.message{color:#596a7b;font-size:.91rem;line-height:1.45}
.intro,.section-heading p{margin-bottom:0}
.badge{background:#deebf2;color:#16415a;border-radius:100px;padding:7px 11px;font-size:.76rem;font-weight:700;white-space:nowrap}
.badge-subtle{background:#e9eff2;color:#425b69}
.badge-warn{background:#fff0d2;color:#815407}
.badge-good{background:#dceee4;color:#185c39}
.card{background:#fff;border:1px solid #dce3e9;border-radius:15px;box-shadow:0 3px 12px #2336470a}
.connection,.query-bar{padding:22px 24px;margin-bottom:20px}
.connection-grid,.query-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:13px;margin-top:20px}
.query-grid{grid-template-columns:minmax(280px,3fr) minmax(125px,1fr) minmax(125px,1fr) auto}
.debug-toggle{grid-column:1/-1;display:inline-flex;flex-direction:row;align-items:center;gap:8px;font-size:.72rem;font-weight:600;color:#607588}
.debug-toggle input{margin:0;accent-color:#14618d}
label{display:flex;flex-direction:column;gap:6px;color:#425568;font-size:.76rem;font-weight:700}
input:not([type=checkbox]),select{height:39px;width:100%;padding:8px 10px;border:1px solid #cbd6df;border-radius:8px;background:#fff;color:#182432;outline:none}
input:focus,select:focus{border-color:#25729f;box-shadow:0 0 0 3px #25729f20}
.button{min-height:39px;padding:8px 16px;border:1px solid #145d87;border-radius:8px;background:#14618d;color:#fff;font-size:.83rem;font-weight:750}
.button:hover{background:#0d4d71}
.button-muted{border-color:#cbd6df;background:#fff;color:#3f5667}
.button-muted:hover{background:#f1f5f7}
.message{min-height:1.1em;margin:13px 0 0}
.message.error,.panel-status.error{color:#a63030}
.message.warning,.panel-status.warning{color:#855a0d}
.panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.panel{padding:20px 20px 24px;min-width:0}
.panel-heading{align-items:center;border-bottom:1px solid #e7edf1;padding-bottom:14px;margin-bottom:15px}
.panel-heading h2{font-size:1.2rem;margin-bottom:0}
.panel-count{color:#687b8b;font-size:.75rem;white-space:nowrap}
.panel-settings{display:grid;gap:14px}
.toggles{display:flex;flex-wrap:wrap;gap:7px}
.toggles label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;background:#f2f6f8;border:1px solid #e1e8ed;border-radius:7px;padding:6px 8px;font-size:.72rem;cursor:pointer}
.toggles input{margin:0;accent-color:#14618d}
.number-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.number-grid input,.number-grid select{height:35px}
.number-grid label{font-size:.69rem}
.panel-status{min-height:21px;color:#607588;font-size:.78rem;line-height:1.4;margin:17px 0 10px}
.result{display:flex;gap:13px;padding:15px 0;border-top:1px solid #ebeff2}
.result-image{width:74px;height:74px;flex:none;object-fit:contain;background:#f2f6f8;border-radius:7px}
.result-image-placeholder{display:flex;align-items:center;justify-content:center;color:#a4b2bd;font-size:.7rem;text-align:center}
.result-body{min-width:0;flex:1}
.result-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.result-title{font-size:.9rem;font-weight:700;line-height:1.35;color:#173c56;text-decoration:none}
.result-title:hover{text-decoration:underline}
.rank{flex:none;color:#577083;font-size:.72rem;font-weight:800}
.result-meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:#657789;font-size:.73rem;margin-top:5px}
.result-price{color:#1c593e;font-size:.85rem;font-weight:750;margin-top:7px}
.result-price del{color:#85939d;font-size:.72rem;font-weight:400;margin-left:6px}
.result-debug{color:#758798;font-size:.69rem;margin-top:5px}
.empty{padding:24px 0;color:#687b8b;font-size:.84rem}
@media(max-width:1100px){.panels{grid-template-columns:1fr}.query-grid{grid-template-columns:2fr 1fr 1fr}.query-grid button{grid-column:1/-1}}
@media(max-width:650px){.masthead,.section-heading{flex-direction:column;align-items:flex-start}.connection-grid,.query-grid{grid-template-columns:1fr}.query-grid button{grid-column:auto}.number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.connection,.query-bar,.panel{padding:18px}}
