:root {
    --ink: #07142a;
    --muted: #617087;
    --line: #dce4ee;
    --paper: #ffffff;
    --soft: #f4f7fa;
    --teal: #007f78;
    --teal-dark: #00635e;
    --gold: #e19724;
    --navy: #0e2a43;
    --danger: #a03a2a;
    --shadow: 0 18px 45px rgba(10, 30, 55, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, Arial, Helvetica, sans-serif; color: var(--ink); background: var(--paper); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.navigation { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 7px; color: white; background: var(--teal); font-weight: 900; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 18px; }
.brand small { color: var(--muted); font-size: 12px; }
.main-menu { display: flex; align-items: center; gap: 25px; color: #314258; font-size: 14px; font-weight: 700; }
.main-menu a:hover { color: var(--teal); }
.menu-signout-form { margin: 0; }
.menu-signout-form button { padding: 0; border: 0; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.menu-signout-form button:hover { color: var(--teal); }

.hero { position: relative; min-height: 680px; display: flex; align-items: flex-end; overflow: hidden; color: white; }
.hero-image { position: absolute; inset: 0; background: url("https://images.unsplash.com/photo-1611974789855-9c2a0a7236a3?auto=format&fit=crop&w=2000&q=85") center/cover no-repeat; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,18,37,.96) 0%, rgba(5,18,37,.84) 46%, rgba(5,18,37,.32) 100%); }
.hero-content { position: relative; padding: 88px 0 54px; }
.eyebrow { margin: 0 0 13px; color: var(--gold); font-size: 13px; font-weight: 900; letter-spacing: 1.6px; text-transform: uppercase; }
.hero h1 { width: min(770px, 100%); margin: 0; font-size: clamp(46px, 7vw, 78px); line-height: 1.02; letter-spacing: 0; }
.hero-copy { width: min(660px, 100%); margin: 25px 0 32px; color: #e4ebf3; font-size: 20px; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.primary-button, .secondary-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; border-radius: 6px; padding: 0 20px; border: 0; cursor: pointer; font-weight: 800; }
.primary-button { color: white; background: var(--teal); }
.primary-button:hover { background: var(--teal-dark); }
.secondary-button { color: var(--ink); background: white; border: 1px solid var(--line); }
.text-link { color: white; font-weight: 800; }
.hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(780px, 100%); margin-top: 66px; border-top: 1px solid rgba(255,255,255,.24); }
.hero-stats div { padding: 22px 24px 0 0; }
.hero-stats strong, .hero-stats span { display: block; }
.hero-stats strong { font-size: 20px; }
.hero-stats span { color: #bfcbd8; font-size: 13px; }

.section { padding: 92px 0; }
.section-heading { max-width: 760px; margin-bottom: 42px; }
.section-heading h2, .video-layout h2, .trial-copy h2, .support-layout h2 { margin: 0 0 16px; font-size: clamp(34px, 5vw, 52px); line-height: 1.08; }
.section-heading > p:last-child, .video-layout > div > p:last-child, .trial-copy > p, .support-layout > p { color: var(--muted); font-size: 18px; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.feature-grid article { min-height: 260px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feature-number { color: var(--teal); font-weight: 900; }
.feature-grid h3 { margin: 46px 0 10px; font-size: 22px; }
.feature-grid p { color: var(--muted); margin: 0; }

.video-section { background: var(--navy); color: white; }
.video-layout { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 58px; }
.video-layout > div > p:last-child { color: #c8d5e2; }
.video-frame { min-height: 420px; background: #06111e; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; overflow: hidden; }
.video-frame iframe { width: 100%; height: 100%; min-height: 420px; border: 0; }
.video-placeholder { min-height: 420px; display: grid; place-content: center; text-align: center; background: linear-gradient(135deg, #071522, #12344e); }
.video-placeholder strong, .video-placeholder small { display: block; }
.video-placeholder strong { margin-top: 18px; font-size: 24px; }
.video-placeholder small { margin-top: 4px; color: #9fb0c2; }
.play-symbol { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto; padding-left: 4px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: white; }

.trial-section { background: var(--soft); }
.trial-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 66px; align-items: start; }
.trial-copy ul { padding-left: 20px; color: #33465f; }
.trial-form, .auth-panel { padding: 32px; background: white; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
label { display: block; color: #314258; font-weight: 800; font-size: 14px; }
input, textarea { width: 100%; margin-top: 7px; padding: 12px 13px; border: 1px solid #cdd7e2; border-radius: 5px; color: var(--ink); background: white; }
input { min-height: 47px; }
textarea { min-height: 120px; resize: vertical; }
.form-submit { width: 100%; margin-top: 20px; }
.trial-form > small { display: block; margin-top: 12px; color: var(--muted); }
.success-message, .error-message { margin-bottom: 18px; padding: 13px 15px; border-radius: 5px; font-weight: 700; }
.success-message { color: #075e55; background: #e7f7f4; border: 1px solid #bce7df; }
.error-message { color: var(--danger); background: #fff1ee; border: 1px solid #f0c8bf; }

.support-section { padding: 68px 0; }
.support-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; }
.site-footer { padding: 54px 0 24px; color: #d7e0e9; background: #07192b; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 38px; }
.footer-brand strong { color: white; }
.footer-intro p { color: #9fb0c2; }
.site-footer h3 { margin: 8px 0 15px; color: white; font-size: 15px; }
.site-footer div > a:not(.brand) { display: block; margin: 9px 0; color: #aebdca; font-size: 14px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 42px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #8498aa; font-size: 12px; }

.auth-section { min-height: 70vh; display: grid; place-items: center; padding: 70px 20px; background: var(--soft); }
.auth-panel { width: min(440px, 100%); }
.auth-panel h1 { margin: 10px 0 8px; font-size: 36px; }
.auth-panel > p:not(.eyebrow) { color: var(--muted); }
.auth-panel label { margin-top: 17px; }

.admin-body { min-height: 100vh; display: grid; grid-template-columns: 256px minmax(0, 1fr); background: var(--soft); }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; width: 256px; display: flex; flex-direction: column; padding: 24px 18px; background: #081b2e; color: white; }
.admin-brand { padding: 0 8px 22px; border-bottom: 1px solid rgba(255,255,255,.12); }
.admin-brand strong { color: white; }
.admin-brand small { color: #9eb0c0; }
.admin-nav { display: grid; gap: 3px; margin-top: 22px; }
.admin-nav a { padding: 10px 12px; border-radius: 5px; color: #c5d1dc; font-size: 14px; }
.admin-nav a:hover { color: white; background: rgba(255,255,255,.08); }
.admin-sidebar form { margin-top: auto; }
.sidebar-logout { width: 100%; min-height: 42px; border: 1px solid rgba(255,255,255,.18); border-radius: 5px; color: white; background: transparent; cursor: pointer; }
.admin-workspace { grid-column: 2; min-width: 0; }
.admin-topbar { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 34px; background: white; border-bottom: 1px solid var(--line); }
.admin-topbar strong, .admin-topbar span { display: block; }
.admin-topbar span { color: var(--muted); font-size: 12px; }
.admin-main { padding: 38px; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.page-heading h1 { margin: 0 0 6px; font-size: 42px; line-height: 1.1; }
.page-heading p:last-child { margin: 0; color: var(--muted); }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.summary-grid > div { padding: 22px; border: 1px solid var(--line); background: white; }
.summary-grid span, .summary-grid strong, .summary-grid small { display: block; }
.summary-grid span { color: var(--muted); font-size: 13px; font-weight: 800; }
.summary-grid strong { margin: 13px 0 4px; font-size: 34px; }
.summary-grid small { color: var(--muted); }
.admin-section { margin-top: 30px; padding: 25px; border: 1px solid var(--line); background: white; }
.section-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 20px; }
.section-row h2 { margin: 0; font-size: 23px; }
.section-row p { margin: 4px 0 0; color: var(--muted); }
.module-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.module-card { min-height: 180px; padding: 20px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.module-card:hover { border-color: #9fb9c8; box-shadow: var(--shadow); }
.module-card span { color: var(--teal); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.module-card h3 { margin: 25px 0 7px; font-size: 20px; }
.module-card p { min-height: 48px; margin: 0 0 17px; color: var(--muted); font-size: 14px; }
.module-card strong { font-size: 13px; }
.featured-module { color: white; background: var(--navy); border-color: var(--navy); }
.featured-module p { color: #c5d2df; }
.featured-module span { color: #efb34f; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); }
table { width: 100%; border-collapse: collapse; background: white; }
th, td { padding: 13px 15px; text-align: left; border-bottom: 1px solid var(--line); font-size: 13px; }
th { color: var(--muted); background: #f7f9fb; font-weight: 900; }
.status-pill { display: inline-flex; padding: 4px 8px; border-radius: 4px; color: #075e55; background: #e6f6f3; font-size: 11px; font-weight: 900; }
.empty-table { padding: 32px; color: var(--muted); text-align: center; }
.content-editor { display: grid; gap: 18px; }
.editor-panel { padding: 25px; border: 1px solid var(--line); background: white; }
.editor-panel h2 { margin: 0 0 18px; font-size: 22px; }
.wide-field { grid-column: 1 / -1; }
.editor-actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 12px; padding: 15px; background: rgba(244,247,250,.96); border-top: 1px solid var(--line); }
.admin-message { margin-bottom: 20px; }
.module-workspace { min-height: 480px; padding: 30px; border: 1px solid var(--line); background: white; }
.workspace-banner { max-width: 760px; }
.workspace-banner h2 { margin: 18px 0 8px; font-size: 31px; }
.workspace-banner p { color: var(--muted); }
.module-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 30px; }
.module-detail-grid article { padding: 20px; border: 1px solid var(--line); }
.module-detail-grid h3 { margin: 0 0 7px; }
.module-detail-grid p { margin: 0; color: var(--muted); }

@media (max-width: 1050px) {
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(3, 1fr); }
    .summary-grid { grid-template-columns: repeat(2, 1fr); }
    .module-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
    .navigation { align-items: flex-start; flex-direction: column; padding: 15px 0; }
    .main-menu { gap: 15px; flex-wrap: wrap; }
    .hero { min-height: 720px; }
    .hero-shade { background: rgba(5,18,37,.84); }
    .video-layout, .trial-layout, .support-layout { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .admin-body { display: block; }
    .admin-sidebar { position: static; width: auto; }
    .admin-nav { grid-template-columns: repeat(2, 1fr); }
    .admin-workspace { width: 100%; }
    .admin-main { padding: 24px; }
}

@media (max-width: 560px) {
    .shell { width: min(100% - 28px, 1180px); }
    .hero h1 { font-size: 43px; }
    .hero-stats, .feature-grid, .field-grid, .footer-grid, .summary-grid, .module-grid, .module-detail-grid { grid-template-columns: 1fr; }
    .page-heading, .section-row, .footer-bottom { align-items: flex-start; flex-direction: column; }
    .admin-nav { grid-template-columns: 1fr; }
    .admin-main { padding: 18px; }
    .admin-topbar { padding: 14px 18px; }
}

.payment-status-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }
.payment-status-grid > div, .payment-status-grid > a { min-height:108px; display:grid; grid-template-columns:14px 1fr; align-content:center; column-gap:10px; padding:20px; border:1px solid var(--line); background:white; }
.payment-status-grid > a { display:flex; flex-direction:column; justify-content:center; }
.payment-status-grid strong { font-size:22px; }
.payment-status-grid small, .payment-status-grid span { color:var(--muted); }
.ready-dot, .warning-dot { width:10px; height:10px; margin-top:8px; border-radius:50%; }
.ready-dot { background:var(--teal); }
.warning-dot { background:var(--gold); }
.payment-action-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.payment-action-grid > a { min-height:210px; padding:22px; border:1px solid var(--line); background:white; }
.payment-action-grid h2 { margin:28px 0 8px; font-size:21px; }
.payment-action-grid p { min-height:64px; color:var(--muted); font-size:14px; }
.payment-action-grid > a > strong, .table-link { color:var(--teal); }
.payment-settings-form { display:grid; gap:18px; }
.provider-heading { display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:15px; margin-bottom:23px; }
.provider-heading h2, .provider-heading p { margin:0; }
.provider-heading p { color:var(--muted); }
.provider-mark { width:48px; height:48px; display:grid; place-items:center; border-radius:7px; color:white; font-weight:900; font-size:22px; }
.stripe-mark { background:#635bff; }
.paypal-mark { background:#0070ba; }
.toggle-label { display:flex; align-items:center; gap:8px; }
.toggle-label input { width:17px; min-height:17px; margin:0; }
.webhook-note { margin:18px 0 0; padding:12px; color:var(--muted); background:var(--soft); font-size:13px; }
.webhook-note code { color:var(--ink); word-break:break-all; }
.payment-split { display:grid; grid-template-columns:.9fr 1.1fr; gap:18px; }
.payment-split label { margin-top:14px; }
.checkbox-row { display:flex; gap:20px; flex-wrap:wrap; }
.checkbox-label { display:flex; align-items:flex-start; gap:8px; }
.checkbox-label input { width:17px; min-height:17px; margin:2px 0 0; }
.plan-list { display:grid; gap:12px; }
.plan-list article { padding:17px; border:1px solid var(--line); }
.plan-list article > div { display:flex; justify-content:space-between; }
.plan-list h3 { margin:14px 0 5px; }
.plan-list p { color:var(--muted); }
.payment-request-form { margin-bottom:22px; }
.table-subtext { display:block; color:var(--muted); }
.pagination-wrap { margin-top:18px; }
.payment-checkout-page { min-height:72vh; display:grid; place-items:center; padding:65px 20px; background:var(--soft); }
.payment-checkout-panel { width:min(600px,100%); padding:34px; border:1px solid var(--line); border-radius:8px; background:white; box-shadow:var(--shadow); }
.payment-checkout-panel > .eyebrow { margin-top:28px; }
.payment-checkout-panel h1 { margin:0 0 8px; font-size:38px; }
.payment-checkout-panel > p:not(.eyebrow) { color:var(--muted); }
.checkout-amount { display:flex; align-items:end; justify-content:space-between; gap:15px; margin:26px 0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.checkout-amount strong { font-size:31px; }
.checkout-amount span { color:var(--muted); }
.provider-buttons { display:grid; gap:12px; }
.payment-provider-button { width:100%; min-height:52px; display:flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:6px; color:white; cursor:pointer; font-weight:900; }
.payment-provider-button span { width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.5); border-radius:50%; }
.stripe-button { background:#635bff; }
.paypal-button { background:#0070ba; }
.payment-unavailable { padding:15px; color:#785b19; background:#fff7df; border:1px solid #eed38b; }
.checkout-security { margin-top:20px; color:var(--muted); font-size:12px; text-align:center; }
.customer-payments-panel { margin-bottom:16px; min-height:0; }
.customer-payment-list { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.customer-payment-list article { display:flex; flex-direction:column; padding:20px; border:1px solid var(--line); background:#fbfcfd; }
.customer-payment-list article > div { display:flex; justify-content:space-between; }
.customer-payment-list h3 { margin:16px 0 6px; }
.customer-payment-list p { color:var(--muted); }
.customer-payment-list article > strong { margin:auto 0 16px; font-size:22px; }

@media (max-width:1050px) {
    .payment-status-grid, .payment-action-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px) {
    .payment-split, .customer-payment-list { grid-template-columns:1fr; }
}
@media (max-width:560px) {
    .payment-status-grid, .payment-action-grid { grid-template-columns:1fr; }
    .provider-heading { grid-template-columns:48px 1fr; }
    .provider-heading .toggle-label { grid-column:1/-1; }
    .checkout-amount { align-items:flex-start; flex-direction:column; }
}

.public-chat-widget { position:fixed; right:22px; bottom:22px; z-index:1200; font-family:Inter,Arial,Helvetica,sans-serif; }
.public-chat-launcher { height:52px; display:flex; align-items:center; justify-content:center; gap:10px; padding:0 18px; border:0; border-radius:7px; color:#fff; background:#007f78; box-shadow:0 12px 30px rgba(7,25,43,.26); cursor:pointer; font-weight:900; }
.public-chat-launcher:hover { background:#00635e; }
.public-chat-bubble { position:relative; width:25px; height:20px; display:flex; align-items:center; justify-content:center; gap:3px; border:2px solid #fff; border-radius:5px; }
.public-chat-bubble::after { content:""; position:absolute; left:3px; bottom:-6px; width:7px; height:6px; border-left:2px solid #fff; transform:skewY(-35deg); }
.public-chat-bubble i { width:3px; height:3px; border-radius:50%; background:#fff; }
.public-chat-window { position:absolute; right:0; bottom:64px; width:360px; max-width:calc(100vw - 28px); overflow:hidden; visibility:hidden; opacity:0; transform:translateY(12px); border:1px solid #ccd8e3; border-radius:8px; background:#fff; box-shadow:0 22px 55px rgba(7,25,43,.3); transition:opacity .16s ease,transform .16s ease,visibility .16s; }
.public-chat-widget.is-open .public-chat-window { visibility:visible; opacity:1; transform:translateY(0); }
.public-chat-header { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; color:#fff; background:#0e2a43; }
.public-chat-header > div { display:flex; align-items:center; gap:10px; }
.public-chat-header strong,.public-chat-header small { display:block; }
.public-chat-header small { color:#bfd0df; font-size:12px; }
.public-chat-header button { width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:4px; color:#fff; background:transparent; cursor:pointer; font-size:27px; line-height:1; }
.public-chat-header button:hover { background:rgba(255,255,255,.1); }
.public-chat-presence { width:11px; height:11px; border-radius:50%; }
.public-chat-presence.is-online { background:#36d49e; box-shadow:0 0 0 4px rgba(54,212,158,.16); }
.public-chat-presence.is-offline { background:#9fb0bf; }
.public-chat-content { max-height:min(570px,calc(100vh - 115px)); overflow-y:auto; padding:16px; color:#07142a; }
.public-chat-content p { margin:0 0 13px; color:#52677d; font-size:14px; line-height:1.45; }
.public-chat-content label { display:block; margin-top:10px; color:#314258; font-size:12px; font-weight:800; }
.public-chat-content label span { color:#7b8a9a; font-weight:500; }
.public-chat-content input,.public-chat-content textarea { width:100%; margin-top:5px; padding:10px 11px; border:1px solid #cdd7e2; border-radius:5px; color:#07142a; background:#fff; font:inherit; }
.public-chat-content input { min-height:42px; }
.public-chat-content textarea { min-height:92px; resize:vertical; }
.public-chat-content input:focus,.public-chat-content textarea:focus { outline:2px solid rgba(0,127,120,.18); border-color:#007f78; }
.public-chat-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.public-chat-send { width:100%; min-height:44px; margin-top:13px; border:0; border-radius:5px; color:#fff; background:#007f78; cursor:pointer; font-weight:900; }
.public-chat-send:hover { background:#00635e; }
.public-chat-send:disabled { opacity:.55; cursor:wait; }
.public-chat-error { margin-top:10px; padding:9px 10px; border:1px solid #efc4bd; border-radius:4px; color:#992f22; background:#fff1ee; font-size:12px; }
.public-chat-reference { margin-bottom:10px; color:#65788b; font-size:11px; }
.public-chat-messages { height:285px; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid #dce4ee; border-radius:5px; background:#edf2f6; }
.public-chat-message { max-width:85%; padding:9px 10px; border-radius:6px; background:#fff; box-shadow:0 2px 6px rgba(7,25,43,.05); }
.public-chat-message-customer { align-self:flex-end; background:#dff3f0; }
.public-chat-message-agent { align-self:flex-start; }
.public-chat-message strong { display:block; margin-bottom:3px; font-size:11px; }
.public-chat-message p { margin:0; color:#21364b; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; }
.public-chat-new { width:100%; margin-top:11px; padding:7px; border:0; color:#007f78; background:transparent; cursor:pointer; font-weight:800; font-size:12px; }

@media (max-width:560px) {
    .public-chat-widget { right:12px; bottom:12px; }
    .public-chat-launcher { width:52px; padding:0; }
    .public-chat-launcher > span:last-child { display:none; }
    .public-chat-window { position:fixed; inset:12px 12px 76px; width:auto; max-width:none; }
    .public-chat-content { max-height:calc(100vh - 157px); }
    .public-chat-messages { height:calc(100vh - 385px); min-height:190px; }
}

.hub-account-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.hub-account-actions form { margin:0; }
.customer-hub-summary > a { padding:22px; border:1px solid var(--line); background:white; }
.customer-hub-summary > a span, .customer-hub-summary > a strong, .customer-hub-summary > a small { display:block; }
.customer-hub-summary > a span { color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; }
.customer-hub-summary > a strong { margin:11px 0 3px; font-size:25px; }
.customer-hub-summary > a small { color:var(--muted); }
.customer-hub-summary > a:hover { border-color:#92b6b2; box-shadow:var(--shadow); }
.customer-billing-page { min-height:72vh; padding:58px 0 80px; background:var(--soft); }
.billing-security-banner { margin:24px 0 18px; padding:18px 20px; border-left:5px solid var(--teal); background:white; }
.billing-security-banner strong { display:block; margin-bottom:4px; }
.billing-security-banner p { margin:0; color:var(--muted); }
.billing-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; }
.billing-profile-panel, .payment-method-panel { min-height:100%; }
.billing-provider-card { padding:18px; border:1px solid var(--line); background:#fbfcfd; }
.billing-provider-card + .billing-provider-card { margin-top:14px; }
.billing-provider-heading { display:flex; align-items:center; gap:13px; }
.billing-provider-heading h3, .billing-provider-heading p { margin:0; }
.billing-provider-heading p { color:var(--muted); font-size:13px; }
.billing-provider-card > p { color:var(--muted); }
.billing-provider-actions { display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; }
.billing-provider-actions form { margin:0; }
.saved-card-list { display:grid; gap:8px; margin:15px 0; }
.saved-card-list > div { display:flex; justify-content:space-between; gap:15px; padding:12px; border:1px solid var(--line); background:white; }
.saved-card-list span { color:var(--muted); }
.billing-requests-panel, .billing-history-panel { margin-top:16px; min-height:0; }
.billing-request-list { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.billing-request-list article { display:flex; flex-direction:column; min-height:250px; padding:19px; border:1px solid var(--line); background:#fbfcfd; }
.billing-request-list article > div { display:flex; justify-content:space-between; }
.billing-request-list h3 { margin:16px 0 6px; }
.billing-request-list p { color:var(--muted); }
.billing-request-list article > strong { margin:auto 0 15px; font-size:21px; }

@media (max-width:950px) {
    .billing-layout { grid-template-columns:1fr; }
    .billing-request-list { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px) {
    .billing-request-list { grid-template-columns:1fr; }
    .hub-account-actions, .billing-provider-actions { align-items:stretch; flex-direction:column; width:100%; }
    .saved-card-list > div { align-items:flex-start; flex-direction:column; }
}

.support-heading-actions { display:flex; gap:10px; }
.support-count-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:16px; }
.support-count-grid a { padding:20px; border:1px solid var(--line); background:white; }
.support-count-grid span, .support-count-grid strong { display:block; }
.support-count-grid span { color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; }
.support-count-grid strong { margin-top:7px; font-size:30px; }
.support-agent-strip { display:flex; align-items:center; gap:10px; margin-bottom:16px; padding:13px 16px; border:1px solid var(--line); background:white; flex-wrap:wrap; }
.support-agent-strip > div { margin-right:auto; }
.support-agent-strip > div strong, .support-agent-strip > div span { display:block; }
.support-agent-strip > div span { color:var(--muted); font-size:12px; }
.support-agent-strip > a { color:var(--teal); font-weight:900; }
.agent-chip { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border-radius:4px; background:var(--soft); font-size:12px; font-weight:800; }
.agent-online, .agent-offline { width:9px; height:9px; display:inline-block; flex:0 0 auto; border-radius:50%; }
.agent-online { background:#17a673; box-shadow:0 0 0 3px rgba(23,166,115,.14); }
.agent-offline { background:#a7b2bf; }
.support-filters { display:grid; grid-template-columns:minmax(260px,1fr) 145px 160px 145px auto auto; align-items:end; gap:10px; margin-bottom:16px; padding:17px; border:1px solid var(--line); background:white; }
.support-inbox { border:1px solid var(--line); background:white; }
.support-inbox-row { display:grid; grid-template-columns:46px minmax(0,1fr) 180px; gap:15px; padding:17px; border-bottom:1px solid var(--line); }
.support-inbox-row:hover { background:#f8fafc; }
.support-inbox-row.is-unread { border-left:4px solid var(--teal); background:#f6fbfa; }
.support-channel-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:6px; color:white; font-weight:900; }
.support-channel-chat { background:var(--teal); }
.support-channel-ticket { background:var(--navy); }
.support-inbox-main > div { display:flex; align-items:center; gap:8px; }
.support-inbox-main > span { color:var(--muted); font-size:12px; }
.support-inbox-main p { margin:6px 0 0; color:#485d73; }
.unread-dot { width:8px; height:8px; display:inline-block; border-radius:50%; background:var(--teal); }
.support-inbox-meta { display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:7px; text-align:right; }
.support-inbox-meta small { color:var(--muted); }
.support-priority { display:inline-flex; justify-content:center; padding:3px 7px; border-radius:4px; font-size:10px; font-weight:900; text-transform:uppercase; }
.support-priority-low { color:#31536e; background:#eaf1f6; }
.support-priority-normal { color:#075e55; background:#e6f6f3; }
.support-priority-high { color:#805c11; background:#fff4d5; }
.support-priority-urgent { color:#982f23; background:#fff0ed; }
.support-conversation-header, .customer-support-conversation-header { display:flex; justify-content:space-between; align-items:flex-start; gap:22px; margin-bottom:20px; }
.support-conversation-header h1, .customer-support-conversation-header h1 { margin:0 0 5px; font-size:38px; }
.support-conversation-header > div > p:last-child, .customer-support-conversation-header > div > p:last-child { color:var(--muted); }
.back-link { display:inline-block; margin-bottom:17px; color:var(--teal); font-weight:800; }
.support-conversation-badges { display:flex; gap:8px; }
.support-workspace { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:16px; }
.support-thread-panel, .support-sidebar-panel { min-width:0; }
.support-thread { height:520px; overflow-y:auto; display:flex; flex-direction:column; gap:12px; padding:20px; border:1px solid var(--line); background:#edf2f6; }
.support-message { max-width:78%; padding:13px 15px; border-radius:7px; background:white; box-shadow:0 3px 10px rgba(10,30,55,.05); }
.support-message > div { display:flex; justify-content:space-between; gap:18px; margin-bottom:5px; }
.support-message span { color:var(--muted); font-size:11px; }
.support-message p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.support-message-customer { align-self:flex-end; background:#dff3f0; }
.support-message-agent { align-self:flex-start; }
.support-message-internal { align-self:center; max-width:90%; border:1px solid #e7c76d; background:#fff8df; }
.support-reply-form { padding:16px; border:1px solid var(--line); border-top:0; background:white; }
.support-reply-form textarea { min-height:100px; }
.support-reply-form > div { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.support-reply-form > div > span { color:var(--muted); font-size:12px; }
.support-sidebar-panel { display:grid; align-content:start; gap:14px; }
.support-sidebar-panel > form, .support-customer-card { padding:20px; border:1px solid var(--line); background:white; }
.support-sidebar-panel h2, .support-customer-card h2 { margin:0 0 15px; font-size:20px; }
.support-sidebar-panel label { margin-top:12px; }
.support-customer-card strong, .support-customer-card span { display:block; }
.support-customer-card span { color:var(--muted); margin-top:5px; }
.support-customer-card a { display:inline-block; margin-top:15px; color:var(--teal); font-weight:900; }
.support-closed-notice { padding:16px; color:#745d2c; background:#fff8e8; border:1px solid #e5c685; }
.support-settings-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:17px; }
.support-settings-grid label { margin-top:13px; }
.support-agent-list { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.support-agent-list article { position:relative; padding:19px; border:1px solid var(--line); background:#fbfcfd; }
.agent-list-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; }
.agent-list-heading > div { display:flex; align-items:center; gap:9px; }
.agent-list-heading span { color:var(--muted); font-size:12px; }
.agent-toggle-button { position:absolute; right:18px; bottom:18px; border:0; color:var(--teal); background:transparent; cursor:pointer; font-weight:900; }
.customer-support-page { min-height:72vh; padding:58px 0 80px; background:var(--soft); }
.support-availability-card { display:flex; justify-content:space-between; align-items:center; gap:25px; margin:25px 0 16px; padding:20px; border:1px solid var(--line); background:white; }
.support-availability-card > div:first-child { display:flex; align-items:flex-start; gap:14px; }
.support-availability-card strong { font-size:18px; }
.support-availability-card p { margin:3px 0 0; color:var(--muted); }
.availability-indicator { width:14px; height:14px; margin-top:6px; border-radius:50%; }
.availability-indicator.is-online { background:#17a673; box-shadow:0 0 0 5px rgba(23,166,115,.13); }
.availability-indicator.is-offline { background:#9daab6; }
.online-agent-list { display:flex; gap:10px; flex-wrap:wrap; }
.online-agent-list > span { display:grid; grid-template-columns:10px 1fr; align-items:center; gap:6px; padding:9px 11px; border-radius:5px; background:var(--soft); }
.online-agent-list small { grid-column:2; color:var(--muted); }
.support-start-grid { display:grid; grid-template-columns:1fr 1fr .85fr; gap:14px; }
.support-start-grid article { min-height:245px; padding:23px; border:1px solid var(--line); background:white; }
.support-start-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:6px; color:white; background:var(--teal); font-weight:900; }
.support-start-grid h2 { margin:28px 0 7px; font-size:22px; }
.support-start-grid p { color:var(--muted); }
.support-disabled { display:inline-block; padding:10px 14px; color:var(--muted); background:var(--soft); }
.support-expectations h2 { margin-top:0; }
.support-expectations dl { margin:0; }
.support-expectations dl div { padding:11px 0; border-bottom:1px solid var(--line); }
.support-expectations dt { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.support-expectations dd { margin:3px 0 0; }
.support-history-panel { margin-top:16px; min-height:0; }
.customer-support-list { display:grid; }
.customer-support-list > a { display:grid; grid-template-columns:46px minmax(0,1fr) 130px; gap:14px; padding:15px 0; border-bottom:1px solid var(--line); }
.customer-support-list > a.is-unread { padding-left:12px; border-left:4px solid var(--teal); background:#f6fbfa; }
.customer-support-list strong { display:flex; align-items:center; gap:7px; }
.customer-support-list small { color:var(--muted); }
.customer-support-list p { margin:4px 0 0; color:#485d73; }
.customer-support-list > a > div:last-child { display:grid; align-content:start; justify-items:end; gap:7px; }
.support-create-shell, .support-conversation-shell { max-width:1180px; }
.support-create-layout, .customer-conversation-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:16px; }
.support-create-layout > form label { margin-top:13px; }
.support-create-aside, .customer-conversation-aside { padding:22px; border:1px solid var(--line); background:white; }
.support-create-aside h2, .customer-conversation-aside h2 { margin:0 0 15px; font-size:20px; }
.support-create-aside h2:not(:first-child) { margin-top:28px; }
.support-create-aside > p, .support-create-aside > small { color:var(--muted); }
.support-agent-card { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--line); background:#fbfcfd; }
.support-agent-card + .support-agent-card { margin-top:8px; }
.support-agent-card strong, .support-agent-card span { display:block; }
.support-agent-card span { color:var(--muted); font-size:12px; }
.customer-support-conversation-header > div:last-child { display:flex; align-items:center; gap:10px; }
.assigned-agent { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border-radius:4px; background:white; border:1px solid var(--line); font-size:12px; font-weight:800; }
.customer-thread-panel { min-width:0; }
.customer-thread { height:500px; }
.customer-conversation-aside dl { margin-top:22px; }
.customer-conversation-aside dl div { padding:10px 0; border-bottom:1px solid var(--line); }
.customer-conversation-aside dt { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.customer-conversation-aside dd { margin:3px 0 0; overflow-wrap:anywhere; }

@media (max-width:1100px) {
    .support-filters { grid-template-columns:1fr 1fr 1fr; }
    .support-search { grid-column:1/-1; }
    .support-start-grid { grid-template-columns:1fr 1fr; }
    .support-expectations { grid-column:1/-1; }
}
@media (max-width:900px) {
    .support-count-grid { grid-template-columns:repeat(2,1fr); }
    .support-workspace, .support-settings-grid, .support-create-layout, .customer-conversation-layout { grid-template-columns:1fr; }
    .support-agent-list { grid-template-columns:1fr; }
    .support-thread, .customer-thread { height:440px; }
}
@media (max-width:680px) {
    .support-count-grid, .support-start-grid, .support-filters { grid-template-columns:1fr; }
    .support-search, .support-expectations { grid-column:auto; }
    .support-inbox-row, .customer-support-list > a { grid-template-columns:42px 1fr; }
    .support-inbox-meta, .customer-support-list > a > div:last-child { grid-column:2; justify-items:start; text-align:left; }
    .support-availability-card, .support-conversation-header, .customer-support-conversation-header { align-items:flex-start; flex-direction:column; }
    .support-message { max-width:92%; }
    .support-reply-form > div { align-items:stretch; flex-direction:column; }
}

.frontend-chat { position:fixed; right:22px; bottom:22px; z-index:1000; }
.frontend-chat-launcher { min-width:112px; height:52px; display:flex; align-items:center; justify-content:center; gap:9px; padding:0 17px; border:0; border-radius:7px; color:white; background:var(--teal); box-shadow:0 12px 30px rgba(7,25,43,.25); cursor:pointer; font-weight:900; }
.frontend-chat-launcher:hover { background:var(--teal-dark); }
.frontend-chat-launcher b { min-width:20px; height:20px; display:grid; place-items:center; border-radius:50%; color:#7b260f; background:#ffd2c7; font-size:11px; }
.frontend-chat-icon { width:24px; height:19px; display:flex; align-items:center; justify-content:center; gap:3px; position:relative; border:2px solid white; border-radius:5px; }
.frontend-chat-icon::after { content:""; position:absolute; left:3px; bottom:-5px; width:6px; height:6px; border-left:2px solid white; transform:skewY(-35deg); }
.frontend-chat-icon i { width:3px; height:3px; border-radius:50%; background:white; }
.frontend-chat-window { position:absolute; right:0; bottom:64px; width:min(370px,calc(100vw - 28px)); max-height:min(610px,calc(100vh - 100px)); overflow:hidden; visibility:hidden; opacity:0; transform:translateY(12px); border:1px solid #ccd8e3; border-radius:8px; background:white; box-shadow:0 22px 55px rgba(7,25,43,.28); transition:opacity .16s ease,transform .16s ease,visibility .16s; }
.frontend-chat.is-open .frontend-chat-window { visibility:visible; opacity:1; transform:translateY(0); }
.frontend-chat-header { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; color:white; background:var(--navy); }
.frontend-chat-header > div { display:flex; align-items:center; gap:11px; }
.frontend-chat-header strong,.frontend-chat-header small { display:block; }
.frontend-chat-header small { color:#bfd0df; }
.frontend-chat-presence { width:11px; height:11px; border-radius:50%; flex:0 0 auto; }
.frontend-chat-presence.is-online { background:#36d49e; box-shadow:0 0 0 4px rgba(54,212,158,.17); }
.frontend-chat-presence.is-offline { background:#9fb0bf; }
.frontend-chat-close { width:36px; height:36px; border:0; color:white; background:transparent; cursor:pointer; font-size:28px; line-height:1; }
.frontend-chat-close:hover { background:rgba(255,255,255,.09); }
.frontend-chat-body { max-height:calc(min(610px,100vh - 100px) - 72px); overflow-y:auto; padding:17px; }
.frontend-chat-agent-list { display:grid; gap:8px; margin-bottom:14px; }
.frontend-chat-agent-list > div { display:grid; grid-template-columns:38px 1fr 10px; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); background:#f8fafc; }
.frontend-agent-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--teal); font-weight:900; }
.frontend-chat-agent-list strong,.frontend-chat-agent-list small { display:block; }
.frontend-chat-agent-list small { color:var(--muted); font-size:11px; }
.frontend-chat-message { margin:0 0 11px; color:#31465b; }
.frontend-chat-hours { margin:0 0 15px; padding:10px; color:var(--muted); background:var(--soft); font-size:12px; }
.frontend-chat-guest { color:var(--muted); }
.frontend-chat-primary { width:100%; margin-top:9px; }
.frontend-chat-secondary { display:block; margin-top:13px; color:var(--teal); text-align:center; font-weight:900; font-size:13px; }
.frontend-recent-chats { display:grid; gap:7px; margin:14px 0; }
.frontend-recent-chats > span { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.frontend-recent-chats > a { display:grid; grid-template-columns:1fr auto; gap:9px; align-items:center; padding:10px; border:1px solid var(--line); background:#fbfcfd; }
.frontend-recent-chats strong,.frontend-recent-chats small { display:block; }
.frontend-recent-chats small { margin-top:2px; color:var(--muted); font-size:11px; }
.frontend-recent-chats i { font-style:normal; }

@media (max-width:560px) {
    .frontend-chat { right:14px; bottom:14px; }
    .frontend-chat-launcher { min-width:52px; width:52px; padding:0; }
    .frontend-chat-launcher > span:nth-child(2) { display:none; }
    .frontend-chat-launcher b { position:absolute; right:-2px; top:-6px; }
    .frontend-chat-window { position:fixed; inset:12px 12px 78px; width:auto; max-height:none; }
    .frontend-chat-body { max-height:calc(100vh - 174px); }
}

.customer-count-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.customer-count-grid a { padding:20px; border:1px solid var(--line); background:white; }
.customer-count-grid span, .customer-count-grid strong { display:block; }
.customer-count-grid span { color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; }
.customer-count-grid strong { margin-top:8px; font-size:30px; }
.customer-filters { display:grid; grid-template-columns:minmax(280px,1fr) 190px 220px auto auto; align-items:end; gap:12px; padding:18px; border:1px solid var(--line); background:white; }
.customer-filters input, .customer-filters select { margin-top:6px; }
.customer-list-section { margin-top:16px; }
.customer-type, .customer-status { display:inline-flex; align-items:center; min-height:25px; padding:3px 8px; border-radius:4px; font-size:11px; font-weight:900; }
.customer-type-lite { color:#31536e; background:#eaf1f6; }
.customer-type-diamond { color:#744d08; background:#fff2cf; }
.customer-status-pending { color:#805c11; background:#fff4d5; }
.customer-status-active { color:#075e55; background:#e6f6f3; }
.customer-status-denied, .customer-status-suspended { color:#982f23; background:#fff0ed; }
.customer-profile-heading { align-items:center; }
.customer-heading-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.customer-heading-actions form { margin:0; }
.danger-outline-button { min-height:46px; padding:0 19px; border:1px solid #c54a3a; border-radius:6px; color:#9d3023; background:white; cursor:pointer; font-weight:800; }
.customer-profile-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.customer-profile-summary > div { padding:20px; border:1px solid var(--line); background:white; }
.customer-profile-summary span, .customer-profile-summary strong, .customer-profile-summary small { display:block; }
.customer-profile-summary > div > span:first-child { color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; }
.customer-profile-summary > div > strong { margin:10px 0 4px; font-size:22px; }
.customer-profile-summary small { color:var(--muted); }
.customer-management-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.panel-intro { margin-top:-8px; color:var(--muted); }
.admin-license-list { display:grid; gap:14px; }
.admin-license-list > article { position:relative; padding:20px; border:1px solid var(--line); background:#fbfcfd; }
.license-admin-heading { display:flex; justify-content:space-between; gap:18px; margin-bottom:17px; }
.license-admin-heading h3 { margin:10px 0 0; }
.license-admin-heading > small { color:var(--muted); }
.danger-text-button { margin-top:12px; padding:0; border:0; color:#a23527; background:transparent; cursor:pointer; font-weight:800; }
.danger-zone { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:24px; padding:25px; border:1px solid #e0aaa2; background:#fff8f7; }
.danger-zone h2 { margin:0 0 6px; color:#8c2f24; }
.danger-zone p { color:#76524e; }
.danger-zone form { display:grid; gap:12px; }
.danger-button { min-height:45px; border:0; border-radius:5px; color:white; background:#a6372a; cursor:pointer; font-weight:900; }

@media (max-width:1100px) {
    .customer-filters { grid-template-columns:1fr 1fr; }
    .customer-filters .customer-search { grid-column:1/-1; }
}
@media (max-width:900px) {
    .customer-count-grid, .customer-profile-summary { grid-template-columns:repeat(2,1fr); }
    .customer-management-grid, .danger-zone { grid-template-columns:1fr; }
}
@media (max-width:560px) {
    .customer-count-grid, .customer-profile-summary, .customer-filters { grid-template-columns:1fr; }
    .customer-filters .customer-search { grid-column:auto; }
    .customer-heading-actions { align-items:stretch; flex-direction:column; }
}

/* Agent management and workspace */
.agent-count-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.agent-count-grid > * { padding:20px; border:1px solid var(--line); background:white; }
.agent-count-grid span,.agent-count-grid strong { display:block; }
.agent-count-grid > * > span { color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; }
.agent-count-grid strong { margin-top:8px; font-size:30px; }
.agent-admin-grid { display:grid; grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr); gap:18px; }
.permission-checks { display:flex; gap:10px 20px; flex-wrap:wrap; margin-top:18px; padding:14px; border:1px solid var(--line); background:#f8fafc; }
.permission-checks label { display:flex; align-items:center; gap:7px; margin:0; font-size:13px; }
.permission-checks input { width:17px; min-height:17px; margin:0; }
.agent-filters { display:grid; grid-template-columns:minmax(220px,1fr) 150px auto; align-items:end; gap:10px; margin-bottom:12px; padding:15px; border:1px solid var(--line); background:white; }
.agent-card-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.agent-card-list > a { padding:18px; border:1px solid var(--line); background:white; }
.agent-card-list > a:hover { border-color:#8fb8b3; box-shadow:var(--shadow); }
.agent-card-heading { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:9px; }
.agent-card-heading strong,.agent-card-heading small { display:block; }
.agent-card-heading small,.agent-card-list p { color:var(--muted); font-size:12px; }
.agent-card-heading b { color:var(--muted); font-size:11px; }
.agent-card-list dl { display:grid; grid-template-columns:repeat(3,1fr); margin:15px 0 0; border-top:1px solid var(--line); }
.agent-card-list dl div { padding-top:11px; }
.agent-card-list dt { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.agent-card-list dd { margin:3px 0 0; font-weight:900; }
.agent-profile-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.agent-profile-summary > div { padding:20px; border:1px solid var(--line); background:white; }
.agent-profile-summary span,.agent-profile-summary strong,.agent-profile-summary small { display:block; }
.agent-profile-summary span { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.agent-profile-summary strong { margin:9px 0 4px; font-size:22px; }
.agent-profile-summary small { color:var(--muted); }
.assigned-customer-list { display:grid; gap:8px; margin-top:18px; }
.assigned-customer-list > div { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px; border:1px solid var(--line); background:#fbfcfd; }
.assigned-customer-list strong,.assigned-customer-list small { display:block; }
.assigned-customer-list small { color:var(--muted); }
.agent-task-section { margin-top:18px; }
.task-create-form { display:grid; grid-template-columns:minmax(240px,1.5fr) 1fr 130px 190px; align-items:end; gap:12px; padding:17px; border:1px solid var(--line); background:#f8fafc; }
.task-create-form .wide-field { grid-column:1/-1; }
.agent-task-list { display:grid; gap:10px; margin-top:15px; }
.agent-task-list article { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px; border:1px solid var(--line); background:white; }
.agent-task-list article > form:first-child { display:flex; align-items:center; justify-content:space-between; gap:20px; flex:1; }
.agent-task-list article strong,.agent-task-list article small { display:block; margin-top:5px; }
.agent-task-list article small { color:var(--muted); }
.task-edit-fields,.full-task-list form { display:flex; align-items:center; gap:8px; }
.full-task-list { margin-top:0; }
.full-task-list article p { max-width:700px; color:var(--muted); }
.simple-record-list,.compact-task-list,.compact-customer-list { display:grid; gap:9px; }
.simple-record-list article { display:grid; gap:6px; padding:14px; border:1px solid var(--line); background:#fbfcfd; }
.simple-record-list small { color:var(--muted); }

.agent-body { background:var(--soft); }
.agent-sidebar { position:fixed; inset:0 auto 0 0; z-index:20; width:256px; display:flex; flex-direction:column; padding:24px 18px; color:white; background:#081b2e; }
.agent-sidebar nav { display:grid; gap:3px; margin-top:20px; }
.agent-sidebar nav a { padding:11px 12px; color:#d7e2ec; }
.agent-sidebar nav a:hover { color:white; background:rgba(255,255,255,.07); }
.agent-identity { display:flex; align-items:center; gap:10px; margin-top:22px; padding:14px 10px; border-top:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); }
.agent-identity strong,.agent-identity small { display:block; }
.agent-identity small { color:#aabccc; }
.agent-sidebar > form:first-of-type { margin-top:auto; }
.agent-presence-button { width:100%; min-height:42px; margin-bottom:10px; border:1px solid #35526b; border-radius:5px; color:white; background:transparent; cursor:pointer; }
.agent-workspace { min-height:100vh; margin-left:256px; }
.agent-dashboard-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.compact-task-list a,.compact-customer-list a { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px; border:1px solid var(--line); background:#fbfcfd; }
.compact-task-list a > div { flex:1; }
.compact-task-list strong,.compact-task-list small,.compact-customer-list strong,.compact-customer-list small { display:block; }
.compact-task-list small,.compact-customer-list small,.compact-customer-list span { color:var(--muted); font-size:12px; }

@media (max-width:1100px) {
    .agent-admin-grid,.agent-dashboard-grid { grid-template-columns:1fr; }
    .task-create-form { grid-template-columns:1fr 1fr; }
    .agent-card-list { grid-template-columns:1fr; }
}
@media (max-width:850px) {
    .agent-sidebar { position:relative; width:auto; }
    .agent-sidebar nav { grid-template-columns:repeat(4,auto); overflow-x:auto; }
    .agent-sidebar > form:first-of-type { margin-top:18px; }
    .agent-workspace { margin-left:0; }
    .agent-count-grid,.agent-profile-summary { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
    .agent-count-grid,.agent-profile-summary,.task-create-form,.agent-filters { grid-template-columns:1fr; }
    .agent-sidebar nav { grid-template-columns:1fr 1fr; }
    .agent-task-list article,.agent-task-list article > form:first-child,.task-edit-fields,.full-task-list form { align-items:stretch; flex-direction:column; }
}

.customer-auth-page {
    min-height: calc(100vh - 78px);
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(560px, .85fr);
    background: var(--soft);
}
.customer-auth-copy {
    display: grid;
    align-items: center;
    padding: 72px clamp(48px, 7vw, 138px);
    color: white;
    background:
        linear-gradient(rgba(7,25,43,.88), rgba(7,25,43,.94)),
        url("https://images.unsplash.com/photo-1611974789855-9c2a0a7236a3?auto=format&fit=crop&w=1200&q=84") center/cover no-repeat;
}
.customer-auth-copy > div { width: min(590px, 100%); }
.customer-auth-copy h1 { max-width: 560px; margin: 0 0 18px; font-size: clamp(44px, 4.1vw, 62px); line-height: 1.04; }
.customer-auth-copy > div > p:not(.eyebrow) { color: #d5e0ea; font-size: 18px; }
.customer-auth-copy ul { margin: 30px 0 0; padding-left: 20px; color: #d5e0ea; }
.customer-auth-copy li { margin: 10px 0; }
.customer-auth-form-wrap { display: grid; align-items: center; justify-items: center; padding: 54px clamp(30px, 4vw, 72px); }
.customer-auth-form { width: min(640px, 100%); padding: 36px; border: 1px solid var(--line); border-radius: 8px; background: white; box-shadow: var(--shadow); }
.customer-auth-form .field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.customer-auth-form label { min-width: 0; }
.customer-auth-form input { min-width: 0; }
.form-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.form-heading strong, .form-heading small { display: block; }
.form-heading strong { font-size: 25px; }
.form-heading small { color: var(--muted); }
.checkbox-label { display: flex; align-items: flex-start; gap: 9px; margin-top: 17px; font-weight: 600; }
.checkbox-label input { width: 17px; min-height: 17px; margin: 2px 0 0; }
.customer-submit { width: 100%; margin-top: 22px; }
.form-switch { margin: 19px 0 0; color: var(--muted); text-align: center; }
.form-switch a { color: var(--teal); font-weight: 900; }
.customer-login-page { min-height: 70vh; display: grid; place-items: center; padding: 70px 20px; background: var(--soft); }
.customer-login-form { max-width: 470px; }
.customer-login-form h1 { margin: 12px 0 8px; font-size: 40px; }
.customer-login-form > p:not(.eyebrow, .form-switch) { color: var(--muted); }
.customer-login-form > label:not(.checkbox-label) { margin-top: 17px; }
.customer-hub-page { min-height: 72vh; padding: 58px 0 80px; background: var(--soft); }
.customer-hub-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; }
.customer-hub-heading h1 { margin: 0 0 6px; font-size: clamp(38px, 5vw, 54px); }
.customer-hub-heading > div > p:last-child { margin: 0; color: var(--muted); }
.hub-message { margin-top: 22px; }
.customer-hub-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 28px 0; }
.customer-hub-summary > div { padding: 22px; border: 1px solid var(--line); background: white; }
.customer-hub-summary span, .customer-hub-summary strong, .customer-hub-summary small { display: block; }
.customer-hub-summary span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.customer-hub-summary strong { margin: 11px 0 3px; font-size: 25px; }
.customer-hub-summary small { color: var(--muted); }
.customer-hub-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; }
.hub-panel { min-height: 280px; padding: 25px; border: 1px solid var(--line); background: white; }
.license-panel { grid-row: span 2; }
.hub-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.hub-panel-heading h2 { margin: 0; font-size: 26px; }
.hub-empty { padding: 30px 20px; color: var(--muted); text-align: center; background: #f8fafc; }
.hub-empty h3 { margin: 0 0 7px; color: var(--ink); }
.license-record { padding: 19px; border: 1px solid var(--line); background: #fafcfd; }
.license-record h3 { margin: 0 0 15px; }
.license-record > div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.license-record > div span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.license-record code { word-break: break-word; font-weight: 800; }
.mt5-record { display: flex; justify-content: space-between; align-items: center; padding: 15px; border: 1px solid var(--line); }
.mt5-record strong, .mt5-record span { display: block; }
.mt5-record div span { color: var(--muted); font-size: 12px; }

@media (max-width: 1000px) {
    .customer-auth-page { grid-template-columns: 1fr; }
    .customer-auth-copy { min-height: 440px; padding: 64px max(32px, calc((100vw - 760px) / 2)); }
    .customer-auth-copy > div { width: min(640px, 100%); }
    .customer-auth-copy h1 { max-width: 640px; }
    .customer-auth-form-wrap { padding: 48px 24px 64px; }
    .customer-hub-summary { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
    .customer-hub-grid { grid-template-columns: 1fr; }
    .license-panel { grid-row: auto; }
}

@media (max-width: 560px) {
    .customer-auth-form { padding: 24px; }
    .customer-auth-form .field-grid { grid-template-columns: 1fr; }
    .customer-auth-copy, .customer-auth-form-wrap { padding-left: 20px; padding-right: 20px; }
    .customer-auth-copy { min-height: 420px; }
    .customer-auth-copy h1 { font-size: 42px; }
    .customer-hub-summary { grid-template-columns: 1fr; }
    .customer-hub-heading { flex-direction: column; }
}

/* MT5 multi-account performance reports */
.mt5-report-panel { grid-column:1/-1; }
.mt5-customer-reports { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:12px; }
.mt5-report-card { overflow:hidden; border:1px solid var(--line); background:#fff; }
.mt5-report-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px 15px; border-bottom:1px solid var(--line); background:#fafcfd; }
.mt5-report-heading h3 { margin:3px 0; font-size:20px; }
.mt5-report-heading p { margin:0; color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.mt5-account-label { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.challenge-passed { padding:10px 15px; color:#087849; background:#e4f8ed; border-bottom:1px solid #a6dfbd; font-size:15px; font-weight:900; letter-spacing:0; text-align:center; }
.mt5-awaiting-snapshot { padding:9px 15px; color:#6b5a2f; background:#fff8e4; border-bottom:1px solid #ead59b; font-size:11px; }
.mt5-financial-grid { display:grid; grid-template-columns:repeat(2,1fr); }
.mt5-financial-grid > div { min-width:0; padding:12px 14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.mt5-financial-grid > div:nth-child(even) { border-right:0; }
.mt5-financial-grid span,.mt5-financial-grid strong { display:block; }
.mt5-financial-grid span { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.mt5-financial-grid strong { margin-top:5px; font-size:15px; overflow-wrap:anywhere; }
.mt5-financial-grid .is-profit strong,.mt5-positive { color:#087849!important; }
.mt5-financial-grid .is-loss strong,.mt5-negative { color:#b03427!important; }
.mt5-growth-block { padding:13px 15px; border-bottom:1px solid var(--line); }
.mt5-growth-block > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.mt5-growth-block > div:first-child span { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.mt5-growth-block > div:first-child strong { font-size:16px; }
.mt5-progress { height:7px; margin:9px 0 6px; overflow:hidden; border-radius:3px; background:#e8edf2; }
.mt5-progress i { display:block; height:100%; background:#12a46b; }
.mt5-growth-block small { color:var(--muted); }
.mt5-report-details { display:grid; grid-template-columns:1fr; margin:0; padding:7px 15px 11px; }
.mt5-report-details div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.mt5-report-details div:nth-child(odd) { margin-right:0; }
.mt5-report-details dt { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.mt5-report-details dd { margin:0; text-align:right; }
.mt5-admin-section { margin-top:18px; }
.mt5-create-form { padding:18px; border:1px solid var(--line); background:#f8fafc; }
.mt5-admin-list { display:grid; gap:14px; margin-top:17px; }
.mt5-admin-list > article { padding:19px; border:1px solid var(--line); background:#fbfcfd; }
.mt5-admin-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.mt5-admin-heading h3 { margin:9px 0 0; }
.mt5-admin-heading > div:last-child { font-weight:900; text-align:right; }
.featured-mt5-report { max-width:760px; }
.featured-mt5-report .mt5-report-card { width:100%; }

/* Historical license */
.historical-license-page { min-height:72vh; padding:48px 0 76px; background:var(--soft); }
.historical-license-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:24px 0 16px; }
.historical-license-summary > div { padding:17px 18px; border:1px solid var(--line); background:white; }
.historical-license-summary span,.historical-license-summary strong,.historical-license-summary small { display:block; }
.historical-license-summary span { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.historical-license-summary strong { margin:7px 0 3px; font-size:19px; }
.historical-license-summary small { color:var(--muted); }
.historical-section { margin-top:16px; border:1px solid var(--line); background:white; }
.historical-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border-bottom:1px solid var(--line); }
.historical-section-heading h2 { margin:4px 0 0; font-size:24px; }
.historical-section-heading > span { min-width:34px; height:28px; display:grid; place-items:center; border-radius:4px; color:var(--teal); background:#e6f6f3; font-weight:900; }
.historical-account-list { display:grid; gap:0; }
.historical-account { border-bottom:1px solid var(--line); }
.historical-account:last-child { border-bottom:0; }
.historical-account > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:14px 18px; background:#fbfcfd; }
.historical-account h3 { margin:3px 0; font-size:19px; }
.historical-account header p { margin:0; color:var(--muted); font-size:11px; }
.historical-account-status { display:grid; justify-items:end; gap:5px; }
.historical-account-status small { color:var(--muted); font-size:10px; }
.historical-metrics { display:grid; grid-template-columns:repeat(4,1fr); }
.historical-metrics > div { min-width:0; padding:12px 15px; border-top:1px solid var(--line); border-right:1px solid var(--line); }
.historical-metrics > div:nth-child(4n) { border-right:0; }
.historical-metrics span,.historical-metrics strong { display:block; }
.historical-metrics span { color:var(--muted); font-size:9px; font-weight:900; text-transform:uppercase; }
.historical-metrics strong { margin-top:4px; overflow-wrap:anywhere; font-size:14px; }
.historical-account > footer { padding:9px 18px; color:#8b5148; background:#fff6f4; font-size:10px; }
.historical-account.is-deactivated { opacity:.82; }

@media (max-width:560px) {
    .mt5-report-heading,.mt5-admin-heading { align-items:flex-start; flex-direction:column; }
    .mt5-financial-grid,.mt5-report-details { grid-template-columns:1fr; }
    .mt5-financial-grid > div { border-right:0; }
    .mt5-report-details div:nth-child(odd) { margin-right:0; }
}
@media (max-width:850px) {
    .historical-license-summary { grid-template-columns:repeat(2,1fr); }
    .historical-metrics { grid-template-columns:repeat(2,1fr); }
    .historical-metrics > div:nth-child(4n) { border-right:1px solid var(--line); }
    .historical-metrics > div:nth-child(2n) { border-right:0; }
}
@media (max-width:520px) {
    .historical-license-summary { grid-template-columns:1fr; }
    .historical-account > header { flex-direction:column; }
    .historical-account-status { justify-items:start; }
}

/* Customer learning and YouTube course management */
.learning-page { min-height:72vh; padding:48px 0 78px; background:var(--soft); }
.learning-heading { margin-bottom:24px; }
.learning-workspace { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr); align-items:start; gap:18px; }
.learning-player-panel,.learning-curriculum { border:1px solid var(--line); background:white; }
.learning-player-frame { aspect-ratio:16/9; min-height:360px; background:#050b12; }
.learning-player-frame > div,.learning-player-frame iframe { width:100%; height:100%; }
.learning-player-copy { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding:22px; border-bottom:1px solid var(--line); }
.learning-player-copy h2 { margin:4px 0 7px; font-size:27px; }
.learning-player-copy p { margin:0; color:var(--muted); }
.learning-series-label { color:var(--gold); font-size:10px; font-weight:900; text-transform:uppercase; }
.youtube-link { flex:none; padding:9px 12px; border:1px solid #d33; border-radius:5px; color:#b51e1e; font-size:12px; font-weight:900; }
.learning-progress-row { display:flex; align-items:center; gap:15px; padding:15px 22px 7px; }
.learning-progress-track { flex:1; height:8px; overflow:hidden; border-radius:4px; background:#e6ebf0; }
.learning-progress-track i { display:block; height:100%; background:#079a68; }
.learning-progress-row span { min-width:88px; color:var(--muted); font-size:11px; font-weight:800; text-align:right; }
.youtube-attribution { margin:0; padding:5px 22px 17px; color:var(--muted); font-size:10px; }
.learning-curriculum { max-height:760px; overflow-y:auto; }
.learning-curriculum-heading { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 17px; border-bottom:1px solid var(--line); background:white; }
.learning-curriculum-heading span { font-weight:900; }
.learning-curriculum-heading strong { color:var(--muted); font-size:11px; }
.learning-course-group { border-bottom:1px solid var(--line); }
.learning-course-group > div { padding:15px 16px 10px; background:#f8fafc; }
.learning-course-group h3 { margin:0; font-size:16px; }
.learning-course-group p { margin:4px 0 0; color:var(--muted); font-size:11px; }
.learning-lesson { display:grid; grid-template-columns:86px minmax(0,1fr); align-items:center; gap:11px; padding:11px 13px; border-top:1px solid var(--line); }
.learning-lesson:hover,.learning-lesson.is-current { background:#eef8f6; }
.learning-lesson.is-current { box-shadow:inset 3px 0 var(--teal); }
.learning-lesson-thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:#101923; }
.learning-lesson-thumb img { width:100%; height:100%; object-fit:cover; }
.learning-lesson-thumb i { position:absolute; left:4px; bottom:4px; min-width:18px; height:18px; display:grid; place-items:center; border-radius:3px; color:white; background:rgba(7,20,42,.82); font-size:9px; font-style:normal; font-weight:900; }
.learning-lesson strong,.learning-lesson small { display:block; }
.learning-lesson strong { font-size:12px; line-height:1.35; }
.learning-lesson small { margin-top:4px; color:var(--muted); font-size:10px; }
.learning-empty { min-height:360px; display:grid; place-content:center; padding:35px; border:1px solid var(--line); background:white; text-align:center; }
.learning-empty h2 { margin:0 0 7px; }
.learning-empty p { color:var(--muted); }

.learning-admin-counts { display:grid; grid-template-columns:repeat(6,1fr); gap:11px; margin-bottom:17px; }
.learning-admin-counts > div { padding:17px; border:1px solid var(--line); background:white; }
.learning-admin-counts span,.learning-admin-counts strong { display:block; }
.learning-admin-counts span { color:var(--muted); font-size:9px; font-weight:900; text-transform:uppercase; }
.learning-admin-counts strong { margin-top:5px; font-size:24px; }
.learning-admin-create { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.learning-admin-create label + label { margin-top:13px; }
.youtube-policy-note { margin:17px 0; padding:15px 18px; border-left:4px solid #e62117; background:white; }
.youtube-policy-note strong { color:#b92018; }
.youtube-policy-note p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.learning-series-admin-list { display:grid; gap:17px; }
.learning-series-admin { padding:20px; border:1px solid var(--line); background:white; }
.learning-admin-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:15px; }
.learning-admin-heading h2 { margin:8px 0 0; font-size:23px; }
.learning-admin-heading > span { color:var(--muted); font-size:12px; }
.learning-video-admin-list { display:grid; gap:11px; margin:18px 0; }
.learning-video-admin-list > article { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:start; gap:16px; padding:15px; border:1px solid var(--line); background:#fbfcfd; }
.learning-video-admin-list > article > img { width:100%; aspect-ratio:16/9; object-fit:cover; background:#101923; }
.learning-video-admin-list > article > form:nth-of-type(2) { grid-column:2; }

@media (max-width:1150px) {
    .learning-admin-counts { grid-template-columns:repeat(3,1fr); }
    .learning-workspace { grid-template-columns:minmax(0,1fr) 330px; }
}
@media (max-width:900px) {
    .learning-workspace,.learning-admin-create { grid-template-columns:1fr; }
    .learning-curriculum { max-height:none; }
}
@media (max-width:650px) {
    .learning-admin-counts { grid-template-columns:repeat(2,1fr); }
    .learning-player-frame { min-height:0; }
    .learning-player-copy { flex-direction:column; }
    .learning-video-admin-list > article { grid-template-columns:1fr; }
    .learning-video-admin-list > article > form:nth-of-type(2) { grid-column:auto; }
}

/* Marketing, SEO, analytics, and campaign links */
.marketing-tabs { display:flex; gap:4px; margin-bottom:20px; padding:5px; border:1px solid var(--line); background:white; }
.marketing-tabs a { padding:9px 13px; color:var(--muted); font-size:12px; font-weight:900; }
.marketing-tabs a:hover { color:var(--ink); background:var(--soft); }
.marketing-section-row { margin:0 0 14px; }
.period-control { display:flex; overflow:hidden; border:1px solid var(--line); border-radius:5px; background:white; }
.period-control a { padding:8px 12px; border-right:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:900; }
.period-control a:last-child { border-right:0; }
.period-control a.is-active { color:white; background:var(--teal); }
.marketing-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:14px; }
.marketing-metrics > div { padding:19px; border:1px solid var(--line); background:white; }
.marketing-metrics span,.marketing-metrics strong { display:block; }
.marketing-metrics span { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.marketing-metrics strong { margin-top:6px; font-size:28px; }
.marketing-chart { padding:20px; border:1px solid var(--line); background:white; }
.marketing-chart-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.marketing-chart-heading span { color:var(--muted); font-size:11px; }
.marketing-bars { height:210px; display:flex; align-items:stretch; gap:6px; padding-top:10px; border-bottom:1px solid var(--line); }
.marketing-bars > div:not(.marketing-no-data) { min-width:18px; flex:1; display:grid; grid-template-rows:1fr 24px; gap:5px; }
.marketing-bars > div > span { display:flex; align-items:end; justify-content:center; gap:2px; }
.marketing-bars i,.marketing-bars b { width:min(9px,42%); display:block; border-radius:2px 2px 0 0; }
.marketing-bars i { background:var(--teal); }
.marketing-bars b { background:var(--gold); }
.marketing-bars small { overflow:hidden; color:var(--muted); font-size:8px; text-align:center; white-space:nowrap; }
.marketing-no-data { flex:1; display:grid; place-items:center; color:var(--muted); text-align:center; }
.marketing-report-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; margin:14px 0 20px; }
.marketing-report { min-width:0; padding:18px; border:1px solid var(--line); background:white; }
.marketing-report h3 { margin:0 0 10px; font-size:16px; }
.marketing-report > div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 0; border-top:1px solid var(--line); }
.marketing-report span,.marketing-report strong,.marketing-report small { min-width:0; display:block; overflow-wrap:anywhere; }
.marketing-report strong { font-size:12px; }
.marketing-report small,.marketing-report p { color:var(--muted); font-size:10px; }
.marketing-report b { color:var(--teal); }
.marketing-settings-form { display:grid; gap:15px; scroll-margin-top:90px; }
.marketing-privacy-note { margin:0 22px 20px; padding:12px 14px; border-left:4px solid var(--teal); color:var(--muted); background:#f1f8f7; font-size:11px; }
.marketing-links-section { margin-top:24px; scroll-margin-top:90px; }
.marketing-link-layout { display:grid; grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr); align-items:start; gap:16px; }
.marketing-link-layout > form label + label { margin-top:13px; }
.marketing-link-list { display:grid; gap:12px; }
.marketing-link-list > article { padding:17px; border:1px solid var(--line); background:white; }
.marketing-link-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:10px; }
.marketing-link-heading h3 { margin:7px 0 0; }
.marketing-link-heading > strong { font-size:13px; }
.marketing-copy-link { display:block; margin-bottom:14px; padding:10px 12px; overflow:hidden; color:var(--teal); background:var(--soft); font-size:11px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }

.marketing-consent { position:fixed; left:22px; bottom:22px; z-index:1190; width:min(620px,calc(100vw - 44px)); display:flex; align-items:center; justify-content:space-between; gap:22px; padding:17px 18px; border:1px solid #cdd8e2; border-radius:7px; background:white; box-shadow:0 18px 46px rgba(7,25,43,.22); }
.marketing-consent[hidden] { display:none; }
.marketing-consent strong,.marketing-consent p { display:block; margin:0; }
.marketing-consent p { margin-top:3px; color:var(--muted); font-size:12px; }
.marketing-consent > div:last-child { flex:none; display:flex; gap:8px; }
.marketing-consent button { min-height:40px; padding:0 13px; border:1px solid var(--line); border-radius:5px; background:white; cursor:pointer; font-size:12px; font-weight:900; }
.marketing-consent button:last-child { color:white; border-color:var(--teal); background:var(--teal); }

@media (max-width:950px) {
    .marketing-link-layout { grid-template-columns:1fr; }
}
@media (max-width:720px) {
    .marketing-metrics,.marketing-report-grid { grid-template-columns:repeat(2,1fr); }
    .marketing-tabs { overflow-x:auto; }
    .marketing-tabs a { flex:none; }
    .marketing-consent { right:12px; bottom:76px; left:12px; width:auto; align-items:flex-start; flex-direction:column; }
    .marketing-consent > div:last-child { width:100%; }
    .marketing-consent button { flex:1; }
}
@media (max-width:480px) {
    .marketing-metrics,.marketing-report-grid { grid-template-columns:1fr; }
    .marketing-chart { padding:14px; }
    .marketing-bars { gap:3px; }
}

/* Portal settings */
.settings-status-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.settings-status-grid > div { min-width:0; padding:18px; border:1px solid var(--line); background:white; }
.settings-status-grid span,.settings-status-grid strong,.settings-status-grid small { display:block; overflow-wrap:anywhere; }
.settings-status-grid span { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
.settings-status-grid strong { margin:7px 0 3px; font-size:19px; }
.settings-status-grid small { color:var(--muted); font-size:11px; }
.portal-settings-form { display:grid; gap:16px; }
.settings-panel { padding:0; overflow:hidden; }
.settings-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 22px; border-bottom:1px solid var(--line); background:#fbfcfd; }
.settings-panel-heading h2,.settings-panel-heading p { margin:0; }
.settings-panel-heading h2 { font-size:21px; }
.settings-panel-heading p:last-child { margin-top:4px; color:var(--muted); font-size:13px; }
.settings-step { color:var(--gold); font-size:10px; font-weight:900; text-transform:uppercase; }
.settings-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:22px; }
.settings-field-grid select { width:100%; min-height:47px; margin-top:7px; padding:11px 13px; border:1px solid #cdd7e2; border-radius:5px; color:var(--ink); background:white; }
.settings-field-grid textarea { min-height:82px; }
.settings-toggle-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:22px 22px 0; }
.settings-toggle { display:flex; align-items:flex-start; gap:11px; min-height:92px; padding:16px; border:1px solid var(--line); background:#fbfcfd; cursor:pointer; }
.settings-toggle input { width:18px; min-height:18px; margin:2px 0 0; }
.settings-toggle strong,.settings-toggle small { display:block; }
.settings-toggle small { margin-top:4px; color:var(--muted); font-weight:400; line-height:1.45; }
.settings-toggle-single { margin:22px 22px 0; min-height:auto; }
.settings-subfields { padding-top:16px; }
.secure-setting-badge { flex:none; padding:6px 9px; border:1px solid #c9ddd9; border-radius:4px; color:#17635d; background:#f1f8f7; font-size:10px; font-weight:900; }
.settings-payment-link { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px; border:1px solid var(--line); background:white; }
.settings-payment-link h2,.settings-payment-link p { margin:0; }
.settings-payment-link h2 { font-size:21px; }
.settings-payment-link p:last-child { margin-top:4px; color:var(--muted); font-size:13px; }
.field-prefix { display:grid; grid-template-columns:auto minmax(180px,1fr); align-items:center; margin-top:7px; overflow:hidden; border:1px solid #cdd7e2; border-radius:5px; background:#f4f7fa; }
.field-prefix > span { padding:0 13px; color:var(--muted); font-weight:600; white-space:nowrap; }
.field-prefix input { min-width:0; margin:0; border:0; border-left:1px solid #cdd7e2; border-radius:0; }
.field-prefix input:focus { outline:2px solid rgba(0,127,120,.16); outline-offset:-2px; }
.field-help { display:block; margin-top:7px; color:var(--muted); font-weight:400; }
.admin-access-warning { margin:0 22px 22px; padding:12px 14px; border-left:4px solid var(--gold); color:#6d572d; background:#fff9e9; font-size:12px; }
@media (max-width:1050px) {
    .settings-status-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
    .settings-field-grid,.settings-toggle-grid,.settings-status-grid { grid-template-columns:1fr; }
    .settings-panel-heading,.settings-payment-link { align-items:flex-start; flex-direction:column; }
    .settings-payment-link .secondary-button { width:100%; }
    .field-prefix { grid-template-columns:1fr; }
    .field-prefix > span { padding:10px 13px; white-space:normal; overflow-wrap:anywhere; }
    .field-prefix input { border-top:1px solid #cdd7e2; border-left:0; }
}

/* Protected EA downloads */
.download-count-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.download-count-grid > * { padding:20px; border:1px solid var(--line); background:white; }
.download-count-grid span,.download-count-grid strong { display:block; }
.download-count-grid > * > span { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.download-count-grid strong { margin-top:8px; font-size:30px; }
.download-admin-grid { display:grid; grid-template-columns:minmax(380px,.8fr) minmax(0,1.2fr); gap:18px; }
.download-filters { display:grid; grid-template-columns:minmax(220px,1fr) 160px auto; align-items:end; gap:10px; margin-bottom:12px; padding:15px; border:1px solid var(--line); background:white; }
.download-release-list { display:grid; gap:13px; }
.download-release-list > article { padding:18px; border:1px solid var(--line); background:white; }
.download-release-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:13px; }
.download-release-heading h3 { margin:8px 0 0; }
.download-release-heading h3 small { color:var(--muted); font-size:14px; }
.download-release-heading > a { color:var(--teal); font-weight:900; font-size:13px; }
.download-file-meta { display:flex; gap:8px 18px; flex-wrap:wrap; margin-bottom:14px; padding:10px 12px; color:var(--muted); background:var(--soft); font-size:12px; }
.download-release-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; }
.download-release-actions code { max-width:55%; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.download-history { margin-top:18px; }
.customer-download-list { display:grid; gap:12px; }
.customer-download-list article { padding:16px; border:1px solid var(--line); background:#fbfcfd; }
.customer-download-list article > div:first-child { display:flex; align-items:center; justify-content:space-between; }
.customer-download-list h3 { margin:14px 0 7px; }
.customer-download-list p { color:var(--muted); }
.customer-download-list dl { margin:13px 0; }
.customer-download-list dl div { display:flex; justify-content:space-between; gap:15px; padding:7px 0; border-top:1px solid var(--line); }
.customer-download-list dt { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.customer-download-list dd { margin:0; overflow-wrap:anywhere; text-align:right; }
.customer-hub-summary { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.license-pricing-section { margin:0 0 24px; padding:30px; border:1px solid var(--line); background:#fff; }
.customer-plan-page { min-height:72vh; padding:58px 0 80px; background:var(--soft); }
.plan-current-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:28px 0 16px; }
.plan-current-summary > div { min-width:0; padding:19px; border:1px solid var(--line); background:#fff; }
.plan-current-summary span,.plan-current-summary strong { display:block; overflow-wrap:anywhere; }
.plan-current-summary span { color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.plan-current-summary strong { margin-top:8px; font-size:18px; }
.plan-open-payments { margin-top:16px; }
.license-pricing-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.license-pricing-heading h2 { margin:0 0 8px; font-size:30px; }
.license-pricing-heading p:last-child { margin:0; color:var(--muted); }
.current-license-badge { padding:8px 12px; border:1px solid #b9d5d2; color:#006b65; background:#eef8f7; font-size:12px; font-weight:800; text-transform:uppercase; }
.license-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.license-price-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--line); background:#fbfcfd; }
.license-price-card.is-diamond { border-top:4px solid #d68a00; background:#fffdf7; }
.license-price-title { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.license-price-title span { color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; }
.license-price-title h3 { margin:4px 0 0; font-size:27px; }
.license-price-title .plan-state { padding:6px 9px; color:#006b65; background:#e9f7f5; }
.license-price-card > p { min-height:48px; color:var(--muted); }
.license-monthly-price { display:flex; align-items:baseline; gap:7px; margin:8px 0 16px; }
.license-monthly-price strong { font-size:38px; }
.license-monthly-price span { color:var(--muted); }
.license-annual-deal { display:grid; grid-template-columns:1fr auto; gap:4px 14px; padding:15px; border:1px solid #e2c587; background:#fffaf0; }
.license-annual-deal > span { color:#845600; font-size:12px; font-weight:800; text-transform:uppercase; }
.license-annual-deal > strong { grid-row:1 / span 2; grid-column:2; align-self:center; font-size:21px; }
.license-annual-deal small { color:var(--muted); }
.license-price-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
.license-price-actions-single { grid-template-columns:1fr; }
.license-price-actions form,.license-price-actions button { width:100%; }
.annual-plan-button { width:100%; min-height:46px; padding:10px 14px; border:1px solid #b87400; color:#674200; background:#fff5dc; font:inherit; font-weight:800; cursor:pointer; }
.annual-plan-button:hover { background:#ffedc0; }
.license-current-message { margin-top:18px; padding:13px; color:#48615f; background:#eef5f4; text-align:center; }
.trial-upgrade-overlay { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px; background:rgba(4,20,34,.72); overflow:auto; }
.trial-upgrade-modal { position:relative; width:min(880px,100%); padding:34px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.trial-upgrade-close { position:absolute; top:16px; right:18px; width:38px; height:38px; border:1px solid var(--line); color:#1a2b3f; background:#fff; font-size:27px; line-height:1; cursor:pointer; }
.trial-upgrade-intro { max-width:680px; margin-bottom:22px; padding-right:40px; }
.trial-upgrade-intro h2 { margin:0 0 9px; font-size:34px; }
.trial-upgrade-intro > p:last-child { color:var(--muted); }
.trial-upgrade-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.trial-upgrade-options article { padding:22px; border:1px solid var(--line); background:#f8fafc; }
.trial-upgrade-options article.is-diamond { border-top:4px solid #d68a00; background:#fffdf7; }
.trial-upgrade-options article > span { color:var(--muted); font-size:12px; font-weight:800; text-transform:uppercase; }
.trial-upgrade-options h3 { margin:5px 0 13px; font-size:25px; }
.trial-upgrade-options article > div { display:flex; align-items:baseline; gap:5px; margin-bottom:16px; }
.trial-upgrade-options article > div strong { font-size:32px; }
.trial-upgrade-options article > div small { color:var(--muted); }
.trial-upgrade-options form + form { margin-top:9px; }
.trial-upgrade-options button { width:100%; }
.trial-upgrade-later { display:block; margin:20px auto 0; border:0; color:#52657a; background:transparent; text-decoration:underline; cursor:pointer; }
.annual-offer-modal { width:min(650px,100%); }
.annual-offer-actions { display:grid; grid-template-columns:1fr auto; gap:10px; }
.annual-offer-actions form,.annual-offer-actions .annual-plan-button { width:100%; }
.hub-learning-summary { border-color:#d7b77a!important; background:#fffaf0!important; }
.hub-learning-summary strong { color:#9b6312; }
.hub-download-summary { border-color:#84b9b3!important; background:#f1fbf9!important; }
.hub-download-summary strong { color:var(--teal); }
.customer-downloads-page { min-height:72vh; padding:58px 0 80px; background:var(--soft); }
.download-access-banner { display:flex; justify-content:space-between; gap:18px; margin:25px 0 17px; padding:18px 20px; border-left:5px solid var(--teal); background:white; }
.download-access-banner span { color:var(--muted); }
.customer-download-library { display:grid; gap:16px; }
.customer-download-library > article { padding:25px; border:1px solid var(--line); background:white; }
.customer-download-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:17px; border-bottom:1px solid var(--line); }
.customer-download-heading h2 { margin:12px 0 4px; font-size:27px; }
.customer-download-heading p,.customer-download-heading > span { color:var(--muted); }
.customer-download-library > article > p { color:var(--muted); }
.release-notes { margin:17px 0; padding:15px; background:var(--soft); }
.release-notes p { margin:6px 0 0; white-space:pre-wrap; }
.customer-download-library dl { margin:18px 0; }
.customer-download-library dl div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:16px; padding:9px 0; border-top:1px solid var(--line); }
.customer-download-library dt { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
.customer-download-library dd { margin:0; overflow-wrap:anywhere; }
.customer-download-button { display:inline-flex; max-width:100%; overflow-wrap:anywhere; }
@media (max-width:1100px) {
    .download-admin-grid { grid-template-columns:1fr; }
    .customer-hub-summary { grid-template-columns:repeat(3,1fr); }
    .license-price-grid,.trial-upgrade-options { grid-template-columns:1fr; }
    .plan-current-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
    .download-count-grid,.download-filters { grid-template-columns:1fr 1fr; }
    .download-filters label:first-child { grid-column:1/-1; }
}
@media (max-width:520px) {
    .download-count-grid,.download-filters { grid-template-columns:1fr; }
    .download-filters label:first-child { grid-column:auto; }
    .download-release-heading,.download-release-actions { align-items:flex-start; flex-direction:column; }
    .download-release-actions code { max-width:100%; }
    .customer-hub-summary { grid-template-columns:1fr; }
    .license-pricing-section,.trial-upgrade-modal { padding:20px; }
    .license-pricing-heading { flex-direction:column; }
    .license-price-actions { grid-template-columns:1fr; }
    .trial-upgrade-overlay { padding:10px; }
    .trial-upgrade-intro h2 { font-size:27px; }
    .plan-current-summary,.annual-offer-actions { grid-template-columns:1fr; }
    .download-access-banner,.customer-download-heading { align-items:flex-start; flex-direction:column; }
    .customer-download-library dl div { grid-template-columns:1fr; gap:4px; }
}
