/*!
Theme Name: Purple Moon Systems
Theme URI: https://www.purplemoondesigns.co.uk/
Author: Purple Moon Designs
Author URI: https://www.purplemoondesigns.co.uk
Description: A reusable base theme for Purple Moon Designs application projects — internal operations tools and client login/member portals. Ships the pmd framework (CPT + AJAX + Modal), role-based access, branded email, Cloudflare R2 media offload, Twilio 2FA login, PWA scaffold and an audit log. Brand everything per project from a single style-guide.php. Built on a WordPress + ACF Pro + Tailwind stack.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: purplemoonsystems

This theme is intended as a starting point. Per project: fill in the brand tokens
in the :root block below (this file is the live stylesheet), preview them on the
hub Style tab (renatas/style-guide.php), then build features with pmd_cpt() +
pmd_ajax() + pmd_modal_*(). See CLAUDE.md.
*/

/* =============================================================================
 * DESIGN TOKENS — single source of truth for the whole UI.
 *
 * Every component (including the pmd-modal system) reads these variables with a
 * fallback. Re-skin an entire project by editing ONLY this block, or by setting
 * the same variables inside pages/style-guide.php for that project.
 *
 * Values below are the EQHQ pipeline palette from system-demo (green, gold, canvas).
 * Keep the same block in sync in renatas/style-guide.php (hub Style tab).
 * ============================================================================= */
:root {
	/* Surfaces */
	--bg:   #ffffff;   /* card surface */
	--s1:   #F7F8F5;   /* canvas — page background */
	--s2:   #EEF1EC;   /* track — secondary surface */
	--s3:   #F2F4F0;   /* chip */

	/* Text */
	--t:    #1A1F1C;   /* ink */
	--tm:   #6B756E;   /* muted */
	--td:   #9AA39C;   /* quieter muted */

	/* Borders */
	--bd:   #E5E8E3;   /* line */

	/* Brand accent — EQHQ green */
	--ac:   #0E7A4B;                     /* brand */
	--ach:  #0C6840;                     /* brand hover */
	--acbg: rgba(14, 122, 75, .10);      /* brand @ 10% — focus rings */
	--ac2:  #34C47A;                     /* brand light — gradient end */

	/* Gold — commercial tags, unassigned, pending deposits */
	--gold:      #C9A227;
	--gold-soft: #F6EBC4;
	--gold-deep: #8A6D0A;
	--gold-line: #E7D48C;

	/* Stripe pay button */
	--stripe: #635BFF;

	/* Status */
	--gn:   #0E7A4B;   /* success — brand green */
	--am:   #8A6D0A;   /* warning — gold deep */
	--rd:   #b91c1c;   /* danger */
	--bl:   #1d4ed8;   /* info */

	/* Radius scale — demo uses 8px controls and 12px cards */
	--r:    8px;
	--rm:   12px;
	--rs:   8px;

	/* Elevation */
	--shadow-soft: 0 1px 2px rgba(20,30,20,.04), 0 2px 6px rgba(20,30,20,.04);
	--shadow-md:   0 4px 24px -6px rgba(20,30,20,.12);
	--shadow-xl:   -14px 0 32px rgba(20,30,20,.14);

	/* Type — Inter for headings and body, matching system-demo */
	--font-heading: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* =============================================================================
 * MINIMAL RESET / BASE
 * Tailwind (loaded per-page or via build) handles utilities. This file owns
 * brand tokens + the app shell structure so it survives Tailwind JIT purging.
 * ============================================================================= */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font-body); color: var(--t); background: var(--s1); }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ac); text-decoration: none; }
a:hover { color: var(--ach); }

