:root{color-scheme:light;--ink:#172c31;--muted:#52666b;--muted-light:#72858a;--page:#f4f7f5;--paper:#fff;--line:#e1e9e5;--line-strong:#cddbd5;--brand:#006c60;--brand-dark:#00594f;--brand-soft:#e4f4ef;--nav:#162c31;--nav-hover:#233c42;--nav-text:#bdcece;--warn:#83500a;--warn-soft:#fff0d8;--danger:#a73b3b;--danger-soft:#fceaea;--shadow:0 2px 9px #17332a09;--round:14px;--side:220px;font-family:Inter,"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:14px}
.deal-quick-filter{display:flex;gap:8px 13px;align-items:center;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);font-size:12px}
*,*::before,*::after{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}strong{font-weight:680}svg{width:18px;height:18px;vertical-align:middle;flex:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5abbab;outline-offset:2px}::selection{background:#c9eadf;color:#064b43}
#shell{min-height:100vh}.sidebar{position:fixed;z-index:15;inset:0 auto 0 0;width:var(--side);background:var(--nav);color:#fff;display:flex;flex-direction:column;padding:24px 16px 16px}.brand{display:flex;align-items:center;gap:11px;padding:0 7px;margin-bottom:40px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f3d79e;color:#233537;font-weight:850;font-size:21px;flex:none}.brand strong{display:block;font-size:17px;letter-spacing:.04em}.brand small,.sidebar-bottom small{display:block;color:#9cb3b4;font-size:11px;margin-top:4px}.nav-caption{color:#90abae;font-size:11px;font-weight:630;padding:0 11px 8px;letter-spacing:.13em}.nav-link{position:relative;display:flex;align-items:center;gap:11px;min-height:44px;margin:3px 0;padding:9px 11px;border-radius:9px;color:var(--nav-text);font-weight:560}.nav-link:hover{background:var(--nav-hover);color:#fff}.nav-link[aria-current=page]{color:#fff;background:#284a4a}.nav-link[aria-current=page]::before{content:"";position:absolute;width:3px;inset:9px auto 9px 0;background:#8fe3c8;border-radius:0 3px 3px 0}.nav-link svg{width:17px;height:17px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff1d;padding:17px 8px 2px;font-size:12px}.local-dot{width:8px;height:8px;background:#82d3ad;border-radius:50%;box-shadow:0 0 0 4px #82d3ad26;flex:none}
.workspace{margin-left:var(--side);min-height:100vh}.topbar{position:sticky;top:0;z-index:10;min-height:65px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px clamp(16px,2.6vw,38px);border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;align-items:center;gap:11px;white-space:nowrap;color:var(--muted);font-size:13px}.breadcrumbs strong{color:var(--ink)}.crumb-arrow{color:#96a8a7}.quick-search{width:min(30vw,310px);height:37px;background:#f6f9f8;border:1px solid var(--line);display:flex;align-items:center;border-radius:8px;gap:8px;padding:0 9px;color:var(--muted)}.quick-search input{border:0;background:transparent;padding:0;height:auto;width:100%;min-width:0;box-shadow:none;outline:0}.quick-search:focus-within{border-color:#54a99a;box-shadow:0 0 0 3px #dcefe8}.quick-search input:focus-visible{outline:none}.quick-search svg{width:16px;height:16px}.quick-search kbd{font-family:inherit;white-space:nowrap;font-size:10px;border:1px solid var(--line-strong);padding:1px 4px;border-radius:4px}.mobile-menu{display:none!important}
main{max-width:1600px;margin:0 auto;padding:28px clamp(16px,2.6vw,38px) 52px;outline:0}.view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:23px}.view-heading h1{font-size:clamp(25px,3vw,34px);letter-spacing:-.035em;line-height:1.17}.view-heading p{color:var(--muted);line-height:1.55;margin-top:7px;font-size:13px}.view-heading .eyebrow{margin:0 0 7px;color:var(--brand);font-size:12px;font-weight:680;letter-spacing:.08em}.view-actions,.heading-actions,.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.row-actions{justify-content:flex-end}
.btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:8px;color:var(--ink);background:var(--paper);font-weight:600;min-height:36px;white-space:nowrap;line-height:1.2}.btn:hover,.icon-btn:hover{background:#f1f7f4;border-color:#aabfb7}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark)}.btn.quiet{border-color:transparent;background:transparent;color:var(--brand)}.btn.quiet:hover{background:var(--brand-soft)}.btn.danger{color:var(--danger)}.icon-btn{padding:7px;width:36px}.btn svg{width:16px;height:16px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--round);box-shadow:var(--shadow);min-width:0}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 19px 12px}.card-head h2{font-size:17px;letter-spacing:-.02em}.card-head p{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.section-link{font-size:13px;color:var(--brand);font-weight:640;white-space:nowrap}.section-link:hover{text-decoration:underline}.muted{color:var(--muted)}.subtle{color:var(--muted-light)}.number{font-variant-numeric:tabular-nums}.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.danger-text{color:var(--danger)}
input,select,textarea{height:37px;padding:7px 10px;min-width:0;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 1px 2px #10271c06}textarea{height:auto;min-height:94px;resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#657a7e}input[type=search]::-webkit-search-cancel-button{cursor:pointer}.toolbar,.filter-row,.filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.toolbar{padding:15px 16px;border-bottom:1px solid var(--line)}.toolbar input[type=search],.toolbar input[name=q]{min-width:220px;flex:1 1 245px}.toolbar form{width:100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.toolbar form input[type=search]{flex:1}.toolbar select{max-width:205px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px;text-align:left}.data-table th{background:#f6f9f7;color:#50656a;white-space:nowrap;font-size:12px;font-weight:680;padding:12px 14px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 14px;border-bottom:1px solid #edf1ef;vertical-align:middle;line-height:1.45}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#f7faf8}.data-table td:first-child,.data-table th:first-child{padding-left:18px}.data-table td:last-child,.data-table th:last-child{padding-right:18px}.table-link{border:0;background:none;color:var(--brand-dark);padding:0;text-align:left;font-weight:680;line-height:1.45}.table-link:hover{text-decoration:underline}.table-primary{display:block;color:var(--ink);font-weight:650;overflow-wrap:anywhere}.table-secondary{display:block;color:var(--muted);font-size:12px;margin-top:4px;overflow-wrap:anywhere}.table-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 16px;font-size:12px;color:var(--muted)}.table-link .table-primary{color:inherit}.table-id{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.nowrap{white-space:nowrap}
.badge{display:inline-flex;max-width:100%;white-space:nowrap;padding:4px 8px;border-radius:5px;background:#eef3f2;color:#40595c;font-size:11px;font-weight:650;line-height:1.25;vertical-align:middle}.badge.success{background:var(--brand-soft);color:#075f53}.badge.warning{background:var(--warn-soft);color:var(--warn)}.badge.neutral{background:#eef2f4;color:#49636b}.badge.danger{background:var(--danger-soft);color:var(--danger)}.segmented{display:inline-flex;flex-wrap:wrap;gap:3px;border:1px solid var(--line);padding:3px;border-radius:9px;background:#f0f5f2}.segmented button{border:0;border-radius:6px;padding:6px 10px;background:transparent;color:var(--muted);white-space:nowrap}.segmented button[aria-pressed=true],.segmented button.active{background:#fff;color:var(--brand-dark);box-shadow:0 1px 4px #1d403519;font-weight:650}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.pager-controls{display:flex;align-items:center;gap:7px}.pager .btn{min-height:32px;padding:6px 9px}.empty,.loading,.page-error{display:grid;justify-items:center;align-content:center;gap:8px;padding:44px 16px;text-align:center;color:var(--muted);min-height:148px}.empty strong,.page-error strong{color:var(--ink);font-size:15px}.empty svg,.page-error svg{width:23px;height:23px;color:var(--brand)}
.form-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:5px;min-width:0;color:var(--ink);font-size:13px;font-weight:600}.field-wide,.full-width,.span-2{grid-column:1/-1}.field small,.field-hint{font-weight:400;color:var(--muted);font-size:12px}.detail-grid dl,.detail-grid dd{margin:0}.detail-grid dt{color:var(--muted);font-size:12px;margin-bottom:5px}.detail-grid dd{overflow-wrap:anywhere;white-space:pre-wrap}.stack{display:grid;gap:12px}.divider{border:0;border-top:1px solid var(--line);margin:16px 0}.detail-timeline,.detail-compact-list{padding:0;margin:0;list-style:none;display:grid;gap:8px}.detail-timeline li,.detail-compact-list li{background:#f6f9f7;padding:10px 12px;border-radius:8px;line-height:1.5;overflow-wrap:anywhere}.detail-compact-list li a{color:var(--brand);font-weight:630}.source-ref{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.source-list{list-style:none;padding:0;display:grid;gap:6px}.source-list li{padding:8px 10px;background:#f4f8f6;border-radius:7px;overflow-wrap:anywhere}.source-panel,details{line-height:1.55}details summary{cursor:pointer;color:var(--brand);font-weight:620;margin:4px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
dialog.crm-dialog{width:min(680px,calc(100% - 26px));max-height:90vh;border:1px solid var(--line);border-radius:16px;padding:0;box-shadow:var(--shadow-overlay,0 14px 32px #1724332e);color:var(--ink);background:#fff;overscroll-behavior:contain}dialog.crm-dialog::backdrop{background:var(--overlay-scrim,#1724334d)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.dialog-head h2{font-size:19px}.dialog-content{padding:18px 20px;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px;border-top:1px solid var(--line);background:#fafcfb}.dialog-error{margin-top:11px;color:var(--danger);font-size:13px}.dialog-error:empty{display:none}#toasts{position:fixed;z-index:40;bottom:22px;right:22px;display:grid;gap:7px;max-width:calc(100vw - 44px)}.toast{background:#17383a;color:#fff;box-shadow:var(--shadow-toast,0 4px 14px #1724331c);border-radius:9px;padding:11px 15px}.toast.error{background:#932f36}
.chart-select{height:31px;padding:4px 7px;font-size:12px}.recent-table{min-width:630px}.recent-table th,.recent-table td{padding-block:10px}
@media(max-width:1050px){:root{--side:186px}.card-head{padding-inline:14px}}
@media(max-width:780px){:root{--side:210px}.sidebar{box-shadow:5px 0 20px #17243326}.workspace{margin-left:0}.mobile-menu{display:inline-flex!important}.breadcrumbs{margin-right:auto}.topbar{justify-content:flex-start}.quick-search{width:min(40vw,265px)}.quick-search kbd{display:none}main{padding-top:22px}.view-heading{align-items:flex-start}.view-heading h1{font-size:28px}}
@media(max-width:460px){.breadcrumbs span{display:none}.breadcrumbs{font-size:12px}.topbar{gap:9px;padding-inline:12px}.quick-search{min-width:120px}.quick-search input{font-size:12px}.view-heading{display:grid;gap:9px;margin-bottom:17px}.form-grid,.detail-grid{grid-template-columns:1fr}.field-wide,.full-width,.span-2{grid-column:auto}.toolbar{padding-inline:12px}.toolbar input[type=search]{min-width:150px}.pager{padding-inline:10px;gap:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

dialog.crm-dialog[open] {
  display: flex;
  flex-direction: column;
  max-height: min(90vh, calc(100dvh - 24px));
  overflow: hidden;
}
.crm-dialog > form {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.crm-dialog .dialog-content {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 12px;
}
.crm-dialog :is(.dialog-head, .dialog-actions, .dialog-error) { flex-shrink: 0; }
.crm-dialog .dialog-error {
  display: block;
  margin: 0;
  padding: 9px 20px;
  background: var(--brand-soft);
  line-height: 1.5;
}
.crm-dialog .dialog-error:empty { padding: 0; }
.crm-dialog :is(input, select, textarea)[aria-invalid=true] { border-color: var(--danger); }
.crm-dialog [data-dialog-submit] { min-inline-size: 7.75rem; }
.crm-dialog [data-dialog-submit-icon] { display: inline-flex; }
.crm-dialog :is([data-dialog-close], [data-dialog-submit]) {
  min-block-size: 36px;
  touch-action: manipulation;
}
.crm-dialog .dialog-head [data-dialog-close] { min-inline-size: 36px; }
.crm-dialog [aria-disabled=true]:is([data-dialog-close], [data-dialog-submit]) { cursor: wait; }
.crm-dialog [data-dialog-close][aria-disabled=true] { opacity: .55; }
.crm-dialog [data-dialog-submit][data-state=pending] {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
}
.crm-dialog [data-dialog-submit][data-state=saved] {
  background: #e6f5ed;
  border-color: #b7deca;
  color: #186844;
}
.crm-dialog .dialog-actions .btn:not([aria-disabled=true]):active {
  box-shadow: inset 0 0 0 1px currentColor;
}
#toasts { pointer-events: none; }
#toasts .toast { display: flex; align-items: center; gap: 8px; }
#toasts .toast svg { flex: none; inline-size: 18px; block-size: 18px; }

@media (max-width: 540px) {
  .crm-dialog .dialog-head, .crm-dialog .dialog-content,
  .crm-dialog .dialog-error, .crm-dialog .dialog-actions { padding-inline: 14px; }
  .crm-dialog .dialog-actions { padding-block-end: max(13px, env(safe-area-inset-bottom)); }
}
@media (pointer: coarse) {
  .crm-dialog :is(input, select, textarea) { font-size: 16px; }
  .crm-dialog :is([data-dialog-close], [data-dialog-submit]) { min-block-size: 44px; }
  .crm-dialog .dialog-head [data-dialog-close] { min-inline-size: 44px; }
}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.search-field{position:relative;flex:1 1 245px;min-width:190px}.toolbar .search-field input{width:100%;min-width:0;padding-left:34px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted)}.search-icon svg{width:16px;height:16px}.followup-tabs{margin:13px 16px 0}.detail-summary,.detail-section-heading,.detail-compact-list li,.timeline-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-heading{font-size:18px;font-weight:700}.detail-actions{justify-content:flex-start}.followup-action-preview,.recent-table .table-secondary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.recent-table td:first-child{width:42%;max-width:460px}.empty-state{padding:23px 17px}.retry-button{margin:0 17px 18px}.phone-number{font-variant-numeric:tabular-nums;white-space:nowrap}
dialog.crm-dialog-wide{width:min(1010px,calc(100% - 26px))}.detail-schedule{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;background:#edf6f3;border:1px solid #dcebe6;border-radius:10px}.detail-schedule p{margin-top:3px}.detail-schedule-icon{display:grid;place-items:center;width:34px;height:34px;background:#d9eee7;border-radius:8px;color:var(--brand)}.crm-detail-split{display:grid;grid-template-columns:minmax(235px,.9fr) minmax(0,1.45fr);gap:15px;align-items:start}.crm-detail-profile,.crm-detail-activity{border:1px solid var(--line);border-radius:10px;padding:13px}.crm-detail-profile .detail-grid{gap:10px}.crm-detail-profile h3,.crm-detail-activity h3{font-size:14px;margin-bottom:5px}.crm-detail-profile p{overflow-wrap:anywhere}.crm-detail-activity .detail-timeline{border-left:2px solid #b5ddd2;padding-left:9px}.crm-detail-activity .detail-compact-list li{gap:12px}.crm-detail-activity .money{white-space:nowrap}.crm-detail-profile .source-reference{font-size:12px;padding:3px 0;overflow-wrap:anywhere}@media(max-width:670px){.crm-detail-split{grid-template-columns:1fr}.detail-schedule{grid-template-columns:30px minmax(0,1fr)}.detail-schedule .btn{grid-column:2;justify-self:start}}
