/* Base reset and 2026-ready design tokens for the public website and CMS. */
:root{
  --bg:#f6f2ec;
  --surface:#fff;
  --surface-strong:#171d19;
  --text:#1d2420;
  --muted:#5d685f;
  --line:#e5ded3;
  --brand:#315943;
  --brand-strong:#203d2e;
  --accent:#c87f6b;
  --soft:#edf4ee;
  --surface-muted:#fbf8f3;
  --line-strong:#d7ccbd;
  --success:#166534;
  --success-bg:#ecfdf3;
  --warning:#92400e;
  --warning-bg:#fff7ed;
  --danger:#991b1b;
  --danger-bg:#fef2f2;
  --info:#1d4ed8;
  --info-bg:#eff6ff;
  --radius-sm:10px;
  --radius-lg:24px;
  --shadow-soft:0 10px 30px rgba(42,49,42,.07);
  --focus-ring:0 0 0 3px rgba(49,89,67,.20);
  --shadow:0 18px 50px rgba(42,49,42,.10);
  --radius:18px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --rms-space-1:var(--space-1);
  --rms-space-2:var(--space-2);
  --rms-space-3:var(--space-3);
  --rms-space-4:var(--space-4);
  --rms-space-5:var(--space-5);
  --rms-space-6:var(--space-6);
  --rms-space-8:var(--space-8);
  --rms-colour-muted:var(--muted);
  --rms-card-radius:16px;
  --rms-control-radius:12px;
  --rms-pill-radius:999px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:16px;line-height:1.55}
a{color:var(--brand);text-decoration:none}
img,svg,video{max-width:100%}
body{overflow-x:hidden}
button,input,select,textarea{font:inherit}
main,section,article,aside,header,footer,nav,form,fieldset,div{min-width:0}
h1,h2,h3,h4{letter-spacing:0;overflow-wrap:anywhere}
p,li,td,th,dd,span,strong,small{overflow-wrap:anywhere}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:0;box-shadow:var(--focus-ring)}
::selection{background:rgba(49,89,67,.18)}
.skip-link{position:fixed;left:16px;top:12px;z-index:9999;display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;background:#fff;color:var(--brand);font-weight:950;box-shadow:0 12px 34px rgba(15,23,42,.18);transform:translateY(-72px);transition:transform .16s ease}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:0;box-shadow:var(--focus-ring),0 12px 34px rgba(15,23,42,.18)}

/* Shared public header with mobile wrapping and dynamic logo sizing. */
.site-header,.nav{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}
.site-header--static{position:static}
.site-header__inner,.nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 6vw}
.brand{font-weight:900;font-size:22px;letter-spacing:0;color:var(--text)}
.brand-logo{display:block;width:var(--logo-desktop-width,220px);max-width:100%;max-height:var(--logo-max-height,52px);height:auto}
.site-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.site-nav a,.nav a{font-weight:750}
.nav a{margin-left:20px}
.public-login-link{display:inline-flex;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:#fff}
/* Shared menu toggles are hidden on desktop and become touch-friendly controls on mobile. */
.menu-toggle{display:none;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:999px;min-height:44px;padding:10px 15px;font-weight:900;cursor:pointer}

/* Public landing sections keep existing markup while upgrading spacing and hierarchy. */
.hero{padding:78px 6vw 54px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:38px;align-items:center;background:linear-gradient(135deg,#fffaf5 0%,#eef5ef 100%)}
.hero h1{font-size:clamp(40px,6vw,70px);line-height:1.02;margin:12px 0 18px;max-width:900px}
.hero p{font-size:clamp(17px,2vw,20px);line-height:1.65;color:var(--muted)}
.card,.feature,.admin-card,.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff!important;border:1px solid transparent;padding:13px 18px;border-radius:999px;font-weight:850;line-height:1.15;text-align:center;cursor:pointer;min-height:44px;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.btn:hover{background:var(--brand-strong);transform:translateY(-1px);box-shadow:0 10px 22px rgba(32,61,46,.16)}
.btn:active{transform:translateY(0);box-shadow:none}
.btn.secondary{background:#eadccd;color:#26382c!important}
.btn.secondary:hover{background:#deceb9;color:#203d2e!important}
.btn.ghost{background:#fff;color:var(--brand)!important;border-color:var(--line)}
.btn.ghost:hover{background:var(--soft);border-color:#bfd4c4;box-shadow:none}
.btn.danger{background:var(--danger);color:#fff!important}
.btn.danger:hover{background:#7f1d1d}
.btn.small{min-height:36px;padding:8px 12px;font-size:13px}
.btn[disabled],.btn.is-disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:30px 6vw}
.section{padding:48px 6vw}
.section h2{font-size:clamp(28px,4vw,40px);margin-top:0}
.feature h3{margin-top:0}
.pill{display:inline-block;background:var(--soft);color:var(--brand);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:850}
.site-footer{background:#18221c;color:#d8e2db;padding:44px 6vw 22px;border-top:1px solid rgba(255,255,255,.08)}
.site-footer a{color:#fff}
.site-footer__inner{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(0,1.6fr);gap:34px;align-items:start;max-width:1180px;margin:0 auto}
.site-footer__brand{display:grid;gap:12px;max-width:440px}
.site-footer__brand .brand{color:#fff}
.site-footer__brand .brand-logo{filter:none}
.site-footer__brand p{margin:0;color:#c7d2ca;line-height:1.7}
.site-footer__columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.site-footer__group{display:grid;gap:8px;align-content:start;min-width:0}
.site-footer__group h2{margin:0 0 5px;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.site-footer__group a,.site-footer__group span{color:#d8e2db;font-weight:750;word-break:break-word}
.site-footer__group a:hover{color:#fff;text-decoration:underline}
.site-footer__link-button{appearance:none;border:0;background:transparent;color:#d8e2db;font:inherit;font-weight:750;text-align:left;padding:0;cursor:pointer}
.site-footer__link-button:hover{color:#fff;text-decoration:underline}
.site-footer__social div{display:flex;gap:9px;flex-wrap:wrap}
.site-footer__social a{display:inline-flex;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.06);font-size:13px}
.site-footer__bottom{max-width:1180px;margin:28px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#aebdb4}
.site-footer__bottom p{margin:0}

/* Forms and tables are shared across admin, studio, customer and signup pages. */
.form{max-width:600px;margin:42px auto}
.form input,.form select,.form textarea,.admin-form input,.admin-form select,.admin-form textarea{width:100%;min-height:46px;padding:12px 14px;margin:8px 0 16px;border:1px solid #d4ccc1;border-radius:12px;background:#fff;color:var(--text);font-size:15px;line-height:1.35;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.form textarea,.admin-form textarea{min-height:118px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:0;border-color:var(--brand);box-shadow:var(--focus-ring);background:#fff}
.form input::placeholder,.form textarea::placeholder,.admin-form input::placeholder,.admin-form textarea::placeholder{color:#8a938c}
.form label,.admin-form label{display:block;font-weight:800;margin-top:8px}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.form-grid>*{min-width:0}
.table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.audit-details{white-space:pre-wrap;word-break:break-word;max-width:520px;margin:0;font-size:12px;line-height:1.45}
.audit-log-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.audit-log-hero__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.audit-log-summary{margin-bottom:18px}
.audit-log-filters{display:grid;gap:18px;border-color:rgba(49,89,67,.18);background:linear-gradient(180deg,#fff,#fbf8f3)}
.audit-log-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.audit-log-filter-grid label{display:grid;gap:8px;min-width:0;margin:0;border:1px solid rgba(49,89,67,.14);border-radius:14px;background:rgba(255,255,255,.86);padding:10px 12px;color:#5f6f64;font-size:12px;font-weight:900;box-shadow:0 8px 20px rgba(15,23,42,.035)}
.audit-log-filter-grid input,.audit-log-filter-grid select{width:100%;min-height:42px;margin:0;border-color:rgba(49,89,67,.22);border-radius:10px;background:#fff;font-size:14px}
.audit-log-filter-grid input:focus,.audit-log-filter-grid select:focus{border-color:var(--brand);box-shadow:var(--focus-ring)}
.audit-log-filter-grid .settings-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:4px;border-top:1px solid rgba(49,89,67,.14);padding-top:14px}
.audit-log-feed{display:grid;gap:16px}
.audit-log-feed__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.audit-log-feed__header h2{margin:0}
.audit-log-list{display:grid;gap:10px}
.audit-log-item{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.audit-log-item__time{display:grid;gap:8px;justify-items:start;color:var(--muted);font-size:12px;font-weight:850}
.audit-log-item__time time{line-height:1.35}
.audit-log-item__body{display:grid;gap:10px;min-width:0}
.audit-log-item__body>strong{color:var(--text);font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.audit-log-item__body dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.audit-log-item__body dl div{min-width:0;border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#fff;padding:9px 10px}
.audit-log-item__body dt{margin:0 0 3px;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.audit-log-item__body dd{margin:0;color:var(--text);font-size:13px;font-weight:850;overflow-wrap:anywhere}
.audit-log-details{border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#fff;overflow:hidden}
.audit-log-details>summary{cursor:pointer;list-style:none;padding:10px 12px;color:var(--brand);font-size:13px;font-weight:950}
.audit-log-details>summary::-webkit-details-marker{display:none}
.audit-log-details[open]>summary{border-bottom:1px solid rgba(148,163,184,.22)}
.audit-log-details .audit-details{max-width:none;padding:12px;background:#fbf8f3}
@media (max-width:980px){
  .audit-log-hero,.audit-log-feed__header{display:grid}
  .audit-log-hero__meta{justify-content:flex-start}
  .audit-log-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .audit-log-item{grid-template-columns:1fr}
  .audit-log-item__body dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .audit-log-filter-grid,.audit-log-item__body dl{grid-template-columns:1fr}
  .audit-log-filter-grid .settings-actions{justify-content:stretch}
  .audit-log-filter-grid .settings-actions .btn{width:100%}
  .audit-log-item{border-radius:14px;padding:12px}
}
.table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden;min-width:620px}
.table th,.table td{padding:12px 14px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}
.table th{background:#f8fafc;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.table td{color:#2f3832}
.table tr:last-child td{border-bottom:0}
.table code{white-space:nowrap}
.alert{padding:14px;border-radius:12px;background:var(--warning-bg);border:1px solid #fed7aa;color:var(--warning)}
.alert-error{background:#ffe5e5;border-color:#e7a2a2}
.alert-success{background:var(--success-bg);border-color:#bbf7d0;color:var(--success)}
.alert-info{background:var(--info-bg);border-color:#bfdbfe;color:var(--info)}

/* RealMcStudios design-system foundation. These rms-* primitives are additive so older module CSS keeps working while pages are upgraded one by one. */
.rms-page{display:grid;gap:var(--space-6);min-width:0}
.rms-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-5);align-items:start;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,#fbf8f3);box-shadow:var(--shadow-soft)}
.rms-page-header__copy{display:grid;gap:var(--space-2);min-width:0}
.rms-eyebrow{margin:0;color:var(--brand);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.rms-page-title{margin:0;color:var(--text);font-size:clamp(28px,4vw,44px);line-height:1.08}
.rms-page-description{max-width:820px;margin:0;color:var(--muted);font-weight:700;line-height:1.6}
.rms-page-actions,.rms-filter-toolbar__actions,.rms-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;min-width:0}
.rms-action-bar{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft)}
.rms-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.rms-metric-card{display:grid;gap:var(--space-2);min-height:118px;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft)}
.rms-metric-card span{color:var(--muted);font-size:12px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.rms-metric-card strong{color:var(--text);font-size:clamp(26px,4vw,38px);line-height:1.05}
.rms-metric-card small{color:var(--muted);font-weight:750;line-height:1.35}
.rms-filter-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:end;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft)}
.rms-filter-toolbar__fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);min-width:0}
.rms-filter-field{display:grid;gap:var(--space-1);min-width:0}
.rms-filter-field span{color:var(--muted);font-size:12px;font-weight:900}
.rms-filter-field input,.rms-filter-field select{width:100%;min-height:42px;margin:0;padding:10px 12px;border:1px solid #d4ccc1;border-radius:var(--rms-control-radius);background:#fff;color:var(--text);line-height:1.3}
.rms-filter-field input:focus,.rms-filter-field select:focus{outline:0;border-color:var(--brand);box-shadow:var(--focus-ring)}
.rms-card-list{display:grid;gap:var(--space-3)}
.rms-list-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft)}
.rms-list-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);min-width:0}
.rms-list-card__title{margin:0;color:var(--text);font-size:18px;line-height:1.25}
.rms-list-card__meta{margin:2px 0 0;color:var(--muted);font-size:13px;font-weight:800}
.rms-list-card__badges{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}
.rms-form-section{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft)}
.rms-form-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--line);padding-bottom:var(--space-3)}
.rms-form-section__header h2{margin:0;color:var(--text);font-size:22px;line-height:1.2}
.rms-form-section__header p{margin:4px 0 0;color:var(--muted);font-weight:700}
.rms-empty-state{display:grid;place-items:center;gap:var(--space-3);min-height:160px;padding:var(--space-6);border:1px dashed #cdbfad;border-radius:var(--rms-card-radius);background:#fbf8f3;color:var(--muted);text-align:center}
.rms-empty-state h2,.rms-empty-state h3{margin:0;color:var(--text);font-size:22px}
.rms-empty-state p{max-width:640px;margin:0;font-weight:700;line-height:1.55}
.rms-table-card{display:grid;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft)}
.rms-table-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
.rms-table-card__header h2{margin:0;font-size:22px}
.rms-table-card__header p{margin:4px 0 0;color:var(--muted);font-weight:700}
.rms-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.rms-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0}
.rms-table th,.rms-table td{padding:12px 14px;border-bottom:1px solid #edf0ed;text-align:left;vertical-align:top}
.rms-table th{background:#f8fafc;color:#374151;font-size:12px;font-weight:950;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.rms-table tr:hover td{background:#fbf8f3}
.rms-accordion{border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}
.rms-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:64px;padding:var(--space-4) var(--space-5);cursor:pointer;list-style:none}
.rms-accordion>summary::-webkit-details-marker{display:none}
.rms-accordion>summary h2,.rms-accordion>summary h3{margin:0;font-size:20px}
.rms-accordion>summary small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:850}
.rms-accordion>summary::after{content:"+";display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--line);border-radius:var(--rms-pill-radius);background:#fbf8f3;color:var(--brand);font-weight:950}
.rms-accordion[open]>summary{border-bottom:1px solid var(--line)}
.rms-accordion[open]>summary::after{content:"-"}
.rms-accordion__body{padding:var(--space-5);min-width:0}

.status-badge.is-config,.status-badge--config{background:#f3f4f6;border-color:#e5e7eb;color:#4b5563}
.status-badge.is-preview,.status-badge--preview{background:var(--info-bg);border-color:#bfdbfe;color:var(--info)}
.status-badge.is-connected,.status-badge--connected{background:var(--success-bg);border-color:#bbf7d0;color:var(--success)}
.status-badge.is-not-connected,.status-badge--not-connected,.status-badge.is-requires-setup,.status-badge--requires-setup{background:var(--warning-bg);border-color:#fed7aa;color:var(--warning)}
.status-badge.is-manual,.status-badge--manual{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}
.status-badge.is-stripe-pending,.status-badge--stripe-pending{background:var(--warning-bg);border-color:#fed7aa;color:var(--warning)}

/* Phase 4 global workflow pattern. These names mirror the RealMcStudios page workflow docs and reuse the Phase 2 foundation. */
.page-shell,.workflow-page{display:grid;gap:var(--rms-space-6);min-width:0}
.page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--rms-space-5);align-items:start;padding:var(--rms-space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,#fbf8f3);box-shadow:var(--shadow-soft);margin-bottom:0}
.page-header h1{margin:0;color:var(--text);font-size:clamp(30px,4.4vw,48px);line-height:1.06}
.page-header .eyebrow{margin:0 0 var(--rms-space-2)}
.page-subtitle,.page-header p.page-subtitle{max-width:840px;margin:var(--rms-space-2) 0 0;color:var(--muted);font-weight:700;line-height:1.6}
.page-header-actions,.workflow-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--rms-space-3);flex-wrap:wrap;min-width:0}
.workflow-section{min-width:0;scroll-margin-top:22px}
.workflow-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--rms-space-4);margin-bottom:var(--rms-space-3)}
.workflow-section-header h2{margin:0;color:var(--text);font-size:clamp(22px,3vw,30px);line-height:1.18}
.workflow-section-header p{margin:var(--rms-space-1) 0 0;color:var(--muted);font-weight:700;line-height:1.5}
.workflow-primary,.workflow-live-list,.workflow-dashboard,.workflow-connections,.workflow-advanced{display:grid;gap:var(--rms-space-4);min-width:0}
.workflow-advanced{margin-top:var(--rms-space-2)}
.studio-customers-page .studio-dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}
.studio-customer-filter-form .rms-filter-toolbar__fields{grid-template-columns:minmax(0,1fr)}
.studio-users-filter-form .rms-filter-toolbar__fields{grid-template-columns:minmax(0,1fr)}
.studio-customer-filter-form .workflow-actions{align-self:end}
.customer-dashboard-workflow>.admin-page-header{order:1}
.customer-dashboard-workflow>.customer-studio-required-notice{order:2}
.customer-dashboard-workflow>.customer-studio-modal{order:2}
.customer-dashboard-workflow>.studio-dashboard-metrics{order:3}
.customer-dashboard-workflow>.customer-dashboard-bookings{order:4}
.customer-dashboard-workflow>.customer-dashboard-memberships{order:5}
.customer-dashboard-workflow>.customer-dashboard-messenger{order:6}
.customer-dashboard-memberships{align-content:start}
.customer-class-filter-form .rms-filter-toolbar__fields{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}
.customer-class-filter-form .customer-class-available-toggle{min-height:42px;margin:0;align-items:center}
.customer-class-filter-form .workflow-actions{align-self:end}
.admin-pages-filter-form,.customer-membership-plan-filter{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.customer-studio-search-form{grid-template-columns:minmax(0,1fr) auto}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--rms-space-4)}
.filter-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--rms-space-4);align-items:end;padding:var(--rms-space-4);border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft)}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.empty-state{display:grid;place-items:center;gap:var(--rms-space-3);min-height:150px;padding:var(--rms-space-6);border:1px dashed #cdbfad;border-radius:var(--rms-card-radius);background:#fbf8f3;color:var(--muted);text-align:center;font-weight:700}
.accordion-card{border:1px solid var(--line);border-radius:var(--rms-card-radius);background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}

@media (max-width:1100px){
  .rms-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rms-filter-toolbar,.rms-page-header{grid-template-columns:1fr}
  .rms-page-actions,.rms-filter-toolbar__actions,.rms-filter-toolbar>.rms-action-bar,.rms-filter-toolbar>.rms-page-actions{justify-content:flex-start}
  .rms-filter-toolbar__fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-header,.filter-toolbar{grid-template-columns:1fr}
  .page-header-actions,.workflow-actions{justify-content:flex-start}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-pages-filter-form,.customer-membership-plan-filter,.customer-studio-search-form{grid-template-columns:1fr}
}
@media (max-width:760px){
  .rms-page{gap:var(--space-4)}
  .rms-page-header,.rms-action-bar,.rms-filter-toolbar,.rms-form-section,.rms-table-card{padding:var(--space-4);border-radius:16px}
  .rms-page-title{font-size:30px}
  .rms-summary-grid,.rms-filter-toolbar__fields{grid-template-columns:1fr}
  .rms-page-actions,.rms-filter-toolbar__actions,.rms-action-bar{justify-content:stretch}
  .rms-page-actions .btn,.rms-filter-toolbar__actions .btn,.rms-action-bar .btn,.rms-filter-toolbar .btn{width:100%}
  .rms-list-card__top,.rms-form-section__header,.rms-table-card__header{display:grid}
  .rms-list-card__badges{justify-content:flex-start}
  .rms-empty-state{min-height:130px;padding:var(--space-5)}
  .page-shell,.workflow-page{gap:var(--rms-space-4)}
  .page-header,.filter-toolbar{padding:var(--rms-space-4);border-radius:16px}
  .page-header h1{font-size:30px}
  .workflow-section-header{display:grid}
  .summary-grid{grid-template-columns:1fr}
  .page-header-actions,.workflow-actions{display:grid;justify-content:stretch}
  .page-header-actions .btn,.workflow-actions .btn{width:100%}
}

/* Legacy studio dashboard classes remain supported while admin gets a richer shell. */
.dash{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.side{background:#23382b;color:white;padding:24px}
.side a{display:block;color:white;margin:12px 0}
.main{padding:30px}
.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;background:#f4f0e9;transition:grid-template-columns .18s ease}
.admin-sidebar{background:var(--surface-strong);color:#fff;position:sticky;top:0;width:260px;height:100vh;overflow-x:hidden;overflow-y:auto;padding:20px 16px;transition:width .18s ease,padding .18s ease;display:flex;flex-direction:column}
.admin-sidebar__brand{display:grid;grid-template-columns:40px minmax(0,1fr) 34px;gap:10px;align-items:center;margin-bottom:18px}
.admin-brand-mark{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.12);font-weight:950;color:#fff}
.admin-brand-logo{display:block;width:40px;height:40px;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.08);padding:4px}
.admin-brand-text{min-width:0}
.admin-brand{font-size:21px;font-weight:950;line-height:1.1;margin:0}
.admin-user{color:#cad6cf;margin:4px 0 0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-sidebar-collapse{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.admin-sidebar-collapse:hover{background:rgba(255,255,255,.16)}
.admin-mobile-menu-toggle{display:none}
.admin-nav{display:grid;gap:7px}
.admin-nav__link{display:flex;align-items:center;gap:10px;min-height:42px;color:#fff;padding:9px 10px;border-radius:12px;font-weight:800;overflow:hidden}
.admin-nav__link:hover,.admin-nav__link.is-active{background:rgba(255,255,255,.12)}
.admin-nav__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:11px;font-weight:950;letter-spacing:0}
.admin-nav__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-nav-group{display:grid;gap:4px}
.admin-nav-parent{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:4px;align-items:center}
.admin-subnav-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.admin-subnav-toggle:hover,.admin-subnav-toggle:focus-visible{background:rgba(255,255,255,.16)}
.admin-subnav-toggle::after{content:"+";font-weight:950;line-height:1}
.admin-subnav-toggle[aria-expanded="true"]::after{content:"-"}
.admin-subnav{display:grid;gap:4px;margin:-2px 0 6px 18px;padding-left:10px;border-left:1px solid rgba(255,255,255,.18)}
.admin-subnav[hidden]{display:none!important}
.admin-subnav .admin-nav__link{min-height:36px;padding:6px 8px;font-size:13px;color:#dce6df}
.admin-subnav .admin-nav__link.is-active{background:rgba(255,255,255,.16);color:#fff}
.admin-account-menu{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}
.admin-account-menu__summary{display:flex;align-items:center;gap:10px;min-width:0}
.admin-account-menu__avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-weight:950;font-size:13px;letter-spacing:0;overflow:hidden}
.admin-account-menu__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.admin-account-menu__identity{min-width:0;display:grid;gap:2px}
.admin-account-menu__eyebrow{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.62);font-weight:900}
.admin-account-menu__name{font-size:13px;line-height:1.25;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-account-menu__email{font-size:11px;line-height:1.2;color:rgba(255,255,255,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-account-menu__role{display:inline-flex;width:max-content;max-width:100%;margin-top:3px;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.12);color:#e7f1eb;font-size:10px;font-weight:900;line-height:1.1;white-space:nowrap}
.admin-account-menu__actions{display:grid;gap:5px;margin-top:12px}
.admin-account-menu__link{display:flex;align-items:center;min-height:34px;padding:7px 9px;border-radius:10px;color:#fff;font-size:13px;font-weight:850}
.admin-account-menu__link:hover,.admin-account-menu__link:focus-visible{background:rgba(255,255,255,.12);outline:none}
.admin-account-menu__logout{color:#ffe8e4}
.backend-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin:-12px 0 24px;padding:10px 0;position:sticky;top:0;z-index:20;background:rgba(244,240,233,.94);backdrop-filter:blur(12px)}
.backend-topbar__spacer{display:none}
.backend-topbar:not(.backend-topbar--has-page-header){display:flex;justify-content:flex-end;align-items:center}
.backend-topbar__page-header{align-self:center;min-width:0;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.backend-topbar__page-header.page-header,.backend-topbar__page-header.admin-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.backend-topbar__page-header .eyebrow{margin:0 0 3px;color:var(--brand);font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.backend-topbar__page-header h1{margin:0!important;color:var(--text);font-size:clamp(22px,2.35vw,34px)!important;line-height:1.08!important}
.backend-topbar__page-header p{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:750;line-height:1.35}
.backend-topbar__page-header .page-subtitle{max-width:760px;margin-top:4px!important}
.backend-topbar__page-header .page-header-actions,.backend-topbar__page-header .workflow-actions,.backend-topbar__page-header .studio-module-manager-actions{align-self:center;justify-content:flex-end}
.admin-account-menu--topbar{margin-top:0!important;padding:10px 12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(42,49,42,.08);display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.admin-account-menu--topbar .admin-account-menu__summary{gap:10px}
.admin-account-menu--topbar .admin-account-menu__avatar{background:var(--brand);color:#fff}
.admin-account-menu--topbar .admin-account-menu__identity{display:grid}
.admin-account-menu--topbar .admin-account-menu__eyebrow{color:var(--muted);font-size:10px}
.admin-account-menu--topbar .admin-account-menu__name{color:var(--text);max-width:220px}
.admin-account-menu--topbar .admin-account-menu__email{color:var(--muted);max-width:220px}
.admin-account-menu--topbar .admin-account-menu__role{background:var(--soft);color:var(--brand)}
.admin-account-menu--topbar .admin-account-menu__actions{display:flex;align-items:center;gap:6px;margin-top:0;flex-wrap:wrap}
.admin-account-menu--topbar .admin-account-menu__link{color:var(--brand);background:#f8fafc;border:1px solid #e5e7eb;min-height:36px}
.admin-account-menu--topbar .admin-account-menu__link:hover,.admin-account-menu--topbar .admin-account-menu__link:focus-visible{background:var(--soft);box-shadow:var(--focus-ring)}
.admin-account-menu--topbar .admin-account-menu__logout{color:var(--danger);background:var(--danger-bg);border-color:#fecaca}
.admin-account-menu--sidebar{margin-top:auto}
.admin-main{padding:32px;min-width:0}
body.admin-sidebar-collapsed .admin-shell{grid-template-columns:76px minmax(0,1fr)}
body.admin-sidebar-collapsed .admin-sidebar{width:76px;padding:18px 10px}
body.admin-sidebar-collapsed .admin-sidebar__brand{grid-template-columns:1fr;justify-items:center;gap:10px}
body.admin-sidebar-collapsed .admin-brand-text,
body.admin-sidebar-collapsed .admin-nav__text,
body.admin-sidebar-collapsed .admin-subnav,
body.admin-sidebar-collapsed .admin-subnav-toggle,
body.admin-sidebar-collapsed .admin-sidebar .admin-account-menu__identity,
body.admin-sidebar-collapsed .admin-sidebar .admin-account-menu__actions{display:none}
body.admin-sidebar-collapsed .admin-sidebar-collapse{width:40px;height:34px}
body.admin-sidebar-collapsed .admin-nav-parent{grid-template-columns:1fr}
body.admin-sidebar-collapsed .admin-nav__link{justify-content:center;gap:0;padding:7px 0}
body.admin-sidebar-collapsed .admin-nav__icon{flex-basis:34px;width:34px;height:34px}
body.admin-sidebar-collapsed .admin-nav__link.is-active .admin-nav__icon{background:rgba(255,255,255,.22)}
body.admin-sidebar-collapsed .admin-sidebar .admin-account-menu{padding-top:12px}
body.admin-sidebar-collapsed .admin-sidebar .admin-account-menu__summary{justify-content:center}
.admin-page-header{margin-bottom:22px}
.admin-page-header h1{font-size:clamp(32px,4vw,48px);line-height:1.05;margin:2px 0 8px}
.admin-page-header p{color:var(--muted);margin:0}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;color:var(--accent)!important}
.eyebrow a{color:inherit!important;text-decoration:none}
.eyebrow a:hover,.eyebrow a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}
.metric-card span{display:block;color:var(--muted);font-weight:800}
.metric-card strong{display:block;font-size:36px;line-height:1.1;margin-top:8px}
.admin-logo-preview{display:block;box-sizing:border-box;max-width:min(360px,100%);max-height:190px;width:auto;height:auto;padding:10px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background-color:#070b09;background-image:linear-gradient(45deg,rgba(255,255,255,.13) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.13) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.13) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.13) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;box-shadow:inset 0 0 0 1px rgba(15,23,42,.24),0 12px 28px rgba(15,23,42,.12);filter:drop-shadow(0 2px 10px rgba(0,0,0,.62));object-fit:contain}
/* Site Settings Stage 2 groups live settings and planned settings without adding inactive inputs. */
.settings-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.settings-nav{position:sticky;top:22px;padding:16px}
.settings-nav h2{font-size:16px;margin:0 0 10px}
.settings-nav a{display:block;padding:9px 10px;border-radius:10px;color:var(--text);font-weight:850;font-size:14px}
.settings-nav a:hover{background:#f3eee6}
.settings-sections{display:grid;gap:18px;min-width:0}
.settings-section{scroll-margin-top:22px}
.settings-section__header{margin-bottom:18px}
.settings-section__header h2{margin:2px 0 6px;font-size:clamp(24px,3vw,32px)}
.settings-current-logo{margin-bottom:16px}
.settings-current-logo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.settings-preview-card,.settings-upload-card{border:1px solid var(--line);border-radius:16px;background:#fbf8f3;padding:16px;min-width:0}
.settings-preview-card__label{display:block;margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.settings-preview-card code,.settings-file-preview code{display:block;margin-top:10px;white-space:normal;word-break:break-word}
.settings-branding-form label{margin-top:12px}
.settings-field-note{margin:-8px 0 16px;color:var(--muted);font-size:13px;line-height:1.45;font-weight:650}
.settings-upload-card .settings-field-note{margin:8px 0 0}
.settings-empty-note{border:1px dashed #cdbfad;background:#fbf8f3;border-radius:14px;padding:16px;color:var(--muted)}
.settings-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:6px 0 16px}
.settings-file-preview{display:flex;align-items:center;gap:10px;margin:6px 0 12px;min-width:0}
.settings-icon-preview{width:42px;height:42px;object-fit:contain;vertical-align:middle;border:1px solid var(--line);border-radius:10px;background:#fff;margin-right:8px}
.settings-og-preview{display:block;max-width:360px;max-height:190px;width:100%;object-fit:cover;border:1px solid var(--line);border-radius:14px;background:#fff}
.settings-checkbox{display:flex!important;align-items:flex-start;gap:10px;margin:12px 0 16px;font-weight:850}
.settings-checkbox input{width:auto!important;margin:4px 0 0!important}
.settings-checkbox small{display:block;margin-top:4px;color:var(--muted);font-weight:650;line-height:1.4}
.settings-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 18px}
.settings-toggle-grid .settings-checkbox{height:100%;margin:0;border:1px solid var(--line);border-radius:14px;background:#fbf8f3;padding:13px}
.settings-future-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.settings-future-list span{display:inline-flex;border:1px solid #e7ddcf;background:#fbf8f3;border-radius:999px;padding:7px 10px;color:var(--muted);font-size:12px;font-weight:850}
.settings-section--placeholder{background:linear-gradient(180deg,#fff,#fbf8f3)}
.settings-placeholder-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}
.settings-placeholder-list li{border:1px solid #e7ddcf;border-radius:12px;background:#fff;padding:12px;color:var(--muted);font-weight:750}
.settings-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.settings-health-grid span{border:1px solid var(--line);border-radius:12px;background:#fbf8f3;padding:12px;color:var(--muted);font-weight:750}
.settings-health-grid strong{color:var(--text)}
.settings-subform{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.settings-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;margin-left:7px;border:1px solid #cdbfad;border-radius:50%;background:#fbf8f3;color:var(--muted);font-size:12px;font-weight:900;line-height:1;cursor:help;vertical-align:middle}
.settings-help:focus{outline:2px solid var(--brand);outline-offset:2px}
.settings-help__tooltip{position:absolute;left:50%;bottom:calc(100% + 9px);z-index:20;width:min(280px,78vw);padding:10px 12px;border:1px solid #d9ccbb;border-radius:10px;background:#1d2420;color:#fff;box-shadow:0 14px 36px rgba(29,36,32,.2);font-size:12px;font-weight:700;line-height:1.45;text-align:left;transform:translateX(-50%) translateY(4px);opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.settings-help__tooltip::after{content:"";position:absolute;left:50%;top:100%;border:6px solid transparent;border-top-color:#1d2420;transform:translateX(-50%)}
.settings-help:hover .settings-help__tooltip,.settings-help:focus .settings-help__tooltip,.settings-help:focus-within .settings-help__tooltip{opacity:1;transform:translateX(-50%) translateY(0)}
.settings-error-list{margin:8px 0 0;padding-left:18px}
.settings-error-list a{font-weight:900;color:inherit;text-decoration:underline}
.settings-field-error{border-color:#c74242!important;background:#fff7f7!important}
.settings-field-error-message{margin:-10px 0 14px;color:#a12d2d;font-size:13px;font-weight:850}
.auth-page{min-height:calc(100vh - 92px);display:flex;align-items:center;justify-content:center;padding:48px 20px;background:radial-gradient(circle at 20% 15%,#edf4ee 0,#f6f2ec 34%,#fffaf5 100%)}
.auth-panel,.signup-panel{width:min(960px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:34px}
.auth-panel{max-width:480px}
.auth-brand{display:flex;justify-content:center;margin-bottom:16px}
.auth-brand .brand{font-size:26px}
.auth-panel h1,.signup-panel h1{font-size:clamp(34px,5vw,54px);line-height:1.04;margin:6px 0 10px;text-align:center}
.auth-panel .eyebrow,.signup-panel>p{text-align:center}
.auth-form{margin-top:18px}
.auth-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.auth-form .btn{width:100%;margin-top:4px}
.auth-form input,.auth-form textarea,.auth-form select{box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}
.auth-form input::placeholder,.auth-form textarea::placeholder{color:rgba(100,116,139,.72)}
.auth-form-links{margin:14px 0 0;text-align:center;font-weight:800}
.auth-form-links a{color:var(--brand);text-decoration:none}
.auth-form-links a:hover,.auth-form-links a:focus{text-decoration:underline}
.password-requirements{display:block;margin-top:5px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.4}
.password-requirements--checklist{margin:0 0 16px;padding:14px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:rgba(248,250,252,.9);color:#64748b;font-size:14px;font-weight:700;line-height:1.4}
.password-requirements__title{margin:0 0 8px;color:#111827;font-weight:900}
.password-requirements__list{display:grid;gap:7px;list-style:none;margin:0;padding:0}
.password-requirements__list li{display:flex;align-items:center;gap:8px;color:#64748b;font-size:14px}
.password-requirements__list li.is-valid{color:#166534}
.password-requirements__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;font-weight:950;line-height:1}
.signup-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}
.signup-choice-card{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#fbf8f3);padding:24px;box-shadow:0 12px 34px rgba(42,49,42,.07)}
.signup-choice-card__marker{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:#17201a;color:#fff;font-weight:950}
.signup-choice-card h2{margin:0;font-size:26px}
.signup-choice-card p{margin:0;color:var(--muted);font-size:16px}
.signup-choice-card .btn{margin-top:auto;width:100%}
.auth-form-card{max-width:720px;margin:24px auto 0;border:1px solid var(--line);border-radius:20px;background:#fbf8f3;padding:24px}
.auth-form-card--simple{max-width:520px}
.auth-form-card h2{margin:2px 0 10px;font-size:30px}
.signup-subscription-panel{display:grid;gap:14px;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.signup-subscription-panel h3{margin:0 0 4px}
.signup-subscription-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.signup-plan-card{display:grid;gap:8px;align-content:start;border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:14px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.signup-plan-card:hover,.signup-plan-card.is-selected{border-color:var(--brand);box-shadow:0 10px 28px rgba(49,89,67,.12)}
.signup-plan-card input{position:absolute;opacity:0;pointer-events:none}
.signup-plan-card__title{font-size:18px;font-weight:900;color:var(--ink)}
.signup-plan-card__price{font-size:14px;font-weight:900;color:var(--brand)}
.signup-plan-card__copy,.signup-plan-card__terms{font-size:13px;color:var(--muted);line-height:1.45}
.signup-plan-card__terms{padding-top:8px;border-top:1px solid #eef2f7}
.signup-plan-card--simple{position:relative;overflow:hidden;min-height:96px;padding:18px 48px 18px 18px;border-color:#dbe7df;background:linear-gradient(180deg,#fff 0%,#f8fbf9 100%)}
.signup-plan-card--simple:after{content:"";position:absolute;top:18px;right:18px;width:18px;height:18px;border:2px solid #cbd8d0;border-radius:999px;background:#fff;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.signup-plan-card--simple.is-selected:after{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 4px #fff}
.signup-plan-card--simple .signup-plan-card__title{font-size:20px;line-height:1.15}
.signup-plan-card--simple .signup-plan-card__price{font-size:15px;color:var(--ink)}
.signup-plan-card--premium{gap:12px}
.signup-plan-card__plan-select{display:grid;gap:6px;margin:0;cursor:pointer}
.signup-billing-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px;padding:4px;border:1px solid #e5e7eb;border-radius:999px;background:#f8fafc}
.signup-billing-toggle__option{display:flex;align-items:center;justify-content:center;min-height:34px;margin:0;border-radius:999px;color:var(--muted);font-size:13px;font-weight:900;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.signup-billing-toggle__option input{position:absolute;opacity:0;pointer-events:none}
.signup-billing-toggle__option.is-selected{background:#fff;color:var(--brand);box-shadow:0 6px 16px rgba(49,89,67,.12)}
.signup-plan-choice-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch;gap:14px}
.signup-plan-card--choice{min-height:174px;padding:22px;border-radius:24px;border-color:#dbe7df;background:linear-gradient(180deg,#fff,#f8fbf9);box-shadow:0 12px 30px rgba(15,23,42,.055);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.signup-plan-card--choice:hover,.signup-plan-card--choice:focus-within{transform:translateY(-2px);border-color:#9bbca5;box-shadow:0 18px 42px rgba(49,89,67,.13)}
.signup-plan-card--choice.is-selected{border-color:#315943;background:linear-gradient(180deg,#f7fbf8,#fff);box-shadow:0 18px 44px rgba(49,89,67,.16)}
.signup-plan-card--choice:before{content:"";width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,rgba(49,89,67,.16),rgba(14,165,233,.10));box-shadow:inset 0 0 0 1px rgba(49,89,67,.10)}
.signup-plan-card--choice:after{top:22px;right:22px;width:20px;height:20px;border-color:#b7c8bd}
.signup-plan-card--choice .signup-plan-card__title{max-width:calc(100% - 38px);font-size:clamp(20px,2vw,24px);letter-spacing:0;line-height:1.08}
.signup-plan-card--choice .signup-plan-card__price{font-size:15px;line-height:1.35;color:#315943}
.signup-plan-card--trial{align-content:space-between}
.signup-plan-card--trial:before{content:"Trial";display:inline-flex;align-items:center;justify-content:center;color:#315943;font-weight:950}
.signup-plan-card--trial .signup-plan-card__title{display:block;grid-column:1/-1;margin-top:12px}
.signup-plan-card--premium{align-content:start}
.signup-plan-card--premium:before{content:"PRO";display:inline-flex;align-items:center;justify-content:center;width:46px;color:#315943;font-size:11px;font-weight:950;letter-spacing:.04em}
.signup-plan-card--premium .signup-plan-card__plan-select{gap:7px}
.signup-plan-card--premium .signup-billing-toggle{margin-top:6px;border-radius:16px;background:#eef5f0}
.signup-plan-card--premium .signup-billing-toggle__option{min-height:40px;border-radius:12px;font-size:14px}
.signup-plan-card--premium .signup-billing-toggle__option.is-selected{color:#17201a;box-shadow:0 8px 18px rgba(15,23,42,.08)}
.signup-pricing-page{position:relative;overflow:hidden;max-width:100%;padding:22px;border:1px solid #dfe9e2;border-radius:28px;background:radial-gradient(circle at top left,rgba(141,181,150,.24),transparent 34%),linear-gradient(180deg,#fbfdfb,#f4f8f5);box-shadow:0 18px 48px rgba(49,89,67,.08)}
.signup-pricing-hero{display:grid;gap:8px;max-width:720px;margin-bottom:18px}
.signup-pricing-hero h3{margin:0;color:#17201a;font-size:clamp(25px,4vw,40px);line-height:1.02;letter-spacing:0}
.signup-pricing-hero p:not(.eyebrow){margin:0;color:#526057;font-size:15px;line-height:1.55}
.billing-toggle-wrap{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-width:100%;margin:0 0 18px;padding:5px;border:1px solid rgba(49,89,67,.14);border-radius:999px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.billing-toggle-option{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:40px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:#506158;font:inherit;font-size:14px;font-weight:950;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.billing-toggle-option span{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#e8f4eb;color:#315943;font-size:11px;font-weight:950}
.billing-toggle-option.is-active{background:#17201a;color:#fff;box-shadow:0 8px 18px rgba(23,32,26,.16)}
.billing-toggle-option.is-active span{background:rgba(255,255,255,.16);color:#fff}
.signup-pricing-carousel{position:relative;min-width:0;max-width:100%}
.signup-pricing-carousel__viewport{min-width:0;max-width:100%;overflow:visible}
.signup-pricing-carousel__track{min-width:0}
.pricing-carousel-arrow,.pricing-carousel-dots{display:none}
.signup-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;align-items:stretch;max-width:100%}
.signup-pricing-grid,.signup-pricing-card,.signup-pricing-card>*{min-width:0}
.signup-pricing-card{position:relative;display:grid;grid-template-rows:auto auto auto 1fr auto auto;width:100%;max-width:100%;gap:12px;min-height:100%;padding:22px;border:1px solid rgba(49,89,67,.14);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 14px 34px rgba(15,23,42,.055);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}
.signup-pricing-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#8db596,#315943)}
.signup-pricing-card:after{content:"";position:absolute;top:18px;right:18px;width:20px;height:20px;border:2px solid #b7c8bd;border-radius:999px;background:#fff}
.signup-pricing-card:hover,.signup-pricing-card:focus-within{transform:translateY(-2px);border-color:#9bbca5;box-shadow:0 20px 46px rgba(49,89,67,.14)}
.signup-pricing-card.is-selected{border-color:#1f7a4f;background:linear-gradient(180deg,#f1fbf5 0%,#fff 100%);box-shadow:0 24px 60px rgba(49,89,67,.24),0 0 0 3px rgba(38,216,111,.18);transform:translateY(-2px)}
.signup-pricing-card.is-selected:before{height:7px;background:linear-gradient(90deg,#26d86f,#315943)}
.signup-pricing-card.is-selected:after{border-color:#26d86f;background:#26d86f;box-shadow:inset 0 0 0 5px #fff,0 0 0 5px rgba(38,216,111,.18)}
.signup-pricing-card--featured{background:linear-gradient(180deg,#fff,#f8fbf9)}
.signup-pricing-card--featured:before{height:6px;background:linear-gradient(90deg,#17201a,#315943,#8db596)}
.signup-pricing-card--disabled{opacity:.58;cursor:not-allowed}
.signup-pricing-card--disabled:hover{transform:none;box-shadow:0 14px 34px rgba(15,23,42,.055)}
.signup-pricing-card__badge{position:absolute;top:16px;left:18px;display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#17201a;color:#fff;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.signup-pricing-card__select{display:block;margin:0;padding:0}
.signup-pricing-card__select input{position:absolute;opacity:0;pointer-events:none}
.signup-pricing-card__header{display:grid;gap:8px;min-width:0;padding-top:20px;padding-right:34px}
.signup-pricing-card__kicker{color:#315943;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.signup-pricing-card__name{color:#17201a;font-size:clamp(22px,2.6vw,28px);font-weight:950;line-height:1.04;letter-spacing:0;overflow-wrap:anywhere}
.signup-pricing-card__description{color:#58655d;font-size:13px;font-weight:750;line-height:1.45;overflow-wrap:anywhere}
.signup-pricing-card__price{display:flex;align-items:flex-end;flex-wrap:wrap;gap:4px;min-width:0;min-height:50px;color:#17201a}
.signup-pricing-card__amount{font-size:clamp(32px,5vw,44px);font-weight:950;line-height:.96;letter-spacing:0;overflow-wrap:anywhere}
.signup-pricing-card__interval{padding-bottom:5px;color:#526057;font-size:15px;font-weight:950}
.signup-pricing-card__billing-note{min-height:22px;margin:0;color:#526057;font-size:13px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}
.signup-pricing-card__saving{display:inline-flex;width:max-content;max-width:100%;margin:0;padding:5px 9px;border-radius:999px;background:#e8f4eb;color:#315943;font-size:12px;font-weight:950}
.signup-pricing-card__features{display:grid;gap:9px;margin:4px 0 0;padding:0;list-style:none;color:#26352b;font-size:13px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.signup-pricing-card__features li{position:relative;padding-left:24px}
.signup-pricing-card__features li:before{content:"";position:absolute;left:0;top:.15em;width:16px;height:16px;border-radius:999px;background:#e8f4eb}
.signup-pricing-card__features li:after{content:"";position:absolute;left:5px;top:.48em;width:6px;height:3px;border-left:2px solid #315943;border-bottom:2px solid #315943;transform:rotate(-45deg)}
.signup-pricing-card__cta{align-self:end;width:100%;justify-content:center;margin-top:6px}
.signup-pricing-card__unavailable{margin:0;color:#9a3412;font-size:12px;font-weight:900;line-height:1.35}
.signup-stepper{display:grid;gap:16px}
.signup-stepper__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 4px;padding:4px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;list-style:none}
.signup-stepper__steps li{display:flex;align-items:center;justify-content:center;min-height:34px;border-radius:999px;color:var(--muted);font-size:12px;font-weight:950;text-align:center}
.signup-stepper__steps button{display:flex;align-items:center;justify-content:center;width:100%;min-height:34px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:950;text-align:center;cursor:pointer}
.signup-stepper__steps button:hover,.signup-stepper__steps button:focus-visible{background:rgba(49,89,67,.08)}
.signup-stepper__steps li.is-active{background:#17201a;color:#fff;box-shadow:0 8px 18px rgba(23,32,26,.14)}
.signup-stepper__steps li.is-complete{background:#edf7ef;color:var(--brand)}
.signup-stepper__steps li.is-active button:hover,.signup-stepper__steps li.is-active button:focus-visible{background:rgba(255,255,255,.12)}
.signup-step{display:grid;gap:14px}
.signup-step[hidden]{display:none}
.signup-stepper__actions{display:flex;justify-content:space-between;gap:10px;margin-top:2px}
.signup-stepper__actions .btn{width:auto;min-width:124px;margin-top:0}
.signup-trial-terms,.auth-terms-checkbox{align-items:flex-start;line-height:1.45}
.signup-consent-panel{margin-top:18px;padding:16px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:rgba(248,250,252,.9)}
.signup-consent-option{display:flex!important;align-items:flex-start;gap:11px;margin:0!important;color:#17201a;font-weight:850;line-height:1.4}
.signup-consent-option input[type="checkbox"]{flex:0 0 auto;width:19px!important;height:19px!important;margin:2px 0 0!important}
.signup-consent-option a{text-decoration:underline;text-underline-offset:3px}
.signup-consent-summary{margin:12px 0 0;color:#64748b;font-size:14px;font-weight:750;line-height:1.45}
.signup-billing-terms{margin-top:12px;color:#475569;font-size:14px;line-height:1.45}
.signup-billing-terms summary{cursor:pointer;color:#17201a;font-weight:900}
.signup-billing-terms__body{display:grid;gap:7px;margin-top:10px}
.signup-billing-terms__body p{margin:0}
.signup-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.studio-type-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:2px}
.studio-type-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 16px;border:1px solid rgba(49,89,67,.18);border-radius:999px;background:rgba(255,255,255,.94);color:#17201a;font-weight:900;text-align:center;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease}
.studio-type-option:hover,.studio-type-option:focus-within{border-color:rgba(49,89,67,.46);box-shadow:0 10px 24px rgba(15,23,42,.08);transform:translateY(-1px)}
.studio-type-option input{position:absolute;opacity:0;pointer-events:none}
.studio-type-option span{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0}
.studio-type-option.is-selected,.studio-type-option:has(input:checked){border-color:#17201a;background:#17201a;color:#fff;box-shadow:0 14px 30px rgba(15,23,42,.18)}
.studio-type-option.is-selected span:after,.studio-type-option:has(input:checked) span:after{content:"✓";font-weight:950}
.auth-terms{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}
.auth-terms a{font-weight:700;color:var(--brand)}
.signup-login-link{text-align:center;margin-bottom:0}
.host-studio-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}
.host-studio-search-card{padding:18px}
.host-studio-searchbar{display:grid;grid-template-columns:minmax(280px,1fr) 160px 180px auto;gap:12px;align-items:end;margin:0}
.host-studio-searchbar label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 5px}
.host-studio-searchbar input,.host-studio-searchbar select{margin:0;min-height:44px}
.host-studio-searchbar__actions{display:flex;gap:8px}
.host-studio-searchbar__actions .btn{min-height:44px;white-space:nowrap}
.host-studio-actions{display:flex;flex-wrap:wrap;gap:8px}
.host-studio-actions .btn{min-height:36px;padding:9px 12px;font-size:13px}
.host-studio-cards{display:none;gap:14px}
.host-studio-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;box-shadow:0 10px 30px rgba(42,49,42,.06)}
.host-studio-card h3{margin:8px 0 4px}
.host-studio-card dl,.studio-control-details{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px 12px;margin:14px 0}
.host-studio-card dt,.studio-control-details dt{font-weight:900;color:var(--text)}
.host-studio-card dd,.studio-control-details dd{margin:0;color:var(--muted);min-width:0;overflow-wrap:anywhere}
.host-studio-list-card{padding:0;overflow:hidden}
.host-studio-list-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}
.host-studio-list-header h2{margin:2px 0 0}
.host-studio-list{display:grid}
.host-studio-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.35fr) auto;gap:18px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);background:#fff}
.host-studio-row:last-child{border-bottom:0}
.host-studio-row h3{margin:0 0 4px;font-size:19px}
.host-studio-row p{margin:0}
.host-studio-row__main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.host-studio-row__meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;color:var(--muted);font-size:13px}
.host-studio-row__meta span{min-width:0;word-break:break-word}
.host-studio-row__meta strong{display:block;color:var(--text);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.host-studio-row__action{display:flex;justify-content:flex-end}
.studio-control-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:22px;align-items:start;margin-bottom:18px;padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#17201a 0%,#315943 62%,#c87f6b 140%);color:#fff;box-shadow:0 22px 60px rgba(42,49,42,.16)}
.studio-control-hero h1{font-size:clamp(34px,4.8vw,58px);line-height:1.02;margin:4px 0 10px;color:#fff}
.studio-control-hero .muted,.studio-control-hero .muted a{color:#e4eee7}
.studio-control-hero .eyebrow{color:#f3d6c9!important}
.studio-control-hero__badges,.studio-control-hero__actions{display:flex;gap:9px;flex-wrap:wrap}
.studio-control-hero__badges .status-badge{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.2)}
.studio-control-hero__actions{justify-content:flex-end}
.studio-control-hero__actions .btn{box-shadow:none}
.studio-control-hero--command{grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);background:linear-gradient(135deg,#17201a 0%,#315943 74%,#946b5d 130%)}
.studio-control-hero__panel{display:grid;gap:14px;align-content:start;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.1);padding:16px;backdrop-filter:blur(6px)}
.studio-control-hero-facts{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 12px;margin:0;color:#fff}
.studio-control-hero-facts dt{font-weight:950;color:#f3d6c9}
.studio-control-hero-facts dd{margin:0;min-width:0;color:#fff}
.studio-control-action-menu{display:flex;flex-wrap:wrap;gap:10px;margin:-6px 0 18px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(42,49,42,.08)}
.studio-control-action-menu .btn{box-shadow:none}
.studio-control-page-flow{display:flex;flex-direction:column;gap:18px}
.studio-control-page-flow>*{order:50;margin-bottom:0}
.studio-control-page-flow>.alert{order:0}
.studio-control-page-flow>#studio-profile{order:1}
.studio-control-page-flow>#studio-setup-workflow{order:2}
.studio-control-page-flow>#studio-view-mirror{order:3}
.studio-control-page-flow>#host-module-map{order:4}
.studio-control-page-flow>#recommended-actions{order:5}
.studio-control-page-flow>#overview{order:6}
.studio-control-page-flow>.studio-control-tabs{order:7}
.studio-control-page-flow>#classes-waitlists{order:10}
.studio-control-page-flow>#feature-toggles{order:11}
.studio-control-page-flow>#waivers-compliance{order:12}
.studio-control-page-flow>#connected-clients-list{order:13}
.studio-control-page-flow>#staff-roles-list{order:14}
.studio-control-page-flow>#classes-memberships{order:15}
.studio-control-page-flow>#platform-billing{order:20}
.studio-control-page-flow>#payment-gateways{order:21}
.studio-control-page-flow>#revenue-payments{order:22}
.studio-control-page-flow>#marketing-content{order:30}
.studio-control-page-flow>#marketing-automation{order:31}
.studio-control-page-flow>#video-on-demand-content{order:32}
.studio-control-page-flow>#messenger-conversations{order:40}
.studio-control-page-flow>#support-security{order:50}
.studio-control-page-flow>#support-tickets{order:51}
.studio-control-page-flow>#advanced-reports-exports{order:52}
.studio-control-page-flow>#import-tools{order:53}
.studio-control-page-flow>#admin-troubleshooting{order:54}
.studio-control-page-flow>#setup-progress{order:55}
.studio-control-page-flow>#recent-activity{order:56}
.studio-setup-workflow,.studio-snapshot-overview{margin-bottom:18px}
.studio-workflow-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:16px}
.studio-workflow-header h2{margin:2px 0 6px}
.studio-workflow-progress-ring{display:grid;place-items:center;width:122px;height:122px;border:10px solid #e7ddcf;border-top-color:var(--brand);border-right-color:var(--accent);border-radius:50%;background:#fff;box-shadow:0 12px 30px rgba(42,49,42,.08);text-align:center}
.studio-workflow-progress-ring strong{font-size:28px;line-height:1;color:var(--text)}
.studio-workflow-progress-ring span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.studio-workflow-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.studio-workflow-summary article{border:1px solid var(--line);border-radius:16px;background:#fbf8f3;padding:14px;box-shadow:0 8px 22px rgba(42,49,42,.04)}
.studio-workflow-summary article.is-warning{border-color:#fed7aa;background:var(--warning-bg)}
.studio-workflow-summary span{display:block;color:var(--muted);font-size:12px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.studio-workflow-summary strong{display:block;margin-top:4px;color:var(--text);font-size:28px;line-height:1.08}
.studio-workflow-summary small{display:block;margin-top:5px;color:var(--muted);font-weight:750;line-height:1.35}
.studio-setup-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.studio-setup-step{display:flex;flex-direction:column;gap:12px;min-height:238px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fbf8f3);padding:16px;color:var(--text);box-shadow:0 10px 28px rgba(42,49,42,.05);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.studio-setup-step:hover{border-color:#cdbfad;box-shadow:0 16px 36px rgba(42,49,42,.10);transform:translateY(-1px)}
.studio-setup-step__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.studio-setup-step__number{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:15px;background:#17201a;color:#fff;font-size:13px;font-weight:950}
.studio-setup-step__content{display:grid;gap:6px;min-width:0}
.studio-setup-step__content strong{font-size:18px;line-height:1.2;color:var(--text)}
.studio-setup-step__content small{display:block;color:var(--brand);font-size:12px;font-weight:900;line-height:1.35}
.studio-setup-step__content p{margin:0;color:var(--muted);font-size:14px;font-weight:720;line-height:1.45}
.studio-setup-step>.btn{margin-top:auto;width:max-content;max-width:100%}
.studio-setup-step.is-complete .studio-setup-step__number{background:var(--success)}
.studio-setup-step.is-needs-attention .studio-setup-step__number{background:var(--warning)}
.studio-setup-step.is-not-started .studio-setup-step__number{background:#6b7280}
.studio-setup-step.is-coming-soon .studio-setup-step__number{background:var(--info)}
.studio-setup-step.is-disabled .studio-setup-step__number{background:#6b7280}
.studio-setup-step.is-optional .studio-setup-step__number{background:#6b7280}
.studio-snapshot-overview__header,.studio-snapshot-panel__intro{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.studio-snapshot-overview__header h2,.studio-snapshot-panel__intro h2{margin:2px 0 6px}
.studio-snapshot-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.studio-snapshot-badges--hero{justify-content:flex-start;gap:10px;margin-top:14px}
.studio-snapshot-badges--hero .status-badge{min-height:34px;padding:8px 12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.14);color:#fff;box-shadow:0 10px 26px rgba(23,32,26,.14);backdrop-filter:blur(6px)}
.studio-snapshot-badges--hero .status-badge.is-active{background:rgba(32,143,82,.24);border-color:rgba(167,243,208,.44);color:#ecfdf5}
.studio-snapshot-badges--hero .status-badge.is-warning{background:rgba(245,158,11,.22);border-color:rgba(253,230,138,.45);color:#fff7ed}
.studio-control-snapshot{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:0}
.studio-control-snapshot--command{grid-template-columns:repeat(4,minmax(0,1fr))}
.studio-control-snapshot--command .metric-card small{display:block;margin-top:5px;color:var(--muted);font-weight:800}
.studio-control-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding:8px;border:1px solid var(--line);border-radius:999px;background:#fff;box-shadow:0 10px 30px rgba(42,49,42,.06)}
.studio-control-tabs a{display:inline-flex;align-items:center;white-space:nowrap;min-height:36px;padding:8px 12px;border-radius:999px;background:#fbf8f3;color:var(--text);font-size:13px;font-weight:900}
.studio-control-tabs a:hover{background:var(--soft);color:var(--brand)}
.studio-control-identity{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:22px;align-items:start}
.studio-control-snapshot-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:22px;align-items:start}
.studio-control-note{border:1px dashed #cdbfad;border-radius:14px;background:#fbf8f3;padding:16px}
.studio-control-attention{margin-bottom:18px}
.studio-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-attention-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px}
.studio-attention-item strong{display:block;color:var(--text);font-size:15px}
.studio-attention-item p{margin:4px 0 0;color:var(--muted);font-size:13px}
.studio-attention-item .btn{flex:0 0 auto;min-height:36px;padding:8px 12px;font-size:13px}
.studio-control-accordion{display:block;margin-bottom:18px;padding:0;overflow:hidden;scroll-margin-top:18px}
.studio-control-page-flow>.admin-card,.studio-control-page-flow>.studio-control-section{border-color:rgba(148,163,184,.28);border-radius:22px;background:#fff;box-shadow:0 14px 35px rgba(15,23,42,.06)}
.studio-control-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;padding:18px 20px}
.studio-control-accordion>summary::-webkit-details-marker{display:none}
.studio-control-accordion>summary span{display:grid;gap:3px;color:var(--text);font-size:20px;font-weight:950}
.studio-control-accordion>summary small{color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.studio-control-accordion>summary em{font-style:normal;color:var(--muted);font-size:12px;font-weight:900}
.studio-control-accordion[open]>summary{border-bottom:1px solid var(--line)}
.studio-control-accordion__body{padding:18px 20px 20px}
.studio-control-page-flow>.admin-card,.studio-control-page-flow>.studio-control-tabs{margin-bottom:0}
.studio-control-js-collapsible{padding:0;overflow:hidden;scroll-margin-top:18px}
.studio-control-js-collapsible>.studio-feature-card__top,
.studio-control-js-collapsible>.settings-section__header,
.studio-control-js-collapsible>.studio-snapshot-overview__header{padding:18px 20px;border-bottom:1px solid var(--line)}
.studio-control-js-collapsible .studio-control-js-collapsible-body{padding:18px 20px 20px}
.studio-control-js-collapsible.is-collapsed .studio-control-js-collapsible-body{display:none}
.studio-control-js-collapsible.is-collapsed>.studio-feature-card__top,
.studio-control-js-collapsible.is-collapsed>.settings-section__header,
.studio-control-js-collapsible.is-collapsed>.studio-snapshot-overview__header{border-bottom:0}
.studio-control-collapse-toggle{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fbf8f3;color:var(--muted);min-height:34px;padding:7px 12px;font-size:12px;font-weight:900;cursor:pointer}
.studio-control-collapse-toggle:hover,.studio-control-collapse-toggle:focus-visible{background:var(--soft);color:var(--brand);outline:none}
.admin-card.studio-control-accordion{min-width:0;border:1px solid rgba(148,163,184,.28);border-radius:22px;background:#fff;box-shadow:0 14px 35px rgba(15,23,42,.06)}
.studio-control-accordion>summary{position:relative;min-height:74px;background:linear-gradient(180deg,#fff,#fbf8f3);transition:background .16s ease,border-color .16s ease}
.studio-control-accordion>summary:hover{background:linear-gradient(180deg,#fff,#f8fafc)}
.studio-control-accordion>summary:focus-visible{outline:3px solid rgba(49,89,67,.22);outline-offset:-3px}
.studio-control-accordion>summary span{min-width:0;overflow-wrap:anywhere}
.studio-control-accordion>summary em{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid rgba(148,163,184,.35);border-radius:999px;background:#fff;padding:6px 10px;white-space:nowrap}
.studio-control-accordion:not([open])>summary em::before{content:"+";margin-right:6px;font-weight:950;color:var(--brand)}
.studio-control-accordion[open]>summary em::before{content:"-";margin-right:6px;font-weight:950;color:var(--brand)}
.studio-control-accordion__body{min-width:0;overflow-wrap:anywhere}
.studio-control-accordion__body .btn{max-width:100%}
.studio-control-snapshot-body{align-items:start}
.studio-snapshot-actions{flex-wrap:wrap}
.studio-snapshot-actions .btn{white-space:normal}
.studio-control-note{min-width:0}
.studio-view-mirror-grid{margin-bottom:16px}
.studio-view-mirror .studio-control-module-group{margin-top:16px}
.studio-view-mirror .studio-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.studio-view-mirror .studio-module-card{min-height:0;border-color:rgba(148,163,184,.28);border-radius:16px;background:#fff;color:var(--text);box-shadow:0 10px 24px rgba(15,23,42,.05)}
.studio-view-mirror .studio-module-card:hover{border-color:rgba(49,89,67,.34);box-shadow:0 14px 30px rgba(15,23,42,.08);transform:translateY(-1px)}
.studio-view-mirror .studio-module-card p{color:var(--muted);font-weight:650;line-height:1.45}
.studio-view-mirror .studio-module-card__number{background:#17201a}
.studio-control-tabs{scrollbar-width:thin}
.studio-control-details dd,.studio-module-meta dd,.studio-snapshot-value,.studio-colour-pill em{overflow-wrap:anywhere}
.table-scroll,.studio-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.studio-control-js-collapsible>.studio-feature-card__top,
.studio-control-js-collapsible>.settings-section__header,
.studio-control-js-collapsible>.studio-snapshot-overview__header{cursor:default}
@media (max-width:1100px){
  .studio-view-mirror .studio-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .studio-pos-mirror-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .studio-pos-mirror-details{grid-template-columns:1fr}
}

.studio-pos-settings-page,
.studio-pos-settings-form {
  display: grid;
  gap: 1rem;
}

.studio-pos-settings-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

.studio-pos-settings-status,
.studio-pos-settings-permissions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.studio-pos-settings-status article,
.studio-pos-settings-permissions article {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.studio-pos-settings-status span,
.studio-pos-settings-permissions span {
  display: block;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-settings-status strong,
.studio-pos-settings-permissions strong {
  display: block;
  margin-top: 0.35rem;
  color: #111827;
  font-size: 1.05rem;
  line-height: 1.25;
}

.studio-pos-settings-readiness,
.studio-pos-settings-section,
.studio-pos-settings-save {
  display: grid;
  gap: 1rem;
}

.studio-pos-settings-section .settings-section__header,
.studio-pos-settings-readiness .settings-section__header {
  margin-bottom: 0;
}

.studio-pos-settings-section .studio-toggle-grid {
  margin-bottom: 0;
}

.studio-pos-settings-section .settings-checkbox {
  min-height: 4.2rem;
  margin: 0;
  padding: 0.8rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.72);
  line-height: 1.35;
}

.studio-pos-settings-section .studio-form-grid label {
  min-width: 0;
}

.studio-pos-settings-save {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.studio-pos-settings-save h2,
.studio-pos-settings-save p {
  margin: 0;
}

.studio-pos-settings-warning {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .studio-pos-settings-header,
  .studio-pos-settings-save {
    display: grid;
  }

  .studio-pos-settings-actions {
    justify-content: flex-start;
  }

  .studio-pos-settings-status,
  .studio-pos-settings-permissions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .studio-pos-settings-actions,
  .studio-pos-settings-save {
    width: 100%;
  }

  .studio-pos-settings-actions .btn,
  .studio-pos-settings-save .btn,
  .studio-pos-settings-warning .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-settings-status,
  .studio-pos-settings-permissions {
    grid-template-columns: 1fr;
  }
}
@media (max-width:700px){
  .admin-card.studio-control-accordion{border-radius:16px}
  .studio-control-accordion>summary{min-height:66px;padding:15px}
  .studio-control-accordion__body{padding:15px}
  .admin-card.studio-control-accordion>summary em{display:inline-flex;font-size:11px;padding:5px 8px}
  .studio-view-mirror .studio-module-grid{grid-template-columns:1fr}
  .studio-view-mirror .studio-module-card__top{align-items:flex-start}
  .studio-pos-mirror-summary,.studio-pos-check-grid{grid-template-columns:1fr}
  .studio-pos-mirror-details div{grid-template-columns:1fr;gap:4px}
  .studio-pos-readiness-heading{display:grid;align-items:start}
  .studio-snapshot-groups--cards{gap:9px}
  .studio-snapshot-groups--cards .studio-snapshot-card:nth-child(5){grid-column:auto}
  .studio-snapshot-card{padding:13px;border-radius:13px}
  .studio-snapshot-actions,.studio-control-action-menu{display:grid;grid-template-columns:1fr}
  .studio-snapshot-actions .btn,.studio-control-action-menu .btn{width:100%;justify-content:center}
}
.studio-module-accordion-list{display:grid;gap:12px}
.studio-module-accordion{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.studio-module-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;padding:14px 16px;font-weight:950;color:var(--text)}
.studio-module-accordion>summary::-webkit-details-marker{display:none}
.studio-module-accordion>summary small{color:var(--muted);font-size:12px;font-weight:900}
.studio-module-accordion .studio-feature-grid{padding:0 16px 16px}
.studio-snapshot-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.studio-snapshot-groups section,.studio-snapshot-card{position:relative;border:1px solid var(--line);border-radius:14px;background:#fbf8f3;padding:14px;min-width:0}
.studio-snapshot-groups h3{margin:0 0 8px;font-size:16px}
.studio-snapshot-groups--cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.studio-snapshot-card{display:grid;align-content:start;gap:7px;height:100%;background:linear-gradient(180deg,#fff,#fbf8f3);box-shadow:0 8px 22px rgba(42,49,42,.045)}
.studio-snapshot-groups--cards .studio-snapshot-card:nth-child(4){margin-top:0}
.studio-snapshot-groups--cards .studio-snapshot-card:nth-child(5){grid-column:1/-1}
.studio-snapshot-card:nth-child(6){grid-column:1/-1}
.studio-snapshot-card__number{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:#17201a;color:#fff;font-size:12px;font-weight:950}
.studio-snapshot-card h3{padding-right:34px}
.studio-snapshot-card .muted{margin:0 0 4px}
.studio-snapshot-panel{display:grid;gap:10px;min-width:0}
.studio-snapshot-panel .studio-control-details{gap:5px 10px;margin:6px 0 0}
.studio-snapshot-panel .studio-control-details dt,.studio-snapshot-panel .studio-control-details dd{margin:0}
.studio-snapshot-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-top:8px}
.studio-snapshot-actions .btn{min-height:40px;white-space:nowrap}
.studio-snapshot-value{display:inline-block;color:var(--text);font-weight:850;max-width:100%}
.studio-missing-badge{display:inline-flex;align-items:center;min-height:24px;border:1px solid #fed7aa;border-radius:999px;background:var(--warning-bg);color:var(--warning);font-size:12px;font-weight:900;line-height:1.15;padding:4px 9px}
.studio-missing-badge.is-required{border-color:#fecaca;background:var(--danger-bg);color:var(--danger)}
.studio-colour-list{display:grid;gap:8px}
.studio-colour-list span{display:flex;align-items:center;gap:8px;min-width:0;word-break:break-word}
.studio-colour-list i{display:inline-block;flex:0 0 18px;width:18px;height:18px;border:1px solid var(--line);border-radius:999px;background:#fff}
.studio-colour-pill{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px}
.studio-colour-pill strong{font-size:12px;color:var(--text)}
.studio-colour-pill em{font-style:normal;color:var(--muted);font-size:12px;font-weight:800}
.studio-setup-needs{position:sticky;top:18px}
.studio-setup-needs h3{margin:2px 0 8px}
.setup-checklist{display:grid;gap:8px}
.setup-checklist span,.setup-checklist a{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e7ddcf;border-radius:12px;background:#fff;padding:9px 11px;color:var(--muted);font-size:13px;font-weight:850}
.setup-checklist span::before,.setup-checklist a::before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#c87f6b}
.setup-checklist span.is-done,.setup-checklist a.is-done{color:#315943;background:#edf4ee;border-color:#cfe1d3}
.setup-checklist span.is-done::before,.setup-checklist a.is-done::before{background:#315943}
.setup-checklist--grouped{gap:12px}
.setup-checklist-group{display:grid;gap:8px;min-width:0}
.setup-checklist-group h4{margin:0;color:var(--text);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.studio-view-mirror,.host-module-map,.admin-troubleshooting{margin-bottom:18px;scroll-margin-top:18px}
.studio-view-mirror-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.studio-view-mirror-grid article{display:grid;gap:5px;align-content:start;min-height:128px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#fbf8f3);padding:16px;box-shadow:0 10px 28px rgba(42,49,42,.05)}
.studio-view-mirror-grid span{color:var(--muted);font-size:12px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.studio-view-mirror-grid strong{display:block;color:var(--text);font-size:clamp(22px,3vw,32px);line-height:1.08}
.studio-view-mirror-grid small{color:var(--muted);font-weight:750;line-height:1.35}
.host-module-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.host-module-summary-card{display:grid;gap:12px;align-content:start;min-width:0;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);padding:14px}
.host-module-summary-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.host-module-summary-card__top span{color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.host-module-summary-card__top strong{color:var(--text);font-size:24px;line-height:1;font-weight:950;white-space:nowrap}
.module-chip-list{display:flex;flex-wrap:wrap;gap:7px}
.module-chip{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:5px 10px;background:rgba(15,23,42,.06);color:#334155;font-size:12px;font-weight:850;line-height:1.2}
.module-chip--enabled{background:#edf4ee;color:#315943}
.module-chip--working{background:#eff6ff;color:#1d4ed8}
.module-chip--soon{background:#fff7ed;color:#92400e}
.module-chip--disabled{background:#fef2f2;color:#991b1b}
.host-module-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.host-module-card{display:flex;flex-direction:column;gap:12px;min-height:285px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fbf8f3);padding:18px;box-shadow:0 12px 34px rgba(42,49,42,.06)}
.host-module-card.is-disabled{background:#fbf8f3;border-style:dashed}
.host-module-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.host-module-card h3{margin:0;font-size:18px;line-height:1.2}
.host-module-card p{margin:0;color:var(--muted);font-size:14px}
.host-module-card dl{display:grid;grid-template-columns:116px minmax(0,1fr);gap:7px 10px;margin:2px 0 0;font-size:13px}
.host-module-card dt{color:var(--text);font-weight:950}
.host-module-card dd{margin:0;color:var(--muted);min-width:0}
.host-module-card code{white-space:normal;word-break:break-word}
.host-module-card__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.host-module-card__actions .btn{min-height:38px;padding:9px 12px;font-size:13px}
.admin-troubleshooting .studio-attention-list{margin-top:4px}
.studio-control-modules{margin-bottom:22px}
.studio-control-module-groups{display:grid;gap:16px;margin-top:18px}
.studio-control-module-group{min-width:0;border:1px solid rgba(148,163,184,.24);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px}
.studio-control-module-group__header{display:grid;gap:4px;margin-bottom:14px}
.studio-control-module-group__header h3,.studio-control-module-group__header p{margin:0}
.studio-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.studio-module-card{min-width:0;display:grid;gap:12px;align-content:start;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#fff;padding:16px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.studio-module-card.is-disabled{background:#fff7f7;border-color:rgba(239,68,68,.24)}
.studio-module-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.studio-module-card__number{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#111827;color:#fff;font-weight:950;letter-spacing:0}
.studio-module-card__body{display:grid;gap:10px;min-width:0}
.studio-module-card h3,.studio-module-card p{margin:0}
.studio-module-card p{color:var(--muted);font-weight:650;line-height:1.45}
.studio-module-meta{display:grid;gap:8px;margin:0}
.studio-module-meta div{display:grid;gap:2px;min-width:0}
.studio-module-meta dt{color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.studio-module-meta dd{margin:0;color:var(--text);font-weight:800;overflow-wrap:anywhere}
.studio-module-meta code{white-space:normal;overflow-wrap:anywhere}
.studio-module-card__actions{display:flex;flex-wrap:wrap;gap:8px}
.studio-module-card__title-link{color:inherit;text-decoration:none}
.studio-module-card__title-link:hover,.studio-module-card__title-link:focus{text-decoration:underline;text-underline-offset:.18em}
.studio-module-card__meta{display:grid;gap:7px;margin:0;padding:0}
.studio-module-card__meta div{display:grid;gap:2px;min-width:0}
.studio-module-card__meta dt{color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.studio-module-card__meta dd{margin:0;color:var(--text);font-weight:800;overflow-wrap:anywhere}
.studio-module-card__meta code{white-space:normal;overflow-wrap:anywhere}
.studio-module-toggle-form{display:grid;gap:9px;padding:12px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:rgba(248,250,252,.9)}
.studio-module-switch{display:flex;align-items:center;gap:10px;min-width:0;font-weight:900;cursor:pointer}
.studio-module-switch input{position:absolute;opacity:0;pointer-events:none}
.studio-module-switch__slider{width:46px;height:26px;border-radius:999px;background:rgba(100,116,139,.35);position:relative;flex:0 0 auto;transition:background .16s ease}
.studio-module-switch__slider::after{content:"";width:20px;height:20px;border-radius:999px;background:#fff;position:absolute;top:3px;left:3px;box-shadow:0 4px 10px rgba(15,23,42,.22);transition:transform .16s ease}
.studio-module-switch input:checked+.studio-module-switch__slider{background:#17201a}
.studio-module-switch input:checked+.studio-module-switch__slider::after{transform:translateX(20px)}
.studio-module-switch input:focus-visible+.studio-module-switch__slider{outline:3px solid rgba(49,89,67,.28);outline-offset:3px}
.studio-module-switch__label{overflow-wrap:anywhere}
.studio-module-toggle-form__password{display:grid;gap:4px;margin:0;color:var(--muted);font-size:12px;font-weight:900}
.studio-module-toggle-form__password input{min-height:38px;border:1px solid rgba(148,163,184,.35);border-radius:10px;padding:8px 10px}
.studio-module-toggle-note{margin:0;color:var(--muted);font-size:13px;font-weight:750}
.studio-module-manager-hero{display:grid;gap:12px}
.studio-module-manager-meta{display:flex;flex-wrap:wrap;gap:8px}
.studio-module-manager-meta span{display:inline-flex;align-items:center;border-radius:999px;background:rgba(15,23,42,.06);padding:7px 10px;color:var(--text);font-size:13px;font-weight:850;overflow-wrap:anywhere}
.studio-module-manager-actions{display:flex;flex-wrap:wrap;gap:8px}
.studio-module-manager-panel{display:grid;gap:14px;margin-bottom:16px}
.studio-module-toggle-form--manager{max-width:620px}
.studio-module-manager-panel .settings-section__header{margin:0}
.studio-module-manager-panel .settings-section__header h2{margin:.12rem 0}
.studio-module-manager-panel .settings-section__header .muted{margin:.2rem 0 0}
.studio-module-manager-panel .studio-module-toggle-form--manager{grid-template-columns:minmax(0,1.1fr) minmax(180px,.9fr) auto;align-items:end;max-width:none;padding:10px;gap:10px}
.studio-module-manager-panel .studio-module-toggle-form--manager .studio-module-switch{min-height:38px}
.studio-module-manager-panel .studio-module-toggle-form--manager .btn{min-height:38px;padding:8px 12px}
.studio-pos-mirror-card{gap:18px}
.studio-pos-mirror-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.studio-pos-mirror-summary article{min-width:0;padding:14px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.studio-pos-mirror-summary span{display:block;color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.studio-pos-mirror-summary strong{display:block;margin-top:6px;color:var(--text);font-size:20px;line-height:1.15;overflow-wrap:anywhere}
.studio-pos-readiness-bar{height:8px;margin-top:10px;overflow:hidden;border-radius:999px;background:#e5e7eb}
.studio-pos-readiness-bar span{display:block;height:100%;border-radius:inherit;background:#315943}
.studio-pos-mirror-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.studio-pos-mirror-details div{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:10px;align-items:center;min-width:0;padding:10px 12px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#fbf8f3}
.studio-pos-mirror-details dt{color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.studio-pos-mirror-details dd{margin:0;color:var(--text);font-weight:800;overflow-wrap:anywhere}
.studio-pos-readiness-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}
.studio-pos-readiness-heading h3{margin:0;font-size:18px}
.studio-pos-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.studio-pos-check-grid article{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:10px 12px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#fff}
.studio-pos-check-grid article>span{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-weight:950}
.studio-pos-check-grid article.is-ready>span{background:var(--success-bg);color:var(--success)}
.studio-pos-check-grid article.needs-setup>span{background:var(--warning-bg);color:var(--warning)}
.studio-pos-check-grid strong{display:block;color:var(--text);line-height:1.25;overflow-wrap:anywhere}
.studio-pos-check-grid small{display:block;margin-top:3px;color:var(--muted);font-weight:800}
.studio-module-manager-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.studio-message-review-panel{gap:16px}
.studio-message-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.studio-message-review-header h2,.studio-message-review-header p{margin:0}
.studio-message-review-header .eyebrow{margin-bottom:4px}
.studio-message-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.studio-message-table{width:100%;border-collapse:separate;border-spacing:0 9px}
.studio-message-table th{text-align:left;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;white-space:nowrap}
.studio-message-row{background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.studio-message-row:hover{cursor:pointer}
.studio-message-row td{padding:12px 10px;border-top:1px solid rgba(148,163,184,.22);border-bottom:1px solid rgba(148,163,184,.22);vertical-align:top;font-weight:750;overflow-wrap:anywhere}
.studio-message-row td:first-child{border-left:1px solid rgba(148,163,184,.22);border-top-left-radius:14px;border-bottom-left-radius:14px}
.studio-message-row td:last-child{border-right:1px solid rgba(148,163,184,.22);border-top-right-radius:14px;border-bottom-right-radius:14px}
.studio-message-preview{display:block;max-width:34rem;color:#334155;font-weight:750;overflow-wrap:anywhere}
.studio-message-detail-row td{padding:0;border:0}
.studio-message-detail-panel{display:grid;gap:14px;margin:0 0 10px;padding:16px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:rgba(248,250,252,.95)}
.studio-message-detail-panel__message{padding:14px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:#fff}
.studio-message-detail-panel__message h4{margin:0;color:#111827}
.studio-message-detail-panel__message p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#334155;font-weight:700;line-height:1.55}
.studio-message-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.studio-message-detail-meta div{min-width:0}
.studio-message-detail-meta dt{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.studio-message-detail-meta dd{margin:3px 0 0;color:#111827;font-weight:800;overflow-wrap:anywhere}
.studio-message-empty-state{margin:0;padding:16px;border:1px dashed rgba(148,163,184,.45);border-radius:16px;background:rgba(248,250,252,.75);color:#64748b;font-weight:800}
.studio-message-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#64748b;font-weight:850}
@media(max-width:900px){.studio-message-review-header{display:grid}.studio-message-detail-meta{grid-template-columns:1fr}.studio-message-table{min-width:760px}}
.studio-control-summary .metric-card strong{font-size:28px}
.studio-control-section{margin-bottom:18px;scroll-margin-top:18px}
.studio-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.studio-feature-card{display:flex;flex-direction:column;gap:10px;min-height:250px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fbf8f3);padding:18px;box-shadow:0 12px 34px rgba(42,49,42,.07)}
.studio-feature-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.studio-feature-marker{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#17201a;color:#fff;font-weight:950;font-size:13px}
.studio-feature-card h3{margin:0;font-size:18px;line-height:1.2}
.studio-feature-card p{margin:0;color:var(--muted);font-size:14px}
.studio-feature-card .btn{margin-top:auto;width:max-content;max-width:100%;min-height:38px;padding:9px 12px;font-size:13px}
.studio-control-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.studio-control-mini-grid span{display:block;border:1px solid var(--line);border-radius:14px;background:#fbf8f3;padding:14px;color:var(--muted);font-weight:800}
.studio-control-mini-grid strong{display:block;margin-top:4px;color:var(--text)}
.studio-control-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.studio-scaffold-section{background:linear-gradient(180deg,#fff,#fbf8f3)}
.studio-scaffold-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.studio-scaffold-card{display:flex;flex-direction:column;gap:12px;min-width:0;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;box-shadow:0 12px 34px rgba(42,49,42,.06)}
.studio-scaffold-card h3{margin:0;font-size:20px;line-height:1.2}
.studio-scaffold-card p{margin:0;color:var(--muted)}
.studio-scaffold-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}
.studio-scaffold-list li{border:1px solid #e7ddcf;border-radius:999px;background:#fbf8f3;padding:7px 10px;color:var(--muted);font-size:12px;font-weight:850}
.studio-scaffold-note{margin-top:auto!important;border-top:1px solid var(--line);padding-top:12px;font-weight:850}
.btn.is-disabled,.btn:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.7)}
.studio-working-section{scroll-margin-top:18px}
.studio-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.studio-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 16px}
.studio-toggle-card{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:12px;align-items:center;min-height:132px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;cursor:pointer;box-shadow:0 10px 28px rgba(42,49,42,.05)}
.studio-toggle-card:hover{border-color:#cdbfad;box-shadow:0 14px 34px rgba(42,49,42,.08)}
.studio-toggle-card input{position:absolute;opacity:0;pointer-events:none}
.studio-toggle-card__body{display:grid;gap:5px;min-width:0}
.studio-toggle-card__body strong{font-size:16px;line-height:1.2;color:var(--text)}
.studio-toggle-card__body small{color:var(--muted);font-weight:700;line-height:1.35}
.studio-toggle-card__switch{position:relative;width:48px;height:28px;border-radius:999px;background:#d8d1c6;transition:background .16s ease}
.studio-toggle-card__switch::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.16);transition:transform .16s ease}
.studio-toggle-card input:checked~.studio-toggle-card__switch{background:var(--brand)}
.studio-toggle-card input:checked~.studio-toggle-card__switch::after{transform:translateX(20px)}
.studio-toggle-card input:focus-visible~.studio-toggle-card__switch{outline:3px solid rgba(49,89,67,.28);outline-offset:3px}
.studio-toggle-card .status-badge{grid-column:1/-1;width:max-content;max-width:100%}
.studio-data-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.studio-data-list article{border:1px solid var(--line);border-radius:14px;background:#fbf8f3;padding:14px;min-width:0}
.studio-data-list article strong{display:block;margin-bottom:6px}
.studio-data-list article p{margin:6px 0 0;color:var(--muted);word-break:break-word}
.studio-field-label{display:inline-flex;align-items:center;gap:2px}
.readonly-field{border:1px solid var(--line);border-radius:14px;background:#fbf8f3;padding:13px 14px;min-height:86px}
.readonly-field strong,.readonly-field span,.readonly-field small{display:block}
.readonly-field span{margin-top:6px;font-weight:900}
.readonly-field small{margin-top:5px;color:var(--muted);line-height:1.4}
.studio-profile-contact-row{display:grid;gap:14px;margin-bottom:14px}
.studio-profile-contact-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.studio-profile-contact-row--full{grid-template-columns:1fr}
.studio-profile-contact-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.studio-address-help{margin:-6px 0 14px;color:var(--muted);font-size:13px;font-weight:750}
.studio-address-api-note{margin:0 0 14px}
.studio-profile-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.studio-profile-edit-main{display:grid;gap:18px;min-width:0}
.studio-profile-edit-side{display:grid;gap:18px;position:sticky;top:18px}
.studio-profile-actions{display:flex;gap:10px;flex-wrap:wrap}
.studio-profile-page{gap:18px}
.studio-profile-quick-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-profile-quick-nav a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center;min-height:98px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--text);box-shadow:var(--shadow-soft);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.studio-profile-quick-nav a:hover{border-color:#bfd4c4;box-shadow:0 14px 34px rgba(42,49,42,.09);transform:translateY(-1px)}
.studio-profile-quick-nav span{grid-row:1/3;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;background:#17201a;color:#fff;font-weight:950}
.studio-profile-quick-nav strong{font-size:17px;line-height:1.2}
.studio-profile-quick-nav small{color:var(--muted);font-weight:750;line-height:1.35}
.studio-profile-section{scroll-margin-top:18px}
.profile-photo-card{display:grid;grid-template-columns:1fr;gap:0;padding:0!important;overflow:hidden;border-color:rgba(49,89,67,.18);background:#fff}
.profile-photo-card__identity{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;min-width:0;padding:28px 30px;border:0;border-bottom:1px solid rgba(148,163,184,.22);background:linear-gradient(135deg,#fff 0%,#f5faf6 56%,#eef5ef 100%);color:var(--text);overflow:hidden}
.profile-photo-card__identity:before{content:"";position:absolute;right:-82px;top:-98px;width:260px;height:260px;border-radius:50%;background:rgba(49,89,67,.08);pointer-events:none}
.profile-photo-card__preview,.profile-photo-card__intro{position:relative;z-index:1}
.profile-photo-card__preview{display:grid;place-items:center;width:132px;height:132px;aspect-ratio:1;border-radius:50%;padding:5px;background:#fff;box-shadow:0 0 0 1px rgba(148,163,184,.22),0 18px 44px rgba(15,23,42,.16);overflow:hidden}
.profile-photo-card__preview>*{border-radius:50%!important}
.profile-photo-card__avatar,.profile-photo-card__image{display:grid;width:100%;height:100%;aspect-ratio:1;border-radius:50%;overflow:hidden}
.profile-photo-card__avatar{place-items:center;background:linear-gradient(145deg,var(--brand),#17281c);color:#fff;font-size:44px;font-weight:950;letter-spacing:0}
.profile-photo-card__image{display:block;object-fit:cover;object-position:center;background:#e2e8f0}
.profile-photo-card__avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}
.profile-photo-card__intro{display:grid;gap:7px;min-width:0;align-content:center}
.profile-photo-card__intro .eyebrow{margin:0;color:var(--brand)}
.profile-photo-card__intro h2{margin:0;color:var(--text);font-size:clamp(30px,4vw,46px);line-height:1.03;overflow-wrap:anywhere}
.profile-photo-card__email{margin:0;color:var(--muted);font-size:14px;font-weight:800;overflow-wrap:anywhere}
.profile-photo-card__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.profile-photo-card__badges .status-badge{width:max-content;max-width:100%}
.profile-photo-card__content{display:grid;grid-template-columns:minmax(220px,.74fr) minmax(0,1fr);align-content:start;gap:22px;min-width:0;padding:24px 30px 30px;border:0;background:#fff}
.profile-photo-card__heading{display:grid;gap:4px;align-content:start}
.profile-photo-card__heading .eyebrow{margin:0;color:var(--brand)}
.profile-photo-card__heading h3{margin:0;color:var(--text);font-size:24px;line-height:1.12}
.profile-photo-card__heading .muted{max-width:68ch;margin:4px 0 0;line-height:1.5}
.profile-photo-card__forms{display:grid;gap:12px;min-width:0}
.profile-photo-upload-form{display:grid;gap:12px;margin:0;min-width:0}
.profile-photo-upload-zone{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;min-height:98px;padding:16px;border:1px dashed rgba(100,116,139,.5);border-radius:18px;background:linear-gradient(180deg,#f8fafc,#fff);cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.profile-photo-upload-zone:hover,.profile-photo-upload-zone:focus-within{transform:translateY(-1px);border-color:rgba(49,89,67,.58);background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.08)}
.profile-photo-upload-zone__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:999px;background:rgba(49,89,67,.1);color:var(--brand);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:0}
.profile-photo-upload-zone__copy{display:grid;gap:3px;min-width:0}
.profile-photo-upload-zone__copy strong{color:var(--text);font-size:15px;line-height:1.2}
.profile-photo-upload-zone__copy small{color:var(--muted);font-size:13px;line-height:1.35;font-weight:750}
.profile-photo-upload-zone__input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.profile-photo-upload-zone__input:focus-visible~.profile-photo-upload-zone__button{box-shadow:0 0 0 3px rgba(49,89,67,.18)}
.profile-photo-upload-selection{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid rgba(148,163,184,.26);border-radius:16px;background:rgba(248,250,252,.92)}
.profile-photo-upload-selection[hidden],.profile-photo-upload-error[hidden]{display:none}
.profile-photo-upload-selection__preview{width:56px;height:56px;aspect-ratio:1;overflow:hidden;border-radius:50%;background:#e2e8f0}
.profile-photo-upload-selection__preview img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}
.profile-photo-upload-selection__details{display:grid;gap:3px;min-width:0}
.profile-photo-upload-selection__details strong,.profile-photo-upload-selection__details small{overflow-wrap:anywhere}
.profile-photo-upload-selection__details strong{color:var(--text);font-size:14px}
.profile-photo-upload-selection__details small{color:var(--muted);font-size:13px;font-weight:800}
.profile-photo-upload-error{margin:0;padding:12px 14px;border-radius:14px;background:rgba(254,242,242,.96);color:#991b1b;font-size:14px;font-weight:850}
.profile-photo-card__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.profile-photo-remove-form{margin:0;display:flex;justify-content:flex-end}
.profile-photo-remove-form .btn{min-height:40px}
@media (max-width:900px){
  .profile-photo-card__content{grid-template-columns:1fr}
}
.studio-profile-settings-form{display:grid;gap:16px}
.studio-profile-settings-group{min-width:0;margin:0;padding:16px;border:1px solid rgba(148,163,184,.24);border-radius:18px;background:linear-gradient(180deg,#fff,#fbf8f3)}
.studio-profile-settings-group legend{display:grid;gap:3px;width:100%;padding:0 0 12px;margin:0 0 4px;border-bottom:1px solid rgba(148,163,184,.22)}
.studio-profile-settings-group legend strong{color:var(--text);font-size:18px;line-height:1.2}
.studio-profile-settings-group legend small{color:var(--muted);font-size:13px;font-weight:750;line-height:1.4}
.studio-profile-form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.studio-profile-branding-tools{display:grid;gap:16px}
.studio-profile-logo-card{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:center;padding:16px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:#fff}
.studio-profile-logo-preview{display:flex;align-items:center;justify-content:center;width:100%;min-height:172px;aspect-ratio:2.08/1;border:1px solid rgba(255,255,255,.2);border-radius:14px;background-color:#070b09;background-image:linear-gradient(45deg,rgba(255,255,255,.13) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.13) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.13) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.13) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;box-shadow:inset 0 0 0 1px rgba(15,23,42,.24),0 12px 28px rgba(15,23,42,.12);overflow:hidden;color:#f8fafc;font-size:13px;font-weight:850;text-align:center}
.studio-profile-logo-preview img{display:block;width:100%;height:100%;object-fit:contain;padding:8px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.62))}
.studio-profile-logo-card input[type="file"]{margin-bottom:6px}
.studio-profile-colour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-profile-colour-picker{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px 12px;align-items:center;margin:0;padding:14px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:#fff}
.studio-profile-colour-picker span{font-weight:900;color:var(--text)}
.studio-profile-colour-picker input[type="color"]{grid-row:1/3;grid-column:2;width:72px;height:48px;min-height:48px;margin:0;padding:4px;border-radius:14px;cursor:pointer}
.studio-profile-colour-picker small{grid-column:1;color:var(--muted);font-weight:850;text-transform:uppercase}
@media (max-width:720px){
  .studio-profile-quick-nav{grid-template-columns:1fr}
  .studio-profile-quick-nav a{min-height:0;padding:14px}
  .studio-profile-logo-card,.studio-profile-colour-grid{grid-template-columns:1fr}
  .studio-profile-form-actions{justify-content:stretch}
  .studio-profile-form-actions .btn{width:100%}
}
.cookie-banner[hidden],.cookie-modal[hidden]{display:none}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:60;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;max-width:980px;margin:0 auto;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.cookie-banner p{margin:0;color:var(--muted)}
.cookie-banner .eyebrow{margin-bottom:4px;color:var(--brand)}
.cookie-banner__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.cookie-banner__actions .btn{min-height:38px;padding:8px 12px;font-size:13px}
.cookie-modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(22,28,24,.52)}
.cookie-modal__panel{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(17,24,39,.22);padding:22px}
.cookie-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.cookie-modal__header h2{margin:0}
.cookie-modal__close{width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
.cookie-category-list{display:grid;gap:10px;margin:16px 0}
.cookie-category{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--line);border-radius:14px;background:#fbf8f3;padding:13px}
.cookie-category input{width:auto;margin-top:3px}
.cookie-category strong,.cookie-category small{display:block}
.cookie-category small{margin-top:3px;color:var(--muted);font-weight:650;line-height:1.45}
.cookie-modal__actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.admin-page-header.is-compact{padding-top:14px;padding-bottom:14px}
.admin-page-header.is-compact h1{font-size:28px}
.admin-accordion__item{scroll-margin-top:18px}
.admin-accordion__button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:0 0 16px;margin:0 0 18px;text-align:left;font:inherit;font-weight:950;font-size:22px;cursor:pointer}
.admin-accordion__label{display:grid;gap:3px}
.admin-accordion__meta{width:max-content}
.admin-accordion__button:hover{color:var(--brand)}
.admin-accordion__button:focus{outline:2px solid var(--brand);outline-offset:3px;border-radius:10px}
.admin-accordion__button > em{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:30px;border:1px solid var(--line);border-radius:999px;background:#fbf8f3;color:var(--muted);font-size:12px;font-style:normal;font-weight:900;line-height:1;padding:6px 10px;white-space:nowrap}
.admin-accordion__button > em::before{content:"+";margin-right:6px;color:var(--brand);font-weight:950}
.admin-accordion__button[aria-expanded="true"] > em{background:var(--brand);color:#fff;border-color:var(--brand)}
.admin-accordion__button[aria-expanded="true"] > em::before{content:"-";color:#fff}
.admin-accordion__content[hidden]{display:none!important}

.admin-accordion__button[aria-controls="messenger-access-content"] {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  margin: 0;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.96);
  color: #111827;
  font-size: 22px;
  font-weight: 950;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.admin-accordion__button[aria-controls="messenger-access-content"]:hover,
.admin-accordion__button[aria-controls="messenger-access-content"]:focus {
  border-color: rgba(15, 23, 42, 0.22);
  background: #fff;
  color: #111827;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
  outline: none;
}

.admin-accordion__button[aria-controls="messenger-access-content"]:focus-visible {
  outline: 3px solid rgba(49, 89, 67, 0.18);
  outline-offset: 3px;
}

.admin-accordion__button[aria-controls="messenger-access-content"][aria-expanded="true"] {
  border-bottom-left-radius: 0.65rem;
  border-bottom-right-radius: 0.65rem;
}

.admin-accordion__button[aria-controls="messenger-access-content"] > em {
  min-height: 1.75rem;
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #111827;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
  padding: 0.42rem 0.65rem;
  transition: background 160ms ease;
}

.admin-accordion__button[aria-controls="messenger-access-content"][aria-expanded="true"] > em {
  background: rgba(15, 23, 42, 0.1);
  color: #111827;
}

#messenger-access-content {
  margin-top: 0.65rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.86);
}

#messenger-access-content .profile-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0.8rem;
}

#messenger-access-content .profile-grid div {
  padding: 0.7rem;
  border-radius: 0.8rem;
  background: #fff;
}

#messenger-access-content .admin-form {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

#messenger-access-content input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  margin: 0;
  accent-color: #111827;
  cursor: pointer;
}

#messenger-access-content .inline-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.25rem;
  width: fit-content;
  max-width: 100%;
  line-height: 1.35;
  cursor: pointer;
}

#messenger-access-content label:not(.inline-checkbox) {
  display: grid;
  gap: 0.4rem;
  line-height: 1.35;
}

#messenger-access-content input[type="datetime-local"] {
  max-width: 18rem;
}

#messenger-access-content .admin-section-save {
  margin: 0;
}

.user-profile-section.admin-accordion__item {
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 1.05rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.user-profile-section.admin-accordion__item > .admin-accordion__button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  margin: 0;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.96);
  color: #111827;
  font-size: 22px;
  font-weight: 950;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.user-profile-section.admin-accordion__item > .admin-accordion__button:hover,
.user-profile-section.admin-accordion__item > .admin-accordion__button:focus {
  border-color: rgba(15, 23, 42, 0.22);
  background: #fff;
  color: #111827;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
  outline: none;
}

.user-profile-section.admin-accordion__item > .admin-accordion__button:focus-visible {
  outline: 3px solid rgba(49, 89, 67, 0.18);
  outline-offset: 3px;
}

.user-profile-section.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] {
  border-bottom-left-radius: 0.65rem;
  border-bottom-right-radius: 0.65rem;
}

.user-profile-section.admin-accordion__item > .admin-accordion__button > em {
  min-height: 1.75rem;
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #111827;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
  padding: 0.42rem 0.65rem;
  transition: background 160ms ease;
}

.user-profile-section.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: rgba(15, 23, 42, 0.1);
  color: #111827;
}

.user-profile-section.admin-accordion__item > .admin-accordion__content {
  margin-top: 0.65rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.86);
}

.admin-accordion__item > .admin-accordion__button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  margin: 0;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.96);
  color: #111827;
  font-size: 22px;
  font-weight: 950;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.admin-accordion__item > .admin-accordion__button:hover,
.admin-accordion__item > .admin-accordion__button:focus {
  border-color: rgba(15, 23, 42, 0.22);
  background: #fff;
  color: #111827;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
  outline: none;
}

.admin-accordion__item > .admin-accordion__button:focus-visible {
  outline: 3px solid rgba(49, 89, 67, 0.18);
  outline-offset: 3px;
}

.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] {
  border-bottom-left-radius: 0.65rem;
  border-bottom-right-radius: 0.65rem;
}

.admin-accordion__item > .admin-accordion__button > em {
  min-height: 1.75rem;
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #111827;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
  padding: 0.42rem 0.65rem;
  transition: background 160ms ease;
}

.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: rgba(15, 23, 42, 0.1);
  color: #111827;
}

.admin-accordion__item > .admin-accordion__content {
  margin-top: 0.65rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.86);
}

.admin-card.admin-accordion__item,
.settings-section.admin-accordion__item,
.studio-control-section.admin-accordion__item {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.admin-card.admin-accordion__item + .admin-card.admin-accordion__item,
.settings-section.admin-accordion__item + .settings-section.admin-accordion__item,
.studio-control-section.admin-accordion__item + .studio-control-section.admin-accordion__item {
  margin-top: 1rem;
}

.admin-accordion__content .admin-form {
  display: grid;
  gap: 0.85rem;
  margin: 0;
}

.admin-accordion__content .profile-grid {
  margin: 0 0 1rem;
}

.admin-accordion__content .inline-checkbox {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.25rem;
  line-height: 1.35;
  cursor: pointer;
}

.admin-accordion__content .inline-checkbox input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  margin: 0;
  accent-color: #111827;
  cursor: pointer;
}

.admin-accordion__content .admin-section-save {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.25rem;
}
.admin-section-status{margin:0 0 14px}
.admin-section-save{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.admin-section-save .btn{min-height:42px}
/* Stage 2 module cards keep admin features discoverable without changing existing workflows. */
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.subscription-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.subscription-section-header h2{margin:0 0 5px}
.subscription-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.subscription-summary-grid .metric-card{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:72px;padding:13px 14px;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 8px 20px rgba(15,23,42,.045)}
.subscription-summary-grid .metric-card span{font-size:12px;line-height:1.25}
.subscription-summary-grid .metric-card strong{margin:0;font-size:24px;line-height:1}
.subscription-plan-grid,.subscription-studio-list{display:grid;gap:16px}
.subscription-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.subscription-plan-card,.subscription-studio-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.subscription-readiness-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.subscription-readiness-item{display:grid;align-content:start;gap:8px;min-width:0;padding:14px;border:1px solid #e5e7eb;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 8px 20px rgba(15,23,42,.04)}
.subscription-readiness-item strong{color:#111827;font-size:14px;line-height:1.2}
.subscription-readiness-item small{color:#64748b;font-size:12px;font-weight:700;line-height:1.45}
.subscription-readiness-item .status-badge{justify-self:start}
.subscription-plan-card--link{display:block;color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.subscription-plan-card--link:hover,.subscription-plan-card--link:focus-visible{transform:translateY(-2px);border-color:#cbd5e1;box-shadow:0 14px 30px rgba(15,23,42,.08);outline:none}
.subscription-plan-card__summary{list-style:none;cursor:pointer}
.subscription-plan-card__summary::-webkit-details-marker{display:none}
.subscription-plan-card h3,.subscription-studio-card h3{margin:0}
.subscription-plan-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.subscription-plan-meta span,.subscription-current span{display:block}
.subscription-plan-meta strong{display:block;color:#111827}
.subscription-plan-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.subscription-plan-card__edit-hint{display:inline-flex;margin-top:8px;color:#4f46e5;font-weight:700}
.subscription-plan-edit-form{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}
.subscription-plan-edit-checks{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.subscription-plan-module-section{margin:18px 0;padding:18px;border:1px solid #e5e7eb;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 14px 34px rgba(15,23,42,.04)}
.subscription-plan-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.subscription-plan-module-card{display:flex;align-items:center;gap:10px;margin:0;padding:10px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.035);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}
.subscription-plan-module-card:hover,.subscription-plan-module-card:focus-within{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 10px 22px rgba(15,23,42,.06)}
.subscription-plan-module-card input{width:14px;height:14px;margin:0;accent-color:#315943;flex:0 0 auto}
.subscription-plan-module-card__name{display:inline-flex;flex-direction:column;align-items:flex-start;min-width:0;color:#0f172a;font-weight:850;line-height:1.2}
.subscription-plan-module-card__name small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:800}
.subscription-plan-module-help{width:16px;height:16px;margin-left:6px;font-size:10px}
.subscription-plan-module-card:has(input:checked){border-color:#86efac;background:#f0fdf4}
.subscription-studio-card__summary{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.subscription-current{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.subscription-studio-card--compact{display:grid;gap:12px}
.subscription-studio-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #eef2f7;border-radius:12px;background:#f8fafc}
.subscription-studio-overview span{display:block;color:#4b5563;font-size:13px}
.subscription-studio-overview strong{display:block;color:#111827;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.subscription-assignment-form{margin-top:10px}
.subscription-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.subscription-control-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.email-builder-shell{container-type:inline-size}
.email-builder-page-toolbar{position:sticky;top:0;z-index:8;display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(42,49,42,.07);backdrop-filter:blur(12px)}
.email-builder-page-toolbar strong,.email-builder-page-toolbar span{display:block}
.email-builder-page-toolbar__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.email-builder-page-toolbar__actions .btn{min-height:36px;padding:8px 12px;font-size:13px}
.email-builder-layout{display:grid;grid-template-columns:minmax(210px,240px) minmax(0,1fr) minmax(250px,300px);gap:12px;align-items:start}
.email-template-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.email-template-stats article{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px}
.email-template-stats strong{display:block;font-size:24px;color:#111827}
.email-template-stats span{display:block;margin-top:2px;color:#6b7280;font-size:13px}
.email-builder-list,.email-builder-help{position:sticky;top:68px;max-height:calc(100vh - 86px);overflow:auto}
.email-builder-panel{min-width:0;transition:padding .18s ease}
.email-builder-panel-actions,.email-builder-help__header{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.email-builder-panel-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;min-width:34px;height:34px;border:1px solid #d8d0c5;border-radius:999px;background:#fff;color:var(--text);font-size:12px;font-weight:900;line-height:1;cursor:pointer;padding:0 10px}
.email-builder-panel-toggle span[aria-hidden="true"]{font-size:20px;line-height:.8}
.email-builder-panel-toggle:hover{background:var(--soft);border-color:#bfd4c4}
.email-builder-list__header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #edf0f3}
.email-builder-list__header h3,.email-builder-help h3{margin-top:0}
.email-builder-list__title{min-width:0}
.email-builder-list__title h3{display:flex;align-items:center;gap:8px;margin:0}
.email-builder-list__count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:999px;background:#111827;color:#fff;font-size:12px;font-weight:900;padding:0 8px}
.email-builder-list__meta{margin:4px 0 0;color:#6b7280;font-size:12px;font-weight:750}
.email-builder-new-template{min-height:34px;padding:8px 10px;font-size:12px;white-space:nowrap}
.email-template-filters{display:grid;gap:10px;margin-bottom:14px}
.email-template-filters--panel{padding:10px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}
.email-template-filters--panel label{margin:0}
.email-template-filters--panel label span{display:block;margin:0 0 5px;color:#4b5563;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.email-template-filters--panel input,.email-template-filters--panel select{min-height:36px;font-size:13px;background:#fff}
.email-template-filter-grid{display:grid;gap:8px}
.email-template-filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.email-template-filter-actions .btn{width:100%;justify-content:center;min-height:36px;padding:7px 9px;font-size:12px}
.email-template-list-summary{margin:0 0 8px;color:#6b7280;font-size:12px;font-weight:800}
.email-template-list-cards{display:grid;gap:9px}
.email-template-list-card{display:grid;gap:6px;padding:11px;border:1px solid #e5e7eb;border-radius:12px;text-decoration:none;color:inherit;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}
.email-template-list-card:hover{border-color:#bfd4c4;background:#fbfefb;box-shadow:0 8px 18px rgba(15,23,42,.07);transform:translateY(-1px)}
.email-template-list-card.is-active{border-color:#111827;background:#f8fafc;box-shadow:0 0 0 2px rgba(17,24,39,.08),0 10px 22px rgba(15,23,42,.08)}
.email-template-list-card.is-deactivated{opacity:.78}
.email-template-list-card__title{display:block;color:#111827;font-size:14px;font-weight:900;line-height:1.25;overflow:hidden;text-overflow:ellipsis}
.email-template-list-card__key{display:block;color:#6b7280;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.email-template-list-card__badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:1px}
.email-template-list-card__badges .template-badge{font-size:10.5px;padding:3px 7px}
.email-template-list-card__footer{display:grid;gap:3px;color:#6b7280;font-size:11.5px;font-weight:700;line-height:1.35}
.email-template-list-card__footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.email-template-empty-state{margin:10px 0 0;padding:12px;border:1px dashed #d1d5db;border-radius:12px;background:#fff;color:#6b7280;font-size:13px;text-align:center}
.email-builder-main{min-width:0}
.email-builder-main .admin-form{display:grid;gap:12px}
.email-builder-main .form-grid{gap:12px}
.email-builder-main label{margin-top:0}
.email-template-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.template-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;color:#374151;font-size:12px;font-weight:800;padding:4px 9px;white-space:nowrap}
.template-badge--builder{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.template-badge--legacy{border-color:#fed7aa;background:#fff7ed;color:#c2410c}
.template-badge--active{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.template-badge--deactivated{border-color:#e5e7eb;background:#f3f4f6;color:#4b5563}
.template-badge--system{border-color:#c7d2fe;background:#eef2ff;color:#3730a3}
.template-badge--custom{border-color:#e5e7eb;background:#fff;color:#374151}
.btn-warning{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.used-by-list{margin:8px 0 18px;padding-left:18px;color:#374151}
.used-by-chip{display:inline-block;margin:2px 4px 2px 0;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:750;padding:4px 8px}
.email-builder-canvas{border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:14px;margin:8px 0}
.email-builder-canvas--official{padding:0;overflow:hidden;background:#fff}
.email-builder-embed-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 14px;border-bottom:1px solid #e5e7eb;background:#f8fafc}
.email-builder-embed-header h3{margin:0 0 4px}
.email-builder-official-frame{display:block;width:100%;height:calc(100vh - 228px);min-height:820px;border:0;background:#fff}
.email-builder-canvas--official>.muted{padding:10px 14px;margin:0;border-top:1px solid #e5e7eb;background:#fff;font-size:13px}
.email-builder-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.email-builder-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,40%);gap:14px}
.email-builder-blocks{display:grid;gap:12px}
.email-builder-block{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}
.email-builder-block header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.email-builder-block header span{display:flex;gap:6px;flex-wrap:wrap}
.email-builder-block header button{border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:5px 8px;cursor:pointer}
.email-builder-block label{display:grid;gap:6px;margin-top:10px}
.email-builder-block input,.email-builder-block textarea,.email-builder-block select,.email-template-filters input,.email-template-filters select,.email-builder-test-row input{width:100%}
.email-builder-spacing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.email-builder-preview{width:100%;min-height:460px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.email-builder-test-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.email-builder-help .merge-tags{display:flex;flex-wrap:wrap;gap:8px}
.email-merge-tags-panel{margin-top:18px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:14px}
.email-merge-tags-panel__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.email-merge-tags-panel__header h3{margin:0 0 4px}
.email-merge-tags-search{display:grid;gap:6px;margin:12px 0 10px;font-size:13px;font-weight:800;color:#374151}
.email-merge-tags-search input{width:100%;min-height:38px}
.email-merge-tag-contexts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.merge-tag-context-filter{border:1px solid #e5e7eb;border-radius:999px;background:#f9fafb;color:#374151;padding:6px 9px;font-size:12px;font-weight:800;cursor:pointer}
.merge-tag-context-filter.is-active,.merge-tag-context-filter:hover{border-color:#111827;background:#111827;color:#fff}
.email-merge-tag-status{min-height:18px;margin:0 0 8px;color:#166534;font-size:12px;font-weight:800}
.email-merge-tags-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:2px}
.email-merge-tag-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}
.email-merge-tag-card.is-hidden{display:none}
.email-merge-tag-card code{display:inline-block;margin-bottom:6px;background:#eef2ff;border-color:#c7d2fe;color:#3730a3;font-weight:900}
.email-merge-tag-card strong{display:block;color:#111827;font-size:13px}
.email-merge-tag-card p{margin:4px 0 8px;color:#4b5563;font-size:13px;line-height:1.45}
.email-merge-tag-card__contexts{display:flex;flex-wrap:wrap;gap:5px}
.email-merge-tag-card__contexts span{border-radius:999px;background:#fff;border:1px solid #e5e7eb;color:#6b7280;font-size:11px;font-weight:800;padding:3px 7px}
.email-merge-tag-card__contexts span.is-working{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.email-merge-tag-card__actions{display:grid;gap:6px;align-content:start}
.email-merge-tag-card__actions .btn{min-height:32px;padding:6px 9px;font-size:12px}
.email-template-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.email-template-targets .settings-checkbox{margin:0;padding:9px 10px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;font-size:13px}
.email-template-target-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.email-template-target-presets .btn{min-height:32px;padding:6px 9px;font-size:12px}
.email-template-status-control{padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}
.email-template-status-control label{margin:0}
.email-template-status-control select{margin-top:6px}
.email-template-status-control .muted{margin:8px 0 0;font-size:13px}
.settings-static-field{min-height:44px;margin:8px 0 16px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;color:#374151;font-weight:800}
.template-detail-list{display:grid;gap:8px;margin:8px 0 18px}
.template-detail-list span{display:block;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;padding:10px;color:#374151}
.template-detail-list strong{display:block;margin-bottom:2px;color:#111827;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.email-template-saved{margin-top:20px}
.email-template-saved__header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.email-template-saved__header h3{margin:0 0 6px}
.email-template-saved__header .btn{flex:0 0 auto}
.email-template-saved__content{display:block}
.email-template-saved-filters{display:grid;grid-template-columns:minmax(190px,1.45fr) repeat(4,minmax(130px,1fr));gap:10px;align-items:end;margin:0 0 12px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}
.email-template-saved-filters label{margin:0;font-size:12px;color:#4b5563;font-weight:700}
.email-template-saved-filters input,.email-template-saved-filters select{margin-top:5px;min-height:38px;font-size:13px}
.email-template-saved-filters__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.email-template-saved-summary{margin:0 0 12px;color:#4b5563;font-size:13px}
.email-template-table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.email-template-table{width:100%;border-collapse:collapse;min-width:1220px}
.email-template-table th,.email-template-table td{padding:12px 14px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}
.email-template-table th{background:#f8fafc;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.email-template-table td strong,.email-template-table td span,.email-template-table td small{display:block}
.email-template-table td small{margin-top:4px;color:#6b7280;max-width:360px}
.email-template-table .template-badge,.email-template-table .used-by-chip{display:inline-flex;margin:2px 4px 2px 0}
.email-template-actions{display:flex;flex-wrap:wrap;gap:8px}
.email-builder-shell.is-left-collapsed .email-builder-layout{grid-template-columns:56px minmax(0,1fr) minmax(250px,300px)}
.email-builder-shell.is-right-collapsed .email-builder-layout{grid-template-columns:minmax(210px,240px) minmax(0,1fr) 56px}
.email-builder-shell.is-left-collapsed.is-right-collapsed .email-builder-layout{grid-template-columns:56px minmax(0,1fr) 56px}
.email-builder-shell.is-left-collapsed .email-builder-list,
.email-builder-shell.is-right-collapsed .email-builder-help{padding:10px;overflow:hidden}
.email-builder-shell.is-left-collapsed .email-builder-list__body,
.email-builder-shell.is-left-collapsed .email-builder-list__title,
.email-builder-shell.is-left-collapsed .email-builder-new-template,
.email-builder-shell.is-right-collapsed .email-builder-help__body,
.email-builder-shell.is-right-collapsed .email-builder-help__header .status-badge{display:none}
.email-builder-shell.is-left-collapsed .email-builder-panel-toggle,
.email-builder-shell.is-right-collapsed .email-builder-panel-toggle{width:34px;padding:0}
.email-builder-shell.is-left-collapsed .email-builder-panel-toggle span:not([aria-hidden="true"]),
.email-builder-shell.is-right-collapsed .email-builder-panel-toggle span:not([aria-hidden="true"]){display:none}
.email-builder-shell.is-left-collapsed .email-builder-list__header,
.email-builder-shell.is-right-collapsed .email-builder-help__header{justify-content:center;margin:0}
.email-builder-shell.is-focus-mode .email-builder-page-toolbar{position:sticky}
.email-builder-shell.is-focus-mode .email-builder-layout{grid-template-columns:minmax(0,1fr)}
.email-builder-shell.is-focus-mode .email-builder-list,
.email-builder-shell.is-focus-mode .email-builder-help,
.email-builder-shell.is-focus-mode .email-template-saved,
.email-builder-shell.is-focus-mode .email-template-stats{display:none}
.email-builder-shell.is-focus-mode .email-builder-official-frame{height:calc(100vh - 150px);min-height:900px}
.email-builder-shell.is-saved-collapsed .email-template-saved__content{display:none}
.merge-tag-copy{border:0;background:transparent;padding:0;cursor:pointer}
.email-preview{margin-top:16px}
.module-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff}
.module-card h3{margin:0 0 8px}
.module-card p,.muted{color:var(--muted)}
.security-hero{align-items:center;border-color:rgba(49,89,67,.16);background:linear-gradient(135deg,#fff 0%,#f8fafc 52%,#f0fdf4 100%);box-shadow:0 18px 46px rgba(15,23,42,.07)}
.security-hero__badges{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.security-readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.security-readiness-grid article{display:grid;gap:7px;min-width:0;padding:16px;border:1px solid rgba(148,163,184,.24);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.045)}
.security-readiness-grid span{color:var(--muted);font-size:12px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.security-readiness-grid strong{color:var(--text);font-size:clamp(24px,3vw,34px);line-height:1.05}
.security-readiness-grid small{color:var(--muted);font-weight:750;line-height:1.35}
.security-page{gap:18px}
.security-page .rms-accordion{border-color:rgba(148,163,184,.26);border-radius:22px;box-shadow:0 18px 48px rgba(15,23,42,.07)}
.security-page .rms-accordion>summary{min-height:78px;background:linear-gradient(180deg,#fff,#fbf8f3)}
.security-page .rms-accordion__body{display:grid;gap:22px;background:#f8fafc}
.security-page .settings-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:4px 0 -4px;padding:16px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.035)}
.security-page .settings-section__header h2{font-size:clamp(20px,2.3vw,28px);line-height:1.15}
.security-page .module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.security-page .module-card{display:grid;gap:12px;align-content:start;min-width:0;border-color:rgba(148,163,184,.24);border-radius:18px;background:linear-gradient(180deg,#fff,#fdfdfc);box-shadow:0 10px 26px rgba(15,23,42,.045)}
.security-page .module-card h3{margin:0;color:var(--text);font-size:18px;line-height:1.2}
.security-page .admin-module-role-card{border-color:rgba(49,89,67,.24);background:linear-gradient(180deg,#fff,#f5fbf7)}
.security-page .settings-checkbox-grid{display:grid;gap:8px;margin:6px 0}
.security-page .subscription-plan-module-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px}
.security-page .subscription-plan-module-card{border-radius:14px;padding:11px 12px;box-shadow:none}
.security-page .subscription-plan-module-card:has(input:checked){border-color:rgba(49,89,67,.35);background:#f0fdf4}
.security-page .module-card>.btn{width:max-content;max-width:100%;margin-top:auto}
.security-page .module-card{position:relative;overflow:hidden}
.security-page .module-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#315943,#14b8a6,#86efac);opacity:.72}
.security-page .module-card .status-badge{justify-self:start}
.security-page .admin-module-role-card{grid-column:1/-1;padding:22px;border-radius:22px;box-shadow:0 18px 42px rgba(49,89,67,.09)}
.security-page .admin-module-role-card h3{font-size:clamp(22px,2.6vw,30px)}
.security-page .settings-checkbox{position:relative;align-items:center!important;min-height:48px;margin:0!important;padding:12px 14px 12px 48px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:#fff;color:#0f172a;box-shadow:0 8px 18px rgba(15,23,42,.035);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.security-page .settings-checkbox:hover,.security-page .settings-checkbox:focus-within{transform:translateY(-1px);border-color:rgba(49,89,67,.28);box-shadow:0 12px 24px rgba(15,23,42,.06)}
.security-page .settings-checkbox input{position:absolute!important;left:14px;top:50%;width:22px!important;height:22px!important;margin:0!important;transform:translateY(-50%);appearance:none;border:2px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:inset 0 0 0 2px #fff;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.security-page .settings-checkbox input:checked{border-color:#315943;background:#315943;box-shadow:inset 0 0 0 4px #fff}
.security-page .settings-checkbox input:checked::after{content:"";position:absolute;left:5px;top:2px;width:7px;height:12px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.security-page .subscription-plan-module-card{position:relative;align-items:center;min-height:54px;padding:12px 14px 12px 50px;border-color:rgba(148,163,184,.24);background:rgba(255,255,255,.96);box-shadow:0 8px 18px rgba(15,23,42,.035)}
.security-page .subscription-plan-module-card:hover,.security-page .subscription-plan-module-card:focus-within{border-color:rgba(49,89,67,.32);box-shadow:0 14px 28px rgba(15,23,42,.07);transform:translateY(-1px)}
.security-page .subscription-plan-module-card input[type="checkbox"]{position:absolute;left:14px;top:50%;width:22px;height:22px;transform:translateY(-50%);appearance:none;border:2px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:inset 0 0 0 2px #fff;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.security-page .subscription-plan-module-card input[type="checkbox"]:checked{border-color:#315943;background:#315943;box-shadow:inset 0 0 0 4px #fff}
.security-page .subscription-plan-module-card input[type="checkbox"]:checked::after{content:"";position:absolute;left:5px;top:2px;width:7px;height:12px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.security-page .subscription-plan-module-card input[type="checkbox"]:disabled{border-color:#a7f3d0;background:#dcfce7;opacity:1}
.security-page .subscription-plan-module-card input[type="checkbox"]:disabled::after{content:"";position:absolute;left:5px;top:2px;width:7px;height:12px;border:solid #166534;border-width:0 2px 2px 0;transform:rotate(45deg)}
.security-page .subscription-plan-module-card__name{font-size:14px}
.security-page .module-card>.btn,.security-page .module-card button.btn{min-height:44px;padding:11px 16px;border-radius:14px;background:#315943;color:#fff!important;box-shadow:0 12px 26px rgba(49,89,67,.18)}
.security-page .module-card>.btn:hover,.security-page .module-card button.btn:hover{background:#203d2e;box-shadow:0 16px 30px rgba(32,61,46,.22)}
.security-page .module-card>.btn.secondary,.security-page .module-card button.btn.secondary{background:#f0fdf4;border-color:rgba(49,89,67,.24);color:#203d2e!important}
.security-page .module-card>.btn.secondary:hover,.security-page .module-card button.btn.secondary:hover{background:#dcfce7;color:#17201a!important}
.security-page .settings-empty-note{border-radius:16px;background:linear-gradient(180deg,#fff7ed,#fff);border-color:#fed7aa}
@media(max-width:980px){
  .security-hero{grid-template-columns:1fr}
  .security-hero__badges{justify-content:flex-start}
  .security-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .security-readiness-grid{grid-template-columns:1fr}
  .security-page .settings-section__header{display:grid;padding:14px}
  .security-page .rms-accordion__body{padding:14px}
  .security-page .module-card>.btn{width:100%;justify-content:center}
  .security-page .subscription-plan-module-grid{grid-template-columns:1fr}
  .security-page .module-card{border-radius:16px;padding:16px}
  .security-page .admin-module-role-card{padding:18px}
}
.status-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:24px;border:1px solid transparent;border-radius:999px;background:var(--soft);color:var(--brand);font-weight:850;font-size:12px;line-height:1.15;padding:4px 10px;text-align:center}
.status-badge.is-active,.status-badge.is-complete,.status-badge--active,.template-badge--active{background:var(--success-bg);border-color:#bbf7d0;color:var(--success)}
.status-badge.is-warning,.status-badge.is-needs-attention,.status-badge--warning,.status-badge--trial{background:var(--warning-bg);border-color:#fed7aa;color:var(--warning)}
.status-badge.is-danger,.status-badge--danger,.status-badge--deactivated,.template-badge--deactivated{background:var(--danger-bg);border-color:#fecaca;color:var(--danger)}
.status-badge.is-info,.status-badge.is-coming-soon,.status-badge--info,.template-badge--builder{background:var(--info-bg);border-color:#bfdbfe;color:var(--info)}
.status-badge.is-muted,.status-badge.is-not-started,.status-badge.is-optional,.status-badge.is-disabled,.status-badge--muted,.template-badge--legacy{background:#f3f4f6;border-color:#e5e7eb;color:#4b5563}
.module-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.module-tabs a{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text);font-weight:850;padding:9px 13px}
.module-tabs a.is-active,.module-tabs a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.email-form-layout{display:grid;grid-template-columns:minmax(210px,280px) 1fr;gap:18px;align-items:start}
.email-form-list{display:grid;gap:8px;padding:12px}
.email-form-list a{display:grid;gap:3px;border:1px solid var(--line);border-radius:12px;color:var(--text);padding:10px;background:#fff}
.email-form-list a.is-active,.email-form-list a:hover{border-color:var(--brand);background:var(--soft)}
.email-form-list span{color:var(--muted);font-size:12px}
.merge-tags{display:flex;gap:8px;flex-wrap:wrap}
.email-preview{margin-top:16px}
.email-preview pre{white-space:pre-wrap;background:#f8f4ee;border:1px solid var(--line);border-radius:10px;padding:12px}
.email-test-form{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.settings-moved-card{margin-top:16px;background:#fbf8f3}
.cms-sync-checkbox{display:inline-flex;align-items:center;gap:7px;font-weight:850}
.cms-sync-checkbox input{width:auto;margin:0}
/* Stage 3 role tables use code labels heavily, so keep them readable on mobile. */
code{background:#f0ebe3;border:1px solid var(--line);border-radius:7px;padding:2px 6px;white-space:nowrap}
/* Stage 4 media library previews support image, audio and video assets. */
.media-upload-card,.media-library-card{overflow:hidden}
.media-section-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}
.media-section-header h2{margin:0 0 5px}
.media-section-header .muted{margin:0}
.media-filters{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(130px,.75fr) minmax(130px,.75fr) auto;gap:10px;align-items:end;margin:0 0 16px;padding:12px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}
.media-filters label{margin:0;font-size:12px;font-weight:850;color:#4b5563}
.media-filters input,.media-filters select{margin-top:5px;min-height:38px;background:#fff}
.media-filter-actions{display:flex;gap:8px;align-items:center}
.media-filter-actions .btn{min-height:38px;padding:8px 11px;white-space:nowrap}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.media-card{display:grid;grid-template-rows:auto 1fr;border:1px solid #e5e7eb;border-radius:18px;background:#fff;min-width:0;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.media-card__body{display:grid;gap:9px;padding:14px}
.media-card__title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.media-card h3{margin:0;color:#111827;font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.media-card__filename{margin:0;color:#6b7280;font-size:13px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-preview{display:flex;align-items:center;justify-content:center;min-height:190px;background:#f3eee6;overflow:hidden}
.media-preview img,.media-preview video{width:100%;height:220px;object-fit:cover}
.media-preview audio{width:calc(100% - 24px)}
.media-preview__file{display:flex;align-items:center;justify-content:center;width:86px;height:86px;border-radius:18px;background:#fff;border:1px solid #e5e7eb;color:#374151;font-weight:950}
.media-type-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #e5e7eb;background:#f9fafb;color:#374151;font-size:11px;font-weight:900;padding:4px 8px;white-space:nowrap}
.media-type-badge--image{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.media-type-badge--video{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.media-type-badge--audio{border-color:#ddd6fe;background:#f5f3ff;color:#6d28d9}
.media-url-field{display:grid;gap:5px;margin:0;color:#374151;font-size:12px;font-weight:900}
.media-url-field span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.media-url-field input{min-width:0;width:100%;height:38px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;color:#4b5563;font-size:12px;text-overflow:ellipsis}
.media-copy-button{min-height:38px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;font-size:12px;font-weight:900;padding:7px 10px;cursor:pointer}
.media-copy-button:hover{border-color:#111827;background:#111827;color:#fff}
.media-url-help{margin:0;color:#6b7280;font-size:12px}
.media-card__actions{display:flex;gap:8px;flex-wrap:wrap}
.media-card__actions form{display:flex;margin:0}
.media-card__actions .btn{min-height:36px;padding:7px 10px;font-size:12px}
.media-card__uploaded{margin:2px 0 0;color:#6b7280;font-size:12px}
.media-empty-state{margin:0;padding:28px;border:1px dashed #d1d5db;border-radius:16px;background:#f8fafc;color:#6b7280;text-align:center;font-weight:800}
.media-copy-toast{position:fixed;right:18px;bottom:18px;z-index:50;max-width:min(360px,calc(100vw - 36px));padding:10px 14px;border-radius:999px;background:#111827;color:#fff;font-size:13px;font-weight:850;box-shadow:0 16px 36px rgba(15,23,42,.24);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.media-copy-toast.is-visible{opacity:1;transform:translateY(0)}
/* Stage 5 CMS block editor keeps structured content creation separate from the live frontend renderer. */
.cms-editor-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:18px;margin-bottom:22px}
.cms-block-form textarea{min-height:128px}
.cms-preview-stack{display:grid;gap:16px}
.cms-preview-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px}
.cms-preview-block{background:#fbf8f3;border:1px solid #ebe2d7;border-radius:14px;padding:20px}
.cms-preview-block h2,.cms-preview-block h3{margin:10px 0 8px}
.cms-preview-block img{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:12px;margin-top:12px}
.cms-preview-block blockquote{margin:12px 0;font-size:20px;line-height:1.45}
.inline-form{margin-top:12px}
/* Shared studio/customer portal shell gives older one-file pages a modern mobile menu. */
.portal-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;background:#f4f0e9}
.portal-studio,.portal-customer{grid-template-columns:280px minmax(0,1fr);background:#f7f4fb}
.portal-sidebar{background:#2c2148;color:#fff;padding:24px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:auto}
.portal-studio .portal-sidebar{background:linear-gradient(180deg,#1f4f35 0%,#173a2a 58%,#122d23 100%)}
.portal-studio .portal-user{color:#d9f3df}
.portal-sidebar__top{display:block}
.portal-brand{font-size:22px;font-weight:950;margin-bottom:8px}
.portal-user{color:#d9d2f0;margin:0 0 22px}
.portal-user--logo{display:block;width:220px;max-width:100%;margin:0 0 22px}
.portal-user--logo img{display:block;width:100%;max-height:120px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.portal-nav{display:grid;gap:8px}
.portal-nav a{display:flex;align-items:center;gap:8px;min-height:44px;color:#fff;padding:11px 12px;border-radius:12px;font-weight:800;line-height:1.2}
.portal-nav a.is-active,.portal-nav a:hover,.portal-nav a:focus-visible{background:rgba(255,255,255,.13)}
.portal-nav-group{display:grid;gap:6px}
.portal-nav-parent{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:6px;align-items:center}
.portal-subnav-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.portal-subnav-toggle:hover,.portal-subnav-toggle:focus-visible{background:rgba(255,255,255,.16)}
.portal-subnav-toggle::after{content:"+";font-weight:950;line-height:1}
.portal-subnav-toggle[aria-expanded="true"]::after{content:"-"}
.portal-subnav{display:grid;gap:6px;margin:-2px 0 8px 12px;padding-left:12px;border-left:1px solid rgba(255,255,255,.16)}
.portal-subnav[hidden]{display:none!important}
.portal-subnav a{min-height:36px;padding:8px 10px;font-size:13px;font-weight:750;background:rgba(255,255,255,.05)}
.portal-subnav a.is-active,.portal-subnav a:hover,.portal-subnav a:focus-visible{background:rgba(255,255,255,.16)}
.portal-account-menu{margin-top:auto}
.portal-main{padding:32px;min-width:0}
.studio-dashboard-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin-bottom:18px;padding:18px 20px;border:1px solid #e8e1f2;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 14px 40px rgba(42,35,62,.06)}
.studio-dashboard-topbar h1{margin:2px 0 4px;font-size:clamp(26px,3vw,38px);line-height:1.08}
.studio-dashboard-topbar p{margin:0;color:#70677f;font-weight:800}
.studio-dashboard-topbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.studio-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:18px;align-items:stretch;margin-bottom:18px;padding:28px;border-radius:24px;background:linear-gradient(180deg,#1f4f35 0%,#173a2a 58%,#122d23 100%);color:#fff;box-shadow:0 20px 60px rgba(31,79,53,.2)}
.studio-dashboard-hero h1,.studio-dashboard-hero h2{margin:4px 0 10px;color:#fff;font-size:clamp(34px,5vw,58px);line-height:1.02}
.studio-dashboard-hero p{margin:0;color:#d9f3df}
.studio-dashboard-hero .eyebrow{color:#d9f3df!important}
.studio-dashboard-hero__status{display:grid;align-content:center;gap:6px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.12);padding:18px}
.studio-dashboard-hero__status span,.studio-dashboard-hero__status small{color:#d9f3df;font-weight:800}
.studio-dashboard-hero__status strong{font-size:26px;color:#fff}
.studio-dashboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}
.studio-dashboard-metrics article,.studio-dashboard-panel{min-width:0;background:#fff;border:1px solid #e8e1f2;border-radius:18px;padding:20px;box-shadow:0 14px 40px rgba(42,35,62,.07)}
.studio-dashboard-metrics span{display:block;color:#70677f;font-weight:850;font-size:13px}
.studio-dashboard-metrics strong{display:block;margin-top:8px;font-size:32px;line-height:1}
.studio-dashboard-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.studio-dashboard-summary-card{display:grid;align-content:start;gap:10px;min-height:220px;background:#fff;border:1px solid #e8e1f2;border-radius:18px;padding:18px;box-shadow:0 14px 40px rgba(42,35,62,.07)}
.studio-dashboard-summary-card span{display:block;color:#70677f;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.studio-dashboard-summary-card strong{font-size:36px;line-height:1;color:#2b2438}
.studio-dashboard-summary-card p{margin:0;color:#70677f;font-weight:750}
.studio-dashboard-summary-card .btn{width:max-content;max-width:100%;min-height:38px;padding:8px 12px;font-size:13px}
.studio-dashboard-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:18px;margin-bottom:18px}
.studio-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.studio-section-heading h2{margin:2px 0 0}
.studio-section-heading p:not(.eyebrow){margin:4px 0 0;color:#70677f;font-weight:750}
.studio-checklist,.studio-mini-list,.studio-class-list{display:grid;gap:12px}
.studio-checklist article{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #eee8f6;border-radius:14px;padding:14px;background:#fbfaff}
.studio-checklist h3{margin:4px 0}.studio-checklist p{margin:0;color:#70677f}
.studio-checklist small,.studio-mini-list small,.studio-module-grid small{color:#8a8197;font-weight:800}
.studio-checkmark{display:inline-flex;border-radius:999px;padding:4px 8px;background:#efe8ff;color:#5b36a2;font-size:11px;font-weight:950}
.studio-checklist .is-complete .studio-checkmark{background:#e9f8ef;color:#1f7a45}
.studio-disabled-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #e2d8ef;border-radius:999px;background:#f4effb;color:#7d7190;padding:8px 12px;font-size:12px;font-weight:950;white-space:nowrap}
.studio-mini-list article,.studio-class-list article,.customer-class-grid article{border:1px solid #eee8f6;border-radius:14px;padding:14px;background:#fbfaff}
.studio-mini-list strong,.studio-mini-list span,.studio-mini-list small{display:block}
.studio-mini-list span{color:#70677f}
.studio-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.studio-module-grid>a,.studio-module-card{display:grid;align-content:start;gap:8px;min-height:112px;border:1px solid #eee8f6;border-radius:14px;background:#fbfaff;padding:16px;color:#2b2438;font-weight:950;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.studio-module-grid>a:hover,.studio-module-card:hover{border-color:#9d7be8;box-shadow:0 12px 30px rgba(109,75,195,.12);transform:translateY(-1px)}
.studio-module-card p{margin:0;color:#70677f;font-weight:750}
.studio-module-card .btn{width:max-content;min-height:38px;padding:8px 12px;font-size:13px}
.studio-control-modules .studio-module-card{min-width:0;display:grid;gap:12px;align-content:start;min-height:0;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#fff;padding:16px;color:var(--text);font-weight:inherit;box-shadow:0 10px 24px rgba(15,23,42,.05);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.studio-control-modules .studio-module-card:hover{border-color:rgba(49,89,67,.34);box-shadow:0 14px 30px rgba(15,23,42,.08);transform:translateY(-1px)}
.studio-control-modules .studio-module-card p{margin:0;color:var(--muted);font-weight:650;line-height:1.45}
.studio-control-modules .studio-module-card .btn{width:max-content;max-width:100%}
.studio-module-page{max-width:880px;margin:0 auto}
.studio-module-page h1{margin:4px 0 12px;font-size:clamp(34px,5vw,54px);line-height:1.04}
.studio-module-page p{font-size:16px;color:#70677f;max-width:680px}
.studio-module-page__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.studio-class-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.studio-class-type-grid article{display:grid;gap:8px;border:1px solid #eee8f6;border-radius:14px;background:#fbfaff;padding:16px;min-width:0}
.studio-class-type-grid h3{margin:0;color:#2b2438}
.studio-class-type-grid p{margin:0;color:#70677f;font-weight:750}
.studio-class-type-grid small{color:#8a8197;font-weight:850}
.studio-class-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:14px;border-radius:16px;padding:16px;min-width:0}
.studio-class-list h3{margin:8px 0 4px}.studio-class-list p{margin:0}
.studio-class-activity-list{display:grid;gap:12px}
.studio-class-activity-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:14px;border:1px solid #eee8f6;border-radius:16px;background:#fbfaff;padding:16px}
.studio-class-activity-list h3{margin:8px 0 4px}.studio-class-activity-list p{margin:0;color:#70677f}
.studio-class-list dl,.studio-class-activity-list dl,.customer-class-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:0}
.studio-class-list dt,.studio-class-activity-list dt,.customer-class-grid dt{font-weight:950;color:#70677f}
.studio-class-list dd,.studio-class-activity-list dd,.customer-class-grid dd{margin:0;text-align:right;font-weight:900;overflow-wrap:anywhere}
.studio-class-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.studio-class-actions form{margin:0}
.studio-class-actions .btn{min-height:36px;padding:8px 12px;font-size:13px}
.studio-waitlist-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border:1px solid #eee8f6;border-radius:14px;background:#fbfaff;padding:13px;margin-bottom:10px}
.studio-waitlist-row strong,.studio-waitlist-row span{display:block}
.studio-waitlist-row__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.studio-waitlist-row__actions .btn{min-height:36px;padding:8px 12px;font-size:13px}
.customer-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.customer-class-grid article{display:grid;align-content:start;gap:10px;border-radius:16px;padding:16px;min-width:0}
.customer-class-grid h3{margin:0}.customer-class-grid p{margin:0;color:#70677f}.customer-class-grid .btn{width:100%}
.customer-class-card__header{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.customer-class-actions{display:grid;gap:8px;margin-top:4px}
.customer-class-actions form{margin:0}
.customer-class-actions .studio-disabled-action{width:100%;border-radius:12px}

.studio-classes-page,
.customer-classes-timetable {
  display: grid;
  gap: 18px;
}

.studio-classes-hero,
.customer-classes-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-color: rgba(20, 184, 166, 0.18);
  background:
    linear-gradient(135deg, rgba(240,253,250,.92), rgba(255,255,255,.96) 48%, rgba(255,251,235,.58)),
    #fff;
}

.studio-classes-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.studio-classes-quick-add,
.studio-classes-timetable,
.studio-class-bookings,
.studio-class-waitlist,
.studio-classes-connections,
.customer-class-filter-panel {
  display: grid;
  gap: 14px;
}

.studio-classes-summary-grid,
.studio-classes-connection-grid,
.customer-classes-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.studio-classes-summary-grid article,
.studio-classes-connection-grid article,
.customer-classes-hero__stats article {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15,23,42,.05);
}

.studio-classes-summary-grid span,
.studio-classes-connection-grid span,
.customer-classes-hero__stats span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.studio-classes-summary-grid strong,
.studio-classes-connection-grid strong,
.customer-classes-hero__stats strong {
  display: block;
  margin-top: 5px;
  color: #0f172a;
  font-size: 25px;
  line-height: 1;
}

.studio-classes-summary-grid small,
.studio-classes-connection-grid small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-weight: 750;
}

.studio-classes-next-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-color: rgba(20,184,166,.22);
  background: linear-gradient(180deg,#fff,#f8fffd);
}

.studio-classes-next-card h2,
.studio-classes-next-card p,
.customer-class-filter-panel h2 {
  margin: 0;
}

.studio-classes-builder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.studio-classes-builder-grid--single {
  grid-template-columns: minmax(0, 1fr);
}

.studio-classes-create-workflow {
  gap: 18px;
  border-color: rgba(20, 184, 166, 0.20);
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.88), rgba(255, 255, 255, 0.98) 38%, rgba(255, 251, 235, 0.46)),
    #fff;
}

.studio-class-create-form {
  display: grid;
  gap: 16px;
}

.studio-class-mode-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.studio-class-mode-switch legend {
  margin: 0 0 8px;
  color: #475569;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.studio-class-mode-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.studio-class-mode-switch--links .studio-class-mode-card {
  grid-template-columns: minmax(0, 1fr);
  color: inherit;
  text-decoration: none;
}

.studio-class-mode-switch--links .studio-class-mode-card::after {
  content: "Create Class";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  min-height: 34px;
  margin-top: 10px;
  padding: 7px 11px;
  border: 1px solid rgba(20, 184, 166, 0.24);
  border-radius: 999px;
  background: #fff;
  color: #0f766e;
  font-size: 12px;
  font-weight: 950;
}

.studio-class-mode-switch--links .studio-class-mode-card:hover,
.studio-class-mode-switch--links .studio-class-mode-card:focus-visible {
  border-color: rgba(20, 184, 166, 0.42);
  background: #f0fdfa;
  box-shadow: 0 12px 28px rgba(20, 184, 166, 0.10);
  outline: none;
}

.studio-class-mode-card input {
  width: auto !important;
  margin: 3px 0 0 !important;
}

.studio-class-mode-card strong,
.studio-class-mode-card small {
  display: block;
}

.studio-class-mode-card strong {
  color: #0f172a;
  line-height: 1.2;
}

.studio-class-mode-card small {
  margin-top: 4px;
  color: #64748b;
  font-weight: 750;
  line-height: 1.35;
}

.studio-class-mode-card.is-selected,
.studio-class-mode-card:has(input:checked) {
  border-color: rgba(20, 184, 166, 0.42);
  background: #f0fdfa;
  box-shadow: 0 12px 28px rgba(20, 184, 166, 0.10);
}

.studio-class-form-step {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, 0.20);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.studio-class-form-step h3,
.studio-class-form-step p {
  margin: 0;
}

.studio-class-recurring-fields {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(20, 184, 166, 0.20);
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fffd, #fff);
}

.studio-class-recurring-fields[hidden],
.studio-class-single-date-field[hidden] {
  display: none !important;
}

.studio-class-repeat-label {
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.studio-class-create-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.studio-class-create-actions .btn {
  min-width: 180px;
}

.studio-class-create-actions .muted {
  margin: 0;
}

.studio-class-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.studio-class-day-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.studio-class-day-button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 0;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.studio-class-day-button input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  opacity: 0;
  pointer-events: none;
}

.studio-class-day-button span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.studio-class-day-button:hover,
.studio-class-day-button:focus-within {
  border-color: rgba(20, 184, 166, 0.38);
  background: #f0fdfa;
  color: #0f766e;
  box-shadow: 0 10px 20px rgba(20, 184, 166, 0.08);
}

.studio-class-day-button:has(input:checked) {
  border-color: #0f766e;
  background: #0f766e;
  color: #fff;
  box-shadow: 0 12px 24px rgba(15, 118, 110, 0.18);
  transform: translateY(-1px);
}

.studio-class-day-button:has(input:focus-visible) {
  box-shadow: var(--focus-ring), 0 12px 24px rgba(15, 118, 110, 0.12);
}

.studio-class-day-grid .settings-checkbox {
  justify-content: center;
  min-height: 44px;
  padding: 8px;
}

.studio-class-card {
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.05);
}

.studio-classes-page.studio-control-sections {
  gap: 16px;
}

.studio-classes-page.studio-control-sections > .studio-control-accordion {
  position: relative;
  margin: 0;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15,23,42,.06);
  overflow: hidden;
}
.studio-classes-page.studio-control-sections > .studio-profile-settings-form > .studio-control-accordion {
  position: relative;
  margin: 0;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(15,23,42,.06);
  overflow: hidden;
}

.studio-classes-page.studio-control-sections > .studio-control-accordion[id]::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--brand, #315943), var(--accent, #0f766e), var(--soft, #f8fafc));
  z-index: 1;
}
.studio-classes-page.studio-control-sections > .studio-profile-settings-form > .studio-control-accordion[id]::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--brand, #315943), var(--accent, #0f766e), var(--soft, #f8fafc));
  z-index: 1;
}

.studio-classes-page.studio-control-sections > .studio-control-accordion > summary {
  min-height: 68px;
  padding: 18px 20px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.9));
  color: var(--text);
}
.studio-classes-page.studio-control-sections > .studio-profile-settings-form > .studio-control-accordion > summary {
  min-height: 68px;
  padding: 18px 20px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.9));
  color: var(--text);
}

.studio-classes-page.studio-control-sections > .studio-control-accordion[open] > summary {
  border-bottom: 1px solid rgba(226,232,240,.92);
  border-radius: 22px 22px 0 0;
}
.studio-classes-page.studio-control-sections > .studio-profile-settings-form > .studio-control-accordion[open] > summary {
  border-bottom: 1px solid rgba(226,232,240,.92);
  border-radius: 22px 22px 0 0;
}

.studio-classes-page.studio-control-sections > .studio-control-accordion > summary span {
  min-width: 0;
  max-width: 100%;
  color: var(--text);
  font-size: clamp(20px,2vw,26px);
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.studio-classes-page.studio-control-sections > .studio-profile-settings-form > .studio-control-accordion > summary span {
  min-width: 0;
  max-width: 100%;
  color: var(--text);
  font-size: clamp(20px,2vw,26px);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.studio-classes-page.studio-control-sections > .studio-control-accordion > summary small {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand, #315943) 12%, #fff);
  color: var(--brand);
  padding: 4px 9px;
  font-size: 10px;
  line-height: 1;
  white-space: normal;
  overflow-wrap: anywhere;
}
.studio-classes-page.studio-control-sections > .studio-profile-settings-form > .studio-control-accordion > summary small {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(15,118,110,.1);
  color: #0f766e;
  font-size: 10px;
  line-height: 1;
  white-space: normal;
  overflow-wrap: anywhere;
}

.studio-classes-page.studio-control-sections > .studio-control-accordion > summary em {
  max-width: 116px;
  background: #fff;
  font-size: 11px;
  line-height: 1;
}
.studio-classes-page.studio-control-sections > .studio-profile-settings-form > .studio-control-accordion > summary em {
  max-width: 116px;
  background: #fff;
  font-size: 11px;
  line-height: 1;
}

.studio-classes-page .studio-control-accordion__body {
  display: grid;
  gap: 16px;
}

.studio-classes-page .studio-classes-builder-grid,
.studio-classes-page .studio-classes-summary-grid,
.studio-classes-page .studio-classes-connection-grid {
  margin: 0;
}

.studio-classes-page .studio-classes-timetable,
.studio-classes-page .studio-class-bookings,
.studio-classes-page .studio-class-waitlist,
.studio-classes-page .studio-classes-connections {
  display: grid;
  gap: 14px;
}

.studio-class-create-page .studio-classes-create-workflow {
  display: grid;
  gap: 18px;
}

.studio-class-create-page .studio-class-create-form {
  margin: 0;
}

.studio-room-selection-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.studio-room-selection-summary span {
  display: grid;
  gap: 4px;
  min-width: 0;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 14px;
  background: color-mix(in srgb, var(--brand, #315943) 6%, #fff);
  padding: 12px;
  color: var(--text);
  font-weight: 850;
}

.studio-room-selection-summary strong {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.studio-room-suggestion-note {
  margin: 8px 0 0;
  color: var(--brand, #315943);
  font-size: 12px;
  font-weight: 850;
}

.studio-room-availability-message,
.studio-class-capacity-warning {
  margin: 10px 0 0;
  border-left: 4px solid color-mix(in srgb, var(--brand, #315943) 58%, #fff);
  font-size: 13px;
}

.studio-room-availability-message.is-active {
  background: color-mix(in srgb, #16a34a 10%, #fff);
  border-left-color: #16a34a;
  color: #14532d;
}

.studio-room-availability-message.is-warning,
.studio-class-capacity-warning {
  background: color-mix(in srgb, #f59e0b 12%, #fff);
  border-left-color: #f59e0b;
  color: #7c2d12;
}

.studio-class-capacity-warning.is-strong {
  background: color-mix(in srgb, #dc2626 12%, #fff);
  border-left-color: #dc2626;
  color: #7f1d1d;
}

.studio-room-form .settings-checkbox {
  min-height: 44px;
  margin: 0;
}

.studio-room-form {
  gap: 18px;
}

.studio-room-form [hidden] {
  display: none !important;
}

.studio-rooms-page #studio-room-form .studio-control-accordion__body {
  display: grid;
  gap: 16px;
}

.studio-room-panel-header {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.9));
  box-shadow: 0 14px 30px rgba(15,23,42,.055);
}

.studio-room-panel-header .eyebrow,
.studio-room-panel-header h2,
.studio-room-panel-header p {
  margin: 0;
}

.studio-room-panel-header h2 {
  color: #111827;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.08;
}

.studio-room-step {
  position: relative;
  overflow: visible;
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 30px rgba(15,23,42,.055);
}

.studio-room-step::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--brand, #315943), var(--accent, #0f766e));
}

.studio-room-step > div:first-child {
  display: grid;
  gap: 5px;
  padding: 2px 0 4px;
}

.studio-room-step > div:first-child .eyebrow,
.studio-room-step > div:first-child h3,
.studio-room-step > div:first-child p {
  margin: 0;
}

.studio-room-step > div:first-child h3 {
  color: #111827;
  font-size: 18px;
  line-height: 1.2;
}

.studio-room-form .rms-form-grid {
  align-items: start;
  gap: 14px;
}

.studio-room-form .studio-room-details-grid {
  align-items: stretch;
}

.studio-room-form .studio-room-details-grid .rms-field {
  grid-template-rows: auto 46px auto auto;
}

.studio-room-form .studio-room-details-grid .rms-field__control,
.studio-room-form .studio-room-details-grid .rms-combobox__selected {
  height: 46px;
  min-height: 46px;
}

:where(.studio-room-form, .studio-class-create-form) .rms-field {
  position: relative;
  display: grid;
  gap: 7px;
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(148,163,184,.26);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.82));
  box-shadow: 0 10px 28px rgba(15,23,42,.04);
}

:where(.studio-room-form, .studio-class-create-form) .rms-field__label,
:where(.studio-room-form, .studio-class-create-form) .rms-field > span:first-child {
  color: #334155;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.25;
}

:where(.studio-room-form, .studio-class-create-form) .rms-field__help {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

:where(.studio-room-form, .studio-class-create-form) .rms-field__control,
:where(.studio-room-form, .studio-class-create-form) .rms-select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 46px;
  min-height: 46px;
  margin: 0;
  border: 1px solid rgba(148,163,184,.42);
  border-radius: 14px;
  background-color: #fff;
  color: #111827;
  padding: 11px 13px;
  font: inherit;
  line-height: 1.35;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.04);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

:where(.studio-room-form, .studio-class-create-form) .rms-select {
  appearance: none;
  padding-right: 40px;
  background-image:
    linear-gradient(45deg, transparent 50%, #64748b 50%),
    linear-gradient(135deg, #64748b 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 13px) 50%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}

:where(.studio-room-form, .studio-class-create-form) .rms-select--hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__selected {
  box-sizing: border-box;
  width: 100%;
  height: 46px;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(148,163,184,.42);
  border-radius: 14px;
  background: #fff;
  color: #111827;
  padding: 11px 13px;
  font: inherit;
  line-height: 1.35;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.04);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__selected::after {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  transform: rotate(45deg) translateY(-2px);
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__selected:focus-visible,
:where(.studio-room-form, .studio-class-create-form) .rms-combobox__selected[aria-expanded="true"] {
  border-color: rgba(49,89,67,.72);
  box-shadow: 0 0 0 3px rgba(49,89,67,.12);
  outline: none;
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__panel {
  position: absolute;
  z-index: 30;
  top: 92px;
  left: 14px;
  right: 14px;
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(15,23,42,.12);
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__panel[hidden] {
  display: none !important;
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__list {
  display: grid;
  gap: 4px;
  max-height: 238px;
  overflow-y: auto;
  padding: 2px;
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__option {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #111827;
  padding: 8px 10px;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__option:hover,
:where(.studio-room-form, .studio-class-create-form) .rms-combobox__option:focus-visible {
  background: rgba(248,250,252,.95);
  outline: none;
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__option[aria-selected="true"] {
  background: color-mix(in srgb, var(--brand, #315943) 10%, #fff);
  color: var(--brand, #315943);
}

:where(.studio-room-form, .studio-class-create-form) .rms-combobox__option[aria-selected="true"]::after {
  content: "Selected";
  color: var(--brand, #315943);
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

:where(.studio-room-form, .studio-class-create-form) .rms-field:has(.rms-combobox__selected[aria-expanded="true"]),
:where(.studio-room-form, .studio-class-create-form) .rms-field.is-open {
  z-index: 35;
}

:where(.studio-room-form, .studio-class-create-form) .rms-field__control:focus,
:where(.studio-room-form, .studio-class-create-form) .rms-select:focus {
  border-color: rgba(49,89,67,.72);
  box-shadow: 0 0 0 3px rgba(49,89,67,.12);
  outline: none;
}

:where(.studio-room-form, .studio-class-create-form) .rms-field__control::placeholder {
  color: rgba(100,116,139,.72);
}

:where(.studio-room-form, .studio-class-create-form) .rms-search-field {
  border-radius: 999px;
  padding-left: 36px;
  background-image:
    radial-gradient(circle at 15px 50%, transparent 5px, rgba(100,116,139,.68) 5.5px, rgba(100,116,139,.68) 6.5px, transparent 7px),
    linear-gradient(45deg, transparent 52%, rgba(100,116,139,.68) 52%, rgba(100,116,139,.68) 58%, transparent 58%);
  background-position:
    0 0,
    21px 26px;
  background-size:
    32px 100%,
    10px 10px;
  background-repeat: no-repeat;
}

.studio-room-form .rms-field--checkbox {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 74px;
}

.studio-room-form .rms-field--checkbox input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  accent-color: var(--brand, #315943);
}

.studio-room-form .rms-field--checkbox span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.studio-room-form .rms-field--checkbox strong {
  color: #334155;
  font-size: 13px;
  font-weight: 950;
}

.studio-room-form .rms-field__inline-check {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 32px;
  align-items: center;
  gap: 8px;
  margin: 2px 0 0;
  padding: 6px 10px;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
  box-shadow: none;
}

.studio-room-form .rms-field__inline-check input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: var(--brand, #315943);
}

.studio-room-form .rms-form-actions {
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}

.studio-room-form .settings-empty-note {
  margin: 0;
  border-left: 4px solid color-mix(in srgb, var(--brand, #315943) 56%, #fff);
  border-radius: 14px;
  background: color-mix(in srgb, var(--brand, #315943) 7%, #fff);
  font-size: 13px;
}

.studio-room-table td,
.studio-room-table th {
  vertical-align: top;
}

.studio-class-attendance-form {
  display: grid;
  gap: 10px;
  align-content: start;
}

.studio-class-attendance-form label {
  margin: 0;
  color: #70677f;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.studio-live-calendar {
  display: grid;
  gap: 18px;
  overflow: hidden;
}

.studio-live-calendar__toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: end;
}

.studio-live-calendar__toolbar h2,
.studio-live-calendar__toolbar p {
  margin: 0;
}

.studio-live-calendar__controls,
.studio-live-calendar__view-switch {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.studio-live-calendar__view-switch {
  padding: 4px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #f8fafc;
}

.studio-live-calendar__view-switch button {
  min-height: 38px;
  padding: 8px 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #475569;
  font-weight: 950;
  cursor: pointer;
}

.studio-live-calendar__view-switch button:hover,
.studio-live-calendar__view-switch button:focus-visible,
.studio-live-calendar__view-switch button.is-active {
  background: #0f766e;
  color: #fff;
}

.studio-live-calendar__status {
  min-height: 22px;
  color: #64748b;
  font-size: 13px;
  font-weight: 850;
}

.studio-calendar-week-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(180px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.studio-calendar-day-view {
  display: grid;
  grid-template-columns: minmax(0, 760px);
}

.studio-calendar-day-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  min-height: 180px;
  padding: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.studio-calendar-day-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e7eb;
}

.studio-calendar-day-card > header span {
  color: #0f172a;
  font-weight: 950;
}

.studio-calendar-day-card > header strong {
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
}

.studio-calendar-class-card a {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-left: 4px solid #0f766e;
  border-radius: 12px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .04);
}

.studio-calendar-class-card a:hover,
.studio-calendar-class-card a:focus-visible {
  border-color: #14b8a6;
  box-shadow: 0 14px 28px rgba(15, 118, 110, .12);
}

.studio-calendar-class-card--draft a {
  border-left-color: #f59e0b;
}

.studio-calendar-class-card--cancelled a {
  border-left-color: #ef4444;
  opacity: .78;
}

.studio-calendar-class-card__time {
  color: #0f766e;
  font-size: 12px;
  font-weight: 950;
}

.studio-calendar-class-card strong {
  font-size: 14px;
  line-height: 1.25;
}

.studio-calendar-class-card small,
.studio-calendar-class-card__capacity {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.studio-calendar-class-card .status-badge {
  justify-self: start;
  margin-top: 2px;
}

.studio-calendar-month-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  gap: 8px;
  overflow-x: auto;
}

.studio-calendar-month-cell {
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 128px;
  padding: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

.studio-calendar-month-cell.is-muted {
  background: #f8fafc;
  color: #94a3b8;
}

.studio-calendar-month-cell header {
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
}

.studio-calendar-month-cell a {
  display: block;
  padding: 6px 8px;
  border-radius: 8px;
  background: #ecfdf5;
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.3;
  text-decoration: none;
}

.studio-calendar-month-cell a:hover,
.studio-calendar-month-cell a:focus-visible {
  background: #ccfbf1;
}

.studio-calendar-month-cell small {
  color: #64748b;
  font-weight: 900;
}

.customer-class-filter-panel {
  margin-bottom: 18px;
}

.customer-class-available-toggle {
  align-self: end;
  min-height: 45px;
  margin: 0;
}
.customer-default-studio-line{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:3px;font-size:11px;line-height:1.25;color:rgba(255,255,255,.72);font-weight:800}
.customer-default-studio-line__label{color:inherit}
.customer-default-studio-line__value{color:inherit;font-weight:950}
.admin-account-menu--topbar .customer-default-studio-line{max-width:240px;color:var(--muted)}
.admin-account-menu--topbar .customer-default-studio-line__value{color:var(--text)}
.customer-studio-required-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px;padding:18px 20px;border:1px solid #fed7aa;border-radius:18px;background:linear-gradient(180deg,#fff7ed,#fff);box-shadow:0 14px 34px rgba(146,64,14,.08)}
.customer-studio-required-notice h2{margin:2px 0 6px;font-size:clamp(22px,3vw,30px)}
.customer-studio-required-notice p:not(.eyebrow){margin:0;color:#7c4a13;font-weight:750}
.customer-studio-required-notice__actions{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.messenger-studio-required-notice{width:100%;margin:0 0 1rem;padding:1rem;border:1px solid rgba(148,163,184,.35);border-radius:1rem;background:rgba(255,255,255,.88);box-shadow:0 10px 30px rgba(15,23,42,.06)}
.messenger-studio-required-notice .settings-empty-note{margin:0}
.customer-studio-modal[hidden]{display:none}
.customer-studio-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:flex-end;padding:24px;pointer-events:none}
.customer-studio-modal__backdrop{position:absolute;inset:0;background:rgba(29,36,32,.16);pointer-events:none}
.customer-studio-modal__panel{position:relative;pointer-events:auto;width:min(460px,100%);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(17,24,39,.22);padding:22px}
.customer-studio-modal__panel h2{margin:2px 0 8px;font-size:24px}
.customer-studio-modal__panel p:not(.eyebrow){margin:0;color:var(--muted);font-weight:750}
.customer-studio-modal__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}
.customer-studio-search-panel{background:#fff;border:1px solid #e8e1f2;border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 14px 40px rgba(42,35,62,.07)}
.customer-studio-search-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}
.customer-studio-search-form label{margin:0}
.customer-studio-typeahead{position:relative}
.customer-studio-typeahead .autoComplete_wrapper{display:block;position:relative;width:100%;margin-top:6px}
.customer-studio-typeahead .autoComplete_wrapper>input{width:100%;min-height:46px;margin:0;padding:0.75rem 1rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font:inherit;font-weight:750;outline:none}
.customer-studio-typeahead .autoComplete_wrapper>input:focus{border-color:#8db596;box-shadow:0 0 0 4px rgba(141,181,150,.18)}
.customer-studio-typeahead .autoComplete_wrapper>ul{position:absolute;left:0;right:0;z-index:30;max-height:260px;overflow:auto;margin:8px 0 0;padding:8px;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.14);list-style:none}
.customer-studio-typeahead .autoComplete_wrapper>ul[hidden],.customer-studio-typeahead .autoComplete_wrapper>ul:empty{display:none}
.customer-studio-typeahead .autoComplete_wrapper>ul>li{display:grid;gap:3px;margin:0;padding:10px 12px;border-radius:12px;color:var(--text);white-space:normal;cursor:pointer}
.customer-studio-typeahead .autoComplete_wrapper>ul>li:hover,.customer-studio-typeahead .autoComplete_wrapper>ul>li.is-selected,.customer-studio-typeahead .autoComplete_wrapper>ul>li[aria-selected=true]{background:#f7fbf7}
.customer-studio-typeahead .autoComplete_wrapper>ul>li strong{color:#1f2937;font-weight:900}
.customer-studio-typeahead .autoComplete_wrapper>ul>li small{color:var(--muted);font-weight:700}
.customer-studio-typeahead .autoComplete_wrapper>ul>li mark{border-radius:4px;background:#e9f5ec;color:#315943;font-weight:950}
.customer-studio-autocomplete-empty{cursor:default;color:var(--muted);font-weight:800}
.customer-studio-search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.customer-studio-search-grid article{display:grid;align-content:start;gap:10px;border:1px solid #eee8f6;border-radius:16px;background:#fbfaff;padding:16px;min-width:0}
.customer-studio-search-grid article.is-selected{border-color:#8db596;background:linear-gradient(180deg,#f7fbf7,#fff)}
.customer-studio-search-grid h3{margin:0;color:#2b2438}
.customer-studio-search-grid p{margin:0;color:#70677f;font-weight:750}
.customer-studio-search-grid form{margin:0}
.customer-studio-search-grid .btn{width:100%}
@media (max-width:760px){
  .customer-studio-required-notice{display:grid;padding:16px}
  .messenger-studio-required-notice{width:100%;overflow:visible}
  .customer-studio-required-notice__actions{justify-content:flex-start}
  .customer-studio-required-notice__actions .btn{width:100%}
  .customer-studio-modal{align-items:flex-end;padding:12px}
  .customer-studio-modal__panel{padding:18px;border-radius:18px}
  .customer-studio-modal__actions{display:grid;grid-template-columns:1fr;width:100%}
  .customer-studio-search-form,.customer-studio-search-grid{grid-template-columns:1fr}
}
/* Session timeout and user management surfaces stay usable on mobile admin screens. */
.session-warning[hidden]{display:none}
.session-warning{position:fixed;inset:0;background:rgba(23,29,25,.55);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.session-warning__panel{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;max-width:420px;width:100%}
.user-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.user-tabs a{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;font-weight:850}
.user-tabs a.is-active{background:var(--brand);color:#fff}
.user-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}
.global-user-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.global-user-summary article{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 30px rgba(42,49,42,.06)}
.global-user-summary span{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#17201a;color:#fff;font-weight:950;font-size:12px}
.global-user-summary strong{display:block;margin-top:12px;font-size:34px;line-height:1;color:var(--text)}
.global-user-summary p{margin:6px 0 0;color:var(--muted);font-weight:850}
.global-user-filters{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(150px,1fr)) auto;gap:14px;align-items:end}
.global-user-filter-actions{display:flex;gap:8px}
.admin-users-page .table-wrap{overflow-x:auto}
.admin-users-page .global-users-table{width:max-content;min-width:100%;font-size:12px}
.admin-users-page .global-users-table th,
.admin-users-page .global-users-table td{padding:7px 8px;vertical-align:middle;white-space:nowrap;line-height:1.2}
.admin-users-page .global-users-table th{font-size:10px;letter-spacing:.035em}
.admin-users-page .global-users-table .btn{min-height:28px;padding:5px 9px;font-size:11px;line-height:1.1;gap:4px}
.admin-users-page .global-users-table .status-badge{min-height:24px;padding:4px 7px;font-size:10px;white-space:nowrap}
.admin-users-page .global-users-table small{font-size:10px;white-space:nowrap}
.global-users-table .host-studio-actions{min-width:190px}
.pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}
.profile-grid div{border:1px solid var(--line);background:#fbf8f3;border-radius:12px;padding:12px}
.profile-grid dt{font-weight:900;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.profile-grid dd{margin:4px 0 0;word-break:break-word}
.studio-user-profile-page{display:grid;gap:18px}
.studio-user-profile-header .page-subtitle{max-width:760px}
.studio-user-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,.42fr);gap:20px;align-items:center;border-color:rgba(49,89,67,.18);background:linear-gradient(135deg,#fff 0%,#f6fbf7 54%,#fff7ed 100%);box-shadow:0 18px 48px rgba(15,23,42,.08)}
.studio-user-profile-avatar{display:grid;place-items:center;width:92px;height:92px;border-radius:24px;background:linear-gradient(135deg,var(--brand),#14b8a6);color:#fff;font-size:34px;font-weight:950;letter-spacing:0;box-shadow:0 16px 32px rgba(49,89,67,.22);overflow:hidden}
.studio-user-profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.studio-user-profile-hero__main{display:grid;gap:8px}
.studio-user-profile-hero__main .eyebrow{margin:0}
.studio-user-profile-hero__main h2{margin:0;font-size:clamp(28px,3.6vw,44px);line-height:1.04}
.studio-user-profile-hero__main p{margin:0;color:var(--muted);font-weight:750;line-height:1.45}
.studio-user-profile-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.studio-user-profile-contact{display:grid;gap:10px}
.studio-user-profile-contact a,.studio-user-profile-contact>span{display:grid;gap:3px;padding:13px 14px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:rgba(255,255,255,.82);box-shadow:0 10px 26px rgba(15,23,42,.045)}
.studio-user-profile-contact span span,.studio-user-profile-contact a span,.studio-user-profile-mini-card span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.studio-user-profile-contact strong{color:var(--text);font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.studio-user-profile-card{border-color:rgba(148,163,184,.24);background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.055)}
.studio-user-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.studio-user-profile-grid .rms-field{min-height:92px}
.studio-user-profile-value{height:auto!important;min-height:46px!important;display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;overflow-wrap:anywhere;font-weight:800;color:var(--text)}
.studio-user-profile-value .status-badge{width:max-content;max-width:100%}
.studio-user-profile-about-form textarea.rms-field__control{height:auto;min-height:150px;resize:vertical;line-height:1.5}
.studio-role-form{gap:16px}
.studio-role-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.studio-role-choice{position:relative;display:grid;min-height:124px;border:1px solid rgba(148,163,184,.32);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px;box-shadow:0 10px 26px rgba(15,23,42,.045);transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.studio-role-choice__select{position:relative;display:grid;min-height:100%;margin:-16px;padding:16px;cursor:pointer}
.studio-role-choice input{position:absolute;inset:0;z-index:1;opacity:0;cursor:pointer}
.studio-role-choice__content{position:relative;z-index:2;display:grid;align-content:start;gap:8px;min-width:0}
.studio-role-choice__actions{position:relative;z-index:3;display:flex;align-items:center;justify-content:flex-start;margin-top:14px}
.studio-role-choice__actions .btn{width:max-content;max-width:100%}
.studio-role-choice strong{font-size:16px;color:var(--text)}
.studio-role-choice small{color:var(--muted);font-weight:750;line-height:1.45}
.studio-role-choice:hover,.studio-role-choice:focus-within,.studio-role-choice.is-selected,.studio-role-choice:has(input:checked){border-color:var(--brand);background:linear-gradient(180deg,#f7fbf7,#fff);box-shadow:0 16px 34px rgba(49,89,67,.14);transform:translateY(-1px)}
.studio-role-choice.is-selected::after,.studio-role-choice:has(input:checked)::after{content:"Selected";position:absolute;right:12px;top:12px;border-radius:999px;background:var(--brand);color:#fff;padding:4px 8px;font-size:11px;font-weight:900}
.studio-role-form__footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid rgba(148,163,184,.24);padding-top:14px}
.studio-role-form__footer p{margin:0}
.studio-role-form__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.studio-users-page .table td:first-child a,
.studio-customers-page .table td:first-child a{display:inline-flex;align-items:center;min-height:34px;margin:-6px -10px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--brand);font-weight:850;box-shadow:0 4px 12px rgba(15,23,42,.045);transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}
.studio-users-page .table td:first-child a:hover,
.studio-users-page .table td:first-child a:focus-visible,
.studio-customers-page .table td:first-child a:hover,
.studio-customers-page .table td:first-child a:focus-visible{background:var(--brand);border-color:var(--brand);box-shadow:0 8px 20px rgba(49,89,67,.18);color:#fff;transform:translateY(-1px)}
@media (max-width: 980px){
  .studio-user-profile-hero{grid-template-columns:auto minmax(0,1fr)}
  .studio-user-profile-contact{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 680px){
  .studio-user-profile-page{gap:14px}
  .studio-user-profile-hero{grid-template-columns:1fr;padding:18px;border-radius:18px;text-align:left}
  .studio-user-profile-avatar{width:74px;height:74px;border-radius:20px;font-size:28px}
  .profile-photo-card{gap:0;padding:0!important}
  .profile-photo-card__identity{grid-template-columns:1fr;gap:14px;padding:22px 18px;text-align:left}
  .profile-photo-card__content{padding:18px}
  .profile-photo-card__preview{width:96px;height:96px}
  .profile-photo-card__avatar{font-size:30px}
  .profile-photo-card__intro h2{font-size:28px}
  .profile-photo-upload-zone{grid-template-columns:auto minmax(0,1fr)}
  .profile-photo-upload-zone__button{grid-column:1/-1;width:100%;justify-content:center}
  .profile-photo-upload-selection{grid-template-columns:48px minmax(0,1fr)}
  .profile-photo-upload-selection__preview{width:48px;height:48px}
  .profile-photo-upload-selection .btn{grid-column:1/-1;width:100%;justify-content:center}
  .profile-photo-card__actions,.profile-photo-remove-form{display:grid;justify-content:stretch}
  .profile-photo-card__actions .btn,.profile-photo-remove-form .btn{width:100%;justify-content:center}
  .studio-user-profile-contact,.studio-user-profile-grid,.studio-role-choice-grid{grid-template-columns:1fr}
  .studio-user-profile-contact a,.studio-user-profile-contact>span,.studio-user-profile-grid div{border-radius:14px}
  .studio-user-profile-grid div{min-height:0}
  .studio-role-choice{min-height:0}
  .studio-role-form__footer .btn{width:100%}
}
.user-profile-field-label{display:inline-flex;align-items:center;gap:2px;max-width:100%;vertical-align:middle}
.user-profile-field-label .settings-help{flex:0 0 auto;text-transform:none;letter-spacing:0}
.table th .user-profile-field-label{white-space:normal}
.profile-compat-note{margin-top:12px;border:1px dashed #d8cbb9;border-radius:12px;background:#fbf8f3;padding:11px 12px;font-size:13px}
.studio-connection-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.studio-connection-summary div{border:1px solid var(--line);border-radius:14px;background:#fbf8f3;padding:14px;min-width:0}
.studio-connection-summary strong{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.studio-connection-summary span{display:block;margin-top:5px;font-weight:900;word-break:break-word}
.connected-studios-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.connected-studios-header h2{margin:0 0 6px}
.connected-studios-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.connected-studio-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;box-shadow:0 10px 26px rgba(42,49,42,.06)}
.connected-studio-card.is-primary{border-color:#8db596;background:linear-gradient(180deg,#f7fbf7,#fff)}
.connected-studio-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.connected-studio-card h3{margin:0;font-size:20px}
.connected-studio-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.connected-studio-meta div{border:1px solid var(--line);background:#fbf8f3;border-radius:12px;padding:10px}
.connected-studio-meta dt{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.connected-studio-meta dd{margin:3px 0 0;word-break:break-word}
.connected-studio-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.connected-studio-actions form{margin:0}
.connected-studio-actions .btn{min-height:40px}
.connected-studio-add{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}
.connected-studio-add h3{margin-top:0}
.connected-studio-add__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.caution-card{border-color:#d89b47;background:#fff9ef}
/* Visual page builder layout keeps editing tools, canvas and page settings visible on desktop. */
.visual-builder{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}
.builder-panel,.builder-settings{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;position:sticky;top:18px}
.builder-add-block{margin:8px 0}
.builder-add-block button,.builder-preview-modes button{width:100%;min-height:42px;border:1px solid var(--line);background:#fbf8f3;border-radius:12px;font-weight:850;cursor:pointer}
.builder-canvas-form{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}
.builder-workspace{min-width:0}
.builder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.builder-preview-modes{display:flex;gap:8px}
.builder-preview-modes button{width:auto;padding:0 12px}
.builder-preview-modes button.is-active{background:var(--brand);color:#fff}
.builder-canvas{background:#ece6dc;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:0 auto;transition:max-width .2s ease}
.builder-canvas-desktop{max-width:100%}
.builder-canvas-tablet{max-width:760px}
.builder-canvas-mobile{max-width:390px}
.builder-empty{background:#fff;border:1px dashed #cdbfad;border-radius:14px;padding:28px;text-align:center;color:var(--muted)}
.builder-edit-block{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:0 10px 30px rgba(42,49,42,.07)}
.builder-edit-block header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.builder-edit-block input,.builder-edit-block textarea,.builder-edit-block select,.builder-settings input,.builder-settings textarea,.builder-settings select{width:100%;padding:11px 12px;margin:7px 0 12px;border:1px solid #d4ccc1;border-radius:10px;background:#fff}
.builder-sort{max-width:120px}
.builder-block-preview{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
/* Published builder pages use controlled, responsive section markup only. */
.builder-page{background:#fff}
.builder-section{padding:52px 6vw}
.builder-section:nth-child(even){background:#f7f2eb}
.builder-inner{max-width:1120px;margin:0 auto}
.builder-hero-inner,.builder-split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.builder-split.is-reversed img{order:2}
.builder-hero-inner img,.builder-split img,.builder-image{width:100%;border-radius:16px;max-height:520px;object-fit:cover}
.builder-section h1{font-size:clamp(40px,6vw,68px);line-height:1.03;margin:10px 0 16px}
.builder-section h2{font-size:clamp(28px,4vw,42px);line-height:1.12;margin:0 0 12px}
.builder-section p{color:var(--muted);font-size:17px}
.builder-cta-box,.builder-price{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.builder-price strong{display:block;font-size:34px;margin:8px 0;color:var(--brand)}
.builder-section blockquote{font-size:clamp(24px,4vw,42px);line-height:1.2;margin:0 0 12px}
.builder-section details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.builder-section summary{font-weight:900;cursor:pointer}
/* Rebuilt GrapesJS page editor keeps metadata, actions and the visual canvas in one professional workspace. */
.page-builder-meta{display:grid;gap:14px}
.page-builder-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.page-builder-shell{padding:0;overflow:hidden}
.page-builder-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;border-bottom:1px solid var(--line);background:#fff}
#gjs{border:0;min-height:720px}
.gjs-editor-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 300px;min-height:760px;background:#f4f0e9}
.gjs-side-panel{background:#fff;border-right:1px solid var(--line);min-width:0;overflow:auto;max-height:760px}
.gjs-side-panel-right{border-right:0;border-left:1px solid var(--line)}
.gjs-side-panel h3{margin:0;padding:16px 16px 0;font-size:16px}
.gjs-side-panel p{padding:0 16px;margin:6px 0 12px;font-size:13px}
.gjs-canvas-wrap{min-width:0}
#gjs-blocks,.gjs-panel-pane{min-height:120px}
.gjs-panel-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:10px;background:#f7f2eb;border-bottom:1px solid var(--line)}
.gjs-panel-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:38px;font-weight:850;cursor:pointer}
.gjs-panel-tabs button.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.gjs-panel-pane{display:none;padding:10px}
.gjs-panel-pane.is-active{display:block}
.gjs-blocks-c{padding:8px}
.gjs-block-category .gjs-title{font-weight:900;letter-spacing:0}
.gjs-pn-options{flex-wrap:wrap;gap:4px}
.gjs-pn-btn{min-width:auto;font-size:12px;border-radius:8px}
.gjs-pn-btn[title]{padding:6px 8px}
.gjs-one-bg{background:#171d19}
.gjs-two-color{color:#f6f2ec}
.gjs-four-color,.gjs-four-color-h:hover{color:#c87f6b}
.gjs-block{border-radius:10px;min-height:72px;width:calc(50% - 8px);padding:10px;font-size:12px}
.gjs-cv-canvas{background:#f4f0e9}
.rms-gjs-hero{padding:78px 6vw 54px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:38px;align-items:center;background:linear-gradient(135deg,#fffaf5 0%,#eef5ef 100%)}
.rms-gjs-hero h1{font-size:clamp(40px,6vw,70px);line-height:1.02;margin:12px 0 18px;max-width:900px}
.rms-gjs-hero p{font-size:clamp(17px,2vw,20px);line-height:1.65;color:var(--muted)}
.rms-gjs-pill{display:inline-block;background:var(--soft);color:var(--brand);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:850}
.rms-gjs-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.rms-gjs-actions{display:flex;gap:10px;flex-wrap:wrap}

/* UI polish pass: laptop/tablet layouts keep dense dashboards readable before the mobile stack. */
@media(max-width:1024px){
  .admin-main,.portal-main{padding:26px}
  .dashboard-grid,.subscription-summary-grid,.global-user-summary,.studio-dashboard-metrics,.studio-dashboard-summary-grid,.media-grid,.customer-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .studio-setup-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .studio-view-mirror-grid,.host-module-map-grid,.host-module-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-page-header h1{font-size:clamp(28px,5vw,42px)}
  .studio-dashboard-hero h1,.studio-dashboard-hero h2{font-size:clamp(32px,6vw,48px)}
  .table-scroll{margin-left:0;margin-right:0}
  .admin-card,.metric-card,.studio-dashboard-panel,.studio-dashboard-summary-card,.subscription-plan-card,.subscription-studio-card,.media-card,.email-builder-panel,.email-builder-list,.email-builder-help{min-width:0}
}

/* Tablet and mobile rules keep navigation, grids, forms and admin tables usable. */
@media(max-width:900px){
  .menu-toggle{display:inline-flex}
  .site-header__inner,.nav{align-items:center;flex-direction:row;flex-wrap:wrap}
  .site-nav{display:none;width:100%;gap:10px;padding-top:12px}
  .site-nav.is-open{display:grid;grid-template-columns:1fr 1fr}
  .site-footer__inner,.site-footer__columns{grid-template-columns:1fr}
  .site-footer{text-align:left}
  .nav a{display:inline-block;margin:10px 10px 0 0}
  .brand-logo{width:var(--logo-mobile-width,180px)}
  .hero,.grid,.dash,.admin-shell,.dashboard-grid,.form-grid,.module-grid,.subscription-plan-grid,.subscription-control-summary,.media-grid,.cms-editor-grid,.portal-shell,.user-filters,.profile-grid,.visual-builder,.builder-canvas-form,.builder-hero-inner,.builder-split,.studio-control-hero,.studio-control-duo,.studio-profile-edit-layout,.connected-studios-grid,.connected-studio-meta,.connected-studio-add__grid,.studio-connection-summary,.email-builder-layout,.email-builder-stage,.email-builder-test-row,.email-template-stats,.studio-attention-list,.studio-control-snapshot-body,.studio-dashboard-topbar,.studio-dashboard-hero,.studio-dashboard-metrics,.studio-dashboard-summary-grid,.studio-dashboard-layout,.studio-module-grid,.studio-class-type-grid,.studio-class-list article,.studio-class-activity-list article,.customer-class-grid,.studio-classes-builder-grid,.studio-class-form-grid,.studio-class-day-grid,.studio-live-calendar__toolbar,.studio-calendar-week-grid,.studio-calendar-day-view{grid-template-columns:1fr}
  .studio-classes-hero,
  .customer-classes-hero,
  .studio-classes-next-card{display:grid}
  .studio-classes-hero__actions{justify-content:flex-start}
  .studio-class-mode-switch{grid-template-columns:1fr}
  .studio-class-create-actions{display:grid}
  .studio-class-create-actions .btn{width:100%;min-width:0;justify-content:center}
  .studio-live-calendar__controls,
  .studio-live-calendar__view-switch{justify-content:flex-start}
  .studio-calendar-month-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible}
  .studio-classes-summary-grid,
  .studio-classes-connection-grid,
  .studio-room-selection-summary,
  .customer-classes-hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .subscription-section-header,.subscription-studio-card__summary{display:grid}
  .subscription-studio-overview{grid-template-columns:1fr}
  .subscription-current{justify-content:flex-start}
  .studio-snapshot-overview__header,.studio-snapshot-panel__intro{display:grid}
  .studio-snapshot-badges{justify-content:flex-start}
  .studio-setup-needs{position:static}
  .studio-workflow-header{grid-template-columns:1fr}
  .studio-workflow-progress-ring{width:108px;height:108px}
  .studio-workflow-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-section-header{display:grid}
  .media-filters{grid-template-columns:1fr 1fr}
  .media-filters label:first-child,.media-filter-actions{grid-column:1/-1}
  .media-filter-actions{display:grid;grid-template-columns:1fr 1fr}
  .media-filter-actions .btn{width:100%;justify-content:center}
  .email-builder-page-toolbar{position:static;display:grid;gap:10px}
  .email-builder-page-toolbar__actions{justify-content:flex-start}
  .email-builder-page-toolbar__actions .btn{flex:1 1 140px}
  .email-builder-shell.is-left-collapsed .email-builder-layout,
  .email-builder-shell.is-right-collapsed .email-builder-layout,
  .email-builder-shell.is-left-collapsed.is-right-collapsed .email-builder-layout{grid-template-columns:1fr}
  .email-builder-shell.is-left-collapsed .email-builder-list__body,
  .email-builder-shell.is-left-collapsed .email-builder-list__title,
  .email-builder-shell.is-left-collapsed .email-builder-new-template,
  .email-builder-shell.is-right-collapsed .email-builder-help__body,
  .email-builder-shell.is-right-collapsed .email-builder-help__header .status-badge{display:block}
  .email-builder-shell.is-left-collapsed .email-builder-list,
  .email-builder-shell.is-right-collapsed .email-builder-help{padding:20px;overflow:visible}
  .email-builder-panel-toggle{display:none}
  .email-builder-embed-header{display:block}
  .email-builder-official-frame{height:72vh;min-height:660px}
  .email-merge-tags-list{max-height:none;overflow:visible}
  .email-merge-tag-card{grid-template-columns:minmax(0,1fr)}
  .email-merge-tag-card__actions{display:flex;flex-wrap:wrap}
  .email-template-saved-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .email-template-saved-filters label:first-child{grid-column:1/-1}
  .email-template-saved-filters__actions{grid-column:1/-1}
  .email-template-table{min-width:920px}
  .connected-studios-header,.connected-studio-card__top{display:block}
  .connected-studio-card__top .status-badge{margin-top:8px}
  .connected-studio-actions .btn,.connected-studio-actions form{width:100%}
  .hero{padding-top:48px}
  .hero .btn{width:100%;margin-top:10px}
  .admin-sidebar,.portal-sidebar{position:static;width:auto;height:auto;padding:18px 20px}
  .admin-sidebar__brand,.portal-sidebar__top{display:flex;align-items:center;justify-content:space-between;gap:14px}
  .admin-brand-text{display:block}
  .admin-sidebar-collapse{display:none}
  .admin-mobile-menu-toggle{display:inline-flex;width:100%;margin:12px 0 0}
  .admin-user,.portal-user{margin-bottom:0}
  .admin-nav,.portal-nav{display:none;margin-top:14px}
  .admin-nav.is-open,.portal-nav.is-open{display:grid}
  .admin-sidebar .admin-account-menu--sidebar,.portal-sidebar .portal-account-menu--sidebar{display:none;margin-top:14px}
  .admin-nav.is-open + .admin-account-menu--sidebar,.portal-nav.is-open + .portal-account-menu--sidebar{display:grid}
  .admin-subnav{display:grid;margin:0 0 4px 8px}
  body.admin-sidebar-collapsed .admin-shell{grid-template-columns:1fr}
  body.admin-sidebar-collapsed .admin-sidebar{width:auto;padding:18px 20px}
  body.admin-sidebar-collapsed .admin-sidebar__brand{display:flex;justify-content:space-between}
  body.admin-sidebar-collapsed .admin-brand-text{display:block}
  body.admin-sidebar-collapsed .admin-nav__text{display:inline}
  body.admin-sidebar-collapsed .admin-subnav{display:grid}
  body.admin-sidebar-collapsed .admin-sidebar .admin-account-menu__identity,
  body.admin-sidebar-collapsed .admin-sidebar .admin-account-menu__actions{display:grid}
  body.admin-sidebar-collapsed .admin-nav__link{justify-content:flex-start;gap:10px;padding:9px 10px}
  .admin-account-menu,.portal-account-menu{margin-top:16px}
  .backend-topbar{grid-template-columns:1fr;position:static;margin:0 0 18px;padding:0;background:transparent;backdrop-filter:none}
  .backend-topbar__spacer{display:none}
  .backend-topbar__page-header.page-header,.backend-topbar__page-header.admin-page-header{grid-template-columns:1fr;gap:10px;padding:14px!important;border:1px solid var(--line)!important;border-radius:18px!important;background:linear-gradient(180deg,#fff,#fbf8f3)!important;box-shadow:var(--shadow-soft)!important}
  .backend-topbar__page-header h1{font-size:28px!important}
  .backend-topbar__page-header .page-header-actions,.backend-topbar__page-header .workflow-actions,.backend-topbar__page-header .studio-module-manager-actions{justify-content:flex-start}
  .admin-account-menu--topbar{width:100%;justify-content:space-between}
  .admin-account-menu--topbar .admin-account-menu__actions{justify-content:flex-start}
  .admin-main,.portal-main{padding:22px}
  .studio-dashboard-topbar__actions{justify-content:flex-start}
  .studio-dashboard-summary-card{min-height:0}
  .studio-section-heading,.studio-checklist article{display:grid;align-items:start}
  .subscription-actions,.studio-class-actions,.studio-waitlist-row__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .subscription-actions .btn,.studio-class-actions .btn,.studio-class-actions form,.studio-waitlist-row__actions .btn{width:100%;justify-content:center}
  .studio-waitlist-row{display:grid}
  .studio-waitlist-row__actions{justify-content:flex-start}
  .settings-layout{grid-template-columns:1fr}
  .settings-nav{position:static}
  .settings-nav a{display:inline-flex;margin:0 6px 8px 0}
  .email-form-layout{grid-template-columns:1fr}
  .email-builder-list,.email-builder-help{position:static;max-height:none;overflow:visible}
  .module-tabs a{flex:1 1 160px;text-align:center}
  .settings-upload-grid,.settings-current-logo-grid,.settings-toggle-grid{grid-template-columns:1fr}
  .settings-placeholder-list{grid-template-columns:1fr}
  .settings-health-grid{grid-template-columns:1fr}
  .auth-form-grid,.signup-choice-grid,.signup-subscription-grid{grid-template-columns:1fr}
  .signup-plan-choice-grid{grid-template-columns:1fr}
  .signup-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-toggle-wrap{display:grid;width:100%}
  .signup-plan-card--choice{min-height:148px}
  .signup-stepper__steps{border-radius:18px}
  .signup-stepper__steps li{padding:0 8px}
  .global-user-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .global-user-filters{grid-template-columns:1fr 1fr}
  .global-user-filter-actions{grid-column:1/-1}
  .host-studios-table{display:none}
  .host-studio-cards{display:grid}
  .host-studio-searchbar{grid-template-columns:1fr 1fr}
  .host-studio-searchbar__query,.host-studio-searchbar__actions{grid-column:1/-1}
  .host-studio-row{grid-template-columns:1fr;gap:14px}
  .host-studio-row__meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .host-studio-row__action{justify-content:flex-start}
  .studio-profile-edit-side{position:static}
  .studio-control-identity,.host-studio-card dl,.studio-control-details,.studio-snapshot-groups{grid-template-columns:1fr}
  .studio-snapshot-groups--cards .studio-snapshot-card:nth-child(4){margin-top:0}
  .studio-control-hero__actions{justify-content:flex-start}
  .studio-control-action-menu{margin-top:-4px}
  .studio-control-hero-facts{grid-template-columns:110px minmax(0,1fr)}
  .studio-profile-contact-row--two,.studio-profile-contact-row--three{grid-template-columns:1fr}
  .studio-control-snapshot,.studio-feature-grid,.studio-control-mini-grid,.studio-scaffold-grid,.studio-form-grid,.studio-toggle-grid,.studio-data-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .studio-view-mirror-grid,.host-module-map-grid,.host-module-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .studio-feature-card{min-height:0}
  .table{min-width:560px}
  .table-scroll{border-radius:14px}
  .builder-panel,.builder-settings{position:static}
  .builder-toolbar,.page-builder-topbar{align-items:stretch;flex-direction:column}
  .builder-preview-modes{display:grid;grid-template-columns:repeat(3,1fr)}
  .gjs-editor-layout{grid-template-columns:1fr;min-height:0}
  .gjs-side-panel{max-height:none;border:0;border-bottom:1px solid var(--line)}
  .gjs-side-panel-right{border-left:0}
  .gjs-block{width:calc(50% - 8px)}
  .builder-section{padding:38px 20px}
  .rms-gjs-hero{grid-template-columns:1fr;padding-top:48px}
  .rms-gjs-actions .btn{width:100%}
}
@media(min-width:701px) and (max-width:900px){
  .admin-shell{grid-template-columns:240px minmax(0,1fr)}
  .admin-sidebar{position:sticky;top:0;width:240px;height:100vh;padding:18px 14px;overflow-x:hidden;overflow-y:auto}
  .admin-sidebar__brand{display:grid;grid-template-columns:40px minmax(0,1fr) 34px;gap:10px}
  .admin-brand-text{display:block}
  .admin-sidebar-collapse{display:inline-flex}
  .admin-mobile-menu-toggle{display:none}
  .admin-nav{display:grid;margin-top:0}
  .admin-subnav{display:grid;margin:-2px 0 6px 18px;padding-left:10px;border-left:1px solid rgba(255,255,255,.18)}
  body.admin-sidebar-collapsed .admin-shell{grid-template-columns:76px minmax(0,1fr)}
  body.admin-sidebar-collapsed .admin-sidebar{width:76px;padding:18px 10px}
  body.admin-sidebar-collapsed .admin-sidebar__brand{grid-template-columns:1fr;justify-items:center}
  body.admin-sidebar-collapsed .admin-brand-text,
  body.admin-sidebar-collapsed .admin-nav__text,
  body.admin-sidebar-collapsed .admin-subnav{display:none}
  body.admin-sidebar-collapsed .admin-nav__link{justify-content:center;gap:0;padding:7px 0}
}
@media(max-width:700px){
  .signup-pricing-carousel{overflow:hidden;width:100%;padding:0 4px 12px}
  .signup-pricing-carousel__viewport{width:100%;overflow:hidden}
  .signup-pricing-carousel__track{display:flex;grid-template-columns:none;gap:0;align-items:stretch;transition:transform .22s ease;will-change:transform}
  .signup-pricing-card{flex:0 0 100%;width:100%;max-width:100%;box-sizing:border-box}
  .pricing-carousel-arrow{position:absolute;top:44%;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(49,89,67,.18);border-radius:999px;background:#fff;color:#17201a;box-shadow:0 12px 26px rgba(15,23,42,.14);font-size:34px;font-weight:650;line-height:1;cursor:pointer;transition:transform .16s ease,opacity .16s ease,box-shadow .16s ease}
  .pricing-carousel-arrow:hover,.pricing-carousel-arrow:focus-visible{transform:translateY(-1px);box-shadow:0 16px 34px rgba(15,23,42,.18)}
  .pricing-carousel-arrow[disabled]{opacity:.42;cursor:not-allowed;transform:none;box-shadow:0 8px 18px rgba(15,23,42,.10)}
  .pricing-carousel-arrow--prev{left:8px}
  .pricing-carousel-arrow--next{right:8px}
  .pricing-carousel-dots{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px}
  .pricing-carousel-dot{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(23,32,26,.26);cursor:pointer;transition:width .16s ease,background-color .16s ease,opacity .16s ease}
  .pricing-carousel-dot--active{width:24px;background:#17201a}
  .billing-toggle-wrap{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .billing-toggle-option{width:100%;min-height:44px;padding:0 10px}
  .signup-pricing-card{width:100%;max-width:100%;padding:20px}
  .signup-pricing-card__cta{width:100%}
  .signup-consent-panel{padding:14px;border-radius:14px}
  .signup-consent-option{gap:10px;font-size:15px}
  .signup-consent-summary,.signup-billing-terms{font-size:14px}
  .password-requirements--checklist{padding:13px;border-radius:14px}
  .password-requirements__list{gap:7px}
  .password-requirements__list li{align-items:flex-start;line-height:1.35}
  .studio-type-selector{grid-template-columns:1fr;gap:10px}
  .studio-type-option{width:100%;min-height:54px;justify-content:flex-start;border-radius:16px;text-align:left;padding:14px 16px}
  .studio-type-option span{justify-content:space-between;width:100%}
}
@media(max-width:560px){
  .site-header__inner{padding:14px 20px}
  .site-nav.is-open{grid-template-columns:1fr}
  .site-nav .btn{grid-column:1/-1}
  .section,.grid,.hero{padding-left:20px;padding-right:20px}
  .card,.feature,.admin-card,.metric-card{padding:20px}
  .auth-panel,.signup-panel,.auth-form-card{padding:22px;border-radius:18px}
  .signup-plan-card--choice{min-height:132px;padding:18px;border-radius:20px}
  .signup-plan-card--choice:after{top:18px;right:18px}
  .signup-plan-card--premium .signup-billing-toggle{grid-template-columns:1fr}
  .signup-pricing-page{padding:16px;border-radius:22px}
  .signup-pricing-card{padding:18px;border-radius:20px}
  .signup-pricing-card__header{padding-top:18px}
  .signup-pricing-card__cta{width:100%}
  .signup-stepper__steps{grid-template-columns:1fr;padding:6px;border-radius:16px}
  .signup-stepper__actions{display:grid;grid-template-columns:1fr}
  .signup-stepper__actions .btn{width:100%}
  .global-user-summary,.global-user-filters{grid-template-columns:1fr}
  .email-builder-spacing{grid-template-columns:1fr 1fr}
  .global-user-filter-actions{display:grid}
  .admin-main,.portal-main{padding:18px}
  .admin-page-header h1{font-size:30px}
  .admin-accordion__button{font-size:18px;align-items:flex-start}
  .admin-accordion__button[aria-controls="messenger-access-content"] {
    align-items: center;
    padding: 0.8rem 0.9rem;
    border-radius: 0.85rem;
    font-size: 18px;
  }
  .admin-accordion__button[aria-controls="messenger-access-content"] span:first-child {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  #messenger-access-content {
    padding: 0.85rem;
    border-radius: 0.85rem;
  }
  #messenger-access-content .profile-grid {
    grid-template-columns: 1fr;
  }
  #messenger-access-content .inline-checkbox {
    align-items: flex-start;
    width: 100%;
  }
  #messenger-access-content input[type="checkbox"] {
    margin-top: 0.1rem;
  }
  #messenger-access-content input[type="datetime-local"] {
    max-width: none;
  }
  .user-profile-section.admin-accordion__item > .admin-accordion__button {
    align-items: center;
    padding: 0.8rem 0.9rem;
    border-radius: 0.85rem;
    font-size: 18px;
  }
  .user-profile-section.admin-accordion__item > .admin-accordion__button span:first-child {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .user-profile-section.admin-accordion__item > .admin-accordion__content {
    padding: 0.85rem;
    border-radius: 0.85rem;
  }
  .admin-accordion__item > .admin-accordion__button {
    align-items: center;
    padding: 0.8rem 0.9rem;
    border-radius: 0.85rem;
    font-size: 18px;
  }
  .admin-accordion__item > .admin-accordion__button span:first-child {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .admin-accordion__item > .admin-accordion__content {
    padding: 0.85rem;
    border-radius: 0.85rem;
  }
  .admin-card.admin-accordion__item,
  .settings-section.admin-accordion__item,
  .studio-control-section.admin-accordion__item {
    border-radius: 0.9rem;
  }
  .admin-accordion__content .inline-checkbox {
    align-items: flex-start;
  }
  .admin-accordion__content .inline-checkbox input[type="checkbox"] {
    margin-top: 0.12rem;
  }
  .admin-accordion__content .admin-section-save {
    display: grid;
  }
  .admin-section-save .btn{width:100%}
  .btn{width:100%}
  .media-filters{grid-template-columns:1fr}
  .media-filters label:first-child,.media-filter-actions{grid-column:auto}
  .media-filter-actions{grid-template-columns:1fr}
  .media-card__title-row{display:grid}
  .media-url-field span{grid-template-columns:1fr}
  .media-card__actions{display:grid}
  .media-card__actions form{width:100%}
  .media-card__actions .btn,.media-card__actions .media-copy-button{width:100%;justify-content:center}
  .media-preview img,.media-preview video{height:190px}
  .email-builder-page-toolbar__actions{display:grid;grid-template-columns:1fr 1fr}
  .email-builder-page-toolbar__actions .btn{width:100%}
  .email-builder-canvas--official{margin-left:-10px;margin-right:-10px;border-left:0;border-right:0;border-radius:0}
  .email-builder-official-frame{height:68vh;min-height:500px}
  .email-builder-canvas--official>.muted{font-size:12px}
  .email-template-targets{grid-template-columns:1fr}
  .email-merge-tags-panel{padding:12px}
  .email-merge-tags-panel__header{display:grid}
  .email-merge-tag-contexts{display:grid;grid-template-columns:1fr 1fr}
  .merge-tag-context-filter{width:100%}
  .email-merge-tag-card__actions .btn{width:100%}
  .email-template-saved__header{display:grid}
  .email-template-saved-filters{grid-template-columns:1fr}
  .email-template-saved-filters label:first-child,
  .email-template-saved-filters__actions{grid-column:auto}
  .email-template-saved-filters__actions{display:grid}
  .email-template-saved-filters__actions .btn{width:100%;justify-content:center}
  .email-template-table{min-width:0}
  .email-template-table thead{display:none}
  .email-template-table,.email-template-table tbody,.email-template-table tr,.email-template-table td{display:block;width:100%}
  .email-template-table tr{padding:12px;border-bottom:1px solid #e5e7eb;background:#fff}
  .email-template-table td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:start;padding:9px 0;border-bottom:0}
  .email-template-table td::before{content:attr(data-label);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:850;color:#6b7280}
  .email-template-table td[data-label="Template"],
  .email-template-table td[data-label="Actions"],
  .email-template-table td[data-label="Used by"]{grid-template-columns:1fr}
  .email-template-table td[data-label="Template"]::before,
  .email-template-table td[data-label="Actions"]::before,
  .email-template-table td[data-label="Used by"]::before{margin-bottom:2px}
  .email-template-actions .btn{width:100%}
  .table{min-width:520px}
  .gjs-block{width:100%}
  .studio-control-hero{padding:22px;border-radius:18px}
  .studio-control-hero__panel{padding:14px}
  .studio-control-action-menu{display:grid;grid-template-columns:1fr;padding:10px}
  .studio-control-hero-facts{grid-template-columns:1fr}
  .studio-setup-step-grid{grid-template-columns:1fr}
  .studio-setup-step{min-height:0}
  .studio-workflow-summary{grid-template-columns:1fr}
  .studio-workflow-progress-ring{width:96px;height:96px;border-width:8px}
  .studio-setup-step>.btn{width:100%;justify-content:center}
  .studio-attention-item{display:grid}
  .studio-attention-item .btn{width:100%;justify-content:center}
  .studio-control-accordion{padding:0}
  .studio-control-accordion>summary{align-items:flex-start}
  .studio-control-accordion>summary em{display:none}
  .host-studio-searchbar,.host-studio-row__meta{grid-template-columns:1fr}
  .host-studio-row__main{display:grid}
  .host-studio-row__action .btn{width:100%}
  .studio-control-snapshot,.studio-feature-grid,.studio-control-mini-grid,.studio-scaffold-grid,.studio-scaffold-list,.studio-form-grid,.studio-toggle-grid,.studio-data-list{grid-template-columns:1fr}
  .studio-pos-mirror-summary,.studio-pos-check-grid{grid-template-columns:1fr}
  .studio-pos-mirror-details div{grid-template-columns:1fr;gap:4px}
  .studio-pos-readiness-heading{display:grid;align-items:start}
  .studio-view-mirror-grid,.host-module-map-grid,.host-module-summary-grid{grid-template-columns:1fr}
  .host-module-card{min-height:0}
  .host-module-card__top{display:grid}
  .host-module-card dl{grid-template-columns:1fr}
  .host-module-card__actions{display:grid}
  .host-module-card__actions .btn{width:100%;justify-content:center}
  .studio-control-module-group{padding:14px;border-radius:16px}
  .studio-module-card{padding:14px;border-radius:16px}
  .studio-module-card__top{align-items:flex-start}
  .studio-module-card__actions{display:grid}
  .studio-module-card__actions .btn,.studio-module-toggle-form .btn,.studio-module-manager-actions .btn,.studio-message-review-header .btn,.studio-message-row .btn{width:100%;justify-content:center}
  .studio-module-switch{min-height:44px}
  .studio-module-manager-actions{display:grid}
  .studio-module-manager-panel .studio-module-toggle-form--manager{grid-template-columns:1fr}
  .studio-message-detail-panel{padding:14px;border-radius:14px}
  .studio-message-detail-panel__message{padding:12px}
  .studio-snapshot-card:nth-child(5),.studio-snapshot-card:nth-child(6),.studio-snapshot-groups--cards .studio-snapshot-card:nth-child(5){grid-column:auto}
  .studio-snapshot-actions{display:grid}
  .studio-snapshot-actions .btn{width:100%;justify-content:center}
  .studio-control-tabs{border-radius:16px}
  .studio-feature-card .btn{width:100%}
  .subscription-actions,.studio-class-actions,.studio-waitlist-row__actions{grid-template-columns:1fr}
  .studio-class-list dl,.studio-class-activity-list dl,.customer-class-grid dl{grid-template-columns:minmax(0,1fr) auto}
  .studio-calendar-month-grid{grid-template-columns:1fr}
  .studio-live-calendar__controls .btn,
  .studio-live-calendar__view-switch button{flex:1 1 120px}
  .cookie-banner{grid-template-columns:1fr;align-items:start;left:12px;right:12px;bottom:12px}
  .cookie-banner__actions,.cookie-modal__actions{display:grid;grid-template-columns:1fr;width:100%}
  .cookie-banner__actions .btn,.cookie-modal__actions .btn{width:100%;justify-content:center}
  .cookie-modal{align-items:flex-end;padding:12px}
  .cookie-modal__panel{max-height:calc(100vh - 24px);padding:18px;border-radius:18px}
}

@media(max-width:480px){
  .site-header__inner,.nav{gap:12px}
  .brand-logo{width:var(--logo-mobile-width,164px)}
  .admin-main,.portal-main{padding:14px}
  .section,.grid,.hero{padding-left:16px;padding-right:16px}
  .admin-page-header{margin-bottom:16px}
  .admin-page-header h1{font-size:26px;line-height:1.12}
  .admin-card,.metric-card,.studio-dashboard-panel,.studio-dashboard-summary-card,.subscription-plan-card,.subscription-studio-card,.media-card__body,.email-builder-panel,.email-builder-list,.email-builder-help{padding:16px}
  .studio-dashboard-topbar,.studio-dashboard-hero{padding:16px;border-radius:18px}
  .studio-dashboard-metrics,.studio-dashboard-summary-grid,.dashboard-grid,.global-user-summary,.media-grid,.customer-class-grid,.studio-classes-summary-grid,.studio-classes-connection-grid,.studio-room-selection-summary,.customer-classes-hero__stats{grid-template-columns:1fr}
  .studio-classes-hero__actions{display:grid}
  .studio-classes-hero__actions .btn{width:100%;justify-content:center}
  .studio-room-panel-header{padding:14px;border-radius:16px}
  .studio-room-panel-header h2{font-size:22px}
  .studio-room-step{border-radius:16px}
  .studio-room-form .rms-field{padding:12px;border-radius:14px}
  .studio-room-form .rms-field__control,
  .studio-room-form .rms-select{min-height:46px}
  .studio-room-form .rms-form-actions,
  .studio-room-form .rms-form-actions .btn{width:100%;justify-content:center}
  .studio-dashboard-metrics strong,.studio-dashboard-summary-card strong,.global-user-summary strong{font-size:28px}
  .signup-pricing-page{padding:14px;border-radius:20px}
  .signup-pricing-hero h3{font-size:clamp(32px,10vw,44px);line-height:1.05}
  .signup-pricing-hero p:not(.eyebrow){font-size:14px}
  .signup-pricing-card{padding:18px;border-radius:20px}
  .signup-pricing-card__header{padding-right:30px}
  .signup-pricing-card__amount{font-size:clamp(32px,12vw,44px)}
  .signup-pricing-card__interval{font-size:14px}
  .billing-toggle-option{gap:5px;font-size:13px}
  .billing-toggle-option span{padding:0 6px;font-size:10px}
  .pricing-carousel-arrow{top:42%;width:40px;height:40px;font-size:30px}
  .pricing-carousel-arrow--prev{left:6px}
  .pricing-carousel-arrow--next{right:6px}
  .studio-type-selector{margin-top:0}
  .studio-type-option{font-size:15px}
  .module-tabs a,.studio-control-tabs a{flex:1 1 100%;justify-content:center}
  .admin-nav__link,.portal-nav a{min-height:46px}
  .table{min-width:480px}
  .table th,.table td{padding:10px 12px}
  .studio-class-list dl,.studio-class-activity-list dl,.customer-class-grid dl{grid-template-columns:1fr;gap:4px}
  .studio-class-list dd,.studio-class-activity-list dd,.customer-class-grid dd{text-align:left}
  .email-builder-page-toolbar__actions,.email-template-filter-actions{grid-template-columns:1fr}
  .email-template-table td{grid-template-columns:1fr}
  .status-badge{max-width:100%;white-space:normal}
}
.account-danger-zone {
  border-color: rgba(185, 28, 28, 0.25);
}

.danger-zone-summary,
.danger-zone-impact {
  margin-top: 14px;
}

.danger-zone-impact h3 {
  margin: 0 0 10px;
  font-size: 1rem;
}

.danger-zone-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.danger-zone-action {
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 10px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.75);
}

.danger-zone-delete {
  border-color: rgba(185, 28, 28, 0.3);
  background: rgba(254, 242, 242, 0.65);
}

.danger-zone-confirmation {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(185, 28, 28, 0.22);
  border-radius: 12px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.72);
}

.danger-zone-confirmation h3 {
  margin: 0;
  font-size: 1rem;
}

.danger-zone-action-card {
  border-color: rgba(217, 119, 6, 0.24);
  background: rgba(255, 251, 235, 0.58);
}

.danger-zone-help {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.danger-confirm-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  line-height: 1.45;
}

.danger-confirm-check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 2px 0 0;
}

.danger-confirm-check span {
  min-width: 0;
}

.danger-confirm-input {
  display: grid;
  gap: 6px;
  margin: 0;
}

.btn.danger {
  background: #b91c1c;
  border-color: #b91c1c;
  color: #fff;
}

.btn.danger:hover,
.btn.danger:focus {
  background: #991b1b;
  border-color: #991b1b;
}

.btn[disabled] {
  cursor: not-allowed;
  opacity: 0.55;
}

@media (max-width: 640px) {
  .danger-zone-actions {
    grid-template-columns: 1fr;
  }

  .danger-zone-action .btn {
    width: 100%;
  }
}

.inbox-metrics {
  margin-bottom: 18px;
}

.inbox-metrics--admin {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.inbox-admin-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.inbox-admin-note p {
  margin: 0;
}

.inbox-shell {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.65fr) minmax(240px, 0.85fr);
  gap: 16px;
  align-items: start;
}

.inbox-list-panel,
.inbox-thread-panel,
.inbox-details-panel {
  min-width: 0;
  background: #fff;
  border: 1px solid #e8e1f2;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 14px 40px rgba(42,35,62,.07);
}

.inbox-list-panel {
  display: grid;
  gap: 14px;
}

.inbox-panel-header,
.inbox-thread-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.inbox-panel-header h2,
.inbox-thread-header h2 {
  margin: 0;
}

.inbox-thread-header p {
  margin-bottom: 0;
  color: var(--muted);
  font-weight: 700;
}

.inbox-thread-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.inbox-filterbar,
.inbox-new-form,
.inbox-control-form,
.inbox-reply-form {
  display: grid;
  gap: 12px;
}

.inbox-filterbar {
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  align-items: end;
}

.inbox-filterbar--admin {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inbox-filterbar .btn,
.inbox-control-form .btn,
.inbox-reply-form .btn,
.inbox-new-form .btn {
  width: max-content;
}

.inbox-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.inbox-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  color: #374151;
  font-weight: 850;
  font-size: 13px;
  background: #f9fafb;
}

.inbox-tabs a.is-active,
.inbox-tabs a:hover {
  border-color: #315943;
  color: #315943;
  background: #edf7f0;
}

.inbox-type-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-right: 5px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef5ef;
  color: #315943;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.inbox-conversation-list {
  display: grid;
  gap: 10px;
  max-height: 68vh;
  overflow: auto;
  padding-right: 2px;
}

.inbox-conversation-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  border: 1px solid #eee8f6;
  border-radius: 14px;
  padding: 12px;
  color: #2b2438;
  background: #fbfaff;
  text-decoration: none;
}

.inbox-conversation-card:hover,
.inbox-conversation-card.is-active {
  border-color: #9d7be8;
  box-shadow: 0 12px 30px rgba(109,75,195,.12);
}

.inbox-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #315943;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  flex: 0 0 auto;
}

.inbox-conversation-card__body {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.inbox-conversation-card__body strong,
.inbox-conversation-card__body small,
.inbox-conversation-card__body em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbox-conversation-card__body small {
  color: #6b7280;
  font-weight: 750;
}

.inbox-conversation-card__body em {
  color: #4b5563;
  font-style: normal;
  font-size: 13px;
}

.inbox-conversation-card__meta {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.inbox-unread {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
  border-radius: 999px;
  padding: 2px 7px;
  background: #b91c1c;
  color: #fff;
  font-weight: 900;
  font-size: 12px;
}

.inbox-message-list {
  display: grid;
  gap: 12px;
  max-height: 60vh;
  overflow: auto;
  padding: 4px 4px 16px;
}

.inbox-message {
  max-width: 78%;
  justify-self: start;
  border: 1px solid #e5e7eb;
  border-radius: 16px 16px 16px 6px;
  padding: 12px 14px;
  background: #f9fafb;
}

.inbox-message.is-own {
  justify-self: end;
  border-color: #bdd8c6;
  border-radius: 16px 16px 6px 16px;
  background: #edf7f0;
}

.inbox-message.is-private-note {
  border-color: #fde68a;
  background: #fffbeb;
}

.inbox-message.is-system {
  justify-self: center;
  max-width: 92%;
  border-color: #d1d5db;
  border-radius: 14px;
  background: #f3f4f6;
  color: #374151;
}

.inbox-private-note-label {
  display: block;
  margin: -2px 0 8px;
  color: #92400e;
  font-weight: 850;
}

.inbox-message__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 850;
}

.inbox-message p {
  margin: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.inbox-reply-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.inbox-note-form {
  border: 1px solid #fde68a;
  border-radius: 14px;
  padding: 12px;
  background: #fffbeb;
}

.inbox-action-row {
  margin-top: 12px;
}

.inbox-muted-note {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #4b5563;
  font-weight: 850;
}

.inbox-compose-card,
.inbox-report-box,
.inbox-report-inline {
  border: 1px solid #eee8f6;
  border-radius: 14px;
  background: #fbfaff;
}

.inbox-compose-card {
  padding: 0;
  overflow: hidden;
}

.inbox-compose-card + .inbox-compose-card,
.inbox-public-groups {
  margin-top: 12px;
}

.inbox-compose-card > summary,
.inbox-report-box > summary,
.inbox-report-inline > summary {
  cursor: pointer;
  padding: 12px;
  font-weight: 950;
  color: #2b2438;
}

.inbox-compose-card > .inbox-new-form,
.inbox-report-box > .inbox-control-form {
  padding: 0 12px 12px;
}

.inbox-report-box {
  margin-top: 14px;
  background: #fff;
}

.inbox-report-list {
  display: grid;
  gap: 10px;
  margin: 14px 0;
}

.inbox-report-list article {
  border: 1px solid #eee8f6;
  border-radius: 14px;
  padding: 12px;
  background: #fff;
}

.inbox-report-list strong,
.inbox-report-list small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.inbox-report-list small {
  color: #6b7280;
  font-weight: 750;
}

.inbox-report-inline {
  margin-top: 10px;
  background: rgba(255,255,255,.72);
}

.inbox-report-inline form {
  display: grid;
  gap: 8px;
  padding: 0 10px 10px;
}

.inbox-report-inline .btn {
  width: max-content;
}

.inbox-public-groups {
  display: grid;
  gap: 10px;
  padding-top: 4px;
}

.inbox-public-groups h3 {
  margin: 0;
}

.inbox-public-group-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 12px;
  background: #fff;
}

.inbox-public-group-card strong,
.inbox-public-group-card small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.inbox-public-group-card small {
  color: #6b7280;
  font-weight: 750;
}

.inbox-empty-state {
  display: grid;
  align-content: center;
  min-height: 340px;
  text-align: center;
  color: var(--muted);
}

.inbox-details-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 8px 12px;
  margin: 0 0 16px;
}

.inbox-details-list dt {
  color: #6b7280;
  font-weight: 850;
}

.inbox-details-list dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: 800;
}

.inbox-breakdown-card {
  margin-bottom: 18px;
}

.inbox-breakdown-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.inbox-breakdown-grid article {
  border: 1px solid #eee8f6;
  border-radius: 14px;
  padding: 12px;
  background: #fbfaff;
}

.inbox-breakdown-grid strong,
.inbox-breakdown-grid span {
  display: block;
}

.inbox-breakdown-grid span {
  margin: 4px 0;
  font-size: 26px;
  font-weight: 950;
  color: #315943;
}

.inbox-breakdown-grid p {
  margin: 0;
  color: #6b7280;
  font-weight: 700;
}

.inbox-badge-stack {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.inbox-admin-summary-grid {
  margin-bottom: 14px;
}

.inbox-preview-list {
  margin-top: 14px;
}

.inbox-moderation-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0 18px;
}

.inbox-moderation-form {
  border: 1px solid #eee8f6;
  border-radius: 14px;
  padding: 10px;
  background: #fbfaff;
}

.inbox-danger-form {
  border-color: #fecaca;
  background: #fff1f2;
}

.inbox-mini-list {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.inbox-mini-list article {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.inbox-mini-list strong,
.inbox-mini-list small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.inbox-participant-picker {
  display: grid;
  gap: 8px;
  border: 1px dashed #cdbfad;
  border-radius: 14px;
  padding: 12px;
  background: #fbf8f3;
}

.inbox-participant-picker label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  font-weight: 850;
}

.inbox-participant-picker input[type="checkbox"] {
  width: 17px;
  height: 17px;
  margin-top: 2px;
  flex: 0 0 auto;
}

.inbox-participant-picker small {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

@media(max-width:1100px) {
  .inbox-shell {
    grid-template-columns: minmax(240px, .9fr) minmax(0, 1.4fr);
  }

  .inbox-details-panel {
    grid-column: 1 / -1;
  }
}

@media(max-width:760px) {
  .inbox-shell,
  .inbox-reply-grid,
  .inbox-filterbar,
  .inbox-filterbar--admin,
  .inbox-public-group-card {
    grid-template-columns: 1fr;
  }

  .inbox-conversation-list,
  .inbox-message-list {
    max-height: none;
  }

  .inbox-message {
    max-width: 100%;
  }

  .inbox-filterbar .btn,
  .inbox-control-form .btn,
  .inbox-reply-form .btn,
  .inbox-new-form .btn,
  .inbox-report-inline .btn,
  .inbox-public-group-card .btn {
    width: 100%;
    justify-content: center;
  }

  .inbox-admin-note {
    display: grid;
  }
}

@media(max-width:520px) {
  .inbox-list-panel,
  .inbox-thread-panel,
  .inbox-details-panel {
    padding: 12px;
    border-radius: 14px;
  }

  .inbox-conversation-card {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .inbox-conversation-card__meta,
  .inbox-conversation-card > .inbox-unread {
    grid-column: 2;
    justify-self: start;
  }

  .inbox-avatar {
    width: 38px;
    height: 38px;
  }

  .inbox-details-list {
    grid-template-columns: 1fr;
  }
}

/* Messenger class aliases. Keep the legacy inbox-* rules above for staging redirects and cached pages. */
.messenger-metrics {
  margin-bottom: 18px;
}

.messenger-metrics--admin {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.messenger-admin-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.messenger-admin-note p {
  margin: 0;
}

.studio-messenger-review-page {
  display: grid;
  gap: 1.1rem;
  min-width: 0;
}

.studio-messenger-review-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
}

.studio-messenger-review-hero h1,
.studio-messenger-review-hero p {
  margin: 0;
}

.studio-messenger-review-hero .eyebrow {
  margin-bottom: 0.3rem;
}

.studio-messenger-review-hero p:not(.eyebrow) {
  margin-top: 0.4rem;
  max-width: 74ch;
  color: #64748b;
  line-height: 1.55;
}

.studio-messenger-review-notices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.studio-messenger-notice {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 1rem;
  background: rgba(248, 250, 252, 0.92);
}

.studio-messenger-notice--warning {
  background: rgba(255, 251, 235, 0.78);
}

.studio-messenger-notice > summary,
.studio-messenger-accordion > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
}

.studio-messenger-notice > summary {
  padding: 0.9rem 1rem;
}

.studio-messenger-notice > summary::-webkit-details-marker,
.studio-messenger-accordion > summary::-webkit-details-marker {
  display: none;
}

.studio-messenger-notice > summary span,
.studio-messenger-accordion > summary span {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  font-weight: 850;
}

.studio-messenger-notice > summary small,
.studio-messenger-accordion > summary small {
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.studio-messenger-notice > summary em,
.studio-messenger-accordion > summary em {
  flex: 0 0 auto;
  color: #64748b;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 800;
}

.studio-messenger-notice > p {
  margin: 0;
  padding: 0 1rem 1rem;
  color: #64748b;
  line-height: 1.45;
}

.studio-messenger-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.studio-messenger-stat-card {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.studio-messenger-stat-card__label {
  display: block;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-messenger-stat-card strong {
  display: block;
  margin-top: 0.25rem;
  color: #111827;
  font-size: 1.4rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.studio-messenger-stat-card small {
  display: block;
  margin-top: 0.35rem;
  color: #64748b;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.studio-messenger-stat-card--wide {
  grid-column: span 2;
}

.studio-messenger-accordion {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
}

.studio-messenger-accordion > summary {
  padding: 1rem 1.15rem;
}

.studio-messenger-accordion[open] > summary {
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.studio-messenger-accordion__body {
  display: grid;
  gap: 0.9rem;
  padding: 1rem 1.15rem 1.15rem;
}

.studio-messenger-breakdown-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.studio-messenger-breakdown-card {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.88);
}

.studio-messenger-breakdown-card div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.studio-messenger-breakdown-card__label {
  color: #111827;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.studio-messenger-breakdown-card strong {
  font-size: 1.25rem;
}

.studio-messenger-breakdown-card p {
  margin: 0.45rem 0 0;
  color: #64748b;
  line-height: 1.4;
}

.studio-messenger-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media(max-width:900px) {
  .studio-messenger-review-hero {
    display: grid;
  }

  .studio-messenger-review-notices {
    grid-template-columns: 1fr;
  }

  .studio-messenger-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .studio-messenger-breakdown-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:700px) {
  .studio-messenger-review-page {
    gap: 1rem;
  }

  .studio-messenger-review-hero,
  .studio-messenger-notice,
  .studio-messenger-stat-card,
  .studio-messenger-accordion {
    border-radius: 1rem;
  }

  .studio-messenger-review-hero {
    padding: 1rem;
  }

  .studio-messenger-summary-grid,
  .studio-messenger-breakdown-grid {
    grid-template-columns: 1fr;
  }

  .studio-messenger-stat-card--wide {
    grid-column: auto;
  }

  .studio-messenger-notice > summary,
  .studio-messenger-accordion > summary {
    align-items: flex-start;
    padding: 0.95rem;
  }

  .studio-messenger-notice > summary em,
  .studio-messenger-accordion > summary em {
    font-size: 0.78rem;
  }

  .studio-messenger-notice > p {
    padding: 0 0.95rem 0.95rem;
  }

  .studio-messenger-accordion__body {
    padding: 0.95rem;
  }

  .studio-messenger-review-hero .btn,
  .studio-messenger-actions .btn {
    width: 100%;
    justify-content: center;
  }
}

.messenger-shell {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.65fr) minmax(240px, 0.85fr);
  gap: 16px;
  align-items: start;
}

.messenger-shell--customer,
.messenger-shell--studio {
  grid-template-columns: minmax(280px, .95fr) minmax(0, 1.7fr) minmax(300px, .95fr);
}

.messenger-list-panel,
.messenger-thread-panel,
.messenger-details-panel {
  min-width: 0;
  background: #fff;
  border: 1px solid #e8e1f2;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 14px 40px rgba(42,35,62,.07);
}

.messenger-thread-panel,
.messenger-details-panel {
  display: grid;
  gap: 14px;
}

.messenger-list-panel {
  display: grid;
  gap: 14px;
}

.messenger-panel-header,
.messenger-thread-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.messenger-panel-header .eyebrow,
.messenger-thread-header .eyebrow {
  margin-bottom: 4px;
}

.messenger-panel-header h2,
.messenger-thread-header h2 {
  margin: 0;
}

.messenger-thread-header p {
  margin-bottom: 0;
  color: var(--muted);
  font-weight: 700;
}

.messenger-thread-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.messenger-filterbar,
.messenger-new-form,
.messenger-control-form,
.messenger-reply-form {
  display: grid;
  gap: 12px;
}

.messenger-filterbar {
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  align-items: end;
}

.messenger-filterbar--admin {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.messenger-filterbar .btn,
.messenger-control-form .btn,
.messenger-reply-form .btn,
.messenger-new-form .btn {
  width: max-content;
}

.messenger-new-form input,
.messenger-new-form select,
.messenger-new-form textarea,
.messenger-reply-form textarea,
.messenger-control-form input,
.messenger-control-form select,
.messenger-control-form textarea {
  width: 100%;
}

.messenger-new-form textarea,
.messenger-reply-form textarea,
.messenger-control-form textarea {
  min-height: 106px;
  resize: vertical;
}

.messenger-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.messenger-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  color: #374151;
  font-weight: 850;
  font-size: 13px;
  background: #f9fafb;
}

.messenger-tabs a.is-active,
.messenger-tabs a:hover {
  border-color: #315943;
  color: #315943;
  background: #edf7f0;
}

.messenger-type-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-right: 5px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef5ef;
  color: #315943;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.messenger-conversation-list {
  display: grid;
  gap: 0.45rem;
  max-height: 68vh;
  overflow: auto;
  padding: 0.55rem;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

.messenger-conversation-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  min-height: 58px;
  padding: 0.72rem 0.78rem;
  border: 1px solid transparent;
  border-radius: 0.9rem;
  color: inherit;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.messenger-conversation-row-shell {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.messenger-conversation-row-shell .messenger-conversation-row {
  flex: 1 1 auto;
}

.messenger-conversation-delete-form {
  flex: 0 0 auto;
  margin: 0;
}

.messenger-conversation-delete-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.messenger-conversation-delete-button:hover,
.messenger-conversation-delete-button:focus-visible {
  border-color: rgba(185, 28, 28, 0.22);
  background: #fef2f2;
  color: #b91c1c;
  box-shadow: 0 8px 18px rgba(185, 28, 28, 0.10);
  outline: none;
}

.messenger-conversation-row:hover,
.messenger-conversation-row:focus {
  background: rgba(15, 23, 42, 0.045);
  border-color: rgba(148, 163, 184, 0.24);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
  outline: none;
}

.messenger-conversation-row--active {
  background: #fff;
  border-color: rgba(49, 89, 67, 0.28);
  box-shadow: inset 3px 0 0 #315943, 0 10px 24px rgba(49, 89, 67, 0.09);
}

.messenger-conversation-row__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: #edf7f0;
  color: #315943;
  font-weight: 800;
}

.messenger-conversation-row__avatar--group {
  background: #eef2ff;
  color: #334155;
}

.messenger-conversation-row__main {
  min-width: 0;
  flex: 1;
}

.messenger-conversation-row__name {
  display: block;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.messenger-conversation-row .messenger-conversation-card__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}

.messenger-conversation-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  border: 1px solid #eee8f6;
  border-radius: 14px;
  padding: 12px;
  color: #2b2438;
  background: #fbfaff;
  text-decoration: none;
}

.messenger-conversation-card:hover,
.messenger-conversation-card.is-active {
  border-color: #9d7be8;
  box-shadow: 0 12px 30px rgba(109,75,195,.12);
}

.messenger-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #315943;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  flex: 0 0 auto;
}

.messenger-conversation-card__body {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.messenger-conversation-card__body strong,
.messenger-conversation-card__body small,
.messenger-conversation-card__body em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messenger-conversation-card__body small {
  color: #6b7280;
  font-weight: 750;
}

.messenger-conversation-card__body em {
  color: #4b5563;
  font-style: normal;
  font-size: 13px;
}

.messenger-conversation-card__meta {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.messenger-unread {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
  border-radius: 999px;
  padding: 2px 7px;
  background: #315943;
  color: #fff;
  font-weight: 900;
  font-size: 12px;
  box-shadow: 0 8px 18px rgba(49, 89, 67, 0.2);
}

.messenger-message-list {
  display: grid;
  gap: 12px;
  max-height: 60vh;
  overflow: auto;
  padding: 4px 4px 16px;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

.messenger-message {
  max-width: 78%;
  justify-self: start;
  border: 1px solid #e5e7eb;
  border-radius: 16px 16px 16px 6px;
  padding: 12px 14px;
  background: #f9fafb;
}

.messenger-message.is-own {
  justify-self: end;
  border-color: #bdd8c6;
  border-radius: 16px 16px 6px 16px;
  background: #edf7f0;
}

.messenger-message.is-private-note {
  border-color: #fde68a;
  background: #fffbeb;
}

.messenger-message.is-system {
  justify-self: center;
  max-width: 92%;
  border-color: #d1d5db;
  border-radius: 14px;
  background: #f3f4f6;
  color: #374151;
}

.messenger-private-note-label {
  display: block;
  margin: -2px 0 8px;
  color: #92400e;
  font-weight: 850;
}

.messenger-message__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 850;
}

.messenger-message p {
  margin: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.messenger-reply-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.messenger-note-form {
  border: 1px solid #fde68a;
  border-radius: 14px;
  padding: 12px;
  background: #fffbeb;
}

.messenger-action-row {
  margin-top: 12px;
}

.messenger-muted-note {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f3f4f6;
  color: #4b5563;
  font-weight: 850;
}

.messenger-compose-card,
.messenger-report-box,
.messenger-report-inline {
  border: 1px solid #eee8f6;
  border-radius: 14px;
  background: #fbfaff;
}

.messenger-compose-hub {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eee8f6;
}

.messenger-member-search {
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
}

.messenger-member-search .settings-empty-note {
  margin: -4px 0 0;
}

.messenger-compose-card {
  padding: 0;
  overflow: hidden;
}

.messenger-compose-card + .messenger-compose-card,
.messenger-public-groups {
  margin-top: 12px;
}

.messenger-compose-card > summary,
.messenger-report-box > summary,
.messenger-report-inline > summary {
  cursor: pointer;
  padding: 12px;
  font-weight: 950;
  color: #2b2438;
}

.messenger-compose-card > .messenger-new-form,
.messenger-report-box > .messenger-control-form {
  padding: 0 12px 12px;
}

.messenger-report-box {
  margin-top: 14px;
  background: #fff;
}

.messenger-report-list {
  display: grid;
  gap: 10px;
  margin: 14px 0;
}

.messenger-report-list article {
  border: 1px solid #eee8f6;
  border-radius: 14px;
  padding: 12px;
  background: #fff;
}

.messenger-report-list strong,
.messenger-report-list small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.messenger-report-list small {
  color: #6b7280;
  font-weight: 750;
}

.messenger-report-inline {
  margin-top: 10px;
  background: rgba(255,255,255,.72);
}

.messenger-report-inline form {
  display: grid;
  gap: 8px;
  padding: 0 10px 10px;
}

.messenger-report-inline .btn {
  width: max-content;
}

.messenger-public-groups {
  display: grid;
  gap: 10px;
  padding-top: 4px;
}

.messenger-public-groups h3 {
  margin: 0;
}

.messenger-public-group-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 12px;
  background: #fff;
}

.messenger-public-group-card strong,
.messenger-public-group-card small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.messenger-public-group-card small {
  color: #6b7280;
  font-weight: 750;
}

.messenger-empty-state {
  position: relative;
  display: grid;
  place-content: center;
  flex: 1 1 auto;
  min-height: 340px;
  text-align: center;
  color: var(--muted);
  padding: 2rem;
}

.messenger-empty-state::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  margin: 0 auto 16px;
  border: 1px solid rgba(49, 89, 67, 0.16);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(49, 89, 67, 0.14), rgba(148, 163, 184, 0.12)),
    #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.messenger-empty-state h2 {
  margin-bottom: 0.35rem;
  color: #111827;
}

.messenger-empty-state p {
  max-width: 32rem;
  margin-inline: auto;
}

.messenger-details-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 8px 12px;
  margin: 0 0 16px;
}

.messenger-details-list dt {
  color: #6b7280;
  font-weight: 850;
}

.messenger-details-list dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: 800;
}

.messenger-breakdown-card {
  margin-bottom: 18px;
}

.messenger-breakdown-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.messenger-breakdown-grid article {
  border: 1px solid #eee8f6;
  border-radius: 14px;
  padding: 12px;
  background: #fbfaff;
}

.messenger-breakdown-grid strong,
.messenger-breakdown-grid span {
  display: block;
}

.messenger-breakdown-grid span {
  margin: 4px 0;
  font-size: 26px;
  font-weight: 950;
  color: #315943;
}

.messenger-breakdown-grid p {
  margin: 0;
  color: #6b7280;
  font-weight: 700;
}

.messenger-badge-stack {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.messenger-admin-summary-grid {
  margin-bottom: 14px;
}

.messenger-preview-list {
  margin-top: 14px;
}

.messenger-moderation-grid {
  display: grid;
  gap: 10px;
  margin: 12px 0 18px;
}

.messenger-moderation-form {
  border: 1px solid #eee8f6;
  border-radius: 14px;
  padding: 10px;
  background: #fbfaff;
}

.messenger-danger-form {
  border-color: #fecaca;
  background: #fff1f2;
}

.messenger-mini-list {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.messenger-mini-list article {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.messenger-mini-list strong,
.messenger-mini-list small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.messenger-participant-picker {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  padding: 12px;
  background: #f8fafc;
}

.messenger-participant-picker label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  font-weight: 850;
}

.messenger-participant-picker input[type="checkbox"] {
  width: 17px;
  height: 17px;
  margin-top: 2px;
  flex: 0 0 auto;
}

.messenger-participant-picker small {
  display: block;
  color: var(--muted);
  font-weight: 700;
}

.messenger-conversation-create-form {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.messenger-conversation-create-form[hidden] {
  display: none;
}

.messenger-participant-results {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.messenger-participant-results[hidden] {
  display: none;
}

.messenger-participant-result {
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 0.85rem;
  padding: 0.75rem;
  background: #fff;
  cursor: pointer;
  text-align: left;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.messenger-participant-result:hover,
.messenger-participant-result:focus-within {
  border-color: rgba(49, 89, 67, 0.34);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.055);
}

.messenger-participant-result input[type="radio"],
.messenger-participant-result input[type="checkbox"] {
  width: 17px;
  height: 17px;
  margin-top: 2px;
  flex: 0 0 auto;
}

.messenger-participant-result strong,
.messenger-participant-result small {
  display: block;
}

.messenger-conversation-type-selector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}

.messenger-type-card {
  position: relative;
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 1rem;
  background: #fff;
  cursor: pointer;
}

.messenger-type-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.messenger-type-card.is-selected,
.messenger-type-card:has(input:checked) {
  border-color: #111827;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
}

.messenger-type-card:has(input:disabled) {
  cursor: not-allowed;
  opacity: .58;
}

.messenger-type-card__icon {
  font-size: 1.6rem;
}

.messenger-type-card__title {
  font-weight: 800;
}

.messenger-type-card__description {
  color: #64748b;
  font-size: 0.9rem;
}

.messenger-direct-create-area,
.messenger-group-create-area {
  display: grid;
  gap: 12px;
}

.messenger-participant-picker--cards {
  max-height: 280px;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.messenger-participant-picker--autocomplete {
  display: block;
  max-height: min(42vh, 320px);
  overflow-y: auto;
  margin-top: 6px;
  padding: 6px;
  border-color: rgba(15, 23, 42, 0.16);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
  scrollbar-gutter: stable;
}

.messenger-participant-picker--autocomplete .messenger-participant-option {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease;
}

.messenger-participant-picker--autocomplete .messenger-participant-option:hover,
.messenger-participant-picker--autocomplete .messenger-participant-option.is-highlighted {
  border-color: rgba(49, 89, 67, 0.22);
  background: #f4f8f5;
}

.messenger-participant-picker--autocomplete .messenger-participant-option span {
  min-width: 0;
}

.messenger-participant-picker--autocomplete .messenger-participant-option strong,
.messenger-participant-picker--autocomplete .messenger-participant-option small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messenger-participant-picker--autocomplete .messenger-participant-empty {
  margin: 4px;
  padding: 10px;
}

.messenger-new-form .autoComplete_wrapper {
  display: block;
  position: relative;
  width: 100%;
}

.messenger-new-form .autoComplete_wrapper > input {
  width: 100%;
}

.messenger-participant-autocomplete-list,
.messenger-new-form .autoComplete_wrapper > ul[id^="autoComplete_list_"] {
  position: absolute;
  z-index: 60;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  max-height: min(42vh, 320px);
  margin: 0;
  padding: 6px;
  overflow-y: auto;
  list-style: none;
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
  scrollbar-gutter: stable;
}

.messenger-participant-autocomplete-result,
.messenger-new-form .autoComplete_wrapper [id^="autoComplete_result_"] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--text);
  cursor: pointer;
}

.messenger-participant-autocomplete-result:hover,
.messenger-participant-autocomplete-result[aria-selected="true"],
.messenger-participant-autocomplete-result.is-selected,
.messenger-new-form .autoComplete_wrapper [id^="autoComplete_result_"]:hover,
.messenger-new-form .autoComplete_wrapper [id^="autoComplete_result_"][aria-selected="true"] {
  border-color: rgba(49, 89, 67, 0.24);
  background: #f4f8f5;
}

.messenger-participant-autocomplete-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 2px solid #94a3b8;
  border-radius: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
}

.messenger-participant-autocomplete-check.is-checked {
  border-color: var(--brand);
  background: var(--brand);
}

.messenger-participant-autocomplete-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.messenger-participant-autocomplete-copy strong,
.messenger-participant-autocomplete-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messenger-participant-autocomplete-copy small {
  color: var(--muted);
  font-weight: 750;
}

.messenger-participant-autocomplete-empty {
  padding: 10px;
  color: var(--muted);
  font-weight: 800;
}

.messenger-participant-option:has(input:checked) {
  border-radius: 10px;
  border-color: rgba(49, 89, 67, 0.34);
  background: #edf7f0;
}

.messenger-selected-participants {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.messenger-unified-group-subject {
  display: grid;
  gap: 0.45rem;
  padding: 0.75rem;
  border: 1px solid rgba(49, 89, 67, 0.18);
  border-radius: 14px;
  background: rgba(49, 89, 67, 0.06);
}

.messenger-unified-group-subject[hidden] {
  display: none;
}

.messenger-selected-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  padding: 0.4rem 0.7rem;
  background: #edf7f0;
  color: #315943;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.messenger-selected-chip button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 999px;
  background: rgba(49, 89, 67, 0.14);
  color: #315943;
  cursor: pointer;
  font-weight: 950;
}

.messenger-create-error {
  margin: 0;
  color: #b91c1c;
  font-weight: 850;
}

@media(max-width:1100px) {
  .messenger-shell {
    grid-template-columns: minmax(240px, .9fr) minmax(0, 1.4fr);
  }

  .messenger-details-panel {
    grid-column: 1 / -1;
  }

  .messenger-shell--private-review .messenger-list-panel,
  .messenger-shell--private-review .messenger-details-panel {
    position: static;
  }
}

@media(max-width:760px) {
  .messenger-shell,
  .messenger-reply-grid,
  .messenger-filterbar,
  .messenger-filterbar--admin,
  .messenger-public-group-card {
    grid-template-columns: 1fr;
  }

  .messenger-conversation-list,
  .messenger-message-list {
    max-height: none;
  }

  .messenger-message {
    max-width: 100%;
  }

  .messenger-filterbar .btn,
  .messenger-control-form .btn,
  .messenger-reply-form .btn,
  .messenger-new-form .btn,
  .messenger-report-inline .btn,
  .messenger-public-group-card .btn {
    width: 100%;
    justify-content: center;
  }

  .messenger-admin-note {
    display: grid;
  }
}

@media(max-width:520px) {
  .messenger-list-panel,
  .messenger-thread-panel,
  .messenger-details-panel {
    padding: 12px;
    border-radius: 14px;
  }

  .messenger-conversation-card {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .messenger-conversation-card__meta,
  .messenger-conversation-card > .messenger-unread {
    grid-column: 2;
    justify-self: start;
  }

  .messenger-avatar {
    width: 38px;
    height: 38px;
  }

  .messenger-details-list {
    grid-template-columns: 1fr;
  }
}

/* Messenger workspace: one shared chat layer for admin review, studio and customer portals. */
.messenger-shell--portal {
  display: grid;
  grid-template-columns: minmax(320px, 390px) minmax(0, 1fr);
  grid-template-rows: minmax(72px, auto) minmax(0, 1fr);
  align-items: stretch;
  gap: 10px 16px;
  width: 100%;
  height: min(800px, calc(100svh - 126px));
  min-height: min(610px, calc(100svh - 126px));
  max-height: min(800px, calc(100svh - 126px));
  margin: 0;
  padding: 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.messenger-shell--portal::before {
  display: none;
}

.messenger-shell--portal .messenger-details-panel,
.messenger-shell--portal .messenger-list-panel,
.messenger-shell--portal .messenger-thread-panel {
  min-width: 0;
  min-height: 0;
  height: 100%;
  border: 1px solid transparent;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.97)) padding-box,
    linear-gradient(135deg, rgba(20, 184, 166, 0.74), rgba(14, 165, 233, 0.36), rgba(49, 89, 67, 0.42)) border-box;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.1);
  position: relative;
}

.messenger-shell--portal .messenger-details-panel::before,
.messenger-shell--portal .messenger-list-panel::before,
.messenger-shell--portal .messenger-thread-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(90deg, #14b8a6, rgba(49, 89, 67, 0.8), rgba(14, 165, 233, 0.7));
  pointer-events: none;
}

.messenger-shell--portal .messenger-list-panel {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  gap: 9px;
  overflow: hidden;
  padding: 10px;
}

.messenger-shell--portal .messenger-thread-panel {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

.messenger-shell--portal .messenger-details-panel {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: visible;
  padding: 10px;
}

.messenger-chat-window {
  display: flex;
  flex-direction: column;
  min-height: 620px;
  height: calc(100vh - 180px);
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 8px;
  background: #fff;
}

.messenger-shell--portal .messenger-chat-window {
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 10px;
}

.messenger-shell--portal .messenger-panel-header,
.messenger-shell--portal .messenger-thread-header,
.messenger-shell--admin .messenger-thread-header {
  flex: 0 0 auto;
  margin: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94)),
    #fff;
}

.messenger-shell--portal .messenger-panel-header {
  padding: 4px 0 12px;
}

.messenger-shell--portal .messenger-thread-header,
.messenger-shell--admin .messenger-thread-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
}

.messenger-thread-header__identity {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.messenger-thread-header__identity > div {
  min-width: 0;
}

.messenger-thread-header__avatar,
.messenger-participant-avatar {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: #0f172a;
  font-weight: 900;
}

.messenger-thread-header__avatar {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(20, 184, 166, 0.24);
  border-radius: 50%;
  background: linear-gradient(135deg, #e0f2fe, #ccfbf1);
}

.messenger-thread-header__avatar--group {
  background: linear-gradient(135deg, #eef2ff, #fef3c7);
}

.messenger-thread-header h2,
.messenger-conversation-row__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messenger-thread-header p {
  overflow-wrap: anywhere;
}

.messenger-shell--admin .messenger-thread-panel {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.messenger-shell--admin .messenger-message-stream {
  max-height: none;
}

.messenger-shell--private-review {
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.75fr) minmax(300px, 0.82fr);
  align-items: start;
}

.messenger-shell--conversation-focus {
  grid-template-columns: minmax(0, 1fr);
}

.messenger-shell--conversation-focus .messenger-details-panel--focus {
  grid-column: 1 / -1;
  width: 100%;
}

.messenger-shell--private-review .messenger-list-panel,
.messenger-shell--private-review .messenger-thread-panel,
.messenger-shell--private-review .messenger-details-panel {
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.messenger-shell--private-review .messenger-list-panel,
.messenger-shell--private-review .messenger-details-panel {
  position: sticky;
  top: 18px;
}

.messenger-shell--private-review .messenger-thread-panel {
  min-height: calc(100vh - 220px);
}

.messenger-admin-note-log {
  display: grid;
  gap: 0.65rem;
  order: 5;
  flex: 0 0 auto;
  margin: 0;
  padding: 0.75rem 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.86);
}

.messenger-admin-note-log__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.messenger-admin-note-log__header h3,
.messenger-admin-note-log__header p {
  margin: 0;
}

.messenger-admin-note-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.messenger-admin-note-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.88rem;
}

.messenger-admin-note-table th,
.messenger-admin-note-table td {
  padding: 0.42rem 0.5rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
  vertical-align: top;
}

.messenger-admin-note-table th {
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 900;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.messenger-admin-note-table td {
  overflow-wrap: anywhere;
}

.messenger-admin-note-table td:first-child,
.messenger-admin-note-table td:nth-child(2) {
  white-space: nowrap;
}

.messenger-admin-note-table th:first-child,
.messenger-admin-note-table td:first-child {
  width: 11.5rem;
}

.messenger-admin-note-table th:nth-child(2),
.messenger-admin-note-table td:nth-child(2) {
  width: 9.5rem;
}

.messenger-thread-participants {
  overflow-wrap: anywhere;
}

.messenger-thread-participant-link {
  color: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.messenger-thread-participant-link:hover,
.messenger-thread-participant-link:focus {
  color: #315943;
}

.messenger-composer.messenger-admin-note-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.6rem;
  align-items: end;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.messenger-composer.messenger-admin-note-form label {
  margin: 0;
}

.messenger-composer.messenger-admin-note-form textarea[name="note_body"] {
  min-height: 42px;
  max-height: 88px;
  border-radius: 0.85rem;
}

.messenger-composer.messenger-admin-note-form .btn {
  min-height: 42px;
}

.messenger-admin-details-section {
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 8px;
  background: #fff;
}

.messenger-admin-details-section + .messenger-admin-details-section {
  margin-top: 10px;
}

.messenger-admin-details-section summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 48px;
  padding: 0.85rem 1rem;
  cursor: pointer;
  list-style: none;
  font-weight: 850;
}

.messenger-admin-details-section summary::-webkit-details-marker {
  display: none;
}

.messenger-admin-details-section summary::after {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #334155;
  font-weight: 900;
}

.messenger-admin-details-section[open] summary::after {
  content: "-";
}

.messenger-admin-details-section summary:hover,
.messenger-admin-details-section summary:focus-visible {
  background: rgba(15, 23, 42, 0.04);
  outline: none;
}

.messenger-admin-details-section summary small {
  margin-left: auto;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.messenger-admin-details-section > :not(summary) {
  margin: 0 1rem 1rem;
}

.messenger-admin-details-section .messenger-details-list,
.messenger-shell--private-review .messenger-admin-details-section .messenger-details-list {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.messenger-private-review-nav {
  margin: 0 0 6px;
}

.messenger-private-review-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 999px;
  background: #fff;
  color: var(--brand);
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1;
  padding: 0.42rem 0.7rem;
  text-decoration: none;
}

.messenger-private-review-nav a:hover,
.messenger-private-review-nav a:focus-visible {
  background: var(--soft);
  outline: none;
  box-shadow: var(--focus-ring);
}

.messenger-conversation-create-form[hidden],
.messenger-direct-create-area[hidden],
.messenger-group-create-area[hidden],
.messenger-unified-group-subject[hidden],
.messenger-participant-results[hidden] {
  display: none !important;
}

.messenger-create-launcher {
  display: grid;
  gap: 8px;
}

.messenger-create-launcher__button {
  justify-content: center;
  width: 100%;
  min-height: 46px;
  gap: 8px;
  border-radius: 8px;
}

.messenger-create-launcher__button span[aria-hidden="true"] {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  font-size: 1.05rem;
  line-height: 1;
}

.messenger-conversation-create-form {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.messenger-conversation-create-form:not([hidden]) {
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  background:
    linear-gradient(180deg, #fff, #f8fafc) padding-box,
    linear-gradient(135deg, rgba(20, 184, 166, 0.34), rgba(148, 163, 184, 0.26)) border-box;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86), 0 10px 26px rgba(15, 23, 42, 0.05);
}

.messenger-direct-create-area,
.messenger-group-create-area,
.messenger-unified-group-subject {
  display: grid;
  gap: 10px;
}

.messenger-participant-search-label,
.messenger-search-block label {
  margin: 0;
  color: #475569;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.messenger-participant-search,
.messenger-search-block input[type="search"],
.messenger-search-block input[type="text"],
.messenger-search-block select {
  width: 100%;
  min-height: 42px;
  border-color: rgba(148, 163, 184, 0.35);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}

.messenger-participant-search:focus,
.messenger-search-block input[type="search"]:focus,
.messenger-search-block input[type="text"]:focus,
.messenger-search-block select:focus {
  border-color: rgba(49, 89, 67, 0.54);
  box-shadow: 0 0 0 3px rgba(49, 89, 67, 0.12);
  outline: none;
}

.messenger-search-block {
  display: grid;
  gap: 8px;
  width: 100%;
  max-width: none;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.9)) padding-box,
    linear-gradient(135deg, rgba(49, 89, 67, 0.2), rgba(14, 165, 233, 0.22)) border-box;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.messenger-search-block .btn {
  width: max-content;
  min-height: 40px;
}

.messenger-participant-results,
.messenger-participant-picker--autocomplete {
  display: grid;
  gap: 8px;
  max-height: none;
  overflow: visible;
  margin-top: 0;
  padding: 6px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
  scrollbar-gutter: stable;
}

.messenger-participant-result,
.messenger-participant-picker--autocomplete .messenger-participant-option {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.messenger-participant-result:hover,
.messenger-participant-result:focus-within,
.messenger-participant-result:has(input:checked),
.messenger-participant-picker--autocomplete .messenger-participant-option:hover,
.messenger-participant-picker--autocomplete .messenger-participant-option.is-highlighted {
  border-color: rgba(20, 184, 166, 0.48);
  background: #f0fdfa;
}

.messenger-participant-result input[type="checkbox"],
.messenger-participant-result input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.messenger-participant-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e2e8f0;
  font-size: 0.78rem;
}

.messenger-participant-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.messenger-participant-copy strong,
.messenger-participant-copy small,
.messenger-participant-picker--autocomplete .messenger-participant-option strong,
.messenger-participant-picker--autocomplete .messenger-participant-option small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messenger-participant-copy small {
  color: #64748b;
  font-weight: 700;
}

.messenger-participant-check {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(100, 116, 139, 0.38);
  border-radius: 50%;
}

.messenger-participant-result:has(input:checked) .messenger-participant-check {
  border-color: #14b8a6;
  background: radial-gradient(circle at center, #14b8a6 42%, transparent 45%);
}

.messenger-new-form .autoComplete_wrapper {
  display: block;
  position: relative;
  width: 100%;
}

.messenger-new-form .autoComplete_wrapper > input {
  width: 100%;
}

.messenger-participant-autocomplete-list,
.messenger-new-form .autoComplete_wrapper > ul[id^="autoComplete_list_"] {
  position: absolute;
  z-index: 60;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  max-height: none;
  margin: 0;
  padding: 6px;
  overflow: visible;
  list-style: none;
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
}

.messenger-participant-autocomplete-result,
.messenger-new-form .autoComplete_wrapper [id^="autoComplete_result_"] {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text);
  cursor: pointer;
}

.messenger-participant-autocomplete-result:hover,
.messenger-participant-autocomplete-result[aria-selected="true"],
.messenger-participant-autocomplete-result.is-selected,
.messenger-new-form .autoComplete_wrapper [id^="autoComplete_result_"]:hover,
.messenger-new-form .autoComplete_wrapper [id^="autoComplete_result_"][aria-selected="true"] {
  border-color: rgba(49, 89, 67, 0.24);
  background: #f4f8f5;
}

.messenger-participant-autocomplete-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 2px solid #94a3b8;
  border-radius: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
}

.messenger-participant-autocomplete-check.is-checked {
  border-color: var(--brand);
  background: var(--brand);
}

.messenger-participant-autocomplete-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.messenger-participant-autocomplete-copy strong,
.messenger-participant-autocomplete-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messenger-participant-autocomplete-copy small,
.messenger-participant-autocomplete-empty {
  color: var(--muted);
  font-weight: 750;
}

.messenger-participant-autocomplete-empty {
  padding: 10px;
}

.messenger-selected-participants {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 0;
}

.messenger-selected-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 6px 8px;
  border: 1px solid rgba(20, 184, 166, 0.24);
  border-radius: 999px;
  background: #f0fdfa;
  color: #115e59;
  font-size: 0.8rem;
  font-weight: 800;
}

.messenger-selected-chip button {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.1);
  color: #0f172a;
  cursor: pointer;
  font-size: 0.72rem;
  line-height: 1;
}

.messenger-conversation-list {
  flex: 1 1 auto;
  display: grid;
  gap: 8px;
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  padding: 2px 4px 2px 2px;
  scrollbar-gutter: stable;
}

.messenger-conversation-row-shell {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.messenger-conversation-row-shell .messenger-conversation-row {
  flex: 1 1 auto;
}

.messenger-conversation-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 54px;
  padding: 8px 9px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.88)),
    #fff;
  color: inherit;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.messenger-conversation-row:hover,
.messenger-conversation-row:focus-visible {
  border-color: rgba(20, 184, 166, 0.42);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  outline: none;
}

.messenger-conversation-row--active {
  border-color: rgba(20, 184, 166, 0.6);
  background: linear-gradient(135deg, rgba(240, 253, 250, 0.96), rgba(255, 255, 255, 0.98));
  box-shadow: inset 3px 0 0 #14b8a6, 0 12px 26px rgba(20, 184, 166, 0.1);
}

.messenger-conversation-row__avatar {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #edf7f0;
  color: #315943;
  font-size: 0.78rem;
  font-weight: 850;
}

.messenger-conversation-row__avatar--group {
  background: #eef2ff;
  color: #334155;
}

.messenger-conversation-row__main,
.messenger-conversation-row__top {
  min-width: 0;
}

.messenger-conversation-row__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.messenger-conversation-row__name {
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.2;
}

.messenger-conversation-row__time,
.messenger-conversation-row__preview,
.messenger-conversation-row__meta {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
}

.messenger-conversation-row__time {
  flex: 0 0 auto;
  max-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messenger-conversation-row__preview,
.messenger-conversation-row__meta {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.messenger-conversation-delete-form {
  flex: 0 0 auto;
  margin: 0;
}

.messenger-conversation-delete-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}

.messenger-conversation-delete-button:hover,
.messenger-conversation-delete-button:focus-visible {
  border-color: rgba(185, 28, 28, 0.22);
  background: #fef2f2;
  color: #b91c1c;
  outline: none;
}

.messenger-shell--portal .messenger-details-panel,
.messenger-shell--portal .messenger-list-panel {
  background:
    radial-gradient(circle at 0 0, rgba(20, 184, 166, 0.12), transparent 32%) padding-box,
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.95)) padding-box,
    linear-gradient(135deg, rgba(20, 184, 166, 0.82), rgba(14, 165, 233, 0.38), rgba(49, 89, 67, 0.5)) border-box;
}

.messenger-shell--portal .messenger-list-panel .messenger-panel-header {
  padding: 9px 10px;
  border: 1px solid rgba(20, 184, 166, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.96), rgba(239, 246, 255, 0.86)),
    #fff;
}

.messenger-shell--portal .messenger-list-panel .messenger-panel-header h2 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.1;
}

.messenger-shell--portal .messenger-list-panel .eyebrow {
  color: #0f766e;
}

.messenger-shell--portal .messenger-create-launcher__button {
  min-height: 52px;
  border: 0;
  border-radius: 9px;
  background:
    linear-gradient(135deg, #14b8a6, #315943 58%, #0ea5e9);
  color: #fff;
  box-shadow: 0 14px 30px rgba(20, 184, 166, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.messenger-shell--portal .messenger-create-launcher__button:hover,
.messenger-shell--portal .messenger-create-launcher__button:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(20, 184, 166, 0.28), 0 0 0 3px rgba(20, 184, 166, 0.14);
}

.messenger-shell--portal .messenger-conversation-create-form:not([hidden]) {
  gap: 9px;
  padding: 10px;
  border-radius: 9px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 253, 250, 0.9)) padding-box,
    linear-gradient(135deg, rgba(20, 184, 166, 0.58), rgba(14, 165, 233, 0.3)) border-box;
}

.messenger-shell--portal .messenger-direct-create-area,
.messenger-shell--portal .messenger-group-create-area,
.messenger-shell--portal .messenger-unified-group-subject {
  gap: 8px;
}

.messenger-shell--portal .messenger-participant-search,
.messenger-shell--portal .messenger-search-block input[type="search"] {
  min-height: 38px;
}

.messenger-shell--portal .messenger-search-block {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 7px;
  padding: 10px;
  border-radius: 9px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.92)) padding-box,
    linear-gradient(135deg, rgba(14, 165, 233, 0.36), rgba(20, 184, 166, 0.42)) border-box;
}

.messenger-shell--portal .messenger-search-block label {
  grid-column: 1 / -1;
  color: #2563eb;
}

.messenger-shell--portal .messenger-search-block .btn {
  min-height: 38px;
  white-space: nowrap;
}

.messenger-shell--portal .messenger-participant-results,
.messenger-shell--portal .messenger-participant-picker--autocomplete {
  max-height: none;
  overflow: visible;
  padding: 5px;
  border-color: rgba(20, 184, 166, 0.22);
}

.messenger-shell--portal .messenger-participant-result,
.messenger-shell--portal .messenger-participant-picker--autocomplete .messenger-participant-option {
  min-height: 42px;
  padding: 8px;
}

.messenger-shell--portal .messenger-selected-participants {
  gap: 6px;
}

.messenger-shell--portal .messenger-selected-chip {
  background: linear-gradient(135deg, #f0fdfa, #eff6ff);
}

.messenger-shell--portal .messenger-conversation-list {
  flex: 1 1 auto;
  align-content: start;
  gap: 4px;
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 2px 0 0;
  scrollbar-gutter: stable;
  scrollbar-color: rgba(20, 184, 166, 0.52) rgba(226, 232, 240, 0.62);
  scrollbar-width: thin;
}

.messenger-shell--portal .messenger-conversation-list::-webkit-scrollbar {
  width: 8px;
}

.messenger-shell--portal .messenger-conversation-list::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.62);
}

.messenger-shell--portal .messenger-conversation-list::-webkit-scrollbar-thumb {
  border: 2px solid rgba(226, 232, 240, 0.62);
  border-radius: 999px;
  background: linear-gradient(180deg, #14b8a6, #0ea5e9);
}

.messenger-shell--portal .messenger-conversation-row-shell {
  gap: 4px;
}

.messenger-shell--portal .messenger-conversation-row {
  min-height: 38px;
  padding: 5px 7px;
  gap: 8px;
  border-color: rgba(148, 163, 184, 0.2);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.88));
}

.messenger-shell--portal .messenger-conversation-row:hover,
.messenger-shell--portal .messenger-conversation-row:focus-visible {
  border-color: rgba(14, 165, 233, 0.34);
  background:
    linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(240, 253, 250, 0.9));
}

.messenger-shell--portal .messenger-conversation-row--active {
  border-color: rgba(20, 184, 166, 0.7);
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.98), rgba(239, 246, 255, 0.9));
  box-shadow: inset 3px 0 0 #14b8a6, 0 8px 18px rgba(20, 184, 166, 0.1);
}

.messenger-shell--portal .messenger-conversation-row__avatar {
  width: 28px;
  height: 28px;
  color: #fff;
  font-size: 0.72rem;
  background: linear-gradient(135deg, #14b8a6, #0ea5e9);
  box-shadow: 0 6px 12px rgba(14, 165, 233, 0.16);
}

.messenger-shell--portal .messenger-conversation-row__avatar--group {
  background: linear-gradient(135deg, #315943, #14b8a6);
}

.messenger-shell--portal .messenger-conversation-row__name {
  color: #0f172a;
  font-size: 0.9rem;
  line-height: 1.2;
}

.messenger-shell--portal .messenger-conversation-row__meta span {
  border: 1px solid rgba(20, 184, 166, 0.18);
  border-radius: 999px;
  padding: 2px 7px;
  background: rgba(240, 253, 250, 0.86);
  color: #0f766e;
}

.messenger-shell--portal .messenger-thread-header {
  border-bottom-color: rgba(20, 184, 166, 0.18);
  background:
    radial-gradient(circle at 0 0, rgba(20, 184, 166, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(240, 253, 250, 0.98), rgba(239, 246, 255, 0.94) 58%, rgba(255, 255, 255, 0.98));
}

.messenger-shell--portal .messenger-thread-header .eyebrow {
  color: #0f766e;
}

.messenger-shell--portal .messenger-thread-header h2 {
  color: #0f172a;
}

.messenger-shell--portal .messenger-thread-header p {
  color: #315943;
}

.messenger-shell--portal .messenger-thread-header__avatar {
  color: #fff;
  border-color: rgba(20, 184, 166, 0.34);
  background: linear-gradient(135deg, #14b8a6, #0ea5e9);
  box-shadow: 0 10px 22px rgba(20, 184, 166, 0.2);
}

.messenger-shell--portal .messenger-thread-header__avatar--group {
  background: linear-gradient(135deg, #315943, #14b8a6 58%, #0ea5e9);
}

.messenger-shell--portal .messenger-type-badge {
  border: 1px solid rgba(20, 184, 166, 0.24);
  background: linear-gradient(135deg, #f0fdfa, #eff6ff);
  color: #0f766e;
}

.messenger-message-stream,
.messenger-shell--portal .messenger-message-stream {
  order: 2;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  padding: 16px;
  border-top: 1px solid rgba(148, 163, 184, 0.16);
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
  background:
    radial-gradient(circle at 0 0, rgba(20, 184, 166, 0.12), transparent 34%),
    radial-gradient(circle at 100% 10%, rgba(14, 165, 233, 0.1), transparent 30%),
    linear-gradient(180deg, #f8fafc, #ffffff);
  scrollbar-gutter: stable;
}

.messenger-shell--portal .messenger-message-stream .empty-state {
  align-self: center;
  width: min(520px, 100%);
  margin: auto;
  border: 1px solid rgba(20, 184, 166, 0.2);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(240, 253, 250, 0.9) 58%, rgba(239, 246, 255, 0.88));
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}

.messenger-shell--portal .messenger-message-stream .empty-state p {
  color: #315943;
  font-weight: 800;
}

.messenger-message-row {
  display: flex;
  width: 100%;
}

.messenger-message-row--sent {
  justify-content: flex-end;
}

.messenger-message-row--received {
  justify-content: flex-start;
}

.messenger-message-row--system {
  justify-content: center;
}

.messenger-message-row--sent + .messenger-message-row--sent,
.messenger-message-row--received + .messenger-message-row--received {
  margin-top: -0.28rem;
}

.messenger-message-bubble {
  max-width: min(72%, 680px);
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.055);
  overflow-wrap: anywhere;
  line-height: 1.45;
}

.messenger-message-row--sent .messenger-message-bubble {
  border-color: rgba(49, 89, 67, 0.28);
  border-bottom-right-radius: 0.35rem;
  background: linear-gradient(135deg, #315943, #1f3f30);
  color: #fff;
  box-shadow: 0 12px 28px rgba(49, 89, 67, 0.14);
}

.messenger-message-row--received .messenger-message-bubble {
  border-color: rgba(148, 163, 184, 0.22);
  border-bottom-left-radius: 0.35rem;
  color: #111827;
}

.messenger-message-row--system .messenger-message-bubble {
  max-width: min(86%, 760px);
  border-color: rgba(148, 163, 184, 0.22);
  background: rgba(241, 245, 249, 0.86);
  color: #475569;
  text-align: center;
  box-shadow: none;
}

.messenger-message-bubble.is-private-note {
  border-color: #fde68a;
  background: #fffbeb;
  color: #713f12;
}

.messenger-message-bubble p {
  margin: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.messenger-message-author {
  display: block;
  margin: 0 0 0.25rem;
  color: #315943;
  font-size: 0.82rem;
  font-weight: 900;
}

.messenger-message-meta {
  display: flex;
  justify-content: flex-end;
  gap: 0.45rem;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  opacity: 0.72;
}

.messenger-message-row--received .messenger-message-meta,
.messenger-message-row--system .messenger-message-meta {
  justify-content: flex-start;
}

.messenger-message-row--system .messenger-message-meta {
  justify-content: center;
}

.messenger-thread-actions {
  order: 5;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  padding: 10px 12px;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.98);
}

.messenger-thread-actions__composer {
  order: 0;
  flex: 1 1 100%;
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.messenger-composer,
.messenger-chat-window .messenger-composer {
  order: 5;
  flex: 0 0 auto;
  margin: 0;
  padding: 0.8rem;
  padding-bottom: max(0.8rem, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.05);
}

.messenger-thread-actions__composer.messenger-composer {
  padding: 0;
  border-top: 0;
  background: transparent;
  box-shadow: none;
}

.messenger-composer-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  width: 100%;
  padding: 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  background:
    linear-gradient(180deg, #fff, #fff) padding-box,
    linear-gradient(135deg, rgba(20, 184, 166, 0.28), rgba(148, 163, 184, 0.28)) border-box;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.messenger-composer textarea[name="message_body"],
.messenger-composer textarea[name="note_body"] {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  max-height: 140px;
  resize: none;
  overflow-y: auto;
  border-color: rgba(148, 163, 184, 0.34);
  border-radius: 8px;
  background: #fff;
  line-height: 1.4;
  padding: 0.75rem 1rem;
}

.messenger-composer textarea[name="message_body"]:focus,
.messenger-composer textarea[name="note_body"]:focus {
  border-color: rgba(49, 89, 67, 0.54);
  box-shadow: 0 0 0 3px rgba(49, 89, 67, 0.12);
  outline: none;
}

.messenger-composer-actions {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
  white-space: nowrap;
}

.messenger-icon-button,
.messenger-send-button,
.messenger-composer-actions .messenger-icon-button,
.messenger-composer-actions .messenger-send-button {
  min-height: 42px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.055);
}

.messenger-composer-status {
  grid-column: 1 / -1;
  min-height: 14px;
  max-width: none;
}

.messenger-emoji-popover,
.messenger-composer-actions .messenger-emoji-popover {
  left: auto;
  right: 48px;
}

.messenger-composer--disabled {
  display: flex;
  gap: 0.6rem;
  align-items: center;
}

.messenger-composer--disabled textarea[name="message_body"] {
  border-radius: 8px;
  background: rgba(248, 250, 252, 0.98);
}

.messenger-conversation-actions-panel {
  flex: 1 1 100%;
  margin-top: 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  background:
    linear-gradient(180deg, #fff, #f8fafc) padding-box,
    linear-gradient(135deg, rgba(148, 163, 184, 0.26), rgba(20, 184, 166, 0.22)) border-box;
}

.messenger-conversation-actions-panel > summary,
.messenger-thread-actions > .messenger-report-box--inline > summary {
  cursor: pointer;
  list-style: none;
  color: #334155;
  font-weight: 850;
}

.messenger-conversation-actions-panel > summary {
  padding: 10px 12px;
}

.messenger-conversation-actions-panel > summary::-webkit-details-marker,
.messenger-thread-actions > .messenger-report-box--inline > summary::-webkit-details-marker {
  display: none;
}

.messenger-conversation-actions-panel__body {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 12px 12px;
}

.messenger-conversation-actions-panel__body .messenger-report-box,
.messenger-thread-actions > .messenger-report-box--inline[open] {
  flex: 1 1 240px;
}

.messenger-thread-actions > .messenger-report-box--inline {
  order: 0;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.messenger-thread-actions > .messenger-report-box--inline > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.55rem 0.95rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 999px;
  background: #fff;
}

.messenger-thread-actions > .messenger-report-box--inline > .messenger-control-form {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 8px;
  background: #fff;
}

@media(max-width:1180px) {
  .messenger-shell--portal {
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    grid-template-rows: minmax(72px, auto) minmax(0, 1fr);
  }

  .messenger-shell--portal .messenger-list-panel {
    grid-column: 1;
    grid-row: 2;
  }

  .messenger-shell--portal .messenger-details-panel {
    grid-column: 1;
    grid-row: 1;
    max-height: none;
  }

  .messenger-shell--portal .messenger-thread-panel {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media(max-width:900px) {
  .messenger-shell--portal {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: auto;
    max-height: none;
    gap: 12px;
    overflow: visible;
  }

  .messenger-shell--portal .messenger-details-panel,
  .messenger-shell--portal .messenger-list-panel,
  .messenger-shell--portal .messenger-thread-panel {
    width: 100%;
    min-height: 0;
    max-height: none;
  }

  .messenger-shell--portal .messenger-details-panel {
    order: 1;
  }

  .messenger-shell--portal .messenger-list-panel {
    order: 2;
  }

  .messenger-shell--portal .messenger-thread-panel {
    order: 3;
    min-height: min(720px, calc(100svh - 120px));
  }

  .messenger-message-stream,
  .messenger-shell--portal .messenger-message-stream {
    min-height: 320px;
    padding: 14px;
  }

  .messenger-shell--private-review .messenger-list-panel,
  .messenger-shell--private-review .messenger-details-panel {
    position: static;
  }
}

@media(max-width:760px) {
  .messenger-composer-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
  }

  .messenger-shell--portal .messenger-search-block {
    grid-template-columns: 1fr;
  }

  .messenger-composer-actions .messenger-icon-button,
  .messenger-composer-actions .messenger-send-button,
  .messenger-search-block .btn {
    justify-content: center;
    width: 100%;
  }
}

@media(max-width:560px) {
  .messenger-shell--portal {
    gap: 10px;
  }

  .messenger-shell--portal .messenger-details-panel,
  .messenger-shell--portal .messenger-list-panel,
  .messenger-shell--portal .messenger-thread-panel {
    border-radius: 8px;
    box-shadow: none;
  }

  .messenger-shell--portal .messenger-thread-header {
    display: grid;
    align-items: flex-start;
  }

  .messenger-thread-header__identity,
  .messenger-conversation-row__top {
    align-items: flex-start;
  }

  .messenger-composer-bar,
  .messenger-conversation-actions-panel__body {
    grid-template-columns: 1fr;
  }

  .messenger-conversation-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .messenger-conversation-row .messenger-unread {
    grid-column: 2;
    justify-self: start;
  }

  .messenger-conversation-row__top {
    display: grid;
    gap: 2px;
  }

  .messenger-conversation-row__time {
    max-width: 100%;
  }

  .messenger-composer-actions {
    grid-template-columns: 1fr;
  }

  .messenger-composer-actions .messenger-emoji-popover {
    left: auto;
    right: 0;
  }

  .messenger-conversation-actions-panel__body {
    display: grid;
  }
}
/* Shared backend/portal topbar: stable module title + single-line account strip. */
.backend-topbar {
  overflow: visible;
  contain: none;
  z-index: 90;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.backend-topbar--has-page-header {
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 14px;
  margin: -8px 0 22px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.96), rgba(248,250,252,0.90)),
    radial-gradient(circle at 8% 10%, rgba(49, 89, 67, 0.08), transparent 34%);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
  overflow: visible;
  contain: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  position: static;
  top: auto;
  z-index: auto;
}

.admin-main,
.portal-main {
  padding-top: 88px;
}

.backend-topbar--has-page-header .backend-topbar__spacer {
  display: none;
}

.backend-topbar--has-page-header .backend-topbar__page-header.page-header,
.backend-topbar--has-page-header .backend-topbar__page-header.admin-page-header {
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  gap: 4px;
  min-width: 0;
  min-height: 92px;
  padding: 4px 8px !important;
}

.backend-topbar--has-page-header .backend-topbar__page-header .eyebrow {
  margin: 0;
  color: #315943;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.backend-topbar--has-page-header .backend-topbar__page-header h1 {
  max-width: 100%;
  margin: 0 !important;
  overflow-wrap: anywhere;
}

.backend-topbar--has-page-header .backend-topbar__page-header .page-subtitle {
  max-width: 780px;
  margin: 2px 0 0 !important;
  color: #64748b;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
}

.backend-topbar .admin-account-menu--topbar,
.backend-topbar--has-page-header .admin-account-menu--topbar {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 10px;
  min-width: 0;
  max-width: none;
  margin: 0 !important;
  padding: 8px 24px;
  border: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95)),
    #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.09);
  position: fixed;
  top: 0;
  right: 0;
  left: 260px;
  z-index: 98;
  width: auto;
  min-height: 58px;
  max-height: 58px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: thin;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.portal-shell .backend-topbar .admin-account-menu--topbar,
.portal-shell .backend-topbar--has-page-header .admin-account-menu--topbar {
  left: 250px;
}

.portal-studio .backend-topbar .admin-account-menu--topbar,
.portal-studio .backend-topbar--has-page-header .admin-account-menu--topbar {
  left: 280px;
}

.portal-customer .backend-topbar .admin-account-menu--topbar,
.portal-customer .backend-topbar--has-page-header .admin-account-menu--topbar {
  left: 280px;
}

body.admin-sidebar-collapsed .admin-shell .backend-topbar .admin-account-menu--topbar,
body.admin-sidebar-collapsed .admin-shell .backend-topbar--has-page-header .admin-account-menu--topbar {
  left: 76px;
}

.backend-topbar .admin-account-menu--topbar:hover,
.backend-topbar .admin-account-menu--topbar:focus-within,
.backend-topbar--has-page-header .admin-account-menu--topbar:hover,
.backend-topbar--has-page-header .admin-account-menu--topbar:focus-within {
  border-color: rgba(49, 89, 67, 0.28);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);
}

.backend-topbar .admin-account-menu--topbar .admin-account-menu__summary,
.backend-topbar--has-page-header .admin-account-menu__summary {
  flex: 0 1 auto;
  min-width: 0;
}

.backend-topbar .admin-account-menu--topbar .admin-account-menu__avatar,
.backend-topbar--has-page-header .admin-account-menu__avatar {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  box-shadow: 0 8px 18px rgba(49, 89, 67, 0.16);
}

.backend-topbar .admin-account-menu--topbar .admin-account-menu__identity,
.backend-topbar--has-page-header .admin-account-menu__identity {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.backend-topbar .admin-account-menu--topbar .admin-account-menu__eyebrow,
.backend-topbar--has-page-header .admin-account-menu__eyebrow {
  flex: 0 0 auto;
  margin-right: -2px;
}

.backend-topbar .admin-account-menu--topbar .admin-account-menu__name,
.backend-topbar .admin-account-menu--topbar .admin-account-menu__email,
.backend-topbar--has-page-header .admin-account-menu__name,
.backend-topbar--has-page-header .admin-account-menu__email {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.backend-topbar .admin-account-menu--topbar .admin-account-menu__role,
.backend-topbar .admin-account-menu--topbar .customer-default-studio-line,
.backend-topbar--has-page-header .admin-account-menu__role,
.backend-topbar--has-page-header .customer-default-studio-line {
  width: max-content;
  max-width: 100%;
}

.backend-topbar .admin-account-menu--topbar .customer-default-studio-line,
.backend-topbar--has-page-header .customer-default-studio-line {
  display: inline-flex;
  margin-top: 0;
  padding: 4px 8px;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 999px;
  background: #f8fafc;
  color: #64748b;
}

.backend-topbar .admin-account-menu--topbar .admin-account-menu__actions,
.backend-topbar--has-page-header .admin-account-menu__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  gap: 6px;
  width: auto;
  margin-top: 0;
}

.backend-topbar .admin-account-menu--topbar .admin-account-menu__link,
.backend-topbar--has-page-header .admin-account-menu__link {
  justify-content: center;
  min-width: 0;
  min-height: 32px;
  padding: 7px 8px;
  text-align: center;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.58fr);
  align-items: center;
  gap: 14px;
  min-height: 0;
  padding: 16px 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #17201a 0%, #315943 72%, #946b5d 130%) !important;
  color: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.14) !important;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .eyebrow,
.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .eyebrow a {
  color: #f3d6c9 !important;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero h1 {
  color: #fff !important;
  font-size: clamp(28px, 3.2vw, 42px) !important;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .muted,
.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .muted a {
  color: #e4eee7;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-snapshot-badges--hero {
  gap: 8px;
  margin-top: 10px;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-snapshot-badges--hero .status-badge {
  min-height: 30px;
  padding: 6px 10px;
  color: #fff;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-control-hero__panel {
  min-width: 0;
  padding: 12px;
  border-color: rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-control-hero-facts {
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 6px 10px;
  font-size: 13px;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-control-hero-facts dt {
  color: #f3d6c9;
}

.backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-control-hero-facts dd {
  color: #fff;
  overflow-wrap: anywhere;
}

@media(max-width:1180px) {
  .backend-topbar--has-page-header {
    grid-template-columns: 1fr;
  }

  .backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero {
    grid-template-columns: 1fr;
  }

  .backend-topbar .admin-account-menu--topbar,
  .backend-topbar--has-page-header .admin-account-menu--topbar {
    top: 0;
    right: 0;
    bottom: auto;
    min-height: 56px;
    max-height: 56px;
    padding: 7px 16px;
  }

  .backend-topbar .admin-account-menu--topbar .admin-account-menu__actions,
  .backend-topbar--has-page-header .admin-account-menu__actions {
    width: auto;
    min-width: 0;
  }

  .admin-main,
  .portal-main {
    padding-top: 80px;
    padding-bottom: 26px;
  }

  .admin-main:has(.backend-topbar--has-page-header .admin-account-menu--topbar),
  .portal-main:has(.backend-topbar--has-page-header .admin-account-menu--topbar) {
    padding-top: 80px;
    padding-bottom: 26px;
  }
}

@media(max-width:900px) {
  .admin-shell,
  .portal-shell {
    padding-top: 58px;
  }

  .backend-topbar .admin-account-menu--topbar,
  .backend-topbar--has-page-header .admin-account-menu--topbar,
  .portal-shell .backend-topbar .admin-account-menu--topbar,
  .portal-shell .backend-topbar--has-page-header .admin-account-menu--topbar,
  .portal-studio .backend-topbar .admin-account-menu--topbar,
  .portal-studio .backend-topbar--has-page-header .admin-account-menu--topbar,
  body.admin-sidebar-collapsed .admin-shell .backend-topbar .admin-account-menu--topbar,
  body.admin-sidebar-collapsed .admin-shell .backend-topbar--has-page-header .admin-account-menu--topbar {
    left: 0;
    right: 0;
    padding-inline: 12px;
  }

  .admin-main,
  .portal-main,
  .admin-main:has(.backend-topbar--has-page-header .admin-account-menu--topbar),
  .portal-main:has(.backend-topbar--has-page-header .admin-account-menu--topbar) {
    padding-top: 22px;
    padding-bottom: 22px;
  }
}

@media(max-width:760px) {
  .admin-shell,
  .portal-shell {
    padding-top: 56px;
  }

  .backend-topbar--has-page-header {
    margin: 0 0 18px;
    padding: 10px;
    border-radius: 20px;
  }

  .backend-topbar--has-page-header .backend-topbar__page-header.page-header,
  .backend-topbar--has-page-header .backend-topbar__page-header.admin-page-header {
    min-height: 0;
    padding: 4px !important;
  }

  .backend-topbar--has-page-header .backend-topbar__page-header h1 {
    font-size: clamp(24px, 8vw, 30px) !important;
  }

  .backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  .backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero h1 {
    font-size: clamp(28px, 9vw, 36px) !important;
  }

  .backend-topbar .admin-account-menu--topbar,
  .backend-topbar--has-page-header .admin-account-menu--topbar {
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-height: 56px;
    max-height: 56px;
    padding: 7px 10px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .backend-topbar .admin-account-menu--topbar .admin-account-menu__actions,
  .backend-topbar--has-page-header .admin-account-menu__actions {
    width: auto;
    min-width: 0;
  }

  .backend-topbar .admin-account-menu--topbar .admin-account-menu__eyebrow,
  .backend-topbar .admin-account-menu--topbar .admin-account-menu__email,
  .backend-topbar .admin-account-menu--topbar .customer-default-studio-line,
  .backend-topbar--has-page-header .admin-account-menu__eyebrow,
  .backend-topbar--has-page-header .admin-account-menu__email,
  .backend-topbar--has-page-header .customer-default-studio-line {
    display: none;
  }

  .admin-main,
  .portal-main,
  .admin-main:has(.backend-topbar--has-page-header .admin-account-menu--topbar),
  .portal-main:has(.backend-topbar--has-page-header .admin-account-menu--topbar) {
    padding-top: 18px;
    padding-bottom: 18px;
  }
}

@media(max-width:520px) {
  .backend-topbar--has-page-header {
    margin-inline: -4px;
    padding: 9px;
    border-radius: 18px;
  }

  .backend-topbar .admin-account-menu--topbar .admin-account-menu__summary,
  .backend-topbar--has-page-header .admin-account-menu__summary {
    align-items: center;
  }

  .backend-topbar .admin-account-menu--topbar .admin-account-menu__avatar,
  .backend-topbar--has-page-header .admin-account-menu__avatar {
    width: 38px;
    height: 38px;
  }

  .backend-topbar .admin-account-menu--topbar .admin-account-menu__actions,
  .backend-topbar--has-page-header .admin-account-menu__actions {
    display: flex;
    flex-wrap: nowrap;
  }

  .backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-snapshot-badges--hero,
  .backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-control-hero-facts {
    grid-template-columns: 1fr;
  }

  .backend-topbar--has-page-header .backend-topbar__page-header.studio-control-hero .studio-snapshot-badges--hero .status-badge {
    width: 100%;
    justify-content: center;
  }

  .backend-topbar .admin-account-menu--topbar .admin-account-menu__link,
  .backend-topbar--has-page-header .admin-account-menu__link {
    width: auto;
    min-height: 30px;
    padding: 6px 7px;
    font-size: 12px;
  }
}

@media(max-width:960px) {
  .backend-topbar .portal-account-menu.admin-account-menu--topbar,
  .backend-topbar--has-page-header .portal-account-menu.admin-account-menu--topbar {
    display: flex;
  }
}

/* Studio Host Stripe settings */
.stripe-settings-page {
  display: grid;
  gap: 1rem;
}

.stripe-settings-hero .studio-module-manager-actions,
.stripe-settings-save {
  gap: 0.65rem;
}

.stripe-settings-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.8rem;
}

.stripe-settings-summary article {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.85rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.stripe-settings-summary span,
.stripe-settings-table th {
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.stripe-settings-summary strong {
  display: block;
  margin-top: 0.25rem;
  color: #111827;
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

.stripe-settings-form,
.stripe-settings-section {
  display: grid;
  gap: 1rem;
}

.stripe-settings-section {
  overflow: hidden;
}

.stripe-settings-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.stripe-settings-note {
  padding: 0.9rem 1rem;
  border: 1px solid rgba(14, 165, 233, 0.18);
  border-radius: 0.85rem;
  background: rgba(240, 249, 255, 0.88);
  color: #075985;
  overflow-wrap: anywhere;
}

.stripe-settings-compact-grid {
  margin-top: 0;
}

.stripe-settings-event-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.stripe-settings-event-grid span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.35rem 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.92);
  color: #334155;
  font-size: 0.84rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.stripe-settings-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.stripe-settings-table {
  width: 100%;
  min-width: 680px;
  border-collapse: separate;
  border-spacing: 0;
}

.stripe-settings-table th,
.stripe-settings-table td {
  padding: 0.8rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  text-align: left;
  vertical-align: top;
}

.stripe-settings-table td {
  color: #334155;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.stripe-settings-table tbody tr:last-child td {
  border-bottom: 0;
}

.stripe-settings-boundary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.stripe-settings-boundary-grid article {
  min-width: 0;
  padding: 0.95rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.78);
}

.stripe-settings-boundary-grid h3 {
  margin: 0 0 0.55rem;
  color: #111827;
  font-size: 1rem;
}

.stripe-settings-boundary-grid ul {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding-left: 1.1rem;
  color: #475569;
  font-weight: 700;
}

@media(max-width:1100px) {
  .stripe-settings-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .stripe-settings-boundary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:700px) {
  .stripe-settings-summary,
  .stripe-settings-boundary-grid {
    grid-template-columns: 1fr;
  }

  .stripe-settings-hero .studio-module-manager-actions,
  .stripe-settings-save {
    display: grid;
  }

  .stripe-settings-hero .btn,
  .stripe-settings-save .btn {
    width: 100%;
    justify-content: center;
  }

  .stripe-settings-table {
    min-width: 620px;
  }

  .stripe-settings-event-grid span {
    width: 100%;
  }
}

/* Studio Host POS New Sale */
.studio-module-card--link {
  color: inherit;
  text-decoration: none;
}

.studio-module-card--link:focus-visible {
  outline: 3px solid rgba(49, 89, 67, 0.28);
  outline-offset: 3px;
}

.studio-pos-sale-page,
.studio-pos-sale-section,
.studio-pos-terminal-panel {
  display: grid;
  gap: 1rem;
}

.studio-pos-sale-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 1rem;
  align-items: start;
}

.studio-pos-product-list,
.studio-pos-cart-panel {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.studio-pos-cart-panel {
  position: sticky;
  top: 1rem;
}

.studio-pos-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.studio-pos-product-button {
  min-width: 0;
  display: grid;
  gap: 0.35rem;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 0.85rem;
  background: #fff;
  color: #111827;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
}

.studio-pos-product-button:hover,
.studio-pos-product-button:focus {
  border-color: rgba(49, 89, 67, 0.35);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.075);
  outline: none;
}

.studio-pos-product-button span,
.studio-pos-product-button small {
  color: #64748b;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.studio-pos-custom-item {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.studio-pos-custom-item h3 {
  margin: 0;
  font-size: 1rem;
}

.studio-pos-cart-items {
  display: grid;
  gap: 0.65rem;
}

.studio-pos-cart-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 4.25rem auto;
  gap: 0.5rem;
  align-items: center;
  padding: 0.7rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.78);
}

.studio-pos-cart-item strong,
.studio-pos-cart-item small {
  display: block;
  overflow-wrap: anywhere;
}

.studio-pos-cart-item small {
  color: #64748b;
  font-weight: 700;
}

.studio-pos-cart-item input {
  min-width: 0;
  text-align: center;
}

.studio-pos-totals,
.studio-pos-payment-panel,
.studio-pos-receipt-panel {
  display: grid;
  gap: 0.65rem;
}

.studio-pos-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #475569;
  font-weight: 750;
}

.studio-pos-total-row strong {
  color: #111827;
}

.studio-pos-total-row.is-total {
  padding-top: 0.7rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  color: #111827;
  font-size: 1.08rem;
}

.studio-pos-warning {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}

@media(max-width:1000px) {
  .studio-pos-sale-layout {
    grid-template-columns: 1fr;
  }

  .studio-pos-cart-panel {
    position: static;
  }
}

@media(max-width:760px) {
  .studio-pos-product-grid {
    grid-template-columns: 1fr;
  }

  .studio-pos-cart-item {
    grid-template-columns: 1fr;
  }

  .studio-pos-payment-panel .btn,
  .studio-pos-custom-item .btn,
  .studio-pos-warning .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Studio Host POS receipts */
.studio-pos-receipts-page {
  display: grid;
  gap: 1rem;
}

.studio-pos-receipts-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-receipts-actions,
.studio-pos-receipt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.studio-pos-receipts-summary {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.7rem;
}

.studio-pos-receipts-summary article {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.studio-pos-receipts-summary span {
  display: block;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-receipts-summary strong {
  display: block;
  margin-top: 0.3rem;
  color: #111827;
  font-size: 0.98rem;
  overflow-wrap: anywhere;
}

.studio-pos-receipt-warning,
.studio-pos-receipts-filters,
.studio-pos-receipts-ledger {
  display: grid;
  gap: 1rem;
}

.studio-pos-receipt-warning {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  border-color: rgba(245, 158, 11, 0.32);
  background: rgba(255, 251, 235, 0.78);
}

.studio-pos-receipt-warning h2,
.studio-pos-receipt-warning p {
  margin: 0;
}

.studio-pos-receipt-warning p {
  margin-top: 0.25rem;
  color: #92400e;
}

.studio-pos-receipts-filters__header,
.studio-pos-receipts-ledger__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-receipts-filters__header h2,
.studio-pos-receipts-ledger__header h2 {
  margin: 0;
  color: #111827;
  font-size: 1rem;
  line-height: 1.25;
}

.studio-pos-receipts-ledger__header h2 {
  font-size: 1.15rem;
}

.studio-pos-receipts-filters__header p,
.studio-pos-receipts-ledger__header p:not(.eyebrow) {
  margin: 0.25rem 0 0;
  color: #64748b;
  font-size: 0.9rem;
}

.studio-pos-receipts-ledger__tools {
  color: #64748b;
  font-size: 0.9rem;
  font-weight: 800;
  white-space: nowrap;
}

.studio-pos-receipts-filter-form {
  display: grid;
  gap: 0.85rem;
}

.studio-pos-receipts-filter-bar {
  display: grid;
  grid-template-columns: minmax(18rem, 2fr) minmax(10rem, 0.9fr) minmax(10rem, 0.9fr) auto;
  align-items: end;
  gap: 0.75rem;
}

.studio-pos-receipts-field {
  display: grid;
  min-width: 0;
  gap: 0.35rem;
}

.studio-pos-receipts-field span {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.studio-pos-receipts-field input,
.studio-pos-receipts-field select {
  width: 100%;
  min-width: 0;
  min-height: 2.65rem;
  padding: 0 0.8rem;
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-radius: 0.75rem;
  background: #fff;
  color: #111827;
  font: inherit;
}

.studio-pos-receipts-field input:focus,
.studio-pos-receipts-field select:focus {
  border-color: rgba(15, 23, 42, 0.45);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
  outline: none;
}

.studio-pos-receipts-filter-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 0.5rem;
}

.studio-pos-receipts-filter-advanced {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.studio-pos-receipts-filter-advanced[hidden] {
  display: none;
}

.studio-pos-receipts-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.studio-pos-receipts-filter-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 1.85rem;
  padding: 0.25rem 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.9);
  color: #334155;
  font-size: 0.82rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.studio-pos-receipts-filter-chip strong {
  margin-right: 0.25rem;
  color: #111827;
}

.studio-pos-receipts-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.studio-pos-receipts-table thead th {
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.26);
  background: rgba(248, 250, 252, 0.9);
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-receipt-row td {
  padding: 0.9rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  vertical-align: top;
  overflow-wrap: anywhere;
}

.studio-pos-receipt-row:hover td {
  background: rgba(248, 250, 252, 0.65);
}

.studio-pos-receipt-row small,
.studio-pos-receipts-table td small,
.studio-pos-receipt-id {
  display: block;
  margin-top: 0.2rem;
  color: #64748b;
  font-size: 0.8rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.studio-pos-receipt-empty {
  display: grid;
  justify-items: start;
  gap: 0.7rem;
  padding: 1rem;
  border: 1px dashed rgba(148, 163, 184, 0.42);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.8);
}

.studio-pos-receipt-empty h2,
.studio-pos-receipt-empty p {
  margin: 0;
}

@media(max-width:1200px) {
  .studio-pos-receipts-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .studio-pos-receipts-filter-bar {
    grid-template-columns: 1fr 1fr;
  }

  .studio-pos-receipts-field--search {
    grid-column: 1 / -1;
  }

  .studio-pos-receipts-filter-actions {
    justify-content: flex-start;
  }

  .studio-pos-receipts-filter-advanced {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:1000px) {
  .studio-pos-receipts-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .studio-pos-receipts-table {
    min-width: 980px;
  }
}

@media(max-width:760px) {
  .studio-pos-receipts-header,
  .studio-pos-receipts-filters__header,
  .studio-pos-receipts-ledger__header,
  .studio-pos-receipt-warning {
    display: grid;
    align-items: start;
  }

  .studio-pos-receipts-actions,
  .studio-pos-receipt-actions {
    display: grid;
    width: 100%;
  }

  .studio-pos-receipts-actions .btn,
  .studio-pos-receipt-actions .btn,
  .studio-pos-receipts-actions button {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-receipts-summary {
    grid-template-columns: 1fr;
  }

  .studio-pos-receipts-more-toggle {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-receipts-filter-bar,
  .studio-pos-receipts-filter-advanced {
    grid-template-columns: 1fr;
  }

  .studio-pos-receipts-field--search {
    grid-column: auto;
  }

  .studio-pos-receipts-filter-actions {
    display: grid;
  }

  .studio-pos-receipts-filter-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-receipts-ledger__tools {
    white-space: normal;
  }
}

/* Studio Host POS refunds and voids */
.studio-pos-refunds-page {
  display: grid;
  gap: 1rem;
}

.studio-pos-refunds-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-refunds-actions,
.studio-pos-refund-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.studio-pos-refunds-summary {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.7rem;
}

.studio-pos-refunds-summary article {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.studio-pos-refunds-summary span {
  display: block;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-refunds-summary strong {
  display: block;
  margin-top: 0.3rem;
  color: #111827;
  font-size: 0.98rem;
  overflow-wrap: anywhere;
}

.studio-pos-refund-policy,
.studio-pos-refunds-filters,
.studio-pos-refunds-ledger,
.studio-pos-refund-history {
  display: grid;
  gap: 1rem;
}

.studio-pos-refund-policy {
  border-color: rgba(15, 23, 42, 0.12);
  background: rgba(248, 250, 252, 0.9);
}

.studio-pos-refund-policy h2,
.studio-pos-refund-policy p {
  margin: 0;
}

.studio-pos-refund-policy p {
  color: #64748b;
}

.studio-pos-refunds-filters__header,
.studio-pos-refunds-ledger__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-refunds-filters__header h2,
.studio-pos-refunds-ledger__header h2 {
  margin: 0;
  color: #111827;
  font-size: 1rem;
  line-height: 1.25;
}

.studio-pos-refunds-ledger__header h2 {
  font-size: 1.15rem;
}

.studio-pos-refunds-filters__header p,
.studio-pos-refunds-ledger__header p:not(.eyebrow) {
  margin: 0.25rem 0 0;
  color: #64748b;
  font-size: 0.9rem;
}

.studio-pos-refunds-ledger__tools {
  color: #64748b;
  font-size: 0.9rem;
  font-weight: 800;
  white-space: nowrap;
}

.studio-pos-refunds-filter-form {
  display: grid;
  gap: 0.85rem;
}

.studio-pos-refunds-filter-bar {
  display: grid;
  grid-template-columns: minmax(18rem, 2fr) minmax(10rem, 0.9fr) minmax(10rem, 0.9fr) auto;
  align-items: end;
  gap: 0.75rem;
}

.studio-pos-refunds-field {
  display: grid;
  min-width: 0;
  gap: 0.35rem;
}

.studio-pos-refunds-field span {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.studio-pos-refunds-field input,
.studio-pos-refunds-field select,
.studio-pos-refund-form input,
.studio-pos-refund-form select {
  width: 100%;
  min-width: 0;
  min-height: 2.65rem;
  padding: 0 0.8rem;
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-radius: 0.75rem;
  background: #fff;
  color: #111827;
  font: inherit;
}

.studio-pos-refunds-field input:focus,
.studio-pos-refunds-field select:focus,
.studio-pos-refund-form input:focus,
.studio-pos-refund-form select:focus {
  border-color: rgba(15, 23, 42, 0.45);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
  outline: none;
}

.studio-pos-refunds-filter-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 0.5rem;
}

.studio-pos-refunds-filter-advanced {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.studio-pos-refunds-filter-advanced[hidden] {
  display: none;
}

.studio-pos-refunds-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.studio-pos-refunds-filter-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 1.85rem;
  padding: 0.25rem 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.9);
  color: #334155;
  font-size: 0.82rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.studio-pos-refunds-filter-chip strong {
  margin-right: 0.25rem;
  color: #111827;
}

.studio-pos-refunds-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.studio-pos-refunds-table thead th {
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.26);
  background: rgba(248, 250, 252, 0.9);
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-refund-row td {
  padding: 0.9rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  vertical-align: top;
  overflow-wrap: anywhere;
}

.studio-pos-refund-row:hover td {
  background: rgba(248, 250, 252, 0.65);
}

.studio-pos-refund-row small,
.studio-pos-refunds-table td small {
  display: block;
  margin-top: 0.2rem;
  color: #64748b;
  font-size: 0.8rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.studio-pos-refund-detail-row[hidden],
.studio-pos-refund-form-panel[hidden],
.studio-pos-void-form-panel[hidden] {
  display: none;
}

.studio-pos-refund-detail-row > td {
  padding: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.72);
}

.studio-pos-refund-detail-panel {
  display: grid;
  gap: 1rem;
  margin: 0 0 0.85rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 1rem;
  background: rgba(248, 250, 252, 0.82);
}

.studio-pos-refund-detail-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-refund-detail-panel__header h3,
.studio-pos-refund-detail-panel__header p {
  margin: 0;
}

.studio-pos-refund-detail-panel__header p {
  margin-top: 0.25rem;
  color: #64748b;
}

.studio-pos-refund-form-panel,
.studio-pos-void-form-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.9rem;
  background: #fff;
}

.studio-pos-refund-form-panel h3,
.studio-pos-void-form-panel h3,
.studio-pos-void-form-panel p {
  margin: 0;
}

.studio-pos-void-form-panel p {
  color: #64748b;
}

.studio-pos-refund-form {
  display: grid;
  gap: 0.65rem;
}

.studio-pos-refund-form label {
  display: grid;
  gap: 0.35rem;
  color: #334155;
  font-weight: 850;
}

.studio-pos-refund-form .inline-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  line-height: 1.35;
}

.studio-pos-refund-form .inline-checkbox input {
  width: 1rem;
  height: 1rem;
  min-height: 1rem;
  margin-top: 0.15rem;
}

.studio-pos-refund-empty {
  display: grid;
  justify-items: start;
  gap: 0.7rem;
  padding: 1rem;
  border: 1px dashed rgba(148, 163, 184, 0.42);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.8);
}

.studio-pos-refund-empty h2,
.studio-pos-refund-empty p {
  margin: 0;
}

@media(max-width:1200px) {
  .studio-pos-refunds-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .studio-pos-refunds-filter-bar {
    grid-template-columns: 1fr 1fr;
  }

  .studio-pos-refunds-field--search {
    grid-column: 1 / -1;
  }

  .studio-pos-refunds-filter-actions {
    justify-content: flex-start;
  }

  .studio-pos-refunds-filter-advanced {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:1000px) {
  .studio-pos-refunds-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .studio-pos-refunds-table {
    min-width: 1100px;
  }
}

@media(max-width:760px) {
  .studio-pos-refunds-header,
  .studio-pos-refunds-filters__header,
  .studio-pos-refunds-ledger__header {
    display: grid;
    align-items: start;
  }

  .studio-pos-refunds-actions,
  .studio-pos-refund-actions {
    display: grid;
    width: 100%;
  }

  .studio-pos-refunds-actions .btn,
  .studio-pos-refund-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-refunds-summary {
    grid-template-columns: 1fr;
  }

  .studio-pos-refunds-more-toggle {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-refunds-filter-bar,
  .studio-pos-refunds-filter-advanced {
    grid-template-columns: 1fr;
  }

  .studio-pos-refunds-field--search {
    grid-column: auto;
  }

  .studio-pos-refunds-filter-actions {
    display: grid;
  }

  .studio-pos-refunds-filter-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-refunds-ledger__tools {
    white-space: normal;
  }

  .studio-pos-refund-detail-panel {
    padding: 0.85rem;
    border-radius: 0.9rem;
  }

  .studio-pos-refund-detail-panel__header {
    display: grid;
  }

  .studio-pos-refund-detail-panel__header .btn,
  .studio-pos-refund-form .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Studio Host POS register polish */
.studio-pos-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-actions,
.studio-pos-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.studio-pos-status-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.studio-pos-status-panel article {
  min-width: 0;
  padding: 0.95rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.95rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.studio-pos-status-panel span {
  display: block;
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-status-panel strong {
  display: block;
  margin-top: 0.35rem;
  color: #111827;
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

.studio-pos-register-bar {
  display: grid;
  grid-template-columns: minmax(180px, 0.7fr) minmax(220px, 1fr) minmax(260px, 1.2fr);
  gap: 0.85rem;
  align-items: end;
}

.studio-pos-register-bar h2 {
  margin: 0;
}

.studio-pos-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 0.8rem;
}

.studio-pos-category-tabs button {
  min-height: 2.25rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-weight: 850;
  cursor: pointer;
}

.studio-pos-category-tabs button:hover,
.studio-pos-category-tabs button:focus {
  border-color: rgba(49, 89, 67, 0.38);
  color: #111827;
  outline: none;
}

.studio-pos-category-tabs button.is-active {
  border-color: rgba(49, 89, 67, 0.42);
  background: rgba(49, 89, 67, 0.1);
  color: #1f3f2e;
}

.studio-pos-product-card {
  min-height: 9rem;
  align-content: space-between;
}

.studio-pos-product-card strong {
  line-height: 1.22;
}

.studio-pos-product-card small {
  color: #111827;
  font-size: 1rem;
}

.studio-pos-cart-item {
  grid-template-columns: minmax(0, 1fr) 4.5rem 6.5rem auto;
  align-items: end;
}

.studio-pos-cart-item label {
  display: grid;
  gap: 0.25rem;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.studio-pos-cart-item__main small {
  margin-top: 0.2rem;
}

.studio-pos-payment-panel {
  padding-top: 0.75rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.studio-pos-recent-sales {
  display: grid;
  gap: 1rem;
}

.studio-pos-empty {
  margin: 0.2rem 0 0;
}

@media(max-width:1100px) {
  .studio-pos-status-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .studio-pos-register-bar {
    grid-template-columns: 1fr;
  }
}

@media(max-width:760px) {
  .studio-pos-header {
    display: grid;
    align-items: start;
  }

  .studio-pos-actions,
  .studio-pos-quick-actions {
    display: grid;
  }

  .studio-pos-actions .btn,
  .studio-pos-quick-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-status-panel {
    grid-template-columns: 1fr;
  }

  .studio-pos-category-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.2rem;
  }

  .studio-pos-category-tabs button {
    flex: 0 0 auto;
  }

  .studio-pos-product-card {
    min-height: 0;
  }

  .studio-pos-cart-item {
    grid-template-columns: 1fr 1fr;
  }

  .studio-pos-cart-item__main,
  .studio-pos-cart-item .btn {
    grid-column: 1 / -1;
  }

  .studio-pos-cart-item .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Studio Host POS product catalogue */
.studio-pos-products-page {
  display: grid;
  gap: 1rem;
}

.studio-pos-products-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-products-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.studio-pos-products-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
}

.studio-pos-products-summary article {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.95rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.studio-pos-products-summary span {
  display: block;
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-products-summary strong {
  display: block;
  margin-top: 0.3rem;
  color: #111827;
  font-size: 1.12rem;
}

.studio-pos-products-filters,
.studio-pos-products-table-wrap,
.studio-pos-product-form,
.studio-pos-linked-shortcut {
  display: grid;
  gap: 1rem;
}

.studio-pos-products-table td strong,
.studio-pos-products-table td small {
  display: block;
  overflow-wrap: anywhere;
}

.studio-pos-products-table td small {
  margin-top: 0.2rem;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 750;
}

.studio-pos-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.studio-pos-product-actions form {
  margin: 0;
}

.studio-pos-product-empty {
  display: grid;
  justify-items: start;
  gap: 0.7rem;
  padding: 1rem;
  border: 1px dashed rgba(148, 163, 184, 0.42);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.8);
}

.studio-pos-product-empty h2,
.studio-pos-product-empty p {
  margin: 0;
}

.studio-pos-low-stock {
  color: #92400e;
  font-weight: 900;
}

.studio-pos-low-stock-row {
  background: rgba(255, 251, 235, 0.72);
}

@media(max-width:1100px) {
  .studio-pos-products-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media(max-width:760px) {
  .studio-pos-products-header {
    display: grid;
    align-items: start;
  }

  .studio-pos-products-actions,
  .studio-pos-product-actions {
    display: grid;
    width: 100%;
  }

  .studio-pos-products-actions .btn,
  .studio-pos-product-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-products-summary {
    grid-template-columns: 1fr;
  }
}

/* Studio Host POS sales history */
.studio-pos-sales-page {
  display: grid;
  gap: 1rem;
}

.studio-pos-sales-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-sales-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.studio-pos-sales-summary {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 0.7rem;
}

.studio-pos-sales-summary article {
  min-width: 0;
  padding: 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.studio-pos-sales-summary span {
  display: block;
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-sales-summary strong {
  display: block;
  margin-top: 0.3rem;
  color: #111827;
  font-size: 0.98rem;
  overflow-wrap: anywhere;
}

.studio-pos-sales-filters,
.studio-pos-sales-ledger,
.studio-pos-sale-detail,
.studio-pos-sale-items,
.studio-pos-refund-status {
  display: grid;
  gap: 1rem;
}

.studio-pos-sales-filters__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-sales-filters__header h2 {
  margin: 0;
  color: #111827;
  font-size: 1rem;
  line-height: 1.25;
}

.studio-pos-sales-filters__header p {
  margin: 0.25rem 0 0;
  color: #64748b;
  font-size: 0.9rem;
}

.studio-pos-sales-filter-form {
  display: grid;
  gap: 0.85rem;
}

.studio-pos-sales-filter-bar {
  display: grid;
  grid-template-columns: minmax(18rem, 2fr) minmax(10rem, 0.8fr) minmax(10rem, 0.8fr) auto;
  align-items: end;
  gap: 0.75rem;
}

.studio-pos-sales-field {
  display: grid;
  min-width: 0;
  gap: 0.35rem;
}

.studio-pos-sales-field span {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.studio-pos-sales-field input,
.studio-pos-sales-field select {
  width: 100%;
  min-width: 0;
  min-height: 2.65rem;
  padding: 0 0.8rem;
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-radius: 0.75rem;
  background: #fff;
  color: #111827;
  font: inherit;
}

.studio-pos-sales-field input:focus,
.studio-pos-sales-field select:focus {
  border-color: rgba(15, 23, 42, 0.45);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
  outline: none;
}

.studio-pos-sales-filter-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 0.5rem;
}

.studio-pos-sales-filter-advanced {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.studio-pos-sales-filter-advanced[hidden] {
  display: none;
}

.studio-pos-sales-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.studio-pos-sales-filter-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 1.85rem;
  padding: 0.25rem 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.9);
  color: #334155;
  font-size: 0.82rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.studio-pos-sales-filter-chip strong {
  margin-right: 0.25rem;
  color: #111827;
}

.studio-pos-sales-ledger__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.studio-pos-sales-ledger__header h2 {
  margin: 0;
}

.studio-pos-sales-ledger__header p:not(.eyebrow) {
  margin: 0.25rem 0 0;
  color: #64748b;
}

.studio-pos-sales-ledger__tools {
  color: #64748b;
  font-size: 0.9rem;
  font-weight: 800;
  white-space: nowrap;
}

.studio-pos-sales-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.studio-pos-sales-table thead th {
  padding: 0.75rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.26);
  background: rgba(248, 250, 252, 0.9);
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-pos-sale-row td {
  padding: 0.9rem 0.85rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  vertical-align: top;
  overflow-wrap: anywhere;
}

.studio-pos-sale-row:hover td {
  background: rgba(248, 250, 252, 0.65);
}

.studio-pos-sale-date,
.studio-pos-sale-row small,
.studio-pos-sales-table td small,
.studio-pos-receipt-id {
  display: block;
  margin-top: 0.2rem;
  color: #64748b;
  font-size: 0.8rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.studio-pos-sale-id {
  display: inline-block;
  color: #111827;
  font-weight: 900;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.studio-pos-sale-id:hover,
.studio-pos-sale-id:focus {
  text-decoration: underline;
}

.studio-pos-items-summary {
  display: block;
  max-width: 18rem;
  color: #334155;
  overflow-wrap: anywhere;
}

.studio-pos-sale-total {
  color: #111827;
  font-size: 1rem;
  white-space: nowrap;
}

.studio-pos-payment-method {
  display: block;
  color: #111827;
  font-weight: 850;
}

.studio-pos-row-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.studio-pos-sale-detail-row[hidden] {
  display: none;
}

.studio-pos-sale-detail-row > td {
  padding: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.72);
}

.studio-pos-sale-detail-panel {
  margin: 0 0 0.85rem;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 1rem;
  background: rgba(248, 250, 252, 0.82);
}

.studio-pos-sale-detail-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.studio-pos-sale-detail-panel__header h3 {
  margin: 0;
  font-size: 1rem;
}

.studio-pos-sale-detail-panel__header p {
  margin: 0.25rem 0 0;
  color: #64748b;
  overflow-wrap: anywhere;
}

.studio-pos-sale-detail-grid {
  display: grid;
  gap: 1rem;
}

.studio-pos-sale-detail-grid .profile-grid {
  margin: 0;
}

.studio-pos-sale-items-panel {
  margin-top: 0;
}

.studio-pos-refund-status,
.studio-pos-refund-panel {
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.9rem;
  background: #fff;
}

.studio-pos-refund-panel {
  display: grid;
  gap: 0.75rem;
}

.studio-pos-refund-panel h3,
.studio-pos-refund-panel p,
.studio-pos-refund-status h3,
.studio-pos-refund-status p {
  margin: 0;
}

.studio-pos-refund-panel p {
  color: #64748b;
  font-size: 0.9rem;
}

.studio-pos-refund-form-panel[hidden] {
  display: none;
}

.studio-pos-inline-action {
  display: grid;
  gap: 0.55rem;
  margin: 0;
}

.studio-pos-inline-action label {
  display: grid;
  gap: 0.35rem;
  color: #334155;
  font-weight: 850;
}

.studio-pos-inline-action input[name="reason"] {
  width: 100%;
  min-height: 2.55rem;
  padding: 0 0.75rem;
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-radius: 0.75rem;
  font: inherit;
}

.studio-pos-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  color: #64748b;
  font-size: 0.9rem;
  font-weight: 850;
}

.studio-pos-sale-empty {
  display: grid;
  justify-items: start;
  gap: 0.7rem;
  padding: 1rem;
  border: 1px dashed rgba(148, 163, 184, 0.42);
  border-radius: 0.95rem;
  background: rgba(248, 250, 252, 0.8);
}

.studio-pos-sale-empty h2,
.studio-pos-sale-empty p {
  margin: 0;
}

.studio-pos-receipt-link {
  font-weight: 900;
}

@media(max-width:1200px) {
  .studio-pos-sales-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .studio-pos-sales-filter-bar {
    grid-template-columns: 1fr 1fr;
  }

  .studio-pos-sales-field--search {
    grid-column: 1 / -1;
  }

  .studio-pos-sales-filter-actions {
    justify-content: flex-start;
  }

  .studio-pos-sales-filter-advanced {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:1000px) {
  .studio-pos-sales-list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .studio-pos-sales-table {
    min-width: 920px;
  }
}

@media(max-width:760px) {
  .studio-pos-sales-header {
    display: grid;
    align-items: start;
  }

  .studio-pos-sales-actions,
  .studio-pos-row-actions,
  .studio-pos-inline-action {
    display: grid;
    width: 100%;
  }

  .studio-pos-sales-actions .btn,
  .studio-pos-row-actions .btn,
  .studio-pos-inline-action .btn,
  .studio-pos-inline-action input {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-sales-summary {
    grid-template-columns: 1fr;
  }

  .studio-pos-sales-filters__header {
    display: grid;
  }

  .studio-pos-sales-more-toggle {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-sales-filter-bar,
  .studio-pos-sales-filter-advanced {
    grid-template-columns: 1fr;
  }

  .studio-pos-sales-field--search {
    grid-column: auto;
  }

  .studio-pos-sales-filter-actions {
    display: grid;
  }

  .studio-pos-sales-filter-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-sales-ledger__header {
    display: grid;
  }

  .studio-pos-sales-ledger__tools {
    white-space: normal;
  }

  .studio-pos-sale-detail-panel {
    padding: 0.85rem;
    border-radius: 0.9rem;
  }

  .studio-pos-sale-detail-panel__header {
    display: grid;
  }

  .studio-pos-sale-detail-panel__header .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-pos-pagination {
    display: grid;
    justify-content: stretch;
  }

  .studio-pos-pagination .btn {
    width: 100%;
    justify-content: center;
  }
}

.studio-memberships-page {
  display: grid;
  gap: 1rem;
}

.studio-memberships-page > .studio-membership-builder {
  order: 1;
}

.studio-memberships-page > .studio-membership-plan-list {
  order: 2;
}

.studio-memberships-page > .studio-memberships-dashboard-overview {
  order: 10;
}

.studio-memberships-page > .studio-membership-health {
  order: 11;
}

.studio-memberships-page > .studio-membership-retention {
  order: 12;
}

.studio-memberships-page > .studio-membership-billing-health {
  order: 13;
}

.studio-memberships-page > .studio-membership-forecast {
  order: 14;
}

.studio-memberships-page > .studio-membership-credit-watch {
  order: 15;
}

.studio-memberships-page > #membership-reports {
  order: 16;
}

.studio-memberships-page > .studio-customer-membership-list {
  order: 17;
}

.studio-memberships-page > #assign-membership {
  order: 18;
}

.studio-memberships-page > .studio-membership-ledger {
  order: 19;
}

.studio-memberships-page > .studio-membership-timeline {
  order: 20;
}

.studio-memberships-page > .studio-membership-launch {
  order: 50;
}

.studio-memberships-page > .studio-membership-warning {
  order: 51;
}

.studio-memberships-page > #membership-test-centre {
  order: 52;
}

.studio-memberships-page > #booking-eligibility {
  order: 53;
}

.studio-memberships-page > .studio-membership-support {
  order: 54;
}

.studio-memberships-page > .studio-membership-boundary {
  order: 55;
}

.studio-memberships-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.studio-memberships-actions,
.studio-membership-row-actions,
.studio-membership-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.studio-memberships-actions {
  justify-content: flex-end;
}

.studio-membership-manage-card {
  display: grid;
  gap: 0.45rem;
  color: inherit;
  text-decoration: none;
  border-color: rgba(20, 184, 166, 0.28);
  background: linear-gradient(180deg, #ffffff 0%, #f6fbf9 100%);
}

.studio-membership-manage-card:hover,
.studio-membership-manage-card:focus-visible {
  border-color: rgba(20, 184, 166, 0.5);
  box-shadow: 0 16px 38px rgba(15, 118, 110, 0.12);
  transform: translateY(-1px);
}

.studio-membership-manage-card h2,
.studio-membership-manage-card p {
  margin: 0;
}

.studio-membership-packages-page {
  display: grid;
  gap: 1rem;
}

.studio-membership-packages-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border-color: rgba(20, 184, 166, 0.18);
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.9), rgba(255, 255, 255, 0.96) 46%, rgba(255, 251, 235, 0.55)),
    #fff;
}

.studio-membership-packages-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.studio-membership-package-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.studio-membership-package-summary article {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.studio-membership-package-summary span,
.studio-membership-builder-guide strong {
  color: #475569;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-membership-package-summary strong {
  display: block;
  margin-top: 0.35rem;
  color: #0f172a;
  font-size: 1.7rem;
  line-height: 1;
}

.studio-membership-package-summary small {
  display: block;
  margin-top: 0.35rem;
  color: #64748b;
  font-weight: 750;
}

.studio-membership-package-builder,
.studio-membership-package-list,
.studio-membership-package-connections {
  display: grid;
  gap: 1rem;
}

.studio-membership-package-form {
  display: grid;
  gap: 1rem;
}

.studio-membership-builder-guide {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.studio-membership-builder-guide article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.7rem;
  align-items: flex-start;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(20, 184, 166, 0.2);
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff, #f8fffd);
}

.studio-membership-builder-guide article > span,
.studio-membership-form-step__heading > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #0f766e;
  color: #fff;
  font-weight: 950;
}

.studio-membership-builder-guide p {
  margin: 0.2rem 0 0;
  color: #64748b;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.4;
}

.studio-membership-package-table th,
.studio-membership-package-table td {
  vertical-align: top;
}

.studio-memberships-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
}

.studio-memberships-dashboard-heading {
  grid-column: 1 / -1;
  margin-bottom: 0.2rem;
}

.studio-memberships-summary article {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.9rem;
  background: #fff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.studio-memberships-summary span {
  display: block;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.studio-memberships-summary strong {
  display: block;
  margin-top: 0.3rem;
  color: #111827;
  font-size: 1.45rem;
  line-height: 1.1;
}

.studio-membership-template-section,
.studio-membership-plan-list,
.studio-membership-builder,
.studio-membership-boundary {
  display: grid;
  gap: 1rem;
}

.studio-membership-template-section .settings-section__header,
.studio-membership-plan-list .settings-section__header,
.studio-membership-builder .settings-section__header,
.studio-membership-boundary .settings-section__header {
  margin-bottom: 0;
}

.studio-membership-template-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.studio-membership-builder-templates {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.studio-membership-template-card {
  display: grid;
  gap: 0.35rem;
  min-height: 7.5rem;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.9rem;
  background: linear-gradient(180deg, #fff, #f8fafc);
  color: #111827;
}

.studio-membership-template-card:hover {
  border-color: rgba(49, 89, 67, 0.35);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.studio-membership-template-card strong {
  font-size: 1rem;
  line-height: 1.25;
}

.studio-membership-template-card span {
  color: #64748b;
  font-weight: 700;
  line-height: 1.35;
}

.studio-membership-builder-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.5rem;
}

.studio-membership-builder-steps span {
  min-height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.9);
  color: #334155;
  font-size: 0.82rem;
  font-weight: 850;
  text-align: center;
}

.studio-membership-form {
  display: grid;
  gap: 1rem;
}

.studio-membership-form-step {
  display: grid;
  gap: 0.85rem;
  padding: 1.1rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.82), rgba(255, 255, 255, 0.96));
}

.studio-membership-form-step h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.05rem;
}

.studio-membership-form-step__heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  align-items: flex-start;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.studio-membership-form-step__heading p {
  margin: 0.2rem 0 0;
  color: #64748b;
  font-weight: 700;
  line-height: 1.4;
}

.studio-membership-form-step .settings-checkbox {
  min-height: 3.75rem;
  margin: 0;
  padding: 0.75rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 0.85rem;
  background: #fff;
}

.studio-membership-class-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.studio-membership-empty {
  display: grid;
  gap: 0.8rem;
  padding: 1rem;
  border: 1px dashed rgba(148, 163, 184, 0.45);
  border-radius: 1rem;
  background: rgba(248, 250, 252, 0.78);
}

.studio-membership-empty p {
  margin: 0;
  color: #64748b;
  font-weight: 750;
}

.studio-membership-plan-table small {
  display: block;
  margin-top: 0.2rem;
  color: #64748b;
  font-weight: 750;
}

.studio-membership-row-actions form {
  margin: 0;
}

.studio-membership-form-actions {
  position: sticky;
  bottom: 0.75rem;
  z-index: 2;
  padding: 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(8px);
}

.studio-customer-membership-list,
.studio-membership-access-preview,
.studio-membership-ledger,
.studio-membership-warning {
  display: grid;
  gap: 1rem;
}

.studio-customer-membership-table td,
.studio-customer-membership-table th {
  vertical-align: top;
}

.studio-membership-adjustment-form {
  display: grid;
  grid-template-columns: minmax(5rem, 0.5fr) minmax(10rem, 1fr) auto;
  gap: 0.45rem;
  align-items: end;
  min-width: 16rem;
  margin-top: 0.65rem;
}

.studio-membership-adjustment-form label {
  display: grid;
  gap: 0.25rem;
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 800;
}

.studio-membership-adjustment-form input,
.studio-membership-access-preview select,
.studio-membership-builder select {
  min-width: 0;
}

.studio-membership-preview-result,
.customer-membership-access {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.9);
  color: #334155;
  overflow-wrap: anywhere;
}

.studio-membership-preview-result.is-allowed,
.customer-membership-access.is-allowed {
  border-color: rgba(34, 197, 94, 0.28);
  background: rgba(240, 253, 244, 0.78);
}

.studio-membership-preview-result.is-blocked,
.customer-membership-access.is-blocked {
  border-color: rgba(239, 68, 68, 0.25);
  background: rgba(254, 242, 242, 0.78);
}

.studio-membership-preview-result small,
.customer-membership-access small {
  color: #64748b;
  font-weight: 700;
}

.customer-membership-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.customer-membership-card {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
  padding: 16px;
  border: 1px solid #eee8f6;
  border-radius: 16px;
  background: #fbfaff;
}

.customer-membership-card h3,
.customer-membership-card p {
  margin: 0;
}

.customer-membership-card p,
.customer-membership-card small {
  color: #64748b;
}

.customer-membership-card dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.35rem 0.75rem;
  margin: 0;
}

.customer-membership-card dt {
  color: #70677f;
  font-weight: 900;
}

.customer-membership-card dd {
  margin: 0;
  font-weight: 900;
  text-align: right;
  overflow-wrap: anywhere;
}

.customer-memberships-page {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.customer-membership-hero,
.customer-current-membership-card,
.customer-membership-plan-card {
  min-width: 0;
  border: 1px solid #eee8f6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(42, 35, 62, 0.07);
}

.customer-membership-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 22px;
}

.customer-membership-hero h1,
.customer-membership-hero p,
.customer-current-membership-card h2,
.customer-current-membership-card p,
.customer-membership-plan-card h3,
.customer-membership-plan-card p,
.customer-membership-help h2,
.customer-membership-help p {
  margin: 0;
}

.customer-membership-hero p:not(.eyebrow),
.customer-current-membership-card p,
.customer-membership-plan-card p,
.customer-membership-plan-card small,
.customer-membership-help p {
  color: #64748b;
}

.customer-membership-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

.customer-membership-actions form {
  margin: 0;
}

.customer-membership-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 0.85rem;
}

.customer-current-membership-card,
.customer-membership-plan-card {
  display: grid;
  gap: 0.75rem;
  padding: 18px;
}

.customer-membership-card__top {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.customer-membership-credit-pill {
  display: inline-grid;
  width: max-content;
  max-width: 100%;
  gap: 0.1rem;
  padding: 0.55rem 0.75rem;
  border-radius: 0.9rem;
  background: #f3f8f6;
  color: #0f5132;
}

.customer-membership-credit-pill strong {
  font-size: 1.25rem;
  line-height: 1;
}

.customer-membership-credit-pill span {
  color: #4b7061;
  font-size: 0.82rem;
  font-weight: 800;
}

.customer-membership-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 0;
}

.customer-membership-meta div {
  min-width: 0;
  padding: 0.65rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 0.85rem;
  background: rgba(248, 250, 252, 0.85);
}

.customer-membership-meta dt {
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.customer-membership-meta dd {
  margin: 0.2rem 0 0;
  color: #111827;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.customer-membership-price {
  color: #111827;
  font-size: 1.15rem;
}

.customer-membership-benefits {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding-left: 1.1rem;
  color: #334155;
}

.customer-membership-warning {
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(245, 158, 11, 0.26);
  border-radius: 0.8rem;
  background: rgba(255, 251, 235, 0.86);
  color: #92400e !important;
  font-weight: 750;
}

.studio-membership-health,
.studio-membership-launch,
.studio-membership-support,
.studio-membership-retention,
.studio-membership-forecast,
.studio-membership-report-grid,
.studio-membership-timeline {
  display: grid;
  gap: 1rem;
}

.studio-membership-launch-list {
  display: grid;
  gap: 0.75rem;
}

.studio-membership-launch-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  padding: 0.9rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 8px;
  background: #fff;
}

.studio-membership-launch-item.needs-attention {
  border-color: rgba(245, 158, 11, 0.34);
  background: rgba(255, 251, 235, 0.72);
}

.studio-membership-launch-item p {
  margin: 0.25rem 0 0;
  color: #64748b;
  font-weight: 700;
  line-height: 1.35;
}

.studio-membership-health-grid article {
  border-left: 3px solid rgba(20, 184, 166, 0.45);
}

.studio-membership-risk-badge {
  white-space: nowrap;
}

.studio-membership-followup-task {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.membership-credit-progress {
  width: 100%;
  height: 0.65rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.24);
}

.membership-credit-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #14b8a6, #22c55e);
}

.customer-membership-progress-copy {
  margin: -0.15rem 0 0;
  color: #475569 !important;
  font-size: 0.9rem;
}

.membership-alert-banner {
  margin: 0;
}

@media (max-width: 720px) {
  .studio-membership-launch-item {
    grid-template-columns: 1fr;
  }

  .studio-membership-launch-item .btn {
    width: 100%;
  }
}

.customer-membership-empty {
  display: grid;
  gap: 0.6rem;
}

.customer-membership-group-title {
  margin: 1.2rem 0 0;
  font-size: 1rem;
}

.settings-alert {
  padding: 0.85rem 1rem;
  border: 1px solid rgba(59, 130, 246, 0.22);
  border-radius: 0.9rem;
  background: rgba(239, 246, 255, 0.86);
  color: #1e3a8a;
  font-weight: 750;
}

.settings-alert.is-success {
  border-color: rgba(34, 197, 94, 0.24);
  background: rgba(240, 253, 244, 0.86);
  color: #166534;
}

.customer-membership-history .studio-table-wrap {
  margin-top: 0.75rem;
}

@media (max-width: 1180px) {
  .studio-memberships-hero,
  .studio-membership-packages-header {
    display: grid;
  }

  .studio-memberships-actions,
  .studio-membership-packages-actions {
    justify-content: flex-start;
  }

  .studio-memberships-summary,
  .studio-membership-package-summary,
  .studio-membership-builder-guide,
  .studio-membership-template-grid,
  .customer-membership-grid,
  .customer-membership-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .studio-membership-builder-steps,
  .studio-membership-class-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .studio-memberships-summary,
  .studio-membership-package-summary,
  .studio-membership-builder-guide,
  .studio-membership-template-grid,
  .studio-membership-builder-steps,
  .studio-membership-class-type-grid,
  .customer-membership-grid,
  .customer-membership-plan-grid {
    grid-template-columns: 1fr;
  }

  .customer-membership-hero {
    display: grid;
    padding: 18px;
  }

  .customer-membership-actions,
  .customer-membership-actions form,
  .customer-membership-actions .btn,
  .customer-membership-actions button {
    width: 100%;
    justify-content: center;
  }

  .studio-memberships-actions,
  .studio-membership-packages-actions,
  .studio-membership-row-actions,
  .studio-membership-form-actions {
    display: grid;
    position: static;
  }

  .studio-memberships-actions .btn,
  .studio-membership-packages-actions .btn,
  .studio-membership-row-actions .btn,
  .studio-membership-row-actions button,
  .studio-membership-form-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .studio-membership-adjustment-form {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .customer-membership-card dl {
    grid-template-columns: 1fr;
  }

  .customer-membership-card dd {
    text-align: left;
  }

  .customer-membership-meta {
    grid-template-columns: 1fr;
  }
}

/* Phase 6 customer workflow overrides for pages that already had module-specific CSS. */
.customer-classes-hero.page-header,
.customer-membership-hero.page-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  padding: var(--rms-space-6);
}

@media (max-width: 1100px) {
  .customer-classes-hero.page-header,
  .customer-membership-hero.page-header {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .customer-classes-hero.page-header,
  .customer-membership-hero.page-header {
    padding: var(--rms-space-4);
  }
}

/* Modern Site Settings workflow. Scoped to admin/settings.php structure only. */
.settings-layout {
  grid-template-columns: minmax(230px, 282px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.settings-nav.admin-card {
  top: 18px;
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 18px;
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 58%, #fff7ed 100%);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  scrollbar-width: thin;
  counter-reset: settings-nav;
}

.settings-nav h2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 12px;
  color: #0f172a;
  font-size: 15px;
  letter-spacing: 0;
}

.settings-nav h2::after {
  content: "Site";
  border-radius: 999px;
  background: #e0f2fe;
  color: #075985;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
}

.settings-nav a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  margin: 0 0 7px;
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: #334155;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.settings-nav a::before {
  counter-increment: settings-nav;
  content: counter(settings-nav, decimal-leading-zero);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 11px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
}

.settings-nav a:hover,
.settings-nav a:focus-visible {
  border-color: rgba(49, 89, 67, 0.22);
  background: #ffffff;
  color: #17201a;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.settings-nav a:hover::before,
.settings-nav a:focus-visible::before {
  background: #315943;
  color: #ffffff;
}

.settings-sections {
  gap: 22px;
}

.settings-sections > .settings-section {
  position: relative;
  min-width: 0;
  scroll-margin-top: 86px;
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fffdf9 100%);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.settings-sections > .settings-section[id]::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #315943, #0f766e, #38bdf8, #f59e0b);
}

.settings-sections > .settings-section:first-child {
  display: grid;
  grid-template-columns: minmax(180px, 0.34fr) minmax(240px, 1fr);
  gap: 14px;
  align-items: end;
  padding: 18px;
  background: #f8fafc;
}

.settings-sections > .settings-section:first-child label {
  margin: 0;
  color: #475569;
  font-size: 13px;
  font-weight: 950;
}

.settings-sections > .settings-section:first-child input {
  min-height: 46px;
  margin: 0;
  border-color: rgba(49, 89, 67, 0.18);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.settings-section__header {
  display: grid;
  gap: 4px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.settings-section__header h2,
.settings-section__header h3 {
  margin: 0;
  color: #0f172a;
  letter-spacing: 0;
}

.settings-section__header .muted,
.settings-section__header p:not(.eyebrow) {
  max-width: 78ch;
  margin: 0;
  color: #64748b;
  font-weight: 720;
  line-height: 1.45;
}

.settings-section .admin-form {
  display: grid;
  gap: 12px;
}

.settings-section .form-grid,
.settings-health-grid,
.settings-current-logo-grid,
.settings-upload-grid,
.settings-placeholder-list,
.settings-toggle-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.settings-section .admin-form label {
  margin-top: 0;
  color: #17201a;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.3;
}

.settings-section .admin-form input,
.settings-section .admin-form select,
.settings-section .admin-form textarea {
  min-height: 44px;
  margin: 7px 0 12px;
  border-color: rgba(148, 163, 184, 0.34);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.035);
}

.settings-section .admin-form input[type="color"] {
  min-height: 48px;
  padding: 5px;
}

.settings-section .admin-form input[type="file"] {
  padding: 10px;
  background: #f8fafc;
}

.settings-section .admin-form textarea {
  min-height: 108px;
}

.settings-section .admin-form input:focus,
.settings-section .admin-form select:focus,
.settings-section .admin-form textarea:focus {
  border-color: #315943;
  box-shadow: var(--focus-ring), inset 0 1px 2px rgba(15, 23, 42, 0.035);
}

.settings-field-note {
  margin: -5px 0 10px;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}

.settings-preview-card,
.settings-upload-card,
.settings-health-grid span,
.settings-placeholder-list li,
.settings-toggle-grid .settings-checkbox,
.settings-empty-note,
.settings-moved-card {
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.045);
}

.settings-health-grid span {
  display: grid;
  gap: 6px;
  min-height: 86px;
  align-content: start;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.settings-health-grid strong {
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.settings-section .settings-checkbox {
  align-items: flex-start;
  min-height: 54px;
  margin: 0 0 12px;
  padding: 13px 14px;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 14px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.settings-section .settings-checkbox:hover,
.settings-section .settings-checkbox:focus-within {
  border-color: rgba(49, 89, 67, 0.28);
  box-shadow: 0 13px 28px rgba(15, 23, 42, 0.07);
  transform: translateY(-1px);
}

.settings-section .settings-checkbox input {
  flex: 0 0 auto;
  width: 20px !important;
  height: 20px !important;
  margin-top: 1px !important;
  accent-color: #315943;
}

.settings-section .settings-checkbox span {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.settings-section .settings-checkbox small {
  color: #64748b;
  font-size: 12px;
  font-weight: 720;
}

.settings-subform {
  margin-top: 22px;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #f8fafc;
}

.settings-help {
  background: #e0f2fe;
  border-color: #bae6fd;
  color: #075985;
}

.settings-help__tooltip {
  border-color: #0f172a;
  background: #0f172a;
}

@media (max-width: 1100px) {
  .settings-layout {
    grid-template-columns: 1fr;
  }

  .settings-nav.admin-card {
    position: static;
    max-height: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px;
    overflow: visible;
  }

  .settings-nav h2 {
    flex: 1 0 100%;
    margin-bottom: 2px;
  }

  .settings-nav a {
    grid-template-columns: 26px minmax(0, 1fr);
    flex: 1 1 180px;
    margin: 0;
  }

  .settings-nav a::before {
    width: 26px;
    height: 26px;
    border-radius: 9px;
  }
}

@media (max-width: 720px) {
  .settings-layout {
    gap: 14px;
  }

  .settings-nav.admin-card {
    margin-inline: -2px;
    padding: 12px;
  }

  .settings-nav a {
    flex-basis: 150px;
    font-size: 12px;
  }

  .settings-sections {
    gap: 14px;
  }

  .settings-sections > .settings-section {
    border-radius: 18px;
    padding: 16px;
    scroll-margin-top: 72px;
  }

  .settings-sections > .settings-section:first-child {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .settings-section .form-grid,
  .settings-health-grid,
  .settings-current-logo-grid,
  .settings-upload-grid,
  .settings-placeholder-list,
  .settings-toggle-grid {
    grid-template-columns: 1fr;
  }

  .settings-section .admin-form input,
  .settings-section .admin-form select,
  .settings-section .admin-form textarea {
    font-size: 16px;
  }

  .settings-subform {
    padding: 14px;
  }

  .settings-help__tooltip {
    left: auto;
    right: -8px;
    width: min(260px, 76vw);
    transform: translateY(4px);
  }

  .settings-help:hover .settings-help__tooltip,
  .settings-help:focus .settings-help__tooltip,
  .settings-help:focus-within .settings-help__tooltip {
    transform: translateY(0);
  }

  .settings-help__tooltip::after {
    left: auto;
    right: 10px;
    transform: none;
  }
}

/* Host / Studio Control uses the Site Settings workflow shell. */
.host-studios-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.host-studios-sections {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.host-studios-sections > .settings-section {
  position: relative;
  min-width: 0;
  scroll-margin-top: 86px;
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fffdf9 100%);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.host-studios-sections > .settings-section[id]::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #315943, #0f766e, #38bdf8, #f59e0b);
}

.host-studios-sections > .admin-card.admin-accordion__item {
  padding: 0;
  border-radius: 22px;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.06);
}

.host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 68px;
  margin: 0;
  padding: 18px 20px;
  border: 0;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(236,253,245,0.9));
  color: #0f172a;
  font-size: clamp(20px, 2vw, 26px);
  box-shadow: none;
}

.host-studios-sections > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 22px;
}

.host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Host / Studio Control";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96));
}

.host-studios-sections .settings-section__header {
  margin: 0 0 16px;
}

.host-studios-sections .host-studio-searchbar {
  grid-template-columns: minmax(240px, 1fr) minmax(150px, 0.45fr) minmax(170px, 0.55fr) auto;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.host-studios-sections .host-studio-searchbar > div {
  min-width: 0;
}

.host-studios-sections .host-studio-searchbar label {
  color: #17201a;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: none;
}

.host-studios-sections .host-studio-searchbar input,
.host-studios-sections .host-studio-searchbar select {
  min-height: 44px;
  border-color: rgba(148, 163, 184, 0.34);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.035);
}

.host-studios-sections .host-studio-searchbar input:focus,
.host-studios-sections .host-studio-searchbar select:focus {
  border-color: #315943;
  box-shadow: var(--focus-ring), inset 0 1px 2px rgba(15, 23, 42, 0.035);
}

.host-studios-sections .host-studio-list-header {
  padding: 0;
  border: 0;
}

.host-studios-sections .host-studio-list {
  gap: 12px;
}

.host-studios-sections .host-studio-row {
  grid-template-columns: minmax(170px, 0.62fr) minmax(0, 1.6fr) minmax(132px, auto);
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.host-studios-sections .host-studio-row:last-child {
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.host-studios-sections .host-studio-row:hover {
  border-color: rgba(49, 89, 67, 0.28);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.075);
}

.host-studios-sections .host-studio-row h3 {
  margin-bottom: 2px;
  font-size: 16px;
  line-height: 1.15;
}

.host-studios-sections .host-studio-row p {
  font-size: 12px;
  line-height: 1.25;
}

.host-studios-sections .host-studio-row__main {
  align-items: center;
  gap: 8px;
}

.host-studios-sections .host-studio-row__meta {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 7px;
  font-size: 12px;
}

.host-studios-sections .host-studio-row__meta span {
  padding: 7px 8px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 10px;
  background: #ffffff;
  color: #334155;
  font-weight: 760;
  line-height: 1.2;
}

.host-studios-sections .host-studio-row__meta strong {
  color: #64748b;
  font-size: 10px;
  font-weight: 950;
  line-height: 1.1;
}

.host-studios-sections .host-studio-row__action {
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.host-studios-sections .host-studio-row__action .btn {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .host-studios-sections .host-studio-searchbar {
    grid-template-columns: 1fr;
  }

  .host-studios-sections .host-studio-row {
    grid-template-columns: minmax(160px, 0.75fr) minmax(0, 1.25fr);
  }

  .host-studios-sections .host-studio-row__action {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .host-studios-sections {
    gap: 14px;
  }

  .host-studios-sections > .settings-section,
  .host-studios-sections > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 62px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .host-studios-sections > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .host-studios-sections .host-studio-searchbar,
  .host-studios-sections .host-studio-row {
    padding: 12px;
    border-radius: 16px;
  }

  .host-studios-sections .host-studio-row__main,
  .host-studios-sections .host-studio-list-header {
    display: grid;
  }

  .host-studios-sections .host-studio-row__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .host-studios-sections .host-studio-searchbar__actions,
  .host-studios-sections .host-studio-row__action {
    display: grid;
  }

  .host-studios-sections .host-studio-searchbar__actions .btn,
  .host-studios-sections .host-studio-row__action .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 520px) {
  .host-studios-sections .host-studio-row__meta {
    grid-template-columns: 1fr;
  }
}

/* Subscription plan editor borrows the Host / Studio Control workflow shell. */
.subscription-plan-edit-sections > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Subscriptions";
}

.subscription-plan-edit-sections .subscription-plan-edit-form {
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.subscription-plan-edit-sections .studio-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 0;
}

.subscription-plan-edit-sections .subscription-plan-module-section {
  border-color: rgba(148, 163, 184, 0.24);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.subscription-plan-edit-sections .subscription-section-header {
  margin: 0 0 16px;
}

.subscription-plan-edit-sections .subscription-plan-edit-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.subscription-plan-edit-sections .subscription-plan-connected-studios .rms-table-wrap {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

@media (max-width: 720px) {
  .subscription-plan-edit-sections .subscription-plan-edit-form {
    padding: 12px;
    border-radius: 16px;
  }

  .subscription-plan-edit-sections .studio-form-grid,
  .subscription-plan-edit-sections .subscription-plan-edit-checks {
    grid-template-columns: 1fr;
  }
}

/* 2026 admin interface unification. Shared across Super Admin pages only. */
.admin-shell {
  --admin-bg: #f5f7fb;
  --admin-panel: #ffffff;
  --admin-panel-soft: #f8fafc;
  --admin-ink: #101827;
  --admin-muted: #64748b;
  --admin-line: rgba(148, 163, 184, 0.26);
  --admin-brand: #315943;
  --admin-teal: #0f766e;
  --admin-sky: #0ea5e9;
  --admin-amber: #f59e0b;
  --admin-radius: 18px;
  background:
    linear-gradient(135deg, #f8fafc 0%, #f4f7f1 46%, #fff7ed 100%);
}

.admin-shell .admin-sidebar {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  background:
    linear-gradient(180deg, #101827 0%, #17201a 42%, #234334 100%);
  box-shadow: 16px 0 44px rgba(15, 23, 42, 0.16);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.32) transparent;
}

.admin-shell .admin-sidebar__brand {
  margin-bottom: 16px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.08);
}

.admin-shell .admin-brand-logo,
.admin-shell .admin-brand-mark {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(14, 165, 233, 0.12)),
    rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

.admin-shell .admin-brand {
  font-size: 17px;
  letter-spacing: 0;
}

.admin-shell .admin-user {
  color: rgba(226, 232, 240, 0.82);
}

.admin-shell .admin-sidebar-collapse,
.admin-shell .admin-mobile-menu-toggle,
.admin-shell .admin-subnav-toggle {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.09);
  color: #ffffff;
}

.admin-shell .admin-sidebar-collapse:hover,
.admin-shell .admin-sidebar-collapse:focus-visible,
.admin-shell .admin-mobile-menu-toggle:hover,
.admin-shell .admin-mobile-menu-toggle:focus-visible,
.admin-shell .admin-subnav-toggle:hover,
.admin-shell .admin-subnav-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.16);
}

.admin-shell .admin-nav {
  gap: 8px;
}

.admin-shell .admin-nav__link {
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.86);
  font-weight: 900;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.admin-shell .admin-nav__icon {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.09);
}

.admin-shell .admin-nav__link:hover,
.admin-shell .admin-nav__link:focus-visible {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  transform: translateY(-1px);
}

.admin-shell .admin-nav__link.is-active,
.admin-shell .admin-subnav .admin-nav__link.is-active {
  border-color: rgba(255, 255, 255, 0.26);
  background: #ffffff;
  color: #17201a;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}

.admin-shell .admin-nav__link.is-active .admin-nav__icon,
.admin-shell .admin-subnav .admin-nav__link.is-active .admin-nav__icon {
  border-color: rgba(49, 89, 67, 0.16);
  background: linear-gradient(135deg, #dcfce7, #e0f2fe);
  color: #315943;
}

.admin-shell .admin-subnav {
  margin: 0 0 7px 18px;
  padding: 6px 0 6px 10px;
  border-left: 1px solid rgba(125, 211, 252, 0.28);
}

.admin-shell .admin-subnav .admin-nav__link {
  min-height: 38px;
  color: rgba(226, 232, 240, 0.86);
  font-size: 13px;
}

.admin-shell .admin-main {
  color: var(--admin-ink);
}

.admin-shell .page-shell,
.admin-shell .workflow-page {
  gap: 20px;
}

.admin-shell .admin-card,
.admin-shell .metric-card,
.admin-shell .module-card,
.admin-shell .rms-table-card,
.admin-shell .rms-form-section,
.admin-shell .rms-action-bar,
.admin-shell .rms-filter-toolbar {
  border-color: var(--admin-line);
  border-radius: var(--admin-radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.065);
}

.admin-shell .admin-card,
.admin-shell .module-card,
.admin-shell .rms-table-card,
.admin-shell .rms-form-section {
  position: relative;
  overflow: hidden;
}

.admin-shell .workflow-section.admin-card::before,
.admin-shell .workflow-primary.admin-card::before,
.admin-shell .workflow-live-list.admin-card::before,
.admin-shell .workflow-dashboard.admin-card::before,
.admin-shell .workflow-connections.admin-card::before,
.admin-shell .rms-table-card::before,
.admin-shell .rms-form-section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--admin-brand), var(--admin-teal), var(--admin-sky), var(--admin-amber));
}

.admin-shell .admin-page-header,
.admin-shell .page-header,
.admin-shell .backend-topbar--has-page-header .backend-topbar__page-header.page-header,
.admin-shell .backend-topbar--has-page-header .backend-topbar__page-header.admin-page-header {
  border-color: rgba(148, 163, 184, 0.24) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fafc 56%, #ecfeff 100%) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08) !important;
}

.admin-shell .backend-topbar--has-page-header .backend-topbar__page-header.page-header,
.admin-shell .backend-topbar--has-page-header .backend-topbar__page-header.admin-page-header {
  border: 1px solid rgba(148, 163, 184, 0.24) !important;
}

.admin-shell .admin-page-header h1,
.admin-shell .page-header h1,
.admin-shell h1,
.admin-shell h2,
.admin-shell h3 {
  color: var(--admin-ink);
  letter-spacing: 0;
}

.admin-shell .eyebrow,
.admin-shell .admin-page-header .eyebrow,
.admin-shell .page-header .eyebrow {
  color: var(--admin-teal);
  font-weight: 950;
}

.admin-shell .muted,
.admin-shell .page-subtitle,
.admin-shell .admin-page-header p,
.admin-shell .page-header p {
  color: var(--admin-muted);
}

.admin-shell .studio-control-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.7fr) !important;
  align-items: start !important;
  gap: 22px !important;
  margin-bottom: 18px !important;
  padding: 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #17201a 0%, #315943 74%, #946b5d 130%) !important;
  color: #fff !important;
  box-shadow: 0 22px 60px rgba(42, 49, 42, 0.16) !important;
}

.admin-shell .studio-control-hero h1 {
  color: #fff !important;
  font-size: clamp(34px, 4.8vw, 58px) !important;
  line-height: 1.02 !important;
}

.admin-shell .studio-control-hero .eyebrow,
.admin-shell .studio-control-hero .eyebrow a {
  color: #f3d6c9 !important;
}

.admin-shell .studio-control-hero .muted,
.admin-shell .studio-control-hero .muted a {
  color: #e4eee7 !important;
}

.admin-shell .studio-control-hero__panel {
  min-width: 0;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.1);
}

.admin-shell .studio-control-hero-facts {
  color: #fff;
}

.admin-shell .studio-control-hero-facts dt {
  color: #f3d6c9;
}

.admin-shell .studio-control-hero-facts dd {
  color: #fff;
  overflow-wrap: anywhere;
}

@media(max-width:900px) {
  .admin-shell .studio-control-hero {
    grid-template-columns: 1fr !important;
  }
}

@media(max-width:520px) {
  .admin-shell .studio-control-hero {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .admin-shell .studio-control-hero-facts {
    grid-template-columns: 1fr;
  }
}

.admin-shell .studio-control-hero.studio-control-hero--command {
  margin-bottom: 22px !important;
  border-color: rgba(49, 89, 67, 0.18) !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(49, 89, 67, 0.18) 0, rgba(49, 89, 67, 0) 28%),
    radial-gradient(circle at 88% 8%, rgba(56, 189, 248, 0.22) 0, rgba(56, 189, 248, 0) 30%),
    radial-gradient(circle at 86% 86%, rgba(245, 158, 11, 0.18) 0, rgba(245, 158, 11, 0) 28%),
    linear-gradient(135deg, #ffffff 0%, #ecfdf5 48%, #eef6ff 100%) !important;
  color: var(--admin-ink) !important;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.1) !important;
}

.admin-shell .studio-control-hero.studio-control-hero--command h1 {
  color: var(--admin-ink) !important;
}

.admin-shell .studio-control-hero.studio-control-hero--command .eyebrow,
.admin-shell .studio-control-hero.studio-control-hero--command .eyebrow a {
  color: var(--admin-teal) !important;
}

.admin-shell .studio-control-hero.studio-control-hero--command .muted,
.admin-shell .studio-control-hero.studio-control-hero--command .muted a {
  color: var(--admin-muted) !important;
}

.admin-shell .studio-control-hero.studio-control-hero--command .studio-snapshot-badges--hero {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-shell .studio-control-hero.studio-control-hero--command .studio-snapshot-badges--hero .status-badge {
  border-color: rgba(49, 89, 67, 0.16);
  background: rgba(255, 255, 255, 0.76);
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

.admin-shell .studio-control-hero.studio-control-hero--command .studio-control-hero__panel {
  border: 1px solid rgba(49, 89, 67, 0.16);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 12px 28px rgba(49, 89, 67, 0.08);
}

.admin-shell .studio-control-hero.studio-control-hero--command .studio-control-hero-facts,
.admin-shell .studio-control-hero.studio-control-hero--command .studio-control-hero-facts dd {
  color: var(--admin-ink);
}

.admin-shell .studio-control-hero.studio-control-hero--command .studio-control-hero-facts dt {
  color: var(--admin-teal);
}

.studio-control-layout {
  margin-top: 0;
}

.studio-control-sections > .studio-control-accordion {
  position: relative;
  min-width: 0;
  margin: 0;
  scroll-margin-top: 86px;
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fffdf9 100%);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.studio-control-sections > .studio-control-accordion[id]::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #315943, #0f766e, #38bdf8, #f59e0b);
  z-index: 1;
}

.studio-control-sections > .studio-control-accordion > summary {
  min-height: 68px;
  padding: 18px 20px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,0.98), rgba(236,253,245,0.9));
  color: #0f172a;
}

.studio-control-sections > .studio-control-accordion[open] > summary {
  border-bottom: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 22px 22px 0 0;
}

.studio-control-sections > .studio-control-accordion > summary span {
  color: #0f172a;
  font-size: clamp(20px, 2vw, 26px);
}

.studio-control-sections > .studio-control-accordion > summary small {
  color: #0f766e;
}

.studio-control-sections > .studio-control-accordion > summary em {
  background: #ffffff;
}

.studio-control-sections .studio-control-accordion__body {
  padding: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.studio-control-action-card {
  padding: 20px;
}

.studio-control-action-card .settings-section__header {
  margin-bottom: 14px;
}

.studio-control-action-card .studio-control-action-menu {
  margin: 0;
  border-color: rgba(226, 232, 240, 0.92);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}

@media (max-width: 720px) {
  .studio-control-sections > .studio-control-accordion {
    border-radius: 18px;
  }

  .studio-control-sections > .studio-control-accordion > summary {
    min-height: 62px;
    padding: 16px;
    border-radius: 18px;
  }

  .studio-control-sections > .studio-control-accordion[open] > summary {
    border-radius: 18px 18px 0 0;
  }

  .studio-control-sections .studio-control-accordion__body,
  .studio-control-action-card {
    padding: 14px;
  }
}

.admin-shell .page-header-actions,
.admin-shell .workflow-actions,
.admin-shell .settings-actions,
.admin-shell .media-filter-actions,
.admin-shell .subscription-actions,
.admin-shell .email-template-actions,
.admin-shell .studio-snapshot-actions,
.admin-shell .host-studio-actions,
.admin-shell .rms-page-actions,
.admin-shell .rms-filter-toolbar__actions {
  gap: 9px;
}

.admin-shell .btn {
  min-height: 42px;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(49, 89, 67, 0.13);
}

.admin-shell .btn:hover,
.admin-shell .btn:focus-visible {
  box-shadow: 0 14px 30px rgba(49, 89, 67, 0.18);
}

.admin-shell .btn.secondary {
  border-color: rgba(49, 89, 67, 0.14);
  background: #eef6f1;
  color: #315943 !important;
  box-shadow: none;
}

.admin-shell .btn.secondary:hover,
.admin-shell .btn.secondary:focus-visible {
  border-color: rgba(49, 89, 67, 0.26);
  background: #dff0e6;
}

.admin-shell .btn.ghost {
  border-color: var(--admin-line);
  background: #ffffff;
  color: var(--admin-brand) !important;
}

.admin-shell .btn.danger {
  background: #b91c1c;
  box-shadow: 0 10px 22px rgba(185, 28, 28, 0.14);
}

.admin-shell .status-badge,
.admin-shell .media-type-badge,
.admin-shell .template-badge,
.admin-shell .used-by-chip {
  min-height: 26px;
  border-radius: 999px;
  font-weight: 950;
}

.admin-shell .status-badge:not(.is-active):not(.is-warning):not(.is-danger):not(.status-badge--danger) {
  border-color: rgba(14, 165, 233, 0.2);
  background: #e0f2fe;
  color: #075985;
}

.admin-shell .metric-card {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 132px;
  border-radius: 18px;
}

.admin-shell .metric-card span {
  color: var(--admin-muted);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-shell .metric-card strong {
  color: var(--admin-ink);
  font-size: clamp(30px, 4vw, 44px);
}

.admin-shell .module-grid,
.admin-shell .dashboard-grid,
.admin-shell .summary-grid {
  gap: 16px;
}

.admin-shell .module-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 184px;
  border: 1px solid var(--admin-line);
  padding: 18px;
}

.admin-shell .module-card h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
}

.admin-shell .module-card p {
  margin: 0;
  color: var(--admin-muted);
  font-weight: 720;
  line-height: 1.45;
}

.admin-shell .module-card .btn {
  width: max-content;
  max-width: 100%;
  margin-top: auto;
}

.admin-shell .admin-form label,
.admin-shell .form label,
.admin-shell .rms-filter-field,
.admin-shell .rms-form-section label,
.admin-shell .filter-toolbar label {
  color: #1f2937;
  font-weight: 950;
}

.admin-shell .admin-form input:not([type="checkbox"]):not([type="radio"]),
.admin-shell .admin-form select,
.admin-shell .admin-form textarea,
.admin-shell .form input:not([type="checkbox"]):not([type="radio"]),
.admin-shell .form select,
.admin-shell .form textarea,
.admin-shell .filter-toolbar input:not([type="checkbox"]):not([type="radio"]),
.admin-shell .filter-toolbar select,
.admin-shell .filter-toolbar textarea,
.admin-shell .rms-filter-field input,
.admin-shell .rms-filter-field select,
.admin-shell .rms-form-section input:not([type="checkbox"]):not([type="radio"]),
.admin-shell .rms-form-section select,
.admin-shell .rms-form-section textarea {
  border-color: rgba(148, 163, 184, 0.36);
  border-radius: 12px;
  background: #ffffff;
  color: var(--admin-ink);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.035);
}

.admin-shell .admin-form input:focus,
.admin-shell .admin-form select:focus,
.admin-shell .admin-form textarea:focus,
.admin-shell .form input:focus,
.admin-shell .form select:focus,
.admin-shell .form textarea:focus,
.admin-shell .filter-toolbar input:focus,
.admin-shell .filter-toolbar select:focus,
.admin-shell .filter-toolbar textarea:focus,
.admin-shell .rms-filter-field input:focus,
.admin-shell .rms-filter-field select:focus,
.admin-shell .rms-form-section input:focus,
.admin-shell .rms-form-section select:focus,
.admin-shell .rms-form-section textarea:focus {
  border-color: var(--admin-brand);
  box-shadow: var(--focus-ring), inset 0 1px 2px rgba(15, 23, 42, 0.035);
}

.admin-shell .filter-toolbar,
.admin-shell .media-filters,
.admin-shell .user-filters,
.admin-shell .rms-filter-toolbar,
.admin-shell .audit-log-filter-grid,
.admin-shell .email-template-filters,
.admin-shell .email-template-filters--panel {
  border-color: var(--admin-line);
  border-radius: 16px;
  background: #f8fafc;
}

.admin-shell .settings-checkbox,
.admin-shell .inline-checkbox,
.admin-shell .subscription-plan-module-card,
.admin-shell .danger-confirm-check {
  border-color: rgba(148, 163, 184, 0.26);
  border-radius: 14px;
  background: #ffffff;
}

.admin-shell input[type="checkbox"],
.admin-shell input[type="radio"] {
  accent-color: var(--admin-brand);
}

.admin-shell .table-scroll,
.admin-shell .table-wrap,
.admin-shell .rms-table-wrap,
.admin-shell .email-template-table-wrap,
.admin-shell .stripe-settings-table-wrap,
.admin-shell .studio-table-wrap {
  border: 1px solid var(--admin-line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
}

.admin-shell .table,
.admin-shell .rms-table,
.admin-shell .email-template-table,
.admin-shell .stripe-settings-table {
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
}

.admin-shell .table th,
.admin-shell .table td,
.admin-shell .rms-table th,
.admin-shell .rms-table td,
.admin-shell .email-template-table th,
.admin-shell .email-template-table td,
.admin-shell .stripe-settings-table th,
.admin-shell .stripe-settings-table td {
  border-bottom-color: rgba(226, 232, 240, 0.9);
}

.admin-shell .table th,
.admin-shell .rms-table th,
.admin-shell .email-template-table th,
.admin-shell .stripe-settings-table th {
  background: #f1f5f9;
  color: #475569;
  font-weight: 950;
}

.admin-shell .table tr:hover td,
.admin-shell .rms-table tr:hover td,
.admin-shell .email-template-table tr:hover td,
.admin-shell .stripe-settings-table tr:hover td {
  background: #f8fafc;
}

.admin-shell .alert {
  border-radius: 16px;
  border-color: rgba(49, 89, 67, 0.18);
  background: #ecfdf5;
  color: #14532d;
  font-weight: 800;
}

.admin-shell .alert-error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.admin-shell code {
  border-color: rgba(148, 163, 184, 0.28);
  background: #f1f5f9;
  color: #334155;
}

body.admin-sidebar-collapsed .admin-shell .admin-nav__link.is-active .admin-nav__icon {
  background: #ffffff;
  color: #315943;
}

@media (max-width: 900px) {
  .admin-shell .admin-sidebar {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
  }

  .admin-shell .admin-sidebar__brand {
    margin-bottom: 0;
  }

  .admin-shell .admin-nav {
    gap: 9px;
  }

  .admin-shell .admin-subnav {
    margin-left: 8px;
  }
}

@media (max-width: 560px) {
  .admin-shell .admin-card,
  .admin-shell .metric-card,
  .admin-shell .module-card,
  .admin-shell .rms-table-card,
  .admin-shell .rms-form-section,
  .admin-shell .rms-action-bar,
  .admin-shell .rms-filter-toolbar {
    border-radius: 16px;
  }

  .admin-shell .module-card .btn {
    width: 100%;
  }
}

/* Modern collapsible Subscription Plans page. Scoped to admin/subscriptions.php. */
.admin-subscriptions-page {
  gap: 18px;
}

.admin-subscriptions-page > .admin-card.admin-accordion__item {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.admin-subscriptions-page > .admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 72px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 24px 24px 0 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(21px, 2.2vw, 28px);
  box-shadow: none;
}

.admin-subscriptions-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 24px;
}

.admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Subscriptions";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__button:hover,
.admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__button:focus-visible {
  background:
    linear-gradient(135deg, #ffffff, #ecfeff),
    #ffffff;
  color: #0f172a;
  transform: none;
}

.admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-subscriptions-page .subscription-section-header {
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.admin-subscriptions-page .subscription-section-header h2 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 25px);
}

.admin-subscriptions-page .subscription-section-header .muted {
  max-width: 82ch;
  margin: 4px 0 0;
  color: #64748b;
  font-weight: 760;
}

.admin-subscriptions-page .subscription-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin: 0;
}

.admin-subscriptions-page .subscription-summary-grid .metric-card {
  min-height: 112px;
  align-items: flex-start;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, #ecfeff 100%);
  padding: 16px;
}

.admin-subscriptions-page .subscription-summary-grid .metric-card span {
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-subscriptions-page .subscription-summary-grid .metric-card strong {
  color: #0f172a;
  font-size: clamp(28px, 3.4vw, 40px);
}

.admin-subscriptions-page .subscription-plan-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.admin-subscriptions-page .subscription-plan-card,
.admin-subscriptions-page .subscription-studio-card {
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  background:
    linear-gradient(180deg, #ffffff, #f8fafc),
    #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.admin-subscriptions-page .subscription-plan-card--link {
  padding: 18px;
}

.admin-subscriptions-page .subscription-plan-card--link:hover,
.admin-subscriptions-page .subscription-plan-card--link:focus-visible,
.admin-subscriptions-page .subscription-studio-card:hover {
  border-color: rgba(49, 89, 67, 0.28);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
}

.admin-subscriptions-page .subscription-plan-meta,
.admin-subscriptions-page .subscription-studio-overview {
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 14px;
  background: #ffffff;
  padding: 12px;
}

.admin-subscriptions-page .subscription-plan-meta span,
.admin-subscriptions-page .subscription-studio-overview span {
  color: #64748b;
  font-weight: 760;
}

.admin-subscriptions-page .subscription-plan-meta strong,
.admin-subscriptions-page .subscription-studio-overview strong {
  color: #0f172a;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-subscriptions-page .subscription-plan-badges,
.admin-subscriptions-page .subscription-current {
  gap: 7px;
}

.admin-subscriptions-page .subscription-plan-card__edit-hint {
  width: max-content;
  max-width: 100%;
  border-radius: 999px;
  background: #eef6f1;
  color: #315943;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 950;
}

/* Premium subscription plan cards. Scoped to admin/subscriptions.php. */
.admin-subscriptions-page .subscription-plan-grid {
  gap: 18px;
}

.admin-subscriptions-page .subscription-plan-card--link {
  position: relative;
  display: grid;
  align-content: start;
  gap: 16px;
  min-height: 286px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)) padding-box,
    linear-gradient(135deg, rgba(49, 89, 67, 0.34), rgba(14, 165, 233, 0.26), rgba(245, 158, 11, 0.22)) border-box;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.admin-subscriptions-page .subscription-plan-card--link::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.admin-subscriptions-page .subscription-plan-card--link > * {
  position: relative;
  z-index: 1;
}

.admin-subscriptions-page .subscription-plan-card--link:hover,
.admin-subscriptions-page .subscription-plan-card--link:focus-visible {
  transform: translateY(-4px);
  border-color: transparent;
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.13);
}

.admin-subscriptions-page .subscription-plan-card--link:focus-visible {
  outline: 3px solid rgba(49, 89, 67, 0.2);
  outline-offset: 3px;
}

.admin-subscriptions-page .subscription-plan-card .studio-feature-card__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  padding-bottom: 2px;
}

.admin-subscriptions-page .subscription-plan-card .eyebrow {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  margin: 0 0 8px;
  padding: 5px 8px;
  overflow-wrap: anywhere;
  border: 1px solid rgba(49, 89, 67, 0.16);
  border-radius: 999px;
  background: #eef6f1;
  color: #315943;
  font-size: 11px;
  font-weight: 950;
}

.admin-subscriptions-page .subscription-plan-card h3 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.08;
}

.admin-subscriptions-page .subscription-plan-card .status-badge {
  min-height: 30px;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #f0fdf4;
  color: #166534;
  box-shadow: 0 8px 18px rgba(22, 101, 52, 0.08);
}

.admin-subscriptions-page .subscription-plan-card .subscription-plan-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.admin-subscriptions-page .subscription-plan-card .subscription-plan-meta span {
  display: grid;
  align-content: center;
  gap: 6px;
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 16px;
  background: #ffffff;
  color: #334155;
  font-size: 14px;
  font-weight: 850;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
}

.admin-subscriptions-page .subscription-plan-card .subscription-plan-meta strong {
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-subscriptions-page .subscription-plan-card .subscription-plan-badges {
  gap: 8px;
  margin: 0;
}

.admin-subscriptions-page .subscription-plan-card .template-badge {
  min-height: 30px;
  padding: 7px 10px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.admin-subscriptions-page .subscription-plan-card__edit-hint {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin-top: auto;
  padding: 9px 12px;
  border: 1px solid rgba(49, 89, 67, 0.18);
  border-radius: 999px;
  background: #17201a;
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(23, 32, 26, 0.14);
}

.admin-subscriptions-page .subscription-plan-card__edit-hint::after {
  content: "->";
  color: #fbbf24;
  font-weight: 950;
}

.admin-subscriptions-page .subscription-studio-list {
  gap: 12px;
}

.admin-subscriptions-page .subscription-studio-card {
  padding: 16px;
}

.admin-subscriptions-page .subscription-studio-card__summary h3 {
  color: #0f172a;
  font-size: 18px;
}

.admin-subscriptions-page .subscription-actions {
  justify-content: flex-end;
  margin-top: 12px;
}

.subscription-payment-page {
  gap: 18px;
}

.subscription-payment-sections {
  gap: 18px;
}

.subscription-payment-sections > .admin-card.admin-accordion__item {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.subscription-payment-sections > .admin-card.admin-accordion__item::before {
  content: "";
  display: block;
  height: 6px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.subscription-payment-sections > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 70px;
  margin: 0;
  padding: 18px 20px;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(240, 253, 244, 0.86)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(20px, 2.4vw, 27px);
}

.subscription-payment-sections > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 0 0 24px 24px;
}

.subscription-payment-sections > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.subscription-payment-sections > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Payment Integration";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.subscription-payment-sections > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.subscription-payment-sections > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.subscription-payment-sections > .subscription-payment-settings-card.admin-accordion__item > .admin-accordion__button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.subscription-payment-sections > .subscription-payment-settings-card.admin-accordion__item > .admin-accordion__button .admin-accordion__label {
  min-width: 0;
  color: #0f172a;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.subscription-payment-sections > .subscription-payment-settings-card.admin-accordion__item > .admin-accordion__button .admin-accordion__meta {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border: 1px solid rgba(49, 89, 67, 0.18);
  border-radius: 999px;
  background: #eef6f1;
  color: #315943;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: none;
}

.subscription-payment-sections > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.subscription-payment-page .metric-card {
  min-height: 104px;
  align-items: flex-start;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, #ecfeff 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.subscription-payment-page .subscription-payment-section-intro {
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.subscription-payment-page .subscription-payment-section-intro {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.subscription-payment-page .subscription-payment-panel-heading h3 {
  margin: 0;
  color: #0f172a;
}

.subscription-payment-page .subscription-payment-section-intro .muted {
  margin: 0;
  color: #64748b;
  font-weight: 760;
}

.subscription-payment-page .subscription-readiness-grid,
.subscription-payment-page .subscription-control-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.subscription-payment-page .subscription-payment-settings-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.subscription-payment-page .subscription-readiness-item,
.subscription-payment-page .subscription-payment-settings-panel,
.subscription-payment-page .subscription-payment-save-panel {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
}

.subscription-payment-page .subscription-payment-settings-panel {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(210px, 0.32fr) minmax(0, 1fr);
  min-height: 230px;
}

.subscription-payment-page .subscription-payment-settings-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9);
}

.subscription-payment-page .subscription-payment-settings-panel--checkout::before {
  background: linear-gradient(90deg, #0f766e, #0ea5e9, #38bdf8);
}

.subscription-payment-page .subscription-payment-settings-panel--secrets::before {
  background: linear-gradient(90deg, #0ea5e9, #64748b, #f59e0b);
}

.subscription-payment-page .subscription-payment-panel-heading {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 24px 20px;
  border-right: 1px solid rgba(226, 232, 240, 0.9);
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.92)),
    #f8fafc;
}

.subscription-payment-page .subscription-payment-panel-title {
  display: grid;
  gap: 5px;
}

.subscription-payment-page .subscription-payment-panel-heading h3,
.subscription-payment-page .subscription-payment-panel-heading p,
.subscription-payment-page .subscription-payment-test-card__copy strong,
.subscription-payment-page .subscription-payment-test-card__copy small,
.subscription-payment-page .subscription-payment-save-copy strong {
  margin: 0;
}

.subscription-payment-page .subscription-payment-panel-heading h3 {
  color: #0f172a;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.12;
}

.subscription-payment-page .subscription-payment-panel-heading p,
.subscription-payment-page .subscription-payment-test-card__copy small {
  color: #64748b;
  font-weight: 760;
  line-height: 1.4;
}

.subscription-payment-page .subscription-payment-panel-step {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #0f172a;
  color: #ffffff;
  font-size: 14px;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
}

.subscription-payment-page .subscription-payment-panel-heading .status-badge {
  width: fit-content;
}

.subscription-payment-page .subscription-payment-panel-body {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  overflow: hidden;
  padding: 18px;
}

.subscription-payment-page .subscription-payment-mode-grid,
.subscription-payment-page .subscription-payment-field-grid,
.subscription-payment-page .subscription-payment-secret-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.subscription-payment-page .subscription-payment-mode-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.subscription-payment-page .subscription-payment-control,
.subscription-payment-page .subscription-payment-secret-status span {
  display: grid;
  gap: 7px;
  align-content: start;
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, 0.94);
  border-radius: 16px;
  background:
    linear-gradient(180deg, #ffffff, #f8fafc),
    #ffffff;
  color: #334155;
  overflow-wrap: anywhere;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
}

.subscription-payment-page .subscription-payment-control--toggle {
  display: flex;
  align-items: center;
  min-height: 66px;
}

.subscription-payment-page .subscription-payment-control--wide {
  grid-column: 1 / -1;
}

.subscription-payment-page .subscription-payment-settings-panel input:not([type="checkbox"]),
.subscription-payment-page .subscription-payment-settings-panel select,
.subscription-payment-page .subscription-payment-save-panel input {
  width: 100%;
  min-width: 0;
  margin: 0;
  border-color: rgba(148, 163, 184, 0.34);
  background: #ffffff;
}

.subscription-payment-page .subscription-payment-settings-panel .settings-checkbox input {
  width: 18px;
  min-height: 18px;
  margin: 0;
  flex: 0 0 auto;
}

.subscription-payment-page .subscription-payment-test-card {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  align-items: stretch;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(14, 165, 233, 0.2);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(240, 249, 255, 0.98), rgba(236, 253, 245, 0.86)),
    #ffffff;
}

.subscription-payment-page .subscription-payment-test-card__copy {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  overflow-wrap: anywhere;
}

.subscription-payment-page .subscription-payment-test-card__copy strong,
.subscription-payment-page .subscription-payment-save-copy strong,
.subscription-payment-page .subscription-payment-secret-status strong {
  color: #0f172a;
  font-weight: 950;
}

.subscription-payment-page .subscription-payment-settings-panel .settings-empty-note {
  display: grid;
  align-content: center;
  margin: 0;
  padding: 14px;
  border: 1px solid rgba(14, 165, 233, 0.18);
  border-left: 4px solid #0ea5e9;
  border-radius: 16px;
  background: #f0f9ff;
  color: #38566b;
  font-weight: 800;
}

.subscription-payment-page .subscription-payment-test-card .settings-empty-note {
  min-height: 0;
  padding: 10px 11px;
  border-left-width: 3px;
  font-size: 12px;
  line-height: 1.32;
  font-weight: 760;
}

.subscription-payment-page .subscription-payment-test-note {
  min-height: 0;
  padding: 9px 12px;
  border-left-width: 3px;
  border-radius: 14px;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 760;
}

.subscription-payment-page .subscription-payment-field-grid--secrets,
.subscription-payment-page .subscription-payment-settings-panel--secrets .subscription-payment-secret-status {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.subscription-payment-page .subscription-payment-secret-status span {
  color: #64748b;
  font-weight: 760;
}

.subscription-payment-page .subscription-payment-save-panel {
  display: grid;
  grid-template-columns: minmax(190px, 0.45fr) minmax(260px, 1fr) auto;
  align-items: end;
  gap: 14px;
  margin-top: 18px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(240, 253, 244, 0.96), rgba(236, 253, 245, 0.78)),
    #ffffff;
}

.subscription-payment-page .subscription-payment-save-copy {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 58px;
}

.subscription-payment-page .admin-form {
  margin: 0;
}

.subscription-payment-page .subscription-payment-password {
  flex: 1 1 280px;
  max-width: 460px;
  margin: 0;
}

.subscription-payment-page .subscription-payment-password input {
  margin-bottom: 0;
}

.subscription-payment-page .subscription-actions {
  margin: 0;
  justify-content: flex-end;
}

@media (max-width: 1180px) {
  .subscription-payment-page .subscription-payment-settings-panel {
    grid-template-columns: 1fr;
  }

  .subscription-payment-page .subscription-payment-panel-heading {
    border-right: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  }

  .subscription-payment-page .subscription-payment-field-grid,
  .subscription-payment-page .subscription-payment-field-grid--secrets,
  .subscription-payment-page .subscription-payment-secret-status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .subscription-payment-page .subscription-payment-save-panel {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}

@media (max-width: 760px) {
  .admin-subscriptions-page > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .admin-subscriptions-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .admin-subscriptions-page > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .admin-subscriptions-page .subscription-section-header,
  .admin-subscriptions-page .subscription-studio-card__summary {
    display: grid;
  }

  .admin-subscriptions-page .subscription-plan-grid,
  .admin-subscriptions-page .subscription-plan-meta,
  .admin-subscriptions-page .subscription-studio-overview {
    grid-template-columns: 1fr;
  }

  .admin-subscriptions-page .subscription-plan-card--link {
    min-height: 0;
    padding: 16px;
    border-radius: 18px;
  }

  .admin-subscriptions-page .subscription-plan-card .studio-feature-card__top,
  .admin-subscriptions-page .subscription-plan-card .subscription-plan-meta {
    grid-template-columns: 1fr;
  }

  .admin-subscriptions-page .subscription-actions {
    justify-content: stretch;
  }

  .subscription-payment-page .subscription-payment-section-intro,
  .subscription-payment-page .subscription-payment-panel-heading,
  .subscription-payment-page .subscription-payment-save-panel {
    display: grid;
  }

  .subscription-payment-page .subscription-payment-settings-panel {
    grid-template-columns: 1fr;
    border-radius: 18px;
  }

  .subscription-payment-page .subscription-payment-panel-heading {
    padding: 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  }

  .subscription-payment-page .subscription-payment-panel-body {
    padding: 16px;
  }

  .subscription-payment-page .subscription-payment-mode-grid,
  .subscription-payment-page .subscription-payment-test-card,
  .subscription-payment-page .subscription-payment-field-grid,
  .subscription-payment-page .subscription-payment-field-grid--secrets,
  .subscription-payment-page .subscription-payment-secret-status,
  .subscription-payment-page .subscription-payment-save-panel {
    grid-template-columns: 1fr;
  }

  .subscription-payment-page .subscription-payment-save-panel .subscription-actions {
    justify-content: stretch;
  }

  .subscription-payment-sections > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .subscription-payment-sections > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 0;
    font-size: 19px;
  }

  .subscription-payment-sections > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 0 0 18px 18px;
  }

  .subscription-payment-sections > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .subscription-payment-sections > .subscription-payment-settings-card.admin-accordion__item > .admin-accordion__button {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .subscription-payment-sections > .subscription-payment-settings-card.admin-accordion__item > .admin-accordion__button > em {
    justify-self: start;
  }

  .subscription-payment-sections > .subscription-payment-settings-card.admin-accordion__item > .admin-accordion__button .admin-accordion__meta {
    width: fit-content;
    max-width: 100%;
    white-space: normal;
  }

  .subscription-payment-page .subscription-payment-password,
  .subscription-payment-page .subscription-actions,
  .subscription-payment-page .subscription-actions .btn {
    width: 100%;
    max-width: none;
  }
}

/* Studio profile edit page. Mirrors the modern subscription workflow surface. */
.admin-studio-profile-edit-page {
  gap: 18px;
}

.admin-studio-profile-edit-page .studio-profile-edit-main {
  gap: 18px;
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 72px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 24px 24px 0 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(21px, 2.2vw, 28px);
  box-shadow: none;
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 24px;
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Studio Profile";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button:hover,
.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button:focus-visible {
  background:
    linear-gradient(135deg, #ffffff, #ecfeff),
    #ffffff;
  color: #0f172a;
  transform: none;
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-studio-profile-edit-page .admin-accordion__content > h2 {
  margin: 20px 0 10px;
  color: #0f172a;
  font-size: clamp(18px, 2vw, 23px);
}

.admin-studio-profile-edit-page .admin-accordion__content > h2:first-child {
  margin-top: 0;
}

.admin-studio-profile-edit-page .admin-accordion__content > .muted,
.admin-studio-profile-edit-page .studio-address-help {
  color: #64748b;
  font-weight: 760;
}

.admin-studio-profile-edit-page .studio-subscription-billing-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}

.admin-studio-profile-edit-page .studio-subscription-billing-summary > span {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 14px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, #ecfeff 100%);
  color: #0f172a;
  font-size: clamp(16px, 1.7vw, 20px);
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.admin-studio-profile-edit-page .studio-subscription-billing-summary strong {
  color: #64748b;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-studio-profile-edit-page .studio-subscription-billing-summary .status-badge {
  width: max-content;
  max-width: 100%;
}

.admin-studio-profile-edit-page .studio-subscription-cancellation-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.36fr);
  gap: 14px;
  align-items: stretch;
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.84)),
    #ffffff;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.admin-studio-profile-edit-page .studio-subscription-cancellation-card.is-scheduled {
  border-color: rgba(217, 119, 6, 0.26);
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(254, 243, 199, 0.78)),
    #ffffff;
}

.admin-studio-profile-edit-page .studio-subscription-cancellation-card h3 {
  margin: 8px 0 4px;
  color: #0f172a;
  font-size: clamp(17px, 1.7vw, 22px);
}

.admin-studio-profile-edit-page .studio-subscription-cancellation-card p {
  margin: 0;
  color: #64748b;
  font-weight: 760;
}

.admin-studio-profile-edit-page .studio-subscription-cancellation-card__date {
  display: grid;
  align-content: center;
  gap: 5px;
  min-height: 78px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  color: #0f172a;
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.admin-studio-profile-edit-page .studio-subscription-cancellation-card__date strong {
  color: #64748b;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-studio-profile-edit-page .studio-subscription-pending-billing-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.45fr);
  gap: 14px;
  align-items: stretch;
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid rgba(37, 99, 235, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(236, 253, 245, 0.78)),
    #ffffff;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.admin-studio-profile-edit-page .studio-subscription-pending-billing-card h3 {
  margin: 8px 0 4px;
  color: #0f172a;
  font-size: clamp(17px, 1.7vw, 22px);
}

.admin-studio-profile-edit-page .studio-subscription-pending-billing-card p {
  margin: 0;
  color: #64748b;
  font-weight: 760;
}

.admin-studio-profile-edit-page .studio-subscription-pending-billing-card__dates {
  display: grid;
  gap: 10px;
}

.admin-studio-profile-edit-page .studio-subscription-pending-billing-card__dates span {
  display: grid;
  align-content: center;
  gap: 5px;
  min-height: 70px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
  color: #0f172a;
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.admin-studio-profile-edit-page .studio-subscription-pending-billing-card__dates strong {
  color: #64748b;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-studio-profile-edit-page .studio-subscription-terms-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.42fr);
  gap: 14px;
  align-items: stretch;
  margin: 12px 0 14px;
  padding: 14px;
  border: 1px solid rgba(49, 89, 67, 0.18);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(240, 253, 244, 0.96), rgba(236, 253, 245, 0.78)),
    #ffffff;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.admin-studio-profile-edit-page .studio-subscription-terms-card.is-pending {
  border-color: rgba(217, 119, 6, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(255, 247, 237, 0.78)),
    #ffffff;
}

.admin-studio-profile-edit-page .studio-subscription-terms-card h3 {
  margin: 8px 0 4px;
  color: #0f172a;
  font-size: clamp(17px, 1.7vw, 22px);
}

.admin-studio-profile-edit-page .studio-subscription-terms-card p {
  margin: 0;
  color: #64748b;
  font-weight: 760;
}

.admin-studio-profile-edit-page .studio-subscription-terms-card__action {
  display: grid;
  gap: 10px;
  align-content: center;
  min-height: 96px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.admin-studio-profile-edit-page .studio-subscription-terms-card__action > span {
  display: grid;
  gap: 5px;
  color: #0f172a;
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: 950;
}

.admin-studio-profile-edit-page .studio-subscription-terms-card__action strong {
  color: #64748b;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-studio-profile-edit-page .studio-subscription-terms-card__checkbox {
  margin: 0;
  border-color: rgba(49, 89, 67, 0.2);
  background: #ffffff;
  box-shadow: none;
}

.admin-studio-profile-edit-page .studio-form-grid,
.admin-studio-profile-edit-page .studio-profile-contact-row {
  gap: 14px;
}

.admin-studio-profile-edit-page .studio-form-grid > label,
.admin-studio-profile-edit-page .studio-profile-contact-row > label,
.admin-studio-profile-edit-page .admin-accordion__content > label:not(.settings-checkbox) {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
}

.admin-studio-profile-edit-page .studio-field-label,
.admin-studio-profile-edit-page .admin-accordion__content > label:not(.settings-checkbox) > span:first-child {
  color: #0f172a;
  font-weight: 950;
}

.admin-studio-profile-edit-page input,
.admin-studio-profile-edit-page select,
.admin-studio-profile-edit-page textarea {
  border-color: rgba(148, 163, 184, 0.36);
  background: #f8fafc;
}

.admin-studio-profile-edit-page input:focus,
.admin-studio-profile-edit-page select:focus,
.admin-studio-profile-edit-page textarea:focus {
  border-color: #315943;
  box-shadow: 0 0 0 3px rgba(49, 89, 67, 0.14);
}

.admin-studio-profile-edit-page .settings-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0;
  padding: 13px 14px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
}

.admin-studio-profile-edit-page .studio-subscription-cancel-checkbox span {
  display: grid;
  gap: 4px;
}

.admin-studio-profile-edit-page .studio-subscription-cancel-checkbox strong {
  color: #0f172a;
  font-weight: 950;
}

.admin-studio-profile-edit-page .studio-subscription-cancel-checkbox small {
  color: #64748b;
  font-weight: 760;
}

.admin-studio-profile-edit-page .settings-empty-note {
  border-color: rgba(49, 89, 67, 0.16);
  border-radius: 16px;
  background: #eef6f1;
  color: #315943;
  font-weight: 850;
}

.admin-studio-profile-edit-page .studio-profile-logo-card {
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, #ecfeff 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.admin-studio-profile-edit-page .studio-profile-logo-preview {
  border-radius: 16px;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.24), 0 14px 30px rgba(15, 23, 42, 0.16);
}

.admin-studio-profile-edit-page .admin-section-save,
.admin-studio-profile-edit-page .subscription-actions,
.admin-studio-profile-edit-page .studio-profile-actions-card {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.admin-studio-profile-edit-page .studio-profile-actions-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.86)),
    #ffffff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

/* Studio Control edit sections. Keeps the moved profile fields visually consistent in the command view. */
.studio-control-layout .studio-profile-edit-main {
  display: grid;
  gap: 18px;
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 72px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 24px 24px 0 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 27px);
  box-shadow: none;
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 24px;
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Studio Control";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button:hover,
.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button:focus-visible {
  background:
    linear-gradient(135deg, #ffffff, #ecfeff),
    #ffffff;
  color: #0f172a;
  transform: none;
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  background: transparent;
}

.studio-control-layout .admin-accordion__content > h2 {
  margin: 22px 0 12px;
  color: #0f172a;
  font-size: clamp(18px, 1.7vw, 23px);
}

.studio-control-layout .admin-accordion__content > h2:first-child {
  margin-top: 0;
}

.studio-control-layout .studio-form-grid,
.studio-control-layout .studio-profile-contact-row {
  gap: 14px;
}

.studio-control-layout .studio-form-grid > label,
.studio-control-layout .studio-profile-contact-row > label,
.studio-control-layout .admin-accordion__content > label:not(.settings-checkbox) {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
}

.studio-control-layout .studio-field-label,
.studio-control-layout .admin-accordion__content > label:not(.settings-checkbox) > span:first-child {
  color: #0f172a;
  font-weight: 950;
}

.studio-control-layout .admin-form input:not([type="checkbox"]):not([type="radio"]),
.studio-control-layout .admin-form select,
.studio-control-layout .admin-form textarea {
  width: 100%;
  min-width: 0;
  border-color: rgba(148, 163, 184, 0.36);
  background: #f8fafc;
}

.studio-control-layout .admin-form input[type="color"] {
  min-height: 44px;
  padding: 4px;
}

.studio-control-layout .admin-form input:focus,
.studio-control-layout .admin-form select:focus,
.studio-control-layout .admin-form textarea:focus {
  border-color: #315943;
  box-shadow: 0 0 0 3px rgba(49, 89, 67, 0.14);
}

.studio-control-layout .settings-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0;
  padding: 13px 14px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.045);
}

.studio-control-layout .studio-subscription-billing-summary,
.studio-control-layout .studio-subscription-pending-billing-card,
.studio-control-layout .studio-subscription-cancellation-card,
.studio-control-layout .studio-subscription-terms-card {
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.07);
}

.studio-control-layout .settings-empty-note,
.studio-control-layout .studio-address-help {
  border-color: rgba(49, 89, 67, 0.16);
  border-radius: 16px;
  background: #eef6f1;
  color: #315943;
  font-weight: 850;
}

.studio-control-layout .studio-profile-logo-card {
  border-color: rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  background:
    linear-gradient(135deg, #ffffff 0%, #f8fafc 62%, #ecfeff 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.studio-control-layout .studio-profile-logo-preview {
  border-radius: 16px;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.24), 0 14px 30px rgba(15, 23, 42, 0.16);
}

.studio-control-layout .admin-section-save,
.studio-control-layout .subscription-actions,
.studio-control-layout .studio-profile-actions-card {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.studio-control-layout #billing-history.admin-card.admin-accordion__item {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.studio-control-layout #billing-history.admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #0ea5e9, #0f766e, #315943);
}

.studio-control-layout #billing-history > .admin-accordion__content {
  padding: 20px;
}

.studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button,
.studio-control-layout .studio-control-sections > .studio-control-accordion:not([open]) > summary {
  min-height: 78px;
  box-sizing: border-box;
}

.studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  overflow: hidden;
}

.studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button .admin-accordion__label,
.studio-control-layout .studio-control-sections > .studio-control-accordion > summary span {
  min-width: 0;
  max-width: 100%;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button .admin-accordion__meta,
.studio-control-layout .studio-control-sections > .studio-control-accordion > summary small {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  align-items: center;
  padding: 4px 8px;
  font-size: 10px;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
}

.studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button > em,
.studio-control-layout .studio-control-sections > .studio-control-accordion > summary em {
  max-width: 116px;
  font-size: 11px;
  line-height: 1;
}

@media (max-width: 760px) {
  .admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .admin-studio-profile-edit-page .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .admin-studio-profile-edit-page .studio-form-grid,
  .admin-studio-profile-edit-page .studio-profile-contact-row,
  .admin-studio-profile-edit-page .studio-subscription-billing-summary,
  .admin-studio-profile-edit-page .studio-subscription-pending-billing-card,
  .admin-studio-profile-edit-page .studio-subscription-cancellation-card,
  .admin-studio-profile-edit-page .studio-subscription-terms-card,
  .admin-studio-profile-edit-page .studio-profile-logo-card {
    grid-template-columns: 1fr;
  }

  .admin-studio-profile-edit-page .admin-section-save,
  .admin-studio-profile-edit-page .subscription-actions,
  .admin-studio-profile-edit-page .studio-profile-actions-card {
    justify-content: stretch;
  }

  .admin-studio-profile-edit-page .admin-section-save .btn,
  .admin-studio-profile-edit-page .subscription-actions .btn,
  .admin-studio-profile-edit-page .studio-profile-actions-card .btn {
    width: 100%;
  }

  .studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item,
  .studio-control-layout #billing-history.admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button,
  .studio-control-layout .studio-control-sections > .studio-control-accordion:not([open]) > summary {
    min-height: 68px;
  }

  .studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button,
  .studio-control-layout .studio-control-sections > .studio-control-accordion > summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  .studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button .admin-accordion__label,
  .studio-control-layout .studio-control-sections > .studio-control-accordion > summary span {
    font-size: 17px;
  }

  .studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button .admin-accordion__meta,
  .studio-control-layout .studio-control-sections > .studio-control-accordion > summary small {
    font-size: 9px;
    padding: 3px 7px;
  }

  .studio-control-layout .host-studios-sections > .admin-card.admin-accordion__item > .admin-accordion__button > em,
  .studio-control-layout .studio-control-sections > .studio-control-accordion > summary em {
    max-width: 96px;
    padding: 5px 7px;
    font-size: 10px;
  }

  .studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .studio-control-layout .studio-profile-edit-main > .admin-card.admin-accordion__item > .admin-accordion__content,
  .studio-control-layout #billing-history > .admin-accordion__content {
    padding: 14px;
  }

  .studio-control-layout .studio-form-grid,
  .studio-control-layout .studio-profile-contact-row,
  .studio-control-layout .studio-subscription-billing-summary,
  .studio-control-layout .studio-subscription-pending-billing-card,
  .studio-control-layout .studio-subscription-cancellation-card,
  .studio-control-layout .studio-subscription-terms-card,
  .studio-control-layout .studio-profile-logo-card {
    grid-template-columns: 1fr;
  }

  .studio-control-layout .admin-section-save,
  .studio-control-layout .subscription-actions,
  .studio-control-layout .studio-profile-actions-card {
    justify-content: stretch;
  }

  .studio-control-layout .admin-section-save .btn,
  .studio-control-layout .subscription-actions .btn,
  .studio-control-layout .studio-profile-actions-card .btn {
    width: 100%;
  }
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page, .studio-control-layout) .studio-billing-history-table-wrap {
  overflow-x: auto;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page, .studio-control-layout) .studio-billing-history-table td {
  vertical-align: middle;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-row > td {
  padding-top: 0;
  background: #f8fafc;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt {
  margin: 6px 0 12px;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt > summary {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid rgba(49, 89, 67, 0.18);
  border-radius: 999px;
  background: #ffffff;
  color: #315943;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-card {
  display: grid;
  gap: 18px;
  max-width: 820px;
  margin-top: 12px;
  padding: 24px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 18px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.08);
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 2px solid rgba(49, 89, 67, 0.18);
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-header-main {
  display: grid;
  gap: 14px;
  min-width: 0;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  color: #0f172a;
  font-size: 24px;
  font-weight: 950;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-logo {
  display: block;
  max-width: 190px;
  max-height: 64px;
  object-fit: contain;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  color: #315943;
  text-align: right;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-meta span {
  display: grid;
  gap: 4px;
  min-width: 92px;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-meta span + span {
  padding-left: 18px;
  border-left: 1px solid rgba(148, 163, 184, 0.34);
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-meta strong,
:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-parties strong {
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-parties {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
  padding: 22px;
  border-radius: 16px;
  background: #eef6f1;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-parties > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-parties > div:last-child {
  text-align: right;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-parties > div > strong {
  color: #0f172a;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 2px;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-card h3,
:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-card p {
  margin: 0;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-title-block {
  display: grid;
  gap: 4px;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-title-block h3 {
  color: #0f172a;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.05;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-email-intro,
:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-footer-note {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid rgba(49, 89, 67, 0.12);
  border-radius: 14px;
  background: #f8fafc;
  color: #334155;
  font-size: 14px;
  line-height: 1.45;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-footer-note {
  border-color: rgba(49, 89, 67, 0.16);
  background: #eef6f1;
  color: #315943;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-grid span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 12px;
  background: #f8fafc;
  overflow-wrap: anywhere;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-grid strong,
:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-total span {
  color: #64748b;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-lines {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 12px;
  overflow: hidden;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-lines th,
:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-lines td {
  padding: 11px 12px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.92);
  text-align: left;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-lines th {
  background: #f3f8f5;
  color: #315943;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-total {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  align-items: center;
  width: max-content;
  min-width: 220px;
  justify-self: end;
  padding: 14px 18px;
  border-radius: 0;
  background: #315943;
  color: #ffffff;
  font-size: 20px;
  font-weight: 950;
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-total span {
  color: rgba(255, 255, 255, 0.78);
}

:where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-actions {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 760px) {
  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-grid,
  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-card__header,
  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-parties,
  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-summary-row {
    display: grid;
  }

  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-meta,
  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-parties > div:last-child {
    text-align: left;
  }

  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-meta {
    display: grid;
    gap: 10px;
  }

  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-meta span + span {
    padding-left: 0;
    border-left: 0;
  }

  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-brand {
    align-items: flex-start;
  }

  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-logo {
    max-width: 140px;
    max-height: 48px;
  }

  :where(.admin-studio-profile-edit-page, .admin-subscription-receipts-page) .studio-billing-receipt-lines {
    min-width: 520px;
  }
}

@media print {
  @page {
    size: A4;
    margin: 8mm;
  }

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  body.is-printing-billing-receipt {
    margin: 0 !important;
    background: #ffffff !important;
  }

  body.is-printing-billing-receipt > *:not(.rms-billing-print-root) {
    display: none !important;
  }

  body.is-printing-billing-receipt .rms-billing-print-root {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] {
    display: grid;
    align-content: start;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    gap: 8px;
    font-size: 11px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-card__header {
    gap: 12px;
    padding-bottom: 8px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-brand {
    gap: 10px;
    font-size: 18px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-logo {
    max-width: 120px;
    max-height: 38px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-meta {
    gap: 10px;
    font-size: 11px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-meta span {
    min-width: 74px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-meta span + span {
    padding-left: 10px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-parties {
    gap: 12px;
    padding: 11px 12px;
    border-radius: 8px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-parties > div {
    gap: 3px;
    font-size: 11px;
    line-height: 1.28;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-summary-row {
    gap: 10px;
    padding-bottom: 0;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-title-block h3 {
    font-size: 22px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-grid {
    gap: 7px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-grid span {
    gap: 2px;
    padding: 7px 8px;
    border-radius: 7px;
    font-size: 11px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-lines th,
  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-lines td {
    padding: 7px 8px;
    font-size: 11px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-total {
    min-width: 180px;
    padding: 9px 12px;
    font-size: 16px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-footer-note,
  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .muted {
    font-size: 10.5px;
    line-height: 1.3;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-footer-note {
    gap: 2px;
    padding: 8px 10px;
    border-radius: 8px;
  }

  body.is-printing-billing-receipt .rms-billing-print-root [data-billing-receipt] .studio-billing-receipt-actions {
    display: none !important;
  }
}

/* Modern collapsible Media Library page. Mirrors admin/subscriptions.php section rhythm. */
.admin-media-page {
  gap: 18px;
}

.admin-media-page > .admin-card.admin-accordion__item {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.admin-media-page > .admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 72px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 24px 24px 0 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(21px, 2.2vw, 28px);
  box-shadow: none;
}

.admin-media-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 24px;
}

.admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Media";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__button:hover,
.admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__button:focus-visible {
  background:
    linear-gradient(135deg, #ffffff, #ecfeff),
    #ffffff;
  color: #0f172a;
  transform: none;
}

.admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-media-page .subscription-section-header {
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.admin-media-page .subscription-section-header h2 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 25px);
}

.admin-media-page .subscription-section-header .muted {
  max-width: 82ch;
  margin: 4px 0 0;
  color: #64748b;
  font-weight: 760;
}

.admin-media-page .subscription-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin: 0;
}

.admin-media-page .subscription-summary-grid .metric-card {
  min-height: 112px;
  align-items: flex-start;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(180deg, #ffffff, #f8fafc),
    #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.admin-media-page .subscription-summary-grid .metric-card small {
  margin-top: auto;
  color: #64748b;
  font-weight: 750;
}

@media (max-width: 760px) {
  .admin-media-page > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .admin-media-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .admin-media-page > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .admin-media-page .subscription-section-header {
    display: grid;
  }
}

/* Modern collapsible Users page. Mirrors admin/subscriptions.php section rhythm for all users.php submenus. */
.admin-users-page {
  gap: 18px;
}

.admin-users-page > .admin-card.admin-accordion__item {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.admin-users-page > .admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 72px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 24px 24px 0 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(21px, 2.2vw, 28px);
  box-shadow: none;
}

.admin-users-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 24px;
}

.admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Users";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__button:hover,
.admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__button:focus-visible {
  background:
    linear-gradient(135deg, #ffffff, #ecfeff),
    #ffffff;
  color: #0f172a;
  transform: none;
}

.admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-users-page .subscription-section-header {
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.admin-users-page .subscription-section-header h2 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 25px);
}

.admin-users-page .subscription-section-header .muted {
  max-width: 82ch;
  margin: 4px 0 0;
  color: #64748b;
  font-weight: 760;
}

.admin-users-page .global-user-summary {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 7px;
  margin: 0;
}

.admin-users-page .global-user-summary article {
  display: grid;
  gap: 2px;
  min-height: 42px;
  padding: 7px 9px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.045);
}

.admin-users-page .global-user-summary strong {
  order: 2;
  margin: 0;
  font-size: 19px;
  line-height: 1;
}

.admin-users-page .global-user-summary p {
  order: 1;
  margin: 0;
  color: #475569;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.15;
}

.admin-users-page .global-user-filters {
  margin: 0;
}

.admin-users-page .global-user-list-card .table-wrap {
  margin-top: 0;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
}

@media (max-width: 760px) {
  .admin-users-page > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .admin-users-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .admin-users-page > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .admin-users-page .subscription-section-header {
    display: grid;
  }
}

/* Modern collapsible Pages page. Mirrors admin/subscriptions.php section rhythm. */
.admin-pages-page {
  gap: 18px;
}

.admin-pages-page > .admin-card.admin-accordion__item {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.admin-pages-page > .admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 72px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 24px 24px 0 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(21px, 2.2vw, 28px);
  box-shadow: none;
}

.admin-pages-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 24px;
}

.admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Pages";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__button:hover,
.admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__button:focus-visible {
  background:
    linear-gradient(135deg, #ffffff, #ecfeff),
    #ffffff;
  color: #0f172a;
  transform: none;
}

.admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-pages-page .subscription-section-header {
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.admin-pages-page .subscription-section-header h2 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 25px);
}

.admin-pages-page .subscription-section-header .muted {
  max-width: 82ch;
  margin: 4px 0 0;
  color: #64748b;
  font-weight: 760;
}

.admin-pages-page .pages-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin: 0;
}

.admin-pages-page .pages-summary-grid .metric-card {
  min-height: 112px;
  align-items: flex-start;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background:
    linear-gradient(180deg, #ffffff, #f8fafc),
    #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
}

.admin-pages-page .table-wrap {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
}

.admin-pages-page .cms-sync-form {
  display: grid;
  gap: 16px;
}

@media (max-width: 760px) {
  .admin-pages-page > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .admin-pages-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .admin-pages-page > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .admin-pages-page .subscription-section-header {
    display: grid;
  }
}

/* Modern collapsible Security page. Mirrors admin/subscriptions.php section rhythm. */
.admin-security-page {
  gap: 18px;
}

.admin-security-page > .admin-card.admin-accordion__item {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.admin-security-page > .admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 72px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 24px 24px 0 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(21px, 2.2vw, 28px);
  box-shadow: none;
}

.admin-security-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 24px;
}

.admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Security";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__button:hover,
.admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__button:focus-visible {
  background:
    linear-gradient(135deg, #ffffff, #ecfeff),
    #ffffff;
  color: #0f172a;
  transform: none;
}

.admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-security-page .subscription-section-header {
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.admin-security-page .subscription-section-header h2 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 25px);
}

.admin-security-page .subscription-section-header .muted {
  max-width: 82ch;
  margin: 4px 0 0;
  color: #64748b;
  font-weight: 760;
}

.admin-security-page .security-readiness-grid {
  margin: 0;
}

.admin-security-page .security-access-body {
  display: grid;
  gap: 22px;
}

.admin-security-page .security-access-card > .admin-accordion__content {
  padding: 20px;
}

@media (max-width: 760px) {
  .admin-security-page > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .admin-security-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .admin-security-page > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .admin-security-page .subscription-section-header {
    display: grid;
  }
}

/* Modern collapsible Audit Settings page. Mirrors admin/subscriptions.php section rhythm. */
.admin-audit-settings-page {
  gap: 18px;
}

.admin-audit-settings-page > .admin-card.admin-accordion__item {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.08);
}

.admin-audit-settings-page > .admin-card.admin-accordion__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #315943, #0f766e, #0ea5e9, #f59e0b);
}

.admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__button {
  min-height: 72px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 24px 24px 0 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 253, 245, 0.9)),
    #ffffff;
  color: #0f172a;
  font-size: clamp(21px, 2.2vw, 28px);
  box-shadow: none;
}

.admin-audit-settings-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
  border-radius: 24px;
}

.admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child {
  display: grid;
  gap: 3px;
}

.admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__button span:first-child::before {
  content: "Audit";
  color: #0f766e;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__button:hover,
.admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__button:focus-visible {
  background:
    linear-gradient(135deg, #ffffff, #ecfeff),
    #ffffff;
  color: #0f172a;
  transform: none;
}

.admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__button > em {
  min-height: 34px;
  flex-basis: auto;
  border: 1px solid rgba(49, 89, 67, 0.18);
  background: #ffffff;
  color: #315943;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__button[aria-expanded="true"] > em {
  background: #315943;
  color: #ffffff;
}

.admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__content {
  margin: 0;
  padding: 20px;
  border: 0;
  border-top: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.78), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.admin-audit-settings-page .subscription-section-header {
  align-items: center;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.admin-audit-settings-page .subscription-section-header h2 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: clamp(20px, 2vw, 25px);
}

.admin-audit-settings-page .subscription-section-header .muted {
  max-width: 82ch;
  margin: 4px 0 0;
  color: #64748b;
  font-weight: 760;
}

.admin-audit-settings-page .admin-form {
  display: grid;
  gap: 12px;
  margin: 0;
}

.admin-audit-settings-page .settings-checkbox {
  position: relative;
  align-items: center !important;
  min-height: 48px;
  margin: 0 !important;
  padding: 12px 14px 12px 48px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  background: #ffffff;
  color: #0f172a;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.admin-audit-settings-page .settings-checkbox:hover,
.admin-audit-settings-page .settings-checkbox:focus-within {
  transform: translateY(-1px);
  border-color: rgba(49, 89, 67, 0.28);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

.admin-audit-settings-page .settings-checkbox input {
  position: absolute !important;
  left: 14px;
  top: 50%;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  transform: translateY(-50%);
  appearance: none;
  border: 2px solid #cbd5e1;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: inset 0 0 0 2px #ffffff;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.admin-audit-settings-page .settings-checkbox input:checked {
  border-color: #315943;
  background: #315943;
  box-shadow: inset 0 0 0 4px #ffffff;
}

.admin-audit-settings-page .settings-checkbox input:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 7px;
  height: 12px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.admin-audit-settings-page input[type="number"] {
  max-width: 220px;
}

@media (max-width: 760px) {
  .admin-audit-settings-page > .admin-card.admin-accordion__item {
    border-radius: 18px;
  }

  .admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__button {
    min-height: 64px;
    padding: 16px;
    border-radius: 18px 18px 0 0;
    font-size: 19px;
  }

  .admin-audit-settings-page > .admin-card.admin-accordion__item:not(.is-open) > .admin-accordion__button {
    border-radius: 18px;
  }

  .admin-audit-settings-page > .admin-card.admin-accordion__item > .admin-accordion__content {
    padding: 14px;
  }

  .admin-audit-settings-page .subscription-section-header {
    display: grid;
  }
}
