/* Basic theme scaffold & color system (curious-blue scale) */
/* Palette source (logo base #2d94d1)
	 50:#f2f8fd 100:#e4f0fa 200:#c3e0f4 300:#8ec7eb 400:#52aade
	 500:#2d94d1 600:#1d72ac 700:#185c8c 800:#184e74 900:#194261 950:#112a40 */
:root {
	/* Core palette */
	--cb-50:#f2f8fd; --cb-100:#e4f0fa; --cb-200:#c3e0f4; --cb-300:#8ec7eb; --cb-400:#52aade; --cb-500:#2d94d1; --cb-600:#1d72ac; --cb-700:#185c8c; --cb-800:#184e74; --cb-900:#194261; --cb-950:#112a40;
	/* Semantic tokens */
	--brand: var(--cb-500);
	--brand-hover: var(--cb-600);
	--brand-active: var(--cb-700);
	--brand-soft: var(--cb-50);
	--brand-soft-alt: var(--cb-100);
	--brand-border: var(--cb-200);
	--brand-border-strong: var(--cb-300);
	--focus-ring: var(--cb-400);
	--text: #222; --bg:#fff; --muted:#666;
}
html, body { margin:0; padding:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--text); background: var(--bg); }
/* Header: logo centered with menu beneath */
header { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:16px 20px; border-bottom:1px solid #eee; }
.logo-image { height: 160px; max-width: 100%; width: auto; display:block; }
nav { width: 100%; }
nav ul { list-style:none; padding:0; margin:8px 0 0 0; display:flex; gap:16px; justify-content:center; flex-wrap: wrap; }
nav a { color: var(--text); text-decoration:none; padding:8px 10px; border-radius:6px; }
nav a:hover, nav a.active { background:#f3f7fb; color: var(--brand); }
.dropdown { position:relative; }
.dropdown-content { display:none; position:absolute; top:100%; left:0; min-width:160px; background:#fff; border:1px solid #eee; box-shadow:0 4px 16px rgba(0,0,0,.06); padding:8px 0; border-radius:8px; }
.dropdown:hover .dropdown-content { display:block; }
.dropdown-content a, .logout-form button { display:block; width:100%; text-align:left; padding:8px 12px; background:none; border:none; color:var(--text); }
main { max-width: 1100px; margin: 24px auto; padding: 0 16px; }
button, .button { background: var(--brand); color:#fff; border:none; padding:10px 14px; border-radius:8px; cursor:pointer; transition: background .18s ease, box-shadow .18s ease; }
button:hover, .button:hover { background: var(--brand-hover); color:#fff; }
button:active, .button:active { background: var(--brand-active); }
button:focus-visible, .button:focus-visible, nav a:focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }
/* Ensure header CTA keeps white text on hover despite nav a:hover color */
nav a.button { color:#fff; }
nav a.button:hover, nav a.button:focus { color:#fff; }
form p { margin: 0 0 12px 0; }
footer { margin-top:40px; padding:20px; border-top:1px solid #eee; color: var(--muted); font-size: 14px; text-align:center; }
footer .footer-logo { height: 22px; vertical-align: middle; margin-left: 6px; }

/* Utility spacing & layout helpers migrated from inline styles */
.mt-1 { margin-top: .25rem; }
.mt-2 { margin-top: .5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }
.mb-1 { margin-bottom: .25rem; }
.mb-2 { margin-bottom: .5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 2rem; }
.mx-auto { margin-left:auto; margin-right:auto; }
.flex { display:flex; }
.flex-wrap { flex-wrap:wrap; }
.flex-col { flex-direction:column; }
.items-center { align-items:center; }
.gap-1 { gap:.25rem; }
.gap-2 { gap:.5rem; }
.gap-3 { gap:.75rem; }
.gap-4 { gap:1rem; }
.gap-5 { gap:1.5rem; }
.inline-block { display:inline-block; }
.block { display:block; }
.hidden { display:none; }
.w-1\/2 { width:50%; }
.max-w-50 { max-width:50%; }

/* Buttons variations extracted */
.btn-secondary { background:#6b7280; color:#fff; }
.btn-secondary:hover { background:#555b63; }
.btn-accent { background:#0a62ff; color:#fff; }
.btn-accent:hover { background:#084ecc; }
.btn-danger { background:#e11d48; color:#fff; }
.btn-danger:hover { background:#be123c; }

/* Specific component classes migrated */
.supplier-back-link, .sign-back-link { margin-bottom:1rem; display:inline-block; }
.logo-preview { max-height:100px; display:block; margin-bottom:.5rem; }
.plan-price-discount-note { color:green; font-weight:bold; }
.billing-toggle { margin:1rem 0; }
.billing-toggle label { margin-left:.5rem; }
.billing-toggle label + label { margin-left:1rem; }
.yearly-save { color:green; font-weight:bold; }
.plans-hidden { display:none; }

/* Profile form layout */
.form-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }
.form-item input[type=text],
.form-item input[type=email],
.form-item textarea { width:100%; padding:6px 8px; border:1px solid #ccc; border-radius:4px; }
.form-item-full { grid-column:1 / -1; }
.update-profile-button { margin-top:1rem; }
.error { color:#dc2626; font-size:.8rem; }
.profile-actions { display:flex; gap:8px; }

/* Signup page */
.account-type-toggle ul { list-style:none; padding:0; margin:0; display:flex; gap:1rem; }
.account-type-toggle li { display:inline; }
.account-type-toggle input { margin-right:4px; }
.signup-form .field-group { margin-bottom:1rem; }

/* Manage services grid */
.sign-type-grid-ms { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:.75rem; max-width:1000px; }
@media (min-width:900px){ .sign-type-grid-ms { grid-template-columns:repeat(5,1fr); } }
.sign-type-item { display:flex; align-items:center; gap:.35rem; padding:.5rem; border:1px solid #ccc; border-radius:6px; background:#fafafa; cursor:pointer; }
.sign-type-item input { margin:0; }
.sign-type-item:hover { background:#f0f9ff; border-color:#38bdf8; }

/* Supplier detail page */
.supplier-hero { display:flex; gap:1.5rem; align-items:center; margin-bottom:1.5rem; flex-wrap:wrap; }
.supplier-logo { max-height:120px; border:1px solid #ddd; padding:6px; background:#fff; border-radius:6px; }
.ratings-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.75rem; margin-bottom:1.5rem; }
.rating-item .bar { background:#e5e7eb; height:6px; border-radius:3px; margin-top:4px; overflow:hidden; }
.rating-item .bar .bar-fill { display:block; height:100%; background:#16a34a; width:0; transition:width .6s ease; }
.sign-type-image { max-width:120px; }
.sign-type-card { border:1px solid #e5e7eb; padding:.75rem; border-radius:8px; background:#fff; }

/* Sign detail page */
.sign-hero { display:flex; gap:1.5rem; align-items:flex-start; flex-wrap:wrap; margin-bottom:1.5rem; }
.sign-image-lg { max-width:260px; border:1px solid #ddd; padding:6px; background:#fff; border-radius:6px; }
.sizes { list-style:disc; padding-left:1.25rem; }
.related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.75rem; }
.related-item { border:1px solid #e5e7eb; padding:.5rem; border-radius:6px; display:flex; flex-direction:column; align-items:center; text-align:center; background:#fff; text-decoration:none; color:inherit; }
.related-item img { max-height:80px; margin-bottom:.25rem; }

/* Dynamic status bar fill colors for ratings moved from inline logic; keep base .status-bar-fill; color classes */
.rating-good { background-color:green; }
.rating-mid { background-color:yellow; }
.rating-low { background-color:red; }

/* Hero image welcome */
.welcome-hero-image { max-width:50%; height:auto; border-radius:8px; display:block; margin:1rem auto 0; }
.hero-image { max-width:50%; height:auto; border-radius:8px; display:block; margin:1rem auto 0; }
.my-10 { margin-top:40px; margin-bottom:40px; }

/* Generic sign-type grid used on supplier detail */
.sign-type-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }


/* Centered page headings and search sections */
.centered-heading { text-align:center; margin: 8px 0 14px; }
.search-form { display:flex; justify-content:center; gap:8px; margin: 10px 0 18px; }
.search-bar { flex:1 1 420px; max-width: 540px; padding:10px 12px; border:1px solid #e6eaf0; border-radius:8px; }
.search-button { padding:10px 14px; }
.search-results-heading { text-align:center; margin: 6px 0 18px; color: var(--muted); font-weight:500; }

/* Generic centered content helpers */
.centered-content { text-align:center; display:flex; flex-direction:column; align-items:center; }
.centered-narrow { max-width: 720px; margin-left:auto; margin-right:auto; }
.centered-form { width:100%; max-width: 420px; margin: 0 auto; text-align:left; }
.centered-list { list-style-position: inside; text-align:left; margin: 0 auto; }

/* Regions filter centered */
.regions-filter { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin: 10px 0 14px; }
.regions-filter a { padding:6px 10px; border-radius:999px; border:1px solid #e6eaf0; text-decoration:none; color:var(--text); }
.regions-filter a.selected { background:var(--brand); color:#fff; border-color:var(--brand); }

/* Buy a Sign: Centered filter bar for Region + Supplier */
.filters-form { display:flex; justify-content:center; align-items:flex-end; gap:12px; flex-wrap:wrap; margin: 10px 0 16px; }
.filters-form label { font-size:14px; color: var(--muted); }
.filters-form select { padding:8px 10px; border:1px solid #e6eaf0; border-radius:8px; background:#fff; }
.filters-form .apply-filters-button { padding:8px 12px; }

/* Supplier grid: 3 columns (left-to-right, top-to-bottom) */
.supplier-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; align-items: stretch; }
.supplier-card { border:1px solid #e6eaf0; border-radius:12px; padding:14px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.03); display:flex; flex-direction:column; }
.supplier-image { width:100%; height:160px; object-fit:contain; border-radius:8px; background:#f8fafc; }
.stats { display:grid; grid-template-columns: repeat(2, 1fr); gap:10px; margin-top:10px; }
.stat p { margin:0 0 6px 0; font-size:14px; }
.status-bar { width:100%; height:8px; background:#eef2f7; border-radius:6px; overflow:hidden; }
.status-bar-fill { height:100%; display:block; }
.toggle-signs-button { margin-top: 10px; align-self:flex-start; }
.signs-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap:10px; margin-top:10px; }
.signs-grid .sign-card { border:1px solid #eef2f7; border-radius:8px; padding:10px; text-align:center; }
.signs-grid .sign-image { width:100%; height:90px; object-fit:contain; }

/* Buy a Sign grid: 5 columns; lock sign image size to consistent box */
.sign-grid { display:grid; grid-template-columns: repeat(5, 1fr); gap:16px; align-items:stretch; }
.sign-grid .sign-card { display:flex; flex-direction:column; border:1px solid #e6eaf0; border-radius:12px; padding:12px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.03); }
.sign-grid .sign-card .sign-image { width:100%; height:140px; object-fit:contain; background:#f8fafc; border-radius:8px; }
.sign-grid .sign-card h2 { margin:8px 0; font-size:18px; }
.supplier-buttons, .size-buttons { display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 10px; }
.supplier-button, .size-button, .add-to-purchase-cart-button, .add-to-quote-cart-button { background:var(--brand-soft); color:var(--brand); border:1px solid var(--brand-border); }
.supplier-button:hover, .size-button:hover, .add-to-purchase-cart-button:hover, .add-to-quote-cart-button:hover { background:var(--brand-soft-alt); }
.supplier-button.selected, .size-button.selected { background:var(--brand); color:#fff; border-color:var(--brand); }
.quantity-input { width:90px; padding:6px 8px; border:1px solid #e6eaf0; border-radius:8px; }

/* Responsive adjustments */
@media (max-width: 1100px) {
	.sign-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 900px) {
	.supplier-grid { grid-template-columns: repeat(2, 1fr); }
	.sign-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
	.supplier-grid { grid-template-columns: 1fr; }
	.sign-grid { grid-template-columns: repeat(2, 1fr); }
	.search-form { flex-direction:column; align-items:stretch; }
	.search-button { width:100%; }
}

/* Login page branding */
.login-brand { display:flex; align-items:center; justify-content:center; margin: 8px 0 16px; }
.intelli-logo { height: 22px; }

/* Subscription page */
.subscription-selector { margin-top: 12px; }
.account-type { display:flex; gap:12px; margin: 12px 0 20px; }
.plans-row { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:16px; align-items:stretch; }
.plan-card { position:relative; display:flex; flex-direction:column; border:1px solid #e6eaf0; border-radius:12px; padding:18px; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.03); }
.plan-card .badge { position:absolute; top:-10px; left:16px; background:#ffbf00; color:#222; padding:4px 8px; border-radius:6px; font-size:12px; font-weight:600; box-shadow:0 2px 6px rgba(0,0,0,.08); }
.plan-card.featured { border-color:var(--brand); box-shadow:0 8px 24px rgba(45,148,209,.18); transform: translateY(-2px); }
.plan-card .price { font-size: 20px; margin: 8px 0 10px; }
.plan-card .features { flex:1; padding-left:18px; margin: 0 0 14px 0; }
.plan-card .features li { margin:6px 0; color:#334155; }
.plan-card form { margin-top:auto; }

/* Transparency note on subscription page */
.transparency-note { margin:16px 0 24px; padding:14px 16px; border:1px solid var(--brand-border); background:var(--brand-soft); border-left:4px solid var(--brand); border-radius:8px; font-size:14px; line-height:1.4; color:#0f3352; }
.transparency-note strong { color:var(--brand); }

/* Verification Badge */
.verification-badge { display:inline-flex; align-items:center; margin-left:6px; }
.verification-icon { width:34px; height:34px; display:inline-block; }
.verification-icon-small { width:20px; height:20px; display:inline-block; position:relative; top:3px; }

/* -------------------------------------------------- */
/* Extracted from inline <style> blocks (site-wide)   */
/* -------------------------------------------------- */
/* Nav dropdown (compact + general) */
.nav-inline { position:relative; }
.nav-inline .nav-dropdown { position:relative; display:inline-block; }
.nav-inline .nav-dropdown > .nav-link { background:none; border:0; cursor:pointer; font:inherit; color:inherit; padding:0; }
.nav-dropdown-panel { position:absolute; top:100%; left:0; display:none; min-width:320px; background:var(--slate-50,#fff); box-shadow:0 6px 32px -8px rgba(0,0,0,.2); border-radius:8px; padding:.75rem 1rem; z-index:40; border:1px solid var(--slate-200,#e5e7eb); }
.nav-dropdown-panel.open { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1rem; }
.nav-dropdown-group .group-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; font-weight:600; color:var(--cb-500,#2d94d1); margin-bottom:.35rem; }
.nav-dropdown-group ul { list-style:none; margin:0; padding:0; }
.nav-dropdown-group li { margin:0; padding:0; font-size:.8rem; }
.nav-dropdown-group a { display:block; text-decoration:none; padding:.25rem 0; color:var(--slate-700,#334155); }
.nav-dropdown-group a:hover { color:var(--indigo-600,#4f46e5); }
.nav-dropdown-group li.note { font-size:.65rem; line-height:1.1; color:var(--slate-500,#64748b); padding:.25rem 0 .5rem; }
.nav-dropdown-group li.divider { height:1px; background:var(--slate-200,#e2e8f0); margin:.35rem 0; }
.nav-dropdown-group span.locked, .nav-dropdown-group .locked { display:block; padding:.25rem 0; font-size:.7rem; color:var(--slate-400); cursor:not-allowed; }
/* Compact customer profile dropdown overrides */
/* Unified (previously 'compact') dropdown variant now matches standard sizing for consistency */
.nav-dropdown-compact .nav-dropdown-panel ul{list-style:none;margin:0;padding:0;}
.nav-dropdown-compact .nav-dropdown-group{margin:0 0 1rem;}
.nav-dropdown-compact .nav-dropdown-group:last-child{margin-bottom:0;}
.nav-dropdown-compact .group-label{font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--slate-600);margin:0 0 .4rem;}
.coming-soon-group .coming-soon-item{display:block;padding:.5rem .7rem;font-size:.8rem;color:var(--slate-500);background:var(--slate-100);border-radius:8px;cursor:not-allowed;line-height:1.15;}
.coming-soon-group .coming-soon-item + .coming-soon-item{margin-top:.35rem;}
.nav-dropdown-compact .nav-dropdown-panel a{display:block;padding:.5rem .7rem;font-size:.8rem;border-radius:8px;text-decoration:none;color:var(--slate-700);line-height:1.1;}
.nav-dropdown-compact .nav-dropdown-panel a:hover{background:var(--slate-100);color:var(--slate-900);}
.nav-dropdown-compact .locked{display:block;font-size:.75rem;padding:.45rem .7rem;color:var(--slate-400);}
.nav-profile-trigger-compact { padding:.55rem .85rem; font-size:.9rem; }
.nav-dropdown-panel-compact { min-width:260px; }

/* Harmonize standard dropdown panel link padding & size (non-compact) */
.nav-dropdown-panel a { font-size:.8rem; padding:.45rem .65rem; border-radius:6px; }
.nav-dropdown-panel a:hover { background:var(--slate-100); color:var(--slate-900); }

/* Larger, clearer group labels (override keeps light brand blue color for readability) */
.nav-dropdown-group .group-label { font-size:.7rem; color:var(--cb-500,#2d94d1); }

/* Header action area */
.header-actions { display:flex; gap:.55rem; align-items:center; }
.nowrap { white-space:nowrap; }

/* Footer links */
.legal-links { margin-top:.5rem; font-size:.7rem; display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; }
.site-credit { font-size:.65rem; margin-top:.75rem; color:var(--slate-500); }
.site-credit a { color:inherit; text-decoration:underline; }

/* KPI / Dashboard tiles */
.tile-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.tile.kpi { background:#fff;border:1px solid var(--slate-200);border-radius:8px;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05); }
.tile.kpi h3 { margin:0 0 .5rem;font-size:1rem;font-weight:600; }
.kpi-value { font-size:2rem;font-weight:600;margin:0 0 .25rem; }
.kpi-sub { margin:0;font-size:.75rem;color:var(--slate-500); }
.kpi-supplement { font-size:.8rem; color:var(--slate-500); }

/* Generic notice variants */
.notice { border-radius:6px; padding:.75rem 1rem; font-size:.75rem; }
.notice.warning { background:#fff4e5; border:1px solid #f0b429; }

/* Cards + variations moved from templates */
.cardish { background:#fff;border:1px solid var(--slate-200);border-radius:18px;padding:1.4rem 1.5rem;box-shadow:0 1px 2px rgba(0,0,0,.05); }
.card.slim { padding:1rem 1.1rem; }

/* Profile & verification (from profile.html) */
.profile-hero{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.75rem;}
.profile-title{margin:0;font-size:1.9rem;font-weight:800;letter-spacing:-.5px;}
.profile-tagline{margin:.4rem 0 0;font-size:.85rem;color:var(--slate-500);}
.profile-logo{max-height:120px;border:1px solid var(--slate-200);background:#fff;border-radius:14px;padding:10px;}
.profile-grid{display:grid;gap:1.5rem;}
@media (min-width:960px){.profile-grid{grid-template-columns:2fr 1fr;}}
.section-heading{margin:0 0 1rem;font-size:1.05rem;font-weight:600;letter-spacing:-.25px;}
.section-heading-sm{margin:0 0 .85rem;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--slate-500);}
.profile-form label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.25rem;color:var(--slate-500);}
.profile-form input[type=text], .profile-form input[type=email], .profile-form textarea{border:1px solid var(--slate-300);border-radius:8px;padding:8px 10px;font-size:.8rem;width:100%;background:#fff;}
.profile-form textarea{min-height:120px;}
.req{color:#dc2626;margin-left:2px;}
.logo-preview-lg{max-height:90px;border:1px solid var(--slate-200);background:#fff;padding:6px;border-radius:10px;}
.logo-flex{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.profile-actions-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}
.form-grid.profile-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem .9rem;align-items:start;}
.kv{margin:.35rem 0;font-size:.7rem;display:flex;justify-content:space-between;gap:.75rem;}
.kv span{color:var(--slate-500);}
.btn-sm{padding:.45rem .7rem;font-size:.65rem;}
.btn-muted{background:var(--slate-100);color:var(--slate-700);} .btn-muted:hover{background:var(--slate-200);}
.btn-accent{background:var(--emerald-400);color:#064e3b;} .btn-accent:hover{filter:brightness(1.05);}
.btn-danger{background:#dc2626;} .btn-danger:hover{background:#b91c1c;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

/* Preferences / security pages */
.page-narrow { max-width:760px; padding:1.5rem 1rem; margin:0 auto; }
.page-wide { max-width:1000px; padding:2rem 1rem; margin:0 auto; }
.page-title { margin:0; font-size:1.75rem; font-weight:700; letter-spacing:-.5px; }
.page-title-lg { margin:0 0 .5rem; font-size:1.6rem; font-weight:800; letter-spacing:-.5px; }
.page-intro, .muted-intro { margin:.5rem 0 0; font-size:.85rem; color:var(--slate-600); }
.muted-small { font-size:.65rem; color:var(--slate-600); }
.prefs-heading{font-size:1rem;margin:0 0 .75rem;font-weight:600;letter-spacing:-.25px;}
.prefs-section{margin-top:2rem;}
.prefs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;}
.toggle-row{display:flex;align-items:flex-start;gap:.75rem;background:#fff;border:1px solid var(--slate-200);padding:.75rem .85rem;border-radius:12px;}
.toggle-row input[type=checkbox]{margin-top:.2rem;}
.toggle-meta{flex:1;min-width:0;}
.toggle-meta h3{margin:0;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--slate-600);}
.toggle-meta p{margin:.25rem 0 0;font-size:.7rem;line-height:1.25;color:var(--slate-500);}
.input{border:1px solid var(--slate-300);border-radius:8px;padding:6px 10px;font-size:.8rem;background:#fff;}

/* Favorite star button (find_supplier) */
.favorite-btn{background:transparent;border:none;cursor:pointer;padding:2px;display:inline-flex;align-items:center;justify-content:center;}
.favorite-btn .star{fill:#9ca3af;transition:fill .2s ease;}
.favorite-btn.active .star{fill:#f5b400;}
.favorite-btn:hover .star{fill:#facc15;}

/* Misc extracted utility wrappers */
.section-pad-lg { padding:2rem 1rem; }
.section-pad-md { padding:1.5rem 1rem; }
.grid-auto-220 { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.grid-auto-230 { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }
.flex-col-gap-sm { display:flex; flex-direction:column; gap:.35rem; }
.flex-col-gap-md { display:flex; flex-direction:column; gap:.6rem; }
.flex-col-gap-lg { display:flex; flex-direction:column; gap:.9rem; }
.badge-verified { background:var(--green-600); color:#fff; display:inline-flex; align-items:center; gap:2px; font-size:.55rem; }



