:root {
  --brand: #7b3fb3;
  --brand-dark: #54268d;
  --brand-deep: #332257;
  --brand-soft: #f1e9fb;
  --ink: #24232b;
  --muted: #777681;
  --muted-light: #a5a2ad;
  --line: #e4e1e8;
  --canvas: #f3f3f5;
  --panel: #fff;
  --nav: #f7f6f8;
  --nav-muted: #74717c;
  --nav-active: #e8e5ed;
  --sidebar-width: 230px;
  --mint: #e1f5e9;
  --mint-ink: #24764e;
  --blue-soft: #e4f1ff;
  --blue-ink: #1685d2;
  --shadow: 0 20px 50px rgba(46, 35, 68, .10);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.menu-open { overflow: hidden; }
.auth-gate { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 24px; background: var(--canvas); }
.auth-card { width: min(100%, 430px); padding: 32px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
.auth-card h1 { margin: 8px 0 10px; font-size: 30px; }
.auth-card p { margin-bottom: 22px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.auth-card form { display: grid; gap: 14px; }
.auth-card label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; }
.auth-card input { min-height: 40px; padding: 0 11px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: #fff; }
.auth-card input:focus { outline: 2px solid #cbb2e7; border-color: var(--brand); }
.auth-error { padding: 9px 11px; color: #9f2738; background: #fff0f2; border-radius: 7px; font-size: 12px; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
h1, h2, p { margin: 0; }
h1, h2 { font-family: "Trebuchet MS", Inter, sans-serif; }

.ui-tooltip { position: fixed; z-index: 2000; max-width: min(260px, calc(100vw - 16px)); padding: 7px 9px; color: #fff; background: #45434b; border-radius: 4px; box-shadow: 0 3px 10px rgba(25, 19, 36, .22); font-size: 11px; line-height: 1.25; text-align: center; white-space: normal; pointer-events: none; opacity: 0; transform: translate(-50%, -100%); transition: opacity .12s ease; }
.ui-tooltip:not([hidden]) { opacity: 1; }
.ui-tooltip::after { content: ""; position: absolute; left: 50%; width: 0; height: 0; border: 5px solid transparent; transform: translateX(-50%); }
.ui-tooltip[data-placement="top"]::after { top: 100%; border-top-color: #45434b; }
.ui-tooltip[data-placement="bottom"] { transform: translate(-50%, 0); }
.ui-tooltip[data-placement="bottom"]::after { bottom: 100%; border-bottom-color: #45434b; }

.app-shell { min-height: 100vh; }
.global-topbar { position: sticky; top: 0; z-index: 40; height: 64px; display: flex; align-items: center; gap: 18px; padding: 0 24px; color: #fff; background: var(--brand); box-shadow: 0 3px 14px rgba(37, 24, 58, .16); }
.menu-button { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; color: #fff; background: transparent; font-size: 23px; line-height: 1; }
.menu-button:hover { background: rgba(255,255,255,.12); border-radius: 7px; }
.topbar-brand { display: flex; align-items: center; gap: 9px; min-width: 205px; color: #fff; }
.brand-symbol { width: 30px; height: 34px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.9); border-radius: 5px 11px 5px 11px; font-family: Georgia, serif; font-size: 21px; font-weight: 700; }
.topbar-brand strong, .topbar-brand small { display: block; }
.topbar-brand strong { font-size: 14px; letter-spacing: .14em; }
.topbar-brand small { margin-top: 2px; color: rgba(255,255,255,.76); font-size: 8px; letter-spacing: .2em; }
.global-search-wrap { position: relative; width: min(270px, 30vw); }
.global-search { width: 100%; height: 38px; display: flex; align-items: center; gap: 9px; padding: 0 13px; background: rgba(255,255,255,.14); color: #fff; }
.global-search:focus-within { background: rgba(255,255,255,.23); outline: 1px solid rgba(255,255,255,.38); }
.global-search > span { font-size: 23px; line-height: 1; transform: rotate(-15deg); }
.global-search input { width: 100%; border: 0; outline: 0; color: #fff; background: transparent; font-size: 13px; }
.global-search input::placeholder { color: rgba(255,255,255,.92); }
.global-search-results { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 80; overflow: hidden; padding: 6px; color: var(--ink); background: var(--panel); border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 14px 30px rgba(37, 24, 58, .22); }
.global-search-result, .global-search-empty { width: 100%; display: block; padding: 10px 11px; border-radius: 6px; text-align: left; }
.global-search-result { color: var(--ink); background: transparent; }
.global-search-result:hover, .global-search-result:focus-visible { background: var(--brand-soft); outline: 0; }
.global-search-result strong, .global-search-result small { display: block; }
.global-search-result strong { font-size: 12px; }
.global-search-result small, .global-search-empty { color: var(--muted); font-size: 11px; }
.global-search-empty { line-height: 1.4; }
.topbar-tools { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.topbar-icon, .notification-button { position: relative; width: 35px; height: 35px; display: grid; place-items: center; color: #fff; background: transparent; border-radius: 7px; font-size: 18px; }
.topbar-icon:hover, .notification-button:hover, .account-button:hover { background: rgba(255,255,255,.13); }
.notification-button > span { position: absolute; top: 4px; right: 5px; color: #ff3e56; font-size: 10px; }
.notification-button b { position: absolute; top: -4px; right: -4px; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; background: #f52f46; color: #fff; border-radius: 99px; font-size: 9px; }
.account-button { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 4px 4px 4px 7px; color: #fff; background: transparent; border-radius: 8px; text-align: left; }
.account-avatar { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #eab17a; color: #54392b; font-weight: 800; font-size: 12px; }
.account-button strong, .account-button small { display: block; white-space: nowrap; }
.account-button strong { font-size: 11px; }
.account-button small { margin-top: 2px; color: rgba(255,255,255,.68); font-size: 10px; }
.account-button > span:last-child { margin-left: 3px; font-size: 19px; }
.account-menu { position: fixed; top: 58px; right: 20px; z-index: 90; width: min(286px, calc(100vw - 24px)); padding: 8px; color: var(--ink); background: var(--panel); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 18px 38px rgba(37, 24, 58, .24); }
.account-menu-heading { display: grid; gap: 2px; padding: 10px 11px 12px; border-bottom: 1px solid var(--line); }
.account-menu-heading strong { font-size: 13px; }
.account-menu-heading small, .account-menu-heading span { color: var(--muted); font-size: 11px; }
.account-menu button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px 11px; color: var(--ink); background: transparent; border-radius: 6px; font-size: 12px; text-align: left; }
.account-menu button:hover, .account-menu button:focus-visible { background: var(--brand-soft); outline: 0; }
.account-menu button > span { width: 18px; color: var(--brand); font-size: 16px; text-align: center; }
.account-menu .account-menu-danger { color: #a22d3d; }
.account-menu .account-menu-danger > span { color: #a22d3d; }
.account-menu-divider { height: 1px; margin: 5px 0; background: var(--line); }
.topbar-action-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; background: rgba(26, 22, 36, .42); }
.topbar-action-card { position: relative; width: min(100%, 480px); padding: 28px; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.topbar-action-card h2 { margin: 8px 0 12px; font-size: 24px; }
.topbar-action-card p { color: var(--muted); font-size: 13px; line-height: 1.55; }
.topbar-action-card .module-action, .topbar-action-card .module-outline { margin-top: 18px; }
.topbar-action-close { position: absolute; top: 12px; right: 12px; width: 30px; height: 30px; color: var(--muted); background: transparent; border-radius: 7px; font-size: 22px; }
.topbar-action-close:hover, .topbar-action-close:focus-visible { background: var(--nav-active); outline: 0; }
body.quick-client-modal-open { overflow: hidden; }
.quick-client-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 16px; background: rgba(26, 22, 36, .48); }
.quick-client-modal-card { width: min(100%, 480px); max-height: min(88vh, 680px); padding: 26px 30px 22px; overflow-y: auto; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 14, 30, .22); }
.quick-client-modal-card .detail-panel-heading { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.quick-client-modal-card h3 { margin-top: 0; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 20px; letter-spacing: -.03em; }
.quick-client-form { display: grid; gap: 13px; margin-top: 18px; }
.quick-client-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.quick-client-form label em { color: var(--brand); font-style: normal; }
.quick-client-form input, .quick-client-form select { min-height: 36px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.quick-client-form input:focus, .quick-client-form select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.quick-client-responsible-field[hidden] { display: none; }
.quick-client-modal-actions { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 4px; }
.quick-client-modal-actions .module-action, .quick-client-modal-actions .module-outline { flex: 1 1 180px; }
body.quick-sale-modal-open { overflow: hidden; }
.quick-sale-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 16px; background: rgba(26, 22, 36, .48); }
.quick-sale-modal-card { width: min(100%, 560px); max-height: min(88vh, 720px); padding: 26px 30px 22px; overflow-y: auto; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 14, 30, .22); }
.quick-sale-modal-card .detail-panel-heading { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.quick-sale-modal-card h3 { margin-top: 0; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 20px; letter-spacing: -.03em; }
.quick-sale-modal-body { margin-top: 18px; }
.quick-sale-modal-body .detail-panel { margin-top: 0; padding: 0; background: transparent; border: 0; }
.quick-sale-modal-body .detail-panel-heading { display: none; }
.quick-sale-modal-body .sale-client-list { max-height: 52vh; overflow-y: auto; }
body.client-responsible-modal-open { overflow: hidden; }
.client-responsible-modal { position: fixed; inset: 0; z-index: 1120; display: grid; place-items: center; padding: 16px; background: rgba(26, 22, 36, .48); }
.client-responsible-modal-card { width: min(100%, 780px); max-height: min(90vh, 760px); padding: 26px 30px 22px; overflow-y: auto; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 14, 30, .22); }
.client-responsible-modal-card .detail-panel-heading { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.client-responsible-modal-card h3 { margin-top: 0; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 20px; letter-spacing: -.03em; }
.client-responsible-form { display: grid; gap: 16px; margin-top: 18px; }
.client-responsible-main-grid, .client-responsible-address-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 18px; }
.client-responsible-form label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.client-responsible-form label em { color: var(--brand); font-style: normal; }
.client-responsible-form input, .client-responsible-form select { min-height: 36px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.client-responsible-form input:focus, .client-responsible-form select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.client-responsible-form .client-phone-control { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 9px; }
.client-responsible-address { display: grid; gap: 9px; margin: 0; padding: 0; border: 0; }
.client-responsible-address legend { padding: 0 0 3px; color: #66616e; font-size: 14px; font-weight: 700; }
.client-responsible-address-grid > label:nth-child(2), .client-responsible-address-grid > label:nth-child(5) { grid-column: span 2; }
.client-responsible-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
body.quick-opportunity-modal-open { overflow: hidden; }
.quick-opportunity-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 16px; background: rgba(26, 22, 36, .48); }
.quick-opportunity-modal-card { width: min(100%, 560px); max-height: min(88vh, 760px); padding: 26px 30px 22px; overflow-y: auto; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 14, 30, .22); }
.quick-opportunity-modal-card .detail-panel-heading { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.quick-opportunity-modal-card h3 { margin-top: 0; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 20px; letter-spacing: -.03em; }
.quick-opportunity-form { display: grid; gap: 13px; margin-top: 18px; }
.quick-opportunity-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.quick-opportunity-form label em { color: var(--brand); font-style: normal; }
.quick-opportunity-form input, .quick-opportunity-form select, .quick-opportunity-form textarea { min-height: 36px; padding: 8px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.quick-opportunity-form textarea { min-height: 74px; resize: vertical; }
.quick-opportunity-form input:focus, .quick-opportunity-form select:focus, .quick-opportunity-form textarea:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.quick-opportunity-new-lead { justify-self: start; padding: 0; }
.quick-opportunity-modal-actions { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 4px; }
.quick-opportunity-modal-actions .module-action, .quick-opportunity-modal-actions .module-outline { flex: 1 1 180px; }
body.client-invite-modal-open { overflow: hidden; }
.client-invite-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 16px; background: rgba(26, 22, 36, .48); }
.client-invite-modal-card { width: min(100%, 540px); padding: 26px 30px 24px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 14, 30, .22); }
.client-invite-modal-card .detail-panel-heading { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.client-invite-modal-card h3 { margin-top: 0; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 20px; letter-spacing: -.03em; }
.client-invite-link-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; margin-top: 14px; }
.client-invite-link-row input { min-width: 0; min-height: 36px; padding: 0 10px; color: var(--muted); background: #f4f2f6; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.client-invite-link-row button { min-height: 36px; color: #fff; background: #079ee0; border-color: #079ee0; }
.client-invite-link-row button:hover { background: #087fb4; border-color: #087fb4; }
.client-invite-note { margin-top: 14px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.workspace { min-height: calc(100vh - 64px); }
.menu-backdrop { position: fixed; inset: 64px 0 0; z-index: 20; background: rgba(26, 22, 36, .36); }
.sidebar { position: fixed; inset: 64px auto 0 0; z-index: 30; width: var(--sidebar-width); overflow-y: auto; padding: 20px 10px 26px; color: var(--ink); background: var(--nav); box-shadow: 8px 0 25px rgba(25, 19, 36, .13); transform: translateX(-104%); transition: transform .22s ease; }
body.menu-open .sidebar { transform: translateX(0); }
.sidebar-heading { display: flex; align-items: center; justify-content: space-between; padding: 2px 9px 18px; border-bottom: 1px solid var(--line); }
.sidebar .eyebrow { color: var(--muted); }
.menu-close { width: 28px; height: 28px; display: grid; place-items: center; color: var(--muted); background: transparent; border-radius: 7px; font-size: 21px; }
.menu-close:hover { background: var(--nav-active); }
.primary-nav { display: grid; gap: 5px; padding-top: 15px; }
.nav-link, .nav-group-toggle { width: 100%; display: flex; align-items: center; gap: 11px; min-height: 39px; padding: 9px 11px; color: var(--nav-muted); background: transparent; border-radius: 9px; font-size: 13px; text-align: left; transition: background .16s ease, color .16s ease; }
.nav-link:hover, .nav-group-toggle:hover, .nav-link.active { color: var(--ink); background: var(--nav-active); }
.nav-link.active { box-shadow: inset 3px 0 var(--brand); }
.nav-icon { position: relative; width: 19px; height: 19px; flex: 0 0 19px; display: inline-block; color: var(--brand); font-size: 0; }
.nav-icon::before, .nav-icon::after { content: ""; position: absolute; display: block; }
.icon-home::before { left: 4px; top: 7px; width: 11px; height: 9px; background: currentColor; border-radius: 2px; }
.icon-home::after { left: 5px; top: 3px; width: 9px; height: 9px; background: var(--nav); border-left: 2px solid currentColor; border-top: 2px solid currentColor; border-radius: 2px; transform: rotate(45deg); }
.icon-dashboard::before { left: 3px; top: 3px; width: 5px; height: 5px; background: currentColor; border-radius: 1px; box-shadow: 8px 0 currentColor, 0 8px currentColor, 8px 8px currentColor; }
.icon-clients::before, .icon-client-lead::before { left: 4px; top: 2px; width: 5px; height: 5px; border: 2px solid currentColor; border-radius: 50%; box-shadow: 7px 1px 0 -1px var(--nav), 7px 1px 0 1px currentColor; }
.icon-clients::after, .icon-client-lead::after { left: 2px; top: 11px; width: 13px; height: 6px; border: 2px solid currentColor; border-bottom: 0; border-radius: 9px 9px 0 0; }
.icon-crm::before { left: 6px; top: 2px; width: 5px; height: 5px; border: 2px solid currentColor; border-radius: 50%; box-shadow: -5px 8px 0 -1px var(--nav), -5px 8px 0 1px currentColor, 6px 8px 0 -1px var(--nav), 6px 8px 0 1px currentColor; }
.icon-crm::after { left: 5px; top: 8px; width: 8px; height: 6px; border-top: 2px solid currentColor; transform: rotate(-32deg); box-shadow: 4px 2px 0 -1px currentColor; }
.icon-calendar::before { left: 2px; top: 4px; width: 14px; height: 12px; border: 2px solid currentColor; border-radius: 3px; }
.icon-calendar::after { left: 2px; top: 8px; width: 14px; height: 2px; background: currentColor; box-shadow: 4px -5px 0 -0.5px currentColor, 9px -5px 0 -0.5px currentColor; }
.icon-finance::before, .icon-cost::before { left: 2px; top: 2px; width: 15px; height: 15px; border: 2px solid currentColor; border-radius: 50%; }
.icon-finance::after, .icon-cost::after { content: "$"; left: 7px; top: 2px; color: currentColor; font-size: 11px; font-weight: 800; line-height: 17px; }
.icon-stock::before { left: 3px; bottom: 3px; width: 3px; height: 7px; background: currentColor; box-shadow: 5px -4px currentColor, 10px -8px currentColor; }
.icon-stock::after { left: 2px; bottom: 2px; width: 14px; height: 2px; background: currentColor; transform: rotate(-16deg); }
.icon-training::before { left: 4px; top: 4px; width: 10px; height: 10px; border: 2px solid currentColor; transform: rotate(45deg); }
.icon-training::after { left: 8px; top: 8px; width: 3px; height: 3px; background: currentColor; }
.icon-reports::before { left: 3px; top: 2px; width: 13px; height: 15px; border: 2px solid currentColor; border-radius: 2px; }
.icon-reports::after { left: 6px; top: 7px; width: 7px; height: 2px; background: currentColor; box-shadow: 0 4px currentColor; }
.icon-settings::before { left: 4px; top: 4px; width: 10px; height: 10px; border: 2px solid currentColor; border-radius: 50%; }
.icon-settings::after { left: 8px; top: 1px; width: 3px; height: 17px; background: currentColor; border-radius: 2px; box-shadow: 0 0 0 0 currentColor; transform: rotate(45deg); opacity: .75; }
.icon-resource::before { left: 5px; top: 5px; width: 9px; height: 9px; border: 2px solid currentColor; transform: rotate(45deg); }
.icon-store::before { left: 3px; top: 6px; width: 13px; height: 10px; border: 2px solid currentColor; border-radius: 2px; }
.icon-store::after { left: 6px; top: 3px; width: 7px; height: 6px; border: 2px solid currentColor; border-bottom: 0; border-radius: 5px 5px 0 0; }
.icon-help::before { content: "?"; left: 4px; top: 0; color: currentColor; font-size: 16px; font-weight: 800; line-height: 19px; }
.icon-graduation::before { left: 4px; top: 2px; width: 10px; height: 10px; border: 2px solid currentColor; border-radius: 50%; }
.icon-graduation::after { left: 6px; top: 13px; width: 7px; height: 4px; border: 2px solid currentColor; border-top: 0; border-radius: 0 0 6px 6px; }
.nav-group-toggle > span:first-child { display: flex; align-items: center; gap: 11px; }
.nav-group-toggle .chevron { margin-left: auto; color: #9b969f; font-size: 15px; }
.nav-group-toggle[aria-expanded="true"] { color: var(--ink); }
.nav-submenu { display: none; gap: 2px; margin: 2px 0 5px 30px; padding-left: 12px; border-left: 1px solid #ddd9e3; }
.nav-submenu.open { display: grid; }
.nav-submenu a { padding: 7px 8px; color: #77737f; border-radius: 6px; font-size: 12px; }
.nav-submenu a:hover, .nav-submenu a.active { color: var(--ink); background: #efedf3; }
.nav-submenu .nav-group-toggle { min-height: 34px; padding: 7px 8px; font-size: 12px; }
.nav-submenu .nav-group-toggle > span:first-child { gap: 7px; }
.nav-submenu .nav-group-toggle .nav-icon { width: 19px; flex-basis: 19px; }
.nav-divider { height: 1px; margin: 11px 8px; background: #dfdce3; }
.nav-link-muted { color: #77737f; }
.platform-sidebar-heading, .platform-nav { display: none; }
body.platform-mode .academy-sidebar-heading, body.platform-mode .academy-nav { display: none; }
body.platform-mode .platform-sidebar-heading { display: flex; }
body.platform-mode .platform-nav { display: grid; }
.icon-messages::before { left: 2px; top: 3px; width: 15px; height: 11px; border: 2px solid currentColor; border-radius: 3px; }
.icon-messages::after { left: 5px; top: 12px; width: 5px; height: 5px; border-left: 2px solid currentColor; transform: skew(-25deg); }
.icon-messages::before { left: 2px; top: 3px; width: 15px; height: 11px; border: 2px solid currentColor; border-radius: 3px; }
.icon-messages::after { left: 5px; top: 12px; width: 5px; height: 5px; border-left: 2px solid currentColor; transform: skew(-25deg); }

.main-content { width: min(100%, 1360px); margin: 0 auto; padding: 31px 24px 28px; transition: width .22s ease, margin-left .22s ease; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 23px; }
.eyebrow { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
h1 { margin-top: 8px; font-size: clamp(29px, 4vw, 42px); letter-spacing: -.06em; line-height: 1.05; }
.page-heading h1 { font-size: clamp(25px, 3vw, 32px); letter-spacing: -.05em; }
h2 { margin-top: 6px; font-size: 21px; letter-spacing: -.04em; }
.quick-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.quick-actions button, .refresh-button { min-height: 34px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; color: var(--brand); background: #fff; border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 2px 4px rgba(38,31,49,.03); font-size: 11px; font-weight: 700; }
.quick-actions button:hover, .refresh-button:hover { background: var(--brand-soft); border-color: #d4c1ea; }
.quick-actions button span { font-size: 16px; }
.quick-actions button:nth-child(1) { color: #e77919; }
.quick-actions button:nth-child(2) { color: #1685d2; }
.quick-actions button:nth-child(3) { color: #3c9b62; }
.refresh-button:disabled { opacity: .65; cursor: wait; }

.dashboard-overview { display: grid; grid-template-columns: minmax(205px, .35fr) minmax(0, 1fr); gap: 13px; margin-bottom: 13px; }
.dashboard-overview .admin-summary { grid-template-columns: 1fr; gap: 13px; margin: 0; }
.dashboard-overview .notification-panel { min-height: 245px; margin-top: 0; }
.admin-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-bottom: 15px; }
.summary-card { min-height: 116px; display: grid; align-content: space-between; padding: 17px 19px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.summary-card-purple { background: #332954; border-color: #332954; color: #fff; }
.summary-card-heading { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.summary-card-purple .summary-card-heading { color: #c3b9d7; }
.summary-icon { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 7px; font-size: 14px; font-weight: 700; }
.summary-icon-blue { color: var(--blue-ink); background: var(--blue-soft); }
.summary-icon-green { color: var(--mint-ink); background: var(--mint); }
.summary-icon-lilac { color: #d2c4ff; background: #4f3f83; }
.summary-card strong { margin-top: 9px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 28px; letter-spacing: -.05em; }
.summary-card > span:last-child { color: var(--muted); font-size: 10px; }
.summary-card-purple > span:last-child { color: #b1a7c8; }

.welcome-panel { position: relative; min-height: 235px; display: flex; align-items: center; justify-content: space-between; gap: 30px; overflow: hidden; padding: 32px 42px; color: #fff; background: linear-gradient(120deg, #3f2470, #4e2b80); border-radius: 19px; box-shadow: var(--shadow); }
.welcome-panel::before, .welcome-panel::after { content: ''; position: absolute; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; pointer-events: none; }
.welcome-panel::before { width: 350px; height: 350px; top: -100px; right: 25px; }
.welcome-panel::after { width: 255px; height: 255px; top: -52px; right: 73px; }
.welcome-panel > div:first-child { position: relative; z-index: 2; max-width: 610px; }
.hero-kicker { color: #c9b7ff; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.welcome-panel h2 { max-width: 600px; margin: 12px 0 13px; font-size: clamp(25px, 3.4vw, 35px); line-height: 1.07; letter-spacing: -.06em; }
.welcome-panel p { max-width: 560px; color: #d1c8df; font-size: 13px; line-height: 1.6; }
.hero-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 21px; padding-bottom: 6px; color: #fff; border-bottom: 1px solid #8e72d1; font-size: 12px; font-weight: 700; }
.welcome-orbit { position: relative; z-index: 2; width: 185px; height: 185px; flex: 0 0 185px; display: grid; place-items: center; margin-right: 35px; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; }
.welcome-orbit::before { content: ''; position: absolute; inset: 25px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; }
.welcome-orbit span { position: relative; width: 74px; height: 74px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #8059db; font-family: Georgia, serif; font-size: 34px; }
.welcome-orbit small { position: absolute; right: -5px; bottom: 15px; color: #cbbdff; font-size: 8px; letter-spacing: .12em; }

.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin: 15px 0; }
.metric-card { min-height: 116px; display: grid; align-content: space-between; padding: 18px 19px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.metric-card-dark { color: #fff; background: #32294f; border-color: #32294f; }
.metric-heading { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.metric-card-dark .metric-heading { color: #b8aecf; }
.metric-icon { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; color: #d5c6ff; background: #4c3d79; font-size: 13px; font-weight: 700; }
.metric-icon-lilac { color: var(--brand); background: var(--brand-soft); }
.metric-icon-mint { color: var(--mint-ink); background: var(--mint); }
.metric-card strong { margin-top: 8px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 27px; letter-spacing: -.06em; }
.metric-card > span:last-child { color: var(--muted); font-size: 10px; }
.metric-card-dark > span:last-child { color: #b8aecf; }

.content-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 13px; }
.panel, .notification-panel { min-width: 0; padding: 21px 22px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.panel { min-height: 283px; }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.soft-tag { padding: 6px 9px; color: var(--mint-ink); background: var(--mint); border-radius: 99px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.soft-tag-neutral { color: #6d6680; background: #f1eef6; }
.panel-link { margin-top: 6px; color: var(--brand); font-size: 11px; font-weight: 700; white-space: nowrap; }
.cycle-dates { display: flex; align-items: center; gap: 13px; margin: 27px 0 23px; }
.cycle-dates > div:not(.cycle-line) { display: grid; gap: 5px; }
.cycle-dates span { color: var(--muted); font-size: 10px; }
.cycle-dates strong { font-family: "Trebuchet MS", Inter, sans-serif; font-size: 16px; }
.align-right { margin-left: auto; text-align: right; }
.cycle-line { position: relative; flex: 1; height: 1px; background: #ddd8e7; }
.cycle-line::after { content: ''; position: absolute; top: -3px; left: 48%; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); }
.progress-block { display: grid; gap: 9px; }
.progress-label { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
.progress-label strong { color: var(--ink); }
.progress-track { height: 8px; overflow: hidden; background: #efedf4; border-radius: 99px; }
.progress-track span { display: block; width: 0; height: 100%; background: var(--brand); border-radius: inherit; transition: width .35s ease; }
.info-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 21px; padding: 11px; color: #777082; background: #fbfaff; border-radius: 8px; }
.info-note p { font-size: 10px; line-height: 1.45; }
.note-mark { width: 15px; height: 15px; flex: 0 0 15px; display: grid; place-items: center; color: var(--brand); border: 1px solid #cfc3fb; border-radius: 50%; font-size: 9px; font-weight: 700; }
.schedule-list { display: grid; gap: 7px; margin-top: 19px; }
.schedule-row { display: flex; align-items: center; gap: 11px; padding: 9px 0; border-bottom: 1px solid #f0efed; }
.schedule-row:last-child { border-bottom: 0; }
.date-tile { width: 42px; height: 45px; flex: 0 0 42px; display: grid; place-content: center; gap: 2px; color: var(--brand); background: var(--brand-soft); border-radius: 8px; text-align: center; }
.date-tile-alt { color: #bd713c; background: #f9ede3; }
.date-tile strong { font-family: "Trebuchet MS", Inter, sans-serif; font-size: 17px; line-height: 1; }
.date-tile span { font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.schedule-copy { display: grid; min-width: 0; gap: 4px; }
.schedule-copy strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-copy span { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.schedule-state { margin-left: auto; padding: 5px 8px; color: var(--mint-ink); background: var(--mint); border-radius: 99px; font-size: 9px; font-weight: 700; white-space: nowrap; }
.schedule-state-muted { color: #a05a2c; background: #f9ede3; }
.empty-state { padding: 20px 0; color: var(--muted); font-size: 11px; }
.notification-panel { margin-top: 13px; }
.notification-panel-actions { display: flex; align-items: center; gap: 10px; }
.notification-empty { display: flex; align-items: center; gap: 12px; min-height: 64px; margin-top: 17px; padding: 13px; background: #faf9fb; border-radius: 9px; }
.notification-empty-icon { width: 26px; height: 26px; display: grid; place-items: center; color: #b490db; background: var(--brand-soft); border-radius: 50%; font-size: 13px; }
.notification-empty strong { display: block; font-size: 12px; }
.notification-empty p { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.notification-list { display: grid; gap: 8px; margin-top: 17px; }
.notification-item { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 11px 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.notification-item .notification-empty-icon { flex: 0 0 26px; }
.notification-copy { min-width: 0; }
.notification-copy strong { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.notification-copy p { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.notification-read-button { margin-left: auto; flex: 0 0 auto; padding: 5px 0; font-size: 10px; white-space: nowrap; }
.notification-read-label { margin-left: auto; color: var(--muted); font-size: 10px; white-space: nowrap; }
.notification-item-read { opacity: .72; }
.notification-drawer { position: fixed; top: 76px; right: 22px; z-index: 55; width: min(420px, calc(100vw - 32px)); max-height: min(680px, calc(100vh - 98px)); padding: 20px; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 36px rgba(30, 22, 42, .2); }
.notification-drawer[hidden] { display: none; }
.notification-drawer-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.notification-drawer-heading h2 { margin-top: 6px; color: var(--ink); font-family: "Trebuchet MS", Inter, sans-serif; font-size: 20px; }
.notification-drawer-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 13px 0 4px; }
.notification-drawer-toolbar [data-notification-tab="unread"] { color: var(--brand); font-weight: 800; }
.notification-drawer-list { display: grid; gap: 9px; margin-top: 10px; }
.notification-drawer-item { display: flex; align-items: flex-start; gap: 10px; padding: 12px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 8px; }
.notification-drawer-item .notification-copy { flex: 1 1 auto; }
.notification-drawer-item .notification-copy strong { white-space: normal; }
.notification-drawer-item .notification-copy small { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; }
.news-panel { margin-top: 13px; padding: 21px 22px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.news-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 10px; margin-top: 17px; }
.news-card { min-height: 154px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 17px; color: var(--ink); background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.news-card-featured { color: #fff; background: linear-gradient(120deg, #25174c, #5b3290); border-color: transparent; box-shadow: 0 9px 22px rgba(50, 28, 93, .16); }
.news-kicker { color: #cbbdff; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.news-card strong { max-width: 310px; font-size: 14px; line-height: 1.2; }
.news-card p { color: var(--muted); font-size: 10px; line-height: 1.45; }
.news-card-featured p { color: #d7cce7; }
.news-card .hero-link { margin-top: auto; }
.news-icon { width: 26px; height: 26px; display: grid; place-items: center; color: var(--brand); background: var(--brand-soft); border-radius: 8px; font-size: 14px; font-weight: 800; }
.news-icon-mint { color: var(--mint-ink); background: var(--mint); }
.page-footer { display: flex; justify-content: space-between; gap: 12px; padding: 21px 3px 0; color: #aaa8b0; font-size: 10px; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 60; max-width: min(360px, calc(100vw - 44px)); padding: 12px 16px; color: #fff; background: var(--ink); border-radius: 9px; box-shadow: var(--shadow); font-size: 12px; opacity: 0; pointer-events: none; transform: translateY(8px); transition: .22s ease; }
.toast.visible { opacity: 1; transform: translateY(0); }
.module-view[hidden] { display: none; }
.module-view { min-height: 360px; padding: 25px 27px; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 8px 26px rgba(46, 35, 68, .04); }
.module-skeleton { display: grid; gap: 14px; min-height: 290px; padding: 12px 0; align-content: start; }
.module-skeleton span { display: block; height: 48px; border-radius: 9px; background: linear-gradient(90deg, #f4f0f7 25%, #fbf9fc 50%, #f4f0f7 75%); background-size: 200% 100%; animation: module-skeleton-shimmer 1.2s ease-in-out infinite; }
.module-skeleton span:first-child { width: 42%; height: 30px; }
.module-skeleton span:nth-child(2) { width: 78%; }
.module-skeleton span:nth-child(3) { width: 64%; }
@keyframes module-skeleton-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.module-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 21px; border-bottom: 1px solid var(--line); }
.module-heading-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 16px; }
.module-heading h2 { margin-top: 8px; font-size: 28px; letter-spacing: -.05em; }
.module-heading p { max-width: 650px; margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.module-action, .module-outline { min-height: 35px; padding: 0 13px; color: var(--brand); background: var(--brand-soft); border: 1px solid #d8c5ea; border-radius: 7px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.module-action:not(:disabled):hover, .module-outline:not(:disabled):hover { color: #fff; background: var(--brand); }
.module-heading-actions-inline { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }

.module-action-danger { color: #fff; background: #b53f4f; border-color: #b53f4f; }

.module-action-danger:not(:disabled):hover { background: #8f2d3c; border-color: #8f2d3c; }
.module-action:disabled, .module-outline:disabled { opacity: .55; cursor: not-allowed; }
.module-stats, .agenda-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin: 18px 0; }
.module-stats article, .agenda-summary > div { display: grid; gap: 7px; padding: 13px 15px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.module-stats span, .agenda-summary span { color: var(--muted); font-size: 10px; }
.module-stats strong, .agenda-summary strong { font-family: "Trebuchet MS", Inter, sans-serif; font-size: 18px; letter-spacing: -.04em; }
.dashboard-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0 3px; color: var(--muted); font-size: 10px; }
.dashboard-toolbar strong { color: var(--ink); }
.dashboard-filter-tag { padding: 6px 9px; color: var(--brand); background: var(--brand-soft); border-radius: 99px; font-size: 9px; font-weight: 700; }
.dashboard-crm-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 12px 0 4px; }
.dashboard-crm-toolbar label, .dashboard-crm-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.dashboard-crm-toolbar select, .dashboard-crm-filter-panel select, .dashboard-crm-filter-panel input[type="date"] { min-width: 190px; min-height: 35px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.dashboard-crm-toolbar select:focus, .dashboard-crm-filter-panel select:focus, .dashboard-crm-filter-panel input:focus { outline: 2px solid #cbb2e7; border-color: var(--brand); }
.dashboard-crm-filter-panel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 11px; margin: 10px 0 13px; padding: 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.dashboard-crm-filter-panel input:disabled { color: var(--muted-light); background: #f2f0f3; cursor: not-allowed; }
.dashboard-crm-filter-panel .report-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 35px; }
.dashboard-crm-filter-panel .report-checkbox-field input { accent-color: var(--brand); }
.dashboard-crm-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; grid-column: 1 / -1; }
.dashboard-gerencial-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 12px 0 4px; }
.dashboard-gerencial-toolbar label, .dashboard-gerencial-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.dashboard-gerencial-toolbar input, .dashboard-gerencial-toolbar select, .dashboard-gerencial-filter-panel input[type="month"] { min-width: 190px; min-height: 35px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.dashboard-gerencial-filter-panel { display: flex; align-items: flex-end; gap: 16px; margin: 10px 0 13px; padding: 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.dashboard-gerencial-filter-panel .report-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 35px; }
.dashboard-gerencial-filter-panel .report-checkbox-field input { accent-color: var(--brand); }
.dashboard-gerencial-filter-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.dashboard-professors-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 12px 0 4px; }
.dashboard-professors-toolbar label, .dashboard-professors-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.dashboard-professors-toolbar input, .dashboard-professors-toolbar select, .dashboard-professors-filter-panel select, .dashboard-professors-filter-panel input[type="date"] { min-width: 190px; min-height: 35px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.dashboard-professors-filter-panel { display: flex; align-items: flex-end; gap: 16px; margin: 10px 0 13px; padding: 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.dashboard-professors-filter-panel input:disabled { color: var(--muted-light); background: #f2f0f3; cursor: not-allowed; }
.dashboard-professors-filter-panel .report-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 35px; }
.dashboard-professors-filter-panel .report-checkbox-field input { accent-color: var(--brand); }
.dashboard-professors-filter-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.dashboard-clients-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 12px 0 4px; }
.dashboard-clients-toolbar label, .dashboard-clients-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.dashboard-clients-toolbar input, .dashboard-clients-filter-panel select, .dashboard-clients-filter-panel input[type="date"] { min-width: 190px; min-height: 35px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.dashboard-clients-filter-panel { display: flex; align-items: flex-end; gap: 16px; margin: 10px 0 13px; padding: 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.dashboard-clients-filter-panel input:disabled { color: var(--muted-light); background: #f2f0f3; cursor: not-allowed; }
.dashboard-clients-filter-panel .report-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 35px; }
.dashboard-clients-filter-panel .report-checkbox-field input { accent-color: var(--brand); }
.dashboard-clients-filter-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.dashboard-finance-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin: 12px 0 4px; color: var(--muted); font-size: 11px; }
.dashboard-finance-toolbar strong { color: var(--ink); font-weight: 600; }
.dashboard-finance-filter-panel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; gap: 11px; margin: 10px 0 13px; padding: 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.dashboard-finance-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.dashboard-finance-filter-panel select, .dashboard-finance-filter-panel input[type="month"] { min-width: 0; min-height: 35px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.dashboard-finance-filter-panel select:focus, .dashboard-finance-filter-panel input:focus { outline: 2px solid #cbb2e7; border-color: var(--brand); }
.dashboard-finance-filter-panel .report-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 35px; }
.dashboard-finance-filter-panel .report-checkbox-field input { accent-color: var(--brand); }
.dashboard-finance-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; grid-column: 1 / -1; }
.dashboard-agenda-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 12px 0 4px; }
.dashboard-agenda-toolbar label, .dashboard-agenda-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.dashboard-agenda-toolbar input, .dashboard-agenda-filter-panel select, .dashboard-agenda-filter-panel input[type="date"] { min-width: 190px; min-height: 35px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.dashboard-agenda-filter-panel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; gap: 11px; margin: 10px 0 13px; padding: 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.dashboard-agenda-filter-panel input:disabled { color: var(--muted-light); background: #f2f0f3; cursor: not-allowed; }
.dashboard-agenda-filter-panel .report-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 35px; }
.dashboard-agenda-filter-panel .report-checkbox-field input { accent-color: var(--brand); }
.dashboard-agenda-filter-drawer { position: fixed; top: 63px; right: 0; z-index: 30; width: min(390px, calc(100vw - 24px)); max-height: calc(100vh - 63px); overflow: auto; padding: 18px 22px 24px; background: #fff; border-left: 1px solid var(--line); box-shadow: -12px 0 28px rgba(43, 24, 66, .14); }
.dashboard-agenda-filter-drawer[hidden] { display: none; }
.dashboard-filter-drawer-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; color: var(--ink); font-size: 16px; }
.dashboard-filter-drawer-close { width: 30px; height: 30px; color: var(--muted); background: transparent; border: 0; font-size: 28px; line-height: 1; cursor: pointer; }
.dashboard-filter-drawer-close:hover { color: var(--ink); }
.dashboard-agenda-filter-drawer .dashboard-agenda-filter-panel { grid-template-columns: 1fr; align-items: stretch; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.dashboard-agenda-filter-drawer .dashboard-agenda-filter-panel label { min-width: 0; }
.dashboard-agenda-filter-drawer .dashboard-agenda-filter-panel select, .dashboard-agenda-filter-drawer .dashboard-agenda-filter-panel input[type="date"] { width: 100%; min-width: 0; }
.dashboard-agenda-filter-drawer .dashboard-agenda-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 18px; }
.dashboard-agenda-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; grid-column: 1 / -1; }
.dashboard-training-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 12px 0 4px; color: var(--muted); font-size: 11px; }
.dashboard-training-toolbar strong { color: var(--ink); font-weight: 600; }
.dashboard-training-filter-panel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: end; gap: 11px; margin: 10px 0 13px; padding: 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.dashboard-training-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.dashboard-training-filter-panel select, .dashboard-training-filter-panel input[type="date"] { min-width: 0; min-height: 35px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.dashboard-training-filter-panel input:disabled { color: var(--muted-light); background: #f2f0f3; cursor: not-allowed; }
.dashboard-training-filter-panel .report-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 35px; }
.dashboard-training-filter-panel .report-checkbox-field input { accent-color: var(--brand); }
.dashboard-training-filter-drawer { position: fixed; top: 63px; right: 0; z-index: 30; width: min(390px, calc(100vw - 24px)); max-height: calc(100vh - 63px); overflow: auto; padding: 18px 22px 24px; background: #fff; border-left: 1px solid var(--line); box-shadow: -12px 0 28px rgba(43, 24, 66, .14); }
.dashboard-training-filter-drawer[hidden] { display: none; }
.dashboard-training-filter-drawer .dashboard-training-filter-panel { grid-template-columns: 1fr; align-items: stretch; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.dashboard-training-filter-drawer .dashboard-training-filter-panel label { min-width: 0; }
.dashboard-training-filter-drawer .dashboard-training-filter-panel select, .dashboard-training-filter-drawer .dashboard-training-filter-panel input[type="date"] { width: 100%; min-width: 0; }
.dashboard-training-filter-drawer .dashboard-training-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 18px; }
.dashboard-training-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; grid-column: 1 / -1; }
.dashboard-grid.dashboard-training-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-training-grid-bottom > div { grid-column: 1 / -1; }
.dashboard-donut-layout { display: grid; grid-template-columns: minmax(125px, 1fr) minmax(145px, 1.1fr); align-items: center; gap: 16px; min-height: 190px; }
.dashboard-donut { position: relative; width: 158px; height: 158px; display: grid; place-items: center; margin: 0 auto; border-radius: 50%; }
.dashboard-donut::after { content: ''; width: 91px; height: 91px; background: #fff; border-radius: 50%; }
.dashboard-donut span { position: absolute; z-index: 1; color: var(--muted); font-size: 11px; font-weight: 700; }
.dashboard-donut-legend { display: grid; gap: 10px; }
.dashboard-donut-legend > div { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: 7px; font-size: 10px; }
.dashboard-donut-legend i { width: 9px; height: 9px; border-radius: 50%; }
.dashboard-donut-legend span { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.dashboard-donut-legend strong { color: var(--ink); font-size: 11px; }
.dashboard-panel-actions { display: flex; align-items: center; gap: 10px; }
.dashboard-stats { grid-template-columns: repeat(4, 1fr); margin-top: 13px; }
.dashboard-metric { position: relative; overflow: hidden; min-height: 82px; }
.dashboard-metric-action { cursor: pointer; }
.dashboard-stats button.dashboard-metric { width: 100%; padding: 13px 15px; color: var(--ink); text-align: left; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.dashboard-stats button.dashboard-metric { display: grid; gap: 7px; }
.dashboard-stats button.dashboard-metric:hover, .dashboard-stats button.dashboard-metric:focus-visible { border-color: #cbb2e7; outline: 0; box-shadow: 0 0 0 2px rgba(123, 63, 179, .12); }
.dashboard-stats button.dashboard-metric:focus-visible { outline: 2px solid #cbb2e7; outline-offset: 1px; }
.dashboard-metric::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: #c7bfd2; }
.dashboard-metric-purple::before { background: var(--brand); }
.dashboard-metric-orange::before { background: #db8c4e; }
.dashboard-metric-green::before { background: #69aa8b; }
.dashboard-metric small { color: var(--muted); font-size: 9px; }
.dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 13px; }
.dashboard-grid > div { display: grid; align-content: start; gap: 13px; }
.dashboard-panel { min-width: 0; margin: 0; }
.dashboard-panel .panel-header { margin-bottom: 4px; }
.dashboard-panel .panel-header .table-link { flex: 0 0 auto; }
.dashboard-list { display: grid; gap: 0; }
.dashboard-list-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 9px 0; border-bottom: 1px solid #f0eef2; }
.dashboard-list-row:last-child { border-bottom: 0; }
.dashboard-list-row > div { display: grid; min-width: 0; gap: 4px; }
.dashboard-list-row strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-list-row span { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-list-row b { flex: 0 0 auto; color: var(--brand); font-size: 9px; font-weight: 700; }
.dashboard-kpi-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.dashboard-kpi-list > div { display: grid; gap: 5px; padding: 11px; background: #faf9fb; border-radius: 7px; }
.dashboard-kpi-list span { color: var(--muted); font-size: 9px; }
.dashboard-kpi-list strong { font-family: "Trebuchet MS", Inter, sans-serif; font-size: 15px; letter-spacing: -.04em; }
.dashboard-bars { display: grid; gap: 12px; }
.dashboard-chart { position: relative; min-height: 210px; padding: 10px 8px 0 39px; }
.dashboard-chart-grid { position: absolute; inset: 10px 8px 31px 39px; display: flex; flex-direction: column; justify-content: space-between; pointer-events: none; }
.dashboard-chart-grid::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, transparent 0 calc(50% - 1px), #eeeaf1 50% calc(50% + 1px)); border-top: 1px solid #eeeaf1; border-bottom: 1px solid #eeeaf1; }
.dashboard-chart-grid span { position: relative; z-index: 1; width: max-content; padding-right: 5px; color: var(--muted); background: var(--panel); font-size: 9px; transform: translateX(-39px); }
.dashboard-chart-columns { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 17px; height: 170px; border-bottom: 1px solid #d8d3df; }
.dashboard-chart-column { display: grid; grid-template-rows: 1fr auto; align-items: end; gap: 8px; min-width: 0; height: 100%; text-align: center; }
.dashboard-chart-column > span { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-chart-bars { display: flex; align-items: end; justify-content: center; gap: 3px; height: 100%; }
.dashboard-chart-bar { display: block; width: min(29px, 42%); min-height: 0; background: #50ad58; border-radius: 4px 4px 0 0; }
.dashboard-chart-bar-current { background: #50ad58; }
.dashboard-chart-bar-compare { background: #6cc1e7; }
.dashboard-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 10px; color: var(--muted); font-size: 9px; }
.dashboard-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.dashboard-chart-legend i { width: 9px; height: 9px; display: inline-block; border-radius: 2px; }
.cashflow-daily-chart .dashboard-chart-columns { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
.cashflow-daily-chart .dashboard-chart-bar { width: min(10px, 42%); }
.cashflow-daily-chart .dashboard-chart-column > span { font-size: 8px; }
.dashboard-source-note { margin: 16px 0 0; }
.dashboard-performance-table { overflow-x: auto; }
.dashboard-performance-table table { min-width: 760px; }
.dashboard-performance-table th,
.dashboard-performance-table td { white-space: nowrap; }
.dashboard-performance-toggle { display: block; margin: 12px auto 0; }
.dashboard-bar-row { display: grid; gap: 6px; }
.dashboard-bar-row > div { display: flex; justify-content: space-between; gap: 12px; font-size: 10px; }
.dashboard-bar-row span { color: var(--muted); }
.dashboard-bar-row strong { color: var(--ink); }
.dashboard-bar-track { display: block; height: 7px; overflow: hidden; background: #efedf4; border-radius: 99px; }
.dashboard-bar-track i { display: block; height: 100%; background: linear-gradient(90deg, #7b3fb3, #b78adb); border-radius: inherit; }
.dashboard-empty { display: flex; align-items: center; gap: 10px; min-height: 76px; padding: 12px; background: #faf9fb; border-radius: 8px; }
.dashboard-empty-mark { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 27px; color: var(--brand); background: var(--brand-soft); border-radius: 50%; font-size: 13px; font-weight: 800; }
.dashboard-empty strong { display: block; font-size: 11px; }
.dashboard-empty p { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.client-summary { grid-template-columns: repeat(3, 1fr); }
.client-filter-panel { display: grid; gap: 13px; margin: 18px 0 12px; padding: 15px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.client-filter-grid { display: grid; grid-template-columns: minmax(180px, 1.45fr) repeat(4, minmax(110px, 1fr)); gap: 10px; }
.client-filter-field { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.client-filter-field input, .client-filter-field select, .client-results-bar select { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 10px; }
.client-filter-field input:focus, .client-filter-field select:focus, .client-results-bar select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.client-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 34px; color: var(--muted); font-size: 10px; font-weight: 600; }
.client-checkbox-field input { width: 15px; height: 15px; accent-color: var(--brand); }
.client-filter-footer { display: flex; align-items: center; gap: 12px; }
.client-filter-footer .detail-note { margin: 0; }
.client-filter-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.client-results-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 13px 0 9px; }
.client-results-bar label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.client-results-controls { display: flex; align-items: center; gap: 12px; }
.client-view-toggle { min-height: 30px; padding: 0 10px; font-size: 10px; }
.client-view-toggle[aria-pressed="true"] { color: #fff; background: var(--brand); border-color: var(--brand); }
.client-results-bar select { min-height: 30px; }
.client-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; color: var(--muted); font-size: 10px; }
.client-pagination > div { display: flex; align-items: center; gap: 10px; }
.client-pagination strong { color: var(--ink); font-size: 10px; }
.client-pagination .module-outline { min-height: 30px; padding: 0 9px; font-size: 10px; }
.client-parity-module { min-height: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.client-parity-module .module-heading { align-items: center; padding: 12px 0 16px; border-bottom: 0; }
.client-parity-module .module-heading > div:first-child { flex: 1 1 auto; }
.client-parity-module .module-heading .eyebrow, .client-parity-module .module-heading p { display: none; }
.client-parity-module .module-heading > div:first-child { display: flex; align-items: flex-end; gap: 16px; }
.client-parity-module .module-heading h2 { margin: 0; font-family: Inter, Arial, sans-serif; font-size: 20px; letter-spacing: -.03em; }
.client-inline-search { display: flex; align-items: center; gap: 8px; min-width: 195px; min-height: 31px; padding: 0 5px 0 0; color: #66616e; border-bottom: 1px solid #d3cdd7; font-size: 14px; font-weight: 400; }
.client-inline-search span { align-self: flex-start; padding-top: 2px; }
.client-inline-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 13px; }
.client-inline-search input::placeholder { color: #77737f; opacity: 1; }
.client-inline-search b { color: #55505b; font-size: 20px; font-weight: 400; line-height: 1; }
.client-parity-module .module-heading-actions { flex: 0 0 auto; }
.client-page-actions { display: flex; align-items: center; gap: 16px; }
.client-page-actions button { min-height: 35px; font-size: 12px; }
.client-page-actions .client-new-action { color: #fff; background: #079ee0; border-color: #079ee0; }
.client-page-actions .client-new-action:hover { background: #087fb4; border-color: #087fb4; }
.client-page-actions .client-invite-action { color: #078bd0; background: transparent; border: 2px solid #079ee0; }
.client-page-actions .client-invite-action:hover { color: #fff; background: #079ee0; border-color: #079ee0; }
.client-page-actions .client-header-toggle, .client-page-actions .client-filter-toggle { min-height: 35px; padding: 0 2px; color: #1c1b20; background: transparent; border: 0; border-radius: 0; font-weight: 700; }
.client-page-actions .client-header-toggle:hover, .client-page-actions .client-header-toggle[aria-pressed="true"] { color: #078bd0; background: transparent; }
.client-page-actions .client-filter-toggle:hover { color: #078bd0; background: transparent; }
.client-parity-module .client-filter-panel { margin: 0 0 12px; }
.client-parity-module .table-wrap { overflow-x: auto; background: #fff; border: 1px solid #eeeaf1; border-radius: 9px; }
.client-parity-module table { min-width: 760px; }
.client-parity-module th { padding: 13px 25px; color: #66616e; background: #fff; font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.client-parity-module td { padding: 10px 25px; color: #77737f; font-size: 13px; }
.client-parity-module td strong { color: #77737f; font-size: 13px; font-weight: 500; }
.client-parity-module td small { font-size: 10px; }
.client-parity-module .client-avatar { width: 39px; height: 39px; flex-basis: 39px; font-size: 10px; }
.client-parity-module .client-row-icon { width: 28px; height: 28px; color: #77737f; font-size: 22px; }
.client-parity-module .client-row-icon:hover, .client-parity-module .client-row-icon:focus-visible { color: #078bd0; background: #f0f7fb; border-color: #d5ebf7; }
.client-parity-module .client-pagination { margin-top: 0; padding: 12px 8px 0; justify-content: flex-end; gap: 22px; }
.client-parity-module .client-pagination-page, .client-parity-module .client-page-size-control { display: flex; align-items: center; gap: 7px; color: #77737f; font-size: 12px; }
.client-parity-module .client-pagination-page strong { font-size: 12px; font-weight: 500; }
.client-parity-module .client-pagination-chevron { color: #77737f; font-size: 15px; }
.client-parity-module .client-page-size-control select { min-height: 29px; padding: 0 20px 0 7px; color: #77737f; background: transparent; border: 0; border-bottom: 1px solid #d9d4dc; border-radius: 0; font-size: 12px; }
.client-parity-module .client-pagination-range { color: #77737f; font-size: 12px; }
.client-parity-module .client-pagination-arrows { gap: 3px !important; }
.client-parity-module .client-page-arrow { width: 29px; height: 29px; color: #77737f; background: transparent; border-radius: 50%; font-size: 23px; line-height: 1; }
.client-parity-module .client-page-arrow:hover:not(:disabled) { color: #078bd0; background: #f0f7fb; }
.client-parity-module .client-page-arrow:disabled { color: #c7c2ca; cursor: not-allowed; }
.automation-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.automation-summary article { min-height: 84px; }
.automation-summary article small { color: var(--muted); font-size: 9px; }
.automation-toolbar { align-items: flex-end; }
.automation-filters { display: grid; grid-template-columns: minmax(190px, 1.5fr) minmax(190px, 1fr); gap: 10px; width: min(620px, 100%); }
.automation-filters label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.automation-filters input, .automation-filters select { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 10px; }
.automation-filters input:focus, .automation-filters select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.automation-filter-panel { display: flex; align-items: flex-end; gap: 12px; margin: -2px 0 12px; padding: 12px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 9px; }
.automation-filter-panel label { display: grid; gap: 6px; min-width: 180px; color: var(--muted); font-size: 9px; font-weight: 700; }
.automation-filter-panel select { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 10px; }
.automation-filter-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.automation-removed-filter { align-items: center; grid-template-columns: auto 1fr; min-height: 34px; white-space: nowrap; }
.automation-removed-filter input { min-height: 0; accent-color: var(--brand); }
.automation-count { display: inline-grid; min-width: 25px; min-height: 25px; place-items: center; color: var(--brand); background: var(--brand-soft); border-radius: 50%; font-size: 10px; font-weight: 800; }
.automation-row-actions { position: relative; align-items: center; }
.automation-status-toggle { display: inline-flex; align-items: center; min-height: 28px; }
.automation-status-toggle input { width: 16px; height: 16px; accent-color: var(--brand); cursor: pointer; }
.automation-status-toggle input:disabled { cursor: wait; opacity: .65; }
.automation-row-menu { position: absolute; z-index: 4; top: calc(100% + 4px); right: 0; display: grid; min-width: 110px; padding: 5px; background: #fff; border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 9px 25px rgba(35, 18, 45, .13); }
.automation-row-menu .table-link { padding: 7px 9px; text-align: left; }
.automation-type-picker { display: grid; gap: 10px; margin: 16px 0 4px; padding: 0; border: 0; }
.automation-type-picker legend { margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.automation-type-picker label { display: flex; align-items: flex-start; gap: 9px; padding: 13px; background: #fff; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
.automation-type-picker label:has(input:checked) { border-color: #bd9bda; background: #fbf7ff; }
.automation-type-picker input { margin-top: 2px; accent-color: var(--brand); }
.automation-type-picker label span { display: grid; gap: 4px; }
.automation-type-picker label strong { font-size: 11px; }
.automation-type-picker label small { color: var(--muted); font-size: 10px; }
.automation-form textarea, .finance-form textarea { min-height: 78px; padding: 9px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; resize: vertical; }
.automation-form textarea:focus, .finance-form textarea:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.automation-history { display: grid; gap: 0; margin-top: 14px; }
.automation-history > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid #f0eef2; }
.automation-history > div:last-child { border-bottom: 0; }
.automation-history strong { font-size: 11px; }
.automation-history span { color: var(--muted); font-size: 10px; }
.research-activation { display: flex; align-items: center; gap: 22px; margin-top: 22px; padding: 28px; background: linear-gradient(135deg, #f6effc, #fff); border: 1px solid #e7d9f0; border-radius: 12px; }
.research-activation-mark { width: 58px; height: 58px; display: grid; place-items: center; flex: 0 0 58px; color: #fff; background: var(--brand); border-radius: 50%; font-family: Georgia, serif; font-size: 30px; }
.research-activation h3 { margin-top: 7px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 20px; letter-spacing: -.04em; }
.research-activation p { max-width: 560px; margin: 8px 0 15px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.reward-tabs { display: flex; gap: 20px; margin-top: 18px; border-bottom: 1px solid var(--line); }
.reward-tab { padding: 0 0 10px; color: var(--muted); background: transparent; border-bottom: 2px solid transparent; font-size: 10px; font-weight: 700; }
.reward-tab.active { color: var(--brand); border-bottom-color: var(--brand); }
.reward-stats article { min-height: 86px; }
.reward-stats small { color: var(--muted); font-size: 9px; }
.reward-stats article { align-content: start; }
.reward-stats article .table-link { justify-self: start; margin-top: 4px; }
.reward-filter-drawer { position: fixed; top: 63px; right: 0; z-index: 30; width: min(390px, calc(100vw - 24px)); max-height: calc(100vh - 63px); overflow: auto; padding: 18px 22px 24px; background: #fff; border-left: 1px solid var(--line); box-shadow: -12px 0 28px rgba(43, 24, 66, .14); }
.reward-filter-drawer[hidden] { display: none; }
.reward-filter-panel { margin: 0; padding: 0; background: transparent; border: 0; }
.reward-filter-panel label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.reward-filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 18px; }
.reward-catalog-toolbar label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.reward-filter-panel input, .reward-catalog-toolbar input, .reward-settings-form input, .reward-settings-form select { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 10px; }
.reward-settings-form { margin-top: 20px; padding: 20px; }
.settings-form-heading { margin-bottom: 14px; }
.reward-settings-fields { display: grid; grid-template-columns: 1.7fr 1fr .8fr; gap: 12px; }
.reward-settings-fields label, .reward-trigger-row label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.reward-trigger-heading { margin-top: 23px; }
.reward-trigger-list { display: grid; gap: 10px; margin: 12px 0; }
.reward-trigger-row { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(130px, .7fr) minmax(150px, .8fr) auto; align-items: end; gap: 10px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.reward-trigger-row .table-link { min-height: 34px; }
.reward-catalog-toolbar { display: flex; align-items: flex-end; gap: 10px; margin-top: 20px; }
.reward-catalog-filter-panel { margin-top: 12px; padding: 14px; }
.reward-catalog-filter-panel form { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.reward-catalog-toolbar label { flex: 1; }
.reward-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin-top: 14px; }
.reward-catalog-card { display: grid; gap: 10px; padding: 15px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.reward-catalog-image { display: grid; min-height: 90px; place-items: center; color: var(--brand); background: var(--brand-soft); border-radius: 8px; font-size: 34px; }
.reward-catalog-image img { width: 100%; height: 90px; object-fit: cover; border-radius: 8px; }
.reward-catalog-card > div:nth-child(2) { display: grid; gap: 4px; }
.reward-catalog-card strong { font-size: 11px; }
.reward-catalog-card small { color: var(--muted); font-size: 10px; }
.reward-catalog-card > span { color: var(--brand); font-size: 12px; font-weight: 800; }
.reward-catalog-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.reward-catalog-card.is-removed { opacity: .68; }
.reward-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.reward-grid .dashboard-panel { margin: 0; }
.reward-grid .reward-empty-panel { grid-column: 1 / -1; }
.reward-list { display: grid; gap: 0; }
.reward-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid #f0eef2; }
.reward-list > div:last-child { border-bottom: 0; }
.reward-list strong { font-size: 11px; }
.reward-list span { color: var(--brand); font-size: 10px; font-weight: 700; }
.assistant-grid, .resource-grid, .store-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 20px; }
.assistant-card, .resource-card, .store-card { margin: 0; }
.assistant-card h3, .store-card h3, .settings-card h3 { margin-top: 7px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 16px; letter-spacing: -.03em; }
.assistant-card p, .resource-card p, .store-card p, .settings-card p { margin: 8px 0 13px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.assistant-suspension-form { margin-top: 16px; }
.assistant-run-list { display: grid; gap: 8px; }
.assistant-run-row { display: grid; grid-template-columns: 1.2fr 1.6fr 1fr; gap: 12px; padding: 11px; background: #fff; border: 1px solid #eee9f2; border-radius: 7px; }
.assistant-run-row > div { display: grid; gap: 4px; align-content: center; }
.assistant-run-row span { color: var(--muted); font-size: 9px; }
.assistant-run-row strong { font-size: 11px; }
.resource-card > div, .store-card > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.news-preview-panel { margin-top: 18px; }
.news-preview-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.news-preview-card { margin: 0; padding: 14px; }
.news-preview-card img { width: 100%; max-height: 130px; object-fit: cover; border-radius: 7px; margin-bottom: 10px; }
.news-preview-card h3 { margin: 6px 0; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 16px; }
.news-preview-card p { min-height: 42px; margin: 0 0 10px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.news-preview-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--muted); font-size: 10px; }
.news-preview-links a { color: var(--brand); font-weight: 700; }
.news-row-actions { position: relative; display: inline-flex; justify-content: flex-end; }
.news-action-toggle { min-width: 28px; padding: 2px 7px; font-size: 16px; line-height: 1; }
.news-action-menu { position: absolute; z-index: 4; top: calc(100% + 4px); right: 0; min-width: 130px; padding: 5px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 10px 24px rgba(35, 20, 54, .14); }
.news-action-menu button { display: block; width: 100%; padding: 7px 9px; color: var(--ink); background: transparent; border: 0; border-radius: 5px; text-align: left; font: inherit; font-size: 10px; cursor: pointer; }
.news-action-menu button:hover { background: var(--brand-soft); color: var(--brand); }
.news-publication-dialog .report-whatsapp-modal-card { max-width: 620px; }
.news-publication-image { display: block; width: 100%; max-height: 240px; object-fit: cover; margin: 12px 0; border-radius: 8px; }
.news-publication-content { margin: 12px 0; color: var(--ink); font-size: 12px; line-height: 1.6; white-space: normal; }
.news-publication-stats { display: flex; gap: 16px; margin: 14px 0; color: var(--muted); font-size: 10px; }
.access-profile-permission-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.access-profile-permission-grid section { display: grid; gap: 7px; align-content: start; }
.access-profile-permission-grid section > strong { color: var(--ink); font-size: 12px; }
.template-preview-panel { margin-top: 18px; }
.template-preview { margin: 0; padding: 15px; min-height: 120px; overflow: auto; white-space: pre-wrap; color: var(--ink); background: #fff; border: 1px solid #eeeaf1; border-radius: 8px; font: 12px/1.55 Consolas, monospace; }
.template-field-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.resource-toggle { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font-size: 11px; font-weight: 700; white-space: nowrap; }
.resource-toggle input { width: 16px; min-height: 0; accent-color: var(--brand); cursor: pointer; }
.resources-form { padding: 0; background: transparent; border: 0; }
.resources-form > .detail-note { margin-top: 0; }
.store-card { display: grid; align-content: start; }
.settings-tabs { display: flex; gap: 20px; margin-top: 18px; border-bottom: 1px solid var(--line); }
.settings-card { display: grid; gap: 13px; margin-top: 18px; padding: 17px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.settings-card p { margin: 0; max-width: 700px; }
.date-filter { display: flex; align-items: flex-end; gap: 10px; }
.date-filter label { display: grid; gap: 6px; color: var(--muted); font-size: 9px; font-weight: 700; }
.date-filter input { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 10px; }
.module-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0 12px; }
.opportunity-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 18px 0 12px; }
.opportunity-search, .opportunity-view-actions label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 700; }
.opportunity-search { width: min(300px, 100%); }
.opportunity-search input, .opportunity-view-actions select { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 10px; }
.opportunity-search input:focus, .opportunity-view-actions select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.opportunity-view-actions { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.opportunity-view-actions > label { min-width: 145px; }
.opportunity-filter-panel { display: flex; align-items: flex-end; gap: 10px; margin: -2px 0 12px; padding: 12px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 8px; }
.opportunity-filter-panel label { display: grid; gap: 5px; min-width: 210px; color: var(--muted); font-size: 9px; font-weight: 700; }
.opportunity-filter-panel select { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 10px; }
.opportunity-results { min-width: 0; }
.opportunity-kanban { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 3px; }
.opportunity-kanban-column { min-width: 210px; padding: 11px; background: #faf9fb; border: 1px solid var(--line); border-radius: 9px; }
.opportunity-kanban-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 49px; padding-bottom: 9px; border-bottom: 1px solid #ebe7ef; }
.opportunity-kanban-heading h3 { margin-top: 4px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 13px; }
.opportunity-kanban-heading > strong { display: grid; min-width: 25px; min-height: 25px; place-items: center; color: var(--brand); background: var(--brand-soft); border-radius: 50%; font-size: 10px; }
.opportunity-kanban-cards { display: grid; gap: 8px; min-height: 92px; padding-top: 9px; }
.opportunity-card { padding: 10px; background: #fff; border: 1px solid #ebe7ef; border-radius: 7px; box-shadow: 0 3px 10px rgba(50, 35, 70, .035); }
.opportunity-card-main { display: grid; width: 100%; gap: 5px; padding: 0; color: var(--ink); background: transparent; text-align: left; }
.opportunity-card-main:hover .opportunity-card-title { color: var(--brand); }
.opportunity-card-title { font-size: 11px; font-weight: 800; }
.opportunity-card-main strong { font-size: 10px; }
.opportunity-card-main small { color: var(--muted); font-size: 9px; }
.opportunity-card-main .table-status { justify-self: start; margin-top: 2px; }
.opportunity-card-actions { display: flex; gap: 10px; margin-top: 9px; padding-top: 8px; border-top: 1px solid #f0eef2; }
.opportunity-kanban-empty { display: grid; min-height: 75px; place-items: center; color: var(--muted); font-size: 10px; text-align: center; }
.catalog-toolbar-actions { display: flex; align-items: center; gap: 10px; }
.catalog-filter-panel { display: flex; align-items: flex-end; gap: 12px; margin: -2px 0 12px; padding: 12px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 8px; }
.catalog-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 700; }
.catalog-filter-panel select { min-height: 33px; min-width: 150px; padding: 0 8px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 6px; font: inherit; font-size: 10px; }
.training-filter-drawer { position: fixed; top: 63px; right: 0; z-index: 30; width: min(390px, calc(100vw - 24px)); max-height: calc(100vh - 63px); overflow: auto; padding: 18px 22px 24px; background: #fff; border-left: 1px solid var(--line); box-shadow: -12px 0 28px rgba(43, 24, 66, .14); }
.training-filter-drawer[hidden] { display: none; }
.training-filter-drawer .catalog-filter-panel { display: grid; grid-template-columns: 1fr; align-items: stretch; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.training-filter-drawer .catalog-filter-panel select { width: 100%; min-width: 0; }
.physical-level-sublevels-editor { display: grid; gap: 10px; }
.physical-level-sublevel-entry { display: flex; align-items: flex-end; gap: 10px; }
.physical-level-sublevel-entry label { flex: 1; }
.physical-level-sublevel-entry .module-outline { min-height: 34px; }
.physical-level-sublevel-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.physical-level-sublevel-row input { flex: 1; min-height: 34px; }
.catalog-check { display: flex !important; align-items: center; min-height: 33px; gap: 7px; font-weight: 500 !important; }
.catalog-check input { accent-color: var(--brand); }
.module-search { width: min(330px, 100%); height: 35px; display: flex; align-items: center; gap: 8px; padding: 0 11px; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.module-search:focus-within { border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.module-search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 11px; }
.field-with-action { display: flex; align-items: center; gap: 8px; }
.field-with-action input { min-width: 0; flex: 1; }
.field-with-action .table-link { flex: 0 0 auto; }
.product-form .client-check { display: flex; align-items: center; gap: 8px; min-height: 34px; color: var(--ink); font-size: 11px; }
.product-form .client-check input { accent-color: var(--brand); }
.product-fiscal-grid { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.product-image-field { display: flex; align-items: center; grid-column: 1 / -1; flex-wrap: wrap; gap: 10px; color: var(--muted); font-size: 10px; }
.result-caption { color: var(--muted); font-size: 10px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 9px; }
table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 11px; }
th { padding: 11px 13px; color: var(--muted); background: #faf9fb; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
td { padding: 13px; border-top: 1px solid #f0eef2; vertical-align: middle; }
td strong, td small { display: block; }
td strong { font-size: 11px; }
td small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.finance-filter-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 19px 0 0; color: var(--muted); font-size: 10px; }
.finance-filter-title strong { color: var(--ink); font-size: 11px; }
.finance-filter-row { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(150px, 1fr) minmax(230px, 1.1fr) auto auto; align-items: end; gap: 10px; margin: 12px 0 14px; }
.finance-filter-row label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 700; }
.finance-filter-row input, .finance-filter-row select { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 10px; }
.finance-filter-row input:focus, .finance-filter-row select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.finance-date-fields { display: grid; grid-template-columns: repeat(2, minmax(100px, 1fr)); gap: 8px; }
.finance-filter-count { min-height: 34px; padding: 0 8px; color: var(--ink); background: transparent; font-size: 9px; font-weight: 800; white-space: nowrap; }
.finance-filter-count:hover { color: var(--brand); }
.finance-stats-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finance-stats-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cash-current-card { margin-top: 19px; padding: 17px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 10px; }
.cash-current-header, .cash-current-actions, .cash-current-meta, .cash-operation-actions { display: flex; align-items: center; gap: 10px; }
.cash-current-header { justify-content: space-between; }
.cash-current-header h3 { margin-top: 5px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 18px; letter-spacing: -.04em; }
.cash-current-actions { flex-wrap: wrap; justify-content: flex-end; }
.cash-current-meta { flex-wrap: wrap; margin-top: 16px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.cash-current-meta span { display: grid; gap: 4px; min-width: 150px; }
.cash-current-meta b { color: var(--ink); font-size: 9px; }
.cash-balance-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.cash-balance-grid article { display: grid; gap: 7px; min-height: 69px; padding: 11px; background: #fff; border: 1px solid #eeeaf1; border-radius: 8px; }
.cash-balance-grid span { color: var(--muted); font-size: 9px; line-height: 1.25; }
.cash-balance-grid strong { font-family: "Trebuchet MS", Inter, sans-serif; font-size: 16px; letter-spacing: -.04em; }
.cash-method-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 9px; }
.cash-method-grid > div { display: grid; gap: 5px; padding: 8px 10px; color: var(--muted); background: #fff; border-radius: 7px; font-size: 9px; }
.cash-method-grid strong { color: var(--ink); font-family: "Trebuchet MS", Inter, sans-serif; font-size: 13px; }
.cash-operation-actions { flex-wrap: wrap; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); }
.cash-operation-actions .module-outline { min-height: 31px; padding: 0 10px; font-size: 9px; }
.cash-operation-form { margin-top: 16px; }
.cash-close-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 15px 0; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.cash-close-summary span { color: var(--muted); font-size: 10px; }
.cash-close-summary strong { color: var(--ink); font-family: "Trebuchet MS", Inter, sans-serif; font-size: 14px; }
.cash-close-options { display: grid; gap: 9px; margin: 14px 0 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.cash-close-options legend { padding: 0 5px; color: var(--muted); font-size: 10px; }
.cash-close-options label { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 12px; }
.cash-close-options input { accent-color: var(--primary); }
.finance-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 22px 0 10px; color: var(--muted); }
.finance-section-heading strong { color: var(--ink); font-size: 12px; }
.schedule-catalog-view { min-height: 430px; }
.schedule-catalog-heading { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 240px) auto; align-items: end; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.schedule-catalog-heading h2 { margin-top: 5px; font-size: 23px; }
.schedule-inline-search { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 5px 0 0; color: var(--muted); border-bottom: 1px solid #cfc9d5; font-size: 11px; }
.schedule-inline-search span { align-self: flex-start; padding-top: 4px; }
.schedule-inline-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 11px; }
.schedule-inline-search b { color: var(--brand); font-size: 18px; font-weight: 700; }
.schedule-catalog-actions { display: flex; align-items: center; gap: 15px; }
.schedule-filter-panel { display: grid; grid-template-columns: minmax(180px, 1.35fr) repeat(3, minmax(140px, 1fr)); gap: 10px; margin: 16px 0 12px; padding: 13px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 8px; }
.schedule-filter-panel label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 700; }
.schedule-filter-panel input, .schedule-filter-panel select { min-height: 33px; padding: 0 8px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 6px; font: inherit; font-size: 10px; }
.schedule-filter-panel input:focus, .schedule-filter-panel select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.schedule-table-wrap { margin-top: 16px; }
.schedule-table { min-width: 760px; }
.schedule-table th:last-child, .schedule-table td:last-child { width: 70px; text-align: center; }
.grade-row-menu-wrap { position: relative; display: inline-flex; }
.grade-more-button { width: 30px; height: 30px; display: inline-grid; place-items: center; color: var(--muted); background: transparent; border-radius: 6px; font-size: 18px; line-height: 1; }
.grade-more-button:hover, .grade-more-button[data-tooltip-open="true"] { color: var(--brand); background: var(--brand-soft); }
.grade-row-menu { position: absolute; top: calc(100% + 5px); right: 0; z-index: 10; min-width: 115px; padding: 5px; background: #fff; border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 8px 20px rgba(46, 35, 68, .14); text-align: left; }
.grade-row-menu button { width: 100%; padding: 8px 9px; color: var(--ink); background: transparent; border-radius: 5px; font-size: 10px; text-align: left; }
.grade-row-menu button:hover { color: var(--brand); background: var(--brand-soft); }
.schedule-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; color: var(--muted); font-size: 10px; }
.schedule-pagination > div { display: flex; align-items: center; gap: 10px; }
.schedule-pagination strong { color: var(--ink); }
.schedule-pagination .module-outline { min-width: 29px; min-height: 29px; padding: 0 8px; }
.table-status { display: inline-block; padding: 5px 8px; border-radius: 99px; font-size: 9px; font-weight: 700; }
.table-status-active { color: var(--mint-ink); background: var(--mint); }
.table-status-muted { color: #74717a; background: #eeecef; }
.table-status-warning { color: #9a6a32; background: #fff0d9; }
.table-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.client-row-actions { position: relative; align-items: center; gap: 7px; min-width: 170px; }
.client-row-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; padding: 0; color: var(--brand); background: transparent; border: 1px solid transparent; border-radius: 5px; font-size: 17px; line-height: 1; text-decoration: none; }
.client-row-icon:hover, .client-row-icon:focus-visible { background: #f0eaf6; border-color: #d9c8e7; outline: 0; }
.client-row-menu { position: absolute; top: 28px; right: 0; z-index: 5; display: grid; min-width: 155px; padding: 5px; background: #fff; border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 8px 20px rgba(39, 24, 55, .14); }
.client-row-menu[hidden] { display: none; }
.client-row-menu button { width: 100%; padding: 8px 10px; color: var(--ink); background: transparent; border-radius: 4px; font-size: 10px; text-align: left; }
.client-row-menu button:hover, .client-row-menu button:focus-visible { background: #f4f0f7; outline: 0; }
.client-row-menu button.table-link-danger { color: #b35656; }
.client-sort-button { display: inline-flex; align-items: center; gap: 5px; padding: 0; color: inherit; background: transparent; border: 0; font: inherit; font-weight: inherit; }
.client-sort-button:hover, .client-sort-button:focus-visible { color: var(--brand); background: transparent; outline: 0; }
.client-sort-button span { color: var(--brand); font-size: 13px; line-height: 1; }
.client-row-identity, .client-card-identity { display: flex; align-items: center; min-width: 0; gap: 9px; }
.client-row-details { display: block; min-width: 0; }
.client-avatar { display: inline-grid; flex: 0 0 30px; place-items: center; width: 30px; height: 30px; overflow: hidden; color: #6f6b76; background: #e0dfe2; border-radius: 50%; font-size: 9px; font-weight: 700; }
.client-avatar img { width: 100%; height: 100%; object-fit: cover; }
.client-name-cell { cursor: default; }
.client-name-cell strong { display: inline-block; }
.client-name-cell small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.client-name-cell:hover strong { color: var(--brand); }
.client-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.client-card { min-width: 0; padding: 15px; background: #fff; border: 1px solid var(--line); border-radius: 9px; box-shadow: 0 2px 8px rgba(39, 24, 55, .04); }
.client-card:hover { border-color: #cdb6dc; box-shadow: 0 5px 14px rgba(39, 24, 55, .08); }
.client-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.client-card-heading strong { display: block; color: var(--ink); font-size: 12px; line-height: 1.35; }
.client-card-heading small, .client-card-grade { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.client-card > p { margin: 16px 0 0; color: var(--ink); font-size: 10px; }
.client-card-grade { min-height: 14px; }
.client-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 15px; }
.client-card-actions > .client-row-actions { min-width: 0; }
.client-card .client-row-actions .client-detail-button { display: none; }
.client-card .client-row-menu { top: 28px; }
.client-profile-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.client-profile-toolbar-nav { display: flex; gap: 8px; }
.client-profile-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px; background: #faf9fb; border: 1px solid var(--line); border-radius: 9px; }
.client-profile-identity { display: flex; align-items: center; gap: 13px; min-width: 0; }
.client-profile-photo-action { align-self: center; padding: 7px 9px; color: var(--brand); background: #f6f0fa; border: 1px solid #e1d1ec; border-radius: 6px; font-size: 9px; font-weight: 700; white-space: nowrap; }
.client-profile-photo-action:hover, .client-profile-photo-action:focus-visible { background: #eee3f5; outline: 0; }
.client-profile-avatar { display: grid; flex: 0 0 43px; place-items: center; width: 43px; height: 43px; overflow: hidden; color: #fff; background: var(--brand); border-radius: 50%; font-size: 17px; font-weight: 700; }
.client-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.client-profile-identity h3 { margin: 4px 0 7px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 20px; letter-spacing: -.03em; }
.client-profile-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--muted); font-size: 10px; }
.client-profile-actions { position: relative; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.client-profile-action-menu-wrap { position: relative; }
.client-profile-action-menu { position: absolute; top: calc(100% + 5px); right: 0; z-index: 7; display: grid; min-width: 175px; padding: 5px; background: #fff; border: 1px solid var(--line); border-radius: 7px; box-shadow: 0 8px 20px rgba(39, 24, 55, .14); }
.client-profile-action-menu[hidden] { display: none; }
.client-profile-action-menu button { width: 100%; padding: 8px 10px; color: var(--ink); background: transparent; border-radius: 4px; font-size: 10px; text-align: left; }
.client-profile-action-menu button:hover, .client-profile-action-menu button:focus-visible { background: #f4f0f7; outline: 0; }
.client-profile-feedback { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding: 10px 12px; color: #665770; background: #f6f0fa; border: 1px solid #e1d1ec; border-radius: 7px; font-size: 10px; }
.client-profile-feedback[hidden] { display: none; }
.client-profile-feedback:has(.client-profile-action-form) { display: block; }
.client-profile-action-form-wrap > strong { display: block; margin-bottom: 10px; color: var(--ink); font-size: 12px; }
.client-profile-action-form { display: grid; gap: 9px; }
.client-profile-action-form label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.client-profile-action-form input, .client-profile-action-form select, .client-profile-action-form textarea { width: 100%; padding: 8px 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 5px; }
.client-profile-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.client-profile-rewards-card { display: grid; gap: 10px; }
.client-profile-rewards-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.client-profile-rewards-values article { padding: 10px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 7px; }
.client-profile-rewards-values span { display: block; color: var(--muted); font-size: 9px; }
.client-profile-rewards-values strong { display: block; margin-top: 5px; color: var(--ink); font-size: 14px; }
.client-profile-status-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.client-profile-rewards-card p { margin: 0; color: var(--muted); font-size: 10px; }
.client-profile-finance-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.client-profile-finance-summary article { min-height: 66px; padding: 11px 12px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 8px; }
.client-profile-finance-summary span, .client-contract-card span { display: block; color: var(--muted); font-size: 9px; }
.client-profile-finance-summary strong { display: block; margin-top: 7px; color: var(--ink); font-size: 13px; }
.client-profile-subsection { margin-top: 14px; padding: 15px; background: #fff; border: 1px solid var(--line); border-radius: 9px; }
.client-contract-list { display: grid; gap: 8px; }
.client-contract-card { display: grid; grid-template-columns: 1.4fr .8fr 1.2fr; gap: 12px; padding: 11px 12px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 7px; }
.client-contract-card strong { display: block; margin-top: 4px; color: var(--ink); font-size: 10px; }
.client-profile-empty-card { padding: 12px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 7px; }
.client-profile-empty-card strong { color: var(--ink); font-size: 11px; }
.client-profile-empty-card p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.client-profile-tabs { display: flex; gap: 4px; margin-top: 16px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.client-profile-tab { flex: 0 0 auto; padding: 10px 12px; color: var(--muted); background: transparent; border-bottom: 2px solid transparent; font-size: 10px; font-weight: 700; white-space: nowrap; }
.client-profile-tab:hover, .client-profile-tab.is-active { color: var(--brand); background: #faf7fc; border-bottom-color: var(--brand); }
.client-profile-tab-panel { margin-top: 12px; }
.client-profile-tab-state { min-height: 115px; padding: 20px; background: #faf9fb; border: 1px solid var(--line); border-radius: 9px; }
.client-profile-tab-state h3 { margin: 6px 0 8px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 17px; }
.client-profile-shell #client-detail-panel > .detail-panel-heading { display: none; }
.table-link { padding: 4px 0; color: var(--brand); background: transparent; font-size: 10px; font-weight: 700; }
.table-link:hover { text-decoration: underline; }
.table-link-danger { color: #b35656; }
.table-link:disabled { color: #aaa7ae; cursor: not-allowed; text-decoration: none; }
.detail-panel { margin-top: 16px; padding: 17px; background: #faf9fb; border: 1px solid #e8e3ec; border-radius: 9px; }
.funnel-list { display: grid; gap: 16px; }
.funnel-card { padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 4px 14px rgba(50, 35, 70, .04); }
.funnel-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.funnel-card-heading h3 { margin: 5px 0 2px; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 18px; }
.funnel-card-heading small { color: var(--muted); font-size: 11px; }
.funnel-card-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.detail-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.detail-panel h3 { margin: 6px 0 0; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 17px; letter-spacing: -.03em; }
.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.detail-grid > div { display: grid; gap: 5px; padding: 11px; background: #fff; border-radius: 7px; }
.detail-grid span { color: var(--muted); font-size: 9px; }
.detail-grid strong { font-size: 11px; }
body.agenda-modal-open { overflow: hidden; }
#agenda-action-panel.agenda-modal { position: fixed; top: 50%; left: 50%; z-index: 1000; width: min(960px, calc(100vw - 32px)); max-height: min(88vh, 650px); margin: 0; padding: 20px; overflow-y: auto; background: #fff; border: 0; border-radius: 8px; outline: 0; transform: translate(-50%, -50%); box-shadow: 0 10px 28px rgba(20, 14, 30, .24), 0 0 0 100vmax rgba(33, 33, 33, .48); }
#agenda-action-panel.agenda-modal .detail-panel-heading { padding-bottom: 13px; border-bottom: 1px solid var(--line); }
#agenda-action-panel.agenda-modal .detail-actions { margin-top: 17px; }
.agenda-modal-heading-actions { display: flex; align-items: center; gap: 18px; }
.agenda-modal-summary { display: flex; align-items: end; gap: 34px; padding: 15px 0 12px; border-bottom: 1px solid var(--line); }
.agenda-modal-summary > div, .agenda-modal-meta > div { display: grid; gap: 5px; }
.agenda-modal-summary span, .agenda-modal-meta span { color: var(--muted); font-size: 9px; }
.agenda-modal-summary strong, .agenda-modal-meta strong { color: var(--ink); font-size: 11px; }
.agenda-modal-summary > button { margin-left: auto; }
.agenda-modal-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 14px 0 17px; }
.agenda-history-panel { margin: 0 0 14px; padding: 12px; background: #faf9fb; border: 1px solid var(--line); border-radius: 7px; }
.agenda-history-panel h4 { margin-top: 5px; font-size: 13px; }
.agenda-history-item { display: flex; gap: 7px; align-items: center; padding: 7px 0; border-top: 1px solid #eeeaf1; font-size: 10px; }
.agenda-history-item:first-of-type { margin-top: 8px; }
.agenda-history-item span { color: var(--brand); }
.agenda-participant-tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--line); }
.agenda-participant-tab { padding: 11px 0 9px; color: var(--muted); background: transparent; border-bottom: 2px solid transparent; font-size: 10px; font-weight: 800; }
.agenda-participant-tab.is-active { color: var(--brand); border-bottom-color: var(--brand); }
.agenda-participant-section { overflow-x: auto; }
.agenda-participant-header, .agenda-participant-row { display: grid; grid-template-columns: minmax(190px, 1.5fr) minmax(120px, 1fr) minmax(100px, .8fr) minmax(90px, .7fr); gap: 13px; align-items: center; min-width: 650px; }
.agenda-participant-header { padding: 12px 0 8px; color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.agenda-participant-row { padding: 11px 0; border-top: 1px solid #f0eef2; font-size: 10px; }
.agenda-participant-row > div:first-child { display: grid; gap: 4px; }
.agenda-participant-row > div:first-child span { color: var(--muted); font-size: 9px; }
.agenda-participant-actions { display: flex; justify-content: flex-start; }
.agenda-modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
.agenda-modal-footer > div { display: flex; align-items: center; gap: 12px; }
.agenda-modal-cancel { color: #b35656; background: #fff7f7; border-color: #efcaca; }
.agenda-modal-cancel:hover { color: #fff; background: #b35656; }
.detail-note { margin-top: 13px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.client-service-section { display: grid; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.client-service-section .panel-header { margin: 0; }
.service-balance-list, .service-history-list { display: grid; gap: 8px; }
.service-balance-card, .service-history-row { display: grid; grid-template-columns: 1.5fr 1fr .8fr; gap: 12px; padding: 11px; background: #fff; border: 1px solid #eee9f2; border-radius: 7px; }
.service-balance-card > div, .service-history-row > div { display: grid; gap: 4px; align-content: center; }
.service-balance-card span, .service-history-row span { color: var(--muted); font-size: 9px; }
.service-balance-card strong, .service-history-row strong { font-size: 11px; }
.service-balance-card small { color: var(--muted); font-size: 9px; }
.service-history-heading { margin-top: 6px !important; }
.assessment-history-list { display: grid; gap: 8px; }
.assessment-history-row { display: grid; grid-template-columns: 1.5fr 1fr; gap: 12px; padding: 11px; background: #fff; border: 1px solid #eee9f2; border-radius: 7px; }
.assessment-history-row > div { display: grid; gap: 4px; align-content: center; }
.assessment-history-row span { color: var(--muted); font-size: 9px; }
.assessment-history-row strong { font-size: 11px; }
.assessment-question-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.assessment-question { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.assessment-question input, .assessment-question select, .assessment-question textarea { min-height: 36px; padding: 9px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.assessment-question textarea { resize: vertical; }
.assessment-question input:focus, .assessment-question select:focus, .assessment-question textarea:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.assessment-share-link { display: flex; gap: 8px; align-items: center; margin: 16px 0; }
.assessment-share-link input { min-width: 0; flex: 1; padding: 10px; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.service-history-row { grid-template-columns: 1.5fr 1fr; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px; }
.week-strip { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin: 19px 0 12px; }
.week-strip span { padding: 10px 6px; color: var(--muted); background: #faf9fb; border-radius: 6px; font-size: 9px; font-weight: 700; text-align: center; }
.week-strip .week-strip-active { color: #fff; background: var(--brand); }
.agenda-parity-view { margin: -25px -27px; overflow: hidden; background: #fff; border-radius: 13px; }
.agenda-parity-heading { display: grid; grid-template-columns: minmax(300px, 1fr) 150px minmax(390px, 1.4fr); align-items: end; gap: 17px; padding: 18px 16px 12px; border-bottom: 1px solid var(--line); }
.agenda-breadcrumb, .agenda-parity-actions { display: flex; align-items: center; gap: 9px; }
.agenda-breadcrumb strong { margin-left: 5px; color: var(--ink); font-size: 15px; }
.agenda-breadcrumb strong::first-letter { text-transform: uppercase; }
.agenda-icon-button { width: 32px; height: 32px; display: inline-grid; place-items: center; color: var(--brand); background: #fff; border: 1px solid #ddd3e5; border-radius: 7px; font-size: 16px; font-weight: 700; }
.agenda-icon-button:hover, .agenda-today-button:hover, .agenda-filter-button:hover { color: #fff; background: var(--brand); }
.agenda-today-button { min-height: 32px; padding: 0 10px; color: var(--brand); background: #fff; border: 1px solid #ddd3e5; border-radius: 7px; font-size: 9px; font-weight: 800; }
.agenda-view-control { display: grid; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 700; }
.agenda-view-control select { min-height: 32px; padding: 0 8px; color: var(--ink); background: #fff; border: 0; border-bottom: 1px solid #ddd3e5; font: inherit; font-size: 10px; }
.agenda-parity-actions { justify-content: flex-end; }
.agenda-parity-actions .module-action { min-height: 34px; }
.agenda-filter-button { min-height: 32px; padding: 0 4px; color: var(--ink); background: transparent; font-size: 9px; font-weight: 800; }
.agenda-danger-button { color: #c25252; border-color: #efb7b7; }
.agenda-calendar-shell { overflow-x: auto; padding: 0 0 8px; }
.agenda-week-header, .agenda-calendar-body { display: grid; grid-template-columns: 47px repeat(7, minmax(112px, 1fr)); min-width: 860px; }
.agenda-week-header { border-bottom: 1px solid var(--line); }
.agenda-week-header > span { border-right: 1px solid #f0edf3; }
.agenda-week-header strong { padding: 9px 7px; color: var(--muted); font-size: 10px; font-weight: 700; text-align: center; }
.agenda-week-header strong b { color: var(--ink); font-size: 12px; }
.agenda-week-header strong.current { color: var(--brand); background: var(--brand); }
.agenda-week-header strong.current, .agenda-week-header strong.current b { color: #fff; }
.agenda-calendar-body { height: 900px; }
.agenda-time-labels { display: grid; grid-template-rows: repeat(15, 60px); border-right: 1px solid #f0edf3; }
.agenda-time-labels span { padding: 5px 4px 0 0; color: #6c6a76; font-size: 8px; text-align: right; }
.agenda-day-column { position: relative; overflow: hidden; min-width: 0; border-right: 1px solid #f0edf3; background: #fff; }
.agenda-day-column:nth-child(5) { background: #f6f3fb; }
.agenda-hour-lines { position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, transparent 0, transparent 59px, #e9e5ed 59px, #e9e5ed 60px); }
.agenda-event { position: absolute; top: var(--event-top); right: 4px; left: 4px; height: var(--event-height); z-index: 1; display: grid; align-content: start; gap: 3px; overflow: hidden; padding: 7px 8px; border-left: 3px solid rgba(30, 21, 44, .32); border-radius: 5px; color: #21172e; text-align: left; cursor: grab; touch-action: none; box-shadow: 0 1px 2px rgba(30, 21, 44, .12); }
.agenda-event:hover { filter: brightness(.98); transform: translateY(-1px); }
.agenda-event:active { cursor: grabbing; }
.agenda-event.is-dragging { visibility: hidden; opacity: 0; }
.agenda-day-column.is-drag-target { background: #f3efff; box-shadow: inset 0 0 0 2px rgba(111, 66, 193, .45); }
.agenda-drag-preview { position: absolute; top: var(--event-top); right: 4px; left: 4px; height: var(--event-height); z-index: 3; display: grid; align-content: start; gap: 3px; overflow: hidden; padding: 7px 8px; border: 2px dashed var(--brand); border-radius: 5px; color: var(--brand); background: rgba(255, 255, 255, .92); pointer-events: none; box-shadow: 0 3px 10px rgba(54, 32, 80, .16); }
.agenda-drag-preview span { font-size: 8px; font-weight: 800; text-transform: uppercase; }
.agenda-drag-preview strong { overflow: hidden; font-size: 9px; line-height: 1.15; text-overflow: ellipsis; }
.agenda-drag-preview b { width: max-content; padding: 2px 5px; border: 1px solid currentColor; border-radius: 99px; font-size: 8px; }
.agenda-event span { font-size: 8px; font-weight: 800; }
.agenda-event strong { overflow: hidden; font-size: 9px; line-height: 1.15; text-overflow: ellipsis; }
.agenda-event b { width: max-content; padding: 2px 5px; border: 1px solid currentColor; border-radius: 99px; font-size: 8px; }
.agenda-event-purple { background: #817bf4; }
.agenda-event-blue { background: #3e45eb; color: #fff; }
.agenda-event-yellow { background: #fff500; }
.occupancy-view { margin: -25px -27px; overflow: hidden; background: #fff; border-radius: 13px; }
.occupancy-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 19px 17px 13px; }
.occupancy-heading h2 { margin-top: 6px; color: var(--ink); font-family: "Trebuchet MS", Inter, sans-serif; font-size: 20px; letter-spacing: -.04em; }
.occupancy-legend { display: flex; align-items: center; gap: 20px; padding: 0 17px 14px; color: var(--muted); font-size: 11px; }
.occupancy-legend span { display: inline-flex; align-items: center; gap: 6px; }
.occupancy-legend i { width: 24px; height: 24px; display: inline-block; border-radius: 50%; }
.occupancy-legend-available { background: #4bb553; }
.occupancy-legend-full { background: #e9757b; }
.occupancy-calendar-shell { overflow-x: auto; padding-bottom: 8px; }
.occupancy-week-header, .occupancy-calendar-body { display: grid; grid-template-columns: 47px repeat(7, minmax(112px, 1fr)); min-width: 860px; }
.occupancy-week-header { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.occupancy-week-header > span { border-right: 1px solid #f0edf3; }
.occupancy-week-header strong { padding: 9px 7px; color: var(--muted); font-size: 10px; font-weight: 700; text-align: center; }
.occupancy-week-header strong.current { color: #fff; background: var(--brand); }
.occupancy-calendar-body { height: 900px; }
.occupancy-time-labels { display: grid; grid-template-rows: repeat(15, 60px); border-right: 1px solid #f0edf3; }
.occupancy-time-labels span { padding: 5px 4px 0 0; color: #6c6a76; font-size: 8px; text-align: right; }
.occupancy-day-column { position: relative; overflow: hidden; min-width: 0; border-right: 1px solid #f0edf3; background: #fff; }
.occupancy-day-column:nth-child(5) { background: #f6f3fb; }
.occupancy-hour-lines { position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, transparent 0, transparent 59px, #e9e5ed 59px, #e9e5ed 60px); }
.occupancy-event { position: absolute; top: var(--event-top); right: 4px; left: 4px; height: var(--event-height); z-index: 1; display: grid; align-content: start; gap: 3px; overflow: hidden; padding: 7px 8px; border-left: 3px solid rgba(30, 21, 44, .27); border-radius: 5px; color: #fff; text-align: left; box-shadow: 0 1px 2px rgba(30, 21, 44, .12); }
.occupancy-event:hover { filter: brightness(.96); transform: translateY(-1px); }
.occupancy-event-available { background: #4bbf55; }
.occupancy-event-full { background: #e9757b; }
.occupancy-event span { font-size: 8px; font-weight: 800; }
.occupancy-event strong { overflow: hidden; font-size: 9px; line-height: 1.15; text-overflow: ellipsis; }
.occupancy-event b { width: max-content; padding: 2px 5px; border: 1px solid currentColor; border-radius: 99px; font-size: 8px; }
.agenda-local-index { margin: 21px 16px 0; padding-top: 17px; border-top: 1px solid var(--line); }
.agenda-index-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.agenda-index-heading h2 { max-width: 720px; margin-top: 5px; color: var(--ink); font-family: "Trebuchet MS", Inter, sans-serif; font-size: 15px; letter-spacing: -.03em; }
.agenda-list { display: grid; gap: 8px; }
.agenda-slot { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f0eef2; }
.agenda-slot:last-child { border-bottom: 0; }
.agenda-slot > div:nth-child(2) { display: grid; gap: 4px; min-width: 130px; }
.agenda-slot > div:nth-child(2) strong { font-size: 12px; }
.agenda-slot > div:nth-child(2) span { color: var(--muted); font-size: 10px; }
.slot-capacity { display: grid; gap: 3px; margin-left: auto; text-align: right; }
.slot-capacity span { color: var(--muted); font-size: 9px; }
.slot-capacity strong { font-family: "Trebuchet MS", Inter, sans-serif; font-size: 17px; }
.agenda-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.reservation-section { margin-top: 21px; padding-top: 18px; border-top: 1px solid var(--line); }
.reservation-section h3 { margin: 6px 0 0; font-family: "Trebuchet MS", Inter, sans-serif; font-size: 15px; }
.reservation-row { display: flex; align-items: center; gap: 15px; padding: 12px 0 0; }
.reservation-row > div:first-child { display: grid; gap: 4px; }
.reservation-row > div:first-child strong { font-size: 11px; }
.reservation-row > div:first-child span { color: var(--muted); font-size: 10px; }
.reservation-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 17px; }
.reservation-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.reservation-form select { min-height: 36px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: 11px; }
.reservation-form select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.client-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 17px; }
.client-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.client-form label.client-form-wide { grid-column: 1 / -1; }
.client-form label em { color: var(--brand); font-style: normal; }
.client-form input { min-height: 36px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.client-form input:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.client-form select, .client-form textarea { min-height: 36px; padding: 9px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.client-form textarea { resize: vertical; }
.client-form select:focus, .client-form textarea:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.client-fieldset { display: grid; grid-column: 1 / -1; gap: 12px; margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 8px; }
.client-fieldset legend { padding: 0 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.client-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.additional-contacts { display: grid; gap: 9px; }
.contact-row { display: grid; grid-template-columns: minmax(120px, .65fr) minmax(0, 1.35fr); gap: 9px; }
.client-check { display: flex !important; grid-column: 1 / -1; align-items: center; gap: 8px !important; }
.client-check input { min-height: auto; }
.client-form-actions { display: flex; grid-column: 1 / -1; gap: 9px; margin-top: 5px; }
.client-registration-module { min-height: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.client-registration-module .module-heading { display: none; }
.client-registration-page { display: grid; gap: 13px; }
.client-registration-toolbar { display: flex; align-items: center; justify-content: flex-start; }
.client-registration-form-panel { min-width: 0; }
.client-registration-card { padding: 0 0 28px; }
.client-registration-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 9px; }
.client-registration-card-heading h3 { margin-top: 6px; color: var(--ink); font-family: "Trebuchet MS", Inter, sans-serif; font-size: 20px; letter-spacing: -.04em; }
.client-registration-card > .detail-note { max-width: 760px; margin: 0 0 22px; }
.client-registration-form { display: grid; gap: 21px; margin-top: 0; }
.client-registration-section { display: grid; grid-column: 1 / -1; gap: 9px; min-width: 0; margin: 0; padding: 0; border: 0; }
.client-registration-section legend { padding: 0 0 3px; color: #66616e; font-size: 16px; font-weight: 700; }
.client-main-fields, .client-registration-card-body { min-width: 0; padding: 22px 24px; background: #fff; border: 1px solid #eeeaf1; border-radius: 9px; box-shadow: 0 1px 2px rgba(35, 32, 41, .03); }
.client-main-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 24px; }
.client-registration-field { display: grid; gap: 6px; min-width: 0; color: var(--muted); font-size: 12px; font-weight: 500; }
.client-registration-field input, .client-registration-field select, .client-registration-card-body input, .client-registration-card-body select, .client-registration-card-body textarea { min-width: 0; min-height: 36px; padding: 0 2px; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid #d8d3dc; border-radius: 0; font: inherit; font-size: 12px; }
.client-registration-field input:focus, .client-registration-field select:focus, .client-registration-card-body input:focus, .client-registration-card-body select:focus, .client-registration-card-body textarea:focus { outline: 0; border-color: var(--brand); box-shadow: 0 2px 0 rgba(123, 63, 179, .12); }
.client-registration-field em { color: var(--brand); font-style: normal; }
.client-phone-control { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 9px; min-width: 0; border-bottom: 1px solid #d8d3dc; }
.client-phone-control select, .client-phone-control input { border-bottom: 0; }
.client-phone-control select { padding-left: 0; }
.client-registration-card-body { display: grid; gap: 14px; }
.client-registration-two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.client-registration-two-columns > label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.client-registration-two-columns > label select, .client-registration-two-columns > label input { width: 100%; }
.client-address-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.client-address-fields > label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.client-address-fields > label:nth-child(2), .client-address-fields > label:nth-child(4) { grid-column: span 2; }
.client-registration-card-body .client-form-wide { grid-column: 1 / -1; }
.client-registration-card-body .client-form-wide select, .client-registration-card-body .client-form-wide textarea { width: 100%; }
.client-registration-card-body .client-check { color: var(--muted); }
.client-registration-card-body .client-check input { min-height: auto; accent-color: var(--brand); }
.client-help-mark { display: inline-grid; width: 16px; height: 16px; place-items: center; margin-left: 3px; color: #fff; background: #77737f; border-radius: 50%; font-size: 10px; }
.client-registration-form .client-fieldset { border: 0; }
.client-registration-form .client-form-actions { justify-content: flex-start; padding-top: 2px; }
.client-registration-form .client-form-actions .module-action { color: #fff; background: #079ee0; border-color: #079ee0; }
.client-registration-form .client-form-actions .module-action:hover { background: #087fb4; border-color: #087fb4; }
.client-registration-form .additional-contacts { display: grid; gap: 9px; }
.client-registration-form .contact-row { grid-template-columns: minmax(135px, .65fr) minmax(0, 1.35fr); }
.client-registration-form .contact-row select, .client-registration-form .contact-row input { width: 100%; }
.finance-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 17px; }
.finance-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.finance-form label.client-form-wide { grid-column: 1 / -1; }
.finance-form input, .finance-form select { min-height: 36px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.finance-form input:focus, .finance-form select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.finance-form .client-form-actions { grid-column: 1 / -1; }
.admin-finance-classification { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 0; padding: 13px; border: 1px solid var(--line); border-radius: 8px; }
.admin-finance-classification legend { grid-column: 1 / -1; padding: 0 5px; color: var(--muted); font-size: 10px; font-weight: 700; }
.admin-finance-classification label.client-form-wide { grid-column: 1 / -1; }
.training-exercises-editor { display: grid; gap: 11px; padding: 13px; background: #fbf9fc; border: 1px solid #eee9f2; border-radius: 8px; }
.training-exercises-editor .panel-header { align-items: center; }
.training-session-row { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 11px; background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.training-session-row > label { flex: 1; max-width: 420px; }
.training-session-actions { display: flex; align-items: center; gap: 7px; }
.training-exercise-row { display: grid; gap: 10px; padding: 11px; background: #fff; border: 1px solid var(--line); border-radius: 7px; }
.training-exercise-basics { display: grid; grid-template-columns: minmax(150px, 1.5fr) minmax(125px, 1fr) repeat(3, minmax(82px, .7fr)) auto; gap: 9px; align-items: end; }
.training-exercise-advanced { display: grid; grid-template-columns: minmax(150px, 1.5fr) repeat(3, minmax(120px, 1fr)); gap: 9px; align-items: end; padding-top: 9px; border-top: 1px solid #eee9f2; }
.training-exercise-advanced-hint { align-self: center; color: var(--muted); font-size: 10px; font-weight: 700; }
.training-exercise-row label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.training-exercise-row .table-link-danger { align-self: end; min-height: 36px; white-space: nowrap; }
.grade-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 17px; }
.grade-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.grade-form label.client-form-wide { grid-column: 1 / -1; }
.grade-form label em, .grade-fieldset em { color: var(--brand); font-style: normal; }
.grade-form input, .grade-form select { min-height: 36px; padding: 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 7px; font: inherit; font-size: 11px; }
.grade-form input[type="color"] { min-height: 36px; padding: 3px; }
.grade-form input:focus, .grade-form select:focus { outline: 0; border-color: #bd9bda; box-shadow: 0 0 0 3px rgba(123, 63, 179, .08); }
.grade-fieldset { display: grid; grid-column: 1 / -1; gap: 11px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.grade-fieldset legend { padding: 0 4px; color: var(--ink); font-size: 10px; font-weight: 700; }
.check-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.check-grid-inline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.check-grid label { display: flex; align-items: center; gap: 7px; color: var(--ink); font-weight: 600; }
.check-grid input { min-height: 0; accent-color: var(--brand); }
.grade-number-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.module-loading { padding: 70px 0; color: var(--muted); font-size: 12px; text-align: center; }
.coming-soon { display: flex; align-items: center; gap: 15px; min-height: 150px; margin-top: 24px; padding: 25px; color: #5e586b; background: #faf9fb; border-radius: 10px; }
.coming-soon-mark { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 48px; color: #fff; background: var(--brand); border-radius: 50%; font-family: Georgia, serif; font-size: 25px; }
.coming-soon strong { display: block; font-size: 13px; }
.coming-soon p { max-width: 550px; margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.report-empty { display: flex; align-items: center; gap: 14px; min-height: 125px; margin-top: 22px; padding: 20px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.report-empty-mark { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 40px; color: var(--mint-ink); background: var(--mint); border-radius: 50%; font-size: 20px; font-weight: 800; }
.report-empty strong { display: block; font-size: 13px; }
.report-empty p { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }

.reports-module { min-height: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.reports-catalog-view { padding: 7px 9px 28px; }
.reports-catalog-view > h2 { margin: 0 0 29px; color: #333039; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 21px; font-weight: 500; letter-spacing: -.03em; text-align: center; }
.report-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.report-catalog-card { min-height: 293px; display: grid; grid-template-rows: 1fr auto; overflow: hidden; background: #fff; border: 1px solid #dfdfe2; border-bottom: 3px solid var(--report-accent); box-shadow: 0 1px 2px rgba(35, 32, 41, .04); }
.report-accent-blue { --report-accent: #2d91d3; }
.report-accent-red { --report-accent: #d94848; }
.report-accent-green { --report-accent: #63a765; }
.report-accent-purple { --report-accent: #7b3fb3; }
.report-accent-blue-muted { --report-accent: #5e90bd; }
.report-accent-orange { --report-accent: #e58d24; }
.report-card-visual { min-height: 240px; display: grid; place-items: center; padding: 17px 22px 7px; }
.report-card-visual img { width: min(100%, 240px); height: 190px; object-fit: contain; }
.report-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 20px 17px; }
.report-card-footer strong { color: #28262d; font-size: 15px; font-weight: 700; }
.report-card-footer button, .report-view-button { padding: 4px 0; color: var(--report-accent); background: transparent; font-size: 12px; font-weight: 700; }
.report-card-footer button:hover, .report-view-button:hover { text-decoration: underline; }
.reports-modal-open { overflow: hidden; }
.detail-panel.report-modal { position: fixed; top: 50%; left: 50%; z-index: 1000; width: min(768px, calc(100vw - 30px)); max-height: min(88vh, 680px); margin: 0; padding: 27px 30px 20px; overflow-y: auto; background: #fff; border: 0; border-radius: 12px; outline: 0; transform: translate(-50%, -50%); box-shadow: 0 10px 30px rgba(20, 14, 30, .22), 0 0 0 100vmax rgba(33, 33, 33, .48); }
.report-whatsapp-modal-open { overflow: hidden; }
.report-whatsapp-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 15px; background: rgba(33, 33, 33, .48); }
.report-whatsapp-modal-card { width: min(520px, 100%); max-height: min(88vh, 680px); margin: 0; padding: 27px 30px 20px; overflow-y: auto; background: #fff; border: 0; border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 14, 30, .22); }
.report-whatsapp-modal-card > label { display: grid; gap: 5px; margin-top: 14px; color: var(--muted); font-size: 10px; font-weight: 600; }
.report-whatsapp-modal-card select, .report-whatsapp-modal-card textarea { width: 100%; padding: 9px; color: var(--ink); background: #fff; border: 1px solid #d9d3df; border-radius: 6px; font: inherit; font-size: 11px; }
.report-whatsapp-modal-card select { min-height: 34px; }
.report-whatsapp-modal-card textarea { resize: vertical; }
.report-row-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.report-row-actions .table-link { white-space: nowrap; }
.rental-block-panel { margin-top: 18px; }
.rental-block-form { margin-top: 12px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.client-training-print-sheet { margin-top: 16px; padding: 18px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.training-print-heading { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.training-print-heading p { margin: 0 0 5px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.training-print-heading h2 { margin: 0 0 5px; color: var(--ink); font-size: 20px; }
.training-print-heading span { color: var(--muted); font-size: 12px; }
.training-print-session + .training-print-session { margin-top: 22px; }
.training-print-session h4 { margin: 0 0 8px; color: var(--ink); font-size: 15px; }
.client-training-print-dialog .table-wrap { overflow-x: auto; }
@media print {
  body.client-training-print-active > * { visibility: hidden !important; }
  body.client-training-print-active [data-client-training-print-dialog], body.client-training-print-active [data-client-training-print-dialog] * { visibility: visible !important; }
  body.client-training-print-active [data-client-training-print-dialog] { position: absolute; inset: 0; display: block; padding: 0; background: #fff; }
  body.client-training-print-active .report-whatsapp-modal-card { width: auto; max-height: none; padding: 0; overflow: visible; border: 0; box-shadow: none; }
  body.client-training-print-active .client-training-print-controls, body.client-training-print-active .client-training-print-dialog .detail-panel-heading button { display: none !important; }
  body.client-training-print-active .client-training-print-sheet { margin: 0; padding: 0; border: 0; }
}
.report-modal .detail-panel-heading { padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.report-modal .detail-panel-heading .eyebrow { display: none; }
.report-modal .detail-panel-heading h3 { margin-top: 0; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 20px; letter-spacing: -.03em; }
.report-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 17px; }
.report-modal-group { min-width: 0; }
.report-modal-group h4 { margin: 0; padding: 13px 16px; color: #fff; background: #258ddd; font-size: 13px; font-weight: 700; }
.report-modal-group > div { border: 1px solid #eeeef0; border-top: 0; }
.report-modal-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 49px; padding: 8px 16px; border-bottom: 1px solid #e6e6e8; }
.report-modal-row:last-child { border-bottom: 0; }
.report-modal-row span { color: #69666f; font-size: 12px; line-height: 1.35; }
.report-view-button { flex: 0 0 auto; color: #258ddd; }
.report-detail-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto; align-items: end; gap: 13px; margin: 20px 0 10px; padding: 15px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 9px; }
.report-detail-filters label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 600; }
.report-detail-filters input[type="date"], .report-detail-filters input[type="search"], .report-detail-filters input[type="number"], .report-detail-filters select { min-height: 34px; padding: 0 9px; color: var(--ink); background: #fff; border: 1px solid #d9d3df; border-radius: 6px; font: inherit; }
.report-detail-filters .report-checkbox-field { display: flex; align-items: center; gap: 7px; min-height: 34px; white-space: nowrap; }
.report-detail-filters .report-checkbox-field input { min-height: 0; accent-color: var(--brand); }
.report-origin-picker { position: relative; display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 600; }
.report-origin-picker-button { min-height: 34px; padding: 0 9px; overflow: hidden; color: var(--ink); background: #fff; border: 1px solid #d9d3df; border-radius: 6px; font: inherit; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.report-origin-options { position: absolute; z-index: 4; top: calc(100% + 5px); left: 0; right: 0; display: grid; max-height: 280px; overflow: auto; padding: 7px; background: #fff; border: 1px solid #d9d3df; border-radius: 7px; box-shadow: 0 8px 22px rgb(34 18 54 / 14%); }
.report-origin-options[hidden] { display: none; }
.report-origin-option { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; gap: 7px !important; min-height: 28px; padding: 3px 4px; color: var(--ink) !important; font-size: 10px !important; font-weight: 500 !important; }
.report-origin-option input { min-height: 0; accent-color: var(--brand); }
.report-detail-actions { display: flex; justify-content: flex-end; gap: 8px; margin: 12px 0 16px; }
.report-detail-table { margin-top: 18px; overflow: hidden; border: 1px solid #eeeaf1; border-radius: 8px; }
.report-detail-header, .report-detail-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 12px; align-items: center; }
.report-columns-4 .report-detail-header, .report-columns-4 .report-detail-row { grid-template-columns: 1.6fr 1.2fr 1.2fr .9fr; }
.report-columns-5 .report-detail-header, .report-columns-5 .report-detail-row { grid-template-columns: 1.5fr .75fr 1.2fr 1.2fr 1fr; }
.report-columns-6 .report-detail-header, .report-columns-6 .report-detail-row { grid-template-columns: 1.5fr .9fr 1fr 1.15fr 1fr 1fr; }
.report-columns-7 .report-detail-header, .report-columns-7 .report-detail-row { grid-template-columns: 1.45fr 1.45fr 1fr .8fr .75fr .95fr .8fr; }
.report-detail-row span { min-width: 0; }
.report-detail-row small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.report-finance-filters { grid-template-columns: 1.35fr .9fr 1fr 1fr auto; }
.report-client-filters { grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto; }
.report-client-advanced-filters:not([hidden]) { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 13px; padding-top: 4px; }
.report-client-history-advanced:not([hidden]) { display: flex; grid-column: 1 / -1; align-items: center; gap: 18px; padding-top: 4px; }
.report-client-history-advanced .report-checkbox-field { margin: 0; }
.report-profile-advanced-filters:not([hidden]) { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto; align-items: end; gap: 13px; padding-top: 4px; }
.report-abandonment-advanced:not([hidden]) { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto; align-items: end; gap: 13px; padding-top: 4px; }
.report-online-registration-advanced:not([hidden]) { display: grid; grid-column: 1 / -1; grid-template-columns: 1.4fr auto auto auto; align-items: end; gap: 13px; padding-top: 4px; }
.report-detail-total { margin-top: 18px; color: var(--muted); font-size: 11px; }
.report-detail-total strong { color: var(--ink); font-size: 15px; }
.report-detail-summary { margin-top: 16px; }
.report-analysis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 16px; }
.report-analysis-card { padding: 15px; }
.report-analysis-card .panel-header { margin-bottom: 12px; }
.finance-stats-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.finance-stats-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.finance-stats-six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.finance-stats-nine { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.report-radio-field { display: grid; gap: 7px; min-height: 34px; margin: 0; padding: 8px 10px; border: 1px solid #d9d3df; border-radius: 6px; color: var(--muted); font: inherit; font-size: 10px; }
.report-radio-field legend { padding: 0 4px; color: var(--muted); font-size: 10px; font-weight: 600; }
.report-radio-field label { display: inline-flex; align-items: center; gap: 6px; }
.report-radio-field input { accent-color: var(--brand); }
.report-detail-subtitle { margin-top: 18px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.report-detail-header { padding: 11px 13px; color: #6c6674; background: #faf9fb; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.report-detail-row { min-height: 45px; padding: 10px 13px; border-top: 1px solid #eeeaf1; color: var(--ink); font-size: 11px; }
.report-detail-row .client-row-icon { width: 26px; height: 26px; color: var(--brand); font-size: 15px; }
.report-access-status { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-right: 7px; border-radius: 50%; font-size: 12px; font-weight: 700; }
.report-access-status-allowed { color: #218c54; border: 1px solid #54bf80; }
.report-access-status-denied { color: #c64d4d; border: 1px solid #e07a7a; }
.report-access-device, .report-access-info { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-right: 7px; color: #77727d; font-size: 15px; }
.report-detail-empty { padding: 42px 18px; color: var(--muted); background: #faf9fb; text-align: center; font-size: 11px; }
.report-detail-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 13px; margin-top: 12px; color: var(--muted); font-size: 10px; }
.report-detail-pagination label { display: flex; align-items: center; gap: 5px; }
.report-detail-pagination select { min-height: 28px; padding: 0 7px; color: var(--ink); background: #fff; border: 1px solid #d9d3df; border-radius: 5px; font: inherit; }
.report-enrollment-groups { display: grid; gap: 12px; margin-top: 18px; }
.report-enrollment-group { overflow: hidden; border: 1px solid #eeeaf1; border-radius: 8px; }
.report-enrollment-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; color: var(--ink); background: #faf9fb; }
.report-enrollment-heading strong { font-size: 12px; }
.report-enrollment-heading span { color: var(--muted); font-size: 10px; text-align: right; }
.report-enrollment-participant { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 15px; border-top: 1px solid #eeeaf1; color: var(--ink); font-size: 11px; }
.report-enrollment-participant span:last-child { color: var(--muted); }
.report-enrollment-empty { padding: 22px 15px; color: var(--muted); font-size: 11px; }
.report-analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.report-analytics-item { display: grid; gap: 7px; min-height: 58px; padding: 13px 15px; background: #faf9fb; border: 1px solid #eeeaf1; border-radius: 8px; }
.report-analytics-item strong { color: var(--ink); font-size: 11px; }
.report-analytics-item span { color: var(--muted); font-size: 11px; }

@media print {
  @page { margin: 12mm; }
  body.report-printing { background: #fff !important; }
  body.report-printing .global-topbar,
  body.report-printing .sidebar,
  body.report-printing .menu-backdrop,
  body.report-printing .report-detail-filters,
  body.report-printing .report-detail-actions,
  body.report-printing .report-detail-pagination,
  body.report-printing .toast,
  body.report-printing .detail-panel { display: none !important; }
  body.report-printing .main-content { width: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
  body.report-printing .module-view,
  body.report-printing .module-heading,
  body.report-printing .report-detail-table { background: #fff !important; border: 0 !important; box-shadow: none !important; }
  body.report-printing .module-heading { display: block; padding: 0 0 18px !important; }
  body.report-printing .module-heading h2 { color: #111 !important; }
  body.report-printing .report-detail-table { margin-top: 10px !important; overflow: visible !important; }
  body.report-printing .report-detail-header,
  body.report-printing .report-detail-row { break-inside: avoid; }
}

@media (min-width: 901px) {
  body.menu-open { overflow: auto; }
  body.menu-open .menu-backdrop { display: none; }
body.menu-open .main-content { width: calc(100% - var(--sidebar-width)); max-width: none; margin-left: var(--sidebar-width); margin-right: 0; }
body.platform-mode .main-content { width: calc(100% - var(--sidebar-width)); max-width: none; margin-left: var(--sidebar-width) !important; margin-right: 0; }
.platform-module { display: grid; gap: 14px; }
.platform-module-heading { align-items: flex-start; }
.platform-module .module-stats { margin-top: 0; }
.platform-module .module-toolbar { margin-bottom: 0; }
.platform-module table small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.platform-academy-name { display: inline-block; font-weight: 700; }
.platform-profile-card { padding: 18px; }
.platform-whatsapp-qr { display: grid; justify-items: center; gap: 10px; margin: 18px 0; padding: 18px; background: #faf8fc; border: 1px solid #e6dced; border-radius: 10px; text-align: center; }
.platform-whatsapp-qr img { width: 320px; max-width: 100%; height: auto; image-rendering: pixelated; background: #fff; padding: 8px; border-radius: 6px; }
.platform-whatsapp-qr p { max-width: 460px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.platform-profile-card h3 { margin: 7px 0 14px; }
.platform-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.platform-detail-grid, .platform-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.platform-detail-grid > div, .platform-detail-list > div { display: grid; gap: 4px; min-width: 0; }
.platform-detail-grid span, .platform-detail-list span { color: var(--muted); font-size: 10px; }
.platform-detail-grid strong, .platform-detail-list strong { color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.platform-profile-module .table-wrap { margin-top: 4px; }
.platform-filter-panel { padding: 15px; }
.platform-filter-form { display: grid; grid-template-columns: minmax(220px, 1.4fr) minmax(160px, .8fr) auto; align-items: end; gap: 12px; }
.platform-filter-form label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; }
.platform-filter-form input, .platform-filter-form select { width: 100%; min-height: 36px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12px; }
.platform-filter-actions { display: flex; align-items: center; gap: 8px; }
.platform-filter-actions button { min-height: 36px; white-space: nowrap; }
.platform-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 14px; color: var(--muted); font-size: 11px; }
.platform-pagination label { display: inline-flex; align-items: center; gap: 7px; }
.platform-pagination select { min-height: 31px; padding: 5px 24px 5px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); font: inherit; font-size: 11px; }
.platform-pagination button:disabled { opacity: .45; cursor: default; }
.platform-plan-select { min-width: 150px; max-width: 190px; padding: 7px 28px 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12px; }
.platform-create-panel { display: grid; gap: 15px; }
.platform-create-panel[hidden] { display: none; }
.platform-create-panel .finance-form { margin-top: 0; }
.platform-security-note { margin-top: 1px; padding-top: 14px; border-top: 1px solid var(--line); }
.platform-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.platform-dashboard-bars { display: grid; gap: 13px; }
.platform-dashboard-bar { display: grid; grid-template-columns: minmax(95px, .45fr) auto minmax(90px, 1fr); align-items: center; gap: 10px; color: var(--muted); font-size: 11px; }
.platform-dashboard-bar strong { color: var(--ink); font-size: 13px; }
.platform-dashboard-bar i { display: block; width: var(--platform-bar-size); min-width: 8px; height: 9px; border-radius: 999px; background: var(--purple); }
.platform-dashboard-bar i.table-status-active { background: #2bb673; }
.platform-dashboard-bar i.table-status-muted { background: #c4bdce; }
.platform-alert-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.platform-alert-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid #eeeaf1; font-size: 11px; }
.platform-alert-list li:last-child { border-bottom: 0; }
.platform-alert-list li > span { color: var(--muted); white-space: nowrap; }
.platform-quick-links { display: flex; flex-wrap: wrap; gap: 8px; }
.platform-quick-links a { text-decoration: none; }
.platform-checkbox-field { display: flex !important; align-items: center; align-self: center; gap: 7px !important; min-height: 36px; }
.platform-checkbox-field input { width: auto !important; min-height: auto !important; accent-color: var(--purple); }
.platform-email-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.platform-email-form > label:nth-child(4), .platform-email-form > label:nth-child(5) { grid-column: span 1; }
.platform-email-provider-card { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-column: 1 / -1; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fbf9fd; }
.platform-email-provider-card > div { display: grid; gap: 4px; min-width: 0; }
.platform-email-provider-card span { color: var(--muted); font-size: 10px; }
.platform-email-provider-card strong { color: var(--ink); font-size: 12px; overflow-wrap: anywhere; }
.platform-email-form .client-form-actions { grid-column: 1 / -1; }
}

@media (max-width: 1060px) {
  .global-topbar { gap: 12px; padding: 0 16px; }
  .topbar-brand { min-width: 170px; }
  .main-content { padding: 28px 25px; }
}
@media (max-width: 820px) {
  .topbar-icon:nth-child(-n+2) { display: none; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .quick-actions { justify-content: flex-start; }
  .dashboard-overview { grid-template-columns: 1fr; }
  .dashboard-overview .admin-summary { grid-template-columns: repeat(2, 1fr); }
  .news-grid { grid-template-columns: 1.35fr 1fr; }
  .news-card:last-child { grid-column: 1 / -1; }
  .welcome-panel { padding: 28px 31px; }
  .welcome-orbit { margin-right: 0; transform: scale(.82); }
  .content-grid { grid-template-columns: 1fr; }
  .dashboard-stats { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .client-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-filter-search { grid-column: 1 / -1; }
  .client-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-profile-finance-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .automation-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reward-settings-fields, .reward-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .opportunity-toolbar { align-items: flex-start; flex-direction: column; }
  .opportunity-search { width: 100%; }
  .opportunity-view-actions { width: 100%; align-items: flex-end; }
  .finance-filter-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-filter-row .finance-search-field, .finance-filter-row .finance-date-fields { grid-column: 1 / -1; }
  .finance-filter-row .module-outline, .finance-filter-row .finance-filter-count { justify-self: start; }
  .finance-stats-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cash-balance-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cash-method-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cash-close-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .schedule-catalog-heading { grid-template-columns: minmax(150px, 1fr) minmax(150px, .9fr); }
  .schedule-catalog-actions { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 650px) {
  .global-topbar { height: 58px; }
  .menu-backdrop { inset: 58px 0 0; }
  .sidebar { inset: 58px auto 0 0; width: min(310px, 88vw); }
  .global-search-wrap { display: none; }
  .topbar-brand { min-width: 0; margin-right: auto; }
  .topbar-brand strong { font-size: 12px; }
  .topbar-icon:nth-child(3), .topbar-icon:nth-child(4) { display: none; }
  .account-button > span:nth-child(2) { display: none; }
  .account-menu { top: 58px; right: 12px; }
  .main-content { padding: 23px 15px 24px; }
  body.platform-mode .main-content { width: 100%; margin-left: 0 !important; margin-right: 0; }
  .platform-filter-form { grid-template-columns: 1fr; }
  .platform-email-form { grid-template-columns: 1fr; }
  .platform-email-provider-card { grid-template-columns: 1fr 1fr; }
  .platform-email-form .client-form-actions { grid-column: auto; }
  .platform-filter-actions { justify-content: flex-start; }
  .platform-dashboard-grid { grid-template-columns: 1fr; }
  .platform-dashboard-bar { grid-template-columns: minmax(90px, .7fr) auto minmax(80px, 1fr); }
  .platform-pagination { align-items: flex-start; flex-wrap: wrap; justify-content: flex-start; }
  .platform-profile-grid { grid-template-columns: 1fr; }
  .platform-detail-grid, .platform-detail-list { grid-template-columns: 1fr; }
  .admin-summary, .metric-grid, .dashboard-overview .admin-summary { grid-template-columns: 1fr; }
  .news-grid { grid-template-columns: 1fr; }
  .news-card:last-child { grid-column: auto; }
  .module-view { padding: 20px 17px; }
  .agenda-parity-view { margin: -20px -17px; border-radius: 13px; }
  .schedule-catalog-heading { grid-template-columns: 1fr; align-items: start; }
  .schedule-catalog-actions { grid-column: auto; flex-wrap: wrap; }
  .schedule-filter-panel { grid-template-columns: 1fr; }
  .occupancy-view { margin: -20px -17px; border-radius: 13px; }
  .occupancy-heading { align-items: flex-start; flex-direction: column; }
  .agenda-parity-heading { grid-template-columns: 1fr; align-items: start; padding: 16px 15px 11px; }
  .agenda-parity-actions { justify-content: flex-start; flex-wrap: wrap; }
  .agenda-local-index { margin-right: 15px; margin-left: 15px; }
  .module-heading { flex-direction: column; }
  .module-stats, .agenda-summary { grid-template-columns: 1fr; }
  .module-toolbar { align-items: flex-start; flex-direction: column; }
  .finance-filter-row { grid-template-columns: 1fr; }
  .finance-filter-row .finance-search-field, .finance-filter-row .finance-date-fields { grid-column: auto; }
  .finance-date-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-stats-two, .finance-stats-three, .finance-stats-four, .finance-stats-five, .finance-stats-six, .finance-stats-nine { grid-template-columns: 1fr; }
  .report-analysis-grid { grid-template-columns: 1fr; }
  .cash-current-header { align-items: flex-start; flex-direction: column; }
  .cash-current-actions { justify-content: flex-start; }
  .cash-balance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cash-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cash-close-summary { grid-template-columns: 1fr 1fr; }
  .automation-filters { width: 100%; }
  .module-search { width: 100%; }
  .agenda-slot { align-items: flex-start; flex-wrap: wrap; }
  .slot-capacity { margin-left: 0; }
  .detail-grid { grid-template-columns: 1fr; }
  .quick-client-modal { padding: 10px; }
  .quick-client-modal-card { max-height: 92vh; padding: 20px 17px; }
  .quick-sale-modal { padding: 10px; }
  .quick-sale-modal-card { max-height: 92vh; padding: 20px 17px; }
  .quick-opportunity-modal { padding: 10px; }
  .quick-opportunity-modal-card { max-height: 92vh; padding: 20px 17px; }
  #agenda-action-panel.agenda-modal { width: calc(100vw - 20px); max-height: 92vh; padding: 15px; }
  .agenda-modal-heading, .agenda-modal-footer { align-items: flex-start; flex-direction: column; }
  .agenda-modal-heading-actions { width: 100%; justify-content: space-between; }
  .agenda-modal-summary { align-items: flex-start; flex-wrap: wrap; gap: 14px 22px; }
  .agenda-modal-summary > button { margin-left: 0; }
  .agenda-modal-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agenda-modal-footer { gap: 11px; }
  .agenda-modal-footer > div { width: 100%; justify-content: flex-end; }
  .service-balance-card, .service-history-row { grid-template-columns: 1fr; }
  .assessment-history-row, .assessment-question-fields { grid-template-columns: 1fr; }
  .reservation-form { grid-template-columns: 1fr; }
  .client-form { grid-template-columns: 1fr; }
  .finance-form { grid-template-columns: 1fr; }
  .admin-finance-classification { grid-template-columns: 1fr; }
  .admin-finance-classification legend, .admin-finance-classification label.client-form-wide { grid-column: auto; }
  .training-exercise-basics, .training-exercise-advanced { grid-template-columns: 1fr; }
  .client-form-grid, .contact-row { grid-template-columns: 1fr; }
  .client-form label.client-form-wide { grid-column: auto; }
  .finance-form label.client-form-wide { grid-column: auto; }
  .client-form-actions { grid-column: auto; flex-wrap: wrap; }
  .grade-form { grid-template-columns: 1fr; }
  .grade-form label.client-form-wide, .grade-fieldset { grid-column: auto; }
  .check-grid, .check-grid-inline, .grade-number-grid { grid-template-columns: 1fr; }
  .reservation-row { align-items: flex-start; flex-direction: column; }
  .reservation-row .agenda-actions { margin-left: 0; }
  .summary-card, .metric-card { min-height: 100px; }
  .reports-catalog-view { padding: 0 0 24px; }
  .report-card-grid { grid-template-columns: 1fr; }
  .report-card-visual { min-height: 220px; }
  .detail-panel.report-modal { width: calc(100vw - 20px); max-height: 92vh; padding: 20px 17px; }
  .report-modal-grid { grid-template-columns: 1fr; }
  .report-detail-filters { grid-template-columns: 1fr; align-items: stretch; }
  .report-detail-filters .report-checkbox-field { justify-content: flex-start; }
  .report-client-advanced-filters:not([hidden]) { grid-template-columns: 1fr; }
  .report-client-history-advanced:not([hidden]) { align-items: flex-start; flex-direction: column; gap: 10px; }
  .report-profile-advanced-filters:not([hidden]) { grid-template-columns: 1fr; }
  .report-detail-actions, .report-detail-pagination { align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; }
  .report-detail-table { overflow-x: auto; }
  .report-detail-header, .report-detail-row { min-width: 520px; }
  .report-enrollment-heading { align-items: flex-start; flex-direction: column; }
  .report-enrollment-heading span { text-align: left; }
  .report-analytics-grid { grid-template-columns: 1fr; }
  .dashboard-toolbar { align-items: flex-start; flex-direction: column; }
  .dashboard-crm-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-crm-toolbar select, .dashboard-crm-filter-panel select, .dashboard-crm-filter-panel input[type="date"] { width: 100%; min-width: 0; }
  .dashboard-crm-filter-panel { grid-template-columns: 1fr; }
  .dashboard-crm-filter-actions { justify-content: flex-start; }
  .dashboard-gerencial-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-gerencial-toolbar input, .dashboard-gerencial-filter-panel input[type="month"] { width: 100%; min-width: 0; }
  .dashboard-gerencial-filter-panel { align-items: stretch; flex-direction: column; }
  .dashboard-gerencial-filter-actions { margin-left: 0; }
  .dashboard-professors-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-professors-toolbar input, .dashboard-professors-toolbar select, .dashboard-professors-filter-panel select, .dashboard-professors-filter-panel input[type="date"] { width: 100%; min-width: 0; }
  .dashboard-professors-filter-panel { align-items: stretch; flex-direction: column; }
  .dashboard-professors-filter-actions { margin-left: 0; }
  .dashboard-clients-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-clients-toolbar input, .dashboard-clients-filter-panel select, .dashboard-clients-filter-panel input[type="date"] { width: 100%; min-width: 0; }
  .dashboard-clients-filter-panel { align-items: stretch; flex-direction: column; }
  .dashboard-clients-filter-actions { margin-left: 0; }
  .dashboard-finance-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-finance-filter-panel { grid-template-columns: 1fr; align-items: stretch; }
  .dashboard-finance-filter-panel select, .dashboard-finance-filter-panel input[type="month"] { width: 100%; }
  .dashboard-finance-filter-actions { justify-content: flex-start; }
  .dashboard-agenda-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-agenda-toolbar input, .dashboard-agenda-filter-panel select, .dashboard-agenda-filter-panel input[type="date"] { width: 100%; min-width: 0; }
  .dashboard-agenda-filter-panel { grid-template-columns: 1fr; align-items: stretch; }
  .dashboard-agenda-filter-actions { justify-content: flex-start; }
  .dashboard-training-toolbar { align-items: stretch; flex-direction: column; }
  .dashboard-training-filter-panel { grid-template-columns: 1fr; align-items: stretch; }
  .dashboard-training-filter-panel select, .dashboard-training-filter-panel input[type="date"] { width: 100%; }
  .dashboard-training-filter-actions { justify-content: flex-start; }
  .dashboard-training-grid { grid-template-columns: 1fr; }
  .dashboard-donut-layout { grid-template-columns: 1fr; }
  .dashboard-panel-actions { align-items: flex-end; flex-direction: column; gap: 3px; }
  .dashboard-stats { grid-template-columns: 1fr; }
  .dashboard-kpi-list { grid-template-columns: 1fr; }
  .client-summary { grid-template-columns: 1fr; }
  .client-filter-grid { grid-template-columns: 1fr; }
  .client-filter-search { grid-column: auto; }
  .client-results-controls { align-items: flex-start; flex-direction: column; }
  .client-card-grid { grid-template-columns: 1fr; }
  .client-profile-finance-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .automation-summary { grid-template-columns: 1fr; }
  .reward-filter-panel form, .reward-catalog-toolbar { align-items: stretch; flex-direction: column; }
  .reward-settings-fields, .reward-trigger-row, .reward-catalog-grid { grid-template-columns: 1fr; }
  .client-contract-card { grid-template-columns: 1fr; gap: 8px; }
  .automation-filters { grid-template-columns: 1fr; }
  .opportunity-view-actions { align-items: stretch; flex-direction: column; }
  .opportunity-view-actions > label, .opportunity-filter-panel label { width: 100%; }
  .opportunity-filter-panel { align-items: stretch; flex-direction: column; }
  .opportunity-kanban { grid-template-columns: 1fr; overflow-x: visible; }
  .opportunity-kanban-column { min-width: 0; }
  .research-activation { align-items: flex-start; flex-direction: column; padding: 21px; }
  .reward-grid { grid-template-columns: 1fr; }
  .reward-grid .reward-empty-panel { grid-column: auto; }
  .assistant-grid, .resource-grid, .store-grid, .news-preview-list, .access-profile-permission-grid { grid-template-columns: 1fr; }
  .assistant-run-row { grid-template-columns: 1fr; }
  .date-filter { align-items: flex-start; flex-direction: column; width: 100%; }
  .date-filter label, .date-filter input { width: 100%; }
  .settings-tabs { overflow-x: auto; }
  .client-filter-footer, .client-results-bar, .client-pagination { align-items: flex-start; flex-direction: column; }
  .client-pagination > div { width: 100%; justify-content: space-between; }
  .welcome-panel { min-height: 245px; padding: 25px 23px; }
  .welcome-orbit { display: none; }
  .page-footer { flex-direction: column; }
  .quick-actions button, .refresh-button { flex: 1 1 auto; justify-content: center; }
}

@media (max-width: 720px) {
  .client-registration-module { padding: 0; }
  .client-registration-card-heading { align-items: flex-start; }
  .client-main-fields, .client-registration-two-columns, .client-address-fields { grid-template-columns: 1fr; }
  .client-address-fields > label:nth-child(2), .client-address-fields > label:nth-child(4) { grid-column: auto; }
  .client-responsible-main-grid, .client-responsible-address-grid { grid-template-columns: 1fr; }
  .client-responsible-address-grid > label:nth-child(2), .client-responsible-address-grid > label:nth-child(5) { grid-column: auto; }
  .client-responsible-control { grid-template-columns: 1fr; }
  .client-main-fields, .client-registration-card-body { padding: 17px 15px; }
  .client-registration-form .contact-row { grid-template-columns: 1fr; }
  .client-invite-modal-card { padding: 20px 17px; }
  .client-invite-link-row { grid-template-columns: 1fr; }
}
