*{box-sizing:border-box}:root{--bg:#eceff8;--surface:#fff;--text:#323338;--text-muted:#676879;--border:#d0d4e4;--primary:#0073ea;--primary-hover:#0060b9;--green:#00c875;--red:#e2445c;--radius:8px;--shadow:0 6px 20px #00000026}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,Roboto,-apple-system,sans-serif;font-size:14px}.app{flex-direction:column;height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-logo{color:#fff;background:linear-gradient(135deg,#0073ea,#a25ddc);border-radius:10px;place-items:center;width:38px;height:38px;font-size:18px;display:grid}.brand-name{font-size:16px;font-weight:700}.brand-sub{color:var(--text-muted);font-size:12px}.search{border:1px solid var(--border);border-radius:var(--radius);outline:none;flex:1;min-width:200px;max-width:420px;padding:9px 14px;font-size:14px}.search:focus{border-color:var(--primary)}.topbar-actions{gap:8px;margin-left:auto;display:flex}.btn{border-radius:var(--radius);cursor:pointer;border:none;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{color:var(--primary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:#e6f1fd}.btn-danger-ghost{color:var(--red);border:1px solid var(--border);background:0 0}.btn-danger-ghost:hover{background:#fdecee}.btn-icon{color:var(--text-muted);background:0 0;padding:4px 8px;font-size:16px}.btn-tiny{color:var(--primary);background:0 0;padding:2px 8px;font-size:12px}.btn-block{width:100%;margin-top:8px}.btn-answer{background:var(--green);color:#fff;flex:1}.btn-answer:hover{background:#00a25e}.btn-decline{background:var(--red);color:#fff;flex:1}.btn-decline:hover{background:#c93a50}.main{flex:1;padding:20px 24px 60px;overflow:auto}.board{flex-direction:column;gap:28px;display:flex}.group-header{align-items:baseline;gap:8px;margin-bottom:8px;font-size:16px;font-weight:700;display:flex}.group-count{color:var(--text-muted);font-size:13px;font-weight:400}.table{background:var(--surface);border-radius:var(--radius);overflow-x:auto;box-shadow:0 1px 3px #0000000f}.row{grid-template-columns:var(--board-cols,minmax(170px, 1.5fr) 120px minmax(150px, 1fr) 62px 110px 95px 50px 50px);min-width:var(--board-minw,870px);border-bottom:1px solid #eceff8;align-items:center;display:grid}.head-cell{position:relative;overflow:visible}.col-resize{cursor:col-resize;z-index:3;touch-action:none;width:10px;position:absolute;top:0;bottom:0;right:-5px}.col-resize:after{content:"";background:var(--border);opacity:.6;border-radius:2px;width:2px;position:absolute;top:5px;bottom:5px;left:4px}.col-resize:hover:after,.col-resize:active:after{background:var(--primary);opacity:1}.status-readonly{cursor:pointer}.row-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px}.row-item{transition:background .1s}.row-item:hover{background:#f5f7fd}.row-dragging{opacity:.4}.group-drop .table{outline:2px dashed var(--primary);outline-offset:-2px;background:#f0f7ff}.group-caret{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.group-title{cursor:pointer}.drag-handle{color:#b8bcc9;cursor:grab;letter-spacing:-2px;-webkit-user-select:none;user-select:none;font-size:11px}.row-item:active .drag-handle{cursor:grabbing}.open-btn{color:var(--primary);cursor:pointer;opacity:0;background:#e6f1fd;border:none;border-radius:5px;padding:2px 7px;font-size:13px;transition:opacity .12s}.row-item:hover .open-btn{opacity:1}.open-btn:hover{background:#cfe4fb}.inline-text{cursor:text;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:2px 4px;overflow:hidden}.inline-text:hover{outline:1px solid var(--border);background:#fff}.inline-empty{color:#a6a9b8;font-style:italic;font-weight:400}.inline-input{border:1px solid var(--primary);font-family:inherit;font-size:inherit;font-weight:inherit;border-radius:4px;outline:none;width:100%;min-width:60px;padding:2px 4px}.cell-click{cursor:pointer}.row-add{min-width:0;display:block}.quick-add{width:100%;color:var(--text);background:0 0;border:none;outline:none;padding:10px 14px;font-family:inherit;font-size:13px}.quick-add::placeholder{color:#9a9db0}.quick-add:focus{background:#f5f7fd}.board-hint{color:var(--text-muted);margin:0;font-size:12px}.group-delete{color:#b8bcc9;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:12px}.group-delete:hover{color:var(--red)}.add-group{max-width:420px}.add-group-input{border:1px dashed var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:0 0;outline:none;padding:10px 14px;font-family:inherit;font-size:14px}.add-group-input:focus{border-color:var(--primary);background:#fff}.app-body{flex:1;min-height:0;display:flex}.sidenav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;gap:2px;width:168px;padding:12px 8px;display:flex;overflow-y:auto}.side-tab{color:#3e3e41;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.side-tab svg{color:#019bbc;flex:none;width:18px;height:18px}.side-tab:hover{background:#f0f6f8}.side-tab-active,.side-tab-active:hover{color:#fff;background:#019bbc}.side-tab-active svg{color:#fff}.side-tab .tab-badge{margin-left:auto}.tab-badge{background:var(--red);color:#fff;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.today{flex-direction:column;gap:16px;max-width:860px;display:flex}.today-card{background:var(--surface);border-radius:var(--radius);padding:16px 18px;box-shadow:0 1px 3px #0000000f}.today-card h3{align-items:center;gap:8px;margin:0 0 10px;font-size:15px;display:flex}.today-sub{color:var(--text-muted);font-size:12px;font-weight:400}.count-badge{background:var(--red);color:#fff;border-radius:999px;padding:1px 8px;font-size:12px}.today-empty{color:var(--text-muted);margin:4px 0;font-size:13px;font-style:italic}.today-row{border-bottom:1px solid #eceff8;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.today-row:last-child{border-bottom:none}.today-name{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:600}.today-name:hover{color:var(--primary);text-decoration:underline}.today-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.overdue{color:var(--red);font-weight:700}.bday-today{color:#b26a00}.today-actions{gap:4px;margin-left:auto;display:inline-flex}.today-actions .btn-tiny{border:1px solid var(--border);border-radius:6px}.today-actions .btn-tiny:hover{background:#e6f1fd}.pill-mini{padding:2px 8px;font-size:11px}.temp-select{cursor:pointer;appearance:none;text-align:center;background:0 0;border:none;width:26px;padding:0;font-size:14px}.pipeline{flex-direction:column;gap:20px;display:flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.tile{background:var(--surface);border-radius:var(--radius);padding:16px 18px;box-shadow:0 1px 3px #0000000f}.tile-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:600}.tile-value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:700}.tile-sub{color:var(--text-muted);margin-top:2px;font-size:12px}.chart-card,.deals-card{background:var(--surface);border-radius:var(--radius);padding:18px 20px;box-shadow:0 1px 3px #0000000f}.chart-card h3,.deals-card h3{margin:0;font-size:15px}.chart-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;display:flex}.year-nav{align-items:center;gap:4px;display:flex}.btn-year{padding:2px 10px;font-size:15px}.year-label{text-align:center;min-width:46px;font-weight:700}.legend{color:var(--text-muted);gap:14px;margin-left:auto;font-size:13px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.chart{align-items:flex-end;gap:8px;padding-top:8px;display:flex}.chart-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex;position:relative}.chart-col:hover{background:#f5f7fd;border-radius:6px}.chart-col-label{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;height:15px;font-size:11px}.chart-bar-area{flex-direction:column;justify-content:flex-end;gap:2px;width:100%;max-width:46px;height:165px;display:flex}.chart-seg{width:100%}.chart-seg-top{border-radius:4px 4px 0 0}.chart-month{color:var(--text-muted);font-size:12px}.chart-tip{color:#fff;white-space:nowrap;z-index:20;box-shadow:var(--shadow);pointer-events:none;background:#1f2532;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.chart-tip-deals{color:#9aa4bd}.deals-hint{color:var(--text-muted);margin:4px 0 12px;font-size:12px}.deals-table{overflow-x:auto}.deal-row{border-bottom:1px solid #eceff8;grid-template-columns:minmax(130px,1.1fr) minmax(150px,1.3fr) 95px 150px 140px 110px 105px 100px;align-items:center;gap:8px;min-width:1040px;padding:7px 4px;display:grid}.deal-row>div{min-width:0;overflow:hidden}.deal-row .inline-text{max-width:100%;display:block}.deal-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.deal-name{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.deal-name:hover{color:var(--primary);text-decoration:underline}.deal-num{text-align:right;font-variant-numeric:tabular-nums}.deal-num .inline-text{display:inline-block}.deal-input{text-align:right;max-width:110px}.deal-commission{font-weight:700}.deal-date{color:var(--text);background:0 0;border:1px solid #0000;border-radius:5px;padding:3px 4px;font-family:inherit;font-size:13px}.deal-date:hover,.deal-date:focus{border-color:var(--border);background:#fff;outline:none}.deals-subhead{border-bottom:2px solid var(--border);align-items:baseline;gap:10px;margin-bottom:2px;padding:12px 4px 6px;font-size:13px;font-weight:700;display:flex}.deals-subhead-count{color:var(--text-muted);font-size:12px;font-weight:400}button.archive-toggle{text-align:left;cursor:pointer;width:100%;color:var(--text-muted);background:0 0;border:none;font-family:inherit}button.archive-toggle:hover{color:var(--text)}.deals-warn{color:#b26a00;margin:10px 0 0;font-size:13px}.deal-add-row{min-width:0;padding:0;display:block}.commission-cell{display:inline-block;position:relative}.formula-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:#f5f7fd;border-radius:999px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:600}.formula-btn:hover{border-color:var(--primary);color:var(--primary)}.popover-scrim{z-index:120;position:fixed;inset:0}.popover{z-index:130;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-align:left;border-radius:10px;flex-direction:column;gap:10px;width:250px;padding:14px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.popover-title{font-size:13px;font-weight:700}.mode-toggle{background:#eceff8;border-radius:7px;gap:2px;padding:3px;display:flex}.mode-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:1;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:600}.mode-btn-active{color:var(--text);background:#fff;box-shadow:0 1px 2px #0000001f}.popover-field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.popover-field input{border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;padding:7px 9px;font-family:inherit;font-size:14px;font-weight:400}.popover-field input:focus{border-color:var(--primary)}.popover-math{font-variant-numeric:tabular-nums;background:#f5f7fd;border-radius:6px;padding:8px 10px;font-size:12px}.commission-row{border-top:1px dashed var(--border);margin-top:4px;padding-top:8px}.commission-value{color:var(--primary);font-weight:700}.earned-hint{color:var(--text-muted);font-size:11px}.deal-card{background:#f7fbff;border-color:#bcd7f7}.deal-count{color:var(--text-muted);font-weight:400}.deals-head{justify-content:space-between;align-items:center;display:flex}.deal-block{background:#fff;border:1px solid #dbe9fa;border-radius:8px;margin-top:10px;padding:8px 12px}.deal-block-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.deal-block-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:700;overflow:hidden}.deal-delete{color:#b8bcc9;cursor:pointer;background:0 0;border:none;margin-left:6px;padding:2px 4px;font-size:12px}.deal-delete:hover{color:var(--red)}.popover-up{top:auto;bottom:calc(100% + 6px)}.showings{max-width:none}.showings-actions{gap:8px;display:flex}.showing-row{border-bottom:1px solid #eceff8;grid-template-columns:170px minmax(150px,1.4fr) 130px 90px 80px 150px 95px 50px 50px 60px 140px 90px 110px 115px minmax(130px,1fr) 60px;align-items:center;gap:6px;min-width:1610px;padding:6px 4px;display:grid}.showing-row>div{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.showing-row>div:first-child,.showing-row>div:nth-child(2){background:var(--surface);z-index:5;position:sticky;overflow:visible}.showing-row>div:first-child{left:0}.showing-row>div:nth-child(2){left:180px;box-shadow:8px 0 8px -8px #00000040}.showing-row>div:nth-child(2):before{content:"";background:var(--surface);width:7px;position:absolute;top:-7px;bottom:-7px;left:-7px}.showing-row>div:nth-child(2) .inline-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.showing-row .inline-text{flex:1;max-width:100%;display:block}.showing-row>div:last-child{background:var(--surface);z-index:5;position:sticky;right:0;overflow:visible;box-shadow:-8px 0 8px -8px #00000040}.showing-row>div:last-child:before{content:"";background:var(--surface);width:7px;position:absolute;top:-7px;bottom:-7px;right:-7px}.showing-past>div:nth-child(n+3):not(:last-child),.showing-past>div:nth-child(-n+2)>*,.showing-past>div:last-child>*{opacity:.6}.cell-select{color:var(--text);background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;max-width:100%;padding:3px 2px;font-family:inherit;font-size:13px}.cell-select:hover,.cell-select:focus{border-color:var(--border);background:#fff;outline:none}.open-mini{color:var(--primary);cursor:pointer;background:#e6f1fd;border:none;border-radius:4px;padding:1px 5px;font-size:12px}.showing-tools{justify-content:flex-end}.tool-btn{border-radius:4px;padding:1px 3px;font-size:14px;text-decoration:none}.tool-btn:hover{background:#e6f1fd}button.tool-btn{cursor:pointer;background:0 0;border:none}.tool-btn-dim{opacity:.35}.phone-link{color:var(--primary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:13px;text-decoration:none;overflow:hidden}.phone-link:hover{text-decoration:underline}.link-cell-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--primary);flex:1;font-size:13px;text-decoration:none;overflow:hidden}.link-cell-url:hover{text-decoration:underline}.tool-btn-dim:hover{opacity:1}.modal-commission{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;margin-top:12px;padding:12px;display:flex}.modal-commission-title{color:var(--text-muted);font-size:12px;font-weight:600}.cell{text-overflow:ellipsis;white-space:nowrap;padding:10px 12px;overflow:hidden}.cell-name{align-items:center;gap:8px;font-weight:600;display:flex}.cell-name .inline-text{flex:1;min-width:0}.cell-num{text-align:center;color:var(--text-muted)}.cell-muted{color:var(--text-muted)}.cell-phone{font-variant-numeric:tabular-nums}.avatar{color:#fff;border-radius:50%;place-items:center;width:30px;min-width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.status-pill{color:#fff;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.chip{color:var(--text);background:#e6e9f2;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.scrim{z-index:40;background:#1e1e2859;position:fixed;inset:0}.panel{background:var(--surface);z-index:50;flex-direction:column;width:min(460px,100vw);animation:.22s slide-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 30px #0000002e}@keyframes slide-in{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.panel-header{border-bottom:1px solid var(--border);padding:18px 20px 14px}.panel-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-name{cursor:text;margin:0;font-size:20px}.name-input{border:1px solid var(--primary);border-radius:6px;width:100%;padding:2px 6px;font-family:inherit;font-size:20px;font-weight:700}.panel-pills{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pill-select{cursor:pointer;appearance:none;border:none;font-family:inherit}.chip-select{background:#e6e9f2}.panel-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px 30px;display:flex;overflow-y:auto}.info-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.info-card-head{justify-content:space-between;align-items:center;display:flex}.info-card h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 6px;font-size:13px}.info-row{align-items:center;gap:10px;padding:5px 0;display:flex}.info-label{min-width:92px;color:var(--text-muted);font-size:13px}.info-value{font-weight:500}.info-input{border:1px solid var(--border);border-radius:6px;flex:1;padding:4px 8px;font-family:inherit;font-size:13px}.phone-country{max-width:92px}.phone-input-row{gap:6px;display:flex}.phone-input-row select{max-width:110px}.phone-input-row input{flex:1;min-width:0}.info-select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:13px}.private-card{background:#fffaf0;border-color:#f0e2c4;padding:0;overflow:hidden}.private-toggle{color:#7a5c1e;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:12px 14px;font-family:inherit;font-size:13px;font-weight:700;display:flex}.private-caret{margin-left:auto}.private-body{flex-direction:column;gap:10px;padding:0 14px 14px;display:flex}.private-label{color:#7a5c1e;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.private-label textarea{resize:vertical;color:var(--text);background:#fff;border:1px solid #f0e2c4;border-radius:8px;outline:none;padding:9px 11px;font-family:inherit;font-size:13px;font-weight:400}.private-label textarea:focus{border-color:#d8b45e}.info-tabs{align-items:center;margin:-4px 0 8px}.info-edit{margin-left:auto}.relative-card{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px;display:flex}.fam-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fam-bday{align-items:center;gap:4px;display:inline-flex}.fam-row .info-input,.fam-row .info-select{font-weight:400}.fam-name{flex:1;min-width:110px}.fam-phone{flex:1;min-width:130px}.note-composer textarea,.modal textarea,.settings-page textarea{border:1px solid var(--border);border-radius:var(--radius);resize:vertical;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.note-composer textarea:focus,.modal textarea:focus,.settings-page textarea:focus{border-color:var(--primary)}.settings-page .form-grid input,.settings-page .form-grid select{border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:14px}.settings-page .form-grid input:focus{border-color:var(--primary)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:10px;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-family:inherit;font-size:13px}.tab-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.timeline{flex-direction:column;gap:12px;display:flex}.timeline-empty{color:var(--text-muted);padding:10px 0;font-style:italic}.timeline-item{gap:10px;display:flex}.timeline-icon{font-size:16px;line-height:1.4}.timeline-content{border-radius:var(--radius);background:#fafbfe;border:1px solid #eceff8;flex:1;padding:8px 12px}.timeline-head{justify-content:space-between;gap:8px;display:flex}.timeline-title{font-size:13px;font-weight:600}.timeline-time{color:var(--text-muted);white-space:nowrap;font-size:12px}.timeline-body{white-space:pre-wrap;margin-top:4px;font-size:13px}.note-client-toggle{color:var(--text-muted);background:var(--bg-muted,#f0f2f8);cursor:pointer;border:1px solid #0000;border-radius:999px;margin-top:6px;padding:3px 10px;font-size:12px}.note-client-toggle:hover{border-color:#c3c6d4}.note-client-toggle.on{color:#037f4c;background:#e5f4ee;font-weight:600}.call-toast{z-index:100;color:#fff;width:320px;box-shadow:var(--shadow);background:#1f2532;border-radius:14px;flex-direction:column;gap:12px;padding:16px 18px;display:flex;position:fixed;bottom:24px;left:24px}.call-toast.ringing{animation:1.1s ease-in-out infinite ring-shake}@keyframes ring-shake{0%,to{transform:translateY(0)}10%{transform:translateY(-3px)}20%{transform:translateY(0)}}.call-toast-pulse{width:fit-content;font-size:26px;animation:1.1s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.call-toast-label{text-transform:uppercase;letter-spacing:.06em;color:#9aa4bd;align-items:center;gap:6px;font-size:12px;display:flex}.call-toast-name{font-size:18px;font-weight:700}.call-toast-phone{color:#c3cade;font-variant-numeric:tabular-nums}.call-toast-meta{color:#9aa4bd;margin-top:2px;font-size:12px}.call-toast-actions{gap:10px;display:flex}.active-call{flex-direction:row;justify-content:space-between;align-items:center}.active-call .btn-decline{flex:none}.live-dot{background:var(--green);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse;display:inline-block}.live-call-banner{color:#037f4c;background:#e7f9f1;border-radius:6px;align-items:center;gap:8px;width:fit-content;margin-bottom:10px;padding:6px 10px;font-size:13px;font-weight:600;display:flex}.login-screen{background:var(--bg);height:100%;color:var(--text-muted);place-items:center;display:grid}.login-card{background:var(--surface);box-shadow:var(--shadow);width:min(380px,92vw);color:var(--text);border-radius:14px;flex-direction:column;gap:12px;padding:28px 30px;display:flex}.login-brand{margin-bottom:4px}.login-card h2{margin:0;font-size:18px}.login-field{color:var(--text-muted);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.login-field input{border:1px solid var(--border);border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.login-field input:focus{border-color:var(--primary)}.login-message{color:var(--red);margin:0;font-size:13px}.login-switch{align-self:center}.sync-badge{border-radius:999px;align-self:center;padding:5px 10px;font-size:12px;font-weight:600}.sync-synced{color:#037f4c;background:#e7f9f1}.sync-syncing{color:#b26a00;background:#fff3dd}.sync-error{color:var(--red);background:#fdecee}.sync-local{color:var(--text-muted);background:#eceff8}.messages{grid-template-columns:320px 1fr;gap:16px;height:calc(100vh - 140px);display:grid}.messages-empty-card{max-width:600px}.convo-list{background:var(--surface);border-radius:var(--radius);padding:6px;overflow-y:auto;box-shadow:0 1px 3px #0000000f}.convo-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px;font-family:inherit;display:flex}.convo-item:hover{background:#f5f7fd}.convo-active{background:#e6f1fd}.convo-info{flex-direction:column;flex:1;min-width:0;display:flex}.convo-name{font-size:14px;font-weight:700}.convo-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.convo-time{color:var(--text-muted);white-space:nowrap;font-size:11px}.thread-pane{background:var(--surface);border-radius:var(--radius);flex-direction:column;min-width:0;display:flex;box-shadow:0 1px 3px #0000000f}.thread-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.thread-name{font-size:15px;font-weight:700}.thread-sub{color:var(--text-muted);font-size:12px}.thread-actions{gap:8px;display:flex}.thread{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.bubble-row{display:flex}.bubble-in{justify-content:flex-start}.bubble-out{justify-content:flex-end}.bubble{border-radius:14px;max-width:75%;padding:9px 13px}.bubble-in .bubble{background:#eceff8;border-bottom-left-radius:4px}.bubble-out .bubble{color:#fff;background:#0073ea;border-bottom-right-radius:4px}.bubble-body{white-space:pre-wrap;word-break:break-word;font-size:14px}.bubble-meta{opacity:.7;margin-top:4px;font-size:10px}.thread-back{display:none}.listing-row{border-bottom:1px solid #eceff8;grid-template-columns:minmax(195px,1.4fr) 125px 75px 130px 95px 46px 46px 60px minmax(130px,1fr) 90px 130px 115px minmax(140px,1fr) 135px;align-items:center;gap:6px;min-width:1560px;padding:6px 4px;display:grid}.row-check{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex:none}.select-bar{background:#eef3fc;border:1px solid #bcd7f7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 10px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.proplist-preview{color:var(--text-muted);max-height:140px;margin:0 0 12px;padding-left:20px;font-size:13px;overflow-y:auto}.proplist-preview li{margin:3px 0}.listing-notes{max-height:320px;margin-top:12px;overflow-y:auto}.listing-row>div{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.listing-row>div:first-child{background:var(--surface);z-index:5;position:sticky;left:0;overflow:visible;box-shadow:8px 0 8px -8px #00000040}.listing-row>div:first-child:before{content:"";background:var(--surface);width:7px;position:absolute;top:-7px;bottom:-7px;left:-7px}.listing-row>div:last-child{background:var(--surface);z-index:5;justify-content:flex-end;position:sticky;right:0;overflow:visible;box-shadow:-8px 0 8px -8px #00000040}.listing-row>div:last-child:before{content:"";background:var(--surface);width:7px;position:absolute;top:-7px;bottom:-7px;right:-7px}.listing-row .inline-text{flex:1;max-width:100%;display:block}.prospect-row{border-bottom:1px solid #eceff8;grid-template-columns:minmax(190px,1.4fr) minmax(130px,1fr) 150px minmax(160px,1fr) 165px 110px 40px;align-items:center;gap:6px;min-width:960px;padding:6px 4px;display:grid}.prospect-row>div{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.prospect-row .inline-text{flex:1;max-width:100%;display:block}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:10px 0;display:grid}.photo-tile{aspect-ratio:4/3;background:#eceff8;border:2px solid #0000;border-radius:10px;position:relative;overflow:hidden}.photo-tile img{object-fit:cover;cursor:pointer;width:100%;height:100%;display:block}.photo-picked{border-color:var(--primary)}.photo-check{pointer-events:none;filter:drop-shadow(0 1px 2px #00000080);font-size:14px;position:absolute;top:4px;left:6px}.photo-delete{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:6px;padding:2px 6px;font-size:11px;position:absolute;top:4px;right:4px}.photo-add{border:2px dashed var(--border);color:var(--text-muted);cursor:pointer;aspect-ratio:4/3;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-family:inherit;font-size:24px;display:flex}.photo-add span{font-size:12px}.photo-add:hover{border-color:var(--primary);color:var(--primary)}.photo-send{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.settings-page{max-width:860px}.settings-tabs{margin:4px 0 14px}.settings-tabs .tab{font-size:14px;font-weight:600}.settings-saved{align-self:center;margin:0 8px 0 0}.lang-tabs{margin-bottom:10px}.avail-day{align-items:center;gap:8px;min-width:130px;display:flex}.avail-name{font-size:13px;font-weight:600}.invite-grid{margin-top:8px}.invite-grid label{flex-direction:column;gap:4px;font-size:12px;display:flex}.invite-list{margin-top:12px}.invite-name{font-size:13px}.invite-bits{flex:1}.booking-notes{font-style:italic}.template-label-static:hover{border-color:#0000}.settings-savebar{background:#fff8e6;border:1px solid #f0e2c4;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:10px 14px;font-size:13px;display:flex;position:sticky;bottom:12px;box-shadow:0 4px 14px #0000001a}.btn-icon-active{background:#e6f1fd;border-radius:8px}.status-editor{margin:10px 0}.status-editor-label{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:700}.status-editor-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.status-chip{align-items:center;gap:6px;display:inline-flex}.status-chip-x{color:#fff;cursor:pointer;background:#ffffff40;border:none;border-radius:999px;padding:1px 5px;font-size:10px}.status-chip-x:hover{background:#0000004d}.status-add-input{border:1px dashed var(--border);border-radius:999px;outline:none;width:120px;padding:4px 10px;font-family:inherit;font-size:12px}.status-add-input:focus{border-color:var(--primary)}.thread-head-info{flex:1;min-width:0}.modal-wide{width:min(680px,100%)}.settings-section{border-top:1px solid var(--border);margin:14px 0;padding-top:10px}.settings-section h4{margin:0 0 6px;font-size:14px}.field-legend{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.field-chip{cursor:help;color:var(--primary);background:#e6f1fd;font-family:Consolas,monospace}.template-editor{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:10px 12px}.template-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.template-label{color:var(--text);border:1px solid #0000;border-radius:6px;flex:1;padding:4px 6px;font-family:inherit;font-size:14px;font-weight:700}.template-label:hover,.template-label:focus{border-color:var(--border);outline:none}.settings-row{align-items:center;gap:10px;margin:8px 0;font-size:14px;display:flex}.brand-logo-img{object-fit:contain;border-radius:6px;max-width:120px;height:38px}.logo-row{align-items:center;gap:12px;margin-top:10px;display:flex}.logo-preview{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:8px;max-width:140px;height:44px;padding:3px 6px}.feed-row{gap:8px}.feed-url{border:1px solid var(--border);color:var(--text-muted);border-radius:6px;flex:1;min-width:0;padding:8px 10px;font-family:Consolas,monospace;font-size:12px}.reply-badge{cursor:help;margin-left:4px;font-size:13px}.wa-status-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.wa-status-label{color:var(--text-muted);font-size:11px;font-weight:600}.wa-status-chip{border:1px solid var(--border);cursor:help;background:#f5f7fd;border-radius:999px;padding:2px 8px;font-size:11px}.wa-edited{color:#b26a00;font-size:11px}.wa-hint{color:var(--text-muted)}.wa-ok{color:#037f4c}.sms-templates{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.btn-sm-template{padding:6px 10px;font-size:12px}.sms-count{color:var(--text-muted);text-align:right;margin:4px 0 0;font-size:11px}.modal-scrim{z-index:110;background:#1e1e2873;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow);border-radius:12px;max-height:90vh;padding:22px 24px;overflow-y:auto}.modal h3{margin:0 0 4px}.modal-sub{color:var(--text-muted);margin:0 0 12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row-3{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.form-grid label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.form-grid input,.form-grid select{border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:14px}.form-grid input:focus,.form-grid select:focus{border-color:var(--primary)}@media (width<=640px){.form-grid{grid-template-columns:1fr}.call-toast{width:auto;left:12px;right:12px}}@media (width<=760px){body{zoom:.82}.hide-sm{display:none!important}.topbar{gap:8px 10px;padding:10px 12px}.brand{gap:8px}.brand-name{font-size:14px}.topbar-actions{order:1;gap:6px}.topbar-actions .btn{padding:8px 10px;font-size:13px}.sidenav{width:50px;padding:8px 5px}.side-label{display:none}.side-tab{justify-content:center;padding:11px 0;position:relative}.side-tab .tab-badge{margin:0;padding:1px 5px;font-size:9px;position:absolute;top:2px;right:2px}.search{flex:100%;order:3;min-width:0;max-width:none}.main{padding:12px 10px 90px}.search,.inline-input,.info-input,.info-select,.quick-add,.cell-select,.deal-date,.add-group-input,.name-input,.template-label,.login-field input,.popover-field input,.form-grid input,.form-grid select,.modal textarea,.note-composer textarea,.private-label textarea{font-size:16px}.open-btn{opacity:1}.panel{width:100vw}.modal-scrim{padding:8px}.modal{max-height:94dvh;padding:16px}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:auto}.showing-row:not(.deal-head),.listing-row:not(.deal-head),.prospect-row:not(.deal-head){flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0;padding:12px 6px;display:flex}.showing-row.deal-head,.listing-row.deal-head,.prospect-row.deal-head{display:none}.showing-row>div,.listing-row>div,.prospect-row>div{width:auto;box-shadow:none!important;position:static!important}.prospect-row:not(.deal-head)>div:first-child{width:100%;font-size:15px;font-weight:700}.prospect-row:not(.deal-head)>div:nth-child(2):before{content:"👤";margin-right:2px}.prospect-row:not(.deal-head)>div:nth-child(4):before{content:"✉️";margin-right:2px}.prospect-row:not(.deal-head)>div:nth-child(6):before{content:"💰";margin-right:2px}.showing-row>div:first-child:before,.showing-row>div:last-child:before,.listing-row>div:first-child:before,.listing-row>div:last-child:before{content:none}.listing-row:not(.deal-head)>div:first-child,.showing-row:not(.deal-head)>div:nth-child(2){width:100%;font-size:15px;font-weight:700}.showing-row:not(.deal-head)>div:first-child,.listing-row:not(.deal-head)>div:nth-child(9),.showing-row:not(.deal-head)>div:nth-child(11){width:100%}.listing-row:not(.deal-head)>div:last-child,.showing-row:not(.deal-head)>div:last-child{justify-content:flex-start;gap:20px;width:100%;padding-top:2px}.listing-row:not(.deal-head)>div:nth-child(3):before,.listing-row:not(.deal-head)>div:nth-child(6):before,.listing-row:not(.deal-head)>div:nth-child(7):before,.listing-row:not(.deal-head)>div:nth-child(8):before,.listing-row:not(.deal-head)>div:nth-child(10):before,.listing-row:not(.deal-head)>div:nth-child(11):before,.listing-row:not(.deal-head)>div:nth-child(12):before,.listing-row:not(.deal-head)>div:nth-child(13):before,.showing-row:not(.deal-head)>div:nth-child(5):before,.showing-row:not(.deal-head)>div:nth-child(8):before,.showing-row:not(.deal-head)>div:nth-child(9):before,.showing-row:not(.deal-head)>div:nth-child(10):before,.showing-row:not(.deal-head)>div:nth-child(12):before,.showing-row:not(.deal-head)>div:nth-child(13):before,.showing-row:not(.deal-head)>div:nth-child(14):before,.showing-row:not(.deal-head)>div:nth-child(15):before{color:var(--text-muted);text-transform:uppercase;flex:none;margin-right:2px;font-size:11px;font-weight:700}.listing-row:not(.deal-head)>div:nth-child(3):before{content:"Code"}.listing-row:not(.deal-head)>div:nth-child(6):before{content:"Bd"}.listing-row:not(.deal-head)>div:nth-child(7):before{content:"Ba"}.listing-row:not(.deal-head)>div:nth-child(8):before{content:"Sqft"}.listing-row:not(.deal-head)>div:nth-child(10):before{content:"MLS"}.listing-row:not(.deal-head)>div:nth-child(11):before{content:"👤"}.listing-row:not(.deal-head)>div:nth-child(12):before{content:"📞"}.listing-row:not(.deal-head)>div:nth-child(13):before{content:"✉️"}.showing-row:not(.deal-head)>div:nth-child(5):before{content:"Code"}.showing-row:not(.deal-head)>div:nth-child(8):before{content:"Bd"}.showing-row:not(.deal-head)>div:nth-child(9):before{content:"Ba"}.showing-row:not(.deal-head)>div:nth-child(10):before{content:"Sqft"}.showing-row:not(.deal-head)>div:nth-child(12):before{content:"MLS"}.showing-row:not(.deal-head)>div:nth-child(13):before{content:"👤"}.showing-row:not(.deal-head)>div:nth-child(14):before{content:"📞"}.showing-row:not(.deal-head)>div:nth-child(15):before{content:"✉️"}.tiles{grid-template-columns:1fr 1fr;gap:10px}.tile{padding:12px 14px}.tile-value{font-size:20px}.chart{-webkit-overflow-scrolling:touch;padding-bottom:6px;overflow-x:auto}.chart-col{min-width:36px}.legend{margin-left:0}.messages{grid-template-columns:1fr;height:calc(100dvh - 215px);min-height:320px}.messages:not(.thread-open) .thread-pane,.messages.thread-open .convo-list{display:none}.thread-back{padding:4px 10px 4px 0;font-size:20px;display:inline-block}.thread-head{padding:10px 12px}.thread-actions{gap:6px}.thread-actions .btn{white-space:nowrap;padding:7px 9px;font-size:12px}.bubble{max-width:88%}.info-label{min-width:80px;font-size:12px}.panel-header{padding:14px 14px 12px}.panel-body{padding:12px 14px 30px}.today-row{flex-direction:column;align-items:flex-start;gap:4px}.today-meta{width:100%;line-height:1.55;display:block}.today-actions{flex-wrap:wrap;gap:6px;display:flex}.settings-row{flex-wrap:wrap;row-gap:6px}.avail-day{gap:6px;width:104px;min-width:0}.settings-row input.deal-date{width:96px;min-width:0;padding:4px 2px;font-size:14px}.board-leads .row{grid-template-columns:minmax(0,1fr) 106px!important;min-width:0!important}.board-leads .row-head>.head-cell:nth-child(n+3),.board-leads .row:not(.row-head)>.cell:nth-child(n+5){display:none}.board-leads .contact-name{font-size:16px}.board-leads .status-pill{width:100%;padding:5px 8px;font-size:12px}.board-leads .cell{min-width:0}}
