/* Shared, quiet visual system: dense desktop controls, comfortable touch targets. */
:root { --ink:#202e32; --muted:#60716d; --line:#dfe9e5; --bg:#f3f8f6; --primary:#087f60; --primary-dark:#06674d; --radius:16px; --shadow:0 2px 8px rgba(25,55,43,.025); }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:14px; line-height:1.5; }
.app-main .container { max-width:1560px; margin-inline:auto; padding:24px 28px 40px; }
.app-main .container:has(.lead-detail-hero) { max-width:1100px; }
.app-main .container:has(form[action="/agreements/general"]),.app-main .container:has(.agreement-text),.app-main .container:has(form[action$="/agreement"]) { max-width:1100px; }
.page-heading,.detail-head { gap:12px; margin-bottom:20px; }
.page-heading h1,.app-shell .dashboard-heading h1,.lead-detail-hero h1 { font-size:24px; line-height:1.25; letter-spacing:-.025em; margin-bottom:6px; }
.panel { padding:18px 20px; border-radius:16px; box-shadow:var(--shadow); }
.panel h2 { font-size:16px; line-height:1.4; margin:0 0 12px; }
.panel h3 { font-size:14px; line-height:1.4; margin:16px 0 8px; }
.panel p { margin-top:0; margin-bottom:12px; }
.panel p:last-child { margin-bottom:0; }
.muted,small { line-height:1.5; }
.app-main .button { min-height:38px; padding:8px 14px; border-radius:10px; font-size:13px; font-weight:600; line-height:1.3; box-shadow:none; gap:7px; }
.button.primary { background:var(--primary); color:#fff; border-color:var(--primary); }
.button.secondary { background:#fff; color:#36544b; border-color:var(--line); }
.button:hover { box-shadow:none; }
.stack { gap:12px; }
.stack label { font-size:13px; font-weight:500; gap:6px; }
.stack label[hidden] { display:none; }
.stack input:not([type=checkbox]):not([type=radio]),.stack select,.stack textarea { min-height:40px; padding:8px 11px; border-color:#d5e2dc; border-radius:9px; font-size:14px; line-height:1.45; box-sizing:border-box; }
.stack textarea { min-height:86px; }
.stack input[type=checkbox],.stack input[type=radio] { width:18px; min-height:18px; height:18px; padding:0; }
.stack small { font-size:12px; font-weight:400; color:var(--muted); }
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid #087f60; outline-offset:3px; }
button,summary { cursor:pointer; }
.detail-grid { grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr); gap:16px; }
.main-column,.side-column { gap:14px; }
.lead-detail-hero { padding:20px 22px; border-radius:18px; }
.lead-detail-hero .button { min-height:38px; padding:8px 13px; }
.lead-detail-hero .quick-actions { gap:8px; }
.lead-distribution { padding:14px 18px; }
.lead-distribution > .muted { line-height:1.5; }
.lead-distribution .ui-disclosure { margin-top:8px; }
.lead-distribution .ui-disclosure > summary { border:0; background:transparent; padding:4px 0; min-height:32px; font-weight:500; }
.ui-distribution-content { display:grid; gap:12px; }
.ui-distribution-content form { margin:0; }
.detail-section-heading { margin-bottom:12px; }
.detail-section-heading .lead-edit summary { min-height:38px; }
.side-column .detail-compact-form .button { min-height:38px; }
.side-column .data-grid { grid-template-columns:minmax(0,1fr); }
.lead-summary-grid { box-shadow:none; border-radius:14px; }
.data-grid { gap:14px; margin-bottom:16px; }
.data-item dt { font-size:12px; font-weight:500; }
.data-item dd { font-size:14px; font-weight:600; }
.timeline { margin-bottom:0; }
.timeline li { margin-bottom:12px; }
.timeline strong,.timeline span { font-size:13px; }
.timeline small { font-size:12px; }
.professional-performance-filters { gap:10px; }
.professional-performance-filters label { font-weight:500; gap:6px; }
.professional-performance-filters input,.professional-performance-filters select { min-height:40px; padding:8px 11px; border-radius:9px; font-size:14px; }
.professional-performance-card .button { min-height:38px; }
.professional-performance-data { gap:14px; }
.professional-performance-data dd { font-size:17px; margin-top:4px; }
.connection-notice { box-shadow:none; padding:14px 16px; border-radius:12px; }
.connection-notice p { font-size:13px; margin:5px 0; }
.dashboard-stats>div,.dashboard-stats>article { box-shadow:none; }
.dashboard-stats { grid-template-columns:repeat(var(--visible-metrics,4),minmax(0,1fr)); }
.dashboard-stats [hidden],.dashboard-stats[hidden],.ui-metrics-empty[hidden] { display:none; }
.ui-metric-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 10px; }
.ui-metric-heading>span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.ui-metric-options { position:relative; }
.ui-metric-options>summary { cursor:pointer; font-size:13px; color:#36544b; padding:7px 10px; min-height:38px; list-style:none; }
.ui-metric-options>summary::-webkit-details-marker { display:none; }
.ui-metric-options fieldset { position:absolute; top:100%; right:0; z-index:5; width:250px; max-width:calc(100vw - 40px); margin:0; padding:14px; border:1px solid var(--line); border-radius:12px; box-shadow:0 8px 24px #173b2920; background:#fff; }
.ui-metric-options:not([open]) fieldset { display:none; }
.ui-metric-options label { display:flex; gap:10px; align-items:center; min-height:38px; font-size:13px; }
.ui-metric-options input { width:18px; height:18px; accent-color:var(--primary); }
.ui-metric-options legend { font-size:12px; font-weight:600; }
.ui-metric-options small { display:block; font-size:12px; color:var(--muted); margin-top:8px; }
.feedback-row { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:14px 0; border-top:1px solid var(--line); }
.feedback-row a { overflow-wrap:anywhere; }
.feedback-row small { display:block; color:var(--muted); font-size:12px; margin-top:4px; }
.feedback-row>.chip { flex-shrink:0; }
.feedback-paging { display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }
.invitation-copy { display:flex; flex-direction:column; gap:8px; font-size:13px; margin-bottom:12px; }
.invitation-copy input { width:100%; min-width:0; min-height:40px; box-sizing:border-box; padding:8px 11px; border:1px solid var(--line); border-radius:9px; font-size:14px; }
.feedback-row:has(.quick-actions) { flex-wrap:wrap; }
.dashboard-filter-fields { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; align-items:end; }
.dashboard-filter-fields label { font-size:12px; font-weight:500; }
.dashboard-filter-fields label,.dashboard-filter-fields label:first-child,.dashboard-filter-fields .date-field-select { min-width:0; max-width:none; }
.dashboard-filter-fields .dashboard-date-presets { grid-column:span 3; flex-wrap:wrap; }
.ui-filter-actions { display:flex; align-items:center; gap:10px; justify-content:flex-end; flex-wrap:wrap; }
.dashboard-filter-fields select,.dashboard-filter-fields input { width:100%; min-height:38px; font-size:13px; }
.app-main:not(:has(.dashboard-table input[type=checkbox]:checked)) .bulk-toolbar { display:none; }
.ui-filters { margin:0; }
.ui-filters>summary { display:none; }
.dashboard-table th { font-size:12px; font-weight:500; }
.dashboard-table td { font-size:13px; }
.dashboard-table-wrap { position:relative; min-width:0; max-width:100%; }
.dashboard-columns:not([open]) .column-options { display:none; }
.column-options { max-width:calc(100vw - 40px); }
.company-columns { gap:16px; }
.agreement-text { white-space:pre-wrap; overflow-wrap:anywhere; max-width:75ch; line-height:1.65; }
.agreement-versions { padding-left:20px; }
.agreement-versions li { padding:8px 0; }
.agreement-signature,[data-signature-pad] { display:block; width:100%; max-width:600px; height:auto; aspect-ratio:10/3; border:1px solid var(--line); border-radius:10px; background:#fff; }
[data-signature-pad] { touch-action:none; cursor:crosshair; }
.stack .agreement-accept { display:flex; flex-direction:row; align-items:flex-start; gap:10px; }
.agreement-accept input { flex-shrink:0; }
.agreement-pending-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; padding:12px 16px; border:1px solid #ead8a3; border-radius:10px; background:#fffaf0; font-size:13px; }
.agreement-pending-notice a { flex-shrink:0; padding:8px 0; color:#735214; font-weight:600; }
@media(max-width:760px) { .agreement-pending-notice { align-items:flex-start; flex-direction:column; } .agreement-pending-notice a { min-height:44px; } }
.agreement-versions small { margin-left:12px; color:var(--muted); }
.ui-disclosure { margin:12px 0 0; }
.ui-disclosure>summary { display:flex; align-items:center; gap:8px; width:fit-content; max-width:100%; padding:8px 12px; min-height:38px; border:1px solid var(--line); border-radius:9px; background:#f8fbf9; color:#36544b; font-size:13px; font-weight:600; list-style:none; }
.ui-disclosure>summary::-webkit-details-marker { display:none; }
.ui-disclosure>summary::before { content:'+'; width:14px; text-align:center; font-size:17px; line-height:1; }
.ui-disclosure[open]>summary::before { content:'−'; }
.ui-disclosure[open]>summary { margin-bottom:14px; }
.ui-help>summary { border:0; background:transparent; padding:4px 0; font-weight:400; color:var(--muted); }
.ui-help>p { padding-top:6px; }
.security-history .ui-disclosure { margin:0; }
.security-history .ui-disclosure>summary { border:0; background:none; padding:0; font-size:14px; }
.ui-disclosure .professional-performance-data { margin-top:8px; }
.ui-settings-summary { margin:12px 0; }
.ui-settings-summary .data-item { padding:0; }
.ui-note-preview { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; white-space:pre-wrap; font-weight:400!important; }
.professional-profile-grid > aside > .muted { margin:0; font-size:13px; }
.ui-stage-preview { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:14px 0; }
.ui-stage-preview li { font-size:12px; padding:5px 9px; border:1px solid var(--line); border-radius:8px; background:#f8fbf9; color:#476056; }
.ui-stage-preview li.final { background:#eaf6ef; color:#176344; border-color:#c8e4d2; }
.sales-stage { padding:10px 12px; }
.sales-stage-flags { margin:8px 0 12px; gap:8px; }
.sales-workflow .page-heading { margin-bottom:8px; }
.commission-asset .ui-settings-summary { margin:12px 0; }
.commission-asset .ui-settings-summary dd { font-size:14px; }
.commission-asset .ui-disclosure .commission-rate-form { margin-top:12px; }
.ui-section-toggle > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; cursor:pointer; list-style:none; }
.ui-section-toggle > summary::-webkit-details-marker { display:none; }
.ui-section-toggle > summary h2 { margin:0; }
.ui-section-hint { flex-shrink:0; font-size:12px; color:#60716d; }
.ui-section-hint::after { content:' +'; font-size:16px; }
.ui-section-toggle[open] .ui-section-hint::after { content:' −'; }
.ui-section-content { padding-top:16px; border-top:1px solid var(--line); margin-top:12px; }
.routing-controls:has(>.ui-section-toggle) { scroll-margin-top:80px; }
.mobile-menu-button { display:none; }
@media(min-width:761px) { .ui-disclosure.ui-filters>summary { display:none; } }
@media(min-width:761px) {
  .app-sidebar .sidebar-nav a,.app-sidebar .sidebar-link { min-height:38px; border-radius:10px; font-size:13px; }
  .app-sidebar .sidebar-nav { gap:2px; padding-bottom:8px; }
  .sidebar-section-label { padding-top:12px; font-weight:600; }
  .sidebar-bottom { padding-top:6px; padding-bottom:6px; }
  .sidebar-bottom > .sidebar-section-label { padding-top:4px; padding-bottom:4px; }
  .sidebar-user { min-height:40px; }
}
@media(min-width:951px) and (max-width:1200px) { .dashboard-filter-fields { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(min-width:761px) and (max-width:950px) { .dashboard-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard-filter-fields .dashboard-date-presets,.ui-filter-actions { grid-column:1/-1; } }
@media(max-width:760px) {
  .app-main .container { padding:18px 16px 32px; }
  .app-sidebar { position:relative; }
  .sidebar-brand { padding-right:110px; }
  .mobile-menu-button { position:absolute; right:14px; top:7px; display:flex; align-items:center; gap:7px; min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font-size:14px; }
  .mobile-menu-button svg { width:18px; height:18px; }
  .app-sidebar.ui-mobile-ready:not(.mobile-menu-open) .sidebar-nav,.app-sidebar.ui-mobile-ready:not(.mobile-menu-open) .sidebar-bottom { display:none!important; }
  .app-sidebar.ui-mobile-ready.mobile-menu-open .sidebar-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; gap:4px; padding:8px 12px; }
  .app-sidebar.ui-mobile-ready .sidebar-nav a { min-width:0; white-space:normal; padding:8px 10px; font-size:13px; }
  .app-sidebar .sidebar-nav a.active:before { display:none; }
  .detail-grid { grid-template-columns:minmax(0,1fr); }
  .panel { padding:16px; border-radius:14px; }
  .page-heading h1,.app-shell .dashboard-heading h1,.lead-detail-hero h1 { font-size:23px; }
  .app-main .button,.lead-detail-hero .button,.professional-performance-card .button,.ui-disclosure>summary { min-height:44px; }
  .lead-distribution .ui-disclosure > summary,.detail-section-heading .lead-edit summary,.side-column .detail-compact-form .button { min-height:44px; }
  .stack input:not([type=checkbox]):not([type=radio]),.stack select,.stack textarea,.professional-performance-filters input,.professional-performance-filters select { min-height:44px; font-size:16px; }
  .dashboard-filter-fields select,.dashboard-filter-fields input { min-height:44px; font-size:16px; }
  .app-main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-main select,.app-main textarea { min-height:44px; font-size:16px; }
  .dashboard-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-stats[data-visible-count="1"] { grid-template-columns:minmax(0,1fr); }
  .ui-metric-options>summary,.ui-metric-options label { min-height:44px; }
  .dashboard-filter-fields label:first-child,.dashboard-filter-fields .dashboard-date-presets,.ui-filter-actions { grid-column:1/-1; }
  .lead-detail-hero { padding:18px; }
  .lead-detail-hero .quick-actions { justify-content:flex-start; }
  .professional-performance-filters label { min-width:0; flex-basis:100%; }
  .ui-disclosure>summary { width:auto; }
  .ui-filters>summary { display:flex; }
  .ui-filters[open]>summary { margin-bottom:12px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
.commission-tier-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:8px; align-items:end; margin-bottom:10px; }
.commission-tier-row input { min-width:0; width:100%; }
.commission-tier-row [hidden], [data-commission-tiers][hidden] { display:none; }
.stack .commission-tiers-toggle { display:flex; flex-direction:row; align-items:center; }
.commission-tiers-toggle input { width:18px; min-height:18px; height:18px; }
.commission-tier-row[data-tier-last] { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
@media(max-width:600px) { .commission-tier-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .commission-tier-row button { grid-column:1/-1; justify-self:end; } }
