/* ============================================================================
   LOOM ENTERPRISE
   Public landing/pricing page + authenticated dashboard app-shell, on the
   shared design language (loom-tokens.css). Enterprise accent = teal
   (--lh-teal / --accent-ent). Classes prefixed `le-`.

   The landing is live; the dashboard styles back static previews until the
   enterprise backend (LOOM-ENTERPRISE-WORKFLOW-PLAN.md: org entity, quota,
   Stripe subscription, state machine) lands to wire them to real data.
   ============================================================================ */

.le-root{background:var(--lh-ink);color:var(--lh-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
.le-root *{box-sizing:border-box}
.le-wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.le-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--lh-teal);margin-bottom:16px}
.le-serif{font-family:var(--font-serif);font-weight:500}

/* ============================ HERO ============================ */
.le-hero{position:relative;padding:80px 0 70px;overflow:hidden}
.le-hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 78% 8%, rgba(130,207,213,.14), transparent 58%),radial-gradient(ellipse 50% 60% at 12% 20%, rgba(68,137,237,.10), transparent 60%)}
.le-hero-inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;max-width:1120px;margin:0 auto;padding:0 32px}
.le-hero h1{font-family:var(--font-serif);font-weight:500;font-size:52px;line-height:1.04;letter-spacing:-1.2px;margin:0 0 20px;color:var(--lh-paper)}
.le-hero p{font-size:18px;line-height:1.6;color:var(--lh-text-soft);max-width:560px;margin:0 0 30px}
.le-hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* buttons */
.le-btn{display:inline-flex;align-items:center;gap:9px;border-radius:10px;font-size:15px;font-weight:700;padding:14px 26px;text-decoration:none;cursor:pointer;border:0;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.le-btn-primary{background:var(--lh-amber);color:#10202E}
.le-btn-primary:hover{background:#EFA94D;transform:translateY(-1px);color:#10202E}
.le-btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--lh-text)}
.le-btn-ghost:hover{border-color:rgba(255,255,255,.5);color:#fff}
.le-btn-teal{background:var(--lh-teal);color:#06222F}
.le-btn-teal:hover{background:#9BDBE0;transform:translateY(-1px);color:#06222F}

/* floating product preview (dashboard usage card) */
.le-preview{background:var(--lh-panel);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 40px 90px -40px rgba(0,0,0,.7);padding:24px 26px}
.le-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.le-preview-head .t{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--lh-text-dim)}
.le-meter{display:flex;align-items:flex-end;gap:18px}
.le-donut{width:104px;height:104px;flex:none}
.le-meter-figs .big{font-family:var(--font-serif);font-size:40px;font-weight:600;color:var(--lh-paper);line-height:1}
.le-meter-figs .small{font-size:13px;color:var(--lh-text-muted);margin-top:4px}
.le-meter-figs .reset{font-family:var(--font-mono);font-size:10.5px;color:var(--lh-text-dim);margin-top:8px;letter-spacing:.5px}
.le-spark{display:flex;align-items:flex-end;gap:4px;height:40px;margin-top:18px}
.le-spark i{flex:1;background:rgba(130,207,213,.35);border-radius:2px}
.le-spark i.hot{background:var(--lh-teal)}

/* status pills */
.le-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.le-pill.is-ok{background:var(--pill-ok-bg);color:var(--pill-ok-fg)}
.le-pill.is-warn{background:var(--pill-warn-bg);color:var(--pill-warn-fg)}
.le-pill.is-cap{background:var(--pill-cap-bg);color:var(--pill-cap-fg)}
.le-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}

/* ============================ VALUE PROPS ============================ */
.le-values{padding:30px 0 70px}
.le-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.le-value{background:var(--lh-panel);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:30px 28px}
.le-value .k{font-family:var(--font-mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--lh-teal);margin-bottom:16px}
.le-value h3{font-family:var(--font-serif);font-weight:500;font-size:23px;margin:0 0 10px;color:#F2F6FA}
.le-value p{font-size:14.5px;line-height:1.6;color:var(--lh-text-muted);margin:0}

/* ============================ PRICING ============================ */
.le-pricing{padding:80px 0;background:var(--lh-ink-2);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.le-sec-head{text-align:center;margin-bottom:48px}
.le-sec-head h2{font-family:var(--font-serif);font-weight:500;font-size:40px;letter-spacing:-.6px;margin:0;color:var(--lh-paper)}
.le-sec-head p{font-size:16px;color:var(--lh-text-muted);margin:12px 0 0}
.le-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1040px;margin:0 auto}
.le-plan{position:relative;background:var(--lh-panel);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:32px 28px;display:flex;flex-direction:column}
.le-plan.is-featured{border-color:rgba(130,207,213,.55);box-shadow:0 30px 70px -40px rgba(130,207,213,.4)}
.le-plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--lh-teal);color:#06222F;font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;border-radius:20px}
.le-plan-name{font-family:var(--font-serif);font-weight:600;font-size:22px;color:var(--lh-paper)}
.le-plan-blurb{font-size:13.5px;line-height:1.5;color:var(--lh-text-muted);margin:6px 0 22px;min-height:40px}
.le-plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}
.le-plan-price .amt{font-family:var(--font-serif);font-size:46px;font-weight:600;color:var(--lh-paper);line-height:1}
.le-plan-price .per{font-size:14px;color:var(--lh-text-dim)}
.le-plan-reports{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--lh-teal);margin-bottom:24px}
.le-plan-feats{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:11px;flex:1}
.le-plan-feats li{display:flex;gap:10px;font-size:14px;color:var(--lh-text-soft);line-height:1.4}
.le-plan-feats li::before{content:"✓";color:var(--lh-teal);font-weight:700;flex:none}
.le-plan .le-btn{width:100%;justify-content:center}

