:root {
  --ink: #142828; --muted: #667878; --line: #dfe8e7; --surface: #ffffff; --canvas: #f3f7f6;
  --brand: #0f3d3e; --brand-2: #17605d; --accent: #c99b4a; --accent-soft: #f4ead7;
  --danger: #a63838; --danger-soft: #fff0f0; --success: #23745f; --success-soft: #e8f6f1;
  --shadow: 0 24px 70px rgba(15,61,62,.13); --radius: 20px;
  font-family: Inter, "Segoe UI", Tahoma, Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; color: var(--ink); background: var(--canvas); }
body { min-height: 100vh; }
button, input { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(390px, 46%) 1fr; background: var(--surface); }
html[dir="rtl"] .login-layout { grid-template-columns: 1fr minmax(390px, 46%); }
.brand-panel { position: relative; overflow: hidden; padding: 64px clamp(42px, 6vw, 96px); color: #fff; background: linear-gradient(145deg, #0b3132 0%, #0f4847 62%, #17605d 100%); display: flex; flex-direction: column; justify-content: center; }
html[dir="rtl"] .brand-panel { grid-column: 2; grid-row: 1; }
html[dir="rtl"] .login-panel { grid-column: 1; grid-row: 1; }
.brand-panel::before, .brand-panel::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.brand-panel::before { width: 520px; height: 520px; inset-inline-end: -220px; top: -140px; }
.brand-panel::after { width: 340px; height: 340px; inset-inline-start: -170px; bottom: -130px; }
.brand-overlay { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, #000, transparent 92%); }
.brand-content, .brand-footer { position: relative; z-index: 1; }
.brand-mark { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 22px; background: #fff; color: var(--brand); font-size: 40px; font-weight: 800; box-shadow: 0 16px 34px rgba(0,0,0,.18); }
.brand-mark.small { width: 45px; height: 45px; border-radius: 14px; font-size: 24px; box-shadow: none; }
.brand-eyebrow { margin: 34px 0 8px; color: #d8e7e5; letter-spacing: .13em; text-transform: uppercase; font-size: 13px; font-weight: 700; }
.brand-content h1 { margin: 0; font-size: clamp(48px, 6vw, 76px); line-height: 1; letter-spacing: -.04em; }
.brand-tagline { max-width: 570px; margin: 24px 0 42px; color: #dcebea; font-size: clamp(19px, 2vw, 25px); line-height: 1.75; }
.feature-list { display: grid; gap: 17px; max-width: 560px; }
.feature-item { display: flex; align-items: center; gap: 16px; padding: 15px 0; border-top: 1px solid rgba(255,255,255,.13); }
.feature-item span { color: #e3bf79; font-weight: 800; letter-spacing: .08em; }
.feature-item p { margin: 0; color: #eff8f7; }
.brand-footer { position: absolute; inset-inline-start: clamp(42px,6vw,96px); bottom: 32px; color: rgba(255,255,255,.65); font-size: 13px; }

.login-panel { position: relative; display: flex; align-items: center; justify-content: center; padding: 110px clamp(28px, 6vw, 96px) 56px; background: #fbfdfc; }
.login-toolbar { position: absolute; top: 34px; inset-inline-end: 44px; }
.language-switch { border: 1px solid var(--line); background: #fff; color: var(--brand); border-radius: 999px; padding: 10px 16px; display: inline-flex; align-items: center; gap: 9px; font-weight: 700; box-shadow: 0 7px 22px rgba(18,52,52,.06); }
.language-switch:hover { border-color: var(--brand-2); }
.language-icon { font-size: 17px; }
.login-card { width: min(100%, 470px); }
.mobile-brand { display: none; align-items: center; gap: 12px; margin-bottom: 34px; color: var(--brand); font-size: 21px; }
.section-kicker { margin: 0 0 10px; color: var(--accent); font-size: 13px; letter-spacing: .08em; font-weight: 800; text-transform: uppercase; }
.login-card h2 { margin: 0; font-size: clamp(30px, 4vw, 42px); letter-spacing: -.035em; }
.section-subtitle { margin: 14px 0 34px; color: var(--muted); line-height: 1.7; }
.field-label { display: block; margin: 19px 0 9px; font-weight: 700; font-size: 14px; }
.input-wrap { height: 57px; border: 1px solid #cedbd9; border-radius: 14px; display: flex; align-items: center; gap: 11px; padding: 0 15px; background: #fff; transition: .2s; }
.input-wrap:focus-within { border-color: var(--brand-2); box-shadow: 0 0 0 4px rgba(23,96,93,.1); }
.input-icon { color: #78908d; font-weight: 700; }
.input-icon.lock { font-size: 8px; border: 2px solid #78908d; border-radius: 4px; width: 15px; height: 14px; display: grid; place-items: center; color: transparent; }
.input-wrap input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; }
.password-toggle { border: 0; background: transparent; color: #78908d; padding: 8px; }
.form-options { margin: 18px 0 24px; display: flex; justify-content: space-between; gap: 16px; color: var(--muted); font-size: 13px; }
.remember-choice { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.remember-choice input { accent-color: var(--brand); width: 16px; height: 16px; }
.secure-note { color: var(--success); }
.primary-button { width: 100%; height: 58px; border: 0; border-radius: 14px; background: var(--brand); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 12px; box-shadow: 0 16px 30px rgba(15,61,62,.2); transition: .2s; }
.primary-button:hover { background: #0b4d4b; transform: translateY(-1px); }
.primary-button:disabled { opacity: .72; cursor: wait; transform: none; }
.button-loader { display: none; width: 19px; height: 19px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: spin .8s linear infinite; }
.primary-button.loading .button-loader { display: block; }
@keyframes spin { to { transform: rotate(360deg); } }
.support-text { margin: 28px 0 34px; text-align: center; color: var(--muted); font-size: 13px; }
.version-row { border-top: 1px solid var(--line); padding-top: 18px; display: flex; justify-content: space-between; color: #8b9b99; font-size: 12px; }
.alert { padding: 13px 15px; margin: 18px 0; border-radius: 12px; font-size: 14px; line-height: 1.5; }
.alert.error { color: var(--danger); background: var(--danger-soft); border: 1px solid #f0caca; }
.alert.success { color: var(--success); background: var(--success-soft); border: 1px solid #c5e4d9; }

.app-shell { min-height: 100vh; display: flex; background: var(--canvas); }
.sidebar { position: fixed; inset-block: 0; inset-inline-start: 0; width: 270px; height: 100dvh; padding: 28px 20px; background: var(--brand); color: #fff; z-index: 20; display: flex; flex-direction: column; overflow: hidden; }
.sidebar-brand { flex: 0 0 auto; display: flex; align-items: center; gap: 13px; padding: 0 7px 26px; border-bottom: 1px solid rgba(255,255,255,.13); }
.sidebar-brand strong, .sidebar-brand span { display: block; }
.sidebar-brand span { margin-top: 4px; color: #bcd1cf; font-size: 12px; }
.sidebar-nav { flex: 1 1 auto; min-height: 0; display: grid; align-content: start; gap: 7px; margin-top: 20px; padding-block: 6px 16px; padding-inline-end: 5px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.34) transparent; }
.sidebar-nav::-webkit-scrollbar { width: 7px; }
.sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.28); border-radius: 999px; }
.sidebar-nav::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.42); }
.nav-item { color: #d8e8e6; text-decoration: none; padding: 13px 14px; border-radius: 12px; display: flex; align-items: center; gap: 13px; }
.nav-item.active { color: #fff; background: rgba(255,255,255,.13); }
.nav-item.disabled { opacity: .56; cursor: default; }
.nav-icon { width: 25px; text-align: center; font-size: 18px; }
.sidebar-footer { flex: 0 0 auto; margin-top: 0; padding: 18px 8px 0; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; color: #bcd1cf; font-size: 12px; }
.app-main { flex: 1; margin-inline-start: 270px; min-width: 0; }
.topbar { height: 88px; padding: 0 34px; background: #fff; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 15; }
.topbar-start { display: flex; align-items: center; gap: 15px; }
.topbar-kicker { margin: 0; color: var(--muted); font-size: 12px; }
.topbar h1 { margin: 4px 0 0; font-size: 20px; }
.menu-button { display: none; border: 1px solid var(--line); background: #fff; border-radius: 10px; width: 42px; height: 42px; color: var(--brand); }
.topbar-actions { display: flex; align-items: center; gap: 13px; }
.language-switch.compact { padding: 9px 13px; box-shadow: none; }
.user-menu-wrap { position: relative; }
.user-button { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 7px 11px; display: flex; align-items: center; gap: 10px; color: var(--ink); }
.user-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--brand); color: #fff; font-weight: 800; }
.user-copy { min-width: 120px; text-align: start; }
.user-copy strong, .user-copy small { display: block; }
.user-copy small { margin-top: 3px; color: var(--muted); }
.user-dropdown { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; width: 190px; padding: 7px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.user-dropdown button { width: 100%; border: 0; background: transparent; padding: 11px 12px; text-align: start; border-radius: 8px; color: var(--danger); }
.user-dropdown button:hover { background: var(--danger-soft); }
.dashboard-content { padding: 30px 34px 60px; }
.hero-card { min-height: 230px; padding: clamp(30px, 5vw, 50px); border-radius: var(--radius); color: #fff; background: linear-gradient(125deg, var(--brand), #17605d); display: flex; align-items: center; justify-content: space-between; gap: 30px; box-shadow: var(--shadow); overflow: hidden; position: relative; }
.hero-card::after { content: ""; position: absolute; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; inset-inline-end: -90px; top: -130px; }
.hero-card > * { position: relative; z-index: 1; }
.hero-card .section-kicker { color: #e5bf79; }
.hero-card h2 { margin: 0 0 13px; font-size: clamp(27px, 4vw, 42px); }
.hero-card p:not(.section-kicker) { margin: 0; max-width: 760px; color: #d9e9e7; line-height: 1.75; }
.status-seal { width: 130px; min-width: 130px; height: 130px; border-radius: 50%; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); display: grid; place-items: center; text-align: center; }
.status-seal span { display: block; margin: 0 auto 4px; width: 36px; height: 36px; line-height: 36px; border-radius: 50%; background: #fff; color: var(--success); font-weight: 900; }
.status-seal strong { font-size: 12px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; margin-top: 22px; }
.metric-card { padding: 23px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 10px 30px rgba(15,61,62,.045); }
.metric-label { display: block; color: var(--muted); font-size: 13px; }
.metric-card strong { display: block; margin: 14px 0 8px; font-size: 20px; }
.metric-card small { color: #839491; }
.metric-card strong.positive { color: var(--success); }
.foundation-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; margin-top: 22px; }
.foundation-card { min-height: 115px; padding: 20px; border: 1px solid var(--line); border-radius: 17px; background: #fff; display: flex; align-items: center; gap: 15px; }
.foundation-card > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--success-soft); color: var(--success); font-weight: 800; }
.foundation-card p { margin: 7px 0 0; color: var(--success); font-size: 12px; }
.foundation-card.next { border-style: dashed; }
.foundation-card.next > span { background: var(--accent-soft); color: #946d27; }
.foundation-card.next p { color: #946d27; }
.loading-screen { position: fixed; inset: 0; z-index: 100; background: var(--canvas); display: grid; place-content: center; justify-items: center; gap: 15px; transition: opacity .25s; }
.loading-screen.hidden { opacity: 0; pointer-events: none; }
.loading-logo { width: 66px; height: 66px; display: grid; place-items: center; border-radius: 20px; background: var(--brand); color: #fff; font-size: 35px; font-weight: 800; animation: pulse 1.2s ease-in-out infinite; }
.loading-screen p { color: var(--muted); }
@keyframes pulse { 50% { transform: scale(.94); opacity: .72; } }

@media (max-width: 1050px) {
  .metric-grid, .foundation-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .brand-panel { padding-inline: 45px; }
}
@media (max-width: 820px) {
  .login-layout, html[dir="rtl"] .login-layout { display: block; }
  .brand-panel { display: none; }
  .login-panel { min-height: 100vh; padding: 88px 24px 42px; }
  .mobile-brand { display: flex; }
  .login-toolbar { top: 24px; inset-inline-end: 24px; }
  .sidebar { transform: translateX(calc(-100% - 10px)); transition: transform .25s; box-shadow: var(--shadow); }
  html[dir="rtl"] .sidebar { transform: translateX(calc(100% + 10px)); }
  body.sidebar-open .sidebar { transform: translateX(0); }
  .app-main { margin-inline-start: 0; }
  .menu-button { display: block; }
  .topbar { padding: 0 20px; }
  .dashboard-content { padding: 22px 20px 45px; }
  .user-copy { display: none; }
  .hero-card { align-items: flex-start; }
  .status-seal { width: 100px; min-width: 100px; height: 100px; }
}
@media (max-width: 610px) {
  .form-options { align-items: flex-start; flex-direction: column; }
  .metric-grid, .foundation-grid { grid-template-columns: 1fr; }
  .hero-card { display: block; }
  .status-seal { margin-top: 26px; }
  .language-switch.compact span:last-child { display: none; }
  .dashboard-content { padding-inline: 14px; }
  .topbar { padding-inline: 14px; }
}

/* v0.3.1 — users, permissions and password administration */
.ltr-input, .ltr-text { direction: ltr !important; text-align: left !important; unicode-bidi: plaintext; }
.form-control { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cedbd9; border-radius: 12px; background: #fff; color: var(--ink); outline: 0; }
.form-control:focus { border-color: var(--brand-2); box-shadow: 0 0 0 4px rgba(23,96,93,.1); }
.form-control:disabled { background: #f2f5f4; color: #8b9997; cursor: not-allowed; }
.secondary-button { min-height: 44px; padding: 0 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--brand); font-weight: 700; }
.secondary-button:hover { border-color: var(--brand-2); background: #f8fbfa; }
.compact-button { width: auto; min-width: 120px; height: 46px; padding-inline: 22px; box-shadow: none; }
.user-dropdown .neutral-action { color: var(--brand); }
.user-dropdown .neutral-action:hover { background: var(--success-soft); }
.user-dropdown button + button { margin-top: 3px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.page-heading h2 { margin: 0; font-size: clamp(26px, 3vw, 36px); }
.page-heading p:not(.section-kicker) { margin: 9px 0 0; color: var(--muted); }
.page-action { width: auto; min-width: 160px; height: 50px; padding-inline: 23px; box-shadow: none; }
.notice-card { margin-bottom: 18px; padding: 14px 17px; display: flex; align-items: center; gap: 12px; border: 1px solid #e7d7b7; border-radius: 14px; background: #fffaf0; color: #76561f; }
.notice-card p { margin: 0; }
.filter-card { display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(145px, .8fr)) auto; gap: 12px; padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.filter-button { min-width: 95px; }
.table-card { margin-top: 18px; border: 1px solid var(--line); border-radius: 17px; background: #fff; overflow: hidden; }
.table-responsive { overflow-x: auto; }
.data-table { width: 100%; min-width: 940px; border-collapse: collapse; }
.data-table th, .data-table td { padding: 16px 18px; border-bottom: 1px solid var(--line); text-align: start; vertical-align: middle; }
.data-table th { color: var(--muted); background: #f8fbfa; font-size: 12px; font-weight: 800; white-space: nowrap; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fbfdfc; }
.data-table td strong, .data-table td small { display: block; }
.data-table td small { margin-top: 5px; color: var(--muted); font-size: 12px; }
.status-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.status-badge.active { color: var(--success); background: var(--success-soft); }
.status-badge.inactive { color: #667878; background: #edf1f0; }
.status-badge.suspended { color: var(--danger); background: var(--danger-soft); }
.warning-text { color: #9b6e1d !important; max-width: 180px; }
.table-actions { display: flex; flex-wrap: wrap; gap: 7px; min-width: 210px; }
.table-button { min-height: 34px; padding: 6px 11px; border: 1px solid #c9d8d6; border-radius: 9px; background: #fff; color: var(--brand); font-size: 12px; font-weight: 700; white-space: nowrap; }
.table-button:hover { background: var(--success-soft); border-color: #abd1c6; }
.table-button.danger-outline { color: var(--danger); border-color: #e5bdbd; }
.table-button.danger-outline:hover { background: var(--danger-soft); }
.table-loading, .empty-state { min-height: 150px; display: grid; place-items: center; color: var(--muted); }
.modal-open { overflow: hidden; }
.modal-backdrop { position: fixed; inset: 0; z-index: 120; padding: 24px; background: rgba(7,31,32,.58); display: grid; place-items: center; overflow-y: auto; }
.modal-card { position: relative; width: min(100%, 650px); padding: 28px; border-radius: 20px; background: #fff; box-shadow: 0 28px 90px rgba(0,0,0,.25); }
.small-modal { width: min(100%, 510px); }
.modal-card h2 { margin: 0 0 8px; font-size: 25px; }
.modal-description { margin: 0 0 20px; color: var(--muted); line-height: 1.65; }
.modal-close { position: absolute; top: 16px; inset-inline-end: 17px; width: 36px; height: 36px; border: 0; border-radius: 10px; background: #f1f5f4; color: var(--ink); font-size: 23px; line-height: 1; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 16px; }
.form-group.full-span { grid-column: 1 / -1; }
.form-help { margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.modal-actions { margin-top: 24px; display: flex; justify-content: flex-end; gap: 10px; }
.temporary-password-box { padding: 16px; border: 1px dashed #b7cbc8; border-radius: 14px; background: #f7fbfa; }
.temporary-password-box code { display: block; margin-bottom: 13px; padding: 12px; border-radius: 10px; background: #fff; color: var(--brand); direction: ltr; text-align: left; overflow-wrap: anywhere; font-size: 15px; font-weight: 800; user-select: all; }

@media (max-width: 1120px) {
  .filter-card { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filter-card > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .page-heading { align-items: stretch; flex-direction: column; }
  .page-action { width: 100%; }
  .filter-card, .form-grid { grid-template-columns: 1fr; }
  .filter-card > :first-child, .form-group.full-span { grid-column: auto; }
  .modal-backdrop { padding: 12px; align-items: start; }
  .modal-card { margin-top: 20px; padding: 23px 18px; }
  .modal-actions { flex-direction: column-reverse; }
  .modal-actions button { width: 100%; }
}

/* v0.4.0 — dynamic branches, remote work profiles, bilingual display names */
.account-identity-ltr { direction: ltr !important; text-align: left !important; }
.account-identity-ltr .user-button { direction: ltr !important; }
.account-identity-ltr .user-copy { text-align: left !important; }
.info-notice { border-color: #c8dcda; background: #f4faf9; color: var(--brand); }
.large-modal { width: min(100%, 820px); }
.wide-table { min-width: 1160px; }
.form-group select.ltr-input, select.ltr-input { direction: ltr !important; text-align: left !important; }
.data-table td.ltr-text, .data-table .ltr-text { direction: ltr !important; text-align: left !important; }
.branch-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.branch-meta span { padding: 4px 8px; border-radius: 999px; background: #f0f5f4; color: var(--muted); font-size: 11px; }
@media (max-width: 720px) {
  .large-modal { width: 100%; }
}

/* v0.4.1 — per-user page and command permissions */
.permission-editor { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.permission-editor[hidden] { display: none !important; }
.permission-editor-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.permission-editor-header h3 { margin: 0 0 5px; font-size: 18px; }
.permission-editor-header p { margin: 0; color: var(--muted); line-height: 1.55; }
.small-button { min-height: 40px; padding: 8px 14px; white-space: nowrap; }
.permission-summary { margin-bottom: 14px; padding: 10px 13px; border-radius: 12px; background: #f4f8f7; color: var(--muted); font-size: 13px; }
.permission-groups { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.permission-group { border: 1px solid var(--line); border-radius: 15px; padding: 14px; background: #fbfdfd; }
.permission-group h4 { margin: 0 0 10px; font-size: 15px; color: var(--ink); }
.permission-list { display: grid; gap: 9px; }
.permission-option { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 9px; align-items: start; cursor: pointer; }
.permission-option input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--brand); }
.permission-option span { line-height: 1.45; }
.permission-option small { display: block; color: var(--muted); font-size: 11px; direction: ltr; text-align: start; }
.permission-option.is-role-default span::after { content: ' •'; color: #b8862b; }
.permission-option.is-disabled { opacity: .58; cursor: not-allowed; }
@media (max-width: 720px) {
  .permission-editor-header { flex-direction: column; }
  .permission-groups { grid-template-columns: 1fr; }
  .small-button { width: 100%; }
}

/* v0.5.0 — companies and contacts */
.crm-filter-card { grid-template-columns: minmax(240px,1.5fr) repeat(4,minmax(135px,.75fr)) auto; }
.summary-strip { margin-top: 14px; display: flex; justify-content: space-between; gap: 14px; color: var(--muted); font-size: 13px; }
.crm-wide-table { min-width: 1280px; }
.extra-large-modal { width: min(100%, 1080px); }
.three-column-form { grid-template-columns: repeat(3,minmax(0,1fr)); }
.textarea-control { min-height: 110px; resize: vertical; font-family: inherit; }
.entity-link { color: var(--brand); font-weight: 800; text-decoration: none; }
.entity-link:hover { text-decoration: underline; }
.action-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.status-badge.archived, .status-badge.do_not_contact { color: var(--danger); background: var(--danger-soft); }
.danger-confirm { background: var(--danger); }
.duplicate-list { display: grid; gap: 10px; max-height: 300px; overflow-y: auto; }
.duplicate-item { padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfa; }
.duplicate-item strong, .duplicate-item small { display: block; }
.duplicate-item small { margin-top: 5px; color: var(--muted); direction: ltr; text-align: left; }
.company-profile-heading { display: block; margin-bottom: 22px; }
.company-profile-heading h2 { margin: 4px 0 5px; font-size: clamp(30px,4vw,44px); }
.company-profile-heading p { margin: 0; color: var(--muted); }
.back-link { color: var(--brand); text-decoration: none; font-weight: 700; font-size: 13px; }
.profile-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin-top: 18px; }
.profile-actions .action-link { flex: 0 0 auto; min-height: 50px; }
.profile-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.profile-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.profile-card { padding: 22px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }
.profile-card h3 { margin: 0 0 16px; }
.profile-card dl { margin: 0; display: grid; gap: 14px; }
.profile-card dl div { display: grid; grid-template-columns: minmax(110px,.6fr) 1fr; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.profile-card dl div:last-child { border-bottom: 0; padding-bottom: 0; }
.profile-card dt { color: var(--muted); font-size: 13px; }
.profile-card dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.profile-notes { margin-top: 18px; }
.profile-notes p { margin: 0; white-space: pre-wrap; line-height: 1.75; color: var(--muted); }
.section-table-heading { padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.section-table-heading h3, .section-table-heading p { margin: 0; }
.section-table-heading p { margin-top: 5px; color: var(--muted); font-size: 13px; }
@media (max-width: 1180px) { .crm-filter-card { grid-template-columns: repeat(3,minmax(0,1fr)); } .three-column-form { grid-template-columns: repeat(2,minmax(0,1fr)); } .profile-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 720px) { .crm-filter-card, .three-column-form, .profile-metric-grid, .profile-grid { grid-template-columns: 1fr; } .company-profile-heading { display: block; } .profile-actions { flex-direction: column; margin-top: 14px; } .profile-actions a { width: 100%; } .summary-strip { flex-direction: column; } .profile-card dl div { grid-template-columns: 1fr; gap: 4px; } }

/* v0.5.1 — dynamic entity types, bilingual industry catalog and country-code fix */
.field-with-action { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: stretch; }
.mini-manage-button { min-height: 48px; padding: 8px 12px; border: 1px solid #bdd0cd; border-radius: 11px; background: #f5faf9; color: var(--brand); font-size: 12px; font-weight: 800; white-space: nowrap; }
.mini-manage-button:hover { background: var(--success-soft); }
.classifications-modal { width: min(100%, 1120px); }
.classification-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 18px; }
.classification-panel { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fbfdfc; }
.classification-panel h3 { margin: 0 0 14px; }
.classification-heading { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.classification-heading small { color: var(--muted); }
.classification-form { display: grid; gap: 9px; margin-bottom: 14px; }
.classification-form.four-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.classification-form.four-fields button { grid-column: 1 / -1; }
.classification-list { display: grid; gap: 7px; max-height: 330px; overflow-y: auto; padding-inline-end: 3px; }
.classification-list-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid #dce7e5; border-radius: 11px; background: #fff; }
.classification-list-item strong, .classification-list-item small { display: block; }
.classification-list-item small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.industry-list { max-height: 390px; }
.crm-filter-card { grid-template-columns: minmax(220px,1.4fr) repeat(5,minmax(125px,.72fr)) auto; }
@media (max-width: 1180px) {
  .crm-filter-card { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .classification-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .field-with-action { grid-template-columns: 1fr; }
  .classification-form.four-fields { grid-template-columns: 1fr; }
  .classification-form.four-fields button { grid-column: auto; }
}

/* v0.6.0 — Excel import and export */
.transfer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.transfer-card,.transfer-import-card,.transfer-preview-card{background:#fff;border:1px solid #dce7e5;border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(15,61,62,.05)}
.transfer-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.transfer-card h3,.transfer-section-heading h3{margin:6px 0;font-size:1.35rem;color:#143637}.transfer-card p,.transfer-section-heading p{margin:0;color:#698181;line-height:1.7}.transfer-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#e8f5f1;color:#0e6a5d;font-size:1.3rem}.transfer-actions{display:flex;flex-direction:column;gap:10px;min-width:190px}.transfer-import-card,.transfer-preview-card{margin-bottom:18px}.transfer-section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.import-controls{display:grid;grid-template-columns:1fr 2fr auto auto;gap:14px;align-items:end}.file-field small{display:block;margin-top:7px;color:#789091}.import-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.import-summary-grid article{padding:16px;border:1px solid #dce7e5;border-radius:15px;background:#f9fbfb;display:flex;align-items:center;justify-content:space-between;gap:12px}.import-summary-grid article strong{font-size:1.6rem}.import-summary-grid article.ready strong{color:#188261}.import-summary-grid article.duplicate strong{color:#ac7416}.import-summary-grid article.invalid strong{color:#bd3e3e}.import-status{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.82rem;font-weight:700;background:#edf3f2}.import-status.ready,.import-status.imported{background:#e2f4ec;color:#147859}.import-status.duplicate,.import-status.skipped{background:#fff1d8;color:#9b6711}.import-status.invalid,.import-status.failed{background:#fde7e7;color:#b33b3b}.import-status.updated{background:#e8eefc;color:#385fa7}.import-preview-table{max-height:430px;overflow:auto;border:1px solid #e2e9e8;border-radius:15px}.commit-panel,.report-panel{display:flex;align-items:end;justify-content:flex-end;gap:14px;margin-top:18px}.commit-panel .form-group{min-width:320px;margin:0}.result-grid{margin-top:20px}
@media(max-width:1050px){.transfer-grid{grid-template-columns:1fr}.import-controls{grid-template-columns:1fr 1fr}.transfer-actions{min-width:170px}}
@media(max-width:720px){
  .central-company-edit-grid{grid-template-columns:1fr}.transfer-card{align-items:flex-start;flex-direction:column}.transfer-actions{width:100%;min-width:0}.import-controls{grid-template-columns:1fr}.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commit-panel{align-items:stretch;flex-direction:column}.commit-panel .form-group{min-width:0}}
.page-action-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:720px){
  .central-company-edit-grid{grid-template-columns:1fr}.page-action-group{width:100%;flex-direction:column}.page-action-group .page-action{width:100%}}

/* v0.6.4 — safe individual and bulk company deletion */
.danger-button { border: 1px solid var(--danger); background: var(--danger); color: #fff; border-radius: 12px; padding: 12px 18px; font: inherit; font-weight: 800; cursor: pointer; }
.danger-button:hover { filter: brightness(.96); }
.danger-button:disabled { opacity: .55; cursor: not-allowed; }
.bulk-action-bar { margin: 0 0 16px; padding: 13px 16px; border: 1px solid #efcaca; border-radius: 14px; background: var(--danger-soft); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.bulk-action-buttons { display: flex; gap: 9px; flex-wrap: wrap; }
.selection-column { width: 48px; min-width: 48px; text-align: center; }
.row-selection-checkbox { width: 18px; height: 18px; accent-color: var(--danger); cursor: pointer; }
.delete-preview-summary { margin-bottom: 16px; padding: 13px 15px; border-radius: 12px; background: #f3f7f6; font-weight: 800; line-height: 1.6; }
.delete-preview-section { margin-top: 15px; }
.delete-preview-section h3 { margin: 0 0 8px; font-size: 16px; }
.delete-preview-section.protected h3 { color: var(--danger); }
.delete-preview-list { max-height: 210px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; }
.delete-preview-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.delete-preview-item:last-child { border-bottom: 0; }
.delete-preview-item small { color: var(--muted); }
@media (max-width: 720px) { .bulk-action-bar { align-items: stretch; flex-direction: column; } .bulk-action-buttons > * { flex: 1; } }

/* v0.6.5 — company table usability, archive management and focused filters */
.company-view-switch {
  margin: 0 0 16px;
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.company-view-button {
  min-height: 42px;
  padding: 9px 17px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.company-view-button.active {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 7px 18px rgba(15,61,62,.14);
}
.company-primary-filters {
  grid-template-columns: minmax(280px,1.65fr) minmax(165px,.85fr) minmax(190px,1fr) minmax(190px,1fr) auto;
}
.table-scroll-proxy {
  position: sticky;
  top: 88px;
  z-index: 12;
  height: 18px;
  margin: 14px 0 -2px;
  overflow-x: auto;
  overflow-y: hidden;
  direction: ltr;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f7faf9;
  box-shadow: 0 4px 14px rgba(15,61,62,.06);
}
.table-scroll-proxy > div { height: 1px; }
.companies-table-scroll { direction: ltr; }
html[dir="rtl"] .companies-table-scroll table { direction: rtl; }
html[dir="ltr"] .companies-table-scroll table { direction: ltr; }
.crm-wide-table { min-width: 1540px; table-layout: auto; }
.crm-wide-table .company-column { min-width: 310px; width: 310px; }
.crm-wide-table .type-industry-column { min-width: 215px; width: 215px; }
.crm-wide-table .location-column { min-width: 170px; width: 170px; }
.crm-wide-table .contact-column { min-width: 245px; width: 245px; }
.crm-wide-table .responsibility-column { min-width: 220px; width: 220px; }
.crm-wide-table .relationship-column { min-width: 185px; width: 185px; }
.crm-wide-table .actions-column { min-width: 330px; width: 330px; }
.table-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 7px;
  min-width: 330px;
  white-space: nowrap;
}
.table-actions .table-button,
.table-actions .action-link { flex: 0 0 auto; white-space: nowrap; }
.restore-outline {
  border-color: #86b9ad;
  background: #eef8f5;
  color: #176c5c;
}
.restore-outline:hover { background: #dff1eb; }
@media (max-width: 1180px) {
  .company-primary-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-primary-filters .filter-button { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .company-view-switch { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .company-primary-filters { grid-template-columns: 1fr; }
  .company-primary-filters .filter-button { grid-column: auto; }
  .table-scroll-proxy { top: 88px; }
}

/* v0.7.0 — tasks, follow-ups and communication log */
.task-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.task-summary-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:inherit;cursor:pointer;box-shadow:0 8px 24px rgba(15,61,62,.04)}.task-summary-card span{color:var(--muted);font-weight:700}.task-summary-card strong{font-size:2rem}.task-summary-card.overdue strong{color:#b94040}.task-summary-card.today strong{color:#b97914}.task-summary-card.upcoming strong{color:#226c9b}.task-summary-card.completed strong{color:#16805f}.task-summary-card:hover{border-color:#9cbab5;transform:translateY(-1px)}.task-filter-card{grid-template-columns:minmax(240px,1.4fr) repeat(5,minmax(145px,.75fr)) auto}.activity-filter-card{grid-template-columns:minmax(260px,1.5fr) minmax(210px,1fr) minmax(190px,.8fr) auto}.task-table{min-width:1220px}.task-table th:nth-child(1){min-width:270px}.task-table th:nth-child(2){min-width:230px}.task-table th:nth-child(3){min-width:170px}.task-table th:nth-child(4){min-width:190px}.task-table th:nth-child(5){min-width:210px}.task-table th:nth-child(6){min-width:140px}.task-table th:nth-child(7){min-width:250px}.task-table td small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}.priority-badge{display:inline-flex;margin-top:7px;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:800;background:#edf3f2;color:#506665}.priority-badge.high{background:#fff0d9;color:#9a6310}.priority-badge.urgent{background:#fde5e5;color:#b23737}.priority-badge.low{background:#e8f1fb;color:#376b99}.overdue-row{background:#fff8f8}.overdue-row td:first-child strong{color:#b33b3b}.task-actions{min-width:250px}.task-view-switch{margin-bottom:18px}.activity-timeline{display:grid;gap:13px}.activity-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,61,62,.04)}.activity-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e7f4f0;color:#176d5e;font-weight:900}.activity-icon.call{background:#e9f4ff;color:#286f9d}.activity-icon.email{background:#f0ebff;color:#674ba2}.activity-icon.meeting{background:#fff1d9;color:#9a6715}.activity-icon.whatsapp{background:#e4f6e8;color:#227a43}.activity-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.activity-head time{color:var(--muted);font-size:.86rem;white-space:nowrap}.activity-content p{margin:7px 0 0;line-height:1.65}.activity-meta{color:var(--muted);font-size:.88rem}.activity-follow-up{display:inline-block;margin-top:9px;padding:6px 10px;border-radius:9px;background:#fff5df;color:#966313;font-weight:700}.checkbox-row{display:flex;align-items:center;gap:10px;align-self:end;min-height:48px;padding:0 10px}.checkbox-row input{width:18px;height:18px;accent-color:var(--brand)}
@media(max-width:1200px){.task-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-filter-card{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .central-company-edit-grid{grid-template-columns:1fr}.task-summary-grid,.task-filter-card,.activity-filter-card{grid-template-columns:1fr}.activity-card{grid-template-columns:42px minmax(0,1fr)}.activity-head{align-items:flex-start;flex-direction:column;gap:4px}}
.company-followup-grid{margin-top:18px}.compact-list{display:grid;gap:8px}.compact-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none;background:#fbfdfc}.compact-list-row:hover{border-color:#a7c1bc;background:#f2f8f6}.compact-list-row strong,.compact-list-row small{display:block}.compact-list-row small{margin-top:4px;color:var(--muted);font-size:.82rem}.compact-empty{padding:18px;margin-top:6px}
.dashboard-task-section{margin:18px 0}.dashboard-task-grid{margin:14px 0 0}.dashboard-task-grid a{text-decoration:none;color:inherit}

/* v0.8.0 — projects and events management */
.project-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.project-summary-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:92px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff;color:inherit;text-align:inherit;text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 8px 24px rgba(15,61,62,.04)}.project-summary-card span{color:var(--muted);font-weight:800}.project-summary-card strong{font-size:2rem}.project-summary-card.active strong{color:#18795d}.project-summary-card.upcoming strong{color:#286f9d}.project-summary-card.overdue strong{color:#b53f3f}.project-summary-card.completed strong{color:#7a5aa2}.project-summary-card:hover{border-color:#9fbdb8;transform:translateY(-1px)}.project-filter-card{grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(165px,.8fr)) auto}.project-table{min-width:1470px}.project-table th:nth-child(1){min-width:300px}.project-table th:nth-child(2){min-width:230px}.project-table th:nth-child(3){min-width:195px}.project-table th:nth-child(4){min-width:255px}.project-table th:nth-child(5){min-width:205px}.project-table th:nth-child(6){min-width:250px}.project-table th:nth-child(7){min-width:260px}.project-table td small{display:block;margin-top:6px;color:var(--muted);line-height:1.45}.record-link{color:inherit;text-decoration:none}.record-link:hover{color:var(--brand)}.progress-cell{display:grid;gap:8px}.progress-track{height:9px;overflow:hidden;border-radius:999px;background:#e6efed}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d8b77,#0f5a5b)}.three-column-form{grid-template-columns:repeat(3,minmax(0,1fr))}.financial-fields{padding:14px;border:1px solid #e7ddc9;border-radius:15px;background:#fffaf0}.project-profile-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.75fr);gap:18px;align-items:stretch;margin-bottom:18px}.project-hero-main{padding:28px;border-radius:20px;background:linear-gradient(135deg,#104b4c,#126262);color:#fff;position:relative;overflow:hidden}.project-hero-main::after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(255,255,255,.13);border-radius:50%;inset-inline-end:-90px;top:-110px}.project-hero-main h2{margin:6px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1.1}.project-hero-main p{margin:0;color:#dcebea;line-height:1.7}.project-hero-side{display:grid;gap:12px}.project-health-card{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}.project-health-card span,.project-health-card small{display:block;color:var(--muted)}.project-health-card strong{display:block;margin:8px 0;font-size:1.35rem}.project-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.project-detail-card{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}.project-detail-card span{display:block;color:var(--muted);font-size:.9rem}.project-detail-card strong{display:block;margin-top:9px;font-size:1.08rem;line-height:1.5}.project-section-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:18px;margin-bottom:18px}.project-stage-list,.project-team-list{display:grid;gap:10px}.project-stage-row{display:grid;grid-template-columns:58px minmax(220px,1.35fr) minmax(150px,.7fr) minmax(175px,.8fr) minmax(160px,.7fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.project-stage-position{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e8f3f0;color:#176d5f;font-weight:900}.project-stage-copy strong,.project-stage-copy small{display:block}.project-stage-copy small{margin-top:4px;color:var(--muted)}.stage-status{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:#edf3f2;color:#4c6260;font-weight:800;font-size:.82rem}.stage-status.completed{background:#e2f4ec;color:#15795a}.stage-status.in_progress{background:#e7f1fb;color:#286b98}.stage-status.blocked{background:#fde7e7;color:#b63c3c}.stage-status.cancelled{background:#f0eeee;color:#6d6262}.project-team-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.project-team-person{display:flex;align-items:center;gap:12px}.project-team-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e7f4f0;color:#176c5d;font-weight:900}.project-team-person strong,.project-team-person small{display:block}.project-team-person small{margin-top:3px;color:var(--muted)}.project-linked-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.dashboard-project-section{margin:18px 0}.dashboard-project-grid{margin-top:14px}.company-projects-card{margin:18px 0}.project-financial-card{border-color:#eadfc9;background:#fffdf8}.project-financial-value{font-variant-numeric:tabular-nums}.task-filter-card{grid-template-columns:minmax(220px,1.3fr) repeat(6,minmax(140px,.72fr)) auto}.activity-filter-card{grid-template-columns:minmax(230px,1.3fr) repeat(3,minmax(180px,.85fr)) auto}
@media(max-width:1280px){.project-filter-card{grid-template-columns:repeat(3,minmax(0,1fr))}.project-filter-card .filter-button{grid-column:1/-1}.project-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-section-grid{grid-template-columns:1fr}.project-stage-row{grid-template-columns:50px minmax(200px,1fr) repeat(2,minmax(145px,.7fr)) auto}.project-stage-row .stage-assignee{display:none}.task-filter-card{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-filter-card{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.project-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column-form{grid-template-columns:1fr 1fr}.project-profile-hero{grid-template-columns:1fr}.project-linked-grid{grid-template-columns:1fr}.project-stage-row{grid-template-columns:44px minmax(0,1fr) auto}.project-stage-row .stage-status,.project-stage-row .stage-due,.project-stage-row .stage-assignee{display:none}}
@media(max-width:720px){
  .central-company-edit-grid{grid-template-columns:1fr}.project-summary-grid,.project-filter-card,.project-profile-grid,.three-column-form,.task-filter-card,.activity-filter-card{grid-template-columns:1fr}.project-filter-card .filter-button{grid-column:auto}.project-team-row{align-items:flex-start;flex-direction:column}.project-summary-card{min-height:78px}}
/* v0.8.0 project profile component alignment */
.project-profile-hero>div:first-child{padding:28px;border-radius:20px;background:linear-gradient(135deg,#104b4c,#126262);color:#fff;position:relative;overflow:hidden}.project-profile-hero>div:first-child::after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(255,255,255,.14);border-radius:50%;inset-inline-end:-90px;top:-120px}.project-profile-hero>div:first-child h2{margin:5px 0 7px;font-size:clamp(2rem,4vw,3.1rem);line-height:1.12}.project-profile-hero>div:first-child .section-kicker{color:#ffd083}.project-profile-hero .page-action-group{align-content:flex-start;justify-content:flex-start;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff}.project-hero-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:17px}.project-hero-meta>span:not(.status-badge){color:#dcebea}.profile-secondary-name{min-height:1.5em}.project-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.project-overview-card{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(15,61,62,.035)}.project-overview-card>span{display:block;color:var(--muted);font-size:.9rem}.project-overview-card>strong{display:block;margin:9px 0 5px;font-size:1.08rem;line-height:1.45}.project-overview-card>small{display:block;color:var(--muted);line-height:1.5}.project-financial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.project-financial-grid .project-overview-card{border-color:#e9dec7;background:#fffdf8}.project-details-grid{margin-bottom:18px}.project-details-grid .detail-card p{white-space:pre-wrap;line-height:1.75}.project-section-card{margin-bottom:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,61,62,.035)}.section-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.section-card-head h3{margin:0}.section-card-head p{margin:5px 0 0;color:var(--muted)}.project-stage-table{min-width:930px}.project-stage-table td small{display:block;margin-top:5px;color:var(--muted)}.project-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-team-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fbfdfc}.project-team-card strong,.project-team-card small{display:block}.project-team-card small{margin-top:4px;color:var(--muted);line-height:1.4}.project-team-card .status-badge{margin-top:9px}.project-team-avatar{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#e6f3ef;color:#176c5d;font-weight:900}.icon-danger-button{width:32px;height:32px;border:1px solid #edc7c7;border-radius:10px;background:#fff5f5;color:#b43b3b;font-size:1.2rem;cursor:pointer}.project-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-link-grid .project-section-card{margin-bottom:0}
@media(max-width:1050px){.project-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .central-company-edit-grid{grid-template-columns:1fr}.project-overview-grid,.project-financial-grid,.project-team-grid,.project-link-grid{grid-template-columns:1fr}.section-card-head{align-items:flex-start;flex-direction:column}.project-profile-hero .page-action-group{width:100%}.project-profile-hero .page-action-group>*{width:100%}}

/* Conex CRM v0.10.1 — Quotations & Proposals */
.quotation-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.quotation-summary-card{min-height:96px;border:1px solid var(--border);border-radius:18px;background:#fff;padding:20px;text-align:start;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;transition:.2s ease}
.quotation-summary-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(17,54,56,.08)}
.quotation-summary-card span{font-weight:700;color:var(--muted)}
.quotation-summary-card strong{font-size:2rem;line-height:1;color:var(--brand)}
.quotation-summary-card.sent strong{color:#1f6f8b}.quotation-summary-card.accepted strong{color:#17845f}.quotation-summary-card.expired strong{color:#b33b3b}
.quotation-filter-card{grid-template-columns:minmax(240px,1.8fr) repeat(4,minmax(150px,1fr)) auto}
.quotation-table{min-width:1840px;table-layout:auto}
.quotation-table .quotation-selection-column,.quotation-table .quotation-selection-cell{width:52px;min-width:52px;text-align:center}
.quotation-table .quotation-number-column,.quotation-table th:nth-child(2),.quotation-table td:nth-child(2){min-width:170px}
.quotation-table .quotation-status-column,.quotation-table th:nth-child(3),.quotation-table td:nth-child(3){min-width:130px;text-align:center}
.quotation-table .quotation-client-column,.quotation-table th:nth-child(4),.quotation-table td:nth-child(4){min-width:220px}
.quotation-table .quotation-subject-column,.quotation-table th:nth-child(5),.quotation-table td:nth-child(5){min-width:250px}
.quotation-table .quotation-project-column,.quotation-table th:nth-child(6),.quotation-table td:nth-child(6){min-width:220px}
.quotation-table .quotation-validity-column,.quotation-table th:nth-child(7),.quotation-table td:nth-child(7){min-width:190px}
.quotation-table .quotation-total-column,.quotation-table th:nth-child(8),.quotation-table td:nth-child(8){min-width:180px}
.quotation-table .quotation-owner-column,.quotation-table th:nth-child(9),.quotation-table td:nth-child(9){min-width:190px}
.quotation-table .quotation-actions-column,.quotation-table th:nth-child(10),.quotation-table td:nth-child(10){min-width:245px;width:245px}
.quotation-actions{flex-wrap:nowrap;white-space:nowrap}
.ltr-inline{direction:ltr;unicode-bidi:isolate;display:inline-block}
.status-badge.quotation-draft{background:#f1f3f4;color:#566168}.status-badge.quotation-sent{background:#e4f3f8;color:#17647c}.status-badge.quotation-accepted{background:#e4f5ee;color:#167152}.status-badge.quotation-rejected{background:#fae8e8;color:#a93131}.status-badge.quotation-expired{background:#fff0dc;color:#9a5a08}.status-badge.quotation-cancelled{background:#eee;color:#555}
.quotation-modal-card{width:min(1480px,96vw);max-height:94vh;overflow:auto;padding:28px}
.quotation-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px;padding-inline-end:46px}
.quotation-live-number{direction:ltr;unicode-bidi:isolate;background:#edf6f3;border:1px solid #cfe6de;border-radius:999px;padding:10px 16px;color:#17604f;font-weight:800}
.quotation-header-form{margin-bottom:22px}
.quotation-items-editor{border:1px solid var(--border);border-radius:20px;padding:18px;background:#f9fbfb;margin:16px 0}
.quotation-item-list{display:grid;gap:14px;margin-top:14px}
.quotation-item-editor{display:grid;grid-template-columns:42px minmax(0,1fr) 38px;gap:12px;align-items:start;background:#fff;border:1px solid #dce7e5;border-radius:17px;padding:14px}
.quotation-item-number{width:36px;height:36px;border-radius:12px;background:#e6f3ee;color:#12614e;display:grid;place-items:center;font-weight:900}
.quotation-item-fields{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:10px;align-items:end}
.quotation-item-fields .description-en,.quotation-item-fields .description-ar{grid-column:span 3}
.quotation-item-fields .field-label{font-size:.75rem;min-height:20px}
.quotation-item-fields .form-control{min-height:44px;padding:10px}
.quotation-item-total{display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:8px 12px;border-radius:12px;background:#f1f7f5;white-space:nowrap}
.quotation-item-total span{font-size:.72rem;color:var(--muted)}.quotation-item-total strong{font-size:1rem;color:var(--brand);direction:ltr;unicode-bidi:isolate}
.icon-danger-button{width:34px;height:34px;border-radius:10px;border:1px solid #efc4c4;background:#fff7f7;color:#b43232;font-size:1.25rem;cursor:pointer}
.quotation-calculation-panel{display:grid;grid-template-columns:minmax(360px,.75fr) minmax(500px,1.25fr);gap:20px;border:1px solid var(--border);border-radius:20px;padding:18px;background:#fff}
.quotation-discount-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quotation-live-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch}
.quotation-live-totals>div{border:1px solid #e1e8e7;border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:6px}.quotation-live-totals span{font-size:.75rem;color:var(--muted)}.quotation-live-totals strong{direction:ltr;unicode-bidi:isolate;font-size:1rem}.quotation-live-totals .grand{background:var(--brand);color:#fff}.quotation-live-totals .grand span{color:#dceceb}.quotation-live-totals .grand strong{font-size:1.15rem}
.quotation-terms-form{margin-top:20px}
.quotation-profile-content{max-width:1500px}
.quotation-profile-hero{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:22px;background:linear-gradient(135deg,#0f4b4b,#176463);color:#fff;border-radius:24px;padding:34px;margin:8px 0 20px;box-shadow:0 18px 45px rgba(12,58,59,.12)}
.quotation-profile-hero .section-kicker{color:#f1bd64}.quotation-profile-hero h2{font-size:clamp(1.45rem,3vw,2.8rem);direction:ltr;unicode-bidi:isolate;margin:0}.quotation-profile-hero h3{font-size:1.35rem;margin:12px 0 6px}.quotation-profile-hero p{color:#d9eeec;margin:0}
.quotation-number-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.quotation-action-panel{display:grid;gap:10px;align-content:start}.quotation-action-panel .secondary-button{background:#fff;border-color:#fff;text-align:center}.quotation-action-panel .danger-button{text-align:center}
.quotation-status-control{display:flex;align-items:end;justify-content:flex-end;gap:12px;border:1px solid var(--border);background:#fff;border-radius:17px;padding:14px;margin-bottom:18px}.quotation-status-control>div{min-width:280px}
.quotation-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.quotation-document-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px;margin-bottom:20px}
.quotation-items-table{min-width:1040px}.quotation-items-table th:nth-child(2),.quotation-items-table td:nth-child(2){min-width:330px}.quotation-items-table small{display:block;color:var(--muted);margin-top:5px}
.quotation-totals-display{margin-inline-start:auto;margin-top:20px;width:min(520px,100%);display:grid;gap:8px}.quotation-totals-display>div{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #e7eceb}.quotation-totals-display strong{direction:ltr;unicode-bidi:isolate}.quotation-totals-display .grand{border:none;border-radius:14px;background:var(--brand);color:#fff;font-size:1.15rem;padding:15px}
.quotation-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-details-grid p{white-space:pre-wrap}.internal-note-card{background:#fffaf0}
.quotation-revision-list{display:grid;gap:9px}.quotation-revision-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border:1px solid var(--border);border-radius:13px;color:var(--text);text-decoration:none}.quotation-revision-row:hover,.quotation-revision-row.current{background:#eef7f4;border-color:#b9d9cf}.quotation-revision-row span:first-child{display:flex;flex-direction:column;gap:3px}.quotation-revision-row small{color:var(--muted)}

/* Printable bilingual quotation */
.quotation-print-page{margin:0;background:#e9efee;color:#182b2b;font-family:Arial,"Noto Sans Arabic",Tahoma,sans-serif}
.print-toolbar{position:sticky;top:0;z-index:10;display:flex;justify-content:center;gap:10px;padding:12px;background:#173f40}.print-toolbar button{border:0;border-radius:10px;padding:10px 18px;font-weight:800;cursor:pointer}.print-toolbar button:first-child{background:#f2b75a;color:#173f40}.print-toolbar button:last-child{background:#fff;color:#173f40}
.quotation-print-sheet{width:210mm;min-height:297mm;margin:18px auto;background:#fff;padding:15mm 14mm;box-sizing:border-box;box-shadow:0 10px 35px rgba(0,0,0,.12)}
.quotation-print-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:18px;border-bottom:3px solid #155454}.quotation-print-brand{display:flex;align-items:center;gap:12px}.print-brand-mark{width:52px;height:52px;border-radius:14px;background:#155454;color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:900}.quotation-print-brand div:last-child{display:flex;flex-direction:column}.quotation-print-brand strong{letter-spacing:2px;color:#155454;font-size:1.15rem}.quotation-print-brand span{font-size:.75rem;color:#657878;margin-top:4px}.quotation-print-title{text-align:end;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.quotation-print-title>span{font-size:1.6rem;font-weight:900;color:#155454}.quotation-print-title strong{direction:ltr;unicode-bidi:isolate;font-size:1rem}.quotation-print-title small{color:#7b8989}
.quotation-print-meta{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;margin:24px 0}.quotation-print-meta span{display:block;text-transform:uppercase;letter-spacing:.08em;color:#748383;font-size:.68rem;font-weight:700}.quotation-print-meta strong{display:block;margin:6px 0;font-size:1rem}.quotation-print-meta p{margin:4px 0;color:#526565;font-size:.82rem}.print-date-block{display:grid;gap:8px}.print-date-block p{display:grid;grid-template-columns:110px 1fr;gap:10px;margin:0;padding:7px 0;border-bottom:1px solid #edf0ef}.print-date-block strong{margin:0;font-size:.83rem}
.quotation-print-subject{background:#edf6f3;border-inline-start:5px solid #d9a24b;padding:12px 16px;margin-bottom:18px}.quotation-print-subject h1{font-size:1.25rem;margin:0;color:#153f40}
.quotation-print-table{width:100%;border-collapse:collapse;font-size:.77rem}.quotation-print-table th{background:#155454;color:#fff;padding:10px 7px;text-align:start}.quotation-print-table td{padding:10px 7px;border-bottom:1px solid #dfe7e5;vertical-align:top}.quotation-print-table th:not(:nth-child(2)),.quotation-print-table td:not(:nth-child(2)){white-space:nowrap;text-align:center}.quotation-print-table td:nth-child(n+5){direction:ltr;unicode-bidi:isolate}
.quotation-print-summary{display:grid;grid-template-columns:1.3fr .8fr;gap:30px;margin-top:25px;align-items:start}.quotation-print-terms{display:grid;gap:15px}.quotation-print-terms h3{font-size:.85rem;margin:0 0 6px;color:#155454}.quotation-print-terms p{white-space:pre-wrap;font-size:.76rem;line-height:1.7;color:#4d6161;margin:0}.quotation-print-totals{border:1px solid #d9e3e1;border-radius:14px;padding:8px 14px}.quotation-print-totals p{display:flex;justify-content:space-between;gap:15px;margin:0;padding:9px 0;border-bottom:1px solid #e5eae9;font-size:.78rem}.quotation-print-totals strong{direction:ltr;unicode-bidi:isolate}.quotation-print-totals .grand{background:#155454;color:#fff;border:0;border-radius:9px;margin:8px -6px -1px;padding:12px;font-size:.92rem}
.quotation-print-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px;padding-top:16px;border-top:2px solid #155454;font-size:.72rem;color:#566b6b}.quotation-print-footer>div{display:flex;flex-direction:column;gap:3px}.quotation-print-footer>div:nth-child(2){text-align:center}.quotation-print-footer>div:last-child{text-align:end}.print-arabic .quotation-print-title{align-items:flex-start;text-align:start}.print-arabic .quotation-print-table th,.print-arabic .quotation-print-table td{text-align:right}.print-arabic .quotation-print-table th:not(:nth-child(2)),.print-arabic .quotation-print-table td:not(:nth-child(2)){text-align:center}

@media(max-width:1180px){.quotation-summary-grid,.quotation-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-filter-card input{grid-column:1/-1}.quotation-item-fields{grid-template-columns:repeat(3,minmax(110px,1fr))}.quotation-calculation-panel{grid-template-columns:1fr}.quotation-live-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.quotation-summary-grid,.quotation-overview-grid,.quotation-details-grid{grid-template-columns:1fr}.quotation-filter-card{grid-template-columns:1fr}.quotation-profile-hero{grid-template-columns:1fr;padding:24px}.quotation-action-panel{grid-template-columns:1fr 1fr}.quotation-item-editor{grid-template-columns:32px minmax(0,1fr) 34px}.quotation-item-fields{grid-template-columns:1fr 1fr}.quotation-item-fields .description-en,.quotation-item-fields .description-ar{grid-column:1/-1}.quotation-live-totals,.quotation-discount-controls{grid-template-columns:1fr 1fr}.quotation-status-control{align-items:stretch;flex-direction:column}.quotation-status-control>div{min-width:0}.quotation-modal-card{padding:20px 14px}.quotation-print-sheet{width:100%;min-height:auto;margin:0;padding:20px}.quotation-print-summary,.quotation-print-meta{grid-template-columns:1fr}.print-toolbar{position:static}}
@media print{@page{size:A4;margin:0}.print-toolbar{display:none!important}.quotation-print-page{background:#fff}.quotation-print-sheet{width:210mm;min-height:297mm;margin:0;box-shadow:none;padding:14mm 13mm}.quotation-print-table{page-break-inside:auto}.quotation-print-table tr{page-break-inside:avoid}.quotation-print-footer{page-break-inside:avoid}}

/* Conex CRM v0.10.1 — Finance, invoices and payments */
.invoice-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}
.invoice-summary-grid .quotation-summary-card.partial{border-color:#d4b3e7;background:#fbf6ff}.invoice-summary-grid .quotation-summary-card.partial strong{color:#77419c}
.invoice-filter-card{grid-template-columns:minmax(260px,2fr) repeat(4,minmax(160px,1fr)) auto}
.invoice-table{min-width:1500px}.invoice-table td small{display:block;margin-top:5px;color:var(--muted)}.invoice-financial-cell{min-width:210px}.invoice-financial-cell small{direction:ltr;unicode-bidi:isolate}
.status-badge.invoice-draft{background:#edf0f0;color:#506060}.status-badge.invoice-issued{background:#e8f0ff;color:#315f9f}.status-badge.invoice-partially_paid{background:#fbf3df;color:#84621c}.status-badge.invoice-paid{background:#e5f6ed;color:#24704a}.status-badge.invoice-overdue{background:#fff0ed;color:#a43c2c}.status-badge.invoice-cancelled{background:#f0eeee;color:#705c5c}.status-badge.payment-posted{background:#e5f6ed;color:#24704a}.status-badge.payment-voided{background:#f0eeee;color:#705c5c}
.invoice-profile-hero{background:linear-gradient(135deg,#123f48,#1b6570)}
.invoice-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 20px}.invoice-metric-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px}.invoice-metric-card span{font-size:.78rem;color:var(--muted)}.invoice-metric-card strong{font-size:1.18rem;color:var(--brand);direction:ltr;unicode-bidi:isolate}.invoice-metric-card.paid{background:#f2faf6}.invoice-metric-card.balance{background:#fff8eb}
.invoice-payments-card{margin-bottom:28px}.invoice-payments-card .data-table{min-width:920px}.danger-text{color:#a33737;border-color:#e8c0c0}.danger-text:hover{background:#fff2f2}
.quotation-action-panel #convertInvoiceButton{background:#f2b75a;border-color:#f2b75a;color:#173f40}
@media(max-width:1180px){.invoice-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-filter-card input{grid-column:1/-1}.invoice-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.invoice-summary-grid,.invoice-filter-card,.invoice-metrics-grid{grid-template-columns:1fr}}

/* Conex CRM v0.11.0 — Income & Expenses */
.page-heading-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.expense-action{background:#9f3838;border-color:#9f3838}
.finance-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px;margin:18px 0}
.finance-summary-card{border:0;border-radius:18px;background:#fff;padding:22px;text-align:start;box-shadow:0 8px 24px rgba(15,61,62,.06);min-height:104px}
.finance-summary-card span{display:block;color:#627575;font-weight:700;margin-bottom:12px}
.finance-summary-card strong{display:flex;flex-direction:column;gap:4px;font-size:1.5rem;color:#0f3d3e}
.finance-summary-card strong small{font-size:.92rem;direction:ltr;text-align:start}
.finance-summary-breakdown{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:.82rem;color:#5f7373;line-height:1.5}
.finance-summary-breakdown span{display:block;margin:0;color:inherit;font-weight:600}
.finance-summary-breakdown b{font-weight:800;white-space:nowrap}
.finance-summary-card.income{background:#edf9f3}.finance-summary-card.expense{background:#fff3f1}.finance-summary-card.net{background:#f4f0fb}.finance-summary-card.approved{background:#fff8e7}.finance-summary-card.draft{background:#f1f4f4}
.finance-filter-card{display:grid;grid-template-columns:minmax(230px,2fr) repeat(5,minmax(140px,1fr)) repeat(2,minmax(145px,1fr)) auto;gap:10px;align-items:center}
.finance-table{min-width:1450px}.finance-table td small{display:block;margin-top:5px;color:#768888}.finance-table .table-actions{display:flex;gap:6px;flex-wrap:wrap;white-space:nowrap}
.finance-type-income{background:#e7f7ee;color:#157249}.finance-type-expense{background:#fdebea;color:#a03434}.finance-status-approved{background:#fff2cd;color:#8b6300}.finance-status-settled{background:#e3f5ed;color:#0f7650}.finance-status-cancelled{background:#f4e8e8;color:#913737}.finance-status-draft{background:#edf0f0;color:#536363}
.finance-modal-card{width:min(1080px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto}
@media(max-width:1200px){.finance-summary-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.finance-filter-card{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:700px){.finance-summary-grid,.finance-filter-card{grid-template-columns:1fr}.page-heading-actions{width:100%}.page-heading-actions>*{width:100%}}

.finance-nav-action{background:var(--brand);color:#fff;border:0;box-shadow:none;text-decoration:none}
.finance-nav-action:hover{background:#0b4d4b;color:#fff}
.modal-helper{margin:8px 0 0;color:var(--muted);font-size:.92rem;line-height:1.6}

/* Conex CRM v0.12.0 — Fiscal years, periods and cash distribution closing */
.fiscal-years-content{padding-bottom:48px}.fiscal-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.fiscal-summary-card{min-height:112px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:start;box-shadow:0 8px 24px rgba(15,61,62,.04);cursor:pointer}.fiscal-summary-card span{display:block;color:var(--muted);font-weight:700}.fiscal-summary-card strong{display:block;margin-top:12px;font-size:2rem}.fiscal-summary-card.planned{border-top:4px solid #8a98a8}.fiscal-summary-card.open{border-top:4px solid #21866f}.fiscal-summary-card.review{border-top:4px solid #d09a2f}.fiscal-summary-card.closed{border-top:4px solid #3f556b}.fiscal-filter-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px}.fiscal-table{min-width:1120px}.fiscal-table td small{display:block;margin-top:5px;color:var(--muted)}.date-range-value{display:flex;align-items:center;gap:7px;white-space:nowrap}.date-range-value b{color:var(--muted)}.fiscal-status-planned{background:#eef1f4;color:#596675}.fiscal-status-open{background:#e7f5ef;color:#176d5b}.fiscal-status-review{background:#fff3d9;color:#8c5d00}.fiscal-status-closed{background:#e9eef3;color:#33485d}.fiscal-period-open{background:#e7f5ef;color:#176d5b}.fiscal-period-closed{background:#e9eef3;color:#33485d}.fiscal-year-modal-card{width:min(980px,calc(100vw - 30px))}.fiscal-detail-modal-card{width:min(1240px,calc(100vw - 24px));max-height:92vh;overflow:auto}.fiscal-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-inline-end:42px;margin-bottom:16px}.fiscal-detail-head h2{margin:4px 0}.fiscal-detail-head p{margin:0;color:var(--muted)}.fiscal-action-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.close-year-action{background:#244e65}.close-year-action:hover{background:#173c51}.fiscal-policy-banner{padding:18px;border:1px solid #d9e8e2;border-radius:17px;background:linear-gradient(135deg,#f2faf7,#fff);margin-bottom:18px}.fiscal-policy-banner strong{display:block;color:var(--brand);font-size:1.05rem}.fiscal-policy-banner p{margin:7px 0 0;color:var(--muted);line-height:1.7}.fiscal-closing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.fiscal-closing-grid article{padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}.fiscal-closing-grid article span{display:block;color:var(--muted);font-size:.88rem}.fiscal-closing-grid article strong{display:block;margin-top:8px;font-size:1.1rem}.fiscal-closing-grid article.distributable{border-color:#b9dfd2;background:#f1faf7}.fiscal-closing-grid article.distributable strong{color:#126b56}.fiscal-blockers{padding:16px 18px;border:1px solid #efc4c4;border-radius:15px;background:#fff5f5;margin-bottom:18px}.fiscal-blockers h3{margin:0 0 8px;color:#9d2f2f}.fiscal-blockers ul{margin:0;padding-inline-start:20px;color:#7d3333;line-height:1.8}.fiscal-close-settings{padding:17px;border:1px solid var(--line);border-radius:16px;background:#fbfdfc;margin-bottom:18px}.fiscal-close-settings .secondary-button{margin-top:8px}.fiscal-period-section{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff;margin-bottom:18px}.fiscal-period-table{min-width:850px}.fiscal-carryover-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fiscal-carryover-grid article{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.fiscal-carryover-grid h3{margin:0}.fiscal-carryover-grid strong{display:block;margin:10px 0;font-size:1.8rem;color:var(--brand)}.fiscal-carryover-grid p{margin:0;color:var(--muted);line-height:1.6}.fiscal-policy-note{padding:12px 14px;border-radius:12px;background:#f3f8f6;color:#3d5c54}.fiscal-action{background:#2e6572;border-color:#2e6572}.fiscal-action:hover{background:#244e58}.danger-text{color:#a13535}.ltr-value{direction:ltr;unicode-bidi:embed}.modal-helper{margin:8px 0 0;color:var(--muted);font-size:.92rem;line-height:1.6}
@media(max-width:980px){.fiscal-summary-grid,.fiscal-closing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fiscal-filter-card{grid-template-columns:1fr 1fr}.fiscal-filter-card .filter-button{grid-column:1/-1}.fiscal-carryover-grid{grid-template-columns:1fr}}
@media(max-width:620px){.fiscal-summary-grid,.fiscal-closing-grid,.fiscal-filter-card{grid-template-columns:1fr}.fiscal-detail-head{flex-direction:column}.fiscal-action-row>*{width:100%}}

/* Finance module v0.12.3 — separated income/expense views and aligned layout */
.finance-page-heading{align-items:flex-end}
.finance-action-layout{display:grid;gap:10px;width:min(560px,48vw);margin-inline-start:auto}
.finance-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.finance-action-layout .page-action{width:100%;min-height:54px;height:54px;padding:0 18px;text-decoration:none;box-shadow:none;white-space:nowrap}
.finance-action-layout .fiscal-action{text-decoration:none!important}
.finance-action-row-create .page-action{min-height:52px;height:52px}
.finance-summary-card{min-height:126px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.finance-summary-card span{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0 0 10px;text-align:center;line-height:1.45;width:100%}
.finance-summary-card strong{display:flex;align-items:center;justify-content:center;min-height:38px;width:100%;text-align:center;line-height:1.25}
.finance-summary-card strong small{width:100%;text-align:center;direction:ltr}
.finance-summary-card.approved,.finance-summary-card.draft{cursor:default;font:inherit;color:inherit}
.finance-filter-card{display:block;padding:16px 18px}
.finance-view-tabs{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.finance-view-tab{min-height:42px;padding:0 20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-weight:800;text-decoration:none}
.finance-view-tab:hover{border-color:var(--brand-2);background:#f6faf9}
.finance-view-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}
.finance-filter-fields{display:grid;grid-template-columns:minmax(250px,2fr) repeat(2,minmax(165px,1fr)) repeat(2,minmax(145px,1fr)) auto;gap:10px;align-items:center}
.finance-filter-fields .filter-button{min-width:96px}
.finance-table .table-actions .secondary-button.compact-action,.finance-table .table-actions .danger-outline-button.compact-action{min-height:42px;height:42px;padding:0 16px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1;white-space:nowrap}
@media(max-width:1200px){.finance-action-layout{width:min(520px,52vw)}.finance-filter-fields{grid-template-columns:repeat(2,minmax(180px,1fr))}.finance-filter-fields #financeSearch{grid-column:1/-1}}
@media(max-width:820px){.finance-page-heading{align-items:stretch;flex-direction:column}.finance-action-layout{width:100%;margin-inline-start:0}.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-filter-fields{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.finance-action-row,.finance-summary-grid,.finance-filter-fields{grid-template-columns:1fr}.finance-view-tabs{display:grid;grid-template-columns:1fr 1fr}.finance-filter-fields #financeSearch{grid-column:auto}}

/* Conex CRM v0.13.0 — configurable projects and central project finance */
.project-heading-actions{align-items:center}
.project-preferences-panel{grid-column:1/-1;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fbfa}
.project-preferences-panel h3{margin:0 0 12px;color:var(--brand)}
.project-preferences-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px 14px}
.project-preferences-grid .checkbox-row{min-height:46px;margin:0;padding:10px 12px;border:1px solid #dfe9e7;border-radius:12px;background:#fff}
.project-lists-modal-card{width:min(1280px,calc(100vw - 24px));max-height:92vh;overflow:auto}
.project-list-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.reference-manager-card{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fbfdfc}
.reference-manager-card h3{margin:0 0 15px;color:var(--brand)}
.reference-list{display:grid;gap:9px;margin-top:18px;max-height:390px;overflow:auto;padding-inline-end:4px}
.reference-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff}
.reference-list-item.is-inactive{opacity:.62;background:#f1f4f4}
.reference-list-copy strong,.reference-list-copy small{display:block}
.reference-list-copy small{margin-top:4px;color:var(--muted);line-height:1.45}
.reference-list-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.reference-list-actions button{min-height:38px;padding:0 12px;border-radius:10px}
.inline-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}
.project-website-link{position:relative;z-index:1;color:#fff;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.project-status-pipeline{background:#edf1f5;color:#4d6072}.project-status-active{background:#e4f5ee;color:#176f58}.project-status-completed{background:#eee8f7;color:#6e4f95}.project-status-cancelled{background:#f8e8e8;color:#a43b3b}.project-status-postponed{background:#fff2d9;color:#91651b}
.project-finance-section{border-color:#bcded5;background:linear-gradient(180deg,#fbfefd,#fff)}
.project-finance-section .compact-head{margin-bottom:10px}
.project-finance-summary-grid{display:grid;gap:14px;margin:16px 0 18px}
.project-finance-currency-group{display:grid;grid-template-columns:repeat(8,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}
.project-finance-summary-card{min-height:116px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.project-finance-summary-card span{min-height:42px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:800;line-height:1.35}
.project-finance-summary-card strong{display:block;margin:7px 0 3px;font-size:1.08rem;direction:ltr;unicode-bidi:embed}
.project-finance-summary-card small{color:var(--muted);font-weight:700}
.project-finance-summary-card.total-revenue{background:#e9f7f2}.project-finance-summary-card.income{background:#eef9f4}.project-finance-summary-card.expense{background:#fff2f0}.project-finance-summary-card.net{background:#f4effb}.project-finance-summary-card.approved{background:#fff9e9}.project-finance-summary-card.receivable{background:#edf5fb}.project-finance-summary-card.draft{background:#f1f4f4}
.project-finance-view-tabs{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.project-finance-view-tab{min-height:48px;padding:0 20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--brand);display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-weight:800;cursor:pointer}
.project-finance-view-tab:hover{border-color:var(--brand-2);background:#f6faf9}
.project-finance-view-tab.active{background:var(--brand);border-color:var(--brand);color:#fff}
.project-finance-view-tab strong{display:grid;place-items:center;min-width:29px;height:29px;padding-inline:7px;border-radius:9px;background:#e9f3f0;color:var(--brand);font-size:.88rem}
.project-finance-view-tab.active strong{background:rgba(255,255,255,.18);color:#fff}
.project-finance-single-table-card{padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0}
.project-finance-table{min-width:840px}
.project-finance-table td small{display:block;margin-top:5px;color:var(--muted)}
.project-finance-table .table-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;white-space:nowrap}
.project-finance-table .compact-action{min-height:39px;height:39px;padding:0 12px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;line-height:1}
.project-finance-section .finance-status-draft{background:#edf0f0;color:#536363}.project-finance-section .finance-status-approved{background:#fff2cd;color:#8b6300}.project-finance-section .finance-status-settled{background:#e3f5ed;color:#0f7650}.project-finance-section .finance-status-cancelled{background:#f4e8e8;color:#913737}
.project-finance-section .finance-status-partially_paid{background:#fff2cd;color:#8b6300}.project-finance-section .finance-status-paid{background:#e3f5ed;color:#0f7650}
@media(max-width:1280px){.project-preferences-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.project-finance-currency-group{grid-template-columns:repeat(4,minmax(160px,1fr))}}
@media(max-width:900px){.project-list-settings-grid{grid-template-columns:1fr}.project-preferences-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.project-finance-currency-group{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:620px){.project-preferences-grid,.project-finance-currency-group{grid-template-columns:1fr}.project-heading-actions{width:100%}.project-heading-actions>*{width:100%}.reference-list-item{grid-template-columns:1fr}.reference-list-actions{justify-content:flex-start}}


/* v0.13.1 project profile venue, contacts and speakers */
.project-profile-hero{align-items:stretch}
.project-profile-main{height:100%;display:flex;flex-direction:column;justify-content:center;min-width:0}
.project-profile-actions{height:100%;display:grid;grid-template-columns:1fr;align-content:start;gap:12px}
.project-profile-actions .page-action{text-decoration:none!important;display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;line-height:1.25}
.project-profile-actions a,.project-profile-actions button{text-decoration:none!important}
.project-hero-details{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px;font-size:1rem}
[dir="rtl"] .project-hero-details{align-items:flex-end}
.project-hero-badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#projectHeroVenue{font-size:1.08rem;color:#fff}
.project-overview-four,.project-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.project-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.project-contact-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0}
.project-contact-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.project-contact-card strong{font-size:1.05rem;color:var(--ink)}
.project-contact-card small{color:var(--muted);line-height:1.55;overflow-wrap:anywhere}
.project-contact-role{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 10px;border-radius:999px;background:#e7f5f1;color:#08785f;font-weight:700;font-size:.82rem}
.project-contact-remove{border:1px solid #efc1c1;background:#fff7f7;color:#b53737;border-radius:10px;min-width:34px;height:34px;cursor:pointer}
.project-contacts-table-wrap{margin-top:18px}
.project-contacts-table{min-width:930px}
.project-contacts-table th:nth-child(1){min-width:190px}
.project-contacts-table th:nth-child(2){min-width:190px}
.project-contacts-table th:nth-child(3){min-width:170px}
.project-contacts-table th:nth-child(4){min-width:155px}
.project-contacts-table th:nth-child(5){min-width:220px}
.project-contacts-table th:nth-child(6){min-width:110px}
.project-contact-detail{display:block;color:var(--muted);line-height:1.55;overflow-wrap:anywhere}
.project-contact-detail+.project-contact-detail{margin-top:4px}
.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:36px;border-radius:999px;background:#eef6f5;color:var(--brand);font-weight:800}
.project-new-contact-field.is-disabled{opacity:.48}
.project-new-contact-field.is-disabled input,.project-new-contact-field.is-disabled select{pointer-events:none;background:#f5f7f7}
@media(max-width:1100px){
  .central-company-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-overview-four,.project-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.project-overview-four,.project-metrics-grid,.project-contact-grid{grid-template-columns:1fr}.project-profile-actions{grid-template-columns:1fr 1fr}.project-profile-actions .page-action{min-height:48px}}


/* v0.13.2 project-first commercial documents and linked record cards */
.project-commercial-records-grid .project-section-card{min-height:230px}
.project-commercial-records-grid .project-card-action,
.project-link-grid .secondary-button,
.project-link-grid a,
.commercial-document-actions a,
.commercial-document-actions button{
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.2;
}
.commercial-document-page{max-width:920px;margin:0 auto}
.commercial-document-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(15,61,62,.06)}
.commercial-document-project{margin:0 0 22px;padding:18px;border-radius:15px;background:#eef7f4;border:1px solid #d5e9e2}
.commercial-document-project span,.commercial-document-project strong{display:block}
.commercial-document-project span{color:var(--muted);font-size:.9rem}
.commercial-document-project strong{margin-top:7px;color:var(--brand);font-size:1.1rem}
.commercial-document-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}
@media(max-width:620px){.commercial-document-actions{display:grid;grid-template-columns:1fr}.commercial-document-actions>*{width:100%}}


/* Conex CRM v0.13.3 — project list summary, archive and compact actions */
.project-summary-card.postponed strong{color:#b57a18}
.project-summary-card.cancelled strong{color:#b53f3f}
.project-table{min-width:1260px}
.project-table th:nth-child(1){min-width:300px}
.project-table th:nth-child(2){min-width:230px}
.project-table th:nth-child(3){min-width:200px}
.project-table th:nth-child(4){min-width:290px}
.project-table th:nth-child(5){min-width:250px}
.project-table th:nth-child(6){min-width:330px}
.project-table .project-row-actions{min-width:310px;align-items:center}
.project-table .table-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;line-height:1;min-height:38px;padding:0 13px}
.project-table .table-button.archive-outline{color:#7b5b16;border-color:#dfc98f;background:#fffdf6}
.project-table .table-button.archive-outline:hover{background:#fff4d7}
.archived-project-label{display:inline-flex!important;width:max-content;margin-top:7px!important;padding:4px 9px;border-radius:999px;background:#eef1f1;color:#5c6b69!important;font-weight:800}


/* Conex CRM v0.13.4 — dedicated archived projects view and permission-aware navigation */
.project-archive-page-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none!important;line-height:1.2}
.project-archive-page-button span{text-decoration:none!important}
.archived-projects-view .project-summary-grid{display:none!important}
.archived-projects-view .project-heading-actions{align-items:center}
.archived-projects-view .project-table .archive-outline{color:#176f58;border-color:#abd8ca;background:#f3fbf8}
.archived-projects-view .project-table .archive-outline:hover{background:#e4f5ee}

/* Conex CRM v0.13.5 — branch order and safe deletion */
.branch-order-input{width:86px;min-width:86px;height:42px;padding:0 10px;text-align:center;direction:ltr;font-weight:800}
.branch-order-cell{width:105px;text-align:center}
.branch-order-input:disabled{background:#f4f7f6;color:#4f6260;opacity:1}
.branch-actions{min-width:220px}
.branch-actions .table-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Conex CRM v0.14.0 — employee performance and printing/distribution */
.performance-filter-card{display:grid;grid-template-columns:minmax(240px,1fr) 180px 150px auto;gap:12px;padding:18px;border:1px solid var(--border);border-radius:18px;background:#fff;margin-bottom:18px}
.employee-summary-grid,.distribution-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.employee-summary-grid .metric-card,.distribution-summary-grid .metric-card{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.employee-summary-grid .metric-card strong,.distribution-summary-grid .metric-card strong{font-size:2rem;color:var(--brand)}
.employee-name-cell{display:flex;align-items:center;gap:12px;min-width:220px}.employee-name-cell>div:last-child{display:flex;flex-direction:column;gap:3px}
.employee-avatar{width:44px;height:44px;border-radius:14px;background:#e8f4f1;display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden;flex:0 0 auto}.employee-avatar.large{width:82px;height:82px;border-radius:24px;font-size:42px}.employee-avatar img{width:100%;height:100%;object-fit:cover}
.employee-profile-header{display:flex;align-items:center;gap:16px;padding:14px 0 22px}.employee-profile-header>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.upload-label{margin-inline-start:auto;cursor:pointer}
.inactivity-badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:700;font-size:.82rem}.inactivity-badge.active,.inactivity-badge.recent{background:#e5f7ef;color:#08775b}.inactivity-badge.warning{background:#fff4d8;color:#9d6900}.inactivity-badge.inactive,.inactivity-badge.never{background:#fee9e7;color:#a92d2d}
.mini-progress{height:8px;border-radius:999px;background:#e6efed;overflow:hidden;margin-top:7px;min-width:120px}.mini-progress span{display:block;height:100%;background:#208a75;border-radius:inherit;max-width:100%}
.star-rating{direction:ltr;color:#d39a18;font-size:1.18rem;letter-spacing:2px;white-space:nowrap}
.employee-performance-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.performance-dashboard-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:145px;gap:10px}.performance-dashboard-card strong{font-size:1.55rem}
.distribution-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}.campaign-panel,.campaign-detail{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px}.campaign-panel{position:sticky;top:88px}.campaign-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.campaign-list-item{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px;text-align:start;display:flex;flex-direction:column;gap:6px;cursor:pointer}.campaign-list-item:hover,.campaign-list-item.active{border-color:var(--brand);background:#eff8f6}.campaign-list-item strong{font-size:1rem}.campaign-list-item small{color:var(--muted)}
.campaign-detail .filter-card{grid-template-columns:minmax(220px,360px) auto;margin:16px 0}.distribution-table td{vertical-align:middle}.distribution-table td:first-child strong,.distribution-table td:first-child small{display:block}.status-badge.ready_for_print,.status-badge.printed,.status-badge.assigned{background:#eaf0fb;color:#315a96}.status-badge.out_for_delivery{background:#fff3d8;color:#8e6200}.status-badge.delivered,.status-badge.online_delivery{background:#e5f7ef;color:#08775b}.status-badge.failed,.status-badge.returned{background:#fee9e7;color:#a92d2d}.status-badge.revisit{background:#fff0df;color:#a4570d}
.bulk-action-bar .bulk-action-buttons{flex-wrap:wrap}
.table-button,.action-link,.secondary-button,.primary-button,.danger-button{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1100px){
  .central-company-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-summary-grid,.distribution-summary-grid,.employee-performance-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.distribution-layout{grid-template-columns:1fr}.campaign-panel{position:static}.performance-filter-card{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.employee-summary-grid,.distribution-summary-grid,.employee-performance-dashboard-grid,.performance-filter-card{grid-template-columns:1fr}.employee-profile-header{align-items:flex-start;flex-wrap:wrap}.upload-label{margin-inline-start:0}}

/* Conex CRM v0.14.1 — shared navigation, page spacing and distribution integration */
.page-content {
  padding: 30px 34px 60px;
}
.page-heading-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}
.page-heading-row h2 {
  margin: 0;
  font-size: clamp(26px, 3vw, 36px);
}
.page-heading-row p:not(.section-kicker) {
  margin: 9px 0 0;
  color: var(--muted);
}
.page-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.page-actions .primary-button,
.page-actions .secondary-button,
.distribution-campaign-actions .primary-button,
.distribution-campaign-actions .secondary-button {
  width: auto;
}
.employee-records-page,
.printing-distribution-page {
  width: 100%;
}
.printing-distribution-page .page-heading,
.employee-records-page .page-heading {
  align-items: flex-end;
}
.distribution-campaign-actions {
  justify-content: flex-end;
}
.distribution-company-picker-modal {
  width: min(1120px, calc(100vw - 44px));
}
.distribution-company-picker-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 12px;
  margin: 18px 0 12px;
}
.distribution-selection-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #f8fbfa;
}
.selection-check-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  font-weight: 700;
}
.distribution-company-picker-table-wrap {
  max-height: 430px;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.distribution-company-picker-table {
  min-width: 900px;
}
.distribution-company-picker-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}
#projectDistributionCampaignsCard {
  grid-column: 1 / -1;
}

@media (max-width: 820px) {
  .page-content {
    padding: 22px 20px 45px;
  }
}
@media (max-width: 720px) {
  .page-heading-row,
  .page-actions,
  .distribution-campaign-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .page-actions > *,
  .distribution-campaign-actions > * {
    width: 100% !important;
  }
  .distribution-company-picker-toolbar {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 610px) {
  .page-content {
    padding-inline: 14px;
  }
}

/* Conex CRM v0.15.0 — General accounting */
.accounting-content{padding-inline:28px;max-width:1700px;margin-inline:auto;width:100%}
.accounting-heading{align-items:flex-start;gap:24px}
.accounting-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:18px}
.accounting-toolbar{display:block;padding:0;overflow:hidden}
.accounting-tabs{margin:0;padding:0 18px;border-bottom:1px solid var(--border-color,#dce4e4)}
.accounting-tabs .finance-view-tab{border:0;background:transparent;cursor:pointer}
.accounting-filter-fields{display:grid;grid-template-columns:minmax(160px,1fr) minmax(240px,2fr) minmax(160px,1fr) minmax(160px,1fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:12px;padding:16px 18px;align-items:center}
.accounting-accounts-table td:first-child,.accounting-journals-table td:first-child{white-space:nowrap}
.accounting-accounts-table td:nth-child(2){min-width:250px}
.accounting-journals-table td:nth-child(4){min-width:260px}
.accounting-checks{display:flex;flex-direction:column;justify-content:center;gap:10px;padding-top:26px}
.accounting-journal-modal{width:min(1500px,96vw)}
.journal-lines-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 10px}
.journal-lines-heading h3{margin:0}
.journal-lines-table{min-width:1250px}
.journal-lines-table th,.journal-lines-table td{text-align:center;vertical-align:middle}
.journal-lines-table .line-account{min-width:210px}
.journal-lines-table .line-description{min-width:180px}
.journal-lines-table .line-company,.journal-lines-table .line-project{min-width:190px}
.journal-lines-table .line-debit,.journal-lines-table .line-credit{min-width:115px;text-align:center}
.journal-lines-table tfoot th{font-weight:800;background:#f4f8f7}
.status-badge.accounting-draft{background:#fff5d8;color:#7a5a00}
.status-badge.accounting-posted{background:#e5f7ef;color:#126546}
.status-badge.accounting-reversed{background:#f1e9fb;color:#5c3684}
.table-button.success{border-color:#a8ddc7;color:#126546;background:#f1fbf7}
.table-button.warning{border-color:#ead49a;color:#765700;background:#fff9e9}
.money-cell{font-variant-numeric:tabular-nums;text-align:center;direction:ltr}
@media(max-width:1200px){.accounting-summary-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.accounting-filter-fields{grid-template-columns:repeat(3,minmax(160px,1fr))}}
@media(max-width:760px){.accounting-content{padding-inline:14px}.accounting-summary-grid{grid-template-columns:1fr 1fr}.accounting-filter-fields{grid-template-columns:1fr}.accounting-heading{display:block}.accounting-heading .page-action-group{margin-top:16px}}

/* Conex CRM v0.15.1 — accounting interface and strict branch isolation */
.accounting-heading .page-action-group{
  justify-content:flex-end;
  max-width:760px;
}
.accounting-heading .page-action-group > *{
  width:auto;
  min-width:150px;
  height:48px;
  padding-inline:20px;
  box-shadow:none;
}
.accounting-heading .page-action-group .action-link{
  min-width:160px;
}
.accounting-toolbar{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.accounting-tabs{
  display:flex;
  gap:10px;
  margin:0;
  padding:14px 18px;
  border-bottom:1px solid var(--line);
  background:#fbfdfc;
}
.accounting-tabs .finance-view-tab{
  min-width:170px;
  min-height:44px;
  padding:0 22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--brand);
  cursor:pointer;
}
.accounting-tabs .finance-view-tab.active{
  border-color:var(--brand);
  background:var(--brand);
  color:#fff;
}
.accounting-view-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 18px 4px;
}
.accounting-view-heading h3{
  margin:0;
  font-size:1.18rem;
}
.accounting-view-heading p{
  margin:6px 0 0;
  color:var(--muted);
  line-height:1.55;
}
.accounting-branch-lock{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid #cce3dc;
  border-radius:999px;
  background:#f1faf7;
  color:#176d5b;
  font-size:.84rem;
  font-weight:800;
  white-space:nowrap;
}
.accounting-filter-fields{
  padding-top:14px;
}
.accounting-journal-backdrop{
  padding:16px;
  overflow:hidden;
  place-items:center;
}
.accounting-journal-modal{
  width:min(1460px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  height:min(900px,calc(100vh - 32px));
  max-height:calc(100vh - 32px);
  padding:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.accounting-journal-modal .modal-close{
  z-index:3;
  top:17px;
  inset-inline-start:17px;
}
.accounting-journal-header{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:24px 68px 18px 26px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
html[dir="ltr"] .accounting-journal-header{
  padding:24px 26px 18px 68px;
}
.accounting-journal-header h2{
  margin:0;
}
.accounting-journal-alert{
  flex:0 0 auto;
  margin:12px 24px 0;
}
.accounting-journal-form{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.accounting-journal-scroll{
  flex:1 1 auto;
  min-height:0;
  padding:20px 24px 14px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}
.accounting-journal-fields{
  margin:0;
}
.accounting-date-input{
  text-align:center;
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
}
.accounting-journal-lines-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:14px;
}
.journal-lines-table{
  min-width:1080px;
  margin:0;
}
.journal-lines-table .line-account{min-width:185px}
.journal-lines-table .line-description{min-width:160px}
.journal-lines-table .line-company,.journal-lines-table .line-project{min-width:165px}
.journal-lines-table .line-debit,.journal-lines-table .line-credit{min-width:105px}
.accounting-journal-actions{
  flex:0 0 auto;
  margin:0;
  padding:14px 24px;
  border-top:1px solid var(--line);
  background:#fff;
  box-shadow:0 -10px 24px rgba(15,61,62,.06);
}
.accounting-journal-actions > *{
  width:auto;
  min-width:150px;
  height:48px;
  box-shadow:none;
}
@media(max-width:1100px){
  .central-company-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .accounting-heading .page-action-group{justify-content:flex-start;max-width:none}
  .accounting-view-heading{align-items:flex-start;flex-direction:column}
  .accounting-journal-modal{height:calc(100vh - 20px);max-height:calc(100vh - 20px);width:calc(100vw - 20px);max-width:calc(100vw - 20px)}
  .accounting-journal-backdrop{padding:10px}
}
@media(max-width:760px){
  .accounting-heading .page-action-group > *{width:100%;min-width:0}
  .accounting-tabs{display:grid;grid-template-columns:1fr 1fr}
  .accounting-tabs .finance-view-tab{min-width:0;padding-inline:10px}
  .accounting-journal-header{padding:20px 54px 16px 18px;flex-direction:column}
  html[dir="ltr"] .accounting-journal-header{padding:20px 18px 16px 54px}
  .accounting-journal-scroll{padding:16px 14px 10px}
  .accounting-journal-actions{padding:12px 14px;flex-direction:column-reverse}
  .accounting-journal-actions > *{width:100%}
}

/* Conex CRM v0.17.0 — general ledger, account statements and trial balance */
.accounting-tabs{flex-wrap:wrap}
.accounting-tabs .finance-view-tab{flex:0 1 auto}
.report-account-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 12px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.report-account-heading>div{display:flex;flex-direction:column;gap:4px}
.report-account-heading strong{font-size:1.05rem;color:var(--brand)}
.report-account-heading small,.report-account-heading>span{color:var(--muted)}
.accounting-report-summary{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;margin:0 0 14px}
.accounting-report-summary:empty{display:none}
.accounting-report-summary .metric-card{min-height:100px}
.accounting-report-summary .metric-card strong{font-size:1.05rem;line-height:1.5}
.accounting-report-summary .metric-card strong small{display:block;font-size:.76rem;color:var(--muted);margin-top:2px}
.accounting-ledger-table{min-width:1280px}
.accounting-ledger-table td:nth-child(4){min-width:230px}
.accounting-ledger-table td:nth-child(5){min-width:190px}
.accounting-ledger-table td:nth-child(8){min-width:150px}
.accounting-trial-table{min-width:1450px}
.accounting-trial-table td:nth-child(2){min-width:240px}
.control-account-row{background:#f4f8f7;font-weight:800}
@media(max-width:1200px){.accounting-report-summary{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:760px){.accounting-tabs{grid-template-columns:1fr 1fr}.report-account-heading{align-items:flex-start;flex-direction:column}.accounting-report-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.accounting-report-summary{grid-template-columns:1fr}}

/* Conex CRM v0.18.0 — financial statements and compact trial balance */
.accounting-trial-table{min-width:1080px}
.accounting-trial-table td:nth-child(2){min-width:210px}
.trial-balance-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:180px;font-variant-numeric:tabular-nums}
.trial-balance-pair span{display:flex;flex-direction:column;gap:3px;padding:7px 9px;border:1px solid #e3ecea;border-radius:9px;background:#fbfdfc;text-align:center}
.trial-balance-pair small{color:var(--muted);font-size:.72rem;font-weight:800}
.financial-statements-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 12px;padding:17px 18px;border:1px solid var(--line);border-radius:17px;background:#fff}
.financial-statements-toolbar>div:first-child{display:flex;flex-direction:column;gap:5px}
.financial-statements-toolbar>div:first-child strong{font-size:1.08rem;color:var(--brand)}
.financial-statements-toolbar>div:first-child small{color:var(--muted);direction:ltr;unicode-bidi:isolate;text-align:start}
.accounting-policy-note{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding:14px 16px;border:1px solid #eadcb9;border-radius:14px;background:#fffaf0;line-height:1.65}
.accounting-policy-note strong{flex:0 0 auto;color:#8a6417}.accounting-policy-note span{color:#6c6047}
.financial-currency-report{margin-bottom:22px;padding:18px;border:1px solid var(--line);border-radius:19px;background:#f9fcfb;box-shadow:0 10px 28px rgba(15,61,62,.04);break-inside:avoid}
.financial-currency-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.financial-currency-header>div{display:flex;align-items:center;gap:10px}.financial-currency-header span:first-child{color:var(--muted);font-weight:800}.financial-currency-header strong{font-size:1.2rem;direction:ltr}
.financial-statements-view .accounting-filter-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.financial-statements-view .accounting-filter-fields>*{width:100%;min-width:0}
.financial-statements-view .accounting-filter-fields #applyAccountingFilters{min-width:0}
.financial-statements-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.financial-statement-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;break-inside:avoid}
.financial-statement-card>h3{margin:0;padding:17px 18px 4px;color:var(--brand)}
.financial-statement-card>p{margin:0;padding:0 18px 14px;color:var(--muted);direction:ltr;unicode-bidi:isolate;text-align:start}
.financial-statement-card .table-responsive{width:100%;max-width:100%;overflow:visible}
.financial-statement-table{width:100%;min-width:0;margin:0;border-top:1px solid var(--line);table-layout:fixed}
.financial-statement-table th:first-child,.financial-statement-table td:first-child{width:40%;min-width:0}
.financial-statement-table th:not(:first-child),.financial-statement-table td:not(:first-child){width:15%;min-width:0;text-align:center}
.financial-statement-table.without-comparison th:first-child,.financial-statement-table.without-comparison td:first-child{width:70%}
.financial-statement-table.without-comparison th:not(:first-child),.financial-statement-table.without-comparison td:not(:first-child){width:30%}
.financial-statement-table th,.financial-statement-table td{overflow-wrap:anywhere;word-break:normal}
.financial-statement-table .money-cell{white-space:nowrap}
.financial-statement-table td{font-variant-numeric:tabular-nums}
.statement-section-row td{padding:10px 14px;background:#eaf3f1;color:#185c56;font-weight:900}
.statement-total-row td{background:#f8faf9;font-weight:800;border-top:1px solid #dfe9e6}
.statement-grand-total td{background:#e6f4ef;color:#146449;font-weight:900;border-top:2px solid #86b9aa}
.statement-grand-total.loss td{background:#fff0f0;color:#a33c3c;border-top-color:#d99a9a}
.financial-account-link{padding:0;border:0;background:transparent;color:var(--brand);font:inherit;font-weight:800;text-align:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:#b5d3cb;text-underline-offset:3px}
.statement-currency{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;direction:ltr}
.statement-variance.positive{color:#177353}.statement-variance.negative{color:#b23e3e}
.accounting-equation-check{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 17px;border-top:1px solid var(--line);background:#f8faf9}
.accounting-equation-check span{color:var(--muted);font-weight:800}.accounting-equation-check strong{direction:ltr;font-variant-numeric:tabular-nums}
@media(max-width:1280px){.financial-statements-view .accounting-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .financial-statements-view .accounting-filter-fields{grid-template-columns:1fr}
  .financial-statements-toolbar{align-items:flex-start;flex-direction:column}
  .financial-statements-toolbar .page-action-group{width:100%}
  .financial-statements-toolbar .page-action-group>*{flex:1}
  .accounting-policy-note{flex-direction:column}
  .financial-currency-report{padding:12px}
  .financial-currency-header{align-items:flex-start;flex-direction:column}
  .financial-statement-table,.financial-statement-table tbody,.financial-statement-table tr,.financial-statement-table td{display:block;width:100%}
  .financial-statement-table thead{display:none}
  .financial-statement-table tbody{padding:8px}
  .financial-statement-table tr{margin-bottom:9px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}
  .financial-statement-table td{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0!important;padding:9px 11px;border:0;border-bottom:1px solid #edf2f1;text-align:end!important}
  .financial-statement-table td:last-child{border-bottom:0}
  .financial-statement-table td::before{content:attr(data-label);flex:0 0 42%;color:var(--muted);font-size:.78rem;font-weight:800;text-align:start}
  .financial-statement-table td:first-child{align-items:flex-start;background:#f8fbfa;text-align:start!important}
  .financial-statement-table td:first-child::before{display:none}
  .financial-statement-table .statement-section-row{margin:14px 0 7px;border:0}
  .financial-statement-table .statement-section-row td{display:block;padding:10px 12px;text-align:start!important}
  .financial-statement-table .statement-section-row td::before{display:none}
  .financial-statement-table .statement-total-row{background:#f8faf9}
  .financial-statement-table .statement-grand-total{background:#e6f4ef}
  .financial-statement-table .statement-grand-total.loss{background:#fff0f0}
  .financial-statement-table .statement-total-row td,.financial-statement-table .statement-grand-total td{background:transparent}
}

@media print{
  body.printing-financial-statements{background:#fff!important;color:#111!important}
  body.printing-financial-statements .sidebar,
  body.printing-financial-statements .topbar,
  body.printing-financial-statements .page-heading,
  body.printing-financial-statements .accounting-summary-grid,
  body.printing-financial-statements .accounting-toolbar,
  body.printing-financial-statements #accountingAlert,
  body.printing-financial-statements .financial-statements-toolbar .page-action-group,
  body.printing-financial-statements .loading-screen{display:none!important}
  body.printing-financial-statements .app-main{margin:0!important;width:100%!important}
  body.printing-financial-statements .dashboard-content{padding:0!important;max-width:none!important}
  body.printing-financial-statements #financialStatementsSection{display:block!important}
  body.printing-financial-statements .financial-statements-toolbar{margin-top:0;border:0;border-bottom:1px solid #bbb;border-radius:0;padding:0 0 10px}
  body.printing-financial-statements .financial-currency-report{padding:10px;border:0;box-shadow:none;background:#fff;page-break-after:always}
  body.printing-financial-statements .financial-statements-grid{grid-template-columns:1fr}
  body.printing-financial-statements .financial-statement-card{margin-bottom:14px}
  body.printing-financial-statements .table-responsive{overflow:visible}
  body.printing-financial-statements .financial-statement-table{min-width:0;width:100%;font-size:9pt}
  body.printing-financial-statements .financial-account-link{text-decoration:none;color:#111}
  @page{size:A4 landscape;margin:10mm}
}

/* Conex CRM v0.19.0 — receivables, payables and aging */
.aging-reports-view .accounting-filter-fields{grid-template-columns:minmax(170px,1fr) minmax(260px,2fr) minmax(150px,1fr) minmax(170px,1fr) auto}
.aging-section-card{margin:0 0 24px;padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 10px 30px rgba(15,61,62,.05);break-inside:avoid}
.aging-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.aging-section-header h3{margin:0;color:var(--brand);font-size:1.15rem}.aging-section-header p{margin:6px 0 0;color:var(--muted);line-height:1.55}
.status-badge.aging-receivable{background:#e7f4fb;color:#226684}.status-badge.aging-payable{background:#fff0e6;color:#945326}
.aging-table-title{margin:19px 0 10px;color:var(--brand);font-size:.98rem}
.aging-party-table,.aging-detail-table{width:100%;min-width:0;font-size:.8rem}
.aging-party-table th,.aging-party-table td,.aging-detail-table th,.aging-detail-table td{padding:10px 8px;text-align:center;vertical-align:middle}
.aging-party-table td:first-child,.aging-detail-table td:nth-child(2){min-width:150px;text-align:start}
.aging-detail-table td:first-child{white-space:nowrap}.aging-detail-table .money-cell small{display:block;margin-top:3px;color:var(--muted)}
.aging-severe{color:#a33b3b;font-weight:900}.status-badge.aging-bucket{display:inline-flex;flex-direction:column;gap:2px;white-space:nowrap}
.status-badge.aging-current{background:#e9f6ef;color:#206c4b}.status-badge.aging-days1To30{background:#fff7da;color:#806315}.status-badge.aging-days31To60{background:#fff0ce;color:#8a5c11}.status-badge.aging-days61To90{background:#fde8dc;color:#9a4a26}.status-badge.aging-days91Plus{background:#f9dddd;color:#9b3030}
.status-badge.aging-bucket small{font-size:.66rem;color:inherit}
@media(max-width:1280px){
  .aging-reports-view .accounting-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aging-party-table,.aging-detail-table,.aging-party-table tbody,.aging-detail-table tbody,.aging-party-table tr,.aging-detail-table tr,.aging-party-table td,.aging-detail-table td{display:block;width:100%}
  .aging-party-table thead,.aging-detail-table thead{display:none}
  .aging-party-table tbody,.aging-detail-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px}
  .aging-party-table tr,.aging-detail-table tr{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
  .aging-party-table td,.aging-detail-table td{display:flex;align-items:center;justify-content:space-between;gap:15px;min-width:0!important;padding:9px 11px;border:0;border-bottom:1px solid #edf2f1;text-align:end!important}
  .aging-party-table td:last-child,.aging-detail-table td:last-child{border-bottom:0}
  .aging-party-table td::before,.aging-detail-table td::before{content:attr(data-label);flex:0 0 44%;color:var(--muted);font-size:.75rem;font-weight:800;text-align:start}
  .aging-party-table td:first-child,.aging-detail-table td:first-child,.aging-detail-table td:nth-child(2){text-align:end!important}
  .aging-detail-table .table-actions{justify-content:space-between}
}
@media(max-width:760px){
  .aging-reports-view .accounting-filter-fields{grid-template-columns:1fr}
  .aging-toolbar,.aging-section-header{flex-direction:column;align-items:flex-start}
  .aging-toolbar .page-action-group{width:100%}.aging-toolbar .page-action-group>*{flex:1}
  .aging-section-card{padding:12px}.aging-party-table tbody,.aging-detail-table tbody{grid-template-columns:1fr;padding:4px}
}

@media print{
  body.printing-aging-report{background:#fff!important;color:#111!important}
  body.printing-aging-report .sidebar,
  body.printing-aging-report .topbar,
  body.printing-aging-report .page-heading,
  body.printing-aging-report .accounting-summary-grid,
  body.printing-aging-report .accounting-toolbar,
  body.printing-aging-report #accountingAlert,
  body.printing-aging-report .aging-toolbar .page-action-group,
  body.printing-aging-report .loading-screen{display:none!important}
  body.printing-aging-report .app-main{margin:0!important;width:100%!important}
  body.printing-aging-report .dashboard-content{padding:0!important;max-width:none!important}
  body.printing-aging-report #agingSection{display:block!important}
  body.printing-aging-report .aging-toolbar{margin-top:0;border:0;border-bottom:1px solid #bbb;border-radius:0;padding:0 0 10px}
  body.printing-aging-report .aging-section-card{padding:8px;border:0;box-shadow:none;page-break-after:always}
  body.printing-aging-report .table-responsive{overflow:visible}
  body.printing-aging-report .aging-party-table,body.printing-aging-report .aging-detail-table{display:table!important;width:100%!important;font-size:7pt}
  body.printing-aging-report .aging-party-table thead,body.printing-aging-report .aging-detail-table thead{display:table-header-group!important}
  body.printing-aging-report .aging-party-table tbody,body.printing-aging-report .aging-detail-table tbody{display:table-row-group!important}
  body.printing-aging-report .aging-party-table tr,body.printing-aging-report .aging-detail-table tr{display:table-row!important}
  body.printing-aging-report .aging-party-table th,body.printing-aging-report .aging-detail-table th,body.printing-aging-report .aging-party-table td,body.printing-aging-report .aging-detail-table td{display:table-cell!important;width:auto!important;padding:4px!important;border:1px solid #ddd!important}
  body.printing-aging-report .aging-party-table td::before,body.printing-aging-report .aging-detail-table td::before{display:none!important}
  @page{size:A4 landscape;margin:8mm}
}
/* v0.20.0 — suppliers, purchase invoices and payments */
body:has(#purchaseModal:not([hidden])){overflow:hidden}
.purchase-filter-fields{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(135px,1fr)) auto;gap:12px;align-items:center}
.purchase-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.purchase-invoice-backdrop{align-items:center;padding:16px;overflow:hidden}
.purchase-invoice-modal{width:min(1500px,calc(100vw - 32px));max-width:none;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
.purchase-invoice-modal>.accounting-journal-header,.purchase-invoice-modal>#purchaseFormAlert{flex:0 0 auto}
.purchase-invoice-modal>#purchaseForm{display:flex;flex:1 1 auto;min-width:0;min-height:0;flex-direction:column;overflow:hidden}
.purchase-modal-scroll{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-inline-end:6px}
.purchase-modal-actions{position:relative;flex:0 0 auto;margin-top:0;background:#fff;border-top:1px solid var(--border-color,#dbe3e4);padding:16px 0;z-index:3}
.purchase-items-scroll{width:100%;max-width:100%;max-height:360px;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain}
.purchase-items-table{min-width:1180px}
.purchase-items-table td:nth-child(2){min-width:250px}.purchase-items-table td:nth-child(3){min-width:220px}
.purchase-items-table td:nth-child(2) input+input{margin-top:6px}
.purchase-totals-panel{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin:16px 0}
.purchase-totals-panel span{min-width:170px;border:1px solid #dbe3e4;border-radius:12px;padding:10px 14px;background:#f8fbfb;display:flex;flex-direction:column;gap:4px}
.purchase-totals-panel span.grand{background:#0f3d3e;color:#fff;border-color:#0f3d3e}.purchase-totals-panel strong{font-size:1.2rem;font-variant-numeric:tabular-nums}
.purchase-detail-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.purchase-detail-panels>article{border:1px solid #dbe3e4;border-radius:14px;padding:16px;background:#fbfdfd}
.status-badge.purchase-overdue{background:#fee2e2;color:#991b1b}.status-badge.purchase-paid{background:#dcfce7;color:#166534}.status-badge.purchase-partially_paid{background:#fef3c7;color:#92400e}.status-badge.purchase-approved{background:#dbeafe;color:#1e40af}.status-badge.purchase-draft{background:#f3f4f6;color:#374151}.status-badge.purchase-cancelled{background:#e5e7eb;color:#6b7280}
.suppliers-table small,.purchases-table small{display:block;margin-top:4px}.purchases-table .table-actions,.suppliers-table .table-actions{white-space:normal;min-width:180px}
@media(max-width:1180px){.purchase-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.purchase-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-detail-panels{grid-template-columns:1fr}}
@media(max-width:760px){.purchase-filter-fields{grid-template-columns:1fr}.purchase-invoice-backdrop{padding:0}.purchase-invoice-modal{width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:18px 14px 0;border-radius:0}.purchase-items-scroll{max-height:none}.purchase-summary-grid{grid-template-columns:1fr 1fr}.purchase-totals-panel span{flex:1 1 100%}.suppliers-table,.purchases-table{min-width:0}.suppliers-table thead,.purchases-table thead{display:none}.suppliers-table,.suppliers-table tbody,.suppliers-table tr,.suppliers-table td,.purchases-table,.purchases-table tbody,.purchases-table tr,.purchases-table td{display:block;width:100%}.suppliers-table tr,.purchases-table tr{border:1px solid #dbe3e4;border-radius:14px;padding:10px;margin-bottom:12px}.suppliers-table td,.purchases-table td{display:grid;grid-template-columns:minmax(110px,35%) 1fr;gap:10px;border:0;padding:7px 4px}.suppliers-table td::before,.purchases-table td::before{content:attr(data-label);font-weight:700;color:#526466}.suppliers-table .table-actions,.purchases-table .table-actions{display:flex;flex-wrap:wrap;min-width:0}}

/* v0.21.0 — project conference/workshop and exhibition/sponsorship participations */
.project-participation-action{border-color:#b9dcd1!important;background:#f0faf6!important;color:#176b5b!important}
.participation-content{max-width:none;overflow-x:hidden;padding-bottom:48px}
.participation-heading{align-items:flex-start}
.participation-heading .page-heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,520px);gap:10px}
.participation-heading .page-heading-actions #addButton{grid-column:1/-1;width:100%}
.participation-heading .page-heading-actions>a,.participation-heading .page-heading-actions>button{width:100%;justify-content:center}
.participation-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) minmax(260px,1.6fr);gap:14px;margin-bottom:18px}
.participation-summary-card{min-height:112px;padding:18px;border:1px solid var(--line);border-top:4px solid #68817b;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,61,62,.045);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.participation-summary-card span{display:block;color:var(--muted);font-weight:800;line-height:1.4}
.participation-summary-card strong{display:block;margin-top:10px;color:var(--brand);font-size:2rem;line-height:1.25}
.participation-summary-card strong small{display:block;font-size:.86rem;font-weight:800;line-height:1.55;direction:ltr;unicode-bidi:embed}
.participation-summary-card.confirmed{border-top-color:#19805e;background:#f1faf6}.participation-summary-card.attended{border-top-color:#2c7192;background:#f2f8fb}.participation-summary-card.complimentary{border-top-color:#b98528;background:#fff9ec}.participation-summary-card.money{border-top-color:#73529b;background:#faf7fd}
.participation-summary-card.money strong{font-size:2rem;width:100%;direction:ltr;unicode-bidi:embed}
.participation-summary-card.money strong small{font-size:inherit;line-height:1.25;white-space:nowrap}
.participation-summary-money-line{display:flex;align-items:baseline;justify-content:center;gap:.32em;white-space:nowrap;line-height:1.25}
.participation-summary-money-line+.participation-summary-money-line{margin-top:4px}
.participation-summary-money-number{font-size:inherit}.participation-summary-money-currency{font-size:.52em;font-weight:800;letter-spacing:.02em}
.participation-filter-card{display:grid;grid-template-columns:minmax(260px,2fr) minmax(190px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:center;margin-bottom:18px}
.participation-table-card{overflow:hidden}.participation-table{min-width:1540px}.exhibition-participation-table{min-width:1440px}
.participation-table td{vertical-align:top;line-height:1.45}.participation-table td strong,.participation-table td small{display:block}.participation-table td small{margin-top:5px;color:var(--muted);max-width:280px;white-space:normal}.participation-table .money-cell{direction:ltr;unicode-bidi:embed}.participation-table .balance-text{color:#a14a35;font-weight:800}.participation-table .participation-actions-cell{min-width:360px}.participation-table .participation-action-buttons{display:flex;gap:6px;min-width:0;white-space:nowrap}
.participation-table .participation-amount-heading,.participation-table .participation-amount-cell{width:210px;min-width:210px}.participation-amount-cell>strong{white-space:nowrap}
.participation-table .table-button.protected-delete{cursor:pointer;opacity:1}
.participation-amount-cell .participation-finance-status{display:inline-flex;margin-top:9px;direction:rtl;unicode-bidi:normal;align-items:center;border:1px solid transparent;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:900;line-height:1.25}
.participation-finance-status.collected,.participation-finance-status.invoice_linked,.participation-finance-status.income_added{color:#14704f;background:#e8f8f0;border-color:#bde7d2}
.participation-finance-status.unlinked{color:#a13b35;background:#fff0ef;border-color:#f1c8c4}
.participation-linked-number{direction:ltr;unicode-bidi:embed;text-align:center;font-weight:800}
.participation-link-modal{width:min(720px,calc(100vw - 28px))}.participation-link-modal .form-group{margin-top:18px}.participation-link-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.participation-link-actions>*{width:100%}
.status-badge.participation-type{background:#edf5f2;color:#176b5b}.status-badge.waiting,.status-badge.pending{background:#fff3d9;color:#8c5d00}.status-badge.confirmed{background:#e7f5ef;color:#176d5b}.status-badge.cancelled{background:#fee9e7;color:#a92d2d}
.participation-modal-backdrop{padding:12px;overflow:hidden}
.participation-modal-card{width:min(1320px,calc(100vw - 24px));height:min(900px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;padding:26px 26px 0}
.participation-modal-card>p,.participation-modal-card>h2,.participation-modal-card>.alert{flex:0 0 auto}.participation-modal-card>h2{margin-bottom:14px}
.participation-modal-card form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.participation-form-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 6px 18px}.participation-modal-card .modal-actions{flex:0 0 auto;margin:0 -26px;padding:16px 26px;border-top:1px solid var(--line);background:#fff;position:relative;z-index:2}
.participation-form-grid input[readonly]{background:#f4f7f7;color:#607173;cursor:not-allowed}
.participation-company-modal-backdrop{z-index:1200;padding:12px;overflow:hidden}.participation-company-modal{width:min(1320px,calc(100vw - 24px));height:min(900px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;padding:26px 26px 0}.participation-company-modal form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}.participation-company-form-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 6px 18px}.participation-company-modal .modal-actions{flex:0 0 auto;margin:0 -26px;padding:16px 26px;border-top:1px solid var(--line);background:#fff}.participation-company-modal .quick-company-duplicates{flex:0 0 auto;max-height:190px;overflow:auto;margin-bottom:12px}
@media(max-width:1180px){.participation-summary-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.participation-summary-card.money{grid-column:1/-1}.participation-filter-card{grid-template-columns:1fr 1fr}.participation-filter-card #searchInput{grid-column:1/-1}}
@media(max-width:760px){.participation-content{padding-inline:14px}.participation-heading{display:block}.participation-heading .page-heading-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:16px}.participation-heading .page-heading-actions #addButton{grid-column:auto}.participation-summary-grid,.participation-filter-card{grid-template-columns:1fr}.participation-summary-card.money,.participation-filter-card #searchInput{grid-column:auto}.participation-summary-card{min-height:96px}.participation-modal-backdrop,.participation-company-modal-backdrop{padding:0}.participation-modal-card,.participation-company-modal{width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:18px 14px 0;border-radius:0}.participation-modal-card .modal-actions,.participation-company-modal .modal-actions{margin:0 -14px;padding:14px}.participation-form-grid,.participation-company-form-grid{grid-template-columns:1fr;padding-inline:2px}.participation-table{min-width:0}.participation-table thead{display:none}.participation-table,.participation-table tbody,.participation-table tr,.participation-table td{display:block;width:100%}.participation-table tr{border:1px solid #dbe3e4;border-radius:14px;padding:10px;margin-bottom:12px}.participation-table td{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:10px;border:0;padding:8px 4px}.participation-table td::before{content:attr(data-label);font-weight:800;color:#526466}.participation-table .table-actions{display:flex;flex-wrap:wrap;min-width:0}.participation-link-actions{grid-template-columns:1fr}}

/* v0.21.1 internal pages + v0.21.2 project finance tabs */
.project-module-action{border-color:#b9dcd1!important;background:#f0faf6!important;color:#176b5b!important}
.project-quick-actions{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:10px;margin:-2px 0 18px;overflow-x:auto;padding:2px 0 6px}
.project-quick-actions .page-action{display:flex;align-items:center;justify-content:center;min-height:52px;text-align:center;text-decoration:none;white-space:nowrap}
.project-internal-content{max-width:none;padding-bottom:48px}
.project-internal-heading{align-items:flex-start}
.project-internal-heading.project-finance-heading{align-items:flex-end}
.project-internal-heading .page-heading-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.project-internal-heading .project-finance-page-actions{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));width:min(620px,100%);align-items:stretch}
.project-finance-page-actions .project-finance-page-action{width:100%;min-width:0;min-height:58px;height:58px;padding:0 18px;text-align:center;box-shadow:none;white-space:nowrap}
.project-internal-finance-card{margin-bottom:0}
.project-speakers-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.project-speakers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.project-quick-actions{grid-template-columns:repeat(5,minmax(180px,1fr))}}
@media(max-width:850px){.project-internal-heading .project-finance-page-actions{grid-template-columns:1fr;width:100%}.project-finance-view-tabs{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:700px){.project-internal-content{padding-inline:14px}.project-internal-heading{display:block}.project-internal-heading .page-heading-actions{display:grid;grid-template-columns:1fr;margin-top:16px}.project-speakers-grid{grid-template-columns:1fr}}
@media print{body.printing-purchase-invoice:has(#purchaseModal:not([hidden])){overflow:visible}body.printing-purchase-invoice .sidebar,body.printing-purchase-invoice .topbar,body.printing-purchase-invoice main,body.printing-purchase-invoice .modal-close,body.printing-purchase-invoice .purchase-modal-actions{display:none!important}body.printing-purchase-invoice #purchaseModal{display:block!important;position:static;background:#fff;padding:0;overflow:visible}body.printing-purchase-invoice .purchase-invoice-modal{width:100%;height:auto;max-height:none;overflow:visible;box-shadow:none;border:0}body.printing-purchase-invoice .purchase-invoice-modal>#purchaseForm{display:block;overflow:visible}body.printing-purchase-invoice .purchase-modal-scroll{overflow:visible}body.printing-purchase-invoice .purchase-detail-panels{display:none!important}}

/* Conex CRM v0.21.14 — in-project direct expense and supplier invoice workflow */
.project-expense-choice-modal{width:min(760px,calc(100vw - 32px))}
.project-expense-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.project-expense-choice-card{min-height:150px;padding:22px;border:1px solid #cfe0dc;border-radius:18px;background:#fff;text-align:start;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:10px;font:inherit;color:var(--ink)}
.project-expense-choice-card:hover{border-color:var(--brand-2);background:#f2faf7;transform:translateY(-1px)}
.project-expense-choice-card strong{font-size:1.15rem;color:var(--brand)}
.project-expense-choice-card span{color:var(--muted);line-height:1.7}
.project-purchase-inline-modal>#projectPurchaseForm{display:flex;flex:1 1 auto;min-width:0;min-height:0;flex-direction:column;overflow:hidden}
.project-purchase-context{margin:10px 0 14px;padding:12px 15px;border:1px solid #cfe5df;border-radius:13px;background:#f1f9f6;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center}
.project-purchase-context span{color:var(--muted);font-weight:700}.project-purchase-context strong{color:var(--brand)}.project-purchase-context small{grid-column:1/-1;color:var(--muted)}
.project-purchase-supplier-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
@media(max-width:700px){.project-expense-choice-grid{grid-template-columns:1fr}.project-purchase-supplier-row{grid-template-columns:1fr}.project-purchase-supplier-row button{width:100%}}

/* Conex CRM v0.21.15 — inline client invoices and multi-participation billing */
.project-sales-inline-modal{width:min(1280px,calc(100vw - 28px));max-height:calc(100dvh - 28px);display:flex;flex-direction:column;overflow:hidden}
.project-sales-inline-modal>#projectInvoiceForm{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden}
.project-sales-inline-modal .purchase-modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-inline:3px}
.project-invoice-participations{min-height:132px;padding:8px}
.project-invoice-participations option{padding:7px 9px;border-radius:7px}
.project-invoice-participations option:checked{background:linear-gradient(0deg,#dff3ec,#dff3ec);color:#114d45}
@media(max-width:700px){.project-sales-inline-modal{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}.project-sales-inline-modal .purchase-modal-scroll{padding-inline:0}}

/* v0.21.3 project workspace record pages */
.project-records-card{margin-bottom:0;border-color:#cfe3de;background:linear-gradient(180deg,#fbfefd,#fff)}
.project-records-card .project-finance-view-tabs{margin-top:0}
.project-workspace-table{min-width:900px}
.project-workspace-table td{vertical-align:middle}
.project-workspace-table td strong,.project-workspace-table td small{display:block}
.project-workspace-table td small{max-width:360px;margin-top:5px;color:var(--muted);line-height:1.45;white-space:normal}
.project-workspace-table .compact-action{min-height:39px;height:39px;padding:0 14px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700}
.project-followup-actions{display:grid!important;grid-template-columns:repeat(2,minmax(160px,1fr));width:min(430px,100%)}
.project-followup-actions .page-action{display:flex;align-items:center;justify-content:center;min-height:54px;text-align:center;text-decoration:none}
@media(max-width:850px){.project-followup-actions{grid-template-columns:1fr;width:100%}.project-records-card .project-finance-view-tabs{grid-template-columns:1fr 1fr}}

/* v0.21.6 project company mirror and contact company picker */
.project-contact-company-row .field-with-action{grid-template-columns:minmax(0,1fr) minmax(120px,auto)}
.project-contact-company-row .mini-manage-button{white-space:nowrap}
.project-quick-company-modal{width:min(1040px,calc(100vw - 30px))}
.quick-company-duplicates{grid-column:1/-1;margin-top:16px;padding:14px;border:1px solid #e8d9b9;border-radius:14px;background:#fffaf0}
.quick-company-duplicates>p{margin:0 0 10px;color:#7b5a18;font-weight:700}
.project-company-duplicate-item{display:flex;align-items:center;justify-content:space-between;gap:14px}
.project-company-duplicate-item>span{min-width:0}
@media(max-width:720px){
  .central-company-edit-grid{grid-template-columns:1fr}.project-contact-company-row .field-with-action{grid-template-columns:1fr}.project-company-duplicate-item{align-items:stretch;flex-direction:column}}

/* v0.21.19 — Project speakers table and agenda workspace */
.project-speakers-page-actions{display:grid!important;grid-template-columns:repeat(2,minmax(150px,1fr));width:min(100%,390px)}
.project-speakers-page-actions>button{width:100%;justify-content:center}
.project-speakers-table-wrap{margin-top:18px}
.project-speakers-table{width:100%;min-width:0;table-layout:fixed}
.project-speakers-table th:nth-child(1){width:18%}.project-speakers-table th:nth-child(2){width:17%}.project-speakers-table th:nth-child(3){width:20%}.project-speakers-table th:nth-child(4){width:8%}.project-speakers-table th:nth-child(5){width:24%}.project-speakers-table th:nth-child(6){width:13%}
.project-speakers-table th,.project-speakers-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.speaker-table-person{display:flex;align-items:center;gap:12px;min-width:0}.speaker-table-person>div{min-width:0}.speaker-table-person strong,.speaker-table-person small{display:block}.speaker-table-person small{margin-top:4px;color:var(--muted)}
.speaker-table-photo{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 46px;border:1px solid #dce5e5;background:#f4f7f7}.speaker-table-initials{display:flex;align-items:center;justify-content:center;font-weight:800;color:#0f4c4c;background:#e8f3f1}
.speaker-linkedin-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:#0a66c2;font-weight:900;white-space:nowrap}.speaker-linkedin-link:hover{text-decoration:underline}
.keynote-star{color:#f2a400}.keynote-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff5d8;color:#9b6900;font-weight:800}.speaker-keynote-inline{color:#9b6900;font-weight:800}.speaker-company-job{display:block;margin-top:5px;color:var(--muted);line-height:1.35}.speaker-abstract-preview{display:block;margin-top:5px;max-width:100%;color:var(--muted);line-height:1.4;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.speaker-table-actions{min-width:0!important;display:flex;gap:6px;flex-wrap:wrap}.speaker-table-actions .compact-action{min-height:36px;height:36px;padding:0 10px;font-size:.86rem;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;white-space:nowrap}.agenda-row-actions .compact-action{min-height:38px;height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;white-space:nowrap}
.danger-outline-button{border:1px solid #e7b8b8;background:#fff8f8;color:#b43535;font:inherit;font-weight:700;cursor:pointer}.danger-outline-button:hover{background:#fdecec}
.speaker-profile-separator{border-top:1px solid var(--line);padding-top:18px;margin-top:4px;font-weight:800;color:var(--ink)}
.checkbox-line{display:flex;align-items:center;gap:9px;min-height:48px;font-weight:700;cursor:pointer}.checkbox-line input{width:18px;height:18px;accent-color:#0f4c4c}
.speaker-keynote-field{display:flex;align-items:end}.two-column-form{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-color-input{padding:5px;min-height:50px}

.project-agenda-actions{display:grid!important;grid-template-columns:repeat(3,minmax(145px,1fr));width:min(100%,590px)}.project-agenda-actions>button{width:100%;justify-content:center}
.agenda-editor-card{overflow:visible}.agenda-editor-day{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:18px;background:#fff}.agenda-editor-day-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;background:#f4f7f8;border-bottom:1px solid var(--line)}.agenda-editor-day-head h4{margin:0;font-size:1.05rem}.agenda-editor-day-head span{display:inline-flex;min-width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#e7f3f0;color:#0d5149;font-weight:800}
.project-agenda-table{width:100%;min-width:980px;table-layout:fixed}.project-agenda-table th:nth-child(1){width:5%}.project-agenda-table th:nth-child(2){width:10%}.project-agenda-table th:nth-child(3){width:14%}.project-agenda-table th:nth-child(4){width:27%}.project-agenda-table th:nth-child(5){width:18%}.project-agenda-table th:nth-child(6){width:7%}.project-agenda-table th:nth-child(7){width:19%}.project-agenda-table td,.project-agenda-table th{white-space:normal;overflow-wrap:anywhere}.project-agenda-table td small{display:block;margin-top:5px;color:var(--muted);line-height:1.45;white-space:normal}
.agenda-type-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.86rem}.agenda-type-presentation{background:#eeecff;color:#6259c9}.agenda-type-break{background:#fff3dd;color:#936100}.agenda-type-welcome_note{background:#e9f5f2;color:#17695c}
.agenda-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:0!important}.icon-action{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#254748;font-weight:900;font-size:18px;cursor:pointer}.icon-action:hover{background:#f1f6f5}

@media(max-width:760px){.project-speakers-heading,.project-agenda-heading{display:block}.project-speakers-page-actions,.project-agenda-actions{grid-template-columns:1fr;width:100%;margin-top:16px}.two-column-form{grid-template-columns:1fr}.project-speakers-table,.project-agenda-table{min-width:0}.project-speakers-table thead,.project-agenda-table thead{display:none}.project-speakers-table,.project-speakers-table tbody,.project-speakers-table tr,.project-speakers-table td,.project-agenda-table,.project-agenda-table tbody,.project-agenda-table tr,.project-agenda-table td{display:block;width:100%}.project-speakers-table tr,.project-agenda-table tr{border:1px solid #dbe3e4;border-radius:14px;padding:10px;margin-bottom:12px}.project-speakers-table td,.project-agenda-table td{display:grid;grid-template-columns:minmax(115px,34%) 1fr;gap:10px;border:0;padding:8px 4px}.project-speakers-table td::before,.project-agenda-table td::before{content:attr(data-label);font-weight:800;color:#526466}.speaker-table-person{align-items:flex-start}.speaker-table-actions,.agenda-row-actions{justify-content:flex-start}}

/* Conex CRM v0.21.30 — Printing & Distribution central mirror workspace */
.distribution-workspace-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  padding:18px 20px 22px;
  box-shadow:0 8px 26px rgba(17,58,57,.035);
}
.distribution-view-tabs{
  margin:0 0 18px;
}
.distribution-view-tabs .finance-view-tab{
  gap:10px;
  cursor:pointer;
}
.distribution-view-tabs .finance-view-tab strong{
  display:grid;
  place-items:center;
  min-width:27px;
  height:27px;
  padding-inline:7px;
  border-radius:8px;
  background:#e9f3f0;
  color:var(--brand);
  font-size:.84rem;
}
.distribution-view-tabs .finance-view-tab.active strong{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.distribution-view-panel{
  min-width:0;
}
.distribution-campaign-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:0 0 16px;
  border-bottom:1px solid var(--line);
}
.distribution-campaign-selector-group{
  display:grid;
  grid-template-columns:auto minmax(260px,420px);
  align-items:center;
  gap:12px;
  min-width:min(100%,560px);
}
.distribution-campaign-selector-group label{
  font-weight:800;
  color:var(--ink);
  white-space:nowrap;
}
.distribution-campaign-select{
  min-width:260px;
}
.distribution-campaign-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-inline-start:auto;
}
.distribution-campaign-actions .primary-button,
.distribution-campaign-actions .secondary-button,
.distribution-campaign-actions .danger-button{
  width:auto;
  min-height:44px;
  white-space:nowrap;
}
.distribution-only-toolbar{
  justify-content:flex-start;
}
.distribution-search-bar{
  padding:16px 0;
}
.distribution-search-bar .form-control{
  width:100%;
}
.distribution-top-scroll{
  position:sticky;
  top:0;
  z-index:18;
  height:18px;
  overflow-x:auto;
  overflow-y:hidden;
  margin:0 0 6px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fbfa;
  scrollbar-gutter:stable;
}
.distribution-top-scroll[hidden]{display:none!important}
.distribution-top-scroll-inner{height:1px;min-width:100%}
.distribution-workspace-table-wrap{
  border:1px solid var(--line);
  border-radius:15px;
  overflow:auto;
  scrollbar-gutter:stable;
}
.distribution-workspace-table-wrap .data-table{
  margin:0;
  table-layout:fixed;
}
.distribution-print-table{min-width:1790px}
.distribution-table{min-width:2180px}
.distribution-company-column{width:420px;min-width:420px}
.distribution-type-column{width:260px;min-width:260px}
.distribution-location-column{width:210px;min-width:210px}
.distribution-contact-column{width:280px;min-width:280px}
.distribution-address-column{width:380px;min-width:380px}
.distribution-copies-column{width:110px;min-width:110px;text-align:center!important}
.distribution-recipient-column{width:260px;min-width:260px}
.distribution-status-column{width:170px;min-width:170px}
.distribution-method-column{width:165px;min-width:165px}
.distribution-distributor-column{width:220px;min-width:220px}
.distribution-activity-column{width:155px;min-width:155px}
.distribution-actions-column{width:130px;min-width:130px}
.distribution-print-table th,
.distribution-print-table td,
.distribution-table th,
.distribution-table td{vertical-align:middle;white-space:normal;overflow-wrap:anywhere}
.distribution-company-cell strong{font-size:.98rem;line-height:1.5}
.distribution-company-cell small{line-height:1.45}
.distribution-address-cell{line-height:1.65}
.distribution-actions-cell{padding:16px 18px!important;vertical-align:middle!important}
.distribution-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0;white-space:nowrap}
.distribution-row-actions .table-button{min-width:72px;min-height:38px;display:inline-flex;align-items:center;justify-content:center}
.central-company-edit-modal{width:min(100%,1180px)}
.central-company-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.central-company-duplicate-list{display:grid;gap:10px;max-height:280px;overflow:auto}
.central-company-duplicate-item{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfc}
.central-company-duplicate-item small{color:var(--muted)}
.distribution-rename-modal .form-group + .form-group{
  margin-top:14px;
}
.status-badge.selected{background:#f0f3f4;color:#526367}
.status-badge.cancelled{background:#f4eeee;color:#8d4a4a}

html[dir="rtl"] .distribution-campaign-toolbar .distribution-campaign-selector-group{
  margin-inline-end:0;
}
html[dir="rtl"] .distribution-campaign-actions{
  margin-inline-start:auto;
}
html[dir="ltr"] .distribution-campaign-actions{
  margin-inline-start:auto;
}

@media(max-width:1100px){
  .central-company-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .distribution-campaign-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .distribution-campaign-selector-group{
    width:100%;
    grid-template-columns:150px minmax(0,1fr);
  }
  .distribution-campaign-actions{
    width:100%;
    margin-inline-start:0;
  }
}
@media(max-width:720px){
  .central-company-edit-grid{grid-template-columns:1fr}
  .distribution-workspace-card{padding:14px}
  .distribution-view-tabs{display:grid;grid-template-columns:1fr 1fr}
  .distribution-campaign-selector-group{grid-template-columns:1fr;gap:7px;min-width:0}
  .distribution-campaign-select{min-width:0;width:100%}
  .distribution-campaign-actions{display:grid;grid-template-columns:1fr 1fr}
  .distribution-campaign-actions > *{width:100%!important}
}
@media(max-width:480px){
  .distribution-campaign-actions{grid-template-columns:1fr}
}

/* v0.21.31 — multi-project distribution campaigns and reference tracking */
.distribution-website-column{width:300px;min-width:300px}
.distribution-reference-column{width:140px;min-width:140px;text-align:center}
.distribution-project-multi-select{min-height:132px;padding:8px}
.distribution-project-multi-select option{padding:8px 10px;border-radius:6px}
.distribution-print-table{min-width:1760px}
.distribution-table{min-width:2180px}


/* Conex CRM v0.21.33 - central print & distribution contact */
.company-print-contact-column{min-width:250px;width:250px}
.company-print-contact-cell{min-width:250px;white-space:nowrap}
.company-print-contact-cell .status-badge{display:inline-flex;margin-inline-end:8px}
.company-print-contact-button{white-space:nowrap}
.distribution-print-contact-column{width:340px;min-width:340px}
.distribution-print-contact-cell{min-width:340px}
.distribution-print-contact-cell strong{display:block}
.distribution-print-contact-cell small{display:block;margin-top:5px;color:var(--muted-text,#6f8585);font-weight:400}

/* v0.21.35 — central system branding and settings */
.brand-mark.has-brand-logo,
.loading-logo.has-brand-logo {
  overflow: hidden;
  padding: 5px;
  background: #fff;
}
.brand-mark.has-brand-logo img,
.loading-logo.has-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.sidebar-brand .brand-mark.has-brand-logo { padding: 4px; }
.settings-content { display: grid; gap: 22px; }
.settings-section { background: #fff; border: 1px solid #dce7e4; border-radius: 24px; padding: 26px; box-shadow: 0 12px 30px rgba(15,61,62,.045); }
.settings-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.settings-section-head h3 { margin: 0 0 6px; font-size: 1.38rem; }
.settings-section-head p { margin:0; color:#6b7e7f; line-height:1.65; }
.settings-kicker { color:#c98d2b; font-weight:800; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:6px; }
.settings-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.settings-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.settings-stat { border:1px solid #dfe8e7; border-radius:18px; padding:18px; background:#f8fbfb; }
.settings-stat strong { display:block; font-size:1.25rem; margin-top:8px; color:#163d3e; }
.settings-stat span { color:#738386; font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; }
.settings-stat.retention { background:#fff8e9; border-color:#efd8a9; }
.protection-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr); gap:18px; }
.protection-list { border:1px solid #e0e8e8; border-radius:18px; overflow:hidden; }
.protection-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:13px 16px; border-bottom:1px solid #edf2f2; }
.protection-row:last-child { border-bottom:0; }
.protection-count { background:#eef3f7; min-width:34px; text-align:center; border-radius:999px; padding:3px 9px; font-size:.78rem; font-weight:800; color:#647477; }
.protection-badge { border-radius:999px; padding:5px 10px; font-size:.75rem; font-weight:800; background:#dff7e9; color:#18824d; white-space:nowrap; }
.protection-note { border:1px solid #e0e8e8; border-radius:18px; padding:18px; background:#f9fbfc; color:#647477; line-height:1.75; }
.protection-note h4 { color:#17393a; margin:0 0 10px; }
.settings-table-wrap { overflow:auto; border:1px solid #e0e8e8; border-radius:18px; }
.settings-table { width:100%; min-width:900px; border-collapse:collapse; }
.settings-table th,.settings-table td { padding:13px 14px; border-bottom:1px solid #edf2f2; text-align:start; vertical-align:middle; }
.settings-table th { background:#f6f9fa; color:#5d7073; font-size:.8rem; }
.settings-table tr:last-child td { border-bottom:0; }
.backup-status { display:inline-flex; align-items:center; border-radius:999px; padding:5px 9px; font-size:.76rem; font-weight:800; }
.backup-status.completed { background:#e0f6e9; color:#16804a; }
.backup-status.running { background:#eef2ff; color:#4f60bd; }
.backup-status.failed { background:#fde9e8; color:#b23a35; }
.brand-settings-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:22px; align-items:start; }
.brand-form-grid { display:grid; gap:16px; }
.brand-form-grid label { display:grid; gap:8px; font-weight:800; color:#17393a; }
.brand-form-grid input[type="text"], .brand-form-grid input[type="file"] { width:100%; border:1px solid #d7e3e1; border-radius:14px; min-height:52px; padding:10px 13px; background:#fff; font:inherit; }
.brand-preview-card { border:1px dashed #c9dcda; border-radius:20px; min-height:220px; display:flex; align-items:center; justify-content:center; background:#f8fbfb; padding:20px; }
.brand-preview-card img { max-width:280px; max-height:170px; object-fit:contain; }
.brand-preview-fallback { width:96px; height:96px; border-radius:24px; display:grid; place-items:center; background:#fff; border:1px solid #dce7e4; color:#0f3d3e; font-size:3rem; font-weight:900; }
.settings-empty { padding:28px; text-align:center; color:#6f8082; }
.settings-modal-content pre { white-space:pre-wrap; direction:ltr; text-align:left; max-height:60vh; overflow:auto; background:#f5f8f8; border-radius:14px; padding:14px; font-size:.78rem; }
@media (max-width: 900px) {
  .settings-stat-grid,.protection-layout,.brand-settings-grid { grid-template-columns:1fr; }
  .settings-section-head { flex-direction:column; }
}


/* v0.21.35 About System */
.about-system-backdrop{z-index:150;background:rgba(7,31,32,.62);backdrop-filter:blur(2px)}
.about-system-modal-card{width:min(1120px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 32px));overflow:auto;padding:32px 38px 36px;border-radius:28px}
.about-system-head{padding-inline-end:44px;margin-bottom:26px}
.about-system-kicker{display:block;margin-bottom:5px;color:#c28b28;font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.about-system-head h2{margin:0 0 7px;font-size:clamp(1.65rem,3vw,2.15rem);color:var(--ink)}
.about-system-head p{margin:0;color:var(--muted);font-size:1.04rem}
.about-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}
.about-system-info-card{min-height:104px;padding:18px 20px;border:1px solid #dce7e5;border-radius:18px;background:#f8fbfa}
.about-system-info-card span{display:block;margin-bottom:11px;color:#5a6b6c;font-weight:750}
.about-system-info-card strong{display:block;color:#071f20;font-size:1.08rem;overflow-wrap:anywhere}
.about-system-support{padding:20px;border:1px solid #dce7e5;border-radius:18px;background:#fff}
.about-system-support h3{margin:0 0 12px;color:#071f20;font-size:1.08rem}
.about-system-support p{margin:8px 0;color:#33494a;line-height:1.55}
.about-system-support a{color:#0d6b68;font-weight:750;text-decoration:none;direction:ltr;unicode-bidi:embed}
.about-system-support a:hover{text-decoration:underline}
.about-system-footer{margin-top:20px;padding:14px 18px;border-radius:14px;background:#0f3d3e;color:#fff;text-align:center;font-weight:800}
#aboutSystemButton{color:var(--brand)}
#aboutSystemButton:hover{background:var(--success-soft)}
@media(max-width:700px){.about-system-modal-card{width:100vw;max-height:100dvh;height:100dvh;border-radius:0;padding:24px 18px}.about-system-grid{grid-template-columns:1fr}.about-system-head{padding-inline-end:38px}.about-system-support{padding:16px}}

/* v0.21.35 dashboard summary cleanup */
.dashboard-quotation-grid .quotation-summary-card{color:inherit;text-decoration:none}
.dashboard-quotation-grid .quotation-summary-card:hover,.dashboard-quotation-grid .quotation-summary-card:focus,.dashboard-quotation-grid .quotation-summary-card:visited{text-decoration:none}


/* v0.21.35 — Users page cleanup: stable table actions cell */
#usersTable .users-table-actions-cell{display:table-cell;min-width:220px;width:220px;white-space:nowrap;vertical-align:middle}
#usersTable .users-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:nowrap;white-space:nowrap;min-width:0}
#usersTable .users-row-actions .table-button{flex:0 0 auto;white-space:nowrap}


/* v0.21.35 company management coherence hotfix */
#companiesTable .companies-table-actions-cell{display:table-cell;position:sticky;left:0;z-index:2;min-width:330px;width:330px;white-space:nowrap;vertical-align:middle;background:#fff;box-shadow:8px 0 14px rgba(15,61,62,.05)}
#companiesTable thead .actions-column{position:sticky;left:0;z-index:4;background:#f8fbfa;box-shadow:8px 0 14px rgba(15,61,62,.05)}
#companiesTable tbody tr:hover .companies-table-actions-cell{background:#fbfdfc}
#companiesTable .companies-row-actions{display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:nowrap;white-space:nowrap;min-width:0}
#companiesTable .companies-row-actions .table-button{flex:0 0 auto;white-space:nowrap}
#companiesTable .distribution-linked-button{border-color:#78ad9f;background:#eef8f5;color:#176c5c}
.company-map-link{display:block;margin-top:6px;color:#176c5c;font-size:12px;font-weight:800;text-decoration:none;direction:ltr}
.company-map-link:hover{text-decoration:underline}
.classification-grid-extended{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.relationship-management-panel{grid-column:1/-1}
.classification-form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.classification-form-actions .primary-button{flex:1 1 180px}
.classification-manage-item{display:flex!important;align-items:center;justify-content:space-between;gap:12px}
.classification-item-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.classification-item-actions .table-button{white-space:nowrap}
.classification-item-actions .table-button:disabled{opacity:.45;cursor:not-allowed}
.distribution-membership-summary{margin:0 0 12px;padding:12px 14px;border:1px solid #cfe2dc;border-radius:12px;background:#f0f8f5;color:#264b46}
.distribution-membership-summary strong,.distribution-membership-summary span{display:block}
.distribution-membership-summary span{margin-top:5px;font-size:13px}
@media(max-width:900px){.classification-grid-extended{grid-template-columns:1fr}.relationship-management-panel{grid-column:auto}#companiesTable .companies-table-actions-cell,#companiesTable thead .actions-column{position:static;box-shadow:none}}

/* v0.21.35 company page two-row primary actions */
.company-page-action-grid{display:grid;gap:10px;align-self:flex-start;min-width:370px}
.company-page-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.company-page-action-row .page-action{width:100%;min-width:0;justify-content:center;text-align:center;white-space:nowrap;text-decoration:none}
.company-import-button{display:inline-flex;align-items:center}
html[dir="rtl"] .company-page-action-row{direction:rtl}
html[dir="ltr"] .company-page-action-row{direction:ltr}
@media(max-width:760px){.company-page-action-grid{min-width:0;width:100%}.company-page-action-row{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.company-page-action-row{grid-template-columns:1fr}}


/* v0.21.35 company toolbar alignment + branch filter */
.company-page-heading{margin-bottom:20px}
.company-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}
.company-list-toolbar .company-view-switch{margin:0;flex:0 0 auto}
.company-list-toolbar .company-page-action-grid{margin:0;align-self:flex-start}
@media(max-width:900px){
  .company-list-toolbar{flex-direction:column;align-items:stretch;gap:14px}
  .company-list-toolbar .company-view-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .company-list-toolbar .company-page-action-grid{width:100%;min-width:0}
}

/* v0.21.35 contact management filters, import action and sticky top scrollbar */
.contact-primary-filters{grid-template-columns:minmax(280px,1.55fr) minmax(160px,.8fr) minmax(210px,1fr) minmax(190px,.9fr) minmax(180px,.85fr) auto}
.contact-import-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.contacts-table-scroll{direction:ltr}
html[dir="rtl"] .contacts-table-scroll table{direction:rtl}
html[dir="ltr"] .contacts-table-scroll table{direction:ltr}
@media(max-width:1180px){.contact-primary-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-primary-filters .filter-button{grid-column:1/-1}}
@media(max-width:820px){.contact-primary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.contact-primary-filters{grid-template-columns:1fr}.contact-primary-filters .filter-button{grid-column:auto}}

/* v0.21.35 contact filter containment hotfix */
.contact-primary-filters{
  width:100%;
  max-width:100%;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.78fr) minmax(0,1fr) minmax(0,.88fr) minmax(0,.84fr) minmax(95px,.48fr);
}
.contact-primary-filters>*{min-width:0;max-width:100%;width:100%}
.contact-primary-filters .filter-button{min-width:0;width:100%;justify-self:stretch}
@media(max-width:1180px){
  .contact-primary-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .contact-primary-filters .filter-button{grid-column:1/-1}
}
@media(max-width:820px){.contact-primary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .contact-primary-filters{grid-template-columns:1fr}
  .contact-primary-filters .filter-button{grid-column:auto}
}

/* v0.21.35 contact company live-search picker */
.contact-company-field{position:relative;z-index:6}
.contact-company-picker{position:relative;width:100%}
.contact-company-picker #contactCompanySearch{padding-inline-end:44px}
.contact-company-dropdown{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:80;overflow:hidden;border:1px solid #cfdadb;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(15,61,62,.18)}
.contact-company-results{max-height:320px;overflow:auto;padding:6px}
.contact-company-result{display:block;width:100%;padding:11px 13px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:start;cursor:pointer}
.contact-company-result:hover,.contact-company-result.active{background:#edf7f4}
.contact-company-result strong,.contact-company-result small{display:block}
.contact-company-result strong{font-size:.96rem;line-height:1.45}
.contact-company-result small{margin-top:2px;color:var(--muted);font-size:.8rem;line-height:1.35}
.contact-company-result-meta{opacity:.9}
.contact-company-result-state{padding:20px 14px;text-align:center;color:var(--muted);font-size:.9rem}
.contact-company-dropdown-footer{position:sticky;bottom:0;padding:8px;border-top:1px solid var(--line);background:#fff}
.contact-add-company-button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px}
.contact-company-field .field-hint{display:block;margin-top:7px;color:var(--muted);font-size:.82rem}
#quickCompanyModal .medium-modal{width:min(820px,calc(100vw - 30px));max-height:calc(100dvh - 30px);overflow:auto}
@media(max-width:760px){.contact-company-results{max-height:260px}#quickCompanyModal .medium-modal{width:100vw;max-height:100dvh;height:100dvh;margin:0;border-radius:0}.contact-company-dropdown{position:fixed;inset-inline:14px;top:150px;max-height:calc(100dvh - 180px)}}

/* v0.21.35 contacts table continuity, logical start position and pinned actions */
#contactsTable{min-width:1840px}
#contactsTable .contact-name-column,
#contactsTable .contact-name-cell{min-width:310px;width:310px}
#contactsTable .contact-company-column,
#contactsTable .contact-company-cell{min-width:330px;width:330px}
#contactsTable .contact-name-cell strong,
#contactsTable .contact-company-cell .entity-link{white-space:normal;line-height:1.45}
#contactsTable .contact-name-cell small{display:block;margin-top:4px;color:var(--muted);white-space:normal}
#contactsTable .contacts-table-actions-cell{
  display:table-cell;
  position:sticky;
  left:0;
  z-index:3;
  min-width:380px;
  width:380px;
  white-space:nowrap;
  vertical-align:middle;
  background:#fff;
  box-shadow:8px 0 14px rgba(15,61,62,.05);
}
#contactsTable thead .actions-column{
  position:sticky;
  left:0;
  z-index:5;
  min-width:380px;
  width:380px;
  white-space:nowrap;
  background:#f8fbfa;
  box-shadow:8px 0 14px rgba(15,61,62,.05);
}
#contactsTable tbody tr:hover .contacts-table-actions-cell{background:#fbfdfc}
#contactsTable .contacts-row-actions{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:7px;
  min-width:0;
  white-space:nowrap;
}
#contactsTable .contacts-row-actions .table-button,
#contactsTable .contacts-row-actions .action-link{flex:0 0 auto;white-space:nowrap}
@media(max-width:900px){
  #contactsTable .contacts-table-actions-cell,
  #contactsTable thead .actions-column{position:static;box-shadow:none}
}

/* v0.21.35 inline company/contact import */
.inline-import-modal-card{width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;padding-bottom:22px}
.inline-import-heading{padding-inline-end:44px;margin-bottom:14px}
.inline-import-heading h2{margin:4px 0 6px;color:#143637}
.inline-import-controls{display:block;margin:18px 0}
.inline-import-file-field{margin:0}
.inline-import-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:stretch}
.inline-import-file-row .form-control{min-width:0}
.inline-import-file-row .primary-button{min-width:150px;min-height:52px;align-self:stretch}
.inline-import-preview-section{border-top:1px solid #e1e9e8;padding-top:16px;margin-top:12px}
.inline-import-summary-heading{margin-bottom:8px}
.inline-import-modal-actions{border-top:1px solid #e1e9e8;margin-top:20px;padding-top:16px}
.inline-import-modal-card .import-preview-table{max-height:330px}
.inline-import-modal-card .empty-state{min-height:94px}
@media(max-width:900px){.inline-import-modal-card{width:min(96vw,1180px)}.inline-import-file-row{grid-template-columns:1fr}.inline-import-file-row .primary-button{width:100%}}


/* v0.21.35 customer list server pagination */
.data-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;padding:13px 16px;border:1px solid var(--border,#d9e3e3);border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(15,61,62,.04)}
.data-pagination[hidden]{display:none!important}
.pagination-summary,.pagination-navigation,.pagination-size-control,.pagination-page-buttons{display:flex;align-items:center;gap:9px}
.pagination-summary{font-weight:600;color:var(--text-muted,#5f7474)}
.pagination-size-control{white-space:nowrap}
.pagination-size-control .form-control{width:78px;min-width:78px;height:40px;padding-block:6px}
.pagination-navigation{margin-inline-start:auto;flex-wrap:wrap;justify-content:flex-end}
.pagination-page-buttons{gap:6px}
.pagination-page-button,.pagination-nav-button{min-width:40px;height:40px;border:1px solid var(--border,#d9e3e3);border-radius:10px;background:#fff;color:var(--text,#173536);font:inherit;font-weight:700;cursor:pointer;padding:0 11px}
.pagination-nav-button{min-width:auto!important;padding-inline:15px!important}
.pagination-page-button:hover:not(:disabled),.pagination-nav-button:hover:not(:disabled){border-color:#0f5a5b;background:#f4fafa}
.pagination-page-button.active{background:#0f4b4c;color:#fff;border-color:#0f4b4c;cursor:default}
.pagination-page-button:disabled:not(.active),.pagination-nav-button:disabled{opacity:.45;cursor:not-allowed}
.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:40px;color:var(--text-muted,#6f8383);font-weight:700}
.pagination-page-status{white-space:nowrap;color:var(--text-muted,#647777);font-size:.93rem;margin-inline:4px}
@media (max-width:900px){.data-pagination{align-items:stretch}.pagination-summary,.pagination-navigation{width:100%;justify-content:space-between}.pagination-navigation{margin-inline-start:0}.pagination-page-status{order:3;width:100%;text-align:center}}


/* v0.21.35 contacts archive, bulk selection and exact horizontal-scroll synchronization */
.contact-view-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 14px}
.contact-view-switch{margin:0}
#contactsTable .selection-column{width:52px;min-width:52px;text-align:center}
#contactsScrollProxy{direction:ltr;overflow-x:auto;overflow-y:hidden}
#contactsScrollProxyInner{height:1px;min-height:1px}
#contactsTableScroll{direction:ltr}
html[dir="rtl"] #contactsTable{direction:rtl}
html[dir="ltr"] #contactsTable{direction:ltr}
#contactsTable .contacts-table-actions-cell,
#contactsTable thead .actions-column{left:0}
#contactsTable .contacts-table-actions-cell{border-bottom:inherit}
#contactsTable .row-selection-checkbox{margin:0}
@media(max-width:700px){.contact-view-toolbar{justify-content:stretch}.contact-view-switch{width:100%}.contact-view-switch .company-view-button{flex:1}}

/* v0.21.35 contacts toolbar alignment under page heading */
.contact-page-heading{margin-bottom:20px}
.contact-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.contact-list-toolbar .contact-view-switch{margin:0;flex:0 0 auto}
.contact-list-toolbar .contact-page-actions{margin:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex:0 0 auto}
.contact-list-toolbar .contact-page-actions .page-action{width:auto;min-width:0}
@media(max-width:900px){
  .contact-list-toolbar{flex-direction:column;align-items:stretch;gap:14px}
  .contact-list-toolbar .contact-view-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .contact-list-toolbar .contact-page-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .contact-list-toolbar .contact-page-actions .page-action{width:100%}
}
@media(max-width:640px){
  .contact-list-toolbar .contact-page-actions{grid-template-columns:1fr}
}

/* v0.21.35 Conex Programs hub */
.conex-programs-content{max-width:1320px;margin:0 auto;width:100%}
.programs-page-heading{margin-bottom:20px}
.programs-hero-note{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid #d9e5e2;background:#f7fbfa;border-radius:18px;margin-bottom:22px;color:#526765}
.programs-hero-note p{margin:0;line-height:1.8}
.programs-hero-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e5f3ef;color:#0f4d4d;font-size:20px;flex:0 0 auto}
.programs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.program-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:520px;padding:28px;border:1px solid #dbe5e3;border-radius:26px;background:#fff;box-shadow:0 14px 38px rgba(15,61,62,.07)}
.program-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#0f4d4d,#c9a842)}
.program-card-leadfinder::before{background:linear-gradient(90deg,#e72536,#2f6bf2)}
.program-card::after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;inset:auto -70px -90px auto;background:rgba(15,77,77,.035);pointer-events:none}
.program-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:26px;direction:ltr}
.program-domain{font-size:13px;font-weight:700;color:#748684;background:#f5f8f8;border:1px solid #e2e9e8;padding:8px 12px;border-radius:999px;direction:ltr}
.program-logo{position:relative;display:grid;place-items:center;width:76px;height:76px;border-radius:22px;font-family:Arial,sans-serif;font-weight:900;box-shadow:0 10px 28px rgba(15,61,62,.12);direction:ltr}
.program-logo.small{width:58px;height:58px;border-radius:18px;box-shadow:none}
.program-logo-mailer{background:linear-gradient(145deg,#0b3340,#116064);color:#fff}
.program-logo-mailer strong{font-size:18px;letter-spacing:.04em;transform:translateY(8px)}
.program-mail-icon{position:absolute;top:12px;font-size:23px;color:#e2c767}
.program-logo-lead{background:#f7fafc;border:1px solid #cfdbe5;color:#0d2940}
.program-logo-lead strong{font-size:38px;line-height:1}
.program-logo-lead.small strong{font-size:30px}
.program-lead-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:#ea263a;right:12px;bottom:13px}
.program-card-copy{position:relative;z-index:1;flex:1}
.program-eyebrow{margin:0 0 10px;color:#9a7d28;font-size:11px;font-weight:900;letter-spacing:.13em;direction:ltr;text-align:start}
.program-card-leadfinder .program-eyebrow{color:#e3263a}
.program-card h3{font-size:30px;line-height:1.25;margin:0 0 8px;color:#102e31}
.program-card h4{font-size:18px;line-height:1.6;margin:0 0 16px;color:#2f4c4d}
.program-card-copy>p:last-child{font-size:15px;line-height:1.9;color:#677a79;margin:0}
.program-feature-row{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 20px;direction:ltr}
.program-feature-row span{font-size:12px;font-weight:800;color:#486261;background:#f3f7f6;border:1px solid #e0e8e6;border-radius:999px;padding:7px 10px}
.program-card-actions{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.program-card-actions .secondary-button,.program-card-actions .primary-button{min-height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.program-open-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.program-external-note{display:flex;justify-content:center;align-items:center;gap:8px;margin:18px 0 0;color:#758684;font-size:13px}
.program-about-modal{z-index:1500}
.program-about-card{width:min(980px,calc(100vw - 40px));max-height:min(780px,calc(100vh - 44px));overflow:auto;padding:34px}
.program-about-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.program-about-heading .section-kicker{margin-bottom:4px}
.program-about-heading h2{margin:0;font-size:28px;color:#153537}
.program-about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.program-about-grid article{position:relative;border:1px solid #dfe8e6;background:#fbfdfd;border-radius:18px;padding:20px}
.program-about-grid article>span{display:inline-grid;place-items:center;min-width:32px;height:28px;padding:0 8px;border-radius:9px;background:#e8f3f0;color:#0f4d4d;font-size:12px;font-weight:900;direction:ltr}
.program-about-grid h3{font-size:16px;margin:14px 0 8px;color:#173a3b}
.program-about-grid p{margin:0;color:#687b7a;line-height:1.85;font-size:14px}
.program-modal-actions{margin-top:22px;display:flex;gap:10px;justify-content:flex-start}
.program-modal-actions .program-open-button{min-width:190px}
@media(max-width:900px){.programs-grid{grid-template-columns:1fr}.program-card{min-height:0}.program-about-grid{grid-template-columns:1fr}}
@media(max-width:620px){.program-card{padding:22px;border-radius:22px}.program-card-actions{grid-template-columns:1fr}.program-card-top{align-items:flex-start;flex-direction:column}.program-about-card{padding:24px}.program-modal-actions{flex-direction:column}.program-modal-actions>*{width:100%}}


/* Conex CRM v0.21.35 — Tasks assignee labels + compact task filters */
.task-filter-card{grid-template-columns:minmax(260px,1.65fr) repeat(5,minmax(125px,.78fr)) auto;align-items:center}
@media(max-width:1280px){.task-filter-card{grid-template-columns:repeat(4,minmax(0,1fr))}.task-filter-card .filter-button{grid-column:auto}}
@media(max-width:760px){.task-filter-card{grid-template-columns:1fr}.task-filter-card .filter-button{grid-column:auto}}

/* v0.21.35 employee records row integrity + photo preview */
#employeesTable .employee-actions-cell{display:table-cell;min-width:120px;width:120px;white-space:nowrap}
#employeesTable .employee-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;min-width:0;white-space:nowrap}
#employeesTable .employee-row-actions .table-button{flex:0 0 auto}
.employee-avatar img{display:block}

/* Conex CRM v0.21.35 — printing/distribution campaign table controls v2 */
.distribution-primary-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(165px,1fr));
  width:min(100%,430px);
  gap:8px;
}
.distribution-primary-action-grid > button{
  width:100%!important;
  min-width:0;
  justify-content:center;
}
.distribution-bulk-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  padding:11px 13px;
  border:1px solid #ecd2d2;
  border-radius:12px;
  background:#fff8f8;
}
.distribution-bulk-actions[hidden]{display:none!important}
.distribution-bulk-actions > strong{color:#8f3434}
.distribution-bulk-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.distribution-selection-column,
.distribution-selection-cell{
  width:54px;
  min-width:54px;
  max-width:54px;
  text-align:center!important;
  padding-inline:10px!important;
}
.distribution-reference-cell{text-align:center!important;font-variant-numeric:tabular-nums}
.distribution-actions-column,
.distribution-actions-cell{
  width:330px;
  min-width:330px;
  max-width:330px;
  background:#fff;
}
.distribution-actions-column{
  z-index:7;
  background:#f7faf9!important;
}
.distribution-actions-cell{z-index:5}
html[dir="rtl"] .distribution-actions-column,
html[dir="rtl"] .distribution-actions-cell{
  position:sticky;
  left:0;
  box-shadow:8px 0 12px -12px rgba(17,58,57,.55);
}
html[dir="ltr"] .distribution-actions-column,
html[dir="ltr"] .distribution-actions-cell{
  position:sticky;
  right:0;
  box-shadow:-8px 0 12px -12px rgba(17,58,57,.55);
}
.distribution-row-actions{
  justify-content:center;
}
.distribution-row-actions .table-button,
.distribution-row-actions .danger-outline-button.table-button{
  width:116px;
  min-width:116px;
  height:38px;
  min-height:38px;
  padding:0 10px;
  border-radius:10px;
}
.distribution-row-actions .danger-outline-button.table-button{
  width:76px;
  min-width:76px;
}
.distribution-print-table{min-width:1860px}
.distribution-table{min-width:2320px}
@media(max-width:1100px){
  .distribution-primary-action-grid{width:100%;max-width:430px}
}
@media(max-width:720px){
  .distribution-primary-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .distribution-bulk-actions{align-items:stretch;flex-direction:column}
  .distribution-bulk-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .distribution-bulk-buttons > button{width:100%}
}
@media(max-width:480px){
  .distribution-primary-action-grid{grid-template-columns:1fr}
  .distribution-bulk-buttons{grid-template-columns:1fr}
}

/* Conex CRM v0.21.35 — distribution workspace v3: pagination, project checks and delivery-state rows */
.distribution-reference-column,
.distribution-reference-cell{
  text-align:center!important;
  direction:ltr;
  font-variant-numeric:tabular-nums;
}
.distribution-reference-cell strong{display:block;width:100%;text-align:center}
.distribution-project-checklist{
  display:grid;
  gap:6px;
  max-height:220px;
  overflow:auto;
  padding:8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.distribution-project-check-item{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  padding:8px 10px;
  border-radius:9px;
  cursor:pointer;
  user-select:none;
}
.distribution-project-check-item:hover{background:#f5faf8}
.distribution-project-check-item input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:#0f4a4a;
  flex:0 0 auto;
}
.distribution-project-check-item:has(input:checked){background:#eaf5f1;font-weight:800;color:#123f3d}
.distribution-pagination{
  display:grid;
  grid-template-columns:auto minmax(220px,1fr) auto;
  align-items:center;
  gap:14px;
  margin-top:14px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.distribution-pagination[hidden]{display:none!important}
.distribution-page-size,.distribution-pagination-info,.distribution-pagination-buttons{display:flex;align-items:center;gap:9px}
.distribution-pagination-info{justify-content:center;color:var(--muted);font-size:.9rem;flex-wrap:wrap}
.distribution-page-size .compact-select{width:82px;min-width:82px;height:40px;padding-block:6px}
.distribution-pagination-buttons{justify-content:flex-end}
.distribution-pagination-buttons .compact-button{min-width:86px}
.distribution-table tbody tr.distribution-row-delivered > td{background:#eef9f4!important}
.distribution-table tbody tr.distribution-row-failed > td{background:#fff3e5!important}
.distribution-table tbody tr.distribution-row-delivered:hover > td{background:#e5f6ee!important}
.distribution-table tbody tr.distribution-row-failed:hover > td{background:#ffead4!important}
@media(max-width:720px){
  .distribution-pagination{grid-template-columns:1fr;align-items:stretch}
  .distribution-page-size,.distribution-pagination-info,.distribution-pagination-buttons{justify-content:center}
}

/* Conex CRM v0.21.35 — distribution managed lists and table scrollbar containment */
.distribution-top-scroll{
  position:relative;
  top:auto;
  z-index:3;
}
.distribution-secondary-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  min-width:300px;
}
.distribution-secondary-action-grid > button{width:100%!important}
.distribution-lists-modal{width:min(100%,1080px)}
.distribution-lists-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.distribution-list-panel{border:1px solid var(--line);border-radius:16px;background:#fbfdfc;padding:16px;min-width:0}
.distribution-list-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.distribution-list-panel-heading h3{margin:0;color:var(--heading);font-size:1.05rem}
.distribution-list-form{display:grid;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.distribution-list-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.distribution-list-form-actions .compact-button{width:auto;min-width:110px}
.distribution-list-items{display:grid;gap:9px;margin-top:14px;max-height:380px;overflow:auto;padding-inline-end:2px}
.distribution-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #dfe9e6;border-radius:12px;background:#fff}
.distribution-list-item-copy{min-width:0;display:grid;gap:4px}
.distribution-list-item-copy strong{overflow-wrap:anywhere}
.distribution-list-item-copy small{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}
.distribution-list-item-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.distribution-list-item-actions .table-button{min-width:66px}
.compact-empty-state{padding:18px!important;min-height:0!important}
@media(max-width:900px){
  .distribution-lists-grid{grid-template-columns:1fr}
  .distribution-secondary-action-grid{width:100%;min-width:0}
}
@media(max-width:520px){
  .distribution-secondary-action-grid{grid-template-columns:1fr}
  .distribution-list-item{align-items:stretch;flex-direction:column}
  .distribution-list-item-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
}

/* Conex CRM v0.21.35 — distribution campaign lifecycle and historical cloning */
.distribution-campaign-lifecycle-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.distribution-lifecycle-tab{
  min-height:42px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  cursor:pointer;
}
.distribution-lifecycle-tab strong{
  display:grid;
  place-items:center;
  min-width:26px;
  height:26px;
  padding-inline:7px;
  border-radius:8px;
  background:#e9f3f0;
  color:var(--brand);
  font-size:.82rem;
}
.distribution-lifecycle-tab.active{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}
.distribution-lifecycle-tab.active strong{background:rgba(255,255,255,.18);color:#fff}
.distribution-campaign-lifecycle-notice{
  margin:0 0 14px;
  padding:11px 14px;
  border:1px solid #d9e7e3;
  border-radius:12px;
  background:#f4f9f7;
  color:#315a55;
  font-weight:700;
  line-height:1.65;
}
.distribution-campaign-lifecycle-notice[hidden]{display:none!important}
.distribution-clone-companies-option{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:14px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfdfc;
  cursor:pointer;
}
.distribution-clone-companies-option input{margin-top:4px;flex:0 0 auto}
.distribution-clone-companies-option span{display:grid;gap:4px}
.distribution-clone-companies-option small{color:var(--muted);line-height:1.55}
@media(max-width:620px){
  .distribution-campaign-lifecycle-tabs{display:grid;grid-template-columns:1fr 1fr}
  .distribution-lifecycle-tab{width:100%}
}


/* v0.21.35 quotations table controls: top scrollbar, selection and sticky actions */
.quotation-table-card{overflow:visible}
.quotation-top-scroll{
  height:18px;
  overflow-x:auto;
  overflow-y:hidden;
  margin:0 0 8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fbfa;
  direction:ltr;
  scrollbar-gutter:stable;
}
.quotation-top-scroll[hidden]{display:none!important}
.quotation-top-scroll>div{height:1px;min-width:100%}
.quotations-table-scroll{direction:ltr;scrollbar-gutter:stable}
html[dir="rtl"] .quotations-table-scroll table{direction:rtl}
html[dir="ltr"] .quotations-table-scroll table{direction:ltr}
#quotationsTable .row-selection-checkbox{width:17px;height:17px;margin:0;accent-color:var(--brand);cursor:pointer}
#quotationsTable .quotation-actions-cell{display:table-cell;position:sticky;left:0;z-index:2;background:#fff;box-shadow:8px 0 14px rgba(15,61,62,.05);vertical-align:middle;white-space:nowrap;border-bottom:inherit}
#quotationsTable thead .quotation-actions-column{position:sticky;left:0;z-index:4;background:#f8fbfa;box-shadow:8px 0 14px rgba(15,61,62,.05);white-space:nowrap}
#quotationsTable tbody tr:hover .quotation-actions-cell{background:#fbfdfc}
#quotationsTable .quotation-actions{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:nowrap;white-space:nowrap}
#quotationsTable .quotation-actions .table-button{flex:0 0 auto;white-space:nowrap}
@media(max-width:900px){
  #quotationsTable .quotation-actions-cell,#quotationsTable thead .quotation-actions-column{position:static;box-shadow:none}
}

/* v0.21.35 quotations pagination and logical table-start scrollbar */
.quotation-top-scroll{
  position:relative;
  inset:auto;
  order:0;
  margin:0 0 8px;
}
.quotation-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 4px 2px;
  border-top:1px solid var(--line);
  margin-top:12px;
  flex-wrap:wrap;
}
.quotation-pagination-size,
.quotation-pagination-summary,
.quotation-pagination-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.quotation-pagination-size .form-control{
  width:92px;
  min-width:92px;
  height:46px;
}
.quotation-pagination-summary{
  color:var(--muted);
  justify-content:center;
  flex:1 1 auto;
}
.quotation-pagination-summary span + span::before{
  content:'·';
  margin-inline:8px;
}
.quotation-pagination-actions .secondary-button{
  min-width:96px;
}
@media(max-width:720px){
  .quotation-pagination{align-items:stretch;flex-direction:column}
  .quotation-pagination-size,.quotation-pagination-summary,.quotation-pagination-actions{justify-content:center;width:100%}
  .quotation-pagination-actions .secondary-button{flex:1 1 0}
}


/* v0.21.35 quotations sticky rail/header + selected deletion */
.quotation-bulk-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid #efcaca;
  border-radius:12px;
  background:#fff8f8;
}
.quotation-bulk-actions span{color:var(--muted);font-weight:700}
.quotation-bulk-actions .danger-button{min-width:150px;height:44px}
.quotation-top-scroll{
  position:sticky;
  top:88px;
  z-index:14;
  box-shadow:0 5px 12px rgba(15,61,62,.06);
}
.quotation-sticky-header{
  position:fixed;
  z-index:13;
  overflow:hidden;
  background:#f8fbfa;
  border:1px solid var(--line);
  border-top:0;
  box-shadow:0 8px 18px rgba(15,61,62,.10);
}
.quotation-sticky-header[hidden]{display:none!important}
.quotation-sticky-header-scroll{overflow:hidden;direction:ltr;width:100%}
.quotation-sticky-table{margin:0;border-collapse:collapse;table-layout:fixed}
html[dir="rtl"] .quotation-sticky-table{direction:rtl}
html[dir="ltr"] .quotation-sticky-table{direction:ltr}
.quotation-sticky-table th{background:#f8fbfa;white-space:nowrap}
.quotation-sticky-table .quotation-actions-column{position:sticky;left:0;z-index:3;background:#f8fbfa;box-shadow:8px 0 14px rgba(15,61,62,.05)}
.quotation-sticky-table .row-selection-checkbox{width:17px;height:17px;margin:0;accent-color:var(--brand);cursor:pointer}
@media(max-width:900px){
  .quotation-sticky-table .quotation-actions-column{position:static;box-shadow:none}
}

/* Commercial reusable text library + bank accounts */
.commercial-page-actions{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));width:min(100%,430px);gap:10px}
.commercial-page-actions .page-action{width:100%;min-width:0;justify-content:center}
.commercial-document-library-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfdfc}
.commercial-library-insert-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.commercial-library-insert-row>div{min-width:0}
.commercial-bank-field{grid-column:1/-1}
.commercial-bank-preview{margin-top:10px;padding:14px;border:1px solid #d7e6e3;border-radius:14px;background:#f3faf7}
.commercial-bank-preview-title{font-weight:900;color:#0f5351;margin-bottom:10px}
.commercial-bank-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.commercial-bank-preview-grid>div{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e2ecea}
.commercial-bank-preview-grid span,.commercial-bank-preview-grid strong{display:block}
.commercial-bank-preview-grid span{font-size:.78rem;color:var(--muted);margin-bottom:4px}
.commercial-bank-preview-grid strong{font-size:.9rem;overflow-wrap:anywhere}
.commercial-library-backdrop{z-index:2100}
.commercial-library-modal-card{width:min(1160px,calc(100vw - 40px));max-height:calc(100dvh - 44px);overflow:auto}
.commercial-library-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.commercial-library-tabs .secondary-button.active{background:#104b4c;color:#fff;border-color:#104b4c}
.commercial-library-form{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfdfc;margin-bottom:16px}
.commercial-library-form-actions{display:flex;gap:10px;justify-content:flex-start;margin-top:12px;flex-wrap:wrap}
.commercial-checkbox-row{display:flex;align-items:center;gap:9px;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:800}
.commercial-checkbox-row input{width:18px;height:18px}
.commercial-library-list{display:grid;gap:9px;max-height:360px;overflow:auto;padding-inline-end:3px}
.commercial-library-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}
.commercial-library-row strong,.commercial-library-row small{display:block}
.commercial-library-row small{margin-top:4px;color:var(--muted);white-space:pre-line;max-height:3.4em;overflow:hidden}
.commercial-library-row .status-badge{display:inline-flex;margin-top:8px}
@media(max-width:800px){.commercial-page-actions{grid-template-columns:1fr;width:100%}.commercial-document-library-fields{grid-template-columns:1fr}.commercial-library-insert-row{grid-template-columns:1fr}.commercial-bank-field{grid-column:auto}.commercial-bank-preview-grid{grid-template-columns:1fr}.commercial-library-tabs{grid-template-columns:1fr}.commercial-library-row{grid-template-columns:1fr}.commercial-library-modal-card{width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}.commercial-library-backdrop{padding:0}}
.bank-detail-lines{display:grid;gap:7px}.bank-detail-lines p{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.4fr);gap:10px;margin:0;padding:7px 0;border-bottom:1px solid #edf1f1}.bank-detail-lines p:last-child{border-bottom:0}.bank-detail-lines span{color:var(--muted);font-size:.82rem}.bank-detail-lines strong{overflow-wrap:anywhere}.quotation-print-terms #printBankDetails{display:grid;gap:4px}.quotation-print-terms #printBankDetails p{display:flex;gap:8px;justify-content:space-between;margin:0}.quotation-print-terms #printBankDetails span{color:#667}.quotation-print-terms #printBankDetails strong{font-weight:700;overflow-wrap:anywhere}

/* Conex CRM v0.21.35 - commercial document print fidelity */
@page commercial-document {
  size: A4 portrait;
  margin: 0;
}
@media print {
  body.quotation-print-page {
    page: commercial-document;
    width: 210mm;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body.quotation-print-page .quotation-print-sheet {
    width: 210mm;
    min-height: 0;
    margin: 0;
    padding: 9mm 11mm 8mm;
    box-shadow: none;
  }
  body.quotation-print-page .quotation-print-header {
    padding-bottom: 10px;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  body.quotation-print-page .quotation-print-meta {
    gap: 20px;
    margin: 12px 0;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  body.quotation-print-page .print-date-block { gap: 2px; }
  body.quotation-print-page .print-date-block p { padding: 4px 0; }
  body.quotation-print-page .quotation-print-subject {
    padding: 8px 12px;
    margin-bottom: 10px;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  body.quotation-print-page .quotation-print-table thead { display: table-header-group; }
  body.quotation-print-page .quotation-print-table th,
  body.quotation-print-page .quotation-print-table td { padding: 7px 6px; }
  body.quotation-print-page .quotation-print-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  body.quotation-print-page .quotation-print-summary {
    gap: 20px;
    margin-top: 14px;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  body.quotation-print-page .quotation-print-terms { gap: 10px; }
  body.quotation-print-page .quotation-print-totals {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  body.quotation-print-page .quotation-print-totals p { padding: 6px 0; }
  body.quotation-print-page .quotation-print-totals .grand {
    margin: 6px -6px -1px;
    padding: 9px;
  }
  body.quotation-print-page .quotation-print-footer {
    margin-top: 18px;
    padding-top: 10px;
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* Conex CRM v0.21.35 - compact commercial totals in print */
@media print {
  body.quotation-print-page .quotation-print-summary {
    grid-template-columns: minmax(0, 1fr) 72mm;
    column-gap: 10mm;
    align-items: start;
  }
  body.quotation-print-page .quotation-print-totals {
    width: 72mm;
    max-width: 72mm;
    min-width: 0;
    justify-self: end;
    box-sizing: border-box;
  }
  body.quotation-print-page .quotation-print-totals p {
    gap: 8px;
  }
}

/* Conex CRM v0.21.35 - preserve commercial document top metadata layout in print */
@media print {
  body.quotation-print-page .quotation-print-meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }
  body.quotation-print-page .quotation-print-meta > div:first-child {
    grid-column: 1 !important;
    min-width: 0;
  }
  body.quotation-print-page .quotation-print-meta > .print-date-block {
    grid-column: 2 !important;
    min-width: 0;
    display: grid !important;
    gap: 2px !important;
  }
  body.quotation-print-page .print-date-block p {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 0 !important;
    padding: 4px 0 !important;
  }
  body.quotation-print-page .print-date-block span,
  body.quotation-print-page .print-date-block strong {
    min-width: 0;
  }
  body.quotation-print-page .print-date-block strong {
    overflow-wrap: anywhere;
  }
}


/* Conex CRM v0.21.35 - invoice list table controls, sticky header/actions and server pagination */
.invoice-table-card{overflow:visible}
.invoice-top-scroll{
  height:18px;
  overflow-x:auto;
  overflow-y:hidden;
  margin:0 0 8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fbfa;
  direction:ltr;
  scrollbar-gutter:stable;
  position:sticky;
  top:88px;
  z-index:14;
  box-shadow:0 5px 12px rgba(15,61,62,.06);
}
.invoice-top-scroll[hidden]{display:none!important}
.invoice-top-scroll>div{height:1px;min-width:100%}
.invoices-table-scroll{direction:ltr;scrollbar-gutter:stable}
html[dir="rtl"] .invoices-table-scroll table{direction:rtl}
html[dir="ltr"] .invoices-table-scroll table{direction:ltr}
.invoice-table{min-width:2020px;table-layout:auto}
.invoice-table .invoice-selection-column,.invoice-table .invoice-selection-cell{width:52px;min-width:52px;text-align:center}
.invoice-table .invoice-number-column,.invoice-table .invoice-number-cell{min-width:215px;width:215px}
.invoice-table .invoice-status-column,.invoice-table .invoice-status-cell{min-width:130px;width:130px;text-align:center}
.invoice-table .invoice-client-column,.invoice-table .invoice-client-cell{min-width:285px;width:285px}
.invoice-table .invoice-subject-column,.invoice-table .invoice-subject-cell{min-width:285px;width:285px}
.invoice-table .invoice-total-column,.invoice-table .invoice-total-cell{min-width:230px;width:230px}
.invoice-table .invoice-project-column,.invoice-table .invoice-project-cell{min-width:225px;width:225px}
.invoice-table .invoice-dates-column,.invoice-table .invoice-dates-cell{min-width:195px;width:195px}
.invoice-table .invoice-owner-column,.invoice-table .invoice-owner-cell{min-width:195px;width:195px}
.invoice-table .invoice-actions-column,.invoice-table .invoice-actions-cell{min-width:300px;width:300px}
#invoicesTable .row-selection-checkbox,.invoice-sticky-table .row-selection-checkbox{width:17px;height:17px;margin:0;accent-color:var(--brand);cursor:pointer}
#invoicesTable .invoice-actions-cell{display:table-cell;position:sticky;left:0;z-index:3;background:#fff;box-shadow:8px 0 14px rgba(15,61,62,.05);vertical-align:middle;white-space:nowrap;border-bottom:inherit}
#invoicesTable thead .invoice-actions-column{position:sticky;left:0;z-index:5;background:#f8fbfa;box-shadow:8px 0 14px rgba(15,61,62,.05);white-space:nowrap}
#invoicesTable tbody tr:hover .invoice-actions-cell{background:#fbfdfc}
#invoicesTable .invoice-actions{min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:nowrap;white-space:nowrap}
#invoicesTable .invoice-actions .table-button{flex:0 0 auto;white-space:nowrap}
.invoice-bulk-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid #efcaca;
  border-radius:12px;
  background:#fff8f8;
}
.invoice-bulk-actions[hidden]{display:none!important}
.invoice-bulk-actions span{color:var(--muted);font-weight:700}
.invoice-bulk-actions .danger-button{min-width:150px;height:44px}
.invoice-sticky-header{
  position:fixed;
  z-index:13;
  overflow:hidden;
  background:#f8fbfa;
  border:1px solid var(--line);
  border-top:0;
  box-shadow:0 8px 18px rgba(15,61,62,.10);
}
.invoice-sticky-header[hidden]{display:none!important}
.invoice-sticky-header-scroll{overflow:hidden;direction:ltr;width:100%}
.invoice-sticky-table{margin:0;border-collapse:collapse;table-layout:fixed}
html[dir="rtl"] .invoice-sticky-table{direction:rtl}
html[dir="ltr"] .invoice-sticky-table{direction:ltr}
.invoice-sticky-table th{background:#f8fbfa;white-space:nowrap}
.invoice-sticky-table .invoice-actions-column{position:sticky;left:0;z-index:3;background:#f8fbfa;box-shadow:8px 0 14px rgba(15,61,62,.05)}
.invoice-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 4px 2px;
  border-top:1px solid var(--line);
  margin-top:12px;
  flex-wrap:wrap;
}
.invoice-pagination-size,.invoice-pagination-summary,.invoice-pagination-actions{display:flex;align-items:center;gap:10px}
.invoice-pagination-size .form-control{width:92px;min-width:92px;height:46px}
.invoice-pagination-summary{color:var(--muted);justify-content:center;flex:1 1 auto}
.invoice-pagination-summary span + span::before{content:'·';margin-inline:8px}
.invoice-pagination-actions{flex-wrap:wrap;justify-content:flex-end}
.invoice-pagination-actions>.secondary-button{min-width:90px}
.invoice-page-numbers{display:flex;align-items:center;gap:6px;direction:ltr}
.invoice-page-number{min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font:inherit;font-weight:800;cursor:pointer}
.invoice-page-number:hover{border-color:#8bb4af;background:#f5fbf9}
.invoice-page-number.active{background:var(--brand);border-color:var(--brand);color:#fff}
.invoice-page-ellipsis{min-width:24px;text-align:center;color:var(--muted);font-weight:900}
@media(max-width:900px){
  #invoicesTable .invoice-actions-cell,#invoicesTable thead .invoice-actions-column,.invoice-sticky-table .invoice-actions-column{position:static;box-shadow:none}
}
@media(max-width:720px){
  .invoice-pagination{align-items:stretch;flex-direction:column}
  .invoice-pagination-size,.invoice-pagination-summary,.invoice-pagination-actions{justify-content:center;width:100%}
  .invoice-bulk-actions{align-items:stretch;flex-direction:column}
  .invoice-page-numbers{flex-wrap:wrap;justify-content:center}
}

/* Conex CRM v0.21.35 - invoice settings, print identity and refined commercial document layout */
.commercial-page-actions{grid-template-columns:repeat(3,minmax(170px,1fr));width:min(100%,650px)}
.invoice-table{min-width:2150px}
.invoice-table .invoice-number-column,.invoice-table .invoice-number-cell{min-width:245px;width:245px}
.invoice-table .invoice-client-column,.invoice-table .invoice-client-cell{min-width:330px;width:330px}
.invoice-table .invoice-subject-column,.invoice-table .invoice-subject-cell{min-width:330px;width:330px}

.commercial-document-settings-backdrop{position:fixed;inset:0;z-index:90;background:rgba(13,42,42,.62);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}
.commercial-document-settings-backdrop[hidden]{display:none!important}
.commercial-document-settings-card{position:relative;width:min(1040px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 26px 70px rgba(0,0,0,.28);padding:30px}
.commercial-document-settings-head{margin-bottom:18px}.commercial-document-settings-head h2{margin:4px 0 6px;font-size:1.65rem}.commercial-document-settings-head p:last-child{color:var(--muted);margin:0}
.commercial-document-settings-section{border-top:1px solid var(--line);padding:20px 0}.commercial-document-settings-section h3{margin:0 0 14px;font-size:1.05rem;color:var(--brand)}
.commercial-document-logo-section{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:center}
.commercial-document-upload{display:grid;gap:7px;margin-top:14px}.commercial-document-upload>span{font-weight:800}.commercial-document-upload small{color:var(--muted);line-height:1.6}.commercial-document-upload input{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.commercial-document-logo-preview{min-height:128px;border:1px dashed #b8ceca;border-radius:18px;background:#f7fbfa;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.commercial-document-logo-preview img{display:block;max-width:100%;max-height:110px;object-fit:contain}.commercial-document-logo-fallback{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:2.2rem;font-weight:900}
.commercial-document-settings-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:6px}

.quotation-print-sheet{display:flex;flex-direction:column}
.quotation-print-header{padding-bottom:12px}
.print-brand-logo-shell{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:14px;overflow:hidden;background:#fff}
.print-brand-logo-shell img{display:block;width:100%;height:100%;object-fit:contain}
.print-brand-logo-shell .print-brand-mark{width:100%;height:100%;border-radius:14px}
.quotation-print-title{gap:3px}
.quotation-print-client .print-client-contact-name{font-weight:700;color:#304a4a;margin-top:3px}
.print-client-communication{display:grid;gap:2px;margin:5px 0 4px}
.print-client-communication p{margin:0!important;font-size:.75rem!important;color:#415959!important;direction:ltr;unicode-bidi:isolate;text-align:left;white-space:normal}
.print-client-address{margin-top:5px!important}

.quotation-print-terms{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;align-items:start}
.quotation-print-terms .print-term-card{min-width:0}
.quotation-print-terms .print-wide-term{grid-column:1/-1}
.quotation-print-terms h3{display:inline-flex;align-items:center;font-size:.72rem;line-height:1.2;margin:0 0 6px;padding:5px 8px;border-inline-start:3px solid #d9a24b;border-radius:6px;background:#edf6f3;color:#155454;letter-spacing:.01em}
.quotation-print-terms p{font-size:.68rem;line-height:1.55;text-align:left;color:#4d6161}
.quotation-print-terms #printBankDetails{display:grid;gap:1px;font-size:.66rem;text-align:left;direction:ltr}
.quotation-print-terms #printBankDetails p{display:grid;grid-template-columns:86px minmax(0,1fr);gap:7px;justify-content:initial;align-items:start;margin:0;padding:2px 0;font-size:.66rem;line-height:1.35;text-align:left}
.quotation-print-terms #printBankDetails span{color:#6b7a7a;white-space:nowrap}
.quotation-print-terms #printBankDetails strong{font-size:.66rem;font-weight:700;text-align:left;overflow-wrap:anywhere}
.print-arabic .quotation-print-terms p{text-align:right;direction:rtl}
.print-arabic .quotation-print-terms #printBankDetails,.print-arabic .quotation-print-terms #printBankDetails p{direction:rtl;text-align:right}
.print-arabic .quotation-print-terms #printBankDetails strong{text-align:right}

.quotation-print-footer{margin-top:auto;padding-top:12px;border-top:2px solid #155454}
.quotation-print-footer [hidden]{display:none!important}

@media(max-width:800px){.commercial-page-actions{grid-template-columns:1fr;width:100%}.commercial-document-logo-section{grid-template-columns:1fr}.commercial-document-settings-card{width:100vw;height:100dvh;max-height:none;border-radius:0;padding:22px 14px}.commercial-document-settings-backdrop{padding:0}}

@media print{
  body.quotation-print-page .quotation-print-sheet{display:flex!important;flex-direction:column!important;width:210mm;min-height:297mm!important;padding:9mm 11mm 8mm;box-sizing:border-box}
  body.quotation-print-page .quotation-print-header{padding-bottom:7px!important}
  body.quotation-print-page .quotation-print-meta{margin:9px 0 11px!important}
  body.quotation-print-page .quotation-print-summary{grid-template-columns:minmax(0,1fr) 72mm!important;gap:7mm!important;margin-top:11px!important;align-items:start!important}
  body.quotation-print-page .quotation-print-terms{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px 10px!important}
  body.quotation-print-page .quotation-print-terms h3{font-size:7.4pt!important;margin-bottom:4px!important;padding:3px 6px!important}
  body.quotation-print-page .quotation-print-terms p{font-size:6.8pt!important;line-height:1.45!important}
  body.quotation-print-page .quotation-print-terms #printBankDetails,body.quotation-print-page .quotation-print-terms #printBankDetails p,body.quotation-print-page .quotation-print-terms #printBankDetails strong{font-size:6.5pt!important}
  body.quotation-print-page .quotation-print-terms #printBankDetails p{grid-template-columns:72px minmax(0,1fr)!important;gap:5px!important;padding:1.5px 0!important}
  body.quotation-print-page .print-client-communication p{font-size:7pt!important}
  body.quotation-print-page .quotation-print-footer{margin-top:auto!important;padding-top:8px!important;break-inside:avoid;page-break-inside:avoid}
}


/* v0.21.35 commercial document end-section layout v1 */
.quotation-print-summary-totals-only{display:flex;justify-content:flex-end;align-items:flex-start;gap:0;margin-top:25px}
.quotation-print-summary-totals-only .quotation-print-totals{width:min(100%,290px);flex:0 0 auto}
.quotation-print-notes-area{margin-top:18px}
.quotation-print-notes-area[hidden],.quotation-print-end-sections[hidden]{display:none!important}
.quotation-print-notes-area .print-term-card{max-width:100%}
.quotation-print-notes-area h3,.quotation-print-end-sections h3{display:inline-flex;align-items:center;font-size:.72rem;line-height:1.2;margin:0 0 6px;padding:5px 8px;border-inline-start:3px solid #d9a24b;border-radius:6px;background:#edf6f3;color:#155454;letter-spacing:.01em}
.quotation-print-notes-area p,.quotation-print-end-sections p{white-space:pre-wrap;font-size:.68rem;line-height:1.55;text-align:left;color:#4d6161;margin:0}
.quotation-print-end-sections{direction:ltr;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;align-items:start;margin-top:auto;padding-top:28px;break-inside:avoid;page-break-inside:avoid}
.quotation-print-end-sections .print-term-card{min-width:0;direction:ltr;text-align:left}
.quotation-print-end-sections[data-layout="bank-payment"] #printBankBlock{grid-column:1;grid-row:1}
.quotation-print-end-sections[data-layout="bank-payment"] #printPaymentTermsBlock{grid-column:2;grid-row:1}
.quotation-print-end-sections[data-layout="three"] #printBankBlock{grid-column:1;grid-row:1}
.quotation-print-end-sections[data-layout="three"] #printPaymentTermsBlock{grid-column:1;grid-row:2}
.quotation-print-end-sections[data-layout="three"] #printTermsBlock{grid-column:2;grid-row:2}
.quotation-print-end-sections[data-layout="payment-terms"] #printPaymentTermsBlock{grid-column:1;grid-row:1}
.quotation-print-end-sections[data-layout="payment-terms"] #printTermsBlock{grid-column:2;grid-row:1}
.quotation-print-end-sections[data-layout="bank-terms"] #printBankBlock{grid-column:1;grid-row:1}
.quotation-print-end-sections[data-layout="bank-terms"] #printTermsBlock{grid-column:2;grid-row:1}
.quotation-print-end-sections[data-layout="single"] .print-term-card:not([hidden]){grid-column:1;grid-row:auto}
.quotation-print-end-sections #printBankDetails{display:grid;gap:1px;font-size:.66rem;text-align:left;direction:ltr}
.quotation-print-end-sections #printBankDetails p{display:grid;grid-template-columns:86px minmax(0,1fr);gap:7px;justify-content:initial;align-items:start;margin:0;padding:2px 0;font-size:.66rem;line-height:1.35;text-align:left}
.quotation-print-end-sections #printBankDetails span{color:#6b7a7a;white-space:nowrap}
.quotation-print-end-sections #printBankDetails strong{font-size:.66rem;font-weight:700;text-align:left;overflow-wrap:anywhere}
.print-arabic .quotation-print-end-sections .print-term-card,.print-arabic .quotation-print-notes-area .print-term-card{direction:rtl;text-align:right}
.print-arabic .quotation-print-end-sections p,.print-arabic .quotation-print-notes-area p{text-align:right;direction:rtl}
.print-arabic .quotation-print-end-sections #printBankDetails,.print-arabic .quotation-print-end-sections #printBankDetails p{direction:rtl;text-align:right}
.print-arabic .quotation-print-end-sections #printBankDetails strong{text-align:right}
.quotation-print-end-sections + .quotation-print-footer{margin-top:14px}

@media print{
  body.quotation-print-page .quotation-print-summary-totals-only{display:flex!important;justify-content:flex-end!important;margin-top:11px!important}
  body.quotation-print-page .quotation-print-summary-totals-only .quotation-print-totals{width:72mm!important;max-width:72mm!important}
  body.quotation-print-page .quotation-print-notes-area{margin-top:7px!important;break-inside:avoid;page-break-inside:avoid}
  body.quotation-print-page .quotation-print-end-sections{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px 10mm!important;margin-top:auto!important;padding-top:10px!important;break-inside:avoid;page-break-inside:avoid}
  body.quotation-print-page .quotation-print-end-sections[hidden]{display:none!important}
  body.quotation-print-page .quotation-print-notes-area[hidden]{display:none!important}
  body.quotation-print-page .quotation-print-end-sections h3,body.quotation-print-page .quotation-print-notes-area h3{font-size:7.4pt!important;margin-bottom:4px!important;padding:3px 6px!important}
  body.quotation-print-page .quotation-print-end-sections p,body.quotation-print-page .quotation-print-notes-area p{font-size:6.8pt!important;line-height:1.45!important}
  body.quotation-print-page .quotation-print-end-sections #printBankDetails,body.quotation-print-page .quotation-print-end-sections #printBankDetails p,body.quotation-print-page .quotation-print-end-sections #printBankDetails strong{font-size:6.5pt!important}
  body.quotation-print-page .quotation-print-end-sections #printBankDetails p{grid-template-columns:72px minmax(0,1fr)!important;gap:5px!important;padding:1.5px 0!important}
  body.quotation-print-page .quotation-print-end-sections + .quotation-print-footer{margin-top:7px!important}
}
.quotation-print-end-sections[hidden] + .quotation-print-footer{margin-top:auto}
@media print{body.quotation-print-page .quotation-print-end-sections[hidden] + .quotation-print-footer{margin-top:auto!important}}
