:root{--bg: #f5f5f4;--surface: #ffffff;--surface-2: #fafafa;--ink: #17191c;--ink-soft: #3d434c;--muted: #6d7480;--line: #e5e5e2;--line-strong: #d4d4d0;--accent: #17191c;--accent-fg: #ffffff;--focus: #9aa2ad;--radius: 10px;--radius-sm: 7px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(20, 22, 26, .04);--shadow-sm: 0 1px 3px rgba(20, 22, 26, .07), 0 1px 2px rgba(20, 22, 26, .04);--shadow-lg: 0 16px 44px rgba(20, 22, 26, .2);--h-control: 34px;font-synthesis:none;color-scheme:light}.st-calendar{--c-fg: #b45309;--c-bg: #fff4e6;--c-line: #f5d9ae}.st-ready{--c-fg: #0f766e;--c-bg: #e6f5f3;--c-line: #b5dfd9}.st-called{--c-fg: #1d4ed8;--c-bg: #e9effd;--c-line: #c5d6fa}.st-unreachable{--c-fg: #c2410c;--c-bg: #fdeee7;--c-line: #f7cdb8}.st-recall{--c-fg: #a16207;--c-bg: #fdf6e3;--c-line: #f0e0b0}.st-closing{--c-fg: #6d28d9;--c-bg: #f3ecfe;--c-line: #ddd0f8}.st-mail_legacy{--c-fg: #475569;--c-bg: #eef1f5;--c-line: #d5dce5}.st-won{--c-fg: #15803d;--c-bg: #e8f6ec;--c-line: #c2e5cd}.st-lost{--c-fg: #b91c1c;--c-bg: #fdecec;--c-line: #f6cfcf}.st-unfit{--c-fg: #71717a;--c-bg: #f3f3f4;--c-line: #e2e2e5}.st-pipeline{--c-fg: #64748b;--c-bg: #f1f4f8;--c-line: #dbe2ea}.st-all{--c-fg: #3d434c;--c-bg: #f0f0ef;--c-line: #e0e0dd}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1{font-size:21px;font-weight:650;letter-spacing:-.02em;margin:0}h2{font-size:15px;font-weight:600;letter-spacing:-.01em;margin:26px 0 12px}h3{font-size:13px;font-weight:650;letter-spacing:.01em;margin:0 0 10px}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.muted{color:var(--muted)}.small{font-size:12px}.strong,.strong td{font-weight:600}.dash{color:var(--line-strong)}.truncate{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.center-cell{text-align:center;padding:40px!important}.error{color:#bc2626;font-size:12.5px;margin:8px 0}.error.small{font-size:11.5px}.rating{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-variant-numeric:tabular-nums}.rating .star{color:#d97706;fill:#fbbf24;flex:none}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-control);padding:0 13px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-fg);font:inherit;font-size:12.5px;font-weight:550;line-height:1;white-space:nowrap;cursor:pointer;transition:background .13s,border-color .13s,color .13s,opacity .13s}button svg{flex:none}button:hover{background:#2c2f35}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button.secondary{background:var(--surface);color:var(--ink-soft);border-color:var(--line-strong)}button.secondary:hover{background:var(--surface-2);color:var(--ink);border-color:#bcbcb7}button.ghost{background:transparent;color:var(--muted)}button.ghost:hover{background:#14161a0d;color:var(--ink)}button.ghost.small{height:26px;padding:0 8px;font-size:11.5px}button.ghost.icon{width:32px;padding:0;font-size:16px}button.danger{background:#c02626;color:#fff}button.danger:hover{background:#a81f1f}button.wide{width:100%}.icon-btn{background:transparent;color:var(--muted);height:24px;width:24px;padding:0;font-size:12px;border-radius:5px}.icon-btn:hover{background:#14161a0f;color:var(--ink)}.icon-btn.danger{background:transparent;color:var(--muted)}.icon-btn.danger:hover{background:#fdecec;color:#bc2626}input,textarea,select{width:100%;height:var(--h-control);padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px}textarea{height:auto;min-height:62px;padding:8px 11px;line-height:1.55;resize:vertical}input::placeholder,textarea::placeholder{color:#a3a8b0}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #14161a14}input[type=checkbox]{width:auto;height:auto;accent-color:var(--accent);cursor:pointer}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:11.5px;font-weight:600;color:var(--muted);letter-spacing:.01em}.field.narrow{max-width:220px}.field .req{font-style:normal;color:#bc2626;font-weight:600}.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;height:52px;padding:0;background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;gap:14px;width:100%;max-width:1500px;height:100%;margin:0 auto;padding:0 20px}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink)}.logo-mark{height:19px;width:auto;display:block}.logo-mark.lg{height:30px}.brand-word{font-size:14px;font-weight:650;letter-spacing:-.01em}.brand,.topbar-right{flex:1 1 0;min-width:0}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:10px}.topbar nav{display:flex;gap:2px}.topbar nav a{padding:6px 11px;border-radius:var(--radius-sm);color:var(--muted);font-size:12.5px;font-weight:550}.topbar nav a:hover{background:#14161a0d;color:var(--ink);text-decoration:none}.topbar nav a.active{background:#14161a12;color:var(--ink)}.due-pill{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:var(--radius-pill);background:#fdf3e5;color:#95590a;border:1px solid #f2debb;font-size:11.5px;font-weight:650;font-variant-numeric:tabular-nums}.due-pill:hover{text-decoration:none;background:#fbeacf}main{max-width:1500px;margin:0 auto;padding:22px 20px 60px}.page.narrow{max-width:780px}.page-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.page-head>:last-child:not(h1){margin-left:auto}.page-head-tools{display:flex;gap:8px;align-items:center}.search-wrap{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:10px;color:var(--muted);pointer-events:none}.search{width:300px;padding-left:30px}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);font-size:12px;font-weight:550}.chip .chip-icon{color:var(--c-fg);flex:none}.chip:hover{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-line)}.chip.active{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-fg);font-weight:650;box-shadow:inset 0 0 0 1px var(--c-fg)}.chip.active .chip-icon{color:inherit}.chip-count{font-variant-numeric:tabular-nums;font-size:11px;opacity:.6}.chip.active .chip-count{opacity:.85}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);overflow:clip}table{width:100%;border-collapse:collapse}thead th{position:sticky;top:52px;z-index:2;box-shadow:inset 0 -1px 0 var(--line);background:var(--surface);text-align:left;height:36px;padding:0 14px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{color:var(--ink)}.sort-arrow{margin-left:4px;color:var(--ink)}tbody td{padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:none}.leads-table tbody tr{cursor:pointer;transition:background .1s}.leads-table tbody tr:hover{background:#fafaf9}.leads-table tbody tr.row-selected{background:#f0f4fb}.leads-table tbody tr.row-due td:first-child{box-shadow:inset 3px 0 #d97706}.cb-col{width:38px;text-align:center}.cell-name{max-width:280px;display:flex;align-items:baseline;gap:6px}.cell-name .name{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--ink)}.cell-name .tag{flex:none}.col-city{white-space:nowrap}.leads-table tbody tr:hover .cell-name .name{text-decoration:underline;text-underline-offset:2px}.tag{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:10.5px;font-weight:650;white-space:nowrap}.tag.hot{background:#fdf3e5;color:#b45309;border:1px solid #f2debb}.tag.warn{background:#fdecec;color:#bc2626;border:1px solid #f6cfcf}.col-mail,.col-web{max-width:190px}.col-rating{white-space:nowrap}.col-last{max-width:300px}.col-status{white-space:nowrap}.leads-table td.col-status{display:flex;align-items:flex-start;gap:7px}.when-inline{display:inline-flex;align-items:center;height:22px;gap:3px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.when-inline.due{color:#b45309;font-weight:650}.when-inline.closing{color:#6d28d9;font-weight:650}.col-when{width:1%;white-space:nowrap}.appt{display:inline-flex;align-items:center;gap:4px;color:var(--ink-soft);font-weight:600;font-variant-numeric:tabular-nums}.appt svg{color:var(--muted);flex:none}.appt.due{color:#b45309}.appt.due svg{color:#d97706}.appt.closing{color:#6d28d9}.appt.closing svg{color:#7c3aed}.leads-table tbody tr.day-row{cursor:default;background:var(--surface-2)}.leads-table tbody tr.day-row:hover{background:var(--surface-2)}.leads-table tr.day-row td{padding:7px 14px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);font-size:11.5px;letter-spacing:.02em}.leads-table tbody tr.day-row:first-child td{border-top:none}.day-label{font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.05em}.day-date{margin-left:8px;color:var(--muted);font-variant-numeric:tabular-nums}.day-count{float:right;color:var(--muted);font-variant-numeric:tabular-nums}.day-row.overdue td{background:#fff4e6;box-shadow:inset 3px 0 #d97706}.day-row.overdue .day-label{color:#b45309}.link-strong{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap}.copy-text{display:inline-flex;align-items:center;gap:5px;max-width:100%;height:auto;padding:1px 5px 1px 0;background:transparent;border:none;border-radius:5px;color:inherit;font:inherit;font-size:13.5px;font-weight:400;text-align:left}.copy-text:hover{background:#14161a0d;color:var(--ink)}.copy-text .copy-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-text .copy-mark{flex:none;color:var(--muted)}.copy-text .copy-mark.hint{opacity:0;transition:opacity .12s}.leads-table tr:hover .copy-text .copy-mark.hint,.copy-text:hover .copy-mark.hint,.copy-text:focus-visible .copy-mark.hint{opacity:1}.copy-text.copied{background:#e8f6ec;color:#15803d}.copy-text.copied .copy-mark{color:#15803d}.link-strong:hover{color:var(--ink)}.last-contact{display:flex;align-items:baseline;gap:12px}.outcome{flex:1;min-width:0;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.last-contact .when{margin-top:0;flex:none;margin-left:auto}.when{margin-top:2px;font-size:11.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.empty-cell{text-align:center;padding:44px 20px!important;color:var(--muted)}.status-cell{height:auto;padding:0;gap:4px;background:transparent;border:none;border-radius:var(--radius-pill)}.status-cell:hover{background:transparent}.status-caret{color:var(--muted);opacity:0;transition:opacity .12s}.leads-table tbody tr:hover .status-caret,.status-cell:hover .status-caret,.status-cell:focus-visible .status-caret{opacity:1}.status-cell.big .status-caret{opacity:1}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--radius-pill);background:var(--c-bg, #f0f0ee);color:var(--c-fg, #5b626e);border:1px solid var(--c-line, #e0e0dc);font-size:11.5px;font-weight:600;white-space:nowrap}.badge svg{flex:none}.badge.job-running,.badge.job-importing{background:#fdf3e5;color:#95590a;border-color:#f2debb}.badge.job-done{background:#e9f6ef;color:#0b7a45;border-color:#c3e4d2}.badge.job-error{background:#fdecec;color:#bc2626;border-color:#f6cfcf}.badge.job-pending{background:#f0f0ee;color:#5b626e;border-color:#e0e0dc}.progress{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#95590a}.spinner{width:12px;height:12px;flex:none;border-radius:50%;border:2px solid var(--line);border-top-color:#d97706;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-xs)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.card-head h3{margin:0}.card-head-actions{display:flex;gap:6px;flex-wrap:wrap}.banner{display:flex;align-items:center;gap:9px;padding:9px 13px;margin-bottom:14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12.5px}.banner.working{background:#fdf3e5;border-color:#f2debb;color:#95590a}.banner.error{background:#fdecec;border-color:#f6cfcf;color:#bc2626}.banner.hot{background:#fdf3e5;border-color:#f2debb;color:#b45309}.banner .timer{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.detail-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.detail-nav-btns{display:flex;gap:6px}.back{color:var(--muted);font-size:12.5px;font-weight:550}.back:hover{color:var(--ink);text-decoration:none}.lead-header{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:14px;overflow:hidden}.lead-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px 14px}.lead-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:3px}.lead-title h1{margin:0}.lead-sub{color:var(--muted);font-size:12.5px}.lead-header-actions{display:flex;align-items:center;gap:6px;flex:none}.menu-wrap{position:relative}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.menu{position:absolute;right:0;top:calc(100% + 5px);z-index:41;min-width:200px;padding:4px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.menu button{justify-content:flex-start;height:32px;background:transparent;color:var(--ink-soft);font-weight:500}.menu button:hover{background:var(--surface-2);color:var(--ink)}.menu .menu-danger:hover{background:#fdecec;color:#bc2626}.contact-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border-top:1px solid var(--line);background:var(--surface-2)}.contact-item{display:flex;align-items:center;gap:6px;padding:0 12px 0 18px;border-right:1px solid var(--line);min-width:0}.contact-item:last-child{border-right:none}.contact-item.empty{opacity:.5;padding:11px 18px}.contact-link{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:11px 6px 11px 0;border-radius:var(--radius-sm)}a.contact-link:hover{text-decoration:none}a.contact-link:hover .contact-value{text-decoration:underline;text-underline-offset:2px}button.contact-link{height:auto;justify-content:flex-start;background:transparent;border:none;border-radius:0;font:inherit;font-weight:400;text-align:left;cursor:copy}button.contact-link:hover{background:#14161a0a}.copied-hint{color:#15803d;font-weight:700}.contact-action{flex:none;height:26px;padding:0 9px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-soft);font-size:11.5px;font-weight:600}.contact-action:hover{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.contact-icon{display:flex;color:var(--muted);flex:none}.contact-text{display:flex;flex-direction:column;min-width:0}.contact-label{font-size:10.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.contact-value{font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.when-pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 10px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line);font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.when-pill svg{flex:none}.when-pill em{font-style:normal}.when-pill.due{background:#fff4e6;border-color:#f5d9ae;color:#b45309}.when-pill.due em{font-weight:700}.when-pill.closing{background:#f3ecfe;border-color:#ddd0f8;color:#6d28d9}.status-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.status-action{height:32px;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);font-size:12.5px;font-weight:550}.status-action svg{color:var(--c-fg);flex:none}.status-action:hover{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-line)}.status-action.current{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-fg);font-weight:650;box-shadow:inset 0 0 0 1px var(--c-fg)}.status-action.current svg{color:inherit}.detail-grid{display:grid;grid-template-columns:7fr 5fr;gap:14px;align-items:start}.detail-grid>.col-main,.detail-grid>.col-side{min-width:0}.note-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.note-form button{align-self:flex-start}.timeline{list-style:none;margin:0;padding:0}.t-item{display:flex;gap:11px;padding:10px 0;border-top:1px solid var(--line)}.t-item:first-child{border-top:none;padding-top:0}.t-icon{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--c-bg, #f0f0ee);border:1px solid var(--c-line, #e0e0dc);color:var(--c-fg, var(--muted))}.t-body{flex:1;min-width:0}.t-meta{display:flex;align-items:center;gap:8px;min-height:20px}.t-when{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.t-status{font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--c-fg, #5b626e)}.t-tools{display:flex;gap:2px;margin-left:auto;opacity:0;transition:opacity .12s}.t-item:hover .t-tools,.t-tools:focus-within{opacity:1}.t-text{margin-top:1px;color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere}.note-edit{margin-top:6px}.note-edit-actions{display:flex;gap:6px;margin-top:6px}.mockup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.mockup-item{margin:0;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.mockup-item img{display:block;width:100%;height:132px;object-fit:cover;object-position:top;cursor:zoom-in;background:#fff;border-bottom:1px solid var(--line)}.mockup-item figcaption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 5px 5px 9px;font-size:11.5px;min-width:0}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:9px}.thumb-grid figure{margin:0;cursor:zoom-in}.thumb-grid img{display:block;width:100%;height:104px;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;transition:border-color .12s}.thumb-grid figure:hover img{border-color:var(--line-strong)}.thumb-grid figcaption{font-size:10.5px;margin-top:4px}.mail-card .muted.small{margin:10px 0 0}.mail-preview{margin-top:12px}.mail-subject{font-size:12.5px;margin-bottom:7px}.mail-body{margin:0;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:12.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.preview-details summary{cursor:pointer;color:var(--muted);font-size:12px}.preview-details summary:hover{color:var(--ink)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#14161a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:100%;max-width:520px;max-height:calc(100vh - 40px);overflow-y:auto;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.modal h3{font-size:15px;margin:0 0 4px}.modal-sub{color:var(--muted);font-size:12.5px;margin:0 0 14px}.modal-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;min-width:0}.modal-head h3{margin:0;flex:none}.modal-head .truncate{font-size:12.5px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.edit-fields{display:flex;flex-direction:column;gap:10px}.edit-fields label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:var(--muted)}.edit-fields label input{font-weight:400;color:var(--ink)}.status-dialog{max-width:560px}.status-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.status-opt{flex-direction:column;gap:4px;height:54px;padding:0 4px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:550;border-radius:var(--radius-sm)}.status-opt svg{color:var(--c-fg)}.status-opt:hover{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-line)}.status-opt.active{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-fg);font-weight:700;box-shadow:inset 0 0 0 1px var(--c-fg)}.dialog-hint{margin:12px 0 14px;padding:8px 11px;background:var(--surface-2);border-radius:var(--radius-sm);color:var(--muted);font-size:12px}.when-row{display:flex;gap:6px;align-items:center}.preset-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.preset{height:26px;padding:0 9px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font-size:11.5px;font-weight:550}.preset:hover{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.dtp{position:relative;flex:1 1 auto;min-width:0}.dtp-trigger{width:100%;justify-content:flex-start;gap:8px;padding:0 11px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);font-size:13.5px;font-weight:500;font-variant-numeric:tabular-nums}.dtp-trigger:hover{background:var(--surface-2);border-color:var(--ink);color:var(--ink)}.dtp-trigger.is-open{border-color:var(--ink);box-shadow:0 0 0 3px #14161a14}.dtp-trigger.is-empty{color:var(--muted);font-weight:400}.dtp-trigger-icon{color:var(--muted)}.dtp-trigger-date{flex:1 1 auto;text-align:left;overflow:hidden;text-overflow:ellipsis}.dtp-trigger-time{display:inline-flex;align-items:center;gap:4px;font-weight:650}.dtp-trigger-time svg{color:var(--muted)}.dtp-caret{color:var(--muted);flex:none}.dtp-panel{position:absolute;z-index:10;top:calc(100% + 5px);left:0;display:flex;gap:14px;padding:12px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.dtp-cal{width:224px}.dtp-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dtp-cal-head strong{font-size:12.5px;font-weight:650}.dtp-nav{width:26px;height:26px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted)}.dtp-nav:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.dtp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtp-wd{display:grid;place-items:center;height:22px;color:var(--muted);font-size:10.5px;font-weight:650;text-transform:uppercase}.dtp-day{height:28px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.dtp-day:hover{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink)}.dtp-day.is-outside{color:#c3c6cb}.dtp-day.is-past{color:var(--muted)}.dtp-day.is-outside.is-past{color:#d6d8dc}.dtp-day.is-today{box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:700}.dtp-day.is-active,.dtp-day.is-active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:700;box-shadow:none}.dtp-today{width:100%;height:26px;margin-top:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font-size:11.5px}.dtp-today:hover{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.dtp-times{display:flex;flex-direction:column;width:84px}.dtp-times-head{height:26px;color:var(--muted);font-size:10.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.dtp-slots{display:flex;flex-direction:column;gap:2px;max-height:232px;overflow-y:auto;padding-right:3px}.dtp-slot{flex:none;height:26px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink-soft);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.dtp-slot:hover{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink)}.dtp-slot.is-active,.dtp-slot.is-active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:700}.card.login{width:340px;text-align:center;padding:26px;box-shadow:var(--shadow-sm);margin:0}.login-brand{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:650;letter-spacing:-.02em}.card.login input{margin:16px 0 10px}.card.login button{width:100%}.scrape-card{padding:18px}.scrape-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.scrape-row .field{margin-bottom:0}.scrape-row .field.grow{flex:1 1 220px}.scrape-row .field.tiny{flex:0 0 82px}.scrape-go{flex:none}.quick-block{margin-top:16px}.quick-label{display:block;margin-bottom:7px;font-size:11.5px;font-weight:600;color:var(--muted)}.quick-chips{display:flex;flex-wrap:wrap;gap:5px}.preset.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.scrape-single{padding:0}.scrape-single summary{padding:14px 18px;cursor:pointer;font-size:13px;list-style:none}.scrape-single summary::-webkit-details-marker{display:none}.scrape-single summary:before{content:"▸ ";color:var(--muted)}.scrape-single[open] summary:before{content:"▾ "}.scrape-single summary:hover{background:var(--surface-2)}.scrape-single>:not(summary){padding-left:18px;padding-right:18px}.scrape-single>:last-child{padding-bottom:18px}.table-wrap.short thead th{position:static}tbody tr.static-row{cursor:default}tbody tr.static-row:hover{background:transparent}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0c0d10eb;cursor:zoom-out}.lb-stage{position:absolute;top:56px;right:76px;bottom:56px;left:76px;overflow-y:auto;display:flex;justify-content:center;align-items:flex-start;cursor:default}.lb-stage img{width:min(980px,100%);height:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);display:block}.lb-close,.lb-nav{background:#ffffff21;color:#fff;border:none}.lb-close:hover,.lb-nav:hover{background:#ffffff3d}.lb-close{position:absolute;top:16px;right:20px;z-index:3;width:34px;height:34px;padding:0;border-radius:var(--radius-sm)}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;padding:0;border-radius:50%;font-size:22px}.lb-nav.prev{left:16px}.lb-nav.next{right:16px}.lb-caption{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#e6e8ec;font-size:12.5px}.lb-count{opacity:.65}.lb-full{margin-left:12px;color:#cbd5e1;text-decoration:underline}.lb-full:hover{color:#fff}@media(max-width:1200px){.col-web{display:none}}@media(max-width:1000px){.detail-grid{grid-template-columns:1fr}.col-mail,.col-rating{display:none}}@media(max-width:760px){main{padding:14px 12px 48px}.topbar{gap:8px;padding:0 12px}.brand-word{display:none}.topbar nav a{padding:6px 9px}.page-head{flex-direction:column;align-items:stretch}.page-head-tools{margin-left:0}.search{width:auto;flex:1}.chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;-webkit-overflow-scrolling:touch}.chip{flex:0 0 auto}.col-city{display:none}.cell-name,.col-last{max-width:180px}.table-wrap{max-height:calc(100vh - 230px)}.lead-header-top{flex-direction:column;gap:12px}.lead-name-row{gap:8px}.contact-item{border-right:none;border-bottom:1px solid var(--line)}.contact-item:last-child{border-bottom:none}.scrape-row .field.tiny{flex:1 1 82px}.status-bar button{flex:1 1 auto}.status-picker{grid-template-columns:repeat(2,1fr)}.dtp-panel{right:0;flex-direction:column;gap:10px}.dtp-cal,.dtp-times{width:100%}.dtp-slots{flex-direction:row;flex-wrap:wrap;max-height:112px}.dtp-slot{width:60px}.lb-stage{top:52px;right:8px;bottom:52px;left:8px}.lb-nav{width:38px;height:38px;font-size:20px}.lb-nav.prev{left:8px}.lb-nav.next{right:8px}input,textarea,select{font-size:16px}}
