/* Business sidebar — restyled to match the admin panel's .ms-sidebar
   (charcoal gradient with rose glows, white brand pill, icon tiles,
   gradient active tile, dotted sub-links). Loaded last so it wins over
   style.css / business-refresh.css. Markup is unchanged. */

.sidepanel {
    background:
        radial-gradient(420px 260px at 0% 100%, rgba(226, 55, 92, .28), transparent 70%),
        radial-gradient(300px 200px at 100% 0%, rgba(225, 6, 0, .14), transparent 70%),
        linear-gradient(180deg, #14100f 0%, #1d1416 100%) !important;
    border-right: 0;
    box-shadow: 8px 0 30px -18px rgba(20, 16, 15, .6);
    font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Brand */
.sidepanel .sidebar-brand {
    padding: .9rem 1rem;
    min-height: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: transparent;
}
.sidepanel .sidebar-brand-mark {
    box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .6);
    border-radius: 12px;
    background: linear-gradient(135deg, #e2375c, #e10600);
}
.sidepanel .sidebar-brand-logo { background: #fff; padding: 3px; }
.sidepanel .sidebar-brand-text { font-family: inherit; }
.sidepanel .sidebar-brand-name { font-weight: 700; letter-spacing: -.01em; }

/* Section labels */
.sidepanel .nav-item.nav-category {
    color: rgba(253, 169, 188, .75) !important;
    padding: 18px .85rem 8px !important;
    font-weight: 700;
    letter-spacing: .08em;
}
.sidepanel .nav-item.nav-subcategory { color: rgba(253, 169, 188, .55) !important; }
.sidepanel .sidebar-scroll > .nav-item { padding-left: .85rem; padding-right: .85rem; }
.sidepanel .sidebar-scroll > .nav-item + .nav-item { margin-top: 2px; }

/* Rows */
.sidepanel .nav-link {
    gap: .7rem;
    min-height: 0;
    padding: .45rem .6rem !important;
    border-radius: 11px;
    color: rgba(255, 255, 255, .72) !important;
    font-weight: 500;
}
.sidepanel .nav-link:hover,
.sidepanel .nav-link:focus {
    background: rgba(255, 255, 255, .06);
    color: #fff !important;
    transform: none;
}

/* Icon tiles */
.sidepanel .nav-link .ti {
    width: 32px; height: 32px; min-width: 32px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 9px;
    font-size: 1.05rem !important;
    color: rgba(255, 255, 255, .8) !important;
    background: rgba(255, 255, 255, .06);
    transition: background-color .15s ease, color .15s ease;
}
.sidepanel .nav-link:hover .ti,
.sidepanel .nav-link:focus .ti { background: rgba(255, 255, 255, .12); color: #fff !important; }
.sidepanel .nav-link .collapse-icon {
    width: auto; height: auto; min-width: 0; background: transparent;
    font-size: .8rem !important; color: rgba(255, 255, 255, .45) !important;
    transition: transform .2s ease;
}
.sidepanel .nav-link[aria-expanded="true"] .collapse-icon { transform: rotate(180deg); color: #fda9bc !important; }
.sidepanel .nav-link.d-flex > div { display: flex; align-items: center; gap: .7rem; min-width: 0; }

/* Active */
.sidepanel .nav-link.active,
.sidepanel li.nav-item.active > .nav-link {
    color: #fff !important;
    font-weight: 500;
    background: linear-gradient(90deg, rgba(226, 55, 92, .26), rgba(226, 55, 92, .04));
    box-shadow: none;
}
.sidepanel .nav-link.active .ti,
.sidepanel li.nav-item.active > .nav-link .ti {
    color: #fff !important;
    background: linear-gradient(135deg, #e2375c, #e10600);
    box-shadow: 0 6px 14px -8px rgba(225, 6, 0, .9);
}
.sidepanel .nav-link.active .collapse-icon { background: transparent; box-shadow: none; }
.sidepanel .nav-link.active::before {
    left: -.85rem; top: 20%; bottom: 20%; width: 3px;
    background: #e2375c;
}
.sidepanel .nav-link[aria-expanded="true"]:not(.active) { color: #fff !important; background: rgba(255, 255, 255, .05); }

/* Sub menu */
.sidepanel :is(.collapse, .collapsing) .nav,
.sidepanel .collapsing .nav,
.sidepanel .collapse.show .nav {
    margin: .2rem 0 .35rem 1.6rem;
    padding: .15rem 0 .15rem .8rem !important;
    border-left: 1px solid rgba(255, 255, 255, .12);
}
.sidepanel :is(.collapse, .collapsing) .nav-link {
    min-height: 0;
    padding: .38rem .6rem !important;
    gap: .5rem;
    border-radius: 8px;
    font-size: .84rem;
    color: rgba(255, 255, 255, .62) !important;
}
.sidepanel :is(.collapse, .collapsing) .nav-link .ti { display: none; }
.sidepanel :is(.collapse, .collapsing) .nav-link::after {
    content: ''; order: -1; width: 5px; height: 5px; border-radius: 50%;
    background: rgba(255, 255, 255, .3); flex-shrink: 0;
}
.sidepanel :is(.collapse, .collapsing) .nav-link:hover { color: #fff !important; background: rgba(255, 255, 255, .06); }
.sidepanel :is(.collapse, .collapsing) .nav-link.active,
.sidepanel :is(.collapse, .collapsing) li.nav-item.active > .nav-link {
    color: #fff !important; font-weight: 600; background: rgba(255, 255, 255, .08);
}
.sidepanel :is(.collapse, .collapsing) .nav-link.active::before { display: none; }
.sidepanel :is(.collapse, .collapsing) .nav-link.active::after { background: #e2375c; transform: scale(1.4); }
.sidepanel hr { display: none; }

/* Bottom area */
.sidepanel .sidebar-bottom { border-top: 1px solid rgba(255, 255, 255, .08); background: transparent; }
.sidepanel .sidebar-plan-chip {
    border-radius: 12px;
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .08);
}
.sidepanel .sidebar-plan-chip-cta { background: linear-gradient(135deg, #e2375c, #e10600); }
.sidepanel .biz-theme-switch__btn.is-active,
html:not([data-bs-theme="dark"]) .biz-theme-switch__btn[data-biz-theme="light"],
[data-bs-theme="dark"] .biz-theme-switch__btn[data-biz-theme="dark"] {
    background: linear-gradient(135deg, #e2375c, #e10600);
    box-shadow: 0 6px 14px -8px rgba(225, 6, 0, .9);
}

/* Collapsed rail */
@media (min-width: 992px) {
    .sidepanel.is-collapsed .nav-link .ti { margin: 0; }
    .sidepanel.is-collapsed .nav-link.active::before { left: -.6rem; }
    .sidepanel.is-collapsed .sidebar-scroll > .nav-item { padding-left: .6rem; padding-right: .6rem; }
}

/* =====================================================
   Header — matches the admin .ms-topbar
   ===================================================== */
body.saas-app .header {
    background: rgba(255, 255, 255, .88);
    backdrop-filter: saturate(180%) blur(12px);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid #ece7e6;
    box-shadow: 0 6px 20px -18px rgba(20, 16, 15, .5);
    font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
body.saas-app .header .navbar { min-height: 64px; }
.header-content { gap: .5rem; align-items: center; }
.min-w-0 { min-width: 0; }

/* Breadcrumb */
.ms-topbar__crumbs .breadcrumb { font-size: .85rem; align-items: center; flex-wrap: nowrap; }
.ms-topbar__crumbs .breadcrumb-item + .breadcrumb-item::before { content: '\203A'; font-size: 1rem; line-height: 1; color: #b8afad; padding-right: .5rem; }
.ms-topbar__crumbs .breadcrumb-item,
.ms-topbar__crumbs .breadcrumb-item a { color: #7a716f; text-decoration: none; }
.ms-topbar__crumbs .breadcrumb-item.active,
body.saas-app .ms-topbar__crumbs .page-heading { color: #1d1717 !important; font-weight: 700; font-size: .85rem; font-family: inherit; letter-spacing: 0; }

/* Search + icon buttons */
.topbar-search { background: #f6f2f1; border: 1px solid #ece7e6; border-radius: 11px; height: 40px; }
.topbar-search-mobile { width: 40px; height: 40px; border-radius: 11px; background: #f6f2f1; }
.ms-topbar__date {
    align-items: center; gap: .4rem; padding: .4rem .75rem; border-radius: 999px;
    font-size: .78rem; font-weight: 600; color: #6b6260; background: #f6f2f1; border: 1px solid #ece7e6;
}
.ms-topbar__divider { width: 1px; height: 28px; background: #ece7e6; margin: 0 .35rem; }
#notifyDown {
    width: 40px; height: 40px; border-radius: 11px;
    color: #6b6260; background: #f6f2f1; border: 1px solid #ece7e6 !important;
}
#notifyDown:hover, #notifyDown[aria-expanded="true"] { color: #e10600; background: rgba(225, 6, 0, .06); border-color: rgba(225, 6, 0, .2) !important; }
.header-content .dropdown .btn.topbar-quick-btn { height: 40px; border-radius: 11px !important; background: linear-gradient(135deg, #e2375c, #e10600) !important; }

/* Profile */
.ms-avatar {
    flex-shrink: 0; width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 10px; font-size: .8rem; font-weight: 800; color: #fff;
    background: linear-gradient(135deg, #e2375c, #e10600);
}
.ms-avatar--lg { width: 46px; height: 46px; font-size: .95rem; border-radius: 13px; }
.topbar-profile { height: 44px; }
.topbar-profile .mail-text, #profileDown { height: 44px; padding: .25rem .5rem .25rem .25rem !important; border-radius: 12px; gap: .6rem; }
#profileDown:hover, #profileDown[aria-expanded="true"] { background: #f6f2f1; }

.ms-menu { padding: .4rem; border: 1px solid #ece7e6; border-radius: 16px; box-shadow: 0 24px 48px -20px rgba(20, 16, 15, .35); min-width: 250px; }
.ms-menu::before { display: none !important; }
.ms-menu__profile { display: flex; align-items: center; gap: .75rem; padding: .75rem .75rem .9rem; margin-bottom: .35rem; border-bottom: 1px solid #f0ebea; }
.ms-menu__profile small { color: #7a716f; font-size: .75rem; }
.ms-menu__role {
    display: inline-block; margin-top: .25rem; padding: .05rem .5rem; border-radius: 999px;
    font-size: .66rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
    color: #b80500; background: rgba(225, 6, 0, .09);
}
.ms-menu .dropdown-item, .ms-menu__logout .nav-link {
    display: flex; align-items: center; gap: .65rem; padding: .5rem .7rem !important; border-radius: 9px;
    font-size: .86rem; font-weight: 500; color: #1d1717;
}
.ms-menu .dropdown-item i, .ms-menu__logout .nav-link i { width: 18px; text-align: center; color: #7a716f; }
.ms-menu .dropdown-item:hover { background: #f6f2f1; color: #1d1717; }
.ms-menu__logout .nav-link { color: #dc3545; }
.ms-menu__logout .nav-link i { color: inherit; }
.ms-menu__logout .nav-link:hover { background: rgba(225, 6, 0, .08); color: #b80500; }
.ms-menu .dropdown-divider { margin: .35rem .25rem; border-color: #f0ebea; }

/* Dark mode */
[data-bs-theme="dark"] body.saas-app .header { background: rgba(24, 19, 20, .88); border-bottom-color: rgba(255, 255, 255, .08); }
[data-bs-theme="dark"] .topbar-search, [data-bs-theme="dark"] .topbar-search-mobile,
[data-bs-theme="dark"] .ms-topbar__date, [data-bs-theme="dark"] #notifyDown { background: rgba(255, 255, 255, .06) !important; border-color: rgba(255, 255, 255, .1) !important; color: #cfc7c1; }
[data-bs-theme="dark"] .ms-topbar__divider { background: rgba(255, 255, 255, .1); }
[data-bs-theme="dark"] .ms-topbar__crumbs .breadcrumb-item.active,
[data-bs-theme="dark"] body.saas-app .ms-topbar__crumbs .page-heading { color: #fff !important; }
[data-bs-theme="dark"] #profileDown:hover, [data-bs-theme="dark"] #profileDown[aria-expanded="true"] { background: rgba(255, 255, 255, .06); }
[data-bs-theme="dark"] .ms-menu, [data-bs-theme="dark"] .ms-menu__profile { border-color: rgba(255, 255, 255, .1); }
[data-bs-theme="dark"] .ms-menu .dropdown-item { color: #e8e2de; }
[data-bs-theme="dark"] .ms-menu .dropdown-item:hover { background: rgba(255, 255, 255, .06); color: #fff; }

/* =====================================================
   Admin parity — width, brand pill, user card
   ===================================================== */
:root { --sb-width: 260px; }
.sidepanel .sidebar-brand { justify-content: flex-start; }
.sidepanel .ms-panel-brand {
    display: flex; align-items: center; gap: .5rem; width: 100%; overflow: hidden;
    padding: .45rem .7rem; background: #fff; border-radius: 12px;
    box-shadow: 0 8px 18px -10px rgba(0, 0, 0, .6); text-decoration: none;
}
.sidepanel .ms-panel-brand img { display: block; height: 38px; width: auto; max-width: 100%; object-fit: contain; }
.sidepanel .ms-panel-brand__text { font-weight: 800; font-size: 1.05rem; color: #14100f; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidepanel .ms-panel-brand img + .ms-panel-brand__text { display: none; }

.sidepanel .ms-sidebar__user { display: flex; align-items: center; gap: .6rem; margin: 0 .85rem .9rem; padding: .55rem .6rem; border-radius: 12px; background: rgba(255, 255, 255, .06); }
.sidepanel .ms-sidebar__who { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.25; }
.sidepanel .ms-sidebar__who strong { font-size: .84rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidepanel .ms-sidebar__who small { font-size: .7rem; color: rgba(255, 255, 255, .55); }
.sidepanel .ms-sidebar__logout-wrap .nav-link {
    width: 32px; height: 32px; min-height: 0; padding: 0 !important; justify-content: center;
    border-radius: 9px; color: rgba(255, 255, 255, .7) !important; background: transparent;
}
.sidepanel .ms-sidebar__logout-wrap .nav-link .ti { background: transparent; width: auto; height: auto; color: inherit !important; }
.sidepanel .ms-sidebar__logout-wrap .link-title { display: none; }
.sidepanel .ms-sidebar__logout-wrap .nav-link:hover { color: #fff !important; background: rgba(225, 6, 0, .55); }
@media (min-width: 992px) {
    .sidepanel.is-collapsed .ms-sidebar__who, .sidepanel.is-collapsed .ms-sidebar__logout-wrap { display: none; }
    .sidepanel.is-collapsed .ms-sidebar__user { justify-content: center; margin-left: .5rem; margin-right: .5rem; }
}

/* =====================================================
   Header parity — layout, toggle button, full width
   ===================================================== */
.sidepanel .sidebar-collapse-toggle { display: none !important; }
body.saas-app .header .navbar { padding: .5rem 1.25rem; }
body.saas-app .header .container-fluid { max-width: none; padding: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ms-topbar__btn {
    width: 40px; height: 40px; padding: 0; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 11px; color: #6b6260; background: #f6f2f1; border: 1px solid #ece7e6;
}
.ms-topbar__btn .ti { font-size: 1.15rem; color: inherit !important; }
.ms-topbar__btn:hover, .ms-topbar__btn:focus { color: #e10600; background: rgba(225, 6, 0, .06); border-color: rgba(225, 6, 0, .2); box-shadow: none; }
[data-bs-theme="dark"] .ms-topbar__btn { color: #cfc7c1; background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .1); }
.header-content { margin-left: auto; }

/* =====================================================
   Sidebar enhancement pass
   ===================================================== */
.sidepanel .sidebar-scroll { padding: .35rem 0 1rem; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .18) transparent; }
.sidepanel .sidebar-scroll::-webkit-scrollbar-thumb:hover { background: rgba(226, 55, 92, .5); }

/* Section labels with a fading rule */
.sidepanel .nav-item.nav-category {
    display: flex; align-items: center; gap: .6rem;
    font-size: 10px !important; letter-spacing: .12em;
}
.sidepanel .nav-item.nav-category::after {
    content: ''; flex: 1; height: 1px;
    background: linear-gradient(90deg, rgba(253, 169, 188, .28), transparent);
}

/* Rows: smoother motion, soft lift on hover */
.sidepanel .nav-link {
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.sidepanel .nav-link .ti { transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.sidepanel .nav-link:hover .ti { transform: scale(1.06); }
.sidepanel .nav-link.active .ti,
.sidepanel li.nav-item.active > .nav-link .ti {
    box-shadow: 0 8px 18px -8px rgba(225, 6, 0, .95), inset 0 1px 0 rgba(255, 255, 255, .25);
}
.sidepanel .nav-link.active,
.sidepanel li.nav-item.active > .nav-link {
    background: linear-gradient(90deg, rgba(226, 55, 92, .32), rgba(226, 55, 92, .05) 80%);
    box-shadow: inset 0 0 0 1px rgba(226, 55, 92, .14);
    font-weight: 600;
}
.sidepanel .nav-link.active::before { box-shadow: 0 0 12px rgba(226, 55, 92, .8); border-radius: 0 4px 4px 0; }

/* Expanded parent group reads as one card */
.sidepanel .sidebar-scroll > .nav-item:has(> .collapse.show) {
    background: rgba(255, 255, 255, .03);
    border-radius: 14px;
    margin-bottom: 4px;
    padding-bottom: 4px;
}
.sidepanel :is(.collapse, .collapsing) .nav-link { transition: background-color .15s ease, color .15s ease, padding-left .15s ease; }
.sidepanel :is(.collapse, .collapsing) .nav-link:hover { padding-left: .8rem !important; }

/* Sub-group captions */
.sidepanel .nav-item.nav-subcategory {
    font-size: 9.5px !important; letter-spacing: .1em; font-weight: 700;
    color: rgba(253, 169, 188, .5) !important; padding: 12px .6rem 4px !important;
}

/* PRO / lock badges */
.sidepanel .badge-addon { box-shadow: 0 4px 10px -4px rgba(255, 207, 92, .7); }

/* Brand pill: gentle lift */
.sidepanel .ms-panel-brand { transition: transform .18s ease, box-shadow .18s ease; }
.sidepanel .ms-panel-brand:hover { transform: translateY(-1px); box-shadow: 0 12px 22px -10px rgba(0, 0, 0, .7); }

/* Bottom: plan chip + user card */
.sidepanel .sidebar-plan-chip {
    position: relative; overflow: hidden;
    margin: 10px .85rem;
    background: linear-gradient(135deg, rgba(226, 55, 92, .28), rgba(255, 255, 255, .05));
    border: 1px solid rgba(226, 55, 92, .28);
}
.sidepanel .sidebar-plan-chip::after {
    content: ''; position: absolute; right: -18px; top: -18px; width: 64px; height: 64px;
    border-radius: 50%; background: radial-gradient(circle, rgba(253, 169, 188, .35), transparent 70%);
    pointer-events: none;
}
.sidepanel .sidebar-plan-chip-name { font-size: .82rem; }
.sidepanel .sidebar-plan-chip-cta { box-shadow: 0 6px 14px -6px rgba(225, 6, 0, .9); transition: transform .15s ease; }
.sidepanel .sidebar-plan-chip-cta:hover { transform: translateY(-1px); background: linear-gradient(135deg, #e2375c, #e10600); }
.sidepanel .ms-sidebar__user { border: 1px solid rgba(255, 255, 255, .06); }
.sidepanel .biz-theme-switch { margin: 0 .85rem .75rem; }
.sidepanel .ms-avatar { box-shadow: 0 6px 14px -8px rgba(225, 6, 0, .9); }

/* Keyboard focus */
.sidepanel .nav-link:focus-visible { outline: 2px solid rgba(253, 169, 188, .8); outline-offset: -2px; }

@media (prefers-reduced-motion: reduce) {
    .sidepanel * { transition: none !important; }
}

/* =====================================================
   Content spacing — same as admin (.container-fluid px-3 px-lg-4 py-4)
   ===================================================== */
:root {
    --saas-content-max: 100%;
    --saas-page-gutter: 1rem;
    --saas-canvas: #f6f4f3;
}
@media (min-width: 992px) {
    :root { --saas-page-gutter: 1.5rem; }
}
body.saas-app {
    background:
        radial-gradient(1200px 400px at 100% -10%, rgba(226, 55, 92, .05), transparent 60%),
        #f6f4f3 !important;
    font-family: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
body.saas-app .saas-workspace-header { margin: 1.5rem auto 1.25rem; }
body.saas-app .card {
    border: 1px solid #ece7e6;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(20, 16, 15, .04), 0 8px 24px -18px rgba(20, 16, 15, .25);
}
body.saas-app .card > .card-header { background: transparent; border-bottom: 1px solid #f0ebea; padding: 1rem 1.4rem; font-weight: 700; }
body.saas-app .card > .card-body { padding: 1.35rem 1.4rem; }
body.saas-app .card > .card-footer { background: transparent; border-top: 1px solid #f0ebea; }
[data-bs-theme="dark"] body.saas-app { background: #14100f !important; }
[data-bs-theme="dark"] body.saas-app .card { border-color: rgba(255, 255, 255, .08); }
[data-bs-theme="dark"] body.saas-app .card > .card-header,
[data-bs-theme="dark"] body.saas-app .card > .card-footer { border-color: rgba(255, 255, 255, .08); }

/* Dropdown stability: no layout jumps while a group animates open/closed */
.sidepanel .sidebar-scroll > .nav-item:has(> .collapse.show) { transition: none; }
.sidepanel :is(.collapse, .collapsing) .nav-link:hover { padding-left: .6rem !important; }
.sidepanel .collapsing { transition: height .2s ease; }

/* Brand logo — same app logo as admin; collapsed rail shows just its left edge */
.sidepanel .ms-panel-brand { display: block; width: auto; }
.sidepanel .ms-panel-brand img { height: 38px; width: auto; max-width: 100%; }
@media (min-width: 992px) {
    .sidepanel.is-collapsed .sidebar-brand { padding-left: .75rem; padding-right: .75rem; justify-content: center; }
    .sidepanel.is-collapsed .ms-panel-brand { width: 50px; padding: .35rem .3rem; }
    .sidepanel.is-collapsed .ms-panel-brand img { height: 32px; max-width: none; }
}

/* Logo area height = header height (64px bar + 1px border) */
.sidepanel .sidebar-brand {
    box-sizing: border-box;
    height: 65px; min-height: 65px;
    padding-top: 0; padding-bottom: 0;
    display: flex; align-items: center;
}
.sidepanel .ms-panel-brand { padding-top: .3rem; padding-bottom: .3rem; }
.sidepanel .ms-panel-brand img { height: 36px; }

/* =====================================================
   Page padding — same as admin content area
   (.container-fluid px-3 px-lg-4: 16px mobile / 24px desktop, full width)
   Bootstrap's fixed-width .container (max 1140/1320px, 12px padding) and the
   per-section width calc() rules are replaced so every page lines up.
   ===================================================== */
body.saas-app .container:not(.modal *):not(.offcanvas *):not(.header *):not(.footer *),
body.saas-app :is(.client-section, .plan-section).container:not(.modal *):not(.offcanvas *) {
    width: 100% !important;
    max-width: none !important;
    padding-left: var(--saas-page-gutter) !important;
    padding-right: var(--saas-page-gutter) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Sections that carry their own gutter via width:calc() — now handled by the container padding */
body.saas-app :is(.client-section, .plan-section, .saas-performance-workspace):not(.container) {
    width: calc(100% - (var(--saas-page-gutter) * 2)) !important;
    max-width: none !important;
}
/* Workspace header sits inside a padded container on most pages: don't double the inset */
body.saas-app .container .saas-workspace-header,
body.saas-app main .saas-workspace-header { width: 100% !important; max-width: none; margin-left: 0; margin-right: 0; }
body.saas-app .container .container { padding-left: 0 !important; padding-right: 0 !important; }
