/* ==========================================================================
   SHM Leads SaaS — Auth, Dashboard, Checkout, Marquee, Pricing extensions
   ========================================================================== */

/* ---------- Shared form bits (auth + dashboard) ---------- */
.shm-field { margin-bottom: 18px; }
.shm-field-label { display: block; font-size: 0.85rem; color: var(--shm-gray); margin-bottom: 8px; font-weight: 600; }
.shm-input {
	width: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--shm-border);
	background: rgba(255,255,255,0.03); color: var(--shm-white); font-size: 0.95rem; font-family: inherit;
}
.shm-input:focus { outline: 2px solid var(--shm-accent); outline-offset: 1px; }
.shm-input:disabled { opacity: 0.6; }
.shm-textarea { min-height: 90px; resize: vertical; }
.shm-btn-block { width: 100%; }
.shm-btn-sm { padding: 8px 14px; font-size: 0.82rem; }
.shm-form-error { color: #ff6b6b; background: rgba(255,107,107,0.1); border: 1px solid rgba(255,107,107,0.3); padding: 12px 16px; border-radius: 10px; margin-bottom: 18px; }
.shm-form-success { color: #4ade80; background: rgba(74,222,128,0.1); border: 1px solid rgba(74,222,128,0.3); padding: 12px 16px; border-radius: 10px; margin-bottom: 18px; }
.shm-form-note { color: var(--shm-gray-dim); font-size: 0.82rem; }

.shm-checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.shm-checkbox { display: flex; align-items: center; gap: 8px; font-size: 0.88rem; color: var(--shm-white); cursor: pointer; }
.shm-checkbox input { accent-color: var(--shm-accent); width: 16px; height: 16px; }
.shm-pill-radio { display: flex; align-items: center; gap: 8px; padding: 14px; border-radius: 12px; border: 1px solid var(--shm-border); cursor: pointer; }
.shm-pill-radio input { accent-color: var(--shm-accent); }

.shm-choice-grid-compact { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 10px; }
.shm-pill { padding: 10px 14px; border-radius: 10px; border: 1px solid var(--shm-border); background: rgba(255,255,255,0.03); color: var(--shm-white); cursor: pointer; font-weight: 600; font-size: 0.85rem; text-decoration: none; display: inline-block; }
.shm-pill.is-selected { border-color: var(--shm-accent); background: var(--shm-accent); }

.shm-js-search-select, .shm-js-chip-select { position: relative; }
.shm-chips-selected { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.shm-chip-removable { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--shm-accent-soft); color: var(--shm-white); font-size: 0.85rem; border: 1px solid var(--shm-border); }
.shm-chip-removable button { background: none; border: none; color: inherit; cursor: pointer; font-size: 1rem; line-height: 1; padding: 0; }
.shm-chipselect-input { width: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--shm-border); background: rgba(255,255,255,0.03); color: var(--shm-white); font-family: inherit; }
.shm-chipselect-dropdown { position: absolute; z-index: 10; top: calc(100% + 6px); left: 0; right: 0; max-height: 220px; overflow-y: auto; background: var(--shm-charcoal); border: 1px solid var(--shm-border); border-radius: 12px; box-shadow: var(--shm-shadow); }
.shm-chipselect-option { display: block; width: 100%; text-align: left; padding: 10px 14px; background: none; border: none; color: var(--shm-white); cursor: pointer; font-size: 0.88rem; }
.shm-chipselect-option:hover { background: var(--shm-accent-soft); }
.shm-chipselect-add { color: var(--shm-accent); font-weight: 600; }

.shm-inline-form { display: inline-flex; align-items: center; gap: 8px; margin: 10px 8px 0 0; flex-wrap: wrap; }
.shm-inline-form select { padding: 8px 10px; border-radius: 8px; border: 1px solid var(--shm-border); background: var(--shm-charcoal); color: var(--shm-white); }

/* ---------- Auth pages ---------- */
.shm-auth-wrap { padding: 90px 0; display: flex; justify-content: center; }
.shm-auth-card { width: 100%; max-width: 440px; padding: 40px; border-radius: var(--shm-radius); }
.shm-auth-links { text-align: center; margin-top: 18px; font-size: 0.88rem; color: var(--shm-gray); }
.shm-auth-links a { color: var(--shm-accent); text-decoration: none; }
.shm-checkout-card { max-width: 480px; text-align: center; }
.shm-checkout-price { font-size: 2.2rem; font-weight: 800; color: var(--shm-white); margin: 16px 0 6px; }
.shm-checkout-price span { font-size: 1rem; color: var(--shm-gray); font-weight: 500; }
.shm-checkout-legal { font-size: 0.76rem; color: var(--shm-gray-dim); margin-top: 16px; }
.shm-checkout-legal a { color: var(--shm-accent); }

/* ---------- Dashboard shell ---------- */
.shm-dashboard { padding: 40px 0 80px; }
.shm-dashboard-inner { max-width: var(--shm-max-width); margin: 0 auto; padding: 0 24px; display: grid; gap: 32px; }
.shm-dash-sidebar-toggle { display: block; margin: 0 24px 16px; padding: 10px 16px; border-radius: 10px; border: 1px solid var(--shm-border); background: var(--shm-charcoal); color: var(--shm-white); cursor: pointer; }
.shm-dash-sidebar { background: rgba(255,255,255,0.03); border: 1px solid var(--shm-border); border-radius: var(--shm-radius); padding: 20px; height: fit-content; }
.shm-dash-sidebar-title { color: var(--shm-gray); text-transform: uppercase; font-size: 0.72rem; letter-spacing: 0.08em; margin-bottom: 14px; }
.shm-dash-nav { display: flex; flex-direction: column; gap: 2px; }
.shm-dash-nav a { padding: 10px 12px; border-radius: 8px; color: var(--shm-gray); text-decoration: none; font-weight: 600; font-size: 0.9rem; }
.shm-dash-nav a:hover { background: rgba(255,255,255,0.04); color: var(--shm-white); }
.shm-dash-nav a.is-active { background: var(--shm-accent-soft); color: var(--shm-white); }
.shm-dash-logout { margin-top: 12px; border-top: 1px solid var(--shm-border); padding-top: 14px !important; color: #ff8b8b !important; }
.shm-dash-main { min-width: 0; }
.shm-dash-title { font-size: 1.8rem; color: var(--shm-white); margin-bottom: 20px; }
.shm-dash-subtitle { font-size: 1.2rem; color: var(--shm-white); margin: 30px 0 14px; }

.shm-dash-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-bottom: 28px; }
.shm-dash-card { background: rgba(255,255,255,0.03); border: 1px solid var(--shm-border); border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.shm-dash-card span { color: var(--shm-gray); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; }
.shm-dash-card strong { color: var(--shm-white); font-size: 1.4rem; font-family: var(--shm-font-heading); }

.shm-dash-form { max-width: 640px; }

.shm-table-scroll { overflow-x: auto; }
.shm-dash-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.shm-dash-table th, .shm-dash-table td { text-align: left; padding: 12px 14px; font-size: 0.86rem; border-bottom: 1px solid var(--shm-border); white-space: nowrap; }
.shm-dash-table th { color: var(--shm-gray); text-transform: uppercase; font-size: 0.7rem; letter-spacing: 0.05em; }
.shm-dash-table td { color: var(--shm-white); }

.shm-badge { display: inline-block; padding: 5px 12px; border-radius: 999px; font-size: 0.74rem; font-weight: 700; border: 1px solid var(--shm-border); }
.shm-badge-new { color: #7fb8ff; border-color: rgba(127,184,255,0.4); background: rgba(127,184,255,0.08); }
.shm-badge-in_progress { color: #ffd166; border-color: rgba(255,209,102,0.4); background: rgba(255,209,102,0.08); }
.shm-badge-completed_pending_review { color: #c792ea; border-color: rgba(199,146,234,0.4); background: rgba(199,146,234,0.08); }
.shm-badge-completed { color: #4ade80; border-color: rgba(74,222,128,0.4); background: rgba(74,222,128,0.08); }
.shm-badge-uncompleted { color: #ff8b8b; border-color: rgba(255,139,139,0.4); background: rgba(255,139,139,0.08); }
.shm-badge-canceled { color: var(--shm-gray-dim); border-color: var(--shm-border); }

.shm-job-card { padding: 22px; border-radius: var(--shm-radius); margin-bottom: 18px; }
.shm-job-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; flex-wrap: wrap; }
.shm-job-card p { margin: 0 0 8px; font-size: 0.88rem; }
.shm-notes-list { margin-top: 12px; border-top: 1px solid var(--shm-border); padding-top: 12px; }
.shm-note-item { font-size: 0.84rem; }
.shm-version-history { margin-top: 12px; border-top: 1px solid var(--shm-border); padding-top: 10px; }
.shm-version-history summary { cursor: pointer; color: var(--shm-accent); font-size: 0.84rem; font-weight: 600; }
.shm-version-history .shm-note-item { padding: 4px 0 0 4px; }

.shm-filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.shm-filter-row a.shm-pill { text-decoration: none; }

.shm-usage-bar { height: 10px; border-radius: 999px; background: rgba(255,255,255,0.06); overflow: hidden; margin: 10px 0; }
.shm-usage-bar-fill { height: 100%; background: var(--shm-accent); }

.shm-activity-list { display: flex; flex-direction: column; gap: 2px; }
.shm-activity-row { display: flex; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--shm-border); font-size: 0.86rem; }
.shm-activity-time { color: var(--shm-gray-dim); min-width: 90px; }

@media (min-width: 900px) {
	.shm-dashboard-inner { grid-template-columns: 240px 1fr; }
	.shm-dash-sidebar-toggle { display: none; }
}
@media (max-width: 899px) {
	.shm-dash-sidebar { display: none; }
	.shm-dash-sidebar.is-open { display: block; }
}

/* ---------- Pricing extensions: toggle, badge, excluded features ---------- */
.shm-billing-toggle { display: inline-flex; gap: 4px; padding: 5px; border-radius: 999px; background: rgba(255,255,255,0.04); border: 1px solid var(--shm-border); margin-bottom: 36px; }
.shm-toggle-btn { padding: 10px 18px; border-radius: 999px; border: none; background: transparent; color: var(--shm-gray); font-weight: 700; font-size: 0.85rem; cursor: pointer; }
.shm-toggle-btn.is-active { background: var(--shm-accent); color: #fff; }
.shm-price-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--shm-accent); color: #fff; padding: 4px 14px; border-radius: 999px; font-size: 0.72rem; font-weight: 700; }
.shm-price-featured { position: relative; }
.shm-price-amount { font-size: 2.2rem; font-weight: 800; color: var(--shm-white); font-family: var(--shm-font-heading); margin: 6px 0; }
.shm-price-amount small { font-size: 1rem; color: var(--shm-gray); font-weight: 500; }
.shm-price-equiv { font-size: 0.78rem; color: var(--shm-gray); font-weight: 500; }
.shm-price-card li.is-excluded { opacity: 0.45; }
.shm-price-card li.is-excluded::before { content: none; }

/* ---------- Companies marquee ---------- */
.shm-marquee-section { padding: 40px 0 60px; overflow: hidden; }
.shm-marquee-title { text-align: center; color: var(--shm-gray); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.78rem; margin-bottom: 22px; }
.shm-marquee-track-wrap { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.shm-marquee-track { display: flex; width: max-content; animation: shmMarquee 42s linear infinite; }
.shm-marquee-track:hover { animation-play-state: paused; }
.shm-marquee-set { display: flex; align-items: center; }
.shm-marquee-item { padding: 0 34px; color: var(--shm-gray); font-family: var(--shm-font-heading); font-weight: 700; font-size: 1.05rem; white-space: nowrap; opacity: 0.7; }
@keyframes shmMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .shm-marquee-track { animation: none; overflow-x: auto; } }

/* ---------- Cookie consent banner ---------- */
.shm-cookie-banner {
	position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 300; max-width: 560px; margin: 0 auto;
	padding: 20px 22px; border-radius: var(--shm-radius); display: flex; flex-wrap: wrap; align-items: center; gap: 14px;
	box-shadow: var(--shm-shadow);
}
.shm-cookie-banner p { margin: 0; font-size: 0.85rem; flex: 1 1 260px; }
.shm-cookie-banner a { color: var(--shm-accent); }
.shm-cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }


/* v4 dashboard search/filter controls */
.shm-dashboard-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 18px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025)}
.shm-dashboard-search .shm-input{min-width:260px;flex:1}
.shm-dashboard-search .shm-btn{white-space:nowrap}
@media(max-width:640px){.shm-dashboard-search{align-items:stretch}.shm-dashboard-search .shm-input{min-width:100%;width:100%}.shm-dashboard-search .shm-btn{flex:1}}

.shm-dash-sidebar .shm-theme-toggle{margin-top:10px}.shm-inline-form .shm-input{max-width:300px}.shm-inline-form input[type=file]{max-width:260px}.shm-filter-row .shm-pill{cursor:pointer}
body[data-shm-theme="light"] .shm-dash-table th,body[data-shm-theme="light"] .shm-dash-table td{border-color:var(--shm-border)}
body[data-shm-theme="light"] .shm-chipselect-dropdown{background:#fff}.shm-chipselect-option{color:var(--shm-white)}
/* Team/account select readability fix in both dashboard themes. */
.shm-inline-form select,.shm-dash-form select,.shm-role-select{color:var(--shm-white);background:var(--shm-charcoal);}
.shm-inline-form select option,.shm-dash-form select option,.shm-role-select option{color:#111827;background:#fff;}
body[data-shm-theme="light"] .shm-inline-form select,body[data-shm-theme="light"] .shm-dash-form select,body[data-shm-theme="light"] .shm-role-select{color:#111827;background:#fff;}
body[data-shm-theme="light"] .shm-inline-form select option,body[data-shm-theme="light"] .shm-dash-form select option,body[data-shm-theme="light"] .shm-role-select option{color:#111827;background:#fff;}
.shm-status-text{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--shm-border);border-radius:10px;color:var(--shm-gray);font-size:.84rem;}
.shm-field-help{margin:6px 0 0;color:var(--shm-gray-dim);font-size:.78rem;}
/* ---------- Refined B2C public section + custom request box ---------- */
.shm-b2c-section{overflow:hidden}
.shm-b2c-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:54px;align-items:center}
.shm-b2c-copy .shm-section-title{max-width:760px;margin-bottom:18px}
.shm-b2c-proof-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0 30px}
.shm-b2c-proof-row>div{padding:15px 16px;border:1px solid var(--shm-border);border-radius:14px;background:rgba(255,255,255,.025)}
.shm-b2c-proof-row strong{display:block;color:var(--shm-white);font-size:.9rem;margin-bottom:5px}.shm-b2c-proof-row span{display:block;color:var(--shm-gray);font-size:.74rem;line-height:1.45}
.shm-b2c-panel{border:1px solid var(--shm-border);border-radius:24px;padding:24px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));box-shadow:0 20px 60px rgba(0,0,0,.18)}
.shm-b2c-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.shm-b2c-panel-head h3{margin:5px 0 0;font-family:var(--shm-font-heading);font-size:1.45rem;color:var(--shm-white)}.shm-b2c-panel-kicker,.shm-b2c-request-kicker{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:var(--shm-accent)}
.shm-b2c-panel-icon{display:grid;place-items:center;min-width:54px;height:38px;border:1px solid var(--shm-border);border-radius:11px;color:var(--shm-accent);font-size:.72rem;font-weight:800}
.shm-b2c-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shm-b2c-category-card{min-height:122px;padding:16px;border:1px solid var(--shm-border);border-radius:15px;background:rgba(255,255,255,.018)}.shm-b2c-category-card>span{display:block;color:var(--shm-accent);font-size:.68rem;font-weight:800;margin-bottom:9px}.shm-b2c-category-card strong{display:block;color:var(--shm-white);font-size:.9rem;margin-bottom:6px}.shm-b2c-category-card p{margin:0;color:var(--shm-gray);font-size:.76rem;line-height:1.5}.shm-b2c-note{margin:17px 0 0;color:var(--shm-gray);font-size:.75rem;line-height:1.55}
.shm-b2c-sources{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:center;margin-top:70px;padding-top:34px;border-top:1px solid var(--shm-border)}.shm-b2c-sources h3{margin:5px 0 8px;font-family:var(--shm-font-heading);font-size:1.35rem}.shm-b2c-sources p{margin:0;color:var(--shm-gray);line-height:1.65;font-size:.9rem}.shm-source-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.shm-source-grid span{padding:9px 12px;border:1px solid var(--shm-border);border-radius:999px;background:rgba(255,255,255,.02);color:var(--shm-gray);font-size:.76rem;font-weight:600}
.shm-b2c-request-box{margin:4px 0 22px;padding:22px;border:1px solid var(--shm-border);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}.shm-b2c-request-heading{margin-bottom:14px}.shm-b2c-request-heading .shm-field-label{display:block;margin-top:6px;font-size:1rem}.shm-b2c-requirements{min-height:150px;resize:vertical}.shm-b2c-request-examples{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.shm-b2c-request-examples>span{font-size:.72rem;color:var(--shm-gray);font-weight:700;margin-right:2px}.shm-b2c-example{border:1px solid var(--shm-border);border-radius:999px;background:transparent;color:var(--shm-gray);padding:7px 11px;cursor:pointer;font:inherit;font-size:.72rem;transition:.18s ease}.shm-b2c-example:hover{border-color:var(--shm-accent);color:var(--shm-white);background:var(--shm-accent-soft)}
@media(max-width:900px){.shm-b2c-hero-grid,.shm-b2c-sources{grid-template-columns:1fr}.shm-source-grid{justify-content:flex-start}.shm-b2c-proof-row{grid-template-columns:1fr}.shm-b2c-panel{order:2}}
@media(max-width:600px){.shm-b2c-category-grid{grid-template-columns:1fr}.shm-b2c-panel{padding:18px;border-radius:18px}.shm-b2c-proof-row{margin:22px 0}.shm-b2c-sources{margin-top:48px}}



/* ======================================================================
   v5.3 SaaS responsive + zoom hardening
   ====================================================================== */
.shm-dashboard-inner,
.shm-dashboard,
.shm-dash-main,
.shm-dash-sidebar,
.shm-job-card,
.shm-glass,
.shm-dash-card,
.shm-auth-card { min-width: 0; max-width: 100%; }
.shm-dashboard-inner { width: 100%; }
.shm-dash-main { overflow-wrap: anywhere; }
.shm-dash-table th, .shm-dash-table td { overflow-wrap: anywhere; }
.shm-inline-form { max-width: 100%; }
.shm-inline-form select, .shm-inline-form input, .shm-inline-form .shm-btn { max-width: 100%; }
.shm-job-card-head > * { min-width: 0; }
.shm-job-card p, .shm-note-item, .shm-form-note { overflow-wrap: anywhere; }

@media (max-width: 959px) {
	.shm-dashboard { padding-top: 24px; }
	.shm-dashboard-inner { grid-template-columns: 1fr; padding-left: 20px; padding-right: 20px; gap: 18px; }
	.shm-dash-sidebar-toggle { margin-left: 20px; margin-right: 20px; width: calc(100% - 40px); }
	.shm-dash-sidebar { border-radius: 14px; }
	.shm-dash-main { width: 100%; }
	.shm-dash-title { font-size: 1.55rem; }
	.shm-dash-subtitle { font-size: 1.08rem; }
	.shm-dash-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.shm-inline-form { width: 100%; }
	.shm-inline-form select, .shm-inline-form .shm-input { flex: 1 1 180px; min-width: 0; }
	.shm-table-scroll { width: 100%; max-width: 100%; -webkit-overflow-scrolling: touch; }
}

@media (max-width: 640px) {
	.shm-dashboard-inner { padding-left: 16px; padding-right: 16px; }
	.shm-dash-sidebar-toggle { margin-left: 16px; margin-right: 16px; width: calc(100% - 32px); }
	.shm-dash-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
	.shm-dash-card { padding: 14px; }
	.shm-dash-card strong { font-size: 1.15rem; }
	.shm-dash-title { font-size: 1.35rem; }
	.shm-dashboard-search { padding: 10px; }
	.shm-dashboard-search .shm-input { min-width: 0; width: 100%; }
	.shm-dashboard-search .shm-btn { width: 100%; }
	.shm-auth-wrap { padding: 52px 0; }
	.shm-auth-card { padding: 24px 18px; }
	.shm-job-card { padding: 16px; }
	.shm-inline-form { display: grid; grid-template-columns: 1fr; width: 100%; margin-right: 0; }
	.shm-inline-form select, .shm-inline-form .shm-input, .shm-inline-form input[type=file], .shm-inline-form .shm-btn { width: 100%; max-width: 100%; min-width: 0; }
	.shm-filter-row { gap: 6px; }
	.shm-filter-row .shm-pill { flex: 1 1 auto; text-align: center; }
	.shm-cookie-banner { left: 12px; right: 12px; bottom: 12px; max-width: none; padding: 16px; gap: 10px; }
	.shm-cookie-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
	.shm-cookie-actions .shm-btn { width: 100%; padding-left: 10px; padding-right: 10px; }
}

@media (max-width: 380px) {
	.shm-dash-cards { grid-template-columns: 1fr; }
	.shm-cookie-actions { grid-template-columns: 1fr; }
}

/* Cookie banner disabled by SHM Leads: only strictly necessary cookies are used. */
#shm-cookie-banner { display:none !important; }

/* B2C request UX: clear SaaS-style sections without changing the overall visual system. */
.shm-form-section{margin:0 0 20px;padding:22px;border:1px solid var(--shm-border);border-radius:18px;background:rgba(255,255,255,.025)}
.shm-form-section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.shm-form-section-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(60,150,255,.12);color:var(--shm-accent);font-weight:800;font-size:.82rem}.shm-form-section-heading h2{margin:0 0 4px;font-size:1.05rem}.shm-form-section-heading p{margin:0;color:var(--shm-muted);font-size:.86rem;line-height:1.55}.shm-optional{font-size:.78rem;font-weight:500;color:var(--shm-muted)}.shm-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shm-b2c-smart-hint{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(60,150,255,.07);color:var(--shm-muted);font-size:.82rem}.shm-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 20px}.shm-filter-row .shm-pill{white-space:nowrap}
@media(max-width:700px){.shm-form-grid-2{grid-template-columns:1fr}.shm-form-section{padding:16px}.shm-form-section-heading{gap:10px}.shm-form-section-heading h2{font-size:1rem}}


