:root{
    color-scheme:light;
    --ins-primary:#285f8f;
    --ins-primary-hover:#1e4a72;
    --ins-primary-soft:#eaf3fa;
    --ins-secondary:#6557c8;
    --ins-secondary-soft:#f0effc;
    --ins-success:#067647;
    --ins-success-soft:#eafaf2;
    --ins-warning:#a15c07;
    --ins-warning-soft:#fff7e6;
    --ins-danger:#b42318;
    --ins-danger-soft:#fff0ee;
    --ins-info:#175cd3;
    --ins-info-soft:#edf5ff;
    --ins-bg:#f2f4f8;
    --ins-surface:#ffffff;
    --ins-surface-alt:#f7f8fb;
    --ins-surface-strong:#edf0f5;
    --ins-text:#20283a;
    --ins-heading:#11182a;
    --ins-muted:#697386;
    --ins-subtle:#98a2b3;
    --ins-border:#dfe3eb;
    --ins-border-strong:#c9d0dc;
    --ins-focus:#7aa7d5;
    --ins-navy:#18364f;
    --ins-navy-2:#224a68;
    --ins-blue:var(--ins-primary);
    --ins-blue-soft:var(--ins-primary-soft);
    --ins-card:var(--ins-surface);
    --ins-line:var(--ins-border);
    --ins-radius-xs:6px;
    --ins-radius-sm:9px;
    --ins-radius-md:12px;
    --ins-radius-lg:18px;
    --ins-radius-xl:24px;
    --ins-radius:var(--ins-radius-lg);
    --ins-shadow-xs:0 1px 2px rgba(16,24,40,.05);
    --ins-shadow-sm:0 6px 20px rgba(27,39,64,.055);
    --ins-shadow:0 14px 38px rgba(27,39,64,.075);
    --ins-shadow-lg:0 24px 64px rgba(27,39,64,.14);
    --ins-space-1:4px;
    --ins-space-2:8px;
    --ins-space-3:12px;
    --ins-space-4:16px;
    --ins-space-5:20px;
    --ins-space-6:24px;
    --ins-space-8:32px;
    --ins-space-10:40px;
    --ins-font-xs:.75rem;
    --ins-font-sm:.8125rem;
    --ins-font-md:.9375rem;
    --ins-font-lg:1.125rem;
    --ins-font-xl:1.375rem;
    --ins-font-2xl:1.75rem;
    --ins-leading-tight:1.25;
    --ins-leading-normal:1.55;
    --ins-transition-fast:140ms ease;
    --ins-transition:200ms ease;
    --ins-sidebar:252px;
    --bg:var(--ins-bg);
    --card:var(--ins-surface);
    --surface:var(--ins-surface);
    --text:var(--ins-text);
    --muted:var(--ins-muted);
    --border:var(--ins-border);
    --primary:var(--ins-primary);
    --shadow:var(--ins-shadow);
}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--ins-bg);color:var(--ins-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--ins-font-md);line-height:var(--ins-leading-normal);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.insights-app{min-height:100vh;background:var(--ins-bg)}
.insights-sidebar{position:fixed;inset:0 auto 0 0;z-index:1000;width:var(--ins-sidebar);display:flex;flex-direction:column;background:var(--ins-navy);color:#fff;overflow:hidden;box-shadow:8px 0 26px rgba(15,23,42,.12)}
.insights-brand{min-height:82px;display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.09)}.insights-brand-link{display:flex;align-items:center;gap:12px;min-width:0;color:#fff;text-decoration:none}.insights-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:var(--ins-navy);font-size:22px;font-weight:900}.insights-brand-copy{display:flex;flex-direction:column;min-width:0}.insights-brand-copy strong{font-size:20px;letter-spacing:-.02em}.insights-brand-copy small{margin-top:3px;color:#aebad0;font-size:9px;white-space:nowrap}.insights-sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}
.insights-nav{flex:1;padding:14px 10px 20px;overflow-y:auto;scrollbar-width:thin}.insights-nav-link,.insights-nav-group-toggle{width:100%;display:flex;align-items:center;gap:11px;min-height:43px;padding:0 12px;border:0;border-radius:10px;color:#cbd5e1;background:transparent;text-decoration:none;font:inherit;font-size:13px;font-weight:650;text-align:left;cursor:pointer}.insights-nav-link:hover,.insights-nav-group-toggle:hover{color:#fff;background:rgba(255,255,255,.07)}.insights-nav-link.active{color:#fff;background:#315f91;box-shadow:inset 3px 0 0 #a9c8e7}.insights-nav-icon{width:20px;text-align:center;font-size:16px;flex:0 0 20px}.insights-nav-group{margin-top:4px}.insights-nav-group-toggle{justify-content:space-between}.insights-nav-group-toggle>span:first-child{display:flex;align-items:center;gap:11px}.insights-chevron{font-size:19px;transition:transform .18s ease}.insights-nav-group.is-open .insights-chevron{transform:rotate(90deg)}.insights-nav-children{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.insights-nav-children>*{overflow:hidden}.insights-nav-group.is-open .insights-nav-children{grid-template-rows:1fr}.insights-nav-children:before{content:"";overflow:hidden}.insights-nav-children .insights-nav-link{min-height:38px;margin-left:31px;width:calc(100% - 31px);padding-left:12px;font-size:12px}.insights-sidebar-meta{padding:14px 18px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;color:#9eabc0;font-size:10px}.insights-sidebar-meta strong{color:#dbe4ef}
.insights-main{min-height:100vh;margin-left:var(--ins-sidebar);display:flex;flex-direction:column}.insights-topbar{position:sticky;top:0;z-index:800;min-height:76px;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--ins-line);backdrop-filter:blur(12px)}.insights-topbar-left{display:flex;align-items:center;gap:14px}.insights-topbar-left>div>strong{display:block;font-size:18px}.topbar-subtitle{margin-top:3px;color:var(--ins-muted);font-size:12px}.insights-menu-button{display:none;border:1px solid var(--ins-line);border-radius:9px;background:#fff;width:40px;height:40px;font-size:19px;cursor:pointer}
.insights-user-menu{position:relative}.insights-user-trigger{display:flex;align-items:center;gap:10px;padding:6px 9px;border:1px solid transparent;border-radius:12px;background:transparent;cursor:pointer}.insights-user-trigger:hover,.insights-user-trigger[aria-expanded=true]{background:#f5f7fa;border-color:var(--ins-line)}.insights-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--ins-navy);color:#fff;font-weight:800}.insights-user-copy{display:flex;flex-direction:column;text-align:left}.insights-user-copy strong{font-size:12px}.insights-user-copy small{margin-top:2px;color:var(--ins-muted);font-size:9px}.insights-user-chevron{color:var(--ins-muted)}.insights-user-dropdown{display:none;position:absolute;right:0;top:54px;width:230px;padding:8px;background:#fff;border:1px solid var(--ins-line);border-radius:13px;box-shadow:0 20px 50px rgba(16,24,40,.18)}.insights-user-dropdown.is-open{display:block}.insights-dropdown-identity{padding:10px 11px 12px;display:flex;flex-direction:column;border-bottom:1px solid var(--ins-line);margin-bottom:6px}.insights-dropdown-identity strong{font-size:13px}.insights-dropdown-identity span{margin-top:3px;color:var(--ins-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis}.insights-user-dropdown a{display:block;padding:10px 11px;border-radius:8px;color:var(--ins-text);text-decoration:none;font-size:12px}.insights-user-dropdown a:hover{background:#f3f6f9}.insights-dropdown-divider{height:1px;background:var(--ins-line);margin:6px}.insights-user-dropdown .insights-logout-link{color:var(--ins-danger);font-weight:700}
.insights-content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:26px 28px 34px}.insights-content>.card,.insights-content>.report-table-panel,.insights-content>.panel{border:1px solid var(--ins-line)!important;border-radius:var(--ins-radius)!important;box-shadow:var(--ins-shadow)!important}.insights-footer{margin:10px 28px 20px;padding:16px 18px;display:flex;justify-content:space-between;gap:20px;border:1px solid var(--ins-line);border-radius:12px;background:#fff;color:var(--ins-muted);font-size:11px}.insights-footer>div{display:flex;gap:12px;align-items:center}.insights-footer strong{color:var(--ins-text)}.insights-footer .footer-status{color:var(--ins-success);font-weight:700}
.insights-alert{padding:12px 14px;margin-bottom:18px;border-radius:10px;font-size:13px}.insights-alert.success{background:#ecfdf3;color:var(--ins-success);border:1px solid #abefc6}.insights-alert.error{background:#fef3f2;color:var(--ins-danger);border:1px solid #fecdca}.insights-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.insights-form-card{padding:22px}.insights-form-card h2{margin:0 0 18px}.insights-form-card form{display:grid;gap:14px}.insights-form-card label{display:grid;gap:6px;color:#344054;font-size:12px;font-weight:700}.insights-form-card input{width:100%;height:42px;padding:0 11px;border:1px solid #cfd7e3;border-radius:8px;font:inherit}.insights-form-card input:focus{outline:none;border-color:var(--ins-blue);box-shadow:0 0 0 3px rgba(49,95,145,.12)}
.insights-sidebar-backdrop{display:none}
@media(max-width:1100px){:root{--ins-sidebar:244px}.insights-content{padding:22px}.insights-topbar{padding:12px 22px}}
@media(max-width:980px){.insights-sidebar{transform:translateX(-102%);transition:transform .22s ease;width:280px}.insights-sidebar-visible .insights-sidebar{transform:none}.insights-sidebar-close,.insights-menu-button{display:block}.insights-main{margin-left:0}.insights-sidebar-backdrop{position:fixed;inset:0;z-index:950;background:rgba(15,23,42,.48)}.insights-sidebar-visible .insights-sidebar-backdrop{display:block}.insights-profile-grid{grid-template-columns:1fr}}
@media(max-width:620px){.insights-topbar{min-height:68px;padding:10px 14px}.insights-topbar-left>div>strong{font-size:15px}.topbar-subtitle{display:none}.insights-user-copy,.insights-user-chevron{display:none}.insights-content{padding:16px 12px 26px}.insights-footer{margin:8px 12px 14px;align-items:flex-start;flex-direction:column}.insights-footer>div{align-items:flex-start;flex-direction:column;gap:4px}.insights-user-dropdown{right:-2px}.insights-content .table-wrap{overflow-x:auto}}

/* Build 3.1.1 accordion stabilization */
.insights-nav{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;overscroll-behavior:contain}
.insights-nav-group{flex:0 0 auto}
.insights-nav-children{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease}
.insights-nav-children-inner{min-height:0;overflow:hidden}
.insights-nav-group.is-open .insights-nav-children{grid-template-rows:1fr}
.insights-nav-group:not(.is-open) .insights-nav-children{visibility:hidden}
.insights-nav-group.is-open .insights-nav-children{visibility:visible}
.insights-empty-state{max-width:720px;margin:48px auto;padding:38px;text-align:center;background:#fff;border:1px solid var(--ins-line);border-radius:var(--ins-radius);box-shadow:var(--ins-shadow)}
.insights-empty-state h2{margin:0 0 10px;font-size:22px}.insights-empty-state p{margin:0 0 20px;color:var(--ins-muted);line-height:1.6}
.insights-dashboard-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.insights-dashboard-intro h1{margin:0 0 6px}.insights-dashboard-intro p{margin:0}
@media(min-width:981px) and (min-height:760px){.insights-sidebar{overflow:hidden}.insights-nav{padding-bottom:10px}}

/* Build 3.1.1a hotfix: fully remove collapsed submenu layout space. */
.insights-nav-children,
.insights-nav-group:not(.is-open) .insights-nav-children {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.insights-nav-group.is-open .insights-nav-children {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}
.insights-nav-children::before { content: none !important; display: none !important; }

/* =========================================================
   Insight Design System v2
   Shared compatibility layer for the existing PHP interface.
   ========================================================= */

.insights-main {
    --ins-module-accent: var(--ins-primary);
    --ins-module-soft: var(--ins-primary-soft);
}

.insights-main[data-insights-module="journey"] {
    --ins-module-accent: #3f67d7;
    --ins-module-soft: #edf2ff;
}

.insights-main[data-insights-module="campaigns"] {
    --ins-module-accent: #0f7b78;
    --ins-module-soft: #e9f7f5;
}

.insights-main[data-insights-module="booking"] {
    --ins-module-accent: #167657;
    --ins-module-soft: #eaf7f1;
}

.insights-main[data-insights-module="people"] {
    --ins-module-accent: #167657;
    --ins-module-soft: #eaf7f1;
}

.insights-main[data-insights-module="communications"] {
    --ins-module-accent: #4f4fc4;
    --ins-module-soft: #efeffc;
}

.insights-main[data-insights-module="email"] {
    --ins-module-accent: #7145b8;
    --ins-module-soft: #f3eefb;
}

.insights-main[data-insights-module="crm"] {
    --ins-module-accent: #087e99;
    --ins-module-soft: #e9f7fa;
}

.insights-main[data-insights-module="analytics"] {
    --ins-module-accent: #b86016;
    --ins-module-soft: #fff3e8;
}

.insights-main[data-insights-module="operations"] {
    --ins-module-accent: #536a7d;
    --ins-module-soft: #edf2f5;
}

.insights-main[data-insights-module="administration"] {
    --ins-module-accent: #596579;
    --ins-module-soft: #eef1f5;
}

.insights-topbar {
    min-height: 84px;
    border-bottom-color: var(--ins-border);
    box-shadow: var(--ins-shadow-xs);
}

.insights-page-identity {
    display: grid;
    min-width: 0;
}

.insights-module-label {
    margin-bottom: 2px;
    color: var(--ins-module-accent);
    font-size: var(--ins-font-xs);
    font-weight: 750;
    letter-spacing: .075em;
    line-height: 1.2;
    text-transform: uppercase;
}

.insights-topbar-left .insights-page-identity > strong {
    overflow: hidden;
    color: var(--ins-heading);
    font-size: var(--ins-font-lg);
    font-weight: 750;
    letter-spacing: -.015em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar-subtitle {
    max-width: 760px;
    overflow: hidden;
    color: var(--ins-muted);
    font-size: var(--ins-font-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.insights-content {
    padding-block: var(--ins-space-6) var(--ins-space-8);
}

.insights-content h1,
.insights-content h2,
.insights-content h3 {
    color: var(--ins-heading);
    font-weight: 750;
    letter-spacing: -.02em;
}

.insights-content h1 {
    font-size: clamp(1.65rem, 2.2vw, 2rem) !important;
}

.insights-content h2 {
    font-size: var(--ins-font-xl) !important;
}

.insights-content h3 {
    font-size: var(--ins-font-lg) !important;
}

.muted,
.ins-muted,
.ins-help-text {
    color: var(--ins-muted) !important;
}

.ins-caption {
    color: var(--ins-muted);
    font-size: var(--ins-font-xs);
}

.ins-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ins-space-6);
    margin-bottom: var(--ins-space-6);
}

.ins-page-header-copy h1 {
    margin: 0;
    line-height: var(--ins-leading-tight);
}

.ins-page-header-copy p {
    max-width: 760px;
    margin: var(--ins-space-2) 0 0;
    color: var(--ins-muted);
}

.ins-page-eyebrow {
    margin-bottom: var(--ins-space-2);
    color: var(--ins-module-accent);
    font-size: var(--ins-font-xs);
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ins-page-actions,
.ins-card-actions,
.ins-filter-actions {
    display: flex;
    align-items: center;
    gap: var(--ins-space-2);
    flex-wrap: wrap;
}

.ins-icon-link {
    display: inline-grid;
    place-items: center;
    min-width: 28px;
    min-height: 28px;
    margin-left: var(--ins-space-1);
    border-radius: var(--ins-radius-xs);
    color: var(--ins-module-accent);
    font-weight: 800;
    text-decoration: none;
}

.ins-icon-link:hover {
    background: var(--ins-module-soft);
}

.contact-360-nav {
    display: inline-flex;
    align-items: center;
    gap: var(--ins-space-1);
}

.contact-360-name,
.contact-360-name-link {
    color: inherit;
    font-weight: 600;
}

.contact-360-name-link {
    text-decoration: none;
}

.contact-360-name-link:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

.contact-360-icon.ins-icon-link {
    margin-left: 0;
    color: #2563eb;
}

.contact-360-icon.ins-icon-link:hover {
    background: #eff6ff;
}

.ins-card,
.ins-analytics-card,
.insights-content .card,
.insights-content .panel,
.insights-content .report-table-panel,
.insights-content .bc-card,
.insights-content .booking-panel,
.insights-content .journey-library-panel {
    margin-bottom: var(--ins-space-5);
    border: 1px solid var(--ins-border) !important;
    border-radius: var(--ins-radius-lg) !important;
    background: var(--ins-surface) !important;
    box-shadow: var(--ins-shadow-sm) !important;
}

.ins-card,
.insights-content .card,
.insights-content .panel,
.insights-content .report-table-panel,
.insights-content .booking-panel,
.insights-content .journey-library-panel {
    padding: var(--ins-space-5) !important;
}

.ins-card:hover,
.insights-content .report-link-card:hover {
    border-color: var(--ins-border-strong);
    box-shadow: var(--ins-shadow) !important;
}

.ins-analytics-card {
    overflow: hidden;
}

.ins-card-body {
    padding: var(--ins-space-5);
}

.ins-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ins-space-4);
    margin-bottom: var(--ins-space-5);
}

.ins-kpi-card {
    display: block;
    min-width: 0;
    padding: var(--ins-space-5);
    border: 1px solid var(--ins-border);
    border-radius: var(--ins-radius-lg);
    background: var(--ins-surface);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--ins-shadow-sm);
    transition:
        border-color var(--ins-transition-fast),
        box-shadow var(--ins-transition-fast),
        transform var(--ins-transition-fast);
}

a.ins-kpi-card:hover {
    border-color: var(--ins-module-accent);
    box-shadow: var(--ins-shadow);
    transform: translateY(-1px);
}

.ins-kpi-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ins-space-3);
}

.ins-kpi-label {
    color: var(--ins-muted);
    font-size: var(--ins-font-sm);
    font-weight: 750;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.ins-kpi-trend {
    font-size: var(--ins-font-xs);
    font-weight: 750;
}

.ins-kpi-value {
    display: block;
    margin-top: var(--ins-space-3);
    color: var(--ins-heading);
    font-size: clamp(1.7rem, 3vw, 2.25rem);
    font-weight: 750;
    line-height: 1;
}

.ins-kpi-note {
    margin-top: var(--ins-space-2);
    color: var(--ins-muted);
    font-size: var(--ins-font-sm);
}

.ins-kpi-success {
    border-top: 3px solid var(--ins-success);
}

.ins-kpi-warning {
    border-top: 3px solid var(--ins-warning);
}

.ins-kpi-danger {
    border-top: 3px solid var(--ins-danger);
}

.ins-kpi-info {
    border-top: 3px solid var(--ins-info);
}

.panel-header,
.ins-section-header,
.ins-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ins-space-4);
    margin-bottom: var(--ins-space-4);
}

.panel-header h2,
.ins-section-header h2,
.ins-card-header h2 {
    margin: 0;
}

.panel-header p,
.ins-section-header p,
.ins-card-header p {
    margin: var(--ins-space-1) 0 0;
    color: var(--ins-muted);
}

.ins-button-group,
.ins-action-toolbar,
.row-actions,
.export-actions,
.email-actions,
.bc-actions,
.booking-filter-actions {
    display: flex;
    align-items: center;
    gap: var(--ins-space-2);
    flex-wrap: wrap;
}

.btn,
.ins-button,
.booking-button,
.ops-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: var(--ins-space-2);
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid var(--ins-border-strong) !important;
    border-radius: var(--ins-radius-sm) !important;
    background: var(--ins-surface) !important;
    color: var(--ins-text) !important;
    font: inherit;
    font-size: var(--ins-font-sm) !important;
    font-weight: 700 !important;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition:
        background-color var(--ins-transition-fast),
        border-color var(--ins-transition-fast),
        box-shadow var(--ins-transition-fast),
        color var(--ins-transition-fast),
        transform var(--ins-transition-fast);
}

.btn:hover,
.ins-button:hover,
.booking-button:hover,
.ops-button:hover {
    border-color: var(--ins-module-accent) !important;
    background: var(--ins-module-soft) !important;
    color: var(--ins-module-accent) !important;
}

.btn.primary,
.ins-button.primary,
.booking-button.primary,
.ops-button.primary {
    border-color: var(--ins-module-accent) !important;
    background: var(--ins-module-accent) !important;
    color: #fff !important;
    box-shadow: 0 3px 9px color-mix(in srgb, var(--ins-module-accent) 24%, transparent);
}

.btn.primary:hover,
.ins-button.primary:hover,
.booking-button.primary:hover,
.ops-button.primary:hover {
    filter: brightness(.92);
    transform: translateY(-1px);
}

.btn.danger,
.ins-button.danger {
    border-color: #f4b7b2 !important;
    background: var(--ins-danger-soft) !important;
    color: var(--ins-danger) !important;
}

.btn:focus-visible,
.ins-button:focus-visible,
.booking-button:focus-visible,
.ops-button:focus-visible,
.insights-content :where(input, select, textarea):focus-visible,
.ins-module-nav a:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--ins-focus) 45%, transparent);
    outline-offset: 2px;
}