/* ============================ COMPARISON ============================ */
.le-compare{padding:80px 0}
.le-compare table{width:100%;border-collapse:collapse;max-width:960px;margin:0 auto}
.le-compare th,.le-compare td{text-align:center;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.le-compare thead th{font-family:var(--font-mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--lh-text-muted);font-weight:600}
.le-compare thead th.is-pro{color:var(--lh-teal)}
.le-compare tbody td:first-child,.le-compare thead th:first-child{text-align:left;color:var(--lh-text-soft);font-weight:500}
.le-compare tbody td{color:var(--lh-text-soft)}
.le-compare .yes{color:var(--lh-teal);font-weight:700}
.le-compare .no{color:var(--lh-text-dim)}

/* ============================ FAQ ============================ */
.le-faq{padding:30px 0 90px}
.le-faq-grid{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.le-faq-item{background:var(--lh-panel);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px 26px}
.le-faq-item h4{font-size:16px;font-weight:600;color:var(--lh-paper);margin:0 0 8px}
.le-faq-item p{font-size:14.5px;line-height:1.6;color:var(--lh-text-muted);margin:0}

/* ============================ RESPONSIVE ============================ */
@media(max-width:900px){
  .le-hero-inner{grid-template-columns:1fr;gap:36px}
  .le-hero h1{font-size:40px}
  .le-values-grid,.le-plans{grid-template-columns:1fr}
  .le-sec-head h2{font-size:32px}
  .le-compare{overflow-x:auto}
}

/* ============================ REQUEST ACCESS (Gravity Form 2) ============================ */
.le-request{padding:20px 0 100px}
.le-request-form{max-width:620px;margin:0 auto;text-align:left}
.le-request-form .gform_wrapper,.le-request-form .gform_body,.le-request-form .gform_fields{margin:0;padding:0;list-style:none}
.le-request-form .gfield{margin:0 0 16px;max-width:none;width:100%}
.le-request-form .gfield_label{font-size:13px;font-weight:600;color:var(--lh-text-soft);margin-bottom:6px;display:block}
.le-request-form .gfield_required{color:var(--lh-amber)}
.le-request-form input[type="text"],.le-request-form input[type="email"],.le-request-form input[type="tel"],.le-request-form select,.le-request-form textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:12px 14px;color:var(--lh-text);font-size:15px}
.le-request-form ::placeholder{color:var(--lh-text-dim)}
/* Force light input text over GF 2.9's own form-theme CSS (loaded after ours) and
   over browser autofill (which overrides `color` via -webkit-text-fill-color) —
   otherwise typed/autofilled text renders dark-on-dark and is invisible. Also
   covers the Name field's first/last sub-inputs. */
.le-request-form input,.le-request-form select,.le-request-form textarea{color:var(--lh-text)!important;-webkit-text-fill-color:var(--lh-text)!important;caret-color:var(--lh-teal)}
.le-request-form input:-webkit-autofill,.le-request-form input:-webkit-autofill:hover,.le-request-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--lh-text)!important;box-shadow:0 0 0 1000px #16283a inset!important}
.le-request-form input:focus,.le-request-form select:focus,.le-request-form textarea:focus{border-color:var(--lh-teal);outline:0;box-shadow:0 0 0 3px rgba(130,207,213,.2)}
.le-request-form .gform_footer,.le-request-form .gform_page_footer{margin-top:8px;padding:0}
.le-request-form .gform_footer input[type="submit"],.le-request-form .gform_button{background:var(--lh-teal);color:#06222F;border:0;border-radius:10px;padding:14px 28px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s ease,transform .15s ease}
.le-request-form .gform_footer input[type="submit"]:hover,.le-request-form .gform_button:hover{background:#9BDBE0;transform:translateY(-1px)}
.le-request-form .gform_confirmation_message{color:var(--lh-text-soft);font-size:16px;line-height:1.6;background:var(--lh-panel);border:1px solid rgba(130,207,213,.3);border-radius:14px;padding:24px 26px}

/* ============================================================================
   DASHBOARD (app-shell) — brief §4.4. Styled now; backed by static previews
   until the enterprise backend wires real usage/billing data.
   ============================================================================ */
.le-app{display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:var(--lh-ink)}
.le-side{background:var(--lh-ink-2);border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;padding:22px 18px}
.le-side-logo{height:24px;margin:6px 8px 26px;width:auto}
.le-side-nav{display:flex;flex-direction:column;gap:3px;flex:1}
.le-side-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:var(--lh-text-muted);text-decoration:none;font-size:14px;font-weight:500}
.le-side-nav a:hover{background:rgba(255,255,255,.04);color:var(--lh-text)}
.le-side-nav a.is-active{background:rgba(130,207,213,.12);color:var(--lh-teal)}
.le-side-nav a .soon{margin-left:auto;font-family:var(--font-mono);font-size:8px;letter-spacing:1px;color:var(--lh-text-dim);background:rgba(255,255,255,.06);padding:2px 7px;border-radius:10px}
.le-side-org{border-top:1px solid rgba(255,255,255,.07);padding-top:16px;margin-top:16px;display:flex;align-items:center;gap:11px}
.le-side-org .av{width:36px;height:36px;border-radius:50%;background:var(--lh-slate);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex:none}
.le-side-org .nm{font-size:13.5px;font-weight:600;color:var(--lh-text);line-height:1.2}
.le-side-org .rl{font-size:11px;color:var(--lh-text-dim);margin-top:1px}
.le-side-brand{display:inline-block;transition:opacity .15s}
.le-side-brand:hover{opacity:.75}
.le-side-foot{margin-top:auto}
.le-side-links{display:flex;flex-direction:column;gap:2px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}
.le-side-links a{font-size:12.5px;color:var(--lh-text-dim);text-decoration:none;padding:6px 12px;border-radius:7px}
.le-side-links a:hover{color:var(--lh-text-soft);background:rgba(255,255,255,.04)}

.le-main{padding:30px 36px 60px;min-width:0}
.le-main-head{margin-bottom:24px}
.le-main-head h1{font-family:var(--font-serif);font-weight:500;font-size:30px;color:var(--lh-paper);margin:0}
.le-main-head .org{font-size:13px;color:var(--lh-text-muted);margin-top:4px}
.le-grid{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start}
.le-col{display:flex;flex-direction:column;gap:22px;min-width:0}
.le-card{background:var(--lh-panel);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px 26px}
.le-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.le-card-title{font-family:var(--font-mono);font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--lh-text-dim)}
.le-card-link{font-size:12.5px;color:var(--lh-teal);text-decoration:none;font-weight:600}