/* Compact customer request form v5.6.0 */
.shm-dash-form .shm-form-section{
	margin:0 0 16px;
	padding:14px 0 16px;
	border:0;
	border-bottom:1px solid var(--shm-border);
	border-radius:0;
	background:transparent;
}
.shm-dash-form .shm-form-section:last-of-type{border-bottom:0}
.shm-dash-form .shm-form-section-heading{
	display:block;
	margin:0 0 11px;
}
.shm-dash-form .shm-form-section-heading>span{display:none}
.shm-dash-form .shm-form-section-heading h2{
	margin:0 0 3px;
	font-size:.98rem;
	font-weight:700;
}
.shm-dash-form .shm-form-section-heading p{
	margin:0;
	font-size:.78rem;
	line-height:1.45;
}
.shm-dash-form .shm-field{margin-bottom:10px}
.shm-dash-form .shm-field:last-child{margin-bottom:0}
.shm-dash-form .shm-field-label{font-size:.78rem;margin-bottom:6px}
.shm-dash-form .shm-input{min-height:42px;padding:10px 12px}
.shm-dash-form textarea.shm-input{min-height:110px}
.shm-dash-form .shm-b2c-requirements{min-height:120px}
.shm-dash-form .shm-choice-grid-compact{display:flex;gap:8px;max-width:220px}
.shm-dash-form .shm-pill-radio{padding:9px 14px;border-radius:9px;justify-content:center;font-size:.82rem}
.shm-dash-form .shm-b2c-request-examples{margin-top:8px}
.shm-dash-form .shm-b2c-smart-hint{margin-top:8px;padding:8px 10px;font-size:.76rem}
@media(max-width:700px){
	.shm-dash-form .shm-form-section{padding:12px 0 14px;margin-bottom:12px}
	.shm-dash-form .shm-form-section-heading{margin-bottom:9px}
	.shm-dash-form .shm-form-section-heading h2{font-size:.94rem}
	.shm-dash-form .shm-choice-grid-compact{max-width:none}
}