.btn:disabled,
.ins-button:disabled,
.booking-button:disabled,
.ops-button:disabled {
    cursor: not-allowed;
    opacity: .58;
}

.ins-module-nav,
.email-tabs,
.booking-module-tabs {
    display: flex;
    align-items: center;
    gap: var(--ins-space-1);
    margin: 0 0 var(--ins-space-5);
    padding: var(--ins-space-1);
    overflow-x: auto;
    border: 1px solid var(--ins-border);
    border-radius: var(--ins-radius-md);
    background: var(--ins-surface);
    box-shadow: var(--ins-shadow-xs);
    scrollbar-width: thin;
}

.ins-module-nav a,
.email-tabs a,
.booking-module-tabs a {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 9px 13px;
    border: 0 !important;
    border-radius: var(--ins-radius-sm);
    background: transparent !important;
    color: var(--ins-muted) !important;
    font-size: var(--ins-font-sm);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color var(--ins-transition-fast), color var(--ins-transition-fast);
}

.ins-module-nav a:hover,
.email-tabs a:hover,
.booking-module-tabs a:hover {
    background: var(--ins-module-soft) !important;
    color: var(--ins-module-accent) !important;
}

.ins-module-nav a.active,
.email-tabs a.active,
.booking-module-tabs a.active {
    background: var(--ins-module-accent) !important;
    color: #fff !important;
    box-shadow: var(--ins-shadow-xs);
}