.content_wrap { max-width: 1400px; width: 90%; margin: 0 auto; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* =============================================================================
 * APP SHELL — sidebar + main, both fully token-driven.
 * Class prefix: pms-  (rename freely; keep prefixes consistent per project)
 * ============================================================================= */
.pms-app { display: flex; min-height: 100vh; background: var(--s1); }

.pms-sidebar {
	width: 248px; flex: 0 0 248px;
	background: var(--bg);
	border-right: 1px solid var(--bd);
	padding: 20px 14px;
	display: flex; flex-direction: column; gap: 4px;
	position: sticky; top: 0; height: 100vh; overflow-y: auto;
}
.pms-sidebar__brand { font-family: var(--font-heading); font-weight: 700; font-size: 18px; color: var(--ac); padding: 6px 10px 18px; letter-spacing: -.3px; }

.pms-sidebar__item {
	display: flex; align-items: center; gap: 12px;
	padding: 10px 12px; border-radius: var(--r);
	color: var(--tm); font-weight: 500; font-size: 14px;
	transition: background .15s ease, color .15s ease;
}
.pms-sidebar__item:hover { background: var(--s2); color: var(--t); }
.pms-sidebar__item--active,
.pms-sidebar__item--active:hover {
	background: linear-gradient(to right, var(--ac), var(--ac2));
	color: #fff;
}
.pms-sidebar__icon { width: 18px; height: 18px; flex: 0 0 18px; color: currentColor; }

.pms-sidebar__user { margin-top: auto; padding: 12px 10px; border-top: 1px solid var(--bd); font-size: 13px; color: var(--tm); }
.pms-sidebar__user-name { color: var(--t); font-weight: 600; }
.pms-sidebar__user-role { color: var(--td); font-size: 12px; }

.pms-main { flex: 1 1 auto; min-width: 0; padding: 28px 32px; }

/* Generic card surface */
.pms-card { background: var(--bg); border: 1px solid var(--bd); border-radius: var(--rm); box-shadow: var(--shadow-soft); padding: 24px; }

/* Buttons (also documented in style-guide.php) */
.pms-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 14px; border-radius: var(--r); font-family: var(--font-body); font-weight: 600; font-size: 13px; cursor: pointer; border: 1px solid transparent; transition: background .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease; }
.pms-btn:disabled { opacity: .45; cursor: not-allowed; }
.pms-btn.pms-btn--primary { background-color: var(--ac); background-image: linear-gradient(135deg, var(--ac), var(--ac2)); color: #fff; box-shadow: var(--shadow-soft); }
.pms-btn.pms-btn--primary:hover { opacity: .9; color: #fff; }
.pms-btn.pms-btn--secondary { background-color: var(--bg); background-image: none; color: var(--t); border-color: var(--bd); }
.pms-btn.pms-btn--secondary:hover { background-color: var(--s1); }
.pms-btn.pms-btn--gold { background-color: var(--gold-soft); background-image: none; color: var(--gold-deep); border-color: var(--gold); }
.pms-btn.pms-btn--gold:hover { background-color: #F1E2AE; color: var(--gold-deep); }
.pms-btn.pms-btn--stripe { background-color: var(--stripe); background-image: none; color: #fff; }
.pms-btn.pms-btn--stripe:hover { background-color: #5249e6; color: #fff; }
.pms-btn.pms-btn--ghost { background-color: transparent; background-image: none; color: var(--ac); }
.pms-btn.pms-btn--ghost:hover { background-color: var(--acbg); color: var(--ac); }
.pms-btn.pms-btn--destructive { background-color: var(--rd); background-image: none; color: #fff; }
.pms-btn.pms-btn--destructive:hover { filter: brightness(.92); }

/* Segmented filter (All / Residential / Commercial) */
.pms-seg { display: inline-flex; align-items: center; border-radius: 999px; background: var(--bg); padding: 2px; box-shadow: 0 0 0 1px var(--bd); }
.pms-seg__btn { border: 0; background: transparent; border-radius: 999px; padding: 4px 14px; font-family: var(--font-body); font-size: 11px; font-weight: 600; color: var(--tm); cursor: pointer; }
.pms-seg__btn:hover { color: var(--t); }
.pms-seg__btn--active, .pms-seg__btn--active:hover { background: linear-gradient(135deg, var(--ac), var(--ac2)); color: #fff; }

/* Type tags and the pending-deposit chip */
.pms-tag { display: inline-flex; align-items: center; border-radius: 999px; padding: 1px 6px; font-size: 9px; font-weight: 700; line-height: 1.5; letter-spacing: .01em; }
.pms-tag--residential { background: #EAF6EF; color: var(--ac); }
.pms-tag--commercial { background: var(--gold-soft); color: var(--gold-deep); }
.pms-tag--deposit { background: var(--gold-soft); color: var(--gold-deep); padding: 1px 8px; font-size: 10px; }
.pms-tag.pms-tag--deposit--paid { background: #EAF6EF; color: var(--ac); }
.pms-tag.pms-tag--deposit--unpaid { background: #FFF1E0; color: #C45C12; }
.pms-tag.pms-tag--deposit--declined { background: #FDECEC; color: var(--rd); }
.pms-tag.pms-tag--value { background: var(--acbg); color: var(--ac); padding: 1px 8px; font-size: 10px; }

/* KPI strip */
.pms-kpi { display: flex; flex-wrap: wrap; gap: 12px 40px; margin: 0; }
.pms-kpi__item { display: flex; flex-direction: column-reverse; }
.pms-kpi__label { margin: 2px 0 0; font-size: 11px; font-weight: 400; color: var(--tm); }
.pms-kpi__value { margin: 0; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; color: var(--t); }
.pms-kpi__value--brand { color: var(--ac); }
.pms-kpi__value--gold { color: var(--gold-deep); }

/* Lead card */
.pms-lead-card { display: block; width: 100%; max-width: 280px; text-align: left; background: var(--bg); border: 1px solid var(--bd); border-radius: var(--rm); padding: 14px; color: var(--t); font-family: var(--font-body); }
.pms-lead-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.pms-lead-card__name { font-size: 13px; font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pms-lead-card__meta { margin: 4px 0 0; font-size: 11px; color: var(--tm); }
.pms-lead-card__type--commercial { color: var(--gold-deep); }
.pms-lead-card__foot { margin-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; }
.pms-lead-card__who { display: inline-flex; align-items: center; gap: 6px; min-width: 0; color: var(--tm); }
.sd-pipeline .sd-assign { display: inline-flex; align-items: center; border: 1px dashed var(--gold-deep); background-color: transparent; background-image: none; color: var(--gold-deep); border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.sd-pipeline .sd-assign:hover { background-color: var(--gold-soft); background-image: none; }
.sd-assign-menu { min-width: 200px; max-width: 260px; background: #fff; border: 1px solid var(--bd); border-radius: var(--r); box-shadow: var(--shadow-md); padding: 6px; }
.sd-assign-menu__item { display: block; width: 100%; text-align: left; border: 0; background-color: transparent; background-image: none; color: var(--t); font-size: 12px; font-weight: 600; padding: 8px 10px; border-radius: 6px; cursor: pointer; }
.sd-assign-menu__item:hover { background-color: var(--s1); background-image: none; }
.pms-lead-card__when { color: var(--tm); white-space: nowrap; }
.pms-lead-card__when--set { color: var(--ac); font-weight: 600; }
.sd-complete { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.sd-complete[hidden] { display: none; }
.sd-complete__detail { color: var(--ac); font-size: 12px; font-weight: 600; line-height: 1.35; }
.sd-complete__row { display: flex; align-items: center; }
.sd-complete__outcome { font-size: 11px; font-weight: 700; color: var(--ac); }
.sd-complete__outcome--not_interested { color: var(--rd); }
.sd-complete__outcome--unset { color: var(--tm); font-weight: 600; }
.pms-avatar { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; flex: 0 0 18px; border-radius: 999px; background: #EAF6EF; color: var(--ac); font-size: 8px; font-weight: 700; }

/* Kanban column header */
.pms-kanban { width: 100%; max-width: 280px; }
.pms-kanban__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.pms-kanban__title { margin: 0; display: flex; align-items: center; gap: 6px; font-family: var(--font-body); font-size: 13px; font-weight: 600; color: var(--t); letter-spacing: 0; text-transform: none; white-space: nowrap; }
.sd-col__icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 20px; border-radius: 6px; background-color: #fff; background-image: none; color: var(--ac); box-shadow: 0 1px 2px rgba(26, 31, 28, .08); }
.sd-col__icon svg, .sd-col__icon i { width: 12px; height: 12px; }
.sd-col__icon--new { color: #3C9A66; }
.sd-col__icon--confirmed { color: #1F8F58; }
.sd-col__icon--appointment { color: var(--ac); }
.sd-col__icon--showed { color: var(--gold-deep); }
.pms-kanban__count { font-size: 12px; color: var(--tm); font-variant-numeric: tabular-nums; }
.pms-kanban__bar { margin-top: 10px; height: 2px; width: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--ac), var(--ac2)); }

/* Badges / status pills */
.pms-pill { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; }
.pms-pill--green { background: rgba(14,122,75,.10); color: var(--gn); }
.pms-pill--amber { background: var(--gold-soft); color: var(--gold-deep); }
.pms-pill--red   { background: rgba(185,28,28,.10); color: var(--rd); }
.pms-pill--blue  { background: rgba(29,78,216,.10); color: var(--bl); }
.pms-pill--gray  { background: var(--s2); color: var(--tm); }

/* Action-menu portal target (see CLAUDE.md — dropdowns are portalled to body) */
.pms-dropdown { position: fixed; z-index: 9999; min-width: 176px; background: var(--bg); border: 1px solid var(--bd); border-radius: var(--r); box-shadow: var(--shadow-md); padding: 6px; }

/* Responsive: collapse sidebar to top bar on narrow / mobile (PWA views) */
@media (max-width: 880px) {
	.pms-app { flex-direction: column; }
	.pms-sidebar { width: 100%; height: auto; position: static; flex-direction: row; flex-wrap: wrap; overflow-x: auto; }
	.pms-sidebar__user { margin-top: 0; border-top: 0; }
	.pms-main { padding: 18px 16px; }
}

/* =============================================================================
 * EQHQ pipeline — dashboard board, filters, insights, lead drawer.
 * ============================================================================= */
body.sd-pipeline-page .pms-app { display: block; }
body.sd-pipeline-page .pms-sidebar { display: none; }
body.sd-pipeline-page .pms-main { padding: 0; background: var(--s1); display: flex; flex-direction: column; min-height: 100vh; width: 100%; }
.sd-pipeline { flex: 1; min-height: 100vh; display: flex; flex-direction: column; }
.sd-topbar { height: 64px; flex: 0 0 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 24px; background: var(--bg); border-bottom: 1px solid var(--bd); }
a.sd-brand { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 800; letter-spacing: .04em; color: var(--t); text-decoration: none; }
a.sd-brand:hover { color: var(--t); }
.sd-brand__mark { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--ac), var(--ac2)); color: #fff; font-size: 13px; font-weight: 800; }
.sd-topbar__actions { display: flex; align-items: center; gap: 12px; }
.sd-pipeline .sd-topbar__import { display: inline-flex; align-items: center; gap: 6px; border: 0; background-color: var(--ac); background-image: linear-gradient(135deg, var(--ac), var(--ac2)); color: #fff; font-size: 12px; font-weight: 600; padding: 8px 14px; border-radius: var(--r); cursor: pointer; box-shadow: var(--shadow-soft); }
.sd-pipeline .sd-topbar__import:hover { opacity: .9; }
.sd-pipeline .sd-topbar__import svg, .sd-pipeline .sd-topbar__import i { width: 14px; height: 14px; }
.sd-pipeline .sd-user { width: 28px; height: 28px; margin-left: 8px; border: 0; padding: 0; border-radius: 999px; background-color: var(--t); background-image: none; color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.sd-pipeline .sd-user svg, .sd-pipeline .sd-user i { width: 14px; height: 14px; }
.sd-pipeline .sd-user[aria-expanded="true"] { box-shadow: 0 0 0 3px var(--acbg); }
.sd-account-menu { min-width: 180px; background: #fff; border: 1px solid var(--bd); border-radius: var(--r); box-shadow: var(--shadow-md); padding: 6px; }
.sd-account-menu[hidden] { display: none; }
.sd-account-menu a { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 6px; color: var(--t); font-size: 12px; font-weight: 600; text-decoration: none; }
.sd-account-menu a:hover { background: var(--s1); }
.sd-account-menu a.sd-account-menu__logout { color: var(--rd); }
.sd-account-menu svg, .sd-account-menu i { width: 14px; height: 14px; }

.sd-people { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--bd); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-soft); }
.sd-people tr[hidden] { display: none; }
.sd-people th, .sd-people td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--bd); font-size: 13px; vertical-align: middle; }
.sd-people th { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--tm); background: var(--s1); }
.sd-people tr:last-child td { border-bottom: 0; }
.sd-people__name { font-weight: 600; }
.sd-people__you { margin-left: 6px; font-size: 11px; font-weight: 600; color: var(--tm); }
.sd-people__email { color: var(--tm); }
.sd-people__actions { display: flex; justify-content: flex-end; gap: 8px; }
.sd-pipeline .sd-people__btn { border: 1px solid var(--bd); background-color: #fff; background-image: none; color: var(--t); border-radius: 8px; padding: 6px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }
.sd-pipeline .sd-people__btn:hover { background-color: var(--s1); background-image: none; }
.sd-pipeline .sd-people__btn--warn { border-color: #F0C9A0; color: #C45C12; }
.sd-status { display: inline-flex; align-items: center; border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 700; }
.sd-status--active { background: #EAF6EF; color: var(--ac); }
.sd-status--suspended { background: #FDECEC; color: var(--rd); }
.sd-password { display: block; width: 100%; margin: 0; padding: 12px 14px; border-radius: 8px; border: 1px dashed var(--bd); background: var(--s1); color: var(--t); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 18px; font-weight: 700; letter-spacing: .08em; text-align: center; }
.sd-settings__note { margin: 0; font-size: 12px; color: var(--tm); }
.sd-people-empty { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 48px 20px; text-align: center; background: #fff; border: 1px solid var(--bd); border-radius: 12px; box-shadow: var(--shadow-soft); }
.sd-people-empty p { margin: 0; font-size: 15px; font-weight: 700; }
.sd-pass { display: flex; align-items: center; gap: 8px; }
.sd-pass__field { position: relative; flex: 1; min-width: 0; }
.sd-pass .sd-pass__input { width: 100%; padding-right: 36px; }
.sd-pass .sd-pass__eye { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border: 0; background-color: transparent; background-image: none; color: var(--tm); padding: 0; cursor: pointer; }
.sd-pass .sd-pass__eye:hover { color: var(--t); }
.sd-pass .sd-pass__eye svg, .sd-pass .sd-pass__eye i { width: 16px; height: 16px; }
.sd-pass .sd-pass__btn { flex: 0 0 auto; border: 1px solid var(--bd); background-color: #fff; background-image: none; color: var(--t); border-radius: 8px; padding: 8px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }
.sd-pass .sd-pass__btn:hover { background-color: var(--s1); background-image: none; }
.sd-actions-menu { min-width: 180px; background: #fff; border: 1px solid var(--bd); border-radius: var(--r); box-shadow: var(--shadow-md); padding: 6px; }
.sd-actions-menu[hidden] { display: none; }
.sd-actions-menu .sd-actions-menu__item { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; border: 0; background-color: transparent; background-image: none; color: var(--t); font-size: 12px; font-weight: 600; padding: 8px 10px; border-radius: 6px; cursor: pointer; }
.sd-actions-menu .sd-actions-menu__item:hover { background-color: var(--s1); background-image: none; }
.sd-actions-menu .sd-actions-menu__item--danger { color: var(--rd); }
.sd-actions-menu .sd-actions-menu__item svg, .sd-actions-menu .sd-actions-menu__item i { width: 14px; height: 14px; flex: 0 0 14px; }
.pmd-modal__group[hidden] { display: none; }
.pmd-modal__btn.pmd-modal__btn--primary { background-color: var(--ac); background-image: none; color: #fff; border-color: var(--ac); }
.pmd-modal__btn.pmd-modal__btn--secondary { background-color: #fff; background-image: none; color: var(--t); border-color: var(--bd); }
.pmd-modal__btn.pmd-modal__btn--danger { background-color: #FDECEC; background-image: none; color: var(--rd); border-color: rgba(185, 28, 28, .25); }
.sd-modal[hidden] { display: none; }
.sd-modal { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; padding: 16px; }
.sd-modal__backdrop { position: absolute; inset: 0; background: rgba(26, 31, 28, .2); }
.sd-modal__panel { position: relative; width: min(512px, 100%); max-height: 85vh; display: flex; flex-direction: column; background: var(--bg); border: 1px solid var(--bd); border-radius: var(--rm); box-shadow: var(--shadow-xl); overflow: hidden; }
.sd-modal__head, .sd-modal__foot { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--bd); }
.sd-modal__foot { border-bottom: 0; border-top: 1px solid var(--bd); justify-content: flex-end; }
.sd-modal__head h2 { margin: 0; font-size: 14px; font-weight: 700; }
.sd-modal__head p { margin: 2px 0 0; font-size: 12px; color: var(--tm); }
.sd-modal__close { border: 0; background: transparent; color: var(--tm); cursor: pointer; padding: 4px; border-radius: 6px; }
.sd-modal__body { padding: 16px 20px; overflow: auto; }
.sd-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.sd-steps > li { display: flex; align-items: flex-start; gap: 12px; }
.sd-steps__n { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 999px; background: var(--acbg); color: var(--ac); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }
.sd-steps h3 { margin: 2px 0 0; font-size: 13px; font-weight: 700; }
.sd-steps p { margin: 4px 0 0; font-size: 12px; color: var(--tm); line-height: 1.45; }
.sd-steps .pms-btn { margin-top: 10px; }
.sd-steps__cols { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 10px 0 0; padding: 0; }
.sd-steps__cols li { border-radius: 999px; background: var(--s1); color: var(--t); border: 1px solid var(--bd); padding: 2px 8px; font-size: 11px; font-weight: 600; }
.sd-steps__cols li:first-child { background: var(--acbg); color: var(--ac); border-color: transparent; }
.sd-steps__upload { flex: 1; display: flex; align-items: flex-start; gap: 12px; border: 1px dashed var(--bd); background: var(--s1); border-radius: var(--rm); padding: 14px; }
.sd-steps__upload.is-over { border-color: var(--ac); background: var(--acbg); }
.sd-steps__upload > i, .sd-steps__upload > svg { width: 28px; height: 28px; color: var(--ac); flex: 0 0 28px; }
.sd-import-review { margin: 0 0 12px; font-size: 12px; color: var(--tm); }
.sd-import-file { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--bd); border-radius: var(--r); padding: 8px 12px; font-size: 12px; font-weight: 600; }
.sd-import-file__name { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.sd-import-file__name svg, .sd-import-file__name i { width: 16px; height: 16px; color: var(--ac); flex: 0 0 16px; }
.sd-import-file__change { border: 0; background: transparent; color: var(--ac); font-size: 11px; font-weight: 600; cursor: pointer; }
.sd-import-file__change:hover { text-decoration: underline; }
.sd-import-errors { margin: 12px 0 0; padding: 8px 12px; border-radius: var(--r); background: var(--gold-soft); color: var(--gold-deep); font-size: 11px; list-style: none; }
.sd-import-errors li { display: flex; align-items: flex-start; gap: 6px; }
.sd-import-errors svg, .sd-import-errors i { width: 12px; height: 12px; flex: 0 0 12px; margin-top: 1px; }
.sd-import-table-wrap { overflow: auto; border: 1px solid var(--bd); border-radius: var(--r); margin-top: 12px; }
.sd-import-table { width: 100%; border-collapse: collapse; font-size: 11px; table-layout: fixed; }
.sd-import-table th, .sd-import-table td { text-align: left; padding: 6px 12px; border-top: 1px solid var(--bd); }
.sd-import-table th:nth-child(1), .sd-import-table td:nth-child(1) { width: 44px; padding-left: 10px; padding-right: 6px; }
.sd-import-table th:nth-child(5), .sd-import-table td:nth-child(5) { width: 112px; }
.sd-import-table td:nth-child(3) { word-break: break-word; }
.sd-import-table th { background: var(--s1); color: var(--tm); font-weight: 600; border-top: 0; }
.sd-import-table td:nth-child(3), .sd-import-table td:nth-child(4) { color: var(--tm); }
.sd-import-more { margin: 0; border-top: 1px solid var(--bd); padding: 6px 12px; font-size: 11px; color: var(--tm); }
.sd-modal--import .sd-modal__panel { width: min(1040px, 100%); max-height: 92vh; background: var(--s1); }
.sd-modal--import .sd-modal__head { background: var(--bg); }
.sd-modal--import .sd-modal__body { padding: 20px 24px 24px; }
.sd-import-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; align-items: start; }
.sd-import-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.sd-import-step { width: 100%; display: flex; align-items: center; gap: 10px; border: 0; background: transparent; color: var(--tm); font-size: 12px; font-weight: 600; text-align: left; padding: 7px 8px; border-radius: 8px; cursor: default; }
.sd-import-step span { width: 22px; height: 22px; flex: 0 0 22px; border-radius: 999px; border: 1px solid var(--bd); display: flex; align-items: center; justify-content: center; font-size: 11px; background: var(--bg); }
.sd-import-step.is-done { cursor: pointer; color: var(--t); }
.sd-import-step.is-done span { background: var(--acbg); color: var(--ac); border-color: transparent; }
.sd-import-step.is-current { color: var(--t); background: var(--bg); }
.sd-import-step.is-current span { background: var(--ac); color: #fff; border-color: var(--ac); }
.sd-import-needs { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--bd); }
.sd-import-needs h2 { margin: 0; font-size: 12px; font-weight: 600; }
.sd-import-needs dl { margin: 12px 0 0; }
.sd-import-needs dl > div + div { margin-top: 12px; }
.sd-import-needs dt { font-size: 11px; font-weight: 600; color: var(--t); }
.sd-import-needs dl > div:first-child dt { color: var(--gold-deep); }
.sd-import-needs dd { margin: 2px 0 0; font-size: 11px; color: var(--tm); line-height: 1.45; }
.sd-import-card { display: flex; flex-direction: column; min-height: 440px; background: var(--bg); border: 1px solid var(--bd); border-radius: 16px; box-shadow: var(--shadow-soft); overflow: hidden; }
.sd-import-card__head { padding: 16px 20px; border-bottom: 1px solid var(--bd); }
.sd-import-card__head p { margin: 0; font-size: 11px; font-weight: 600; color: var(--tm); }
.sd-import-card__head h2 { margin: 2px 0 0; font-size: 16px; font-weight: 700; }
.sd-import-card__body { flex: 1; padding: 20px; }
.sd-import-card__foot { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--bd); }
.sd-import-drop { display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px dashed var(--bd); background: var(--s1); border-radius: 12px; padding: 36px 20px; }
.sd-import-drop.is-over { border-color: var(--ac); background: var(--acbg); }
.sd-import-drop > i, .sd-import-drop > svg { width: 32px; height: 32px; color: var(--ac); }
.sd-import-drop h3 { margin: 12px 0 0; font-size: 14px; font-weight: 600; }
.sd-import-drop p { margin: 4px 0 0; font-size: 12px; color: var(--tm); }
.sd-import-drop__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.sd-import-error { margin: 12px 0 0; font-size: 12px; color: var(--rd); }
.sd-import-map { width: 100%; border-collapse: collapse; font-size: 12px; }
.sd-import-map th, .sd-import-map td { text-align: left; padding: 8px 0; border-bottom: 1px solid var(--bd); vertical-align: middle; }
.sd-import-map th { font-size: 11px; color: var(--tm); font-weight: 600; }
.sd-import-map select { width: 100%; border: 1px solid var(--bd); border-radius: 8px; background: var(--bg); color: var(--t); font: inherit; padding: 7px 8px; }
.sd-import-req { display: inline-block; margin-left: 6px; font-size: 10px; font-weight: 600; color: var(--gold-deep); }
.sd-import-req--soft { color: var(--tm); }
.sd-import-table tr.is-off { opacity: .55; }
.sd-import-flag { display: block; width: fit-content; margin: 4px 0 0; border-radius: 999px; padding: 1px 6px; font-size: 10px; font-weight: 600; background: var(--gold-soft); color: var(--gold-deep); white-space: nowrap; }
.sd-import-flag--skip { background: var(--s2); color: var(--tm); }
.sd-import-check { width: 16px; height: 16px; }
.sd-import-done { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 12px; }
.sd-import-done__mark { width: 56px; height: 56px; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: #fff; background-color: var(--ac); background-image: linear-gradient(135deg, var(--ac2), var(--ac)); }
.sd-import-done__mark svg, .sd-import-done__mark i { width: 28px; height: 28px; }
.sd-import-done h3 { margin: 16px 0 0; font-size: 18px; font-weight: 700; }
.sd-import-done p { margin: 6px 0 0; max-width: 360px; font-size: 12px; color: var(--tm); line-height: 1.5; }
@media (max-width: 800px) {
	.sd-import-layout { grid-template-columns: 1fr; gap: 16px; }
	.sd-import-card { min-height: 0; }
}
.sd-pipeline__body { display: flex; flex-direction: column; gap: 22px; padding: 28px 32px 32px; min-height: 100%; }
.sd-pipeline__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; }
.sd-pipeline__title { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.sd-pipeline__sub { margin: 4px 0 0; font-size: 12px; color: var(--tm); }
.sd-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.sd-pipeline .sd-search { display: inline-flex; align-items: center; gap: 6px; min-width: 200px; height: 32px; padding: 0 10px; background: var(--bg); border: 1px solid var(--bd); border-radius: var(--r); color: var(--tm); }
.sd-pipeline .sd-search:focus-within { border-color: var(--ac); box-shadow: 0 0 0 3px var(--acbg); }
.sd-pipeline .sd-search input { width: 100%; margin: 0; padding: 0; border: 0; background: transparent; color: var(--t); font: inherit; font-size: 12px; font-weight: 600; outline: none; }
.sd-pipeline .sd-search input::placeholder { color: var(--tm); font-weight: 500; }
.sd-pipeline .sd-search svg, .sd-pipeline .sd-search i { width: 14px; height: 14px; flex: 0 0 14px; }
.sd-pipeline .pms-seg__btn { flex: 0 0 auto; background: transparent; color: var(--tm); }
.sd-pipeline .pms-seg__btn--active,
.sd-pipeline .pms-seg__btn--active:hover { background: linear-gradient(135deg, var(--ac), var(--ac2)); color: #fff; }
.sd-filter { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--tm); }
.sd-filter select { border: 0; background: transparent; font: inherit; font-weight: 600; color: var(--t); cursor: pointer; }
.sd-filters__clear { border: 0; background: transparent; color: var(--ac); font-size: 11px; font-weight: 600; cursor: pointer; }
.sd-filters__insights { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--tm); font-size: 11px; font-weight: 600; cursor: pointer; padding: 6px 10px; border-radius: var(--r); }
.sd-filters__insights svg, .sd-filters__insights i { width: 14px; height: 14px; }
.sd-filters__insights[aria-expanded="true"] { background: var(--bg); color: var(--ac); box-shadow: 0 0 0 1px var(--bd); }
.sd-insights { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.sd-insight { background: var(--bg); border: 1px solid var(--bd); border-radius: var(--rm); box-shadow: var(--shadow-soft); padding: 12px 16px; }
.sd-insight__head { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin-bottom: 8px; }
.sd-insight__head h2 { margin: 0; font-size: 12px; font-weight: 800; text-transform: none; letter-spacing: 0; color: var(--t); }
.sd-insight__head span { font-size: 10px; font-weight: 600; color: var(--tm); }
.sd-insight__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sd-insight__list li { display: flex; align-items: center; gap: 12px; }
.sd-insight__name { width: 128px; flex: 0 0 128px; font-size: 11px; font-weight: 700; display: flex; align-items: center; gap: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sd-insight__name svg, .sd-insight__name i { width: 12px; height: 12px; color: var(--gold); flex: 0 0 12px; }
.sd-insight__track { flex: 1; height: 6px; border-radius: 999px; background: var(--s2); overflow: hidden; }
.sd-insight__bar { display: block; height: 100%; border-radius: 999px; }
.sd-insight__bar--brand { background: linear-gradient(90deg, var(--ac), var(--ac2)); }
.sd-insight__bar--mint { background: #9AD8B6; }
.sd-insight__bar--gold { background: var(--gold); }
.sd-insight__bar--line { background: var(--gold-line); }
.sd-insight__meta { width: 148px; flex: 0 0 148px; text-align: right; font-size: 10px; color: var(--tm); }
.sd-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 1fr); gap: 16px; overflow-x: auto; align-items: stretch; min-height: 520px; }
.sd-col { display: flex; flex-direction: column; gap: 12px; min-height: 100%; background: var(--s2); border-radius: 16px; padding: 14px 12px 12px; }
.sd-col .pms-kanban { max-width: none; }
.sd-col .pms-kanban__head { align-items: center; }
.sd-col .pms-kanban__count { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 999px; background: var(--t); color: #fff; font-size: 13px; font-weight: 700; line-height: 1; }
.sd-col[data-stage="showed"] .pms-kanban__count { background: var(--gold); color: #fff; }
.sd-col__tools { display: inline-flex; align-items: center; gap: 8px; }
.sd-pipeline .sd-map-open { border: 1px solid var(--bd); background-color: #fff; background-image: none; color: var(--t); font-size: 11px; font-weight: 700; line-height: 1; border-radius: 999px; padding: 5px 10px; cursor: pointer; }
.sd-pipeline .sd-map-open:hover { background-color: var(--gold-soft); background-image: none; border-color: var(--gold); color: var(--gold-deep); }
.sd-board-wrap { position: relative; min-height: 520px; }
.sd-map { position: absolute; inset: 0; z-index: 4; display: grid; grid-template-columns: 320px minmax(0, 1fr); background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-md); }
.sd-map[hidden] { display: none; }
.sd-map__rail { display: flex; flex-direction: column; gap: 12px; min-height: 0; overflow: auto; padding: 16px; background: var(--s1); border-right: 1px solid var(--bd); }
.sd-map__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sd-map__head h2 { margin: 0; font-size: 16px; font-weight: 700; }
.sd-pipeline .sd-map__close { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 0; border-radius: 999px; background-color: transparent; background-image: none; color: var(--tm); cursor: pointer; }
.sd-pipeline .sd-map__close:hover { background-color: var(--s2); background-image: none; color: var(--t); }
.sd-map__close svg, .sd-map__close i { width: 16px; height: 16px; }
.sd-map__field { display: flex; flex-direction: column; gap: 4px; font-size: 11px; font-weight: 600; color: var(--tm); }
.sd-map__field[hidden], .sd-map__range[hidden] { display: none; }
.sd-map__field input { border: 1px solid var(--bd); border-radius: var(--r); background: #fff; color: var(--t); font: inherit; font-weight: 600; padding: 6px 8px; }
.sd-map__range { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sd-pipeline .sd-map__plan { width: 100%; }
.sd-map__note { margin: 0; font-size: 11px; line-height: 1.45; color: var(--tm); }
.sd-map__legend { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sd-map__legend li { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; }
.sd-map__swatch { width: 10px; height: 10px; border-radius: 999px; flex: 0 0 10px; }
.sd-map__routes { display: flex; flex-direction: column; gap: 12px; }
.sd-map__day { margin: 0; font-size: 11px; font-weight: 700; color: var(--tm); }
.sd-map__who { margin: 2px 0 6px; font-size: 13px; font-weight: 700; }
.sd-map__stop { display: block; width: 100%; text-align: left; border: 0; border-radius: var(--r); background-color: #fff; background-image: none; color: var(--t); padding: 8px 10px; cursor: pointer; box-shadow: var(--shadow-soft); }
.sd-pipeline .sd-map__stop { background-color: #fff; background-image: none; color: var(--t); }
.sd-pipeline .sd-map__stop:hover { background-color: var(--s2); background-image: none; }
.sd-map__stop strong { display: block; font-size: 12px; }
.sd-map__stop span { display: block; margin-top: 2px; font-size: 11px; color: var(--tm); }
.sd-map__flag { display: block; margin-top: 4px; font-size: 11px; font-weight: 700; color: var(--rd); }
.sd-map__empty { margin: 0; font-size: 12px; color: var(--tm); }
.sd-map__canvas { position: relative; min-height: 520px; background: var(--s2); }
.sd-map__frame { position: absolute; inset: 0; }
.sd-map__missing { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; margin: 0; padding: 24px; text-align: center; font-size: 13px; color: var(--tm); }
.sd-map__missing[hidden] { display: none; }
@media (max-width: 800px) {
	.sd-map { grid-template-columns: 1fr; grid-template-rows: auto minmax(320px, 1fr); }
	.sd-map__rail { max-height: 46vh; }
}
.sd-col__sub { margin: 6px 0 0; font-size: 11px; color: var(--tm); }
.sd-col__bar--new { background: linear-gradient(90deg, #CFEAD9, #9AD8B6); }
.sd-col__bar--confirmed { background: linear-gradient(90deg, #9AD8B6, #55C98A); }
.sd-col__bar--appointment { background: linear-gradient(90deg, var(--ac2), var(--ac)); }
.sd-col__bar--showed { background: linear-gradient(90deg, var(--gold-line), var(--gold)); }
.sd-col__cards { display: flex; flex-direction: column; gap: 10px; flex: 1; min-height: 120px; border-radius: var(--r); padding: 0; }
.sd-col__cards.is-over { background: var(--acbg); }
.sd-col__empty { margin: 0; border: 1px dashed var(--bd); border-radius: var(--rm); padding: 28px 12px; text-align: center; font-size: 11px; color: var(--tm); background: transparent; }
.sd-pipeline .pms-lead-card { max-width: none; background-color: #fff; background-image: none; box-shadow: var(--shadow-soft); }
.sd-pipeline .pms-lead-card:hover { box-shadow: var(--shadow-md); }
.sd-card { cursor: grab; font: inherit; }
.sd-card.is-selected { border-color: var(--ac); box-shadow: 0 0 0 2px #CFEAD9; }
.sd-card[hidden] { display: none; }
.sd-drawer[hidden] { display: none; }
.sd-drawer { position: fixed; inset: 0; z-index: 80; }
.sd-drawer__backdrop { position: absolute; inset: 0; background: rgba(26, 31, 28, .15); }
.sd-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(400px, 100%); background: var(--bg); border-left: 1px solid var(--bd); box-shadow: var(--shadow-xl); display: flex; flex-direction: column; }
.sd-drawer__head, .sd-drawer__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--bd); }
.sd-drawer__foot { border-bottom: 0; border-top: 1px solid var(--bd); }
.sd-drawer__head p { margin: 0; display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; }
.sd-drawer__head p span { font-weight: 500; color: var(--tm); }
.sd-drawer__head i, .sd-drawer__head svg { width: 14px; height: 14px; color: var(--ac); }
.sd-drawer__close { border: 0; background: transparent; color: var(--tm); cursor: pointer; padding: 4px; border-radius: 6px; }
.sd-drawer__body { flex: 1; overflow: auto; padding: 20px; display: flex; flex-direction: column; gap: 18px; }
.sd-drawer__more { display: flex; flex-direction: column; gap: 18px; }
.sd-drawer__more[hidden] { display: none; }
.sd-drawer__full { width: 100%; }
.sd-drawer a.sd-drawer__full { text-decoration: none; }
.sd-drawer__who { display: flex; gap: 12px; align-items: center; }
.sd-drawer__avatar { width: 36px; height: 36px; flex-basis: 36px; font-size: 12px; }
.sd-drawer__who h2 { margin: 0; font-size: 14px; font-weight: 800; }
.sd-drawer__who p { margin: 4px 0 0; display: flex; gap: 6px; align-items: center; }
.sd-drawer__place { background: var(--acbg); color: #4a7d62; border-radius: 999px; padding: 1px 6px; font-size: 10px; }
.sd-drawer__contact { display: flex; gap: 8px; }
.sd-drawer__contact a { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--bd); border-radius: var(--r); padding: 6px 8px; font-size: 11px; font-weight: 600; color: var(--t); }
.sd-drawer__contact i, .sd-drawer__contact svg { width: 14px; height: 14px; color: var(--ac); }
.sd-drawer__facts { margin: 0; padding-top: 12px; border-top: 1px solid var(--bd); display: flex; flex-direction: column; gap: 6px; }
.sd-drawer__facts div { display: flex; justify-content: space-between; gap: 16px; font-size: 11px; }
.sd-drawer__facts dt { color: var(--tm); }
.sd-drawer__facts dd { margin: 0; font-weight: 600; text-align: right; }
.sd-drawer__section { border: 1px solid var(--bd); background: var(--s1); border-radius: 9px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.sd-drawer__section[hidden] { display: none; }
.sd-drawer__section h3 { margin: 0; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--tm); }
.sd-drawer__section label { display: flex; flex-direction: column; gap: 2px; font-size: 10px; color: var(--tm); }
.sd-drawer__section input, .sd-drawer__section select { border: 1px solid var(--bd); background: var(--bg); border-radius: 6px; padding: 4px 8px; font-size: 11px; color: var(--t); }
.sd-drawer__when { margin: 0; font-size: 12px; font-weight: 700; color: var(--ac); }
.sd-drawer__deposit { margin: 0; font-size: 12px; font-weight: 700; }
.sd-drawer__deposit-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.sd-drawer__doc { margin: 0; font-size: 11px; color: var(--tm); }
.sd-drawer [data-sd-report] p { margin: 0 0 4px; font-size: 12px; }
.sd-lead { width: min(1152px, 100%); margin: 0 auto; padding: 32px 24px 48px; font-size: 13px; color: var(--t); }
.sd-lead--missing { min-height: calc(100vh - 64px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.sd-lead--missing h1 { margin: 0; font-size: 18px; }
.sd-lead--missing p { margin: 4px 0 0; font-size: 12px; color: var(--tm); }
.sd-lead__back { display: inline-flex; align-items: center; gap: 6px; color: var(--tm); font-size: 12px; font-weight: 600; text-decoration: none; }
.sd-lead__back:hover { color: var(--t); }
.sd-lead__back svg, .sd-lead__back i, .sd-lead__text-link svg, .sd-lead__text-link i, .sd-lead .pms-btn svg, .sd-lead .pms-btn i, .sd-lead__fill svg, .sd-lead__fill i { width: 14px; height: 14px; }
.sd-lead__text-link { display: inline-flex; align-items: center; gap: 4px; border: 0; background: transparent; padding: 0; color: var(--ac); font-size: 11px; font-weight: 600; cursor: pointer; }
.sd-lead__text-link:hover { text-decoration: underline; }
.sd-lead--missing .sd-lead__text-link { margin-top: 16px; font-size: 12px; }
.sd-lead__title { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 12px; }
.sd-lead__name { display: flex; align-items: center; gap: 10px; }
.sd-lead__name h1 { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: -0.02em; }
.sd-lead .pms-tag { font-size: 10px; padding: 2px 8px; }
.sd-lead__title p { margin: 4px 0 0; font-size: 12px; color: var(--tm); }
.sd-lead__stage { font-weight: 600; color: var(--ac); }
.sd-lead__title-actions { display: flex; align-items: center; gap: 8px; }
.sd-lead .sd-lead__fill { display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 12px; background-color: var(--ac); background-image: linear-gradient(135deg, var(--ac), var(--ac2)); color: #fff; padding: 10px 20px; font-size: 14px; font-weight: 600; white-space: nowrap; cursor: pointer; box-shadow: var(--shadow-soft); }
.sd-lead .sd-lead__fill:hover { opacity: .9; }
.sd-lead__fill span { border-radius: 999px; background: rgba(255,255,255,.25); padding: 1px 8px; font-size: 11px; font-weight: 700; }
.sd-lead__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; margin-top: 32px; }
.sd-lead__stack { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.sd-lead__section { border: 1px solid var(--bd); border-radius: 16px; background: #fff; }
.sd-lead__section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--bd); padding: 14px 20px; }
.sd-lead__section-head h2 { margin: 0; font-size: 13px; font-weight: 600; color: var(--t); }
.sd-lead__section-body { padding: 16px 20px; }
.sd-lead__section--plain { padding: 16px 20px; }
.sd-lead__section--plain h3 { margin: 0 0 6px; font-size: 11px; font-weight: 700; color: var(--tm); }
.sd-lead__aside-note, .sd-lead__muted { font-size: 11px; color: var(--tm); }
.sd-lead__unsaved { font-size: 11px; color: var(--gold-deep); }
.sd-lead__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 32px; margin: 0; }
.sd-lead__facts--three { grid-template-columns: 1fr 1fr 1fr; margin-top: 4px; }
.sd-lead__facts dt { font-size: 11px; font-weight: 400; color: var(--tm); }
.sd-lead__facts dd { margin: 2px 0 0; font-size: 12px; font-weight: 600; }
.sd-lead__facts dd.is-empty, .sd-lead__blank { font-weight: 400; color: var(--tm); }
.sd-lead__log-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sd-lead__log-form { grid-template-columns: 1fr 1fr 1fr; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--bd); }
.sd-lead__span { grid-column: 1 / -1; }
.sd-lead label { display: block; font-size: 11px; font-weight: 600; color: var(--tm); }
.sd-lead .sd-lead__control, .sd-lead textarea, .sd-lead__q-number input { display: block; width: 100%; margin-top: 4px; border: 1px solid var(--bd); border-radius: 8px; background: #fff; padding: 8px 10px; font: inherit; font-size: 12px; color: var(--t); }
.sd-lead .sd-lead__control:focus, .sd-lead textarea:focus, .sd-lead__q-number input:focus { border-color: #b7e4cb; outline: none; box-shadow: 0 0 0 2px var(--acbg); }
.sd-lead textarea { min-height: 120px; resize: vertical; line-height: 1.6; }
.sd-lead .sd-lead__wide { width: 100%; margin-top: 12px; }
.sd-lead__bar { height: 6px; margin-bottom: 16px; overflow: hidden; border-radius: 999px; background: var(--s2); }
.sd-lead__bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--ac2), var(--ac)); }
.sd-lead__q-empty { display: flex; flex-direction: column; align-items: center; padding: 24px 0; text-align: center; }
.sd-lead__q-empty svg, .sd-lead__q-empty i { width: 24px; height: 24px; color: var(--ac); }
.sd-lead__q-empty p { margin: 8px 0 0; font-size: 12px; font-weight: 600; }
.sd-lead__q-empty span, .sd-lead__q-open { margin-top: 2px; }
.sd-lead .sd-lead__q-open { margin-top: 16px; }
.sd-lead__timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.sd-lead__event { display: flex; gap: 12px; }
.sd-lead__event-rail { display: flex; flex-direction: column; align-items: center; }
.sd-lead__event:not(:last-child) .sd-lead__event-rail::after { content: ""; width: 1px; flex: 1; margin-top: 4px; background: var(--bd); }
.sd-lead__event-icon { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; background: #EAF6EF; color: var(--ac); }
.sd-lead__event-icon svg, .sd-lead__event-icon i { width: 14px; height: 14px; }
.sd-lead__event-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sd-lead__event strong { font-size: 12px; }
.sd-lead__event p { margin: 4px 0 0; font-size: 12px; line-height: 1.6; }
.sd-lead__pill { border-radius: 999px; padding: 1px 8px; font-size: 10px; font-weight: 600; }
.sd-lead__pill--yes { background: #EAF6EF; color: var(--ac); }
.sd-lead__pill--no { background: var(--s3); color: var(--tm); }
.sd-lead__pill--wait { background: var(--gold-soft); color: var(--gold-deep); }
.sd-lead__appt { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.sd-lead__avatar { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; background: var(--t); color: #fff; font-size: 10px; font-weight: 700; }
.sd-lead__avatar--empty { background: transparent; border: 1px dashed var(--gold); }
.sd-lead__appt p { margin: 0; font-size: 14px; font-weight: 700; color: var(--tm); }
.sd-lead__appt p.is-set { color: var(--ac); }
.sd-lead__appt span { font-size: 11px; color: var(--tm); }
.sd-lead__appt + form { display: flex; flex-direction: column; gap: 12px; }
.sd-lead__price { margin: 0; font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.sd-lead__lines { list-style: none; margin: 16px 0 0; padding: 12px 0 0; border-top: 1px solid var(--bd); display: flex; flex-direction: column; gap: 6px; }
.sd-lead__lines li { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; }
.sd-lead__lines span { color: var(--tm); }
.sd-lead__savings { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; border-radius: 8px; background: #EAF6EF; padding: 8px 12px; font-size: 11px; color: var(--ac); }
.sd-lead__deposit { border: 1px solid var(--gold-line); border-radius: 9px; background: var(--gold-soft); padding: 10px 12px; }
.sd-lead__deposit.is-paid { border-color: #cfe8da; background: #EAF6EF; }
.sd-lead__deposit-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sd-lead__deposit-amount { display: flex; align-items: center; gap: 4px; margin: 0; color: var(--gold-deep); font-size: 14px; font-weight: 800; }
.sd-lead__deposit input { width: 5.5rem; margin: 0; border: 1px solid var(--gold-line); border-radius: 6px; background: #fff; padding: 2px 6px; font: inherit; font-size: 14px; font-weight: 800; color: var(--gold-deep); }
.sd-lead__deposit-row > strong { font-size: 15px; color: var(--gold-deep); }
.sd-lead__deposit.is-paid .sd-lead__deposit-row > strong { color: var(--ac); }
.sd-lead__deposit-status { border-radius: 999px; background: #fff; padding: 1px 8px; font-size: 9px; font-weight: 700; color: var(--gold-deep); }
.sd-lead__deposit.is-paid .sd-lead__deposit-status, .sd-lead__deposit-paid { color: var(--ac); }
.sd-lead__deposit-paid, .sd-lead__deposit-note { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: 11px; font-weight: 600; }
.sd-lead__deposit-note { margin-top: 6px; font-size: 10px; font-weight: 500; color: var(--gold-deep); }
.sd-lead__deposit-paid svg, .sd-lead__deposit-note svg, .sd-lead__deposit-paid i, .sd-lead__deposit-note i { width: 14px; height: 14px; }
.sd-lead__files { list-style: none; margin: 0 0 4px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sd-lead__files li { display: flex; align-items: center; gap: 10px; border: 1px solid var(--bd); border-radius: 8px; padding: 8px 10px; }
.sd-lead__ext { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 28px; border-radius: 6px; background: #FCECEC; color: #C0392B; font-size: 8px; font-weight: 800; }
.sd-lead__files p { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 600; }
.sd-lead__files li > div { min-width: 0; flex: 1; }
.sd-lead__files li span { font-size: 10px; color: var(--tm); }
.sd-lead .sd-lead__icon-btn { display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 6px; background: transparent; color: var(--tm); padding: 4px; cursor: pointer; }
.sd-lead .sd-lead__icon-btn:hover { background: var(--s1); color: var(--t); }
.sd-lead .sd-lead__icon-btn--remove:hover { color: #B42318; }
.sd-lead__icon-btn svg, .sd-lead__icon-btn i { width: 14px; height: 14px; }
.sd-lead__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.sd-lead__sheet { position: fixed; inset: 0; z-index: 40; }
.sd-lead__sheet-backdrop { position: absolute; inset: 0; border: 0; background: rgba(26, 31, 28, .15); cursor: pointer; }
.sd-lead__sheet-panel { position: absolute; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; width: min(460px, 100%); border-left: 1px solid var(--bd); background: #fff; box-shadow: var(--shadow-xl); transform: translateX(100%); transition: transform .26s cubic-bezier(.32,.72,0,1); }
.sd-lead__sheet.is-open .sd-lead__sheet-panel { transform: translateX(0); }
.sd-lead__sheet-panel > header, .sd-lead__sheet-panel footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--bd); padding: 16px 24px; }
.sd-lead__sheet-panel footer { justify-content: flex-end; border-bottom: 0; border-top: 1px solid var(--bd); }
.sd-lead__sheet-panel h2 { margin: 0; font-size: 14px; font-weight: 700; }
.sd-lead__sheet-panel header p { margin: 2px 0 0; font-size: 11px; color: var(--tm); }
.sd-lead__sheet-panel form { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.sd-lead__sheet-body { flex: 1; overflow: auto; padding: 20px 24px; }
.sd-lead__q-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.sd-lead__q-head h3 { margin: 0; font-size: 11px; font-weight: 700; color: var(--tm); }
.sd-lead__q-head span { font-size: 10px; font-weight: 600; color: var(--tm); }
.sd-lead__q-box { display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--bd); border-radius: 9px; padding: 10px 12px; }
.sd-lead__q-box p { margin: 0 0 4px; font-size: 11px; font-weight: 600; }
.sd-lead__req { color: var(--gold-deep); }
.sd-lead__chips { display: flex; flex-wrap: wrap; gap: 4px; }
.sd-lead .sd-lead__chip { border: 1px solid var(--bd); border-radius: 999px; background: #fff; color: var(--tm); padding: 2px 10px; font-size: 10px; font-weight: 600; cursor: pointer; }
.sd-lead .sd-lead__chip:hover { border-color: #b7e4cb; color: var(--t); }
.sd-lead .sd-lead__chip[aria-pressed="true"] { border-color: var(--ac); background: #EAF6EF; color: var(--ac); }
.sd-lead__q-number { display: flex; align-items: center; gap: 8px; }
.sd-lead__q-number input { width: 6rem; margin: 0; }
.sd-lead__q-number span { font-size: 10px; color: var(--tm); }
.sd-lead [hidden] { display: none !important; }
.sd-lead__spin { animation: sd-lead-spin .8s linear infinite; }
@keyframes sd-lead-spin { to { transform: rotate(360deg); } }
@media (max-width: 880px) {
	body.sd-pipeline-page .pms-main { padding: 0; }
	.sd-pipeline__body { padding: 18px 16px 24px; }
	.sd-filters__insights { margin-left: 0; }
	.sd-lead { padding: 24px 16px 32px; }
	.sd-lead__grid, .sd-lead__facts, .sd-lead__facts--three, .sd-lead__log-form { grid-template-columns: 1fr; }
}

/* Consultant phone schedule */
body.sd-consult-page .pms-app { display: block; background: #E6EAE3; }
body.sd-consult-page .pms-main { padding: 0; background: #E6EAE3; display: flex; flex-direction: column; min-height: 100vh; width: 100%; }
.sd-consult { flex: 1; display: flex; justify-content: center; background: #E6EAE3; color: var(--t); font-size: 13px; }
.sd-consult__phone { position: relative; display: flex; flex-direction: column; width: 100%; max-width: 440px; height: 100vh; height: 100dvh; overflow: hidden; background: var(--s1); }
@media (min-width: 480px) {
	.sd-consult__phone { border-left: 1px solid var(--bd); border-right: 1px solid var(--bd); }
}
.sd-consult__head { position: relative; z-index: 5; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; background: #fff; padding: 20px 20px 16px; }
.sd-consult__head h1 { margin: 2px 0 0; font-size: 20px; font-weight: 700; letter-spacing: -0.02em; }
.sd-consult__date, .sd-consult__count { margin: 0; font-size: 12px; color: var(--tm); }
.sd-consult__date { font-size: 11px; font-weight: 600; }
.sd-consult .sd-consult__user { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; overflow: hidden; border: 0; border-radius: 999px; background-color: var(--t); background-image: none; color: #fff; cursor: pointer; }
.sd-consult .sd-consult__user img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sd-consult .sd-consult__user svg, .sd-consult .sd-consult__user i { width: 16px; height: 16px; }
.sd-account-menu button.sd-account-menu__photo { display: flex; align-items: center; gap: 8px; width: 100%; border: 0; border-radius: 6px; background-color: transparent; background-image: none; color: var(--t); padding: 8px 10px; font-size: 12px; font-weight: 600; text-align: left; cursor: pointer; }
.sd-account-menu button.sd-account-menu__photo:hover { background-color: var(--s1); background-image: none; }
.sd-account-menu button.sd-account-menu__photo svg, .sd-account-menu button.sd-account-menu__photo i { width: 14px; height: 14px; }
.sd-consult__scroll { flex: 1; overflow-y: auto; padding: 0 20px 32px; }
.sd-consult__scroll--profile { padding: 0 0 112px; }
.sd-consult__tabs { position: sticky; top: 0; z-index: 2; display: flex; gap: 4px; margin: 0 -20px; padding: 12px 20px; background: var(--s1); }
.sd-consult .sd-consult__pill { border: 0; border-radius: 999px; background: transparent; background-image: none; color: var(--tm); padding: 6px 14px; font-size: 12px; font-weight: 600; cursor: pointer; }
.sd-consult .sd-consult__pill.is-on { background-color: var(--t); color: #fff; }
.sd-consult__next { overflow: hidden; margin-top: 4px; border: 1px solid var(--bd); border-radius: 16px; background: #fff; box-shadow: var(--shadow-soft); }
.sd-consult__next-bar { height: 4px; background: linear-gradient(90deg, var(--ac2), var(--ac)); }
.sd-consult__next-body { padding: 20px; }
.sd-consult__next-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sd-consult__next-top > span:first-child { font-size: 11px; font-weight: 600; color: var(--ac); }
.sd-consult__clock { margin: 12px 0 0; font-size: 30px; font-weight: 700; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.sd-consult__clock-day { margin: 0; font-size: 12px; color: var(--tm); }
.sd-consult__next-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; color: inherit; text-decoration: none; }
.sd-consult__next-link strong, .sd-consult__next-link em, .sd-consult__next-link small { display: block; }
.sd-consult__next-link strong { font-size: 16px; }
.sd-consult__next-link em { display: flex; align-items: center; gap: 4px; margin-top: 2px; font-style: normal; font-size: 12px; color: var(--tm); }
.sd-consult__next-link small { margin-top: 4px; font-size: 12px; color: var(--tm); }
.sd-consult__next-link svg, .sd-consult__next-link i { width: 14px; height: 14px; flex: 0 0 auto; }
.sd-consult__next-actions { display: grid; grid-template-columns: 1fr 48px; gap: 8px; margin-top: 20px; }
.sd-consult .sd-consult__go { display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; background-color: var(--ac); background-image: linear-gradient(135deg, var(--ac), var(--ac2)); color: #fff; padding: 12px; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; }
.sd-consult .sd-consult__go:hover { opacity: .9; color: #fff; }
.sd-consult .sd-consult__go--block { width: 100%; margin-top: 16px; }
.sd-consult .sd-consult__call { display: flex; align-items: center; justify-content: center; width: 48px; border: 1px solid var(--bd); border-radius: 12px; background: #fff; color: var(--ac); }
.sd-consult__go svg, .sd-consult__go i, .sd-consult__call svg, .sd-consult__call i { width: 16px; height: 16px; }
.sd-consult__day { margin-top: 28px; }
.sd-consult__day h2, .sd-consult__label, .sd-consult__label h2 { margin: 0 0 8px; font-size: 12px; font-weight: 600; color: var(--tm); }
.sd-consult__label { display: flex; align-items: center; justify-content: space-between; }
.sd-consult__list { overflow: hidden; border: 1px solid var(--bd); border-radius: 16px; background: #fff; }
.sd-consult__row { display: flex; align-items: center; gap: 16px; padding: 14px 16px; border-top: 1px solid var(--bd); color: inherit; text-decoration: none; }
.sd-consult__list .sd-consult__row:first-child { border-top: 0; }
.sd-consult__when { width: 48px; flex: 0 0 48px; }
.sd-consult__when strong { display: block; font-size: 14px; font-variant-numeric: tabular-nums; }
.sd-consult__when span, .sd-consult__who span { font-size: 11px; color: var(--tm); }
.sd-consult__who { min-width: 0; flex: 1; }
.sd-consult__who p { margin: 0; overflow: hidden; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sd-consult__who em { font-style: normal; }
.sd-consult__who em.is-commercial { color: var(--gold-deep); }
.sd-consult__row > svg, .sd-consult__row > i { width: 16px; height: 16px; color: var(--tm); }
.sd-consult__row > i.is-done, .sd-consult__row > svg.is-done { color: var(--ac); }
.sd-consult__empty, .sd-consult__missing { display: flex; flex-direction: column; align-items: center; padding: 64px 24px; text-align: center; }
.sd-consult__empty svg, .sd-consult__empty i { width: 28px; height: 28px; color: var(--ac); }
.sd-consult__empty p, .sd-consult__missing p { margin: 12px 0 0; font-size: 14px; font-weight: 600; }
.sd-consult__empty span, .sd-consult__missing span { max-width: 240px; margin-top: 4px; font-size: 12px; color: var(--tm); }
.sd-consult__missing a { margin-top: 16px; font-size: 12px; font-weight: 600; color: var(--ac); }
.sd-consult__nav { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--bd); background: #fff; padding-bottom: env(safe-area-inset-bottom); }
.sd-consult .sd-consult__tab { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 0; color: var(--tm); font-size: 11px; font-weight: 600; text-decoration: none; }
.sd-consult .sd-consult__tab.is-on { color: var(--ac); }
.sd-consult__tab svg, .sd-consult__tab i { width: 20px; height: 20px; }
.sd-consult__map { position: relative; flex: 1; min-height: 0; }
.sd-consult__map-canvas { position: absolute; inset: 0; background: var(--s2); }
.sd-consult__map-canvas p { margin: 24px; font-size: 12px; color: var(--tm); }
.sd-consult__map-empty, .sd-consult__cards { position: absolute; z-index: 2; }
.sd-consult__map-empty { left: 16px; right: 16px; bottom: 16px; border-radius: 16px; background: #fff; padding: 16px; text-align: center; box-shadow: var(--shadow-xl); }
.sd-consult__map-empty p { margin: 0; font-size: 14px; font-weight: 600; }
.sd-consult__map-empty span { font-size: 12px; color: var(--tm); }
.sd-consult__cards { left: 0; right: 0; bottom: 0; display: flex; gap: 12px; overflow-x: auto; padding: 32px 16px 16px; scroll-snap-type: x mandatory; }
.sd-consult__cards::-webkit-scrollbar { display: none; }
.sd-consult__card { width: 82%; flex: 0 0 82%; scroll-snap-align: center; border: 1px solid transparent; border-radius: 16px; background: #fff; padding: 16px; box-shadow: var(--shadow-xl); }
.sd-consult__card.is-on { border-color: var(--ac); }
.sd-consult .sd-consult__card-main { display: flex; align-items: flex-start; gap: 12px; width: 100%; border: 0; background: transparent; background-image: none; padding: 0; text-align: left; cursor: pointer; }
.sd-consult__card-main strong, .sd-consult__card-main em, .sd-consult__card-main small { display: block; }
.sd-consult__card-main strong { font-size: 11px; color: var(--ac); }
.sd-consult__card-main em { overflow: hidden; font-style: normal; font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sd-consult__card-main small { overflow: hidden; font-size: 11px; color: var(--tm); text-overflow: ellipsis; white-space: nowrap; }
.sd-consult__pin { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 28px; border: 2px solid var(--ac); border-radius: 999px; color: var(--ac); font-size: 12px; font-weight: 700; }
.sd-consult__card.is-on .sd-consult__pin { border: 0; background-color: var(--ac); background-image: linear-gradient(135deg, var(--ac), var(--ac2)); color: #fff; }
.sd-consult__card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.sd-consult .sd-consult__profile { display: flex; align-items: center; justify-content: center; border: 1px solid var(--bd); border-radius: 12px; background: #fff; color: var(--t); padding: 10px; font-size: 12px; font-weight: 600; text-decoration: none; }
.sd-consult__profile-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--bd); background: #fff; padding: 10px 12px; }
.sd-consult__profile-bar a { display: flex; align-items: center; gap: 2px; border-radius: 8px; padding: 6px 8px; color: var(--ac); font-size: 12px; font-weight: 600; text-decoration: none; }
.sd-consult__profile-bar span { border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 600; }
.sd-consult__profile-bar span.is-set { background: var(--gold-soft); color: var(--gold-deep); }
.sd-consult__profile-bar span.is-showed { background: var(--acbg); color: var(--ac); }
.sd-consult__hero { background: #fff; padding: 20px; }
.sd-consult__identity { display: flex; align-items: flex-start; gap: 12px; }
.sd-consult__identity h1 { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }
.sd-consult__identity p { display: flex; align-items: center; gap: 6px; margin: 4px 0 0; font-size: 11px; color: var(--tm); }
.sd-consult__visit { margin-top: 20px; border-radius: 16px; background: var(--s1); padding: 16px; }
.sd-consult__visit p { margin: 0; font-size: 11px; font-weight: 600; color: var(--ac); }
.sd-consult__visit strong { display: block; margin-top: 2px; font-size: 18px; }
.sd-consult__visit em { display: flex; align-items: flex-start; gap: 6px; margin-top: 8px; font-style: normal; font-size: 12px; color: var(--tm); }
.sd-consult__visit svg, .sd-consult__visit i { width: 14px; height: 14px; flex: 0 0 auto; }
.sd-consult__quick { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-top: 8px; }
.sd-consult__quick a { display: flex; flex-direction: column; align-items: center; gap: 4px; border: 1px solid var(--bd); border-radius: 12px; padding: 10px; color: var(--t); font-size: 11px; font-weight: 600; text-decoration: none; }
.sd-consult__quick svg, .sd-consult__quick i { width: 16px; height: 16px; color: var(--ac); }
.sd-consult__blocks { display: flex; flex-direction: column; gap: 24px; padding: 24px 20px 0; }
.sd-consult__card-block { border: 1px solid var(--bd); border-radius: 16px; background: #fff; padding: 16px; }
.sd-consult .sd-consult__gold { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 16px; border: 1px solid var(--gold); border-radius: 12px; background-color: var(--gold-soft); background-image: none; color: var(--gold-deep); padding: 12px; font-size: 14px; font-weight: 600; cursor: pointer; }
.sd-consult__answers { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin: 12px 0 0; }
.sd-consult__answers dt { font-size: 10px; color: var(--tm); }
.sd-consult__answers dd { margin: 0; font-size: 12px; font-weight: 600; }
.sd-consult__facts { margin: 0; overflow: hidden; border: 1px solid var(--bd); border-radius: 16px; background: #fff; }
.sd-consult__facts div { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--bd); padding: 12px 16px; }
.sd-consult__facts div:first-child { border-top: 0; }
.sd-consult__facts dt { font-size: 12px; color: var(--tm); }
.sd-consult__facts dd { margin: 0; font-size: 12px; font-weight: 600; text-align: right; }
.sd-consult textarea { display: block; width: 100%; border: 1px solid var(--bd); border-radius: 16px; background: #fff; padding: 12px 16px; font: inherit; font-size: 13px; line-height: 1.6; resize: vertical; }
.sd-consult textarea:focus { border-color: #b7e4cb; outline: none; box-shadow: 0 0 0 2px var(--acbg); }
.sd-consult [data-consult-notes-save] { margin-top: 8px; }
.sd-consult .sd-consult__wide { width: 100%; margin-top: 8px; }
.sd-consult__files { margin: 0; padding: 0; list-style: none; overflow: hidden; border: 1px solid var(--bd); border-radius: 16px; background: #fff; }
.sd-consult__files li + li { border-top: 1px solid var(--bd); }
.sd-consult .sd-consult__files button { display: flex; align-items: center; gap: 12px; width: 100%; border: 0; background: transparent; background-image: none; padding: 12px 16px; text-align: left; cursor: pointer; }
.sd-consult__files button span:nth-child(2) { flex: 1; overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sd-consult__files svg, .sd-consult__files i { width: 16px; height: 16px; color: var(--tm); }
.sd-consult__outcome { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; border-top: 1px solid var(--bd); background: #fff; padding: 12px 20px calc(16px + env(safe-area-inset-bottom)); }
.sd-consult__outcome p { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 10px 0; color: var(--ac); font-size: 14px; font-weight: 600; }
.sd-consult .sd-consult__ink { width: 100%; border: 0; border-radius: 12px; background-color: var(--t); background-image: none; color: #fff; padding: 12px; font-size: 14px; font-weight: 600; cursor: pointer; }
.sd-consult .sd-consult__ink:disabled { opacity: .45; }
.sd-consult__sheet { position: absolute; inset: 0; z-index: 6; display: flex; flex-direction: column; justify-content: flex-end; }
.sd-consult__sheet-back { position: absolute; inset: 0; border: 0; background: rgba(26, 31, 28, .25); }
.sd-consult__sheet-panel { position: relative; display: flex; flex-direction: column; max-height: 92%; border-radius: 24px 24px 0 0; background: #fff; transform: translateY(100%); transition: transform .28s cubic-bezier(.32, .72, 0, 1); }
.sd-consult__sheet.is-open .sd-consult__sheet-panel { transform: none; }
.sd-consult__grab { width: 40px; height: 4px; margin: 10px auto 0; border-radius: 999px; background: var(--bd); }
.sd-consult__sheet-panel header { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; }
.sd-consult__sheet-panel h2 { margin: 0; font-size: 16px; font-weight: 700; }
.sd-consult .sd-consult__sheet-panel header button { border: 0; border-radius: 999px; background: transparent; background-image: none; color: var(--tm); padding: 6px; cursor: pointer; }
.sd-consult__sheet-body { overflow-y: auto; padding: 0 20px 16px; }
.sd-consult__sheet-panel footer { border-top: 1px solid var(--bd); padding: 12px 20px calc(16px + env(safe-area-inset-bottom)); }
.sd-consult__sheet-panel footer .sd-consult__go { margin-top: 0; }
.sd-consult__chips { display: flex; flex-wrap: wrap; gap: 4px; }
.sd-consult .sd-consult__chip { border: 1px solid var(--bd); border-radius: 999px; background: #fff; background-image: none; color: var(--tm); padding: 2px 10px; font-size: 10px; font-weight: 600; cursor: pointer; }
.sd-consult .sd-consult__chip[aria-pressed="true"] { border-color: var(--ac); background: #EAF6EF; color: var(--ac); }
.sd-consult__sheet-body p { margin: 0 0 4px; font-size: 11px; font-weight: 600; }
.sd-consult__sheet-body .sd-lead__q-box { display: flex; flex-direction: column; gap: 10px; }
.sd-consult__number { display: flex; align-items: center; gap: 8px; }
.sd-consult__number input { width: 6rem; border: 1px solid var(--bd); border-radius: 8px; padding: 8px 10px; font: inherit; font-size: 12px; }
.sd-consult__number span { font-size: 10px; color: var(--tm); }
.sd-consult [hidden] { display: none !important; }
.sd-consult [data-consult-spin] { animation: sd-lead-spin .8s linear infinite; }

/* Login — split hero and sign-in / reset panels */
body.eqhq-login-page { background: #fff; }
body.eqhq-login-page #masthead,
body.eqhq-login-page #colophon { display: none; }
body.eqhq-login-page #page,
body.eqhq-login-page #content { min-height: 100vh; background: #fff; }
body.eqhq-login-page #content { display: flex; }
.eqhq-login { display: flex; flex: 1; min-height: 100vh; width: 100%; background: #fff; color: var(--t); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
.eqhq-login [hidden] { display: none !important; }
.eqhq-login__hero { display: none; }
.eqhq-login__hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.eqhq-login__hero-logo { position: absolute; left: 40px; top: 40px; border-radius: 12px; background: rgba(255, 255, 255, .9); padding: 8px 12px; backdrop-filter: blur(8px); }
.eqhq-login__hero-card { position: absolute; left: 40px; right: 40px; bottom: 40px; border-radius: 16px; background: rgba(26, 31, 28, .7); padding: 24px; color: #fff; backdrop-filter: blur(12px); }
.eqhq-login__hero-card p { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.35; }
.eqhq-login__main { flex: 1; display: flex; flex-direction: column; min-width: 0; background: var(--s1); }
.eqhq-login__mobile-logo { padding: 24px 24px 0; }
.eqhq-login__logo { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 800; letter-spacing: .04em; color: var(--t); }
.eqhq-login__logo-mark { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background-color: #0E7A4B; background-image: linear-gradient(135deg, #0E7A4B, #34C47A); color: #fff; font-size: 13px; font-weight: 800; }
.eqhq-login__stage { flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
.eqhq-login__card { width: 100%; max-width: 380px; }
.eqhq-login__panel[hidden] { display: none !important; }
.eqhq-login__panel.is-in { animation: eqhq-login-in .2s cubic-bezier(.23, 1, .32, 1); }
@keyframes eqhq-login-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.eqhq-login__title { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: -.02em; color: var(--t); }
.eqhq-login__title--spaced { margin-top: 24px; }
.eqhq-login__sub { margin: 4px 0 0; font-size: 14px; color: var(--tm); line-height: 1.5; }
.eqhq-login__form { margin-top: 32px; display: flex; flex-direction: column; gap: 20px; }
.eqhq-login .eqhq-login__label { display: block; font-size: 12px; font-weight: 600; color: var(--tm); }
.eqhq-login__label-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.eqhq-login button.eqhq-login__link { border: 0; background-color: transparent; background-image: none; padding: 0; color: var(--ac); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.eqhq-login button.eqhq-login__link:hover { text-decoration: underline; }
.eqhq-login input.eqhq-login__input { margin-top: 6px; display: block; width: 100%; box-sizing: border-box; border-radius: 12px; border: 1px solid var(--bd); background-color: #fff; background-image: none; padding: 10px 14px; font: inherit; font-size: 14px; color: var(--t); transition: border-color .15s ease, box-shadow .15s ease; }
.eqhq-login input.eqhq-login__input::placeholder { color: var(--tm); }
.eqhq-login input.eqhq-login__input:focus { outline: none; border-color: #9AD8B6; box-shadow: 0 0 0 3px #EAF6EF; }
.eqhq-login input.eqhq-login__input[aria-invalid="true"] { border-color: #D92D20; }
.eqhq-login input.eqhq-login__code { letter-spacing: .28em; text-align: center; font-variant-numeric: tabular-nums; }
.eqhq-login__field { position: relative; }
.eqhq-login .eqhq-login__field input.eqhq-login__input { padding-right: 44px; }
.eqhq-login button.eqhq-login__eye { position: absolute; right: 8px; top: 50%; margin-top: 3px; transform: translateY(-50%); display: inline-flex; border: 0; border-radius: 8px; background-color: transparent; background-image: none; color: var(--tm); padding: 6px; cursor: pointer; }
.eqhq-login button.eqhq-login__eye:hover { color: var(--t); }
.eqhq-login button.eqhq-login__eye svg,
.eqhq-login button.eqhq-login__eye i { width: 16px; height: 16px; display: block; }
.eqhq-login .eqhq-login__remember { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 12px; font-weight: 400; color: var(--tm); }
.eqhq-login input.eqhq-login__check { width: 16px; height: 16px; margin: 0; accent-color: #0E7A4B; flex: 0 0 16px; }
.eqhq-login .eqhq-login__error { margin: 0; border-radius: 8px; background: #FEF3F2; color: #B42318; padding: 8px 12px; font-size: 12px; font-weight: 500; }
.eqhq-login .eqhq-login__error[hidden] { display: none; }
.eqhq-login .eqhq-login__note { margin: 16px 0 0; border-radius: 8px; background: #EAF6EF; color: var(--ac); padding: 8px 12px; font-size: 12px; font-weight: 600; }
.eqhq-login button.eqhq-login__submit { display: flex; width: 100%; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; padding: 12px 0; font: inherit; font-size: 14px; font-weight: 600; color: #fff; background-color: #0E7A4B; background-image: linear-gradient(135deg, #0E7A4B, #34C47A); cursor: pointer; transition: opacity .15s ease; }
.eqhq-login button.eqhq-login__submit:hover { opacity: .9; color: #fff; }
.eqhq-login button.eqhq-login__submit:disabled { opacity: .7; cursor: not-allowed; }
.eqhq-login button.eqhq-login__submit:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px #9AD8B6; }
.eqhq-login .eqhq-login__spin[hidden] { display: none; }
.eqhq-login svg.eqhq-login__spin { width: 16px; height: 16px; animation: eqhq-spin .7s linear infinite; }
@keyframes eqhq-spin { to { transform: rotate(360deg); } }
.eqhq-login__hint { margin: 32px 0 0; text-align: center; font-size: 12px; color: var(--tm); }
.eqhq-login button.eqhq-login__back { display: inline-flex; align-items: center; gap: 6px; border: 0; background-color: transparent; background-image: none; padding: 0; color: var(--tm); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.eqhq-login button.eqhq-login__back:hover { color: var(--t); }
.eqhq-login button.eqhq-login__back svg,
.eqhq-login button.eqhq-login__back i { width: 14px; height: 14px; }
.eqhq-login .eqhq-login__mark { width: 40px; height: 40px; color: var(--ac); }
.eqhq-login .eqhq-login__mark svg,
.eqhq-login .eqhq-login__mark i { width: 40px; height: 40px; }
.eqhq-login button.eqhq-login__ghost { margin-top: 32px; width: 100%; border: 1px solid var(--bd); border-radius: 12px; background-color: #fff; background-image: none; color: var(--t); padding: 12px 0; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.eqhq-login button.eqhq-login__ghost:hover { background-color: var(--s1); color: var(--t); }
.eqhq-login__sent-email { font-weight: 600; color: var(--t); }
.eqhq-login__foot { display: flex; justify-content: center; gap: 16px; padding: 0 24px 24px; font-size: 11px; color: var(--tm); }
.eqhq-login__foot a { color: var(--tm); text-decoration: none; }
.eqhq-login__foot a:hover { color: var(--t); }
.eqhq-login__hp { position: absolute; left: -9999px; }
@media (min-width: 1024px) {
	.eqhq-login__hero { display: block; position: relative; width: 46%; max-width: 640px; flex: 0 0 46%; overflow: hidden; }
	.eqhq-login__main { background: #fff; }
	.eqhq-login__mobile-logo { display: none; }
}