/* Premium, low-friction lead request UX v5.6.0 */
.shm-lead-request-form{max-width:980px}
.shm-request-typebar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;margin:0 0 16px;border:1px solid var(--shm-border);border-radius:14px;background:rgba(255,255,255,.025)}
.shm-request-typebar h2{margin:3px 0 3px;font-size:1.18rem}.shm-request-typebar p{margin:0;color:var(--shm-muted);font-size:.82rem}.shm-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--shm-accent);font-weight:800}
.shm-type-switch{display:flex;gap:5px;padding:4px;border:1px solid var(--shm-border);border-radius:10px;background:rgba(0,0,0,.16);flex:0 0 auto}.shm-type-option{cursor:pointer}.shm-type-option input{position:absolute;opacity:0}.shm-type-option span{display:block;padding:8px 18px;border-radius:7px;font-size:.82rem;font-weight:700;color:var(--shm-muted)}.shm-type-option input:checked+span{background:var(--shm-accent);color:#fff;box-shadow:0 3px 12px rgba(0,120,255,.18)}
.shm-request-section{padding:18px 0;border-bottom:1px solid var(--shm-border)}.shm-request-section-primary{padding-top:8px}.shm-request-section-compact{padding-top:15px;padding-bottom:15px}.shm-request-section-head{margin-bottom:14px}.shm-request-section-head>div{display:flex;gap:10px;align-items:flex-start}.shm-step-label{display:grid;place-items:center;min-width:27px;height:27px;border-radius:8px;background:rgba(60,150,255,.1);color:var(--shm-accent);font-size:.68rem;font-weight:800}.shm-request-section h3{margin:0 0 3px;font-size:.98rem}.shm-request-section p{margin:0;color:var(--shm-muted);font-size:.78rem;line-height:1.5}
.shm-request-description{min-height:105px!important;resize:vertical}.shm-example-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.shm-example-chips>span{font-size:.7rem;color:var(--shm-muted);margin-right:2px}.shm-example-chip,.shm-helper-btn{border:1px solid var(--shm-border);background:transparent;color:var(--shm-text);border-radius:999px;padding:6px 10px;font-size:.72rem;cursor:pointer}.shm-example-chip:hover,.shm-helper-btn:hover{border-color:var(--shm-accent);color:var(--shm-accent)}.shm-helper-btn{margin-top:10px;color:var(--shm-accent);font-weight:700}.shm-helper-result{margin-top:8px;padding:9px 11px;border:1px solid rgba(60,150,255,.2);border-radius:9px;background:rgba(60,150,255,.05);font-size:.76rem;color:var(--shm-muted)}.shm-helper-result span{display:inline-block;margin:4px 4px 0 0;padding:3px 7px;border-radius:999px;background:rgba(60,150,255,.1);color:var(--shm-text)}.shm-helper-result small{display:block;margin-top:5px;color:var(--shm-muted)}
.shm-advanced-section{border-bottom:1px solid var(--shm-border);padding:13px 0}.shm-advanced-section summary{cursor:pointer;list-style:none;font-size:.82rem;font-weight:700}.shm-advanced-section summary::-webkit-details-marker{display:none}.shm-advanced-section summary:after{content:'+';float:right;color:var(--shm-accent);font-size:1rem}.shm-advanced-section[open] summary:after{content:'−'}.shm-advanced-section summary span{font-weight:500;color:var(--shm-muted);font-size:.7rem;margin-left:5px}.shm-advanced-content{padding-top:13px}.shm-request-summary{margin-top:18px;padding:15px;border:1px solid var(--shm-border);border-radius:12px;background:rgba(255,255,255,.025)}.shm-request-summary h3{margin:2px 0 3px;font-size:.95rem}.shm-request-summary p{margin:0;color:var(--shm-muted);font-size:.75rem}.shm-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.shm-summary-grid span{display:block;padding:9px;border:1px solid var(--shm-border);border-radius:8px;background:rgba(0,0,0,.08);min-width:0}.shm-summary-grid b{display:block;font-size:.65rem;color:var(--shm-muted);font-weight:600;margin-bottom:3px}.shm-summary-grid em{display:block;font-size:.76rem;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shm-request-submit{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px}.shm-request-submit p{margin:0;color:var(--shm-muted);font-size:.75rem;max-width:620px}.shm-request-submit .shm-btn{white-space:nowrap}
@media(max-width:700px){.shm-request-typebar{display:block;padding:15px}.shm-type-switch{margin-top:12px;width:max-content}.shm-summary-grid{grid-template-columns:1fr 1fr}.shm-request-submit{display:block}.shm-request-submit .shm-btn{width:100%;margin-top:10px}.shm-example-chips{align-items:flex-start}.shm-example-chips>span{width:100%}}
@media(max-width:420px){.shm-summary-grid{grid-template-columns:1fr}.shm-type-switch{width:100%}.shm-type-option{flex:1}.shm-type-option span{text-align:center}}

/* ---------- B2B multi-source research bar: visually aligned with B2C ---------- */
.shm-b2b-sources{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:center;margin:34px 0 30px;padding:26px 0;border-top:1px solid var(--shm-border);border-bottom:1px solid var(--shm-border)}
.shm-b2b-sources h3{margin:5px 0 8px;font-family:var(--shm-font-heading);font-size:1.2rem;color:var(--shm-white)}
.shm-b2b-sources p{margin:0;color:var(--shm-gray);line-height:1.6;font-size:.84rem}
.shm-source-grid-b2b{justify-content:flex-end}
.shm-source-grid span{transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease}
.shm-source-grid span:hover{transform:translateY(-2px);border-color:var(--shm-accent);background:var(--shm-accent-soft);color:var(--shm-white)}
@media(max-width:900px){.shm-b2b-sources{grid-template-columns:1fr}.shm-source-grid-b2b{justify-content:flex-start}}
@media(max-width:600px){.shm-b2b-sources{margin:26px 0 24px;padding:22px 0}}

.shm-security-table code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;color:var(--shm-accent)}.shm-security-table small{color:var(--shm-gray-dim);font-size:.72rem}.shm-security-table td{vertical-align:top}