.filter-bar,
.booking-toolbar,
.booking-filters,
.filter-row {
    display: flex;
    align-items: flex-end;
    gap: var(--ins-space-3);
    flex-wrap: wrap;
}

.filter-bar,
.ins-filter-bar,
.booking-toolbar,
.filter-row {
    display: flex;
    align-items: flex-end;
    gap: var(--ins-space-3);
    flex-wrap: wrap;
    margin-bottom: var(--ins-space-5);
    padding: var(--ins-space-4) !important;
    border: 1px solid var(--ins-border) !important;
    border-radius: var(--ins-radius-md) !important;
    background: var(--ins-surface-alt) !important;
    box-shadow: none !important;
}

.booking-toolbar .booking-filters {
    width: 100%;
}

.ins-filter-fields {
    display: flex;
    align-items: flex-end;
    gap: var(--ins-space-3);
    flex: 1;
    flex-wrap: wrap;
}

.filter-bar label,
.ins-filter-field,
.booking-filters label,
.ins-form-field,
.insights-form-card label,
.user-form label {
    display: grid;
    gap: var(--ins-space-2);
    color: #344054;
    font-size: var(--ins-font-xs);
    font-weight: 700;
}

.ins-filter-field {
    min-width: 150px;
}

.ins-filter-field > span {
    color: var(--ins-muted);
}

.insights-content :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid var(--ins-border-strong);
    border-radius: var(--ins-radius-sm);
    background: var(--ins-surface);
    color: var(--ins-text);
    font: inherit;
    font-size: var(--ins-font-sm);
    transition: border-color var(--ins-transition-fast), box-shadow var(--ins-transition-fast);
}

.insights-content textarea {
    min-height: 96px;
    resize: vertical;
}

.insights-content :where(input, select, textarea)::placeholder {
    color: var(--ins-subtle);
}

.insights-content :where(input, select, textarea):disabled {
    background: var(--ins-surface-strong);
    color: var(--ins-muted);
    cursor: not-allowed;
}

.ins-form-grid,
.form-grid,
.email-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ins-space-4);
}

.ins-form-section {
    margin-bottom: var(--ins-space-5);
    padding-bottom: var(--ins-space-5);
    border-bottom: 1px solid var(--ins-border);
}

.ins-form-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.ins-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--ins-space-2);
    flex-wrap: wrap;
    padding-top: var(--ins-space-4);
    border-top: 1px solid var(--ins-border);
}

.table-wrap,
.ins-table-wrap,
.journey-library-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--ins-border);
    border-radius: var(--ins-radius-md);
    background: var(--ins-surface);
    -webkit-overflow-scrolling: touch;
}

.data-table,
.table,
.report-table,
.ins-data-table,
.journey-library-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--ins-text);
    font-size: var(--ins-font-sm);
}

.insights-content .data-table th,
.insights-content .data-table td,
.insights-content .table th,
.insights-content .table td,
.insights-content .report-table th,
.insights-content .report-table td,
.insights-content .journey-library-table th,
.insights-content .journey-library-table td {
    padding: 12px 14px;
    text-align: left;
    vertical-align: middle;
}

.insights-content .data-table th,
.insights-content .table th,
.insights-content .report-table th,
.insights-content .journey-library-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    border-bottom: 1px solid var(--ins-border);
    background: var(--ins-surface-alt);
    color: var(--ins-muted);
    font-size: .71rem;
    font-weight: 750;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
}

.insights-content .data-table td,
.insights-content .table td,
.insights-content .report-table td,
.insights-content .journey-library-table td {
    border-bottom: 1px solid #edf1f5;
    color: var(--ins-text);
}

.insights-content :where(.data-table, .table, .report-table, .journey-library-table) tbody tr {
    transition: background-color var(--ins-transition-fast);
}

.insights-content :where(.data-table, .table, .report-table, .journey-library-table) tbody tr:hover {
    background: color-mix(in srgb, var(--ins-module-soft) 55%, #fff);
}

.insights-content :where(.data-table, .table, .report-table, .journey-library-table) tbody tr:last-child td {
    border-bottom: 0;
}

.ins-health-list {
    display: grid;
}

.ins-health-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ins-space-5);
    padding: 15px var(--ins-space-5);
    border-bottom: 1px solid var(--ins-border);
}

.ins-health-row:last-child {
    border-bottom: 0;
}

.ins-health-row strong,
.ins-health-row span {
    display: block;
}

.ins-health-row span {
    margin-top: var(--ins-space-1);
    color: var(--ins-muted);
    font-size: var(--ins-font-sm);
}

.ins-status-badge,
.email-status,
.booking-status,
.bc-status,
.journey-status,
.ins-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 24px;
    padding: 4px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: var(--ins-font-xs);
    font-weight: 750;
    line-height: 1.2;
    text-transform: capitalize;
    white-space: nowrap;
}

.ins-status-badge::before,
.email-status::before,
.booking-status::before,
.bc-status::before,
.journey-status::before,
.ins-badge::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    content: "";
    opacity: .7;
}

.ins-status-success,
.status-sent,
.status-completed,
.status-active,
.booking-status.success,
.bc-status-completed,
.journey-status-active,
.ins-badge.success {
    border-color: #a9dec6;
    background: var(--ins-success-soft);
    color: var(--ins-success);
}

.ins-status-warning,
.status-scheduled,
.status-queued,
.status-sending,
.status-paused,
.booking-status.warning,
.bc-status-scheduled,
.ins-badge.warning {
    border-color: #f0cf9b;
    background: var(--ins-warning-soft);
    color: var(--ins-warning);
}

.ins-status-danger,
.status-failed,
.booking-status.danger,
.bc-status-failed,
.ins-badge.danger {
    border-color: #efb0aa;
    background: var(--ins-danger-soft);
    color: var(--ins-danger);
}

.ins-status-info,
.status-processing,
.status-draft,
.ins-badge.info {
    border-color: #b7ceef;
    background: var(--ins-info-soft);
    color: var(--ins-info);
}

.ins-status-neutral,
.status-cancelled,
.status-inactive,
.status-archived,
.ins-badge.neutral {
    border-color: var(--ins-border);
    background: var(--ins-surface-strong);
    color: #475467;
}

.ins-alert,
.insights-alert,
.alert,
.email-success,
.email-error {
    display: flex;
    align-items: flex-start;
    gap: var(--ins-space-3);
    margin-bottom: var(--ins-space-4);
    padding: 12px 14px !important;
    border: 1px solid var(--ins-border);
    border-left-width: 4px !important;
    border-radius: var(--ins-radius-md) !important;
    background: var(--ins-surface);
    color: var(--ins-text);
    font-size: var(--ins-font-sm);
    font-weight: 650;
    box-shadow: none !important;
}

.ins-alert.success,
.insights-alert.success,
.email-success {
    border-color: #a9dec6 !important;
    border-left-color: var(--ins-success) !important;
    background: var(--ins-success-soft) !important;
    color: var(--ins-success);
}

.ins-alert.error,
.insights-alert.error,
.alert,
.email-error {
    border-color: #efb0aa !important;
    border-left-color: var(--ins-danger) !important;
    background: var(--ins-danger-soft) !important;
    color: var(--ins-danger);
}

.ins-alert.warning {
    border-color: #f0cf9b !important;
    border-left-color: var(--ins-warning) !important;
    background: var(--ins-warning-soft) !important;
    color: var(--ins-warning);
}

.empty-state,
.ins-empty-state,
.booking-empty,
.journey-library-empty {
    display: grid;
    justify-items: center;
    padding: clamp(28px, 5vw, 48px);
    border: 1px dashed var(--ins-border-strong) !important;
    border-radius: var(--ins-radius-lg);
    background: var(--ins-surface-alt) !important;
    color: var(--ins-muted);
    text-align: center;
    box-shadow: none !important;
}

.ins-empty-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: var(--ins-space-3);
    border-radius: 50%;
    background: var(--ins-surface-strong);
    color: var(--ins-muted);
    font-size: 1.5rem;
}

.ins-empty-state h3 {
    margin: 0;
}

.ins-empty-state p {
    max-width: 500px;
    margin: var(--ins-space-2) 0 var(--ins-space-4);
}

.ins-pagination,
.pagination,
.booking-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--ins-space-1);
    margin-top: var(--ins-space-4);
    flex-wrap: wrap;
}

.ins-pagination a,
.pagination a,
.booking-pagination a {
    display: inline-grid;
    place-items: center;
    min-width: 36px;
    min-height: 36px;
    padding: 6px 10px;
    border: 1px solid var(--ins-border);
    border-radius: var(--ins-radius-sm);
    background: var(--ins-surface);
    color: var(--ins-text);
    font-size: var(--ins-font-xs);
    font-weight: 700;
    text-decoration: none;
}

.ins-pagination a:hover,
.pagination a:hover,
.booking-pagination a:hover,
.ins-pagination a.active,
.pagination a.active,
.booking-pagination a.active {
    border-color: var(--ins-module-accent);
    background: var(--ins-module-soft);
    color: var(--ins-module-accent);
}

.gp-page-loader {
    background: rgba(245,247,251,.82);
}

.gp-loader-card {
    border-color: var(--ins-border);
    border-radius: var(--ins-radius-xl);
    box-shadow: var(--ins-shadow-lg);
}

.gp-spinner {
    border-color: var(--ins-surface-strong);
    border-top-color: var(--ins-module-accent, var(--ins-primary));
}