.le-run-row{display:flex;gap:12px}
/* White field treatment (2026-07-07): the WRAPPER is the visible white pill —
   icon + input live inside it, so global input styles can't split the field
   into a mismatched white patch. !important pins the properties the theme's
   global form styles override on these standalone templates. */
.le-run-input{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #C9D3DC;border-radius:11px;padding:0 14px}
.le-run-input:focus-within{border-color:var(--lh-teal);box-shadow:0 0 0 3px rgba(130,207,213,.25)}
.le-run-input input{flex:1;min-width:0;width:auto !important;background:transparent !important;border:0 !important;box-shadow:none !important;color:#0E2233 !important;font-size:15px;padding:13px 0 !important;outline:none}
.le-run-input input::placeholder{color:#8A97A5}
.le-run-input .ic{color:#6C7A8A;font-size:16px}
.le-run-input.is-disabled{opacity:.5;pointer-events:none}
.le-run-note{font-size:13px;color:var(--lh-text-muted);margin-top:12px}
.le-run-note b{color:var(--lh-teal);font-weight:600}
.le-cap-note{font-size:13px;color:var(--pill-cap-fg);margin-top:12px}

.le-rt{width:100%;border-collapse:collapse}
.le-rt th{font-family:var(--font-mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--lh-text-dim);text-align:left;padding:0 0 12px;font-weight:600}
.le-rt td{padding:13px 0;border-top:1px solid rgba(255,255,255,.06);font-size:14px;color:var(--lh-text-soft);vertical-align:middle}
.le-rt td .q{font-family:var(--font-mono);font-size:12px;color:var(--lh-text-muted)}
.le-rt-status{font-family:var(--font-mono);font-size:9px;letter-spacing:.5px;text-transform:uppercase;padding:3px 9px;border-radius:20px;white-space:nowrap}
.le-rt-status.done{background:var(--pill-ok-bg);color:var(--pill-ok-fg)}
.le-rt-status.run{background:rgba(68,137,237,.16);color:var(--lh-blue-light)}

/* ── Full org Reports view (page-templates/enterprise-reports.php) ─────────── */
.le-rt-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.le-rt-search{position:relative;flex:1;min-width:220px}
.le-rt-search .ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#6C7A8A;font-size:15px;z-index:1;pointer-events:none}
.le-rt-search input{width:100% !important;background:#fff !important;border:1px solid #C9D3DC !important;box-shadow:none !important;border-radius:10px;padding:10px 14px 10px 36px !important;color:#0E2233 !important;font-size:14px}
.le-rt-search input::placeholder{color:#8A97A5}
.le-rt-search input:focus{outline:none;border-color:var(--lh-teal) !important;box-shadow:0 0 0 3px rgba(130,207,213,.25) !important}
.le-rt-filters select{background:var(--lh-ink-2);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px;color:var(--lh-text-soft);font-size:13.5px}
.le-rt-filters input:focus,.le-rt-filters select:focus{border-color:var(--lh-teal);outline:0;box-shadow:0 0 0 3px rgba(130,207,213,.18)}
.le-rt-filters .le-btn{padding:10px 18px;font-size:13.5px}
.le-rt-reset{color:var(--lh-text-dim);font-size:13px;text-decoration:none}
.le-rt-reset:hover{color:var(--lh-text-soft)}
.le-rt-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.le-rt-sort{color:inherit;text-decoration:none;cursor:pointer;white-space:nowrap}
.le-rt-sort:hover{color:var(--lh-text-soft)}
.le-rt-sort.is-sorted{color:var(--lh-teal)}
.le-rt-full td{padding:14px 8px}
.le-rt-full th{padding-bottom:12px}
.le-rt-full th:first-child,.le-rt-full td:first-child{padding-left:2px}
.le-rt-q{color:var(--lh-text);text-decoration:none;font-weight:500}
.le-rt-q:hover{color:#fff;text-decoration:underline}
.le-rt-who{color:var(--lh-text-muted)}
.le-rt-date{color:var(--lh-text-dim);font-family:var(--font-mono);font-size:12.5px;white-space:nowrap}
.le-rt-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:20px;white-space:nowrap;font-weight:600}
.le-rt-view{color:var(--lh-teal);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.le-rt-view:hover{color:#9BDBE0}
.le-rt-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);font-size:12.5px;color:var(--lh-text-dim);flex-wrap:wrap}
.le-rt-pages{display:flex;gap:4px}
.le-rt-pages a,.le-rt-pages .is-current{display:inline-flex;min-width:30px;height:30px;align-items:center;justify-content:center;border-radius:8px;text-decoration:none;font-size:13px}
.le-rt-pages a{color:var(--lh-text-soft);border:1px solid rgba(255,255,255,.1)}
.le-rt-pages a:hover{border-color:var(--lh-teal);color:#fff}
.le-rt-pages .is-current{background:var(--lh-teal);color:#06222F;font-weight:700}
@media(max-width:640px){.le-rt-actions{margin-left:0;width:100%}.le-rt-actions .le-btn{flex:1;justify-content:center}.le-rt-who,.le-rt-full th:nth-child(2),.le-rt-full td:nth-child(2){display:none}}

.le-usage-donut{display:flex;align-items:center;gap:18px}
.le-usage-figs .big{font-family:var(--font-serif);font-size:38px;font-weight:600;color:var(--lh-paper);line-height:1}
.le-usage-figs .big span{font-size:17px;color:var(--lh-text-dim)}
.le-usage-figs .small{font-size:12.5px;color:var(--lh-text-muted);margin-top:4px}
.le-usage-meta{font-family:var(--font-mono);font-size:10px;color:var(--lh-text-dim);margin-top:16px;display:flex;justify-content:space-between;letter-spacing:.5px}
.le-usage-spark{display:flex;align-items:flex-end;gap:4px;height:34px;margin-top:14px}
.le-usage-spark i{flex:1;background:rgba(130,207,213,.3);border-radius:2px}
.le-usage-spark i.hot{background:var(--lh-teal)}

.le-bill .plan{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5px}
.le-bill .plan .nm{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--lh-paper)}
.le-bill .plan .pr{font-family:var(--font-mono);font-size:13px;color:var(--lh-text-muted)}
.le-bill .renew{font-size:12.5px;color:var(--lh-text-dim);margin-bottom:18px}
.le-bill-actions{display:flex;flex-direction:column;gap:9px}
.le-bill-actions a{display:block;text-align:center;padding:11px;border-radius:10px;border:1px solid rgba(255,255,255,.14);color:var(--lh-text-soft);text-decoration:none;font-size:14px;font-weight:600}
.le-bill-actions a:hover{border-color:rgba(255,255,255,.4);color:#fff}

.le-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--pill-cap-bg);border:1px solid var(--pill-cap-bd);border-radius:12px;padding:13px 18px;margin-bottom:22px}
.le-banner .msg{font-size:14px;color:var(--pill-cap-fg);font-weight:500}
.le-banner .le-btn{padding:9px 18px;font-size:13.5px}

/* Mobile top bar — hidden on desktop, replaces the sidebar on small screens. */
.le-topbar{display:none}
@media(max-width:900px){
  .le-app{display:block}
  .le-side{display:none}
  .le-grid{grid-template-columns:1fr}
  .le-topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:60;background:var(--lh-ink-2);border-bottom:1px solid rgba(255,255,255,.08);padding:12px 18px}
  .le-topbar-brand img{height:22px;display:block}
  .le-topbar-toggle{width:38px;height:38px;display:flex;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:0;cursor:pointer;padding:0 8px}
  .le-topbar-toggle span{display:block;height:2px;background:var(--lh-text-soft);border-radius:2px;transition:transform .2s,opacity .2s}
  .le-topbar-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .le-topbar-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .le-topbar-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .le-topbar-menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--lh-ink-2);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 24px 40px -20px rgba(0,0,0,.7);padding:8px}
  .le-topbar-menu.is-open{display:flex}
  .le-topbar-menu a{padding:12px 14px;border-radius:9px;color:var(--lh-text-soft);text-decoration:none;font-size:15px}
  .le-topbar-menu a:hover{background:rgba(255,255,255,.05)}
  .le-topbar-menu a.is-active{color:var(--lh-teal);background:rgba(130,207,213,.12)}
  .le-topbar-soon{padding:12px 14px;font-size:13px;color:var(--lh-text-dim);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px}
  .le-main{padding:26px 18px 40px}
  .le-main-head h1{font-size:30px}
  .le-rt-filters{gap:8px}
  .le-rt-actions{width:auto}
}

/* ── Activate page (set password + plan selection) ─────────────────────────── */
.le-btn-block{width:100%;justify-content:center}
.loom-enterprise-activate{margin:0;background:var(--lh-ink);color:var(--lh-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
.le-activate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 20px;background:radial-gradient(1200px 600px at 50% -10%,rgba(130,207,213,.08),transparent 60%),var(--lh-ink)}
.le-activate-card{width:100%;max-width:560px;background:var(--lh-ink-2);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:44px 40px;text-align:center}
/* Plan-selection view needs room for the three plan cards. */
.le-activate-card.is-plans{max-width:940px;padding:48px 52px}
.le-activate-logo{height:30px;width:auto;margin-bottom:28px}
.le-activate-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--lh-teal);margin-bottom:12px}
.le-activate-card h1{font-family:var(--font-serif);font-size:30px;line-height:1.15;margin:0 0 12px;color:#fff;font-weight:600}
.le-activate-sub{font-size:15.5px;line-height:1.55;color:var(--lh-text-dim);margin:0 0 28px}
.le-activate-notice{background:rgba(232,155,59,.12);border:1px solid rgba(232,155,59,.4);color:#F4C489;border-radius:10px;padding:12px 16px;font-size:13.5px;margin-bottom:22px;text-align:left}
.le-activate-form{display:flex;flex-direction:column;gap:14px;text-align:left;margin-top:8px}
.le-activate-form label{display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:600;color:var(--lh-text-dim);letter-spacing:.3px}
.le-activate-form input{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:13px 15px;font-size:15px;color:#fff}
.le-activate-form input:focus{border-color:var(--lh-teal);outline:0;box-shadow:0 0 0 3px rgba(130,207,213,.2)}
.le-activate-form .le-btn{margin-top:8px}
.le-activate-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:12px 0 8px;text-align:left}
.le-activate-plan{position:relative;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:22px 18px;display:flex;flex-direction:column}
.le-activate-plan.is-featured{border-color:var(--lh-teal);background:rgba(130,207,213,.06)}
.le-activate-plan-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--lh-teal);color:#06222F;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 11px;border-radius:20px}
.le-activate-plan .nm{font-family:var(--font-serif);font-size:19px;color:#fff;margin-bottom:6px}
.le-activate-plan .pr{font-size:26px;font-weight:700;color:#fff;letter-spacing:-.5px}
.le-activate-plan .pr span{font-size:13px;font-weight:500;color:var(--lh-text-dim)}
.le-activate-plan .qt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--lh-teal);margin:8px 0 18px}
.le-activate-plan form{margin-top:auto}
.le-activate-plan .le-btn{padding:11px 16px;font-size:13.5px}
.le-activate-fine{font-size:12.5px;color:var(--lh-text-dim);margin-top:18px}
@media(max-width:560px){
  .le-activate-card{padding:32px 22px}
  .le-activate-plans{grid-template-columns:1fr}
  .le-activate-plan{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}
  .le-activate-plan .qt{margin:0 0 0 auto}
  .le-activate-plan form{flex-basis:100%}
}
