/* Enviro-Mental Audit — functional baseline styling.
   Ported from the validated prototype (prototipo-auditorias/*.html); scoped
   under .wab-root / .wab-admin-wrap so nothing leaks into the theme or
   wp-admin.
   Typography is intentionally NOT set here: .wab-root sits inside whatever
   Elementor/theme container the [wmc_audit] shortcode is placed in, and
   .wab-admin-wrap sits inside wp-admin's own — both inherit font-family and
   font-size from their surrounding page instead of imposing a font of our
   own. Every size below is `max(Xem, Ypx)`: it keeps scaling with whatever
   base size the page inherits (Xem), but never renders smaller than a
   readable floor (Ypx, ~16px at the root and proportionally larger for
   bigger elements) if that inherited base turns out to be tiny. Note: for
   the `font-size` property specifically, `1em` always resolves against the
   *parent's* size (never the element's own), so `max(1em, 16px)` below is
   the floored equivalent of `font-size:inherit` — `inherit` itself can't be
   combined inside max(). */
.wab-root, .wab-admin-wrap{
	--wab-ink:#16232e; --wab-ink-2:#586573; --wab-ink-muted:#8b93a0;
	--wab-border:rgba(22,35,46,.12); --wab-border-strong:rgba(22,35,46,.2);
	--wab-green:#6f9c3a; --wab-green-strong:#5c8730; --wab-green-wash:#eaf3e0;
	--wab-surface:#fff; --wab-surface-2:#f8f9f5; --wab-chip:#eef1e9;
	--wab-focus:#2a78d6;
	--wab-cat-1:#2a78d6; --wab-cat-2:#eb6834; --wab-cat-3:#1baf7a; --wab-cat-4:#eda100; --wab-cat-5:#4a3aa7;
	--wab-good:#0ca30c; --wab-warning:#fab219; --wab-serious:#ec835a; --wab-critical:#d03b3b;
	--wab-track:#e9ece2;
	font-family:inherit;
	color:var(--wab-ink); font-size:max(1em,16px); line-height:1.55; width:100%; max-width:100%; box-sizing:border-box;
}
.wab-root *, .wab-admin-wrap *{ box-sizing:border-box; }
.wab-root h1,.wab-root h2,.wab-root h3,.wab-admin-wrap h2,.wab-admin-wrap h3{ margin:0; }
.wab-eyebrow{ font-size:max(.733em,12px); font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--wab-green-strong); }
.wab-muted{ color:var(--wab-ink-muted); }
.wab-tabular{ font-variant-numeric:tabular-nums; }
.wab-ta-center{ text-align:center; }