.journey-create-modal {
    border: 1px solid var(--ins-border);
    border-radius: var(--ins-radius-xl);
    box-shadow: var(--ins-shadow-lg);
}

.journey-modal-header,
.ins-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ins-space-4);
    padding-bottom: var(--ins-space-4);
    border-bottom: 1px solid var(--ins-border);
}

.report-backbar {
    margin-bottom: var(--ins-space-4) !important;
}

@media (max-width: 1100px) {
    .insights-content {
        padding-inline: var(--ins-space-5);
    }

    .report-kpi-strip,
    .ins-kpi-grid,
    .kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .insights-topbar {
        min-height: 74px;
    }

    .insights-content {
        padding: var(--ins-space-4) var(--ins-space-3) var(--ins-space-6);
    }

    .topbar-subtitle {
        display: none;
    }

    .panel-header,
    .ins-section-header,
    .ins-card-header,
    .ins-page-header,
    .ins-health-row {
        align-items: stretch;
        flex-direction: column;
    }

    .ins-button-group,
    .ins-action-toolbar,
    .export-actions,
    .bc-actions {
        width: 100%;
    }

    .ins-form-grid,
    .form-grid,
    .email-form-grid {
        grid-template-columns: 1fr;
    }

    .filter-bar,
    .ins-filter-bar,
    .booking-filters,
    .filter-row {
        align-items: stretch;
        flex-direction: column;
    }

    .filter-bar label,
    .ins-filter-fields,
    .ins-filter-field,
    .booking-filters label,
    .filter-row label,
    .filter-bar .btn,
    .booking-filter-actions,
    .booking-filter-actions > *,
    .filter-row .btn {
        width: 100%;
    }

    .ins-page-actions,
    .ins-filter-actions {
        width: 100%;
    }

    .ins-page-actions .btn,
    .ins-filter-actions .btn {
        flex: 1;
    }

    .report-kpi-strip,
    .ins-kpi-grid,
    .kpi-grid {
        grid-template-columns: 1fr;
    }

    .insights-content .data-table,
    .insights-content .table,
    .insights-content .report-table,
    .insights-content .journey-library-table {
        min-width: 720px;
    }

    .insights-content .table-wrap,
    .insights-content .ins-table-wrap,
    .insights-content .journey-library-table-wrap {
        background:
            linear-gradient(to right, var(--ins-surface) 30%, transparent),
            linear-gradient(to left, var(--ins-surface) 30%, transparent) 100% 0,
            linear-gradient(to right, rgba(15,23,42,.12), transparent),
            linear-gradient(to left, rgba(15,23,42,.12), transparent) 100% 0;
        background-attachment: local, local, scroll, scroll;
        background-repeat: no-repeat;
        background-size: 36px 100%, 36px 100%, 12px 100%, 12px 100%;
    }

    .ins-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .ins-form-actions > * {
        width: 100%;
    }
}

@media (max-width: 1500px) and (min-width: 721px) {
    .insights-content .vi-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .insights-content .vi-filters .vi-search { grid-column: span 2; }
    .insights-content .vi-filters .vi-filter-actions { justify-content: flex-end; }
}

