[hidden] { display: none !important; }
.model-search { margin-bottom:32px; padding:20px; border:1px solid var(--c-border); border-radius:16px; background:var(--c-surface); }
.model-search label { display:block; font-size:14px; font-weight:500; }
.model-search input { display:block; width:100%; margin-top:10px; padding:10px 12px; border:1px solid var(--c-border); border-radius:8px; background:var(--c-bg); color:var(--c-fg); font-size:14px; }
.model-search input:focus-visible { outline:2px solid var(--c-accent); outline-offset:2px; }
.model-search p { margin-top:10px; font-size:12px; line-height:1.7; color:var(--c-muted); }
[data-api-model-results] details { padding:12px 0; border-bottom:1px solid var(--c-border); overflow-wrap:anywhere; font-size:13px; }
[data-api-model-results] summary { cursor:pointer; color:var(--c-accent-strong); }
[data-api-model-results] details div { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
[data-api-model-results] a { padding:6px 8px; background:var(--c-surface-2); border:1px solid var(--c-border); border-radius:6px; }
.quote-controls { display:flex; flex-wrap:wrap; align-items:end; gap:12px; padding:16px; }
.quote-controls label { display:grid; gap:6px; font-size:12px; color:var(--c-muted); min-width:120px; }
.quote-controls label:first-child { flex:1 1 220px; }
.quote-controls input,.quote-controls select,.quote-controls button,.quote-pagination button { font:inherit; color:var(--c-fg); background:var(--c-surface); border:1px solid var(--c-border); border-radius:8px; padding:8px 10px; min-height:38px; max-width:100%; }
.quote-controls input:focus-visible,.quote-controls select:focus-visible { outline:2px solid var(--c-accent); outline-offset:2px; }
.quote-controls button,.quote-pagination button { cursor:pointer; font-size:13px; }
.quote-pagination button:disabled { opacity:.45; cursor:default; }
.quote-result,.quote-sort-note { font-size:12px; color:var(--c-muted); padding:0 16px 12px; line-height:1.6; }
.quote-scroll { overflow-x:auto; max-width:100%; }
.quote-table { width:100%; text-align:left; font-size:14px; border-collapse:collapse; }
.quote-table th { padding:12px; font-weight:500; white-space:nowrap; color:var(--c-muted); background:var(--c-surface-2); }
.quote-table td { padding:8px 12px; vertical-align:top; min-width:5rem; max-width:18rem; overflow-wrap:anywhere; }
.quote-table td:first-child { min-width:11rem; }
.quote-table td:nth-child(2) { min-width:8rem; }
.quote-table td:nth-child(3) { min-width:12rem; }
.quote-table td:last-child { min-width:11rem; }
.quote-table tr { border-bottom:1px solid var(--c-border); }
.quote-table tr:last-child { border-bottom:0; }
.quote-table p { margin-top:8px; font-size:12px; line-height:1.6; color:var(--c-muted); }
.quote-table a,.quote-result a { color:var(--c-accent-strong); }
.quote-table a:hover,.quote-result a:hover { text-decoration:underline; }
.quote-pagination { display:flex; justify-content:center; align-items:center; gap:16px; padding:16px; font-size:13px; }
.quote-conditions { margin-top:8px; font-size:12px; }
.quote-conditions summary { cursor:pointer; color:var(--c-accent-strong); }
.quote-conditions pre { overflow:auto; max-width:22rem; white-space:pre-wrap; font-size:11px; margin-top:8px; }
.quote-estimate-open { display:block; margin-top:8px; color:var(--c-accent-strong); font-size:12px; cursor:pointer; text-decoration:underline; }
.quote-estimator { margin:0 16px 20px; padding:20px; border:1px solid var(--c-border); border-radius:12px; background:var(--c-surface-2); }
.quote-estimator h3 { font-size:16px; font-weight:600; overflow-wrap:anywhere; }
.quote-estimator p { font-size:12px; line-height:1.7; margin:10px 0; color:var(--c-muted); overflow-wrap:anywhere; }
.quote-estimator .quote-controls { padding:16px 0; }
.quote-estimator .quote-controls label { flex:1 1 200px; min-width:0; }
.quote-estimator .quote-controls input { width:100%; }
.quote-estimator form > button { margin-top:12px; padding:8px 12px; border:1px solid var(--c-border); border-radius:8px; font-size:13px; cursor:pointer; background:var(--c-surface); color:var(--c-accent-strong); }
.quote-estimator summary { font-size:13px; color:var(--c-accent-strong); cursor:pointer; }
html { scroll-behavior: smooth; }
.guide-code { margin-top:16px; padding:16px; border-radius:8px; background:var(--c-surface-2); font:12px/1.7 var(--font-mono,monospace); white-space:pre-wrap; overflow-wrap:anywhere; }
button, a { -webkit-tap-highlight-color: transparent; }
[data-filter-panel].is-expanded { display: flex; }
[data-preview-notice] { max-width: 48rem; margin-inline: auto; line-height: 1.7; }
[data-sort-menu] button:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }
[data-site-brand] { white-space: nowrap; flex-shrink: 0; }
/* Confirmed site palette: preserve captured sizing, spacing and layout. */
body { --c-accent: #087e9b; --c-accent-strong: #08647e; --c-accent-soft: #e6f4f8; }
html:not(.dark) body { --c-bg: #f7fafc; --c-fg: #17252d; --c-default: #eef4f7; --c-surface-2: #eff5f7; --c-border: #e0e7eb; --c-muted: #5b6d77; }
.dark body { --c-accent: #087e9b; --c-accent-strong: #67cee6; --c-accent-soft: #102932; }
body[data-route="/"] [data-home-status] { --c-accent: #0e7a53; --c-accent-strong: #0b5c3f; }
.dark body[data-route="/"] [data-home-status] { --c-accent: #129c6a; --c-accent-strong: #1ecb8c; }
[data-site-brand] svg rect,
[data-home-promotion] svg rect { fill: var(--c-accent); }
[data-home-promotion] { border-color: color-mix(in srgb, var(--c-accent) 25%, var(--c-border)); background-color: color-mix(in srgb, var(--c-accent-soft) 55%, var(--c-surface)); }
[data-home-promotion] [data-ad-stripe] { background: linear-gradient(var(--c-accent), var(--c-accent-strong), var(--c-accent)); }
[data-home-promotion] [data-ad-orbit] { border-color: color-mix(in srgb, var(--c-accent) 10%, transparent); }
[data-home-promotion] [data-ad-accent] { color: var(--c-accent-strong); border-color: color-mix(in srgb, var(--c-accent) 40%, transparent); }
[data-home-promotion] [data-ad-cta] { background: linear-gradient(var(--c-accent), var(--c-accent-strong)); }
[data-home-promotion] [data-ad-cta]:hover { background: var(--c-accent-strong); }
.dark [data-ad-cta] { background: linear-gradient(var(--c-accent), #066781); }
.dark [data-ad-cta]:hover,
.dark .hover\:bg-accent-strong:hover { background: #08647e; }
[data-home-submit]:hover { background: var(--c-accent-soft); }
[data-mobile-promotion] { display:flex !important; width:100% !important; min-width:0; margin:12px 0 20px; gap:12px; }
[data-mobile-promotion] p { overflow-wrap:anywhere; line-height:1.5; }
[data-mobile-promotion] [data-ad-cta] { display:block; min-height:40px; }
@media(min-width:1024px) { [data-mobile-promotion] { display:none !important; } }
.input-focus-glow:focus { box-shadow: 0 0 0 4px color-mix(in srgb, var(--c-accent) 14%, transparent), 0 1px 2px #0f172a0a; }
.dark .input-focus-glow:focus { box-shadow: 0 0 0 4px color-mix(in srgb, var(--c-accent) 22%, transparent), 0 0 18px color-mix(in srgb, var(--c-accent) 12%, transparent); }
.chip-selected-glow { box-shadow: 0 2px 8px color-mix(in srgb, var(--c-accent) 35%, transparent); }
.dark .chip-selected-glow { box-shadow: 0 2px 10px color-mix(in srgb, var(--c-accent-strong) 28%, transparent); }
.dark .sticky-edge-fade:after { background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--c-accent) 28%, transparent) 15% 85%, transparent); box-shadow: 0 1px 12px color-mix(in srgb, var(--c-accent) 8%, transparent); }
.ad-card-gradient-border { background-image: linear-gradient(var(--c-surface), var(--c-surface)), linear-gradient(135deg, color-mix(in srgb, var(--c-accent) 55%, transparent) 0%, var(--c-border) 45%, color-mix(in srgb, var(--c-accent) 55%, transparent) 100%); }
.ad-card-gradient-border:hover { background-image: linear-gradient(var(--c-surface), var(--c-surface)), linear-gradient(135deg, color-mix(in srgb, var(--c-accent) 90%, transparent) 0%, var(--c-border) 45%, color-mix(in srgb, var(--c-accent) 90%, transparent) 100%); }
.dark .ad-card-gradient-border { background-image: linear-gradient(var(--c-surface), var(--c-surface)), linear-gradient(135deg, color-mix(in srgb, var(--c-accent) 45%, transparent) 0%, color-mix(in srgb, var(--c-accent-strong) 12%, transparent) 45%, color-mix(in srgb, var(--c-accent) 45%, transparent) 100%); }
.dark .ad-card-gradient-border:hover { background-image: linear-gradient(var(--c-surface), var(--c-surface)), linear-gradient(135deg, color-mix(in srgb, var(--c-accent-strong) 85%, transparent) 0%, color-mix(in srgb, var(--c-accent-strong) 20%, transparent) 45%, color-mix(in srgb, var(--c-accent-strong) 85%, transparent) 100%); }
.dark .text-gradient-accent { background-image: linear-gradient(135deg, var(--c-accent-strong) 0%, #a1e5f2 100%); }
a[href^="/verify?"] { color: var(--c-accent-strong); }
a[href^="/verify?"]:hover { color: var(--c-accent); }
.mobile-menu-toggle, .mobile-site-nav { display: none; }
@media(max-width:1100px) {
  [data-primary-nav] { display: none !important; }
  .mobile-menu-toggle { display: inline-flex; }
  .mobile-site-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 12px 16px; border-top: 1px solid var(--c-border); }
  .mobile-site-nav a { padding: 10px; font-size: 13px; border-radius: 8px; }
  .mobile-site-nav a:hover { background: var(--c-surface-2); }
}