.wab-card{ display:block; width:100%; background:var(--wab-surface); border:1px solid var(--wab-border); border-radius:14px; padding:20px 22px; box-shadow:0 1px 2px rgba(22,35,46,.05),0 8px 20px rgba(22,35,46,.06); margin-bottom:16px; }
.wab-btn{ border-radius:999px; border:1px solid var(--wab-border-strong); background:var(--wab-surface); color:var(--wab-ink); padding:9px 16px; font-size:max(.9em,14px); font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:8px; }
.wab-btn:hover{ border-color:var(--wab-green); color:var(--wab-green-strong); background:var(--wab-green-wash); }
.wab-btn-primary{ background:var(--wab-green); border-color:var(--wab-green); color:#fff; }
.wab-btn-primary:hover{ background:var(--wab-green-strong); border-color:var(--wab-green-strong); color:#fff; }
.wab-btn:disabled{ opacity:.45; cursor:not-allowed; }

.wab-field{ display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
.wab-field label{ font-size:max(.833em,13px); font-weight:700; color:var(--wab-ink-2); }
.wab-field input[type=text],.wab-field input[type=date],.wab-field input[type=email],.wab-field select,.wab-field textarea{
	border:1px solid var(--wab-border-strong); border-radius:8px; padding:8px 10px; font-size:max(.933em,15px); background:var(--wab-surface); color:var(--wab-ink); font-family:inherit;
}
.wab-two-col{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:600px){ .wab-two-col{ grid-template-columns:1fr; } }

.wab-stepper{ display:flex; align-items:center; gap:0; margin:16px 0 22px; overflow-x:auto; }
.wab-step{ display:flex; align-items:center; gap:6px; flex:none; }
.wab-step-dot{ width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:max(.733em,12px); font-weight:700; border:1.5px solid var(--wab-border-strong); color:var(--wab-ink-muted); background:var(--wab-surface); flex:none; }
.wab-step.done .wab-step-dot{ background:var(--wab-green); border-color:var(--wab-green); color:#fff; }
.wab-step.current .wab-step-dot{ border-color:var(--wab-green); color:var(--wab-green); }
.wab-step-label{ font-size:max(.8em,13px); font-weight:600; color:var(--wab-ink-muted); white-space:nowrap; }
.wab-step.current .wab-step-label{ color:var(--wab-ink); }
.wab-step-line{ width:20px; height:1.5px; background:var(--wab-border-strong); margin:0 6px; flex:none; }

.wab-q-item{ border:1px solid var(--wab-border); border-radius:10px; padding:14px 16px; margin-bottom:10px; scroll-margin-top:16px; }
.wab-q-item.error{ border-color:var(--wab-critical); box-shadow:0 0 0 1px var(--wab-critical); }
.wab-q-top{ display:flex; gap:10px; align-items:flex-start; }
.wab-q-num{ flex:none; width:32px; height:22px; border-radius:6px; background:var(--wab-chip); color:var(--wab-ink-2); font-size:max(.733em,12px); font-weight:700; display:flex; align-items:center; justify-content:center; }
.wab-q-text{ font-size:max(.933em,15px); flex:1; }
.wab-q-note{ font-size:max(.867em,14px); color:var(--wab-ink-2); font-style:italic; }
.wab-q-controls{ display:flex; gap:18px; margin-top:10px; margin-left:42px; flex-wrap:wrap; align-items:center; }
.wab-radio-group{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.wab-radio-opt{ display:flex; align-items:center; gap:5px; font-size:max(.867em,14px); font-weight:600; color:var(--wab-ink-2); cursor:pointer; }
.wab-select{ padding:6px 8px; font-size:max(.867em,14px); border-radius:7px; border:1px solid var(--wab-border-strong); background:var(--wab-surface); color:var(--wab-ink); }
.wab-open-input{ flex:1; min-width:200px; border:1px solid var(--wab-border-strong); border-radius:7px; padding:6px 9px; font-size:max(.867em,14px); }
textarea.wab-open-input{ width:100%; display:block; resize:vertical; font-family:inherit; line-height:1.5; }

/* Three-point status scale: a pill-shaped segmented control (visible at a
   glance, no hidden dropdown options) rather than a <select> — matches the
   rounded-pill language already used by .wab-btn / .wab-band-pill. */
.wab-segmented{ display:inline-flex; flex-wrap:wrap; border:1px solid var(--wab-border-strong); border-radius:999px; overflow:hidden; }
.wab-segment{ border:none; background:var(--wab-surface); color:var(--wab-ink-2); padding:6px 14px; font-size:max(.8em,13px); font-weight:600; cursor:pointer; border-right:1px solid var(--wab-border-strong); font-family:inherit; }
.wab-segment:last-child{ border-right:none; }
.wab-segment:hover{ background:var(--wab-green-wash); color:var(--wab-green-strong); }
.wab-segment.active{ background:var(--wab-green); color:#fff; }
.wab-segment:focus-visible{ outline:2px solid var(--wab-focus); outline-offset:-2px; }

.wab-error-banner{ padding:12px 14px; border-radius:10px; background:#fdf2f1; border:1px solid var(--wab-critical); margin-bottom:14px; }
.wab-error-banner strong{ font-size:max(.867em,14px); color:var(--wab-critical); display:block; margin-bottom:4px; }
.wab-error-banner ul{ margin:0; padding-left:18px; font-size:max(.833em,13px); color:var(--wab-ink-2); }
.wab-toast{ padding:10px 14px; border-radius:10px; background:var(--wab-green-wash); border:1px solid var(--wab-green); color:var(--wab-green-strong); font-size:max(.867em,14px); font-weight:600; margin-bottom:14px; }

.wab-hero-score{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; padding:22px 24px; border-radius:14px; background:var(--wab-green-wash); border:1px solid var(--wab-border); margin-bottom:18px; }
.wab-hero-score .wab-big{ font-size:max(2.933em,47px); font-weight:800; }
.wab-band-pill{ display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; font-size:max(.833em,13px); font-weight:700; margin-top:6px; }
.wab-band-dot{ width:8px; height:8px; border-radius:50%; flex:none; }

.wab-donut-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-bottom:20px; }
.wab-donut-card{ text-align:center; }
.wab-donut-pct{ font-size:max(1.467em,23px); font-weight:800; }

table.wab-table{ width:100%; border-collapse:collapse; font-size:max(.867em,14px); }
table.wab-table th{ text-align:left; font-size:max(.846em,14px); text-transform:uppercase; color:var(--wab-ink-muted); font-weight:700; padding:7px 8px; border-bottom:1px solid var(--wab-border-strong); }
table.wab-table td{ padding:8px; border-bottom:1px solid var(--wab-border); vertical-align:top; }

.wab-dash-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.wab-search{ border:1px solid var(--wab-border-strong); border-radius:999px; padding:8px 14px; font-size:max(.867em,14px); min-width:220px; }
.wab-source-chip{ font-size:max(.667em,11px); font-weight:800; text-transform:uppercase; padding:2px 8px; border-radius:999px; background:#e2f0fb; color:#2f7bb0; }
.wab-source-chip.client{ background:var(--wab-green-wash); color:var(--wab-green-strong); }
.wab-empty{ text-align:center; padding:40px 16px; color:var(--wab-ink-muted); }

/* Honeypot: real visitors never see or reach this field (also pulled from
   the tab order and the accessibility tree via the markup's own
   attributes) — a bot that fills every input it finds gives itself away. */
.wab-honeypot{ position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden; }

/* Confirmation modal — replaces window.confirm() for destructive actions
   (e.g. deleting a question) with something in the plugin's own visual
   language instead of the browser's generic dialog. */
.wab-modal-overlay{ position:fixed; inset:0; background:rgba(22,35,46,.45); display:flex; align-items:center; justify-content:center; padding:20px; z-index:9999; }
.wab-modal{ max-width:420px; width:100%; margin-bottom:0; }
.wab-modal-danger{ background:var(--wab-critical); border-color:var(--wab-critical); }
.wab-modal-danger:hover{ filter:brightness(.88); }

/* Dashboard list view (Diagnósticos) — alternative to the card grid. */
.wab-list{ overflow:hidden; }
.wab-list-row{ display:grid; grid-template-columns:1.4fr .8fr 1fr 1fr .9fr; gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--wab-border); }
.wab-list-row:last-child{ border-bottom:none; }
.wab-list-head{ padding:10px 16px; background:var(--wab-surface-2); border-bottom:1px solid var(--wab-border-strong); letter-spacing:.05em; }
.wab-list-row.wab-cursor:hover{ background:var(--wab-surface-2); }

/* Leads list — same idea as the dashboard list but its own column set. */
.wab-leads-row{ display:grid; grid-template-columns:.7fr 1.3fr .8fr 1.3fr .8fr .9fr 1fr; gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--wab-border); }
.wab-leads-row:last-child{ border-bottom:none; }
.wab-leads-row.wab-cursor:hover{ background:var(--wab-surface-2); }

/* Lead detail — main content + a narrow right-hand actions sidebar. */
.wab-detail-layout{ display:grid; grid-template-columns:1fr 280px; gap:20px; align-items:start; }
@media (max-width:760px){ .wab-detail-layout{ grid-template-columns:1fr; } }

/* Per-row/card CRM status picker: a colored label that opens a small menu
   of the other statuses plus an explicit Apply button — no native <select>,
   no auto-save on pick. Interactive elements are re-declared under
   .wab-admin-wrap (this dashboard is admin-only) so wp-admin's own native
   <button> styling can't win the specificity fight, same reasoning as the
   .wab-btn/.wab-segment hardening below. */
.wab-admin-wrap .wab-crm-picker .wab-band-pill{ margin-top:0; }
.wab-crm-picker-menu{ position:absolute; top:100%; left:0; margin-top:6px; min-width:220px; background:var(--wab-surface); border:1px solid var(--wab-border-strong); border-radius:10px; box-shadow:0 4px 16px rgba(22,35,46,.16); padding:8px; z-index:30; }
.wab-crm-picker-options{ display:flex; flex-direction:column; gap:2px; }
.wab-crm-picker-opt{ display:flex; align-items:center; gap:8px; width:100%; text-align:left; border:none; background:none; padding:7px 8px; border-radius:7px; cursor:pointer; font-size:max(.867em,14px); font-family:inherit; color:var(--wab-ink); }
.wab-crm-picker .wab-band-pill:focus-visible, .wab-crm-picker-opt:focus-visible{ outline:2px solid var(--wab-focus); outline-offset:-2px; }
.wab-crm-picker-opt:hover{ background:var(--wab-surface-2); }
.wab-crm-picker-opt.selected{ background:var(--wab-green-wash); font-weight:700; }
.wab-crm-picker-footer{ margin-top:8px; padding-top:8px; border-top:1px solid var(--wab-border); display:flex; justify-content:flex-end; }

/* ---------- theme/page-builder hardening ----------
   Astra + Elementor (and most themes) apply their own global styling to
   plain <button>/<input>/<select>/<table> tags site-wide. A single .wab-btn
   class can lose that fight on specificity alone. Re-declaring the same
   rules scoped under the widget's own root doubles our specificity without
   reaching for !important anywhere. */
.wab-root .wab-btn, .wab-admin-wrap .wab-btn{
	border-radius:999px; border:1px solid var(--wab-border-strong); background:var(--wab-surface); color:var(--wab-ink);
	padding:9px 16px; font-size:max(.9em,14px); font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:8px;
	width:auto; box-shadow:none; text-decoration:none; line-height:normal;
}
.wab-root .wab-btn-primary, .wab-admin-wrap .wab-btn-primary{ background:var(--wab-green); border-color:var(--wab-green); color:#fff; }
.wab-root .wab-segment, .wab-admin-wrap .wab-segment{
	border:none; border-right:1px solid var(--wab-border-strong); background:var(--wab-surface); color:var(--wab-ink-2);
	padding:6px 14px; font-size:max(.8em,13px); font-weight:600; cursor:pointer; width:auto; box-shadow:none; line-height:normal;
}
.wab-root .wab-segment.active, .wab-admin-wrap .wab-segment.active{ background:var(--wab-green); color:#fff; }
.wab-root .wab-field input[type=text], .wab-root .wab-field input[type=date], .wab-root .wab-field input[type=email],
.wab-root .wab-field select, .wab-root .wab-select, .wab-root .wab-open-input, .wab-root .wab-search,
.wab-admin-wrap .wab-field input[type=text], .wab-admin-wrap .wab-field input[type=date], .wab-admin-wrap .wab-field input[type=email],
.wab-admin-wrap .wab-field select, .wab-admin-wrap .wab-select, .wab-admin-wrap .wab-open-input, .wab-admin-wrap .wab-search{
	width:100%; box-shadow:none; margin:0;
}
.wab-root table.wab-table, .wab-admin-wrap table.wab-table{ width:100%; }
.wab-root .wab-band-pill, .wab-admin-wrap .wab-band-pill{
	border:none; font-family:inherit; box-shadow:none; width:auto; line-height:normal;
	display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; font-size:max(.833em,13px); font-weight:700; margin-top:6px;
}
.wab-root .wab-crm-picker-opt, .wab-admin-wrap .wab-crm-picker-opt{
	border:none; font-family:inherit; box-shadow:none; width:100%; line-height:normal;
	display:flex; align-items:center; gap:8px; text-align:left; background:none; padding:7px 8px; border-radius:7px; font-size:max(.867em,14px); color:var(--wab-ink);
}

/* ---------- utility classes generated from former inline styles ----------
   Mechanically extracted so every rule lives in this stylesheet instead of
   scattered `style="..."` attributes in the JS/PHP that render the widget.
   Class names encode the declaration(s) they carry (e.g. `.wab-mt-8` is
   `margin-top:8px`) so a given occurrence stays traceable to its rule. */

/* Card grids (semantic, not atomized — the minmax() width is the point). */
.wab-grid-sections{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.wab-grid-role-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.wab-grid-type-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; margin-top:10px; }
.wab-grid-stat-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; margin-top:8px; }
.wab-grid-dashboard{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:18px; }

/* Fixed status-color legend chips (0-30/31-60/61-80/81-100 bands) — the
   colors match --wab-critical/--wab-serious/--wab-warning/--wab-good
   exactly; kept as literal hex+alpha here since CSS custom properties can't
   be string-concatenated with an alpha suffix. */
.wab-status-critical-bg{ background:#d03b3b22; color:#d03b3b; border:1px solid #d03b3b55; }
.wab-status-critical-dot{ background:#d03b3b; }
.wab-status-serious-bg{ background:#ec835a22; color:#ec835a; border:1px solid #ec835a55; }
.wab-status-serious-dot{ background:#ec835a; }
.wab-status-warning-bg{ background:#fab21922; color:#fab219; border:1px solid #fab21955; }
.wab-status-warning-dot{ background:#fab219; }
.wab-status-good-bg{ background:#0ca30c22; color:#0ca30c; border:1px solid #0ca30c55; }
.wab-status-good-dot{ background:#0ca30c; }

/* Per-status pill/dot/tab, color chosen at render time from data (band
   lookup, CRM status config — not a fixed legend like above) — the
   property RULES live here; only the color VALUE is passed in per element
   via a custom property, so this is not an inline style in the
   problematic sense (no specificity fight, no duplicated declarations
   scattered across JS/PHP). Pair with a wab-mt-* atom for margin-top,
   since that varies by where the pill is used. */
.wab-status-pill-dyn{ background:var(--pc-wash); color:var(--pc); border:1px solid var(--pc-border); }
.wab-status-dot-dyn{ background:var(--pc); }
.wab-select-status-dyn{ border-color:var(--pc); color:var(--pc); }
.wab-c-dyn{ color:var(--pc); }
.wab-crm-tab-dyn{ color:var(--pc); border-color:var(--pc-border); }
.wab-crm-tab-dyn.active{ background:var(--pc); color:#fff; border-color:var(--pc); }

/* Fixed-palette status colors reused as conditional classes (status = 0/1/2
   good/warning/critical) instead of an inline color per render. */
.wab-c-warning{ color:var(--wab-warning); }
.wab-bg-critical{ background:var(--wab-critical); }
.wab-bg-serious{ background:var(--wab-serious); }
.wab-status-dot-fixed{ width:7px; height:7px; border-radius:50%; margin-top:5px; flex:none; }

.wab-ai-baseline{ align-items:baseline; }
.wab-ai-center{ align-items:center; }
.wab-ai-start{ align-items:flex-start; }
.wab-b-border{ border:1px solid var(--wab-border); }
.wab-b-border-strong{ border:1px solid var(--wab-border-strong); }
.wab-b-green{ border:1px solid var(--wab-green); }
.wab-bb-border{ border-bottom:1px solid var(--wab-border); }
.wab-bg-green{ background:var(--wab-green); }
.wab-bg-green-wash{ background:var(--wab-green-wash); }
.wab-bg-surface-2{ background:var(--wab-surface-2); }
.wab-bg-track{ background:var(--wab-track); }
.wab-br-10{ border-radius:10px; }
.wab-br-2{ border-radius:2px; }
.wab-br-8{ border-radius:8px; }
.wab-bstyle-dashed{ border-style:dashed; }
.wab-bt-border{ border-top:1px solid var(--wab-border); }
.wab-c-critical{ color:var(--wab-critical); }
.wab-c-good{ color:var(--wab-good); }
.wab-c-green-strong{ color:var(--wab-green-strong); }
.wab-c-inherit{ color:inherit; }
.wab-c-ink{ color:var(--wab-ink); }
.wab-c-ink-2{ color:var(--wab-ink-2); }
.wab-c-ink-muted{ color:var(--wab-ink-muted); }
.wab-c-white{ color:#fff; }
.wab-cursor{ cursor:pointer; }
.wab-d-block{ display:block; }
.wab-d-iblock{ display:inline-block; }
.wab-flex{ display:flex; }
.wab-flex-1{ flex:1; }
.wab-flex-col{ flex-direction:column; }
.wab-flex-none{ flex:none; }
.wab-fs-1{ font-size:max(1em,16px); }
.wab-fs-1p13{ font-size:max(1.13em,18px); }
.wab-fs-1p133{ font-size:max(1.133em,18px); }
.wab-fs-1p2{ font-size:max(1.2em,19px); }
.wab-fs-1p267{ font-size:max(1.267em,20px); }
.wab-fs-1p333{ font-size:max(1.333em,21px); }
.wab-fs-1p6{ font-size:max(1.6em,26px); }
.wab-fs-2p4{ font-size:max(2.4em,38px); }
.wab-fs-p733{ font-size:max(.733em,12px); }
.wab-fs-p8{ font-size:max(.8em,13px); }
.wab-fs-p833{ font-size:max(.833em,13px); }
.wab-fs-p867{ font-size:max(.867em,14px); }
.wab-fs-p9{ font-size:max(.9em,14px); }
.wab-fs-p933{ font-size:max(.933em,15px); }
.wab-fw-400{ font-weight:400; }
.wab-fw-700{ font-weight:700; }
.wab-fw-800{ font-weight:800; }
.wab-gap-10{ gap:10px; }
.wab-gap-14{ gap:14px; }
.wab-gap-4{ gap:4px; }
.wab-gap-6{ gap:6px; }
.wab-gap-8{ gap:8px; }
.wab-gcol-span-2{ grid-column:span 2; }
.wab-h-4{ height:4px; }
.wab-inset0{ inset:0; }
.wab-italic{ font-style:italic; }
.wab-jc-center{ justify-content:center; }
.wab-jc-end{ justify-content:flex-end; }
.wab-jc-sb{ justify-content:space-between; }
.wab-lh-1{ line-height:1; }
.wab-lh-1p8{ line-height:1.8; }
.wab-m-0{ margin:0; }
.wab-m-0-0-10{ margin:0 0 10px; }
.wab-m-0-0-6{ margin:0 0 6px; }
.wab-m-10-0{ margin:10px 0; }
.wab-m-10-0-16{ margin:10px 0 16px; }
.wab-m-12-0{ margin:12px 0; }
.wab-m-16-0-8{ margin:16px 0 8px; }
.wab-m-18-0-8{ margin:18px 0 8px; }
.wab-m-2-0{ margin:2px 0; }
.wab-m-4-0-0{ margin:4px 0 0; }
.wab-m-4-0-6{ margin:4px 0 6px; }
.wab-m-6-0-0{ margin:6px 0 0; }
.wab-m-6-0-14{ margin:6px 0 14px; }
.wab-m-8-0-16{ margin:8px 0 16px; }
.wab-mb-10{ margin-bottom:10px; }
.wab-mb-12{ margin-bottom:12px; }
.wab-mb-14{ margin-bottom:14px; }
.wab-mb-2{ margin-bottom:2px; }
.wab-mb-4{ margin-bottom:4px; }
.wab-mb-6{ margin-bottom:6px; }
.wab-minh-120{ min-height:120px; }
.wab-minw-0{ min-width:0; }
.wab-minw-220{ min-width:220px; }
.wab-mr-6{ margin-right:6px; }
.wab-mt-10{ margin-top:10px; }
.wab-mt-12{ margin-top:12px; }
.wab-mt-14{ margin-top:14px; }
.wab-mt-16{ margin-top:16px; }
.wab-mt-18{ margin-top:18px; }
.wab-mt-2{ margin-top:2px; }
.wab-mt-32{ margin-top:32px; }
.wab-mt-4{ margin-top:4px; }
.wab-mt-6{ margin-top:6px; }
.wab-mt-8{ margin-top:8px; }
.wab-mw-200{ max-width:200px; }
.wab-mw-820{ max-width:820px; }
.wab-nowrap{ white-space:nowrap; }
.wab-ofhidden{ overflow:hidden; }
.wab-ofx-auto{ overflow-x:auto; }
.wab-p-0{ padding:0; }
.wab-p-0-16-16{ padding:0 16px 16px; }
.wab-p-10-12{ padding:10px 12px; }
.wab-p-14-16{ padding:14px 16px; }
.wab-p-2-8{ padding:2px 8px; }
.wab-p-22-24{ padding:22px 24px; }
.wab-p-4-10{ padding:4px 10px; }
.wab-p-5-10{ padding:5px 10px; }
.wab-p-8{ padding:8px; }
.wab-p-8-0{ padding:8px 0; }
.wab-p-7-9{ padding:7px 9px; }
.wab-p-8-10{ padding:8px 10px; }
.wab-pe-none{ pointer-events:none; }
.wab-pl-18{ padding-left:18px; }
.wab-pl-20{ padding-left:20px; }
.wab-pos-abs{ position:absolute; }
.wab-pos-rel{ position:relative; }
.wab-tdn{ text-decoration:none; }
.wab-uc{ text-transform:uppercase; }
.wab-w100{ width:100%; }
.wab-wrap{ flex-wrap:wrap; }
.wab-border-color-green{ border-color:var(--wab-green); }
.wab-pt-10{ padding-top:10px; }
.wab-ff-inherit{ font-family:inherit; }