.insights-content :where(.ja-supporting-metrics, .vi-supporting-metrics) {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin: -4px 0 20px;
    overflow: hidden;
    border: 1px solid var(--ins-border);
    border-radius: 14px;
    background: var(--ins-border);
}
.insights-content :where(.ja-supporting-metrics, .vi-supporting-metrics) > div { padding: 12px 15px; background: var(--ins-surface); }
.insights-content :where(.ja-supporting-metrics, .vi-supporting-metrics) span,
.insights-content :where(.ja-supporting-metrics, .vi-supporting-metrics) small { display: block; color: var(--ins-muted); font-size: 10px; }
.insights-content :where(.ja-supporting-metrics, .vi-supporting-metrics) span { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.insights-content :where(.ja-supporting-metrics, .vi-supporting-metrics) strong { display: block; margin: 4px 0 2px; font-size: 18px; }
.insights-content .vi-supporting-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { .insights-content :where(.ja-supporting-metrics, .vi-supporting-metrics) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.user-admin-workspace {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.user-admin-create {
    position: sticky;
    top: 92px;
}

.user-admin-create .ins-admin-create { grid-template-columns: 1fr; }
.user-admin-create .form-grid { grid-template-columns: 1fr; }
.user-admin-create .ins-admin-guidance { padding: 14px; }
.user-admin-directory { min-width: 0; }

@media (max-width: 1120px) {
    .user-admin-workspace { grid-template-columns: 1fr; }
    .user-admin-create { position: static; }
    .user-admin-create .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .user-admin-create .form-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   Workflow composition layer
   Compact orientation plus module-specific working surfaces.
   ========================================================= */

.ins-workspace-header.ins-module-hero {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 0;
    padding: 20px 24px;
    gap: 24px;
    border-radius: 18px;
}

.ins-workspace-header .ins-module-hero__main {
    align-items: center;
}

.ins-workspace-header .ins-module-hero__icon {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 12px;
    font-size: 16px;
}

.insights-content .ins-workspace-header h1,
.insights-content .ins-workspace-header.ins-module-hero--compact h1 {
    font-size: clamp(1.5rem, 2.1vw, 2rem) !important;
    letter-spacing: -.035em;
}

.ins-workspace-header .ins-module-hero__copy > p {
    max-width: 920px;
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.5;
}

.ins-workspace-header .ins-module-hero__actions {
    margin-top: 13px;
}

.ins-workspace-header .ins-module-hero__highlights {
    grid-auto-flow: column;
    grid-auto-columns: minmax(150px, 1fr);
}

.ins-workspace-header .ins-module-hero__highlights > div {
    min-width: 150px;
    padding: 10px 12px;
}

.ins-workspace-header .ins-module-hero__highlights dd {
    font-size: 16px;
}

.ins-workspace-header::after {
    width: 150px;
    height: 150px;
    right: -52px;
    bottom: -82px;
    border-width: 28px;
}

.ins-metric-rail {
    display: grid;
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--ins-border);
    border-radius: 16px;
    background: var(--ins-border);
}

.ins-metric-rail > * {
    min-height: 0 !important;
    padding: 14px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ins-metric-rail .ins-kpi-value {
    margin-top: 6px;
    font-size: 1.45rem;
}

.ins-command-layout,
.ins-library-layout,
.ins-messaging-layout,
.ins-admin-command-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 20px;
    align-items: start;
}

.ins-command-layout--wide-rail {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
}

.ins-command-main,
.ins-command-rail {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.ins-command-rail--sticky {
    position: sticky;
    top: 92px;
}

.ins-rail-section {
    padding: 18px;
    border: 1px solid var(--ins-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--ins-shadow-sm);
}

.ins-rail-section > header {
    margin-bottom: 14px;
}

.ins-rail-section > header h2 {
    margin: 0;
    font-size: 16px;
}

.ins-rail-section > header p {
    margin: 4px 0 0;
    color: var(--ins-muted);
    font-size: 12px;
}

.ins-compact-scoreboard {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--ins-border);
    border-radius: 16px;
    background: var(--ins-border);
}

.ins-compact-scoreboard > * {
    min-height: 88px !important;
    padding: 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ins-compact-scoreboard .ins-kpi-value {
    margin-top: 8px;
    font-size: 1.55rem;
}

.ins-workflow-switcher {
    display: grid;
    gap: 8px;
}

.ins-workflow-link {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--ins-border);
    border-radius: 13px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.ins-workflow-link:hover {
    border-color: color-mix(in srgb, var(--ins-module-accent) 42%, var(--ins-border));
    background: var(--ins-module-soft);
}

.ins-workflow-link__icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    background: var(--ins-module-soft);
    color: var(--ins-module-accent);
    font-weight: 800;
}

.ins-workflow-link strong,
.ins-workflow-link small {
    display: block;
}

.ins-workflow-link small {
    margin-top: 2px;
    color: var(--ins-muted);
    font-size: 11px;
}

.ins-workflow-link::after {
    content: "›";
    color: var(--ins-muted);
    font-size: 20px;
}

.ins-table-commandbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--ins-border);
    background: var(--ins-surface-alt);
}

.ins-table-commandbar p {
    margin: 0;
    color: var(--ins-muted);
    font-size: 11px;
}

.ins-table-commandbar strong {
    color: var(--ins-heading);
}

.ins-dashboard-console {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: 20px;
}

.ins-dashboard-signals {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-bottom: 18px;
    overflow: hidden;
    border: 1px solid var(--ins-border);
    border-radius: 16px;
    background: var(--ins-border);
}

.ins-dashboard-signals > * {
    padding: 15px 17px !important;
    min-height: 92px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ins-dashboard-signals .ins-kpi-value {
    margin-top: 7px;
    font-size: 1.6rem;
}

.ins-dashboard-signals--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ins-studio-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.ins-studio-rail {
    display: grid;
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--ins-border);
    border-radius: 17px;
    background: var(--ins-border);
    box-shadow: var(--ins-shadow-sm);
}

.ins-studio-rail__intro,
.ins-studio-rail__metric,
.ins-studio-rail__actions {
    padding: 16px;
    background: #fff;
}

.ins-studio-rail__intro {
    background: linear-gradient(145deg, var(--ins-module-soft), #fff);
}

.ins-studio-rail__intro h2 {
    margin: 0;
    font-size: 16px;
}

.ins-studio-rail__intro p {
    margin: 5px 0 0;
    color: var(--ins-muted);
    font-size: 11px;
}

.ins-studio-rail__metric span,
.ins-studio-rail__metric strong {
    display: block;
}

.ins-studio-rail__metric span {
    color: var(--ins-muted);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ins-studio-rail__metric strong {
    margin-top: 5px;
    font-size: 22px;
}

.ins-studio-rail__actions {
    display: grid;
    gap: 8px;
}

@media (max-width: 1120px) {
    .ins-command-layout,
    .ins-command-layout--wide-rail,
    .ins-library-layout,
    .ins-messaging-layout,
    .ins-admin-command-layout,
    .ins-dashboard-console,
    .ins-studio-layout {
        grid-template-columns: 1fr;
    }

    .ins-command-rail--sticky {
        position: static;
    }
}

@media (max-width: 760px) {
    .ins-workspace-header.ins-module-hero {
        grid-template-columns: 1fr;
        padding: 17px;
    }

    .ins-workspace-header .ins-module-hero__highlights {
        grid-auto-flow: row;
        grid-auto-columns: auto;
    }

    .ins-dashboard-signals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ins-table-commandbar {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (forced-colors: active) {
    .btn,
    .ins-button,
    .ins-status-badge,
    .email-status,
    .booking-status,
    .bc-status,
    .journey-status {
        border: 1px solid ButtonText !important;
    }
}

/* =========================================================
   Insight Design System v2 — structural product composition
   ========================================================= */

.insights-app > .insights-sidebar {
    width: var(--ins-sidebar);
    border-right: 1px solid #dbe6f2;
    background: linear-gradient(180deg, #f8fbff 0%, #f3f7fb 100%);
    color: var(--ins-text);
    box-shadow: 3px 0 14px rgba(31, 67, 99, .025);
}

.insights-app .insights-brand {
    min-height: 78px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--ins-border);
}

.insights-app .insights-brand-link {
    color: var(--ins-heading);
}

.insights-app .insights-brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(145deg, #173d5d, #2b817d);
    color: #fff;
    box-shadow: 0 8px 20px rgba(31, 91, 105, .2);
}

.insights-app .insights-brand-copy strong {
    font-size: 22px;
}

.insights-app .insights-brand-copy small {
    color: var(--ins-muted);
    font-size: 10.5px;
    letter-spacing: .015em;
}

.insights-app .insights-sidebar-close {
    color: var(--ins-muted);
}

.insights-app .insights-nav {
    padding: 16px 12px 22px;
}

.insights-app .insights-nav-link,
.insights-app .insights-nav-group-toggle {
    min-height: 44px;
    border-radius: 12px;
    color: #58657a;
    font-size: 13px;
    font-weight: 680;
}

.insights-app .insights-nav-group-toggle {
    color: #334155;
    font-size: 14px;
    font-weight: 790;
    letter-spacing: -.01em;
}

.insights-app .insights-nav-group.is-active > .insights-nav-group-toggle {
    background: #edf4f8;
    color: var(--ins-primary-hover);
}

.insights-app .insights-nav-link:hover,
.insights-app .insights-nav-group-toggle:hover {
    background: #f2f5f8;
    color: var(--ins-heading);
}

.insights-app .insights-nav-link.active {
    background: #dfedf8;
    color: var(--ins-primary-hover);
    box-shadow: inset 3px 0 0 #285f8f;
}

.insights-app .insights-nav-icon {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 25px;
    flex-basis: 25px;
    border-radius: 8px;
    background: #f0f3f7;
    color: #66758a;
    font-size: 13px;
}

.insights-app .insights-nav-link.active .insights-nav-icon,
.insights-app .insights-nav-group.is-active > .insights-nav-group-toggle .insights-nav-icon {
    background: #dceaf6;
    color: var(--ins-primary-hover);
}

.insights-app .insights-nav-group-toggle {
    padding-inline: 9px;
}

.insights-app .insights-nav-children .insights-nav-link {
    min-height: 36px;
    margin: 3px 0 0 37px;
    width: calc(100% - 37px);
    padding-inline: 12px;
    font-size: 12px;
    font-weight: 620;
}

.insights-app .insights-nav-link:focus-visible,
.insights-app .insights-nav-group-toggle:focus-visible {
    outline: 3px solid rgba(40, 95, 143, .32);
    outline-offset: 2px;
}

.insights-app .insights-nav-children .insights-nav-icon {
    display: none;
}

.insights-app .insights-chevron {
    color: #9aa4b2;
}

.insights-app .insights-sidebar-meta {
    margin: 0 14px 12px;
    padding: 13px 7px 0;
    border-top: 1px solid var(--ins-border);
    color: var(--ins-muted);
}

.insights-app .insights-sidebar-meta strong {
    color: var(--ins-primary);
}

.insights-app > .insights-main {
    margin-left: var(--ins-sidebar);
    background:
        radial-gradient(circle at 92% 4%, rgba(95, 109, 205, .055), transparent 24rem),
        var(--ins-bg);
}

.insights-main > .insights-topbar {
    min-height: 68px;
    padding: 10px 30px;
    border-bottom: 1px solid rgba(207, 214, 224, .85);
    background: rgba(255, 255, 255, .88);
    box-shadow: none;
    backdrop-filter: blur(16px);
}

.insights-context-path,
.insights-topbar-utilities {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}
.insights-topbar-left { flex:1 1 auto; min-width:0; }
.insights-topbar-utilities { flex:0 0 auto; }
.insights-app > .insights-main { min-width:0; overflow-x:clip; }
.insights-nav-count { margin-left:auto; min-width:22px; padding:2px 6px; border-radius:999px; background:#dcecff; color:#14568c; font-size:10px; font-weight:800; line-height:18px; text-align:center; }
.insights-nav-link.active .insights-nav-count { background:#fff; color:var(--ins-primary); }

.insights-context-icon {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid color-mix(in srgb, var(--ins-module-accent) 16%, var(--ins-border));
    border-radius: 11px;
    background: var(--ins-module-soft);
    color: var(--ins-module-accent);
    font-size: 14px;
    font-weight: 800;
}

.insights-page-identity {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.insights-module-label {
    margin: 0;
    color: var(--ins-module-accent);
    font-size: 11px;
    letter-spacing: .055em;
}

.insights-context-separator {
    color: #b1b8c4;
}

.insights-topbar-left .insights-page-identity > strong {
    color: #3b4658;
    font-size: 13px;
    font-weight: 700;
}

.insights-workspace-state {
    padding: 6px 10px;
    border: 1px solid var(--ins-border);
    border-radius: 999px;
    background: #fff;
    color: var(--ins-muted);
    font-size: 10px;
    font-weight: 700;
}

.insights-environment-badge {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .065em;
    line-height: 1;
    white-space: nowrap;
}

.insights-environment-badge--local {
    border-color: #075f4d;
    background: #08745d;
    color: #fff;
}

.insights-environment-badge--production {
    border-color: #8f2418;
    background: #a93226;
    color: #fff;
}

.insights-environment-badge--staging {
    border-color: #59358c;
    background: #7047a8;
    color: #fff;
}

.insights-environment-badge--unknown {
    border-color: #334155;
    background: #475569;
    color: #fff;
}

.insights-app .insights-user-trigger {
    min-height: 46px;
    padding: 5px 7px;
    border-radius: 14px;
}

.insights-app .insights-avatar {
    width: 35px;
    height: 35px;
    border-radius: 11px;
    background: #1b344c;
}

.insights-app .insights-user-dropdown {
    border-radius: 16px;
    box-shadow: var(--ins-shadow-lg);
}

.insights-main > .insights-content {
    max-width: 1720px;
    padding: 30px 34px 42px;
}

.insights-app .insights-footer {
    align-items: center;
    flex-wrap: wrap;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.insights-company-label {
    overflow: hidden;
    color: var(--ins-primary-hover);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.insights-workspace-path {
    display: flex;
    align-items: baseline;
    gap: 6px;
    min-width: 0;
}

.insights-workspace-path > span {
    flex: 0 0 auto;
    overflow: hidden;
    color: var(--ins-heading);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.insights-workspace-path strong {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: var(--ins-muted);
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.insights-app .insights-footer > div:first-child {
    flex: 1 1 420px;
    min-width: 0;
}

.insights-app .insights-footer > div:last-child {
    flex: 0 1 auto;
}

.insights-app .insights-footer > div:first-child strong {
    font-weight: 650;
}

/* Geo-Principles Insight authentication */
.ins-login-page {
    min-height: 100vh;
    padding: clamp(18px, 4vw, 48px);
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 8% 8%, rgba(40, 95, 143, .12), transparent 28rem),
        radial-gradient(circle at 94% 88%, rgba(43, 129, 125, .1), transparent 26rem),
        var(--ins-bg);
}

.ins-login-shell {
    width: min(1080px, 100%);
    min-height: min(650px, calc(100vh - 96px));
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
    overflow: hidden;
    border: 1px solid rgba(207, 214, 224, .9);
    border-radius: 28px;
    background: var(--ins-surface);
    box-shadow: var(--ins-shadow-lg);
}

.ins-login-brand-panel,
.ins-login-auth-panel {
    padding: clamp(38px, 6vw, 72px);
}

.ins-login-brand-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 12%, rgba(88, 189, 180, .24), transparent 18rem),
        linear-gradient(145deg, #173d5d 0%, #1c4e68 58%, #246b6a 100%);
    color: #fff;
}

.ins-login-brand-panel::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: -125px;
    width: 320px;
    height: 320px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 46px rgba(255, 255, 255, .035), 0 0 0 92px rgba(255, 255, 255, .025);
    pointer-events: none;
}

.ins-login-brand-panel > * {
    position: relative;
    z-index: 1;
}

.ins-login-company,
.ins-login-eyebrow {
    margin: 0;
    text-transform: uppercase;
}

.ins-login-company {
    display: grid;
    gap: 2px;
}

.ins-login-company strong {
    color: #edf8fb;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.2;
}

.ins-login-company span {
    color: #b8d9e4;
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .14em;
    line-height: 1.2;
}

.ins-login-mark {
    width: 54px;
    height: 54px;
    margin-top: clamp(56px, 10vh, 104px);
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 17px;
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 14px 32px rgba(8, 29, 47, .18);
    font-size: 27px;
    font-weight: 850;
}

.ins-login-brand-panel h1 {
    margin: 22px 0 7px;
    color: #fff;
    font-size: clamp(64px, 6vw, 72px);
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: 1;
}

.ins-login-descriptor {
    margin: 0;
    color: #d4e5eb;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}

.ins-login-summary {
    max-width: 320px;
    margin: 25px 0 0;
    color: #c3d8e1;
    font-size: 14px;
    line-height: 1.82;
}

.ins-login-version {
    display: grid;
    gap: 2px;
    color: rgba(231, 242, 246, .7);
    font-size: 10px;
    font-weight: 650;
    letter-spacing: .035em;
    line-height: 1.45;
}

.ins-login-auth-panel {
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, .97);
}

.ins-login-form-wrap {
    width: min(390px, 100%);
}

.ins-login-heading {
    margin-bottom: 26px;
}

.ins-login-eyebrow {
    color: var(--ins-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.2;
}

.ins-login-product-brand {
    margin: 10px 0 0;
    color: var(--ins-heading);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.2;
}

.ins-login-heading h2 {
    margin: 18px 0 8px;
    color: var(--ins-heading);
    font-size: 30px;
    letter-spacing: -.03em;
}

.ins-login-heading p {
    margin: 0;
    color: var(--ins-muted);
    font-size: 14px;
    line-height: 1.6;
}

.ins-login-error {
    margin-bottom: 20px;
    padding: 12px 14px;
    border: 1px solid #fecdca;
    border-radius: var(--ins-radius-md);
    background: var(--ins-danger-soft);
    color: var(--ins-danger);
    font-size: 13px;
    font-weight: 650;
}

.ins-login-form {
    display: grid;
    gap: 8px;
}

.ins-login-form label {
    margin-top: 10px;
    color: #344054;
    font-size: 12px;
    font-weight: 750;
}

.ins-login-form input {
    width: 100%;
    min-height: 47px;
    padding: 0 13px;
    border: 1px solid var(--ins-border-strong);
    border-radius: var(--ins-radius-md);
    background: #fff;
    color: var(--ins-text);
    font: inherit;
    transition: border-color var(--ins-transition-fast), box-shadow var(--ins-transition-fast);
}

.ins-login-form input:focus {
    outline: none;
    border-color: var(--ins-primary);
    box-shadow: 0 0 0 4px rgba(40, 95, 143, .12);
}

.ins-login-form button {
    min-height: 48px;
    margin-top: 18px;
    border: 0;
    border-radius: var(--ins-radius-md);
    background: linear-gradient(135deg, var(--ins-primary), #287c7a);
    color: #fff;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(40, 95, 143, .2);
    transition: transform var(--ins-transition-fast), box-shadow var(--ins-transition-fast);
}

.ins-login-form button:hover {
    transform: translateY(-1px);
    box-shadow: 0 13px 28px rgba(40, 95, 143, .25);
}

.ins-login-form button:focus-visible {
    outline: 3px solid var(--ins-focus);
    outline-offset: 3px;
}

.ins-login-security {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 24px 0 0;
    color: var(--ins-muted);
    font-size: 11px;
    line-height: 1.5;
}

.ins-login-security span {
    color: #287c7a;
    font-size: 9px;
}

@media (max-width: 780px) {
    .ins-login-page {
        padding: 14px;
        place-items: start center;
    }

    .ins-login-shell {
        min-height: 0;
        grid-template-columns: 1fr;
        border-radius: 22px;
    }

    .ins-login-brand-panel,
    .ins-login-auth-panel {
        padding: 30px 26px;
    }

    .ins-login-brand-panel {
        min-height: 300px;
    }

    .ins-login-mark {
        width: 46px;
        height: 46px;
        margin-top: 38px;
        border-radius: 14px;
        font-size: 23px;
    }

    .ins-login-brand-panel h1 {
        margin-top: 16px;
        font-size: 52px;
    }

    .ins-login-summary {
        margin-top: 16px;
        font-size: 13px;
        line-height: 1.6;
    }

    .ins-login-version {
        display: none;
    }

    .ins-login-auth-panel {
        min-height: 430px;
    }
}

.ins-module-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    gap: clamp(24px, 4vw, 54px);
    align-items: stretch;
    min-height: 220px;
    margin-bottom: 22px;
    padding: clamp(26px, 4vw, 44px);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ins-module-accent) 17%, var(--ins-border));
    border-radius: 26px;
    background:
        radial-gradient(circle at 88% 15%, color-mix(in srgb, var(--ins-module-accent) 13%, transparent), transparent 18rem),
        linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--ins-module-soft) 62%, #fff) 100%);
    box-shadow: 0 18px 46px rgba(34, 45, 70, .075);
}

/* Exactly three page-orientation variants: module, workspace and detail. */
.ins-page-orientation {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    min-height: 0;
    margin-bottom: 22px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--ins-module-accent) 17%, var(--ins-border));
    background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--ins-module-soft) 55%, #fff));
    box-shadow: 0 12px 32px rgba(34, 45, 70, .06);
}
.ins-page-orientation--module { min-height: 168px; padding: 28px 32px; border-radius: 24px; }
.ins-page-orientation--workspace { padding: 16px 20px; border-radius: 18px; }
.ins-page-orientation--detail { padding: 16px 20px; border-radius: 15px; }
.ins-page-orientation--single { grid-template-columns: minmax(0, 1fr); }
.ins-page-orientation .ins-module-hero__main { align-items: center; }
.ins-page-orientation--workspace .ins-module-hero__icon,
.ins-page-orientation--detail .ins-module-hero__icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 11px; font-size: 15px; }
.insights-content .ins-page-orientation h1 { margin: 0; font-size: clamp(1.5rem, 2.2vw, 2rem) !important; letter-spacing: -.035em; }
.insights-content .ins-page-orientation--module h1 { font-size: clamp(1.8rem, 3vw, 2.55rem) !important; }
.insights-content .ins-page-orientation--detail h1 { font-size: clamp(1.35rem, 2vw, 1.75rem) !important; }
.ins-page-orientation .ins-module-hero__copy > p { max-width: 900px; margin-top: 6px; font-size: 13px; line-height: 1.5; }
.ins-page-orientation .ins-module-hero__actions { margin-top: 9px; }
.ins-module-hero__context { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; margin-top: 10px; }
.ins-page-hero__context-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: flex-end; align-self: flex-start; gap: 8px; }
.ins-settings-tabs { display:flex; gap:6px; overflow-x:auto; margin:0 0 16px; padding:5px; border:1px solid var(--ins-border); border-radius:14px; background:#fff; }
.ins-settings-tabs a { flex:0 0 auto; padding:9px 12px; border-radius:10px; color:var(--ins-muted); font-size:12px; font-weight:750; text-decoration:none; }
.ins-settings-tabs a.active { background:var(--ins-primary); color:#fff; }
.ins-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ins-settings-card { padding:18px; border:1px solid var(--ins-border); border-radius:16px; background:#fff; }
.ins-settings-card h2 { margin:0 0 6px; font-size:18px; }
.ins-settings-card > p { margin:0 0 16px; color:var(--ins-muted); font-size:13px; }
.ins-settings-field { display:grid; gap:6px; margin:0 0 13px; font-size:12px; font-weight:750; color:var(--ins-heading); }
.ins-settings-field input,.ins-settings-field select,.ins-settings-field textarea { width:100%; padding:10px 11px; border:1px solid var(--ins-border); border-radius:10px; background:#fff; color:var(--ins-heading); font:inherit; font-weight:500; }
.ins-settings-field small,.ins-settings-help { color:var(--ins-muted); font-weight:500; }
.ins-settings-alert { margin:0 0 14px; padding:11px 13px; border-radius:11px; background:#eef7ff; color:#17486f; font-size:13px; }
.ins-settings-alert.warning { background:#fff7e6; color:#7a4a00; }
.ins-settings-status-list { display:grid; gap:8px; margin:0; }
.ins-settings-status-list > div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--ins-border); }
.ins-settings-status-list dt,.ins-settings-status-list dd { margin:0; }
.audience-reply-actions { display:flex; flex-wrap:wrap; gap:6px; min-width:190px; }
.audience-reply-actions form { margin:0; }
.audience-replies-table td { vertical-align:top; }
.audience-replies-table td strong,.audience-replies-table td small { display:block; overflow-wrap:anywhere; }
.audience-replies-table th:nth-child(1),.audience-replies-table th:nth-child(5),.audience-replies-table th:nth-child(6) { white-space:nowrap; }
.audience-email-card { max-width:1100px; margin-inline:auto; padding:0; overflow:hidden; }
.audience-email-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 20px; padding:20px 22px; border-bottom:1px solid var(--ins-border); }
.audience-email-subject { min-width:0; }
.audience-email-subject h2 { margin:3px 0 0; overflow-wrap:anywhere; font-size:clamp(1.2rem,2.5vw,1.65rem); }
.audience-email-header dl { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 20px; margin:0; }
.audience-email-header dt { color:var(--ins-muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.audience-email-header dd { margin:4px 0 0; overflow-wrap:anywhere; }
.audience-email-header dd small { display:block; color:var(--ins-muted); }
.audience-email-content { padding:22px; }
.audience-reply-body { max-height:420px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; padding:14px; border:1px solid var(--ins-border); border-radius:10px; background:#f8fafc; }
.audience-reply-html { display:block; width:100%; min-height:360px; border:0; background:#fff; }
.audience-email-attachments { padding:18px 22px; border-top:1px solid var(--ins-border); }
.audience-email-attachments h3 { margin:0 0 12px; }
.audience-email-attachments ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.audience-email-attachments li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid var(--ins-border); border-radius:10px; }
.audience-email-attachments small { display:block; margin-top:3px; color:var(--ins-muted); }
.audience-email-actions { display:flex; flex-wrap:wrap; gap:8px; padding:16px 22px; border-top:1px solid var(--ins-border); background:#f8fafc; }
.audience-email-actions form { margin:0; }
.audience-communication-context { max-width:1100px; margin-inline:auto; padding:0; }
.audience-communication-context > summary { cursor:pointer; padding:16px 20px; font-weight:800; }
.audience-communication-context[open] > summary { border-bottom:1px solid var(--ins-border); }
.audience-communication-context > dl { padding:18px 20px; }
@media (max-width:850px) { .ins-settings-grid { grid-template-columns:1fr; } .ins-page-hero__context-actions { justify-content:flex-start; } }
@media (max-width:620px) {
    .insights-environment-badge { display:none; }
    .insights-context-path { overflow:hidden; }
    .insights-workspace-path > span { max-width:210px; font-size:17px; }
    .insights-workspace-path strong { display:none; }
    .insights-company-label { max-width:210px; font-size:11px; }
    .ins-settings-card { padding:16px; }
    .audience-email-header dl { grid-template-columns:1fr; }
    .audience-email-content { padding:16px; }
    .audience-email-header,.audience-email-actions,.audience-email-attachments { padding-inline:16px; }
}
.ins-module-hero__meta { color: var(--ins-muted); font-size: 12px; }
.ins-module-hero__meta strong { color: var(--ins-heading); }
.ins-shared-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 10px; color: var(--ins-muted); font-size: 12px; }
.ins-shared-breadcrumb a { color: var(--ins-primary); font-weight: 700; text-decoration: none; }
.ins-shared-breadcrumb a:hover { text-decoration: underline; }
.ins-dashboard-selector { margin-top: -10px; margin-bottom: 18px; padding: 13px 16px; }
.ins-dashboard-selector .filter-bar { margin: 0; align-items: end; }
.ins-dashboard-selector label { min-width: min(420px, 100%); }
.ins-dashboard-activity-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.ins-dashboard-activity-grid .ins-kpi-card { min-height: 100px; padding: 15px; }
.ins-dashboard-activity-grid .ins-kpi-value { font-size: clamp(1.45rem, 2.4vw, 2rem); }
.ins-dashboard-operational-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 18px; align-items: start; }
.ins-dashboard-schedule, .ins-dashboard-exceptions { display: grid; gap: 8px; }
.ins-dashboard-schedule__item, .ins-dashboard-exceptions > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 11px 12px; border: 1px solid var(--ins-border); border-radius: 12px; background: #fff; color: var(--ins-heading); text-decoration: none; }
.ins-dashboard-schedule__item:hover, .ins-dashboard-exceptions > a:hover { border-color: var(--ins-primary); box-shadow: var(--ins-shadow-xs); }
.ins-dashboard-schedule__item small { display: block; margin-top: 3px; color: var(--ins-muted); }
.ins-dashboard-funnel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ins-dashboard-funnel > div { padding: 16px; border: 1px solid var(--ins-border); border-radius: 13px; background: var(--ins-surface-soft); }
.ins-dashboard-funnel span { display: block; color: var(--ins-muted); font-size: 11px; font-weight: 760; text-transform: uppercase; }
.ins-dashboard-funnel strong { display: block; margin-top: 5px; color: var(--ins-heading); font-size: 1.65rem; }
@media (max-width: 1180px) { .ins-dashboard-activity-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 850px) { .ins-dashboard-operational-grid { grid-template-columns: 1fr; } .ins-dashboard-funnel { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .ins-dashboard-activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ins-dashboard-selector label { min-width: 0; width: 100%; } }
.ins-page-orientation .ins-module-hero__highlights { position: relative; z-index: 1; display: flex; gap: 8px; margin: 0; }
.ins-page-orientation .ins-module-hero__highlights > div { min-width: 130px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.8); border-radius: 12px; background: rgba(255,255,255,.78); }
.ins-page-orientation .ins-module-hero__highlights dt { color: var(--ins-muted); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.ins-page-orientation .ins-module-hero__highlights dd { margin: 2px 0 0; font-size: 16px; font-weight: 800; }
.ins-page-orientation .ins-module-hero__highlights small { display: block; margin-top: 2px; color: var(--ins-muted); font-size: 10px; }

@media (max-width: 760px) {
    .ins-page-orientation, .ins-page-orientation--module, .ins-page-orientation--workspace, .ins-page-orientation--detail { grid-template-columns: 1fr; padding: 15px; border-radius: 17px; }
    .ins-page-orientation--workspace .ins-module-hero__icon,
    .ins-page-orientation--detail .ins-module-hero__icon { display: none; }
    .ins-page-orientation--workspace .ins-module-hero__main,
    .ins-page-orientation--detail .ins-module-hero__main { display: block; }
    .insights-content .ins-page-orientation--workspace h1 { font-size: 1.4rem !important; }
    .ins-page-orientation--workspace .ins-module-hero__highlights { display: grid; grid-template-columns: repeat(2, minmax(125px, 1fr)); }
    .ins-page-orientation .ins-module-hero__highlights > div { display: block; min-width: 0; overflow: hidden; }
    .ins-page-orientation .ins-module-hero__highlights dd { font-size: 14px; overflow-wrap: anywhere; }
    .ins-page-orientation .ins-module-hero__highlights { overflow-x: auto; }
}

.ins-module-hero::after {
    position: absolute;
    right: -60px;
    bottom: -92px;
    width: 230px;
    height: 230px;
    border: 42px solid color-mix(in srgb, var(--ins-module-accent) 6%, transparent);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.ins-module-hero__main {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    min-width: 0;
}

.ins-module-hero__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 15px;
    background: var(--ins-module-accent);
    color: #fff;
    font-size: 20px;
    font-weight: 850;
    box-shadow: 0 10px 26px color-mix(in srgb, var(--ins-module-accent) 24%, transparent);
}

.ins-module-hero__copy {
    min-width: 0;
}

.ins-module-hero__eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--ins-module-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.insights-content .ins-module-hero h1 {
    max-width: 780px;
    margin: 0;
    font-size: clamp(2rem, 3.4vw, 3rem) !important;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.ins-module-hero__copy > p {
    max-width: 720px;
    margin: 13px 0 0;
    color: #5e697c;
    font-size: 15px;
    line-height: 1.65;
}

.ins-module-hero__actions {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.ins-module-hero__highlights {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: center;
    gap: 10px;
    margin: 0;
}

.ins-module-hero__highlights > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 18px;
    align-items: baseline;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 15px;
    background: rgba(255, 255, 255, .72);
    box-shadow: var(--ins-shadow-xs);
    backdrop-filter: blur(8px);
}

.ins-module-hero__highlights dt {
    color: var(--ins-muted);
    font-size: 11px;
    font-weight: 750;
    text-transform: uppercase;
}

.ins-module-hero__highlights dd {
    margin: 0;
    color: var(--ins-heading);
    font-size: 21px;
    font-weight: 800;
}

.ins-module-hero__highlights small {
    grid-column: 1 / -1;
    color: var(--ins-muted);
    font-size: 11px;
}

.ins-module-hero--compact {
    grid-template-columns: minmax(0, 1fr) minmax(230px, .4fr);
    min-height: 156px;
    padding: 24px 28px;
    border-radius: 21px;
}

.ins-module-hero--single {
    grid-template-columns: minmax(0, 1fr);
}

.ins-module-hero--single .ins-module-hero__copy > p {
    max-width: 860px;
}

.ins-module-hero--compact .ins-module-hero__icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
}

.insights-content .ins-module-hero--compact h1 {
    font-size: clamp(1.55rem, 2.5vw, 2.1rem) !important;
}

.ins-layout-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}

.ins-layout-grid--sidebar {
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, .65fr);
}

.ins-layout-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ins-command-centre-list {
    display: grid;
    gap: 20px;
}

.ins-command-centre-card {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(340px, .55fr);
    gap: 24px;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

.ins-command-centre-card__primary,
.ins-command-centre-card__side {
    min-width: 0;
    padding: 22px;
}

.ins-command-centre-card__primary {
    display: grid;
    align-content: start;
    gap: 17px;
}

.ins-command-centre-card__primary > header {
    margin: 0;
}

.ins-command-centre-card__primary > header h2 {
    margin: 3px 0 7px;
    font-size: 19px;
}

.ins-command-centre-card__primary > header p {
    margin: 0;
}

.ins-command-centre-block {
    display: grid;
    gap: 9px;
}

.ins-command-centre-block > h3 {
    margin: 0;
    color: var(--ins-heading);
    font-size: 13px;
}

.ins-acquisition-scoreboard {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ins-acquisition-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--ins-border);
    border-radius: 14px;
}

.ins-acquisition-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 12px;
}

.ins-acquisition-table th,
.ins-acquisition-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--ins-border);
    text-align: right;
    white-space: nowrap;
}

.ins-acquisition-table th {
    background: var(--ins-surface-alt);
    color: var(--ins-muted);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ins-acquisition-table th:first-child,
.ins-acquisition-table td:first-child {
    text-align: left;
}

.ins-acquisition-table tbody tr:last-child td {
    border-bottom: 0;
}

.ins-command-centre-card__side {
    display: grid;
    align-content: start;
    gap: 15px;
    border-left: 1px solid var(--ins-border);
    background: var(--ins-surface-alt);
}

.ins-command-centre-status,
.ins-command-centre-activity {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.ins-command-centre-status > span,
.ins-command-centre-activity > span {
    color: var(--ins-muted);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ins-command-centre-activity {
    flex-wrap: wrap;
    padding-top: 2px;
}

.ins-command-centre-activity small {
    flex-basis: 100%;
    color: var(--ins-muted);
    font-size: 11px;
}

.ins-command-centre-card__side .ins-health-list {
    overflow: hidden;
    border: 1px solid var(--ins-border);
    border-radius: 13px;
    background: #fff;
}

.ins-command-centre-card__side .ins-health-row {
    padding: 13px 14px;
}

.ins-command-centre-actions,
.ins-command-centre-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ins-command-centre-links {
    padding-top: 13px;
    border-top: 1px solid var(--ins-border);
}

.ins-command-centre-links a {
    color: var(--ins-primary);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.ins-command-centre-links a:not(:last-child)::after {
    margin-left: 8px;
    color: var(--ins-border-strong);
    content: "·";
}

.ins-dashboard-attention {
    margin-top: 20px;
}

.ins-dashboard-attention > header {
    padding: 15px 20px 0;
}

.ins-dashboard-attention > header h2 {
    margin: 0;
    font-size: 16px;
}

.ins-dashboard-attention .ins-empty-state {
    min-height: 0;
    padding: 18px;
}

.ins-dashboard-attention .ins-empty-state h3 {
    margin: 0;
    font-size: 13px;
}

.ins-dashboard-attention-list {
    overflow: hidden;
    border: 1px solid var(--ins-border);
    border-radius: 14px;
}

.ins-dashboard-attention-list__head,
.ins-dashboard-attention-list__row {
    display: grid;
    grid-template-columns: minmax(210px, 1.3fr) minmax(150px, 1fr) 120px minmax(140px, auto);
    gap: 14px;
    align-items: center;
    padding: 11px 14px;
}

.ins-dashboard-attention-list__head {
    background: var(--ins-surface-alt);
    color: var(--ins-muted);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ins-dashboard-attention-list__row {
    border-top: 1px solid var(--ins-border);
    font-size: 12px;
}

.ins-dashboard-attention-list__row > span,
.ins-dashboard-attention-list__row > strong {
    min-width: 0;
}

.ins-layout-span-full {
    grid-column: 1 / -1;
}

.ins-workspace-stack {
    display: grid;
    gap: 20px;
}

.ins-surface,
.ins-workspace-panel,
.ins-attention-panel,
.ins-form-panel {
    border: 1px solid var(--ins-border);
    border-radius: var(--ins-radius-xl);
    background: #fff;
    box-shadow: var(--ins-shadow-sm);
}

.ins-workspace-panel {
    overflow: hidden;
}

.insights-content .ins-workspace-panel {
    padding: 0 !important;
}

.insights-content .ins-workspace-panel--padded {
    padding: 22px !important;
}

.insights-content .ins-attention-panel,
.insights-content .ins-form-panel {
    padding: 22px !important;
}

.ins-workspace-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px 18px;
}

.ins-workspace-panel__header h2,
.ins-attention-panel h2 {
    margin: 0;
}

.ins-workspace-panel__header p,
.ins-attention-panel p {
    margin: 5px 0 0;
    color: var(--ins-muted);
}

.ins-section-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--ins-module-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ins-result-count {
    flex: 0 0 auto;
    padding: 6px 10px;
    border: 1px solid var(--ins-border);
    border-radius: 999px;
    background: var(--ins-surface-alt);
    color: var(--ins-muted);
    font-size: 11px;
    font-weight: 750;
}

.ins-workspace-panel__body {
    padding: 0 24px 24px;
}

.ins-attention-panel {
    position: relative;
    padding: 22px;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--ins-module-accent) 18%, var(--ins-border));
    background: linear-gradient(145deg, var(--ins-module-soft), #fff);
}

.ins-attention-panel::before {
    display: block;
    width: 34px;
    height: 4px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: var(--ins-module-accent);
    content: "";
}

.ins-attention-list {
    display: grid;
    gap: 10px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.ins-attention-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
    color: #435067;
    font-size: 12px;
    font-weight: 700;
}

.ins-attention-list strong {
    color: var(--ins-heading);
    font-size: 16px;
}

.insights-content :where(.ins-kpi-grid, .report-kpi-strip) {
    gap: 14px;
    margin-bottom: 22px;
}

.insights-content :where(.ins-kpi-card, .report-kpi) {
    position: relative;
    min-height: 132px;
    padding: 20px;
    overflow: hidden;
    border: 1px solid var(--ins-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--ins-shadow-sm);
}

.insights-content :where(.ins-kpi-card, .report-kpi)::after {
    position: absolute;
    right: 16px;
    top: 18px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--ins-module-accent);
    box-shadow: 0 0 0 6px var(--ins-module-soft);
    content: "";
}

.insights-content .ins-kpi-card:nth-child(even) {
    background: color-mix(in srgb, var(--ins-module-soft) 36%, #fff);
}

.insights-content .ins-kpi-success {
    border-top-color: var(--ins-success);
}

.insights-content .ins-kpi-warning {
    border-top-color: var(--ins-warning);
}

.insights-content .ins-kpi-danger {
    border-top-color: var(--ins-danger);
}

.insights-content .ins-kpi-info {
    border-top-color: var(--ins-info);
}

.insights-content .ins-kpi-label {
    max-width: calc(100% - 30px);
    color: #657087;
    font-size: 11px;
    letter-spacing: .07em;
}

.insights-content .ins-kpi-value {
    margin-top: 18px;
    font-size: clamp(1.8rem, 2.6vw, 2.35rem);
}

.insights-content :where(.ins-module-nav, .email-tabs, .booking-module-tabs) {
    position: relative;
    gap: 5px;
    margin-bottom: 22px;
    padding: 6px;
    border: 1px solid var(--ins-border);
    border-radius: 15px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 7px 22px rgba(28, 40, 65, .05);
}

.insights-content :where(.ins-module-nav, .email-tabs, .booking-module-tabs) a {
    position: relative;
    min-height: 40px;
    padding: 10px 15px;
    border-radius: 10px;
}

.insights-content :where(.ins-module-nav, .email-tabs, .booking-module-tabs) a.active {
    background: var(--ins-module-soft) !important;
    color: var(--ins-module-accent) !important;
    box-shadow: none;
}

.insights-content :where(.ins-module-nav, .email-tabs, .booking-module-tabs) a.active::after {
    position: absolute;
    right: 14px;
    bottom: 4px;
    left: 14px;
    height: 2px;
    border-radius: 999px;
    background: var(--ins-module-accent);
    content: "";
}

.ins-filter-workspace {
    padding: 20px;
    border: 1px solid var(--ins-border);
    border-radius: var(--ins-radius-xl);
    background: #fff;
    box-shadow: var(--ins-shadow-sm);
}

.ins-filter-workspace__intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.ins-filter-workspace__intro h2 {
    margin: 0;
}

.ins-filter-workspace__intro p {
    margin: 4px 0 0;
    color: var(--ins-muted);
    font-size: 12px;
}

.ins-filter-workspace :where(.filter-bar, .ins-filter-bar, .booking-toolbar, .filter-row) {
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.insights-content .ins-table-wrap {
    border-color: var(--ins-border);
    border-radius: 14px;
}

.insights-content :where(.ins-data-table, .report-table, .booking-table) thead th {
    height: 46px;
    background: #f7f8fb;
    color: #69758a;
    font-size: 10px;
    letter-spacing: .075em;
}

.insights-content :where(.ins-data-table, .report-table, .booking-table) tbody td {
    padding-block: 15px;
}

.insights-content :where(.ins-data-table, .report-table, .booking-table) tbody tr:hover {
    background: color-mix(in srgb, var(--ins-module-soft) 48%, #fff);
}

.ins-table-meta {
    color: var(--ins-muted);
    font-size: 11px;
}

.ins-dashboard-primary {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr);
    gap: 20px;
}

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

.ins-launch-card {
    position: relative;
    display: grid;
    gap: 8px;
    min-height: 132px;
    padding: 20px 48px 20px 20px;
    border: 1px solid var(--ins-border);
    border-radius: 17px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform var(--ins-transition-fast), border-color var(--ins-transition-fast), box-shadow var(--ins-transition-fast);
}

.ins-launch-card::after {
    position: absolute;
    right: 18px;
    top: 18px;
    color: var(--ins-module-accent);
    content: "↗";
    font-size: 16px;
    font-weight: 800;
}

.ins-launch-card:hover {
    border-color: color-mix(in srgb, var(--ins-module-accent) 40%, var(--ins-border));
    box-shadow: var(--ins-shadow);
    transform: translateY(-2px);
}

.ins-launch-card__icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: var(--ins-module-soft);
    color: var(--ins-module-accent);
    font-weight: 800;
}

.ins-launch-card strong {
    color: var(--ins-heading);
    font-size: 15px;
}

.ins-launch-card span:last-child {
    color: var(--ins-muted);
    font-size: 12px;
    line-height: 1.5;
}

.ins-system-readiness {
    display: grid;
    gap: 12px;
}

.ins-system-readiness > div {
    padding: 14px 15px;
    border: 1px solid var(--ins-border);
    border-radius: 13px;
    background: var(--ins-surface-alt);
}

.ins-system-readiness span,
.ins-system-readiness strong {
    display: block;
}

.ins-system-readiness span {
    color: var(--ins-muted);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ins-system-readiness strong {
    margin-top: 4px;
    color: var(--ins-heading);
}

.ins-form-panel {
    padding: 24px;
}

.ins-form-panel__section + .ins-form-panel__section {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--ins-border);
}

.ins-form-panel__section > header {
    margin-bottom: 18px;
}

.ins-form-panel__section > header h2 {
    margin: 0;
}

.ins-form-panel__section > header p {
    margin: 5px 0 0;
    color: var(--ins-muted);
}

.ins-admin-create {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 22px;
}

.ins-admin-guidance {
    padding: 20px;
    border-radius: 16px;
    background: var(--ins-module-soft);
}

.ins-admin-guidance h3 {
    margin: 0;
}

.ins-admin-guidance > strong {
    color: var(--ins-heading);
    font-size: 14px;
}

.ins-admin-guidance p {
    margin: 8px 0 0;
    color: var(--ins-muted);
    font-size: 12px;
    line-height: 1.55;
}

.ins-admin-guidance ul {
    margin: 14px 0 0;
    padding-left: 18px;
    color: var(--ins-muted);
}

@media (max-width: 1180px) {
    .ins-module-hero,
    .ins-module-hero--compact,
    .ins-dashboard-primary,
    .ins-layout-grid--sidebar,
    .ins-admin-create {
        grid-template-columns: 1fr;
    }

    .ins-command-centre-card {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr);
    }

    .ins-module-hero__highlights {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .insights-app > .insights-sidebar {
        width: 286px;
        box-shadow: 18px 0 48px rgba(20, 31, 52, .18);
    }

    .insights-app > .insights-main {
        margin-left: 0;
    }
}

@media (max-width: 760px) {
    .insights-main > .insights-topbar {
        min-height: 66px;
        padding: 9px 13px;
    }

    .insights-context-icon,
    .insights-context-separator,
    .insights-module-label,
    .insights-workspace-state {
        display: none;
    }

    .insights-page-identity {
        display: block;
    }

    .insights-topbar-left .insights-page-identity > strong {
        display: block;
        max-width: 190px;
        overflow: hidden;
        font-size: 14px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .insights-main > .insights-content {
        padding: 18px 12px 30px;
    }

    .ins-module-hero,
    .ins-module-hero--compact {
        min-height: 0;
        padding: 21px;
        border-radius: 20px;
    }

    .ins-module-hero__main {
        gap: 13px;
    }

    .ins-module-hero__icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        border-radius: 12px;
        font-size: 16px;
    }

    .insights-content .ins-module-hero h1,
    .insights-content .ins-module-hero--compact h1 {
        font-size: 1.55rem !important;
    }

    .ins-module-hero__copy > p {
        font-size: 13px;
    }

    .ins-module-hero__highlights {
        grid-template-columns: 1fr;
    }

    .ins-layout-grid,
    .ins-layout-grid--three,
    .ins-launch-grid {
        grid-template-columns: 1fr;
    }

    .ins-command-centre-card {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .ins-command-centre-card__primary,
    .ins-command-centre-card__side {
        padding: 18px;
    }

    .ins-command-centre-card__side {
        border-top: 1px solid var(--ins-border);
        border-left: 0;
    }

    .ins-dashboard-signals--three,
    .ins-acquisition-scoreboard {
        grid-template-columns: 1fr;
    }

    .ins-dashboard-attention-list__head {
        display: none;
    }

    .ins-dashboard-attention-list__row {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .ins-dashboard-attention-list__row > span:nth-child(2)::before {
        color: var(--ins-muted);
        content: "Journey: ";
        font-size: 10px;
        font-weight: 750;
        text-transform: uppercase;
    }

    .ins-workspace-panel__header,
    .ins-filter-workspace__intro {
        align-items: stretch;
        flex-direction: column;
    }

    .ins-workspace-panel__header,
    .ins-workspace-panel__body,
    .ins-filter-workspace,
    .ins-form-panel {
        padding: 18px;
    }

    .ins-workspace-panel__body {
        padding-top: 0;
    }

    .insights-content :where(.ins-kpi-card, .report-kpi) {
        min-height: 112px;
    }
}
/* Shared data-table system: listing pages should use these classes instead of
   inventing per-module table geometry. */
.insight-table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.insight-table, .insight-table.data-table, .insight-table.report-table { width:100%; border-collapse:collapse; table-layout:auto; }
.insight-table th { padding:11px 12px; text-align:left; white-space:nowrap; }
.insight-table td { padding:12px; vertical-align:top; overflow-wrap:anywhere; }
.insight-table th:first-child, .insight-table__serial { width:56px; min-width:56px; max-width:56px; text-align:center !important; white-space:nowrap; }
.insight-table__number { text-align:right !important; white-space:nowrap; }
.insight-table__date { min-width:150px; white-space:nowrap; }
.insight-table__status { min-width:110px; white-space:nowrap; }
.insight-table__actions { width:1%; min-width:110px; text-align:right !important; white-space:nowrap; }
.insight-table__primary { display:block; font-weight:750; }
.insight-table__secondary { display:block; margin-top:3px; color:var(--ins-muted,#667085); font-size:.86em; line-height:1.4; }
.insight-table-empty { padding:28px 18px; color:var(--ins-muted,#667085); text-align:center; }
.insight-table-pagination { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:16px; }
.insight-table-pagination__summary { margin-right:auto; color:var(--ins-muted,#667085); font-size:12px; }
.insight-table-pagination__size label { display:inline-flex; align-items:center; gap:6px; color:var(--ins-muted,#667085); font-size:12px; }
.insight-table-pagination__size select { min-height:34px; padding:5px 8px; border:1px solid var(--ins-border,#d0d5dd); border-radius:7px; background:#fff; }
.insight-table-pagination .btn[aria-disabled=true] { opacity:.45; pointer-events:none; }
@media (max-width:720px) {
    .insight-table-pagination__summary { width:100%; margin-right:0; }
    .insight-table th, .insight-table td { padding:9px 8px; }
}
