*{box-sizing:border-box}:root{--bg: #f1f5f9;--panel: #fff;--line: #e2e8f0;--text: #0f172a;--muted: #64748b;--primary: #2563eb;--primary-dark: #1d4ed8;--danger: #dc2626;--radius: 8px}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:20px;margin:0 0 4px}h2{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 6px}h2:first-child{margin-top:0}.muted{color:var(--muted)}.warn-text{color:#92400e}.proposed{background:#fffbeb;border-color:#f59e0b}.small{font-size:12px}.error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;padding:8px 12px;border-radius:var(--radius)}.page-msg{color:var(--muted);padding:40px;text-align:center}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;background:#10142c;color:#e2e8f0;padding:0 20px;height:92px}.brand-link{display:flex;align-items:center;gap:8px}.brand-link:hover{text-decoration:none}.brand-logo{width:auto;max-width:78px;height:auto;max-height:76px;object-fit:contain;border-radius:4px}.brand-logo-pen{display:block;border-radius:4px}.brand-logo-pen-fallback{color:#fff;font-weight:700;letter-spacing:.06em;font-size:13px}.brand{font-weight:800;letter-spacing:.12em;color:#fff}.topbar nav{display:flex;gap:4px}.topbar nav a{color:#94a3b8;padding:6px 12px;border-radius:6px}.topbar nav a:hover{color:#fff;text-decoration:none}.topbar nav a.active{color:#fff;background:#242c55}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.user-chip{color:#94a3b8;font-size:13px}.user-chip-btn{background:none;border:none;cursor:pointer;font:inherit;font-size:13px;padding:6px 8px;border-radius:6px}.user-chip-btn:hover{background:#1e293b;color:#fff}.content{flex:1;padding:20px;max-width:1400px;width:100%;margin:0 auto}.content-wide{max-width:none;padding-left:20px;padding-right:20px}.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:6px 12px;border-radius:var(--radius);cursor:pointer;font:inherit}.btn:hover{border-color:#cbd5e1}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{background:transparent;border-color:transparent;color:var(--primary)}input,select,textarea{font:inherit;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #bfdbfe;border-color:var(--primary)}label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}label.inline{flex-direction:row;align-items:center;font-size:14px;color:var(--text)}label.inline input{width:auto}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.toolbar select{width:auto}.toolbar .search{width:260px}.tabs{display:flex;background:#e2e8f0;border-radius:var(--radius);padding:3px}.tab{border:0;background:transparent;padding:5px 12px;border-radius:6px;cursor:pointer;font:inherit;color:var(--muted)}.tab.active{background:#fff;color:var(--text);box-shadow:0 1px 2px #00000014}.count{margin-left:auto}.board-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.board-filters select,.board-filters .search{width:auto}.board-filters .search{min-width:240px;flex:1}.inline-filter{flex-direction:row;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.inline-filter input{width:auto}.board-actions{display:flex;align-items:center;gap:8px;margin-bottom:10px}.board-actions .spacer{flex:1}.chkcol{width:34px;text-align:center}.chkcol input{width:auto}.clickable{cursor:pointer}.row-selected td{background:#eff6ff!important}.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.jobs-table{width:100%;border-collapse:collapse}.jobs-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.jobs-table th.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.jobs-table th.th-sortable:hover,.jobs-table th.th-sorted{color:var(--text)}.jobs-table .sort-arrow{display:inline-block;width:1.1em;margin-left:2px;font-size:9px}.jobs-table td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}.jobs-table tbody tr{cursor:pointer}.jobs-table tbody tr:hover td{background:#2563eb0d}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.flag-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.label-chip{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.status-badge{display:inline-block;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap}.badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;background:#e2e8f0;color:var(--muted);border-radius:4px;padding:1px 6px;margin-left:6px}.badge-callback,.badge-optout{background:#fee2e2;color:#b91c1c}.badge-blocked{background:#fef3c7;color:#92400e}.pay-badge-pre-go-live{background:#e5e7eb;color:#374151;text-transform:none}.pay-badge-future{background:#e0f2fe;color:#075985;text-transform:none}.pay-badge-prepaid{background:#fef3c7;color:#92400e}.badge-nosms{background:#e2e8f0;color:#475569}.tech-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.tech-chip i{width:9px;height:9px;border-radius:50%;display:inline-block}.login-page{min-height:100vh;display:grid;place-items:center}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px;width:340px;display:flex;flex-direction:column;gap:10px}.login-user{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;cursor:pointer;font:inherit;text-align:left}.login-user:hover{border-color:var(--primary);background:#eff6ff}.login-brand{margin:-32px -32px 8px;line-height:0}.login-brand-band{display:block;background:#10142c;border-radius:11px 11px 0 0;padding:22px 32px}.login-brand-pen{display:block;width:100%;height:auto}.login-brand-fallback{display:block;text-align:center;padding:40px 0;line-height:1;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:28px;font-weight:800;letter-spacing:.14em;color:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.detail-actions{display:flex;gap:8px}.status-select{width:auto;font-weight:600;border-width:2px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:14px}.kv{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;margin:0}.kv dt{color:var(--muted);font-size:12px;padding-top:2px}.kv dd{margin:0}.kv dd.price-note,.notes{white-space:pre-wrap}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.timeline .when{display:block}.job-form{display:flex;flex-direction:column;gap:14px;max-width:1400px}.form-cols-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.form-cols-2>.panel{height:100%}.form-col{display:flex;flex-direction:column;gap:14px;min-width:0}.job-form .panel{background:#eef4fb;border-color:#d9e5f5}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.notify-recips{margin:6px 0 10px}.dir-icons{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.dir-icons-row{display:inline-flex;gap:8px}.dir-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px;text-decoration:none}.dir-icon:hover{background:var(--panel, #f1f5f9)}.notify-recips-row{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:4px}.notify-recips-row label.inline{white-space:nowrap}.span-2{grid-column:span 2}.form-actions{display:flex;gap:10px}.pickers{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--muted);font-size:12px}.swatch{width:20px;height:20px;border-radius:6px;border:2px solid transparent;cursor:pointer}.swatch.on{border-color:var(--text)}.avatar-emoji-input{width:64px;text-align:center;font-size:18px;padding:4px}.emoji-swatch{width:30px;height:30px;border-radius:6px;border:2px solid transparent;background:#fff;font-size:16px;line-height:1;cursor:pointer}.emoji-swatch.on{border-color:var(--text)}.tech-chip-avatar{font-size:1.15em;line-height:1}.colorcode-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.colorcode-swatch{display:inline-block;width:18px;height:18px;border-radius:4px;flex:0 0 auto}.colorcode-name{min-width:190px;font-weight:600}.colorcode-picks{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}.colorcode-clear{margin-left:4px}@media screen and (max-width: 768px){.colorcode .colorcode-name{min-width:100%}.colorcode .swatch{width:30px;height:30px}}.customer-card{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}.dup-warning{margin-top:10px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.dup-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}a.drill-link{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}a.drill-link:hover{color:#2563eb;text-decoration-style:solid}.dup-row a.match-link{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.dup-row a.match-link.muted{color:#64748b}.dup-row a.match-link:hover{color:#1d4ed8}@media (max-width: 700px){.dup-row a.match-link{display:inline-block;padding:12px 2px;margin:-8px 0}}.form-head{display:flex;align-items:center;justify-content:space-between}.form-head-actions{display:flex;gap:8px}.btn-danger{color:#b91c1c;border-color:#fecaca}.btn-danger:hover{background:#fef2f2}.linked-chip{margin-left:10px;font-weight:400;text-transform:none;letter-spacing:0;color:#16a34a}.linked-chip .btn-ghost{padding:0 6px}.input-with-btn{display:flex;gap:6px}.input-with-btn input{flex:1}.search-btn{flex:0 0 auto;padding:6px 10px}.phones{display:flex;flex-direction:column;gap:10px;margin:10px 0}.clover-widget-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;text-decoration:none;box-sizing:border-box}.cust-link{color:inherit;text-decoration:underline dotted;text-underline-offset:3px}.cust-link:hover{color:var(--link, #2563eb);text-decoration-style:solid}.reminder-channels{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:4px 0 8px}.job-actions .reminder-row select{max-width:180px}.people{display:flex;flex-direction:column;gap:8px;margin:10px 0 2px}.person-row{border:1px dashed var(--line);border-radius:8px;padding:8px 10px 10px}.person-row .person-contact{margin-top:6px}.person-remove{align-self:end;justify-self:start;color:#b91c1c;min-height:34px}@media screen and (max-width: 768px){.person-row .person-remove{min-height:44px;width:100%}.person-row .search-btn{min-height:44px;min-width:44px}.person-row .match-panel .btn{min-height:44px}}.phone-row{display:grid;grid-template-columns:2fr 70px 110px;gap:10px;align-items:start}.phone-line{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(110px,1fr);gap:10px 14px;align-items:start}.phone-add{align-self:flex-start}@media (max-width: 900px){.phone-line{grid-template-columns:1fr}}.email2-add{align-self:flex-start}.email2-label{display:inline-flex;align-items:center;gap:4px}.email2-label .btn-ghost{padding:0 4px;font-size:12px;color:var(--muted)}.email2-label .btn-ghost:hover{color:var(--danger)}@media screen and (max-width: 480px){.email2-label .btn-ghost{min-width:44px}}.dispatch-cell{min-width:0}.dispatch-cell .dispatch-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.dispatch-channels{display:flex;flex-direction:column;gap:2px}.dispatch-actions .dispatch-btn{margin-left:auto;padding:6px}.helper-cell{min-width:0}.helper-box{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:4px}.helper-box select{flex:1 1 auto;min-width:110px}.helper-chip{display:inline-flex;align-items:center;gap:4px;background:#e0e9f7;border:1px solid #c4d4ee;border-radius:12px;padding:1px 6px 1px 8px;font-size:12px;white-space:nowrap}.helper-chip button{border:none;background:none;cursor:pointer;font-size:13px;line-height:1;padding:0 2px;color:#64748b}.helper-chip button:hover{color:#b91c1c}.svc-multi-cell{min-width:0;display:flex;flex-direction:column;gap:4px;grid-column:1 / -1}.svc-multi{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px 8px;border:1px solid #c4d4ee;border-radius:8px;padding:6px 8px;background:#fff}.svc-chip{display:flex;flex-direction:row;align-items:center;gap:7px;border-radius:6px;padding:3px 6px;font-size:13px;line-height:1.25;cursor:pointer;color:inherit;min-width:0;overflow-wrap:anywhere}.svc-multi-cell>.field-label{font-size:12px;color:var(--muted)}.svc-chip:has(input:disabled){cursor:not-allowed;opacity:.55}.svc-chip:has(input:disabled):hover{background:transparent}.svc-multi .svc-chip input{margin:0;flex:none;width:14px;height:14px;min-height:0}.svc-chip:hover{background:#f1f5fb}.svc-chip.on{background:#e0e9f7;font-weight:600;color:#10142c;box-shadow:inset 3px 0 #10142c}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.svc-multi{grid-template-columns:1fr;gap:4px;padding:6px}.svc-chip{min-height:44px;font-size:15px;padding:6px 10px;border:1px solid #d9e5f5;background:#f8fafc}.svc-multi .svc-chip input{width:18px;height:18px}.svc-chip.on{border-color:#10142c;box-shadow:none}.svc-chip:has(input:disabled):hover{background:#f8fafc}.svc-multi.field-error .svc-chip{background:transparent;border-color:#fecaca}.svc-multi.field-error .svc-chip.on{border-color:#10142c}}.chip-picker{display:none}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.svc-multi-desktop{display:none}.chip-picker{display:block;border:1px solid #c4d4ee;border-radius:8px;padding:6px 8px;background:#fff}.chip-picker.field-error{border-color:#fecaca;background:#fef2f2}.chip-picker-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.chip-picker-remove{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-6px -6px -6px 0;border:none;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer}.chip-picker-empty{padding:6px 4px}.chip-picker-add{min-height:44px;padding:6px 14px;font-size:15px}.chip-picker-panel{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid #e2e8f0;max-height:280px;overflow-y:auto}.chip-picker-option{display:block;width:100%;text-align:left;min-height:44px;padding:6px 10px;font-size:15px;border:1px solid #d9e5f5;border-radius:6px;background:#f8fafc;cursor:pointer;color:inherit}.chip-picker-option:disabled{opacity:.55;cursor:not-allowed}.chip-picker-none{padding:6px 4px}}.photo-section{margin-top:14px}.photo-group{margin-bottom:8px}.photo-grid{display:flex;flex-wrap:wrap;gap:6px}.photo-thumb{position:relative;display:block}.photo-thumb img{height:96px;width:128px;object-fit:cover;border-radius:6px;border:1px solid #d9e5f5;display:block}.photo-x{position:absolute;top:2px;right:2px;border:none;border-radius:10px;background:#0f172aa6;color:#fff;width:20px;height:20px;line-height:1;cursor:pointer;font-size:13px}.photo-x:hover{background:#b91c1c}.photo-upload{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}@media print{.photo-thumb img{break-inside:avoid}}.zelle-box{margin-top:14px;padding:12px 14px;border:1px solid #d9e5f5;border-radius:8px;background:#f4f8fd}.zelle-dest{font-size:17px;margin:4px 0;word-break:break-all}.zelle-flag{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:8px 12px;border-radius:6px;margin-bottom:10px}.book-page input,.book-page select,.book-page textarea{width:100%;margin-top:6px}.book-step{margin-top:16px}.book-addr-row{display:flex;gap:8px}.book-days,.book-windows{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.book-day{padding:8px 10px;border:1px solid #c4d4ee;border-radius:8px;background:#fff;cursor:pointer;font-size:13px}.book-day.on{background:var(--primary, #2563eb);color:#fff;border-color:var(--primary, #2563eb)}.book-day:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.badge-online{background:#7c3aed;color:#fff;border-radius:10px;padding:1px 7px;font-size:11px;white-space:nowrap}.settings-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:14px 0}.df-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.df-times input[type=time]{width:100%}.df-fields{display:flex;flex-wrap:wrap;gap:6px 16px}.df-recipients{list-style:none;padding:0;margin:6px 0}.df-recipients li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid var(--line)}.df-recipients li span{min-width:0;overflow-wrap:anywhere}.df-add input[type=email]{flex:1 1 200px;min-width:0}.settings-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border:1px solid #d9e5f5;border-radius:10px;background:#eef4fb;cursor:pointer}.settings-card:hover{border-color:#10142c}.settings-card.on{border-color:#10142c;background:#fff;box-shadow:0 1px 4px #10142c26}.settings-card-icon{font-size:22px}.settings-card-title{font-weight:700;color:#10142c}.settings-card-status{color:#64748b;font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.settings-card-body{border:1px solid #d9e5f5;border-radius:10px;padding:14px 16px;background:#fff;margin-bottom:8px}.closure-dows{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 14px}.closure-feed{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:8px}.closure-feed-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}.closure-feed-url{overflow-wrap:anywhere}.closure-feed-actions{display:flex;gap:6px}.closure-feed-add{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end;margin-top:6px}.closure-events{display:flex;flex-direction:column;gap:4px;margin-top:6px}.closure-event{flex-wrap:wrap}@media screen and (max-width: 768px){.closure-feed-add{grid-template-columns:1fr}.closure-dows label.inline,.closure-event{min-height:44px;align-items:center}.closure-feed-actions .btn{min-height:44px}}.scope-notice-box{margin:20px 0 4px;padding:14px 16px;border:2px solid #fcd34d;border-radius:10px;background:#fffbeb}.badge-workspace{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;text-transform:none;font-weight:700}.review-stars{display:flex;gap:6px;margin-top:12px;font-size:34px;color:#f59e0b}.review-star{border:none;background:none;font-size:40px;line-height:1;cursor:pointer;color:#cbd5e1;padding:2px}.review-star.on{color:#f59e0b}.review-platforms{display:flex;flex-direction:column;gap:10px;margin-top:14px;max-width:340px}.review-again .review-stars-static{cursor:default;-webkit-user-select:none;user-select:none}.review-again .review-thanks{font-size:17px;font-weight:600;margin:10px 0 4px}.review-again .review-platforms .btn{min-height:48px;font-size:16px}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.review-again .review-platforms{max-width:none}.review-again .review-platforms .btn{min-height:52px;font-size:17px}.review-again .review-thanks{font-size:18px}.review-again textarea{font-size:16px;min-height:96px}.review-again .btn-lg{min-height:48px;font-size:16px}}.rev-mode{display:flex;align-items:center;gap:0;margin:4px 0 8px}.rev-mode button{padding:8px 22px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-weight:700;font-size:14px}.rev-mode button:first-child{border-radius:8px 0 0 8px}.rev-mode button+button{border-radius:0 8px 8px 0;border-left:none}.rev-mode-paid button.on{background:#16a34a;color:#fff;border-color:#16a34a}.rev-mode-invoiced button.on{background:#2563eb;color:#fff;border-color:#2563eb}.rev-mode-label{margin-left:12px;padding:4px 10px;border-radius:6px;font-size:13px}.rev-mode-paid .rev-mode-label{background:#dcfce7;color:#14532d}.rev-mode-invoiced .rev-mode-label{background:#dbeafe;color:#1e3a8a}.rev-chart{display:flex;align-items:flex-end;gap:4px;height:160px;padding-top:8px;overflow-x:auto}.rev-col{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;flex:1 1 0;min-width:26px;height:100%}.rev-col-bar{width:100%;background:#2563eb;border-radius:3px 3px 0 0}.rev-mode-paid~* .rev-col-bar,.rev-chart .rev-col-bar{background:var(--primary, #2563eb)}.rev-col-label{font-size:10px;color:#64748b;margin-top:3px;white-space:nowrap}.rev-bar-track{background:#eef2f7;border-radius:4px;height:10px;width:100%}.rev-bar{background:#2563eb;height:10px;border-radius:4px}.rev-row-link{cursor:pointer}.rev-row-link:hover td{background:#eef2fb}.rev-col:hover .rev-col-bar{filter:brightness(1.25)}.followup-flag{margin-left:4px;font-size:12px}.badge-needs-confirm{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.confirm-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:10px 14px;margin:8px 0}.sms-inbox{display:grid;grid-template-columns:300px 1fr;gap:12px;align-items:start}.sms-threads{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;max-height:70vh;overflow-y:auto;background:#fff}.sms-thread{display:block;width:100%;text-align:left;padding:10px 12px;border:none;border-bottom:1px solid #eef2f7;background:#fff;cursor:pointer}.sms-thread:hover{background:#f8fafc}.sms-thread.on{background:#eef2fb}.sms-thread-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.sms-thread-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sms-conversation{border:1px solid #e2e8f0;border-radius:8px;background:#fff;display:flex;flex-direction:column;min-height:300px;max-height:70vh}.sms-conv-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #e2e8f0}.sms-conv-title{display:inline-flex;align-items:baseline;gap:6px;min-width:0;flex:1}.sms-conv-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-name-btn{padding:2px 6px;flex:none}.sms-blocked-banner{margin:0;padding:8px 12px;background:#fef3c7;color:#92400e;font-size:13px;border-bottom:1px solid #fde68a}.blocked-list{list-style:none;padding:0;margin:10px 0}.blocked-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line, #e5e7eb)}.blocked-num{min-width:0}.blocked-by{white-space:nowrap}.blocked-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.blocked-add input{min-width:160px;flex:1 1 160px}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.blocked-add{flex-direction:column;align-items:stretch}.blocked-add input,.blocked-add .btn{width:100%;flex:0 0 auto;min-height:44px}.blocked-list li{align-items:flex-start}.blocked-list .btn{min-height:44px}.blocked-by{white-space:normal}.sms-blocked-banner{font-size:12px}}.sms-name-edit{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0}.sms-name-edit input{width:auto;flex:1;min-width:0}.sms-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.sms-bubble{max-width:75%;padding:8px 12px;border-radius:12px;font-size:14px}.sms-bubble.in{align-self:flex-start;background:#f1f5f9}.sms-bubble.out{align-self:flex-end;background:#dbeafe}.sms-bubble .sms-meta{font-size:10px;color:#94a3b8;margin-top:3px}.sms-reply{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #e2e8f0;align-items:flex-end;flex-wrap:wrap}.sms-reply textarea{flex:1;resize:vertical;min-width:120px}.sms-attach-btn{flex:none;padding:8px 10px;cursor:pointer}.sms-attach-chip{flex-basis:100%;font-size:12px;color:var(--muted)}.sms-attach-chip button{border:none;background:none;cursor:pointer;color:#b91c1c;font-size:14px}.sms-photo-link{display:inline-block}.sms-photo{max-width:220px;max-height:220px;border-radius:10px;margin-bottom:4px;display:block;object-fit:cover}.sms-savejob{margin-top:4px}.sms-savejob-picks{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.sms-savejob-picks .btn{padding:2px 8px}.sms-compose-attach{display:flex;align-items:center;gap:8px;margin-top:6px}.sms-compose-to-picks{display:flex;flex-wrap:wrap;gap:8px}.conf-code{font-size:13px;color:var(--muted);margin-top:2px}.conf-code strong{color:var(--text);font-variant-numeric:tabular-nums}.conf-code-inline{font-weight:600}.conf-code-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.followup-step{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;margin-top:8px;background:#fff}.followup-step>label{display:block;margin-top:8px}.cust-reminders{margin-top:8px;display:flex;flex-direction:column;gap:3px}.cust-reminders label{font-weight:400}.toolbar .skip-reminders{white-space:nowrap;font-weight:400}@media (max-width: 820px){.sms-inbox{grid-template-columns:1fr}}.report-tabs{display:flex;gap:4px;margin-bottom:8px;border-bottom:2px solid #e2e8f0}.report-tabs a{padding:6px 14px;text-decoration:none;color:#64748b;font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-2px}.report-tabs a.active{color:#10142c;border-bottom-color:#10142c}.geo-chip{display:inline-flex;align-items:center;gap:5px;background:#e0e9f7;border:1px solid #c4d4ee;border-radius:12px;padding:2px 6px 2px 9px;font-size:12px;white-space:nowrap}.geo-chip em{font-style:normal;font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.geo-chip button{border:none;background:none;cursor:pointer;font-size:13px;line-height:1;padding:0 2px;color:#64748b}.geo-chip button:hover{color:#b91c1c}.field-label{display:block;line-height:16px;min-height:16px}.job-form input,.job-form select{min-height:34px}.input-with-btn{align-items:stretch}.match-panel{margin-top:10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px}.nearby-row{cursor:pointer}.nearby-row:hover{text-decoration:underline}.map-frame{width:100%;height:240px;border:1px solid var(--line);border-radius:var(--radius);margin:10px 0 6px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center}.addr-autocomplete{position:relative}.addr-results{top:calc(100% + 2px)}.map-frame iframe{width:100%;height:100%;border:0;display:block}.map-placeholder{text-align:center;padding:0 20px}.addr-actions{display:flex;gap:8px;margin-top:4px}.form-meta{margin-left:auto;text-align:right;line-height:1.5}.req{color:var(--danger);font-weight:700}.tech-editor{margin-bottom:14px}.tech-actions{white-space:nowrap}.tech-actions .btn-ghost{padding:2px 8px}.tech-invite-result{margin-bottom:14px;border-color:#16a34a}.temp-pw-row{display:flex;align-items:center;gap:10px;margin:6px 0;flex-wrap:wrap}.temp-pw{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;font-weight:700;letter-spacing:.04em;background:#f1f5f9;border:1px solid var(--line);border-radius:6px;padding:8px 12px;-webkit-user-select:all;user-select:all}.invite-sent{color:#16a34a;font-weight:600}.invite-failed{color:#b45309;font-weight:600}.payout-panel{border-color:#16a34a;box-shadow:0 0 0 1px #16a34a33}.dispatch-panel{border-color:var(--primary);box-shadow:0 0 0 1px #2563eb22}.dispatch-state{margin:0 0 10px}.job-actions{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}.job-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.job-actions .job-action-btn{font-size:16px;font-weight:700;line-height:1.2;min-height:44px;padding:10px 18px;display:inline-flex;align-items:center;gap:6px}.job-actions .job-action-estimate{border-color:var(--primary);color:var(--primary);font-weight:700}.job-actions .job-action-estimate:hover{background:#eff6ff}.job-actions .job-action-note{margin:0;font-size:15px;font-weight:600;color:var(--muted)}.job-actions .job-action-note.error{color:#b91c1c}.job-actions .job-action-eta{min-height:44px;font-size:15px;flex:1 1 200px;max-width:260px}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.job-actions .job-action-btn{font-size:18px;min-height:52px;padding:12px 18px;width:100%;justify-content:center}.job-actions .job-action-eta{flex:1 1 100%;max-width:none;font-size:16px}.job-actions .job-action-note{font-size:16px}.job-actions .job-action-row{gap:8px}}.dispatch-badge{background:#dcfce7;color:#15803d}.dispatch-recalled{background:#fef3c7;color:#92400e}.dispatch-actions{display:flex;gap:8px;align-items:center}.payout-result{display:flex;flex-direction:column;justify-content:flex-end;gap:2px}.payout-amount{font-size:18px;font-weight:800;color:#15803d}.payroll-total td{border-top:2px solid var(--text);font-weight:700;background:#f8fafc}.print-title,.print-only{display:none}.invoice-panel{border-color:#0d9488;box-shadow:0 0 0 1px #0d948822}.invoice-list{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.invoice-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;background:#fff;cursor:pointer;font:inherit}.invoice-row:hover{border-color:var(--primary);background:#f8fafc}.doc-actions{display:flex;gap:8px;margin-top:10px}.inv-prepaid-amt{text-decoration:line-through;color:var(--muted)}.inv-prepaid-note{font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap}.inv-editor .inv-prepaidchk{margin-top:2px}.sig-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.sig-card{background:#fff;border-radius:var(--radius);padding:20px;width:min(560px,100%);box-shadow:0 10px 40px #0003;max-height:calc(100vh - 48px);overflow-y:auto}.sig-card h3{margin:0 0 12px}.sig-tabs{display:flex;gap:6px;margin:10px 0}.send-inline{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.send-inline-hint{flex-basis:100%}.send-inline-detail{flex-basis:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.send-inline-detail input[type=email]{min-width:220px}.send-recipients{flex-direction:column;align-items:flex-start;gap:4px}.send-recipient{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.sent-badge{font-size:11px;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:9px;padding:1px 7px;white-space:nowrap;cursor:help}@media screen and (max-width: 768px){.send-inline .send-recipient{min-height:44px}}.sched-send input[type=date],.sched-send input[type=time]{padding:4px 6px}.sched-preview{font-weight:600}.sched-warn{color:#b45309;flex-basis:100%}.token-field{display:block}.token-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.token-chip{border:1px solid var(--line);background:#f8fafc;color:#334155;border-radius:999px;padding:2px 8px;font-size:11px;font-family:ui-monospace,Consolas,monospace;cursor:pointer;line-height:1.4}.token-chip:hover,.token-chip:focus-visible{background:#eff6ff;border-color:var(--primary);color:var(--primary)}.token-chip-deprecated{color:#94a3b8;background:#f8fafc;border-style:dashed;text-decoration:line-through;text-decoration-color:#cbd5e1}.token-chip-deprecated:hover,.token-chip-deprecated:focus-visible{color:#64748b;border-color:#94a3b8;background:#f1f5f9}.token-gsm{display:block;margin-top:5px;padding:5px 8px;border-radius:6px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:12px;line-height:1.45}.token-gsm .link-btn{margin-left:6px;padding:0;border:0;background:none;color:var(--primary);font:inherit;text-decoration:underline;cursor:pointer}.token-gsm .link-btn:hover{text-decoration:none}.internal-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.internal-badge{border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cancel-reason{margin-top:8px}.cancel-reason-opts{display:flex;flex-direction:column;gap:2px;margin:4px 0 8px}.cancel-reason-opt{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;color:var(--text);min-height:44px;padding:0 4px;cursor:pointer;font-size:14px}.cancel-reason-opt input{width:18px;height:18px;flex:0 0 auto;margin:0}.cancel-reason-note{display:block}.cancel-reason-note textarea{width:100%;box-sizing:border-box}.job-cancel-capture{grid-column:1 / -1}.cancel-banner{margin:0 0 12px;padding:8px 12px;border-radius:8px;border:1px solid #fecaca;background:#fef2f2;color:#7f1d1d;font-size:14px}.cancel-banner-note{margin-top:4px;color:#991b1b;white-space:pre-wrap}.dispatch-later{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:6px 0}.queued-dispatches{margin:8px 0 12px}.queued-head{padding:6px 0}.dispatch-results{margin-top:8px}.badge-recurring{background:#ede9fe;color:#5b21b6;border:1px solid #ddd6fe}.badge-recurring a{color:inherit}.recur-note{margin:-2px 0 6px}.recur-note strong{color:#92400e}.reach-list{display:flex;flex-direction:column;gap:1px;margin-top:2px;font-size:12px;line-height:1.35}.warn-strip{margin:8px 0;padding:8px 12px;border-radius:8px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:13px;line-height:1.5}.token-ref{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:10px 0 4px;background:#f8fafc}.token-ref summary{cursor:pointer;font-weight:600;font-size:13px}.token-ref-group{margin-top:10px}.token-ref-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.token-ref dl{margin:0}.token-ref-row{display:flex;gap:10px;align-items:baseline;padding:1px 0}.token-ref-row dt{flex:0 0 170px}.token-ref-row dt code{font-size:12px}.token-ref-row dd{margin:0;font-size:12px}.token-ref-note{margin:4px 0 0}@media screen and (max-width: 768px){.token-chips .token-chip{min-height:44px;display:inline-flex;align-items:center;padding:4px 12px;font-size:12px}.token-ref-row{flex-direction:column;gap:0;padding:4px 0}.token-ref-row dt{flex:none}}.sched-picker,.sched-picker-detail{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.sched-picker input[type=date],.sched-picker input[type=time]{padding:4px 6px}.sms-sched-row{padding:4px 10px 8px}.sms-notice{margin:4px 10px 0}.sms-bubble.sms-scheduled{border:1px dashed #6da6e8;background:#f0f7ff;opacity:.95}.sms-sched-actions{display:flex;gap:6px;margin-top:6px}.sms-sched-replied{color:#b45309;margin-top:4px}@media screen and (max-width: 768px){.sched-picker input[type=date],.sched-picker input[type=time]{min-height:44px;flex:1 1 40%;min-width:0}.sched-picker .sched-toggle,.sms-sched-actions .btn{min-height:44px}}.sched-panel{margin:6px 0;display:flex;flex-direction:column;gap:4px}.sched-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f0f7ff;border:1px solid #bcd7f5;border-radius:8px;padding:6px 10px}.sched-row.failed{background:#fef2f2;border-color:#fecaca}.sched-row-actions{display:inline-flex;gap:6px;margin-left:auto}.sched-note-line{margin:0}@media screen and (max-width: 768px){.send-inline .sched-send input[type=date],.send-inline .sched-send input[type=time]{min-height:44px;flex:1 1 40%;min-width:0}.send-inline .sched-toggle,.sched-panel .sched-row-actions .btn{min-height:44px}.sched-panel .sched-row-actions{margin-left:0;flex-basis:100%}}.sig-canvas{border:1px dashed var(--line);border-radius:6px;width:100%;height:150px;touch-action:none;background:#fff;display:block;margin-bottom:6px;cursor:crosshair}.sig-typed-input{width:100%}.sig-typed-preview{font-family:Segoe Script,Brush Script MT,cursive;font-size:30px;color:#0f172a;padding:8px 4px;min-height:44px;border-bottom:1px solid var(--line)}.sig-view{max-height:70px;max-width:260px}img.sig-view{border-bottom:1px solid var(--line)}.est-sig-block{margin:12px 0}.est-sig-block .inv-label{margin-bottom:4px}.public-page{max-width:820px;margin:24px auto;padding:0 16px}.inv-items-readonly td,.inv-items-readonly th{padding:6px 8px;border-bottom:1px solid var(--line)}.public-sign-area{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);text-align:center}.btn-lg{font-size:16px;padding:12px 28px}.payments-panel{max-width:760px;margin-top:16px}.pay-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pay-balance{display:flex;flex-direction:column;align-items:flex-end}.pay-balance .pay-done{color:#16a34a}.pay-list{list-style:none;margin:10px 0;padding:0}.pay-list li{display:grid;grid-template-columns:1fr auto 90px 28px;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid var(--line);font-size:14px}.pay-method{text-transform:capitalize;color:var(--muted)}.pay-record{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.pay-record input[type=number]{width:130px}.pay-send .pay-send-reason{flex-basis:100%}.pay-record .pay-check-input{width:140px}.pay-record .pay-fee{display:inline-flex;align-items:center;gap:4px}.pay-record .pay-fee input[type=number]{width:90px}.pay-record .pay-device-btn{border-color:var(--primary);color:var(--primary);font-weight:600}.pay-record .pay-device-btn:hover{background:#eff6ff}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.pay-record .pay-device-btn{min-height:48px;font-size:16px;padding:12px 16px;flex:1 1 100%}}.pay-sig-required{margin-top:8px;padding:10px 12px;border-radius:6px;background:#fffbeb;border:1px solid #fde68a;font-size:14px}.pay-sig-required p{margin:0 0 8px}.pay-waiting{color:#2563eb;font-size:13px;animation:pay-pulse 1.6s ease-in-out infinite}@keyframes pay-pulse{0%,to{opacity:1}50%{opacity:.45}}.legal-page{min-height:100vh;background:#f1f5f9}.legal-head{display:flex;align-items:center;gap:20px;background:#10142c;color:#e2e8f0;padding:14px 24px}.legal-brand{font-weight:800;letter-spacing:.08em;color:#fff;text-decoration:none;font-size:18px}.legal-nav{margin-left:auto;display:flex;gap:16px}.legal-nav a{color:#94a3b8;text-decoration:none;font-size:14px}.legal-nav a:hover{color:#fff}.legal-doc{max-width:760px;margin:24px auto 60px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px 36px;line-height:1.65}.legal-doc h1{margin:0 0 4px}.legal-doc h2{margin:26px 0 8px;font-size:17px}.legal-doc ul{padding-left:22px}.legal-doc li{margin:4px 0}.legal-updated{color:var(--muted);font-size:13px;margin:0 0 14px}.legal-draft-note{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:10px 12px;font-size:13px}.legal-foot{border-top:1px solid var(--line);margin-top:30px;padding-top:14px;color:var(--muted);font-size:13px}.legal-foot p{margin:3px 0}@media (max-width: 700px){.legal-doc{margin:12px;padding:20px}}.login-legal{text-align:center;margin-top:16px}.notice{margin:8px 0;padding:8px 12px;border-radius:6px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:14px}.locked-banner{margin-bottom:12px;padding:10px 12px;border-radius:6px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:14px}.locked-banner .muted{color:#4b7c5c}.link-panel{margin:8px 0 12px;border-color:#93c5fd;background:#eff6ff}.docs-pair-wrap{overflow-x:auto}.docs-pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;min-width:560px;margin-top:8px}.docs-pair-head{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:2px 4px 6px}.docs-pair-row{display:contents}.doc-cell{margin-bottom:6px}.doc-cell-empty{display:flex;align-items:center;padding:6px 10px;color:var(--muted);border:1px dashed var(--line);border-radius:6px;margin-bottom:6px}.pager{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:10px 0 4px}.pager-pages{display:flex;align-items:center;gap:2px}.pager-page.active{background:var(--line);font-weight:700}.pager-size select{margin-left:4px}.addr-book{margin:10px 0;padding-top:8px;border-top:1px solid var(--line)}.addr-book-row{display:flex;align-items:center;gap:10px;padding:3px 0;font-size:14px}.addr-book-label{min-width:90px;font-weight:600;color:var(--muted)}.addr-book-label.primary{color:inherit}.addr-book-text{flex:1}.addr-book-actions{display:flex;gap:2px}.addr-book-form{margin-top:6px}.addr-choice{display:block;width:100%;text-align:left}.docs-toggle{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left}.docs-toggle h2{margin:0}.docs-toggle .docs-chevron{margin-left:auto;color:var(--muted);font-size:14px}.docs-toggle:hover .docs-chevron{color:inherit}.section-toggle-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.section-toggle-row .docs-toggle{width:auto;flex:0 0 auto}.section-toggle-row .section-toggle-extra{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.docs-toggle{min-height:44px}}.invoice-panel .doc-actions{margin-top:10px}.inv-row-carried{background:#fafcfa}.inv-row-carried .inv-desc-print{color:#374151}.inv-carried-lock{font-size:12px;opacity:.7;display:block;text-align:center}.inv-status-draft{background:#94a3b8}.inv-status-sent{background:#2563eb}.inv-status-paid{background:#16a34a}.inv-status-partially_paid{background:#f59e0b}.inv-status-void{background:#b91c1c}.est-status-draft{background:#94a3b8}.est-status-sent{background:#2563eb}.est-status-approved{background:#16a34a}.est-status-declined{background:#b91c1c}.est-status-converted{background:#7c3aed}.est-status-void{background:#b91c1c}.est-approval{margin:10px 0;padding:8px 12px;border-radius:6px;background:#f8fafc;border:1px solid var(--line);font-size:14px}.est-approval-approved{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.est-approval-declined{background:#fef2f2;border-color:#fecaca;color:#991b1b}.est-approval-pending{background:#fef3c7;border-color:#fcd34d;color:#92400e}.change-list{margin:4px 0 0 14px;padding:0;list-style:none}.change-list li{margin:1px 0}.change-field{font-weight:600}.change-field:after{content:":";margin-right:4px}.comms-list li{margin-bottom:8px}.comms-feature{margin-left:6px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;text-transform:none}.comms-subject{margin-top:1px;max-width:640px;overflow-wrap:anywhere}.bell-wrap{position:relative;display:inline-flex}.bell-btn{position:relative;font-size:16px;padding:6px 10px}.bell-badge{position:absolute;top:-2px;right:-2px;background:#dc2626;color:#fff;border-radius:999px;font-size:10px;font-weight:700;line-height:1;padding:3px 5px;min-width:16px;text-align:center}.bell-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.nav-count-badge{display:inline-block;margin-left:5px;background:#dc2626;color:#fff;border-radius:999px;font-size:10px;font-weight:700;line-height:1;padding:3px 5px;min-width:16px;text-align:center;vertical-align:2px}.rec-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rec-head h1{margin:0}.rec-list{list-style:none;padding:0;margin:10px 0;max-width:760px}.rec-item{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-bottom:10px;background:#fff}.rec-item.rec-open{border-left:4px solid #dc2626}.rec-row1{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.rec-stars{letter-spacing:1px}.rec-stars-low{color:#dc2626}.rec-stars-high{color:#d97706}.rec-age{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}.rec-age-warn{color:#d97706;font-weight:700}.rec-age-crit{color:#dc2626;font-weight:700}.rec-contact{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0 2px;font-size:14px}.rec-contact a{text-decoration:none}.rec-feedback{margin:8px 0;padding:6px 10px;border-left:3px solid #fcd34d;background:#fffbeb;white-space:pre-wrap;font-size:14px;border-radius:0 6px 6px 0}.rec-row2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}.rec-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rec-resolution{margin-top:8px;font-size:13px;color:var(--muted)}.rec-resolution-note{white-space:pre-wrap;margin-top:2px}.rec-resolve{margin-top:8px}.rec-resolve textarea{width:100%}.rec-resolve-btns{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.rec-thank{margin-top:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media screen and (max-width: 640px){.rec-contact{flex-direction:column;gap:6px}.rec-contact a{padding:4px 0;font-size:16px}.rec-age{margin-left:0;width:100%}}.notify-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:41;width:360px;max-width:92vw;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px #0f172a24}.notify-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.notify-head-actions{display:flex;align-items:center;gap:4px}.notify-panel ul{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto}.notify-item{display:flex;gap:8px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 12px;cursor:pointer;font:inherit}.notify-item:hover{background:#f8fafc}.notify-item.unread{background:#eff6ff}.notify-item.unread:hover{background:#dbeafe}.notify-icon{flex:none}.notify-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.notify-title{font-weight:600;font-size:13px;overflow-wrap:anywhere}.notify-body{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notify-when{flex:none;white-space:nowrap}.notify-empty{padding:16px 12px}.pay-report-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:14px}.pay-report-table th,.pay-report-table td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left}.pay-report-table .num{text-align:right;white-space:nowrap}.pay-report-total{font-size:18px;margin-top:14px;text-align:right}.lookup-results{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:6px;border:1px solid var(--line);border-radius:6px;padding:4px;background:var(--panel)}.lookup-results .btn{width:100%;text-align:left}.cust-quick-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;justify-content:center}.cal-clickable{cursor:pointer}.cal-clickable:hover{background:#f8fafc}.invoice-page{max-width:960px;margin:0 auto}.invoice-doc{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-top:12px}.invoice-doc.link-refused{text-align:center;padding-top:40px;padding-bottom:40px}.invoice-doc.link-refused .inv-title{margin:0 0 10px}.invoice-doc.link-refused p{margin:0 auto;max-width:36em}.void-stamp{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font-size:72px;font-weight:900;letter-spacing:8px;color:#b91c1c29;border:6px solid rgba(185,28,28,.22);border-radius:12px;padding:4px 30px;pointer-events:none;z-index:5}.invoice-voided .inv-input{color:var(--muted)}.inv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid var(--text);padding-bottom:14px}.inv-company{font-size:20px;font-weight:800}.inv-logo{max-height:60px;max-width:220px}.inv-meta{text-align:right}.inv-title{font-size:22px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.ref-code-block{margin:12px 0;padding:12px 14px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:var(--panel, #f8fafc);text-align:center}.ref-code-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted, #64748b)}.ref-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:28px;font-weight:800;letter-spacing:.12em;margin:4px 0;-webkit-user-select:all;user-select:all}.review-referral{margin-top:18px;padding-top:14px;border-top:1px solid var(--border, #e5e7eb)}.review-referral-lead{margin:0 0 8px}.review-referral-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.review-referral-actions .btn{min-height:44px}.ref-url-line{margin-top:8px;font-size:12px;word-break:break-all;text-align:center}.ref-code-badge,.ref-code-inline strong{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em}.book-referral-ok{color:#15803d}.book-referral-miss{color:#b45309}@media (max-width: 768px){.customer-detail .board-actions .btn{min-height:44px}}.credit-chip{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;white-space:nowrap}.credit-chip.credit-soon{background:#fffbeb;color:#b45309;border-color:#fcd34d}h2 .credit-chip,h3 .credit-chip{vertical-align:middle;font-weight:600}.credit-list{list-style:none;padding:0;margin:6px 0 0}.credit-list li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:4px 0;border-bottom:1px solid var(--border, #e5e7eb)}.credit-list li:last-child{border-bottom:0}.ref-tools{margin:8px 0}.ref-url{font-size:11px;background:var(--panel, #f1f5f9);padding:2px 6px;border-radius:4px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}.ref-picked{display:flex;gap:4px;align-items:center}.ref-results{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.credit-panel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--line);border-radius:8px;padding:8px 12px;margin:10px 0}.doc-dates{margin:0 0 10px}.doc-dates-open{border:1px solid var(--line);border-radius:8px;padding:12px 14px}.doc-dates-open label{display:block;font-size:12px}.doc-dates-open .inv-input{width:100%;margin:3px 0}.doc-dates-open .notice{display:block;margin:2px 0 0}.doc-letterhead{display:grid;grid-template-columns:minmax(0,1fr) 44% minmax(0,1fr);align-items:start;gap:16px;text-align:left}.doc-letterhead-brand{text-align:center}.doc-letterhead .doc-logo{max-height:132px;max-width:100%;width:auto;object-fit:contain;display:block;margin:0 auto}.doc-letterhead .doc-logo-fallback{font-size:26px;line-height:1.15}.doc-letterhead .doc-logo-fallback,.doc-letterhead .doc-letterhead-left{color:#10142c;font-weight:700}.doc-letterhead-left{font-size:14px;line-height:1.45;overflow-wrap:anywhere}.doc-letterhead .doc-website{margin-top:6px;font-size:13px}.doc-letterhead .doc-website a{color:#10142c;font-weight:700;text-decoration:underline}.doc-letterhead .doc-letterhead-meta{text-align:right;font-size:12px;line-height:1.5}.doc-meta-number{font-weight:700}.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.inv-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.inv-items{width:100%;border-collapse:collapse;margin-top:8px}.inv-items th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px}.inv-items td{padding:4px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.inv-items th.num,.inv-items td.num{text-align:right}.inv-input{border:1px solid var(--line);border-radius:6px;padding:5px 8px;width:100%}.inv-input.num{text-align:right;width:100%}.inv-items{table-layout:fixed}.inv-items:not(.inv-items-readonly) th:nth-child(1),.inv-items:not(.inv-items-readonly) td:nth-child(1){width:6%;text-align:center}.inv-items:not(.inv-items-readonly) th:nth-child(2),.inv-items:not(.inv-items-readonly) td:nth-child(2){width:52%}.inv-items:not(.inv-items-readonly) th:nth-child(3),.inv-items:not(.inv-items-readonly) td:nth-child(3){width:12%}.inv-items:not(.inv-items-readonly) th:nth-child(4),.inv-items:not(.inv-items-readonly) td:nth-child(4){width:8%}.inv-items:not(.inv-items-readonly) th:nth-child(5),.inv-items:not(.inv-items-readonly) td:nth-child(5){width:10%}.inv-items:not(.inv-items-readonly) th:nth-child(6),.inv-items:not(.inv-items-readonly) td:nth-child(6){width:12%}.inv-items-readonly th:nth-child(1),.inv-items-readonly td:nth-child(1){width:56%}.inv-items-readonly th:nth-child(2),.inv-items-readonly td:nth-child(2){width:10%}.inv-items-readonly th:nth-child(3),.inv-items-readonly td:nth-child(3){width:17%}.inv-items-readonly th:nth-child(4),.inv-items-readonly td:nth-child(4){width:17%}.inv-items-readonly td:first-child{overflow-wrap:anywhere;white-space:pre-wrap}.inv-amount{position:relative}.inv-remove{position:absolute;right:-22px;top:50%;transform:translateY(-50%);padding:2px 6px}.inv-remove-word{display:none}.inv-taxhead{text-align:center}.inv-leftcol{vertical-align:top}.inv-leftcol .mic-btn{width:100%;padding:3px 4px;margin-bottom:4px}.inv-draghandle{display:block;min-width:44px;min-height:44px;line-height:44px;text-align:center;color:var(--muted);cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;font-size:18px;margin-bottom:2px}body.inv-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}tr.inv-dragsource td{opacity:.35}tr.inv-drop-before td{box-shadow:inset 0 3px 0 0 var(--primary)}tr.inv-drop-after td{box-shadow:inset 0 -3px 0 0 var(--primary)}.inv-drag-ghost{position:fixed;top:0;left:0;z-index:1000;pointer-events:none;background:var(--panel, #fff);border:1px solid var(--primary);border-radius:6px;padding:6px 12px;font-size:13px;box-shadow:0 6px 18px #0000002e;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inv-taxchk{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--muted);justify-content:center}.inv-desc{width:100%;resize:vertical;min-height:56px;field-sizing:content;font:inherit;line-height:1.35}.inv-desc-print,.inv-text{white-space:pre-wrap}.doc-terms-text{font-size:12px;line-height:1.5}.inv-taxcol{text-align:center;width:44px}.mic-btn{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 8px;cursor:pointer;font-size:13px;white-space:nowrap}.mic-btn.listening{background:#fee2e2;border-color:#fca5a5;color:#b91c1c;animation:micpulse 1.2s ease-in-out infinite}@keyframes micpulse{50%{opacity:.55}}.notes-with-mic{display:flex;gap:6px;align-items:flex-start}.notes-with-mic textarea{flex:1}.dictated-field{display:flex;gap:6px;align-items:flex-start;width:100%}.dictated-field textarea{flex:1;min-width:0}.mic-interim{font-size:12px;font-style:italic;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:center}@media screen and (max-width: 768px){.sms-reply .mic-btn,.sms-reply .mic-interim{display:none}.dictated-field .mic-btn{min-height:44px}}.inv-adjust{display:flex;gap:4px;align-items:center;margin-top:4px;justify-content:flex-end}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.inv-editor{overflow-x:visible;padding-right:0}.inv-editor .inv-items{display:block;min-width:0;table-layout:auto}.inv-editor .inv-items thead{display:none}.inv-editor .inv-items tbody{display:block}.inv-editor .inv-items tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(96px,auto);grid-template-areas:"tax  tax  tax" "desc desc desc" "qty  unit amt";gap:6px 10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.inv-editor .inv-items:not(.inv-items-readonly) td:nth-child(n){display:block;width:auto;padding:0;border-bottom:0}.inv-editor .inv-items:not(.inv-items-readonly) td:nth-child(1){grid-area:tax}.inv-editor .inv-items:not(.inv-items-readonly) td:nth-child(2){grid-area:desc}.inv-editor .inv-items:not(.inv-items-readonly) td:nth-child(3){display:none}.inv-editor .inv-items:not(.inv-items-readonly) td:nth-child(4){grid-area:qty}.inv-editor .inv-items:not(.inv-items-readonly) td:nth-child(5){grid-area:unit}.inv-editor .inv-items:not(.inv-items-readonly) td:nth-child(6){grid-area:amt}.inv-editor .inv-items td[data-label]:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin-bottom:2px}.inv-editor .inv-items td.num,.inv-editor .inv-items td.num:before{text-align:left}.inv-editor .inv-items td.inv-amount,.inv-editor .inv-items td.inv-amount:before{text-align:right}.inv-editor .inv-desc{width:100%;min-height:76px;font-size:16px;line-height:1.4}.inv-editor .inv-items .inv-input.num{width:100%;min-height:44px;font-size:16px;text-align:left}.inv-editor .inv-items td.inv-amount{position:static;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:16px;font-weight:600}.inv-editor .inv-adjnote{font-weight:400;text-align:right}.inv-editor .inv-remove{position:static;transform:none;right:auto;top:auto;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);color:#b91c1c;background:var(--panel)}.inv-editor .inv-remove-word{display:inline}.inv-editor .inv-items:not(.inv-items-readonly) td:nth-child(1){display:flex;align-items:center;gap:10px}.inv-editor .inv-leftcol .mic-btn{width:auto;min-height:44px;padding:6px 12px;margin:0}.inv-editor .inv-taxchk{font-size:14px;min-height:44px}.inv-editor .inv-taxchk input{width:20px;height:20px}.inv-editor .inv-adjust{justify-content:flex-start;flex-wrap:wrap;margin-top:6px}.inv-editor .inv-adjust-ctl{justify-content:flex-start}.inv-editor .inv-adjust-open,.inv-editor .inv-adjust-modebtn,.inv-editor .inv-adjust-clear{min-height:44px;min-width:44px}.inv-editor .inv-adjust-val{min-height:44px;font-size:16px}.inv-editor .inv-adjnote{overflow-wrap:normal;word-break:normal}.inv-addrow .btn{min-height:44px;font-size:15px;padding:10px 14px}}@media screen{.inv-row-flash>td{background:#eff6ff}.inv-row-flash>td:first-child{box-shadow:inset 3px 0 0 var(--primary)}}.inv-adjnote{line-height:1.2;margin-top:2px}.inv-adjust-open{border:1px solid transparent;background:none;color:var(--muted);font-size:13px;line-height:1;border-radius:6px;padding:4px 7px;cursor:pointer;min-width:28px;min-height:28px;opacity:.55}.inv-adjust-open:hover,.inv-adjust-open:focus-visible{opacity:1;background:#f1f5f9;border-color:var(--line)}.inv-adjust-ctl{display:flex;align-items:center;gap:4px;justify-content:flex-end;flex-wrap:wrap}.inv-adjust-mode{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.inv-adjust-modebtn{border:0;background:#fff;color:var(--muted);cursor:pointer;font-weight:700;font-size:13px;line-height:1;padding:7px 9px;min-width:30px;min-height:32px}.inv-adjust-modebtn+.inv-adjust-modebtn{border-left:1px solid var(--line)}.inv-adjust-modebtn.on{background:var(--primary);color:#fff}.inv-adjust-val{width:100%;min-height:32px;padding:5px 7px}.inv-adjust-clear{border:0;background:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:1;padding:4px 5px;min-width:26px;min-height:28px;border-radius:6px}.inv-adjust-clear:hover,.inv-adjust-clear:focus-visible{color:var(--danger);background:#fef2f2}.share-field{display:flex;flex-direction:column;gap:4px;min-width:0;grid-column:span 2}.share-toggle{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;width:max-content;max-width:100%}.share-opt{position:relative;display:inline-flex;align-items:center;padding:0 10px;min-height:36px;font-size:13px;color:var(--muted);background:#fff;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.share-opt+.share-opt{border-left:1px solid var(--line)}.share-opt.on{background:var(--primary);color:#fff;font-weight:600}.share-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.share-opt:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:-2px}.share-input{display:flex;align-items:center;gap:6px;min-width:0}.share-input input{flex:1 1 auto;min-width:0;width:auto}.share-unit{color:var(--muted);font-weight:600;flex:0 0 auto}.inv-addrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}.inv-empty-hint{margin:8px 0 4px}.pb-picker{width:min(620px,100%)}.pb-search{width:100%;margin-bottom:10px}.pb-list{max-height:46vh;overflow-y:auto;border:1px solid var(--line);border-radius:8px}.pb-group{padding:2px 0}.pb-cat{padding:6px 10px 2px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.pb-item{display:flex;width:100%;justify-content:space-between;gap:10px;align-items:baseline;background:none;border:none;border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;cursor:pointer}.pb-item:last-child{border-bottom:none}.pb-item:hover{background:var(--panel)}.pb-item-name{font-weight:600}.pb-item-desc{font-weight:400;margin-top:2px}.pb-item-price{white-space:nowrap;font-variant-numeric:tabular-nums}.pb-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.pb-table{width:100%;border-collapse:collapse;margin-top:10px}.pb-table th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px}.pb-table td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}.pb-table td.num,.pb-table th.num{text-align:right;font-variant-numeric:tabular-nums}.pb-table input{width:100%}.pb-rowbtns{white-space:nowrap}.pb-rowbtns .btn{display:inline-flex;align-items:center}.pb-rowbtns .btn+.btn{margin-left:4px}.pb-inactive td{opacity:.55}.cust-sel{width:1%;min-width:44px;text-align:center}.cust-sel input{width:44px;height:44px;margin:0;display:block}.org-block{margin:10px 0;padding:12px 16px}.org-member{padding:8px 0;border-top:1px solid var(--line)}.org-member:first-of-type{border-top:none}.org-member-name{font-weight:600}.org-member-addr{padding-left:2px}.org-dialog{margin:10px 0;padding:12px 16px}.cust-chev{width:1%;min-width:44px}.cust-chev-btn{min-width:44px;min-height:44px}tr.cust-expand td{background:#f8fafc}tr.cust-expand .cd-line{padding:2px 0}.sms-file-chip{display:block;margin:2px 0 6px;padding:8px 12px;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0;color:#1d4ed8;font-size:13px;text-decoration:none;max-width:340px;overflow-wrap:anywhere;min-height:28px}.sms-bubble.out .sms-file-chip{background:#ffffffeb}.sms-file-chip.expired{color:#64748b;pointer-events:none;text-decoration:line-through transparent}.pb-draghandle{width:1%;min-width:44px;text-align:center;color:var(--muted);cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;font-size:16px;line-height:32px}th.pb-draghandle{cursor:default}body.pb-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}.pb-dragsource td{opacity:.35}tr.pb-drop-before td{box-shadow:inset 0 3px 0 0 var(--primary)}tr.pb-drop-after td{box-shadow:inset 0 -3px 0 0 var(--primary)}.pb-ghost{position:fixed;top:0;left:0;z-index:1000;pointer-events:none;background:var(--panel, #fff);border:1px solid var(--primary);border-radius:6px;padding:6px 12px;font-size:13px;box-shadow:0 6px 18px #0000002e;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-undo-toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:1000;display:flex;gap:10px;align-items:center;background:#1e293b;color:#fff;border-radius:8px;padding:10px 14px;font-size:13px;box-shadow:0 8px 24px #0000004d;max-width:min(92vw,480px)}.pb-undo-toast .btn{color:#93c5fd;min-height:44px}.pb-import{margin-top:18px;border-top:1px solid var(--line);padding-top:6px}.pb-map{margin-top:10px}.pb-maptable{border-collapse:collapse;margin-top:6px}.pb-maptable th,.pb-maptable td{padding:4px 10px 4px 0;text-align:left;vertical-align:middle}.import-summary{list-style:none;padding:0;margin:8px 0;display:flex;gap:18px;flex-wrap:wrap}.import-summary li{font-size:15px}.settings-layout{display:flex;gap:24px;align-items:flex-start}.settings-sidebar{flex:0 0 180px;display:flex;flex-direction:column;gap:2px;position:sticky;top:20px}.settings-nav-item{padding:8px 12px;border-radius:6px;color:var(--text);font-weight:600}.settings-nav-item:hover{background:var(--panel);text-decoration:none}.settings-nav-item.active{background:var(--primary);color:#fff}.settings-content{flex:1;min-width:0}.settings-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:12px 0}.settings-form{max-width:760px}.settings-form textarea{width:100%}.tab-add{border:1px dashed var(--line);color:var(--primary)}.sharing-toggle{font-size:14px;color:var(--text);margin:6px 0}.logo-field{display:flex;align-items:center;gap:14px;margin-bottom:8px}.logo-actions .btn{position:relative;overflow:hidden}.tenant-switcher{width:auto;max-width:180px;background:#1e293b;color:#e2e8f0;border-color:#334155}.tenant-switcher option{background:#fff;color:var(--text)}.tenant-switcher-group{display:inline-flex;align-items:center;gap:6px}.tenant-switcher-logo{width:20px;height:20px;object-fit:contain;border-radius:3px;flex:0 0 auto}.inv-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.inv-included{font-style:italic;color:var(--muted)}.inv-price::placeholder{font-style:italic}.amt-link{color:inherit;text-decoration:underline dotted;text-underline-offset:2px}.amt-link:hover{text-decoration-style:solid}.sms-sched-strip{border-bottom:1px solid var(--line);background:#fffbeb}.sms-sched-head{display:block;width:100%;text-align:left;padding:8px 12px;border:0;background:none;cursor:pointer;font-weight:600;font-size:14px}.sms-sched-head:hover,.sms-sched-strip-row:hover{background:#fef3c7}.sms-sched-strip-row{display:block;width:100%;text-align:left;padding:6px 12px;border:0;border-top:1px dashed var(--line);background:none;cursor:pointer}.sms-sched-mark{margin-left:4px}@media (max-width: 768px){.sms-sched-head,.sms-sched-strip-row{min-height:44px}}.inv-totals{margin-left:auto;width:260px;margin-top:12px}.inv-total-row{display:flex;justify-content:space-between;padding:4px 8px}.inv-total-row input{width:110px}.inv-grand{border-top:2px solid var(--text);font-weight:800;font-size:18px;margin-top:4px}.inv-notes{margin-top:18px}.inv-notes textarea{width:100%}@media print{.topbar,.no-print{display:none!important}.print-only{display:block!important}.content{max-width:none;padding:0}.print-title{display:block;font-size:18px;font-weight:700;margin:0 0 12px}.table-wrap{border:0}.invoice-doc{border:0;padding:0}.inv-input{border:0!important;padding:2px 0!important;background:transparent}.inv-input.num{text-align:right}.mic-btn{display:none!important}.inv-taxchk input[type=checkbox]{pointer-events:none}.inv-leftcol{text-align:center}.doc-letterhead,.doc-letterhead *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc-letterhead .doc-logo{max-height:104px}.doc-letterhead-left{font-size:13px}.doc-letterhead .doc-website a{text-decoration:none}.doc-terms-text{font-size:11px}}@media screen and (max-width: 640px){.inv-parties{grid-template-columns:1fr}.inv-totals{width:100%}.invoice-doc{padding:16px}.inv-items-readonly{display:block}.inv-items-readonly thead{display:none}.inv-items-readonly tbody{display:block}.inv-items-readonly tr{display:flex;flex-wrap:wrap;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line)}.inv-items-readonly td,.inv-items-readonly td.num{display:block;width:auto;border:none;padding:0;text-align:left}.inv-items-readonly td:first-child{flex:1 1 100%;margin-bottom:3px}.inv-items-readonly td:nth-child(3):not(:empty):before{content:"× ";color:var(--muted)}.inv-items-readonly td:nth-child(2){color:var(--muted)}.inv-items-readonly td:nth-child(3){margin-left:5px;color:var(--muted)}.inv-items-readonly td:nth-child(4){margin-left:auto;font-weight:600;white-space:nowrap}}.field-error{border-color:var(--danger)!important;background:#fef2f2}.field-error:focus{outline-color:#fecaca}input.readonly{background:#f8fafc;color:var(--muted);cursor:default}.lookup{position:relative;margin-bottom:8px}.addr-results{position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;max-height:320px;overflow-y:auto}.lookup-item{display:block;width:100%;text-align:left;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:#fff;cursor:pointer;font:inherit}.lookup-item:hover{background:#eff6ff}.pay-tech-search{position:relative}.payroll-page .pay-badge-settled,.pay-report .pay-badge-settled{background:#dcfce7;color:#166534;border-color:#86efac}.payroll-page .pay-badge-awaiting,.pay-report .pay-badge-awaiting{background:#fef9c3;color:#854d0e;border-color:#fde047}.payroll-page .pay-row-awaiting td{color:#64748b}@media print{.payroll-page .jobs-table tbody tr{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.payroll-page .pay-sel-col{width:34px;text-align:center}.payroll-page .pay-collapse-btn{padding:2px 10px;font-size:15px;line-height:1}.payroll-page .pay-awaiting-hint{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.payroll-page .pay-sel-col input[type=checkbox]{width:18px;height:18px}@media screen and (max-width: 768px){.payroll-page .pay-sel-col input[type=checkbox],.payroll-page .pay-head input[type=checkbox]{width:24px;height:24px}.payroll-page .btn,.payroll-page .tab{min-height:44px}.payroll-page .jobs-table td{padding-top:8px;padding-bottom:8px}}.pay-tech-results{position:absolute;top:100%;left:0;z-index:20;display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:2px;min-width:160px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;max-height:220px;overflow-y:auto;padding:4px}.pay-tech-results .btn{width:100%;text-align:left}.lookup-empty{padding:10px 14px;display:flex;align-items:center;gap:8px}.cal-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.cal-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cal-nav select{width:auto;max-width:220px}.cal-search{position:relative;display:inline-flex;align-items:center}.cal-search input{width:190px;padding-right:26px}.cal-search-clear{position:absolute;right:4px;border:0;background:none;cursor:pointer;color:#64748b;padding:2px 4px;line-height:1}.cal-search-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:60;width:340px;max-width:92vw;max-height:380px;overflow-y:auto;background:#fff;border:1px solid var(--line, #d9e0ea);border-radius:8px;box-shadow:0 8px 24px #0f172a2e}.cal-search-row{display:block;width:100%;text-align:left;border:0;background:none;cursor:pointer;padding:8px 10px;border-bottom:1px solid var(--line, #eef1f5)}.cal-search-row:last-child{border-bottom:0}.cal-search-row:hover{background:#f1f5fb}.cal-search-row.up{box-shadow:inset 3px 0 #16a34a}.csr-up{margin-left:8px;font-size:10px;font-weight:700;color:#16a34a;text-transform:uppercase;letter-spacing:.04em}.csr-line1{display:block;font-size:13px;color:#0f172a}.csr-line2{display:block;font-size:12px;color:#475569;margin-top:2px}.cal-search-empty{padding:10px}.cal-title{flex:1;text-align:center;font-size:17px;font-weight:700;min-width:220px}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-month-head{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:2px 6px;text-align:center}.cal-cell{background:var(--panel);border:1px solid var(--line);border-radius:6px;min-height:110px;padding:3px;display:flex;flex-direction:column;gap:3px}.cal-cell.dim{background:#f8fafc}.cal-cell.dim .cal-cell-date{color:#cbd5e1}.cal-cell.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.cal-cell-date{font-size:12px;font-weight:700;color:var(--muted)}.cal-holiday{pointer-events:none;font-size:11px;line-height:1.3;padding:1px 5px;background:#f5f3ff;border:1px dashed #c4b5fd;border-radius:4px;color:#5b21b6;font-style:italic;overflow-wrap:anywhere}.cal-holiday-time{font-style:normal;font-size:10px;color:#7c3aed;white-space:nowrap}.cal-holiday-banner{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.cal-holiday-banner .cal-holiday{font-size:12px;padding:3px 8px}.cal-cell.dim .cal-holiday{opacity:.55}.svc-card{display:flex;flex-direction:column;gap:0;text-align:left;border:1px solid var(--line);border-left:4px solid #888;border-radius:6px;padding:2px 6px;background:#fff;cursor:pointer;font:inherit;font-size:12px;line-height:1.25;min-width:0;flex-shrink:0}.svc-card:hover{box-shadow:0 2px 6px #0000001f}.svc-card.svc-flagged{box-shadow:inset 0 0 0 2.5px var(--flag)}.svc-card.svc-flagged:hover{box-shadow:inset 0 0 0 2.5px var(--flag),0 2px 6px #0000001f}.svc-card .svc-addr.muted{color:inherit}.svc-line1{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;min-width:0}.svc-line1-time{display:contents}.svc-clock,.svc-dispatch-queued{font-size:10px;flex-shrink:0}.svc-line1 strong{flex-shrink:0}.svc-type{font-weight:800;font-size:10px;letter-spacing:.02em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svc-done{margin-left:auto;color:#16a34a;font-weight:900;flex-shrink:0}.svc-addr{display:block}.svc-card .svc-addr{font-weight:600}.svc-card .svc-addr strong{font-weight:700}.svc-card .tech-chip{overflow:hidden}.svc-card .tech-chip,.svc-card .tech-chip.small{font-size:11px}.svc-card .tech-inline{display:none}.cal-grid.cal-week{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-dayview{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.cal-hour-row{display:flex;border-bottom:1px solid var(--line);min-height:44px}.cal-hour-row:last-child{border-bottom:0}.cal-hour-row.empty{min-height:30px}.cal-hour-label{width:70px;flex:0 0 70px;padding:6px 10px;font-size:12px;color:var(--muted);border-right:1px solid var(--line);text-align:right}.cal-hour-cards{flex:1;display:flex;flex-wrap:wrap;gap:6px;padding:6px}.cal-hour-cards .svc-card{min-width:220px}.cal-grid{display:grid;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;gap:8px;overflow-x:auto;align-items:start}.cal-drag-ghost{position:fixed;left:0;top:0;z-index:300;width:170px;pointer-events:none;opacity:.92;filter:drop-shadow(0 8px 18px rgb(0 0 0 / .3))}.cal-drag-ghost .svc-card{width:100%;cursor:grabbing}.cal-cell.cal-drop-target,.cal-day.cal-drop-target{outline:2px solid var(--primary);outline-offset:-2px;background:#eff6ff}.svc-card.svc-drag-src{opacity:.35}.svc-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.cal-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}.cal-move-card p{margin:8px 0 12px}.cal-move-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media (hover: hover) and (pointer: fine){.cal-hover{position:fixed;z-index:200;width:280px;background:#fff;border:1px solid var(--line, #d9e0ea);border-radius:8px;box-shadow:0 8px 24px #0f172a2e;padding:10px 12px;font-size:13px;line-height:1.45;display:flex;flex-direction:column;gap:4px}.cal-hover-name{font-weight:700;font-size:14px}.cal-hover-phone{font-weight:600;text-decoration:none}.cal-hover-phone:hover{text-decoration:underline}.cal-hover-addr{overflow-wrap:break-word}.cal-hover-svc{font-weight:600;font-size:12px;text-transform:uppercase;color:#475569}.cal-hover-notes{white-space:pre-wrap;overflow-wrap:break-word;color:#334155;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}}.cal-day{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px;min-height:220px;display:flex;flex-direction:column;gap:6px}.cal-day.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.cal-day-head{font-size:12px;color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--line)}.cal-card{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid var(--line);border-left:4px solid #888;border-radius:6px;padding:6px 8px;background:#fff;cursor:pointer;font:inherit}.cal-card:hover{box-shadow:0 2px 6px #0000001a}.cal-cust{font-weight:600}.cust-history{margin-top:10px}.cust-history h3{margin:0 0 4px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.cust-history ul{list-style:none;margin:0;padding:0}.cust-history li{padding:2px 0}.cust-history-amt{color:#16a34a}.cust-hist-toggle{cursor:pointer;padding:2px 0;border-radius:4px}.cust-hist-toggle:hover{background:#f8fafc}.cust-hist-chev{display:inline-block;width:14px;color:var(--muted)}.cust-hist-expand{margin:2px 0 6px 14px;padding:4px 0 4px 8px;border-left:2px solid var(--line)}.cust-hist-expand div{padding:1px 0}.cust-hist-notes{white-space:pre-wrap;word-break:break-word}@media (max-width: 768px){.cust-hist-toggle{min-height:44px;display:flex;align-items:center;flex-wrap:wrap}}.perm-roles{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}.perm-group{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--panel)}.perm-group h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.perm-check{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding:4px 0;font-size:14px;color:var(--text);cursor:pointer}.perm-check input{margin-top:2px;width:auto;flex:0 0 auto}@media (max-width: 900px){.grid-4{grid-template-columns:repeat(2,1fr)}.toolbar .search{width:100%}.form-cols-2,.perm-grid{grid-template-columns:1fr}.settings-layout{flex-direction:column}.settings-sidebar{flex-direction:row;flex-wrap:wrap;position:static;width:100%}}.nav-burger,.nav-mobile-extra,.sms-back{display:none}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.topbar{position:sticky;top:0;z-index:50;height:56px;padding:0 10px;gap:8px}.topbar-right{gap:6px}.topbar-right .brand-logo,.topbar-right .brand-logo-pen,.topbar-right .user-chip-btn,.topbar-right>.btn-ghost,.topbar-right>.tenant-switcher-group{display:none}.brand{font-size:14px;letter-spacing:.08em}.nav-burger{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:1px solid #334155;color:#e2e8f0;border-radius:8px;font-size:19px;cursor:pointer}.topbar nav{display:none}.topbar nav.nav-open{display:flex;flex-direction:column;gap:2px;position:absolute;top:56px;left:0;right:0;background:#10142c;padding:8px 12px 14px;z-index:49;box-shadow:0 16px 28px #00000059;max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto}.topbar nav.nav-open a{padding:12px 14px;font-size:15px}.nav-mobile-extra{display:flex;flex-direction:column;align-items:stretch;gap:8px;border-top:1px solid #242c55;margin-top:8px;padding-top:12px}.nav-mobile-extra .tenant-switcher-group{width:100%}.nav-mobile-extra .tenant-switcher{display:block;flex:1 1 auto;width:auto;max-width:none;min-height:44px}.nav-mobile-item{color:#cbd5e1;text-align:left;padding:12px 14px;min-height:44px}.nav-mobile-item:hover{background:#1e293b;color:#fff}.topbar-right .btn-primary{padding:8px 12px;white-space:nowrap}.content{padding:12px}.detail-head{flex-wrap:wrap;gap:8px}.detail-actions{flex-wrap:wrap}.form-actions{flex-wrap:wrap;align-items:center}.form-meta{margin-left:0;text-align:left;width:100%}.kv{grid-template-columns:96px 1fr}.report-tabs{overflow-x:auto}.report-tabs a{white-space:nowrap}.rev-mode{flex-wrap:wrap;gap:6px}.rev-mode-label{margin-left:0}.inv-head{flex-wrap:wrap}.inv-meta{text-align:left}.doc-letterhead{grid-template-columns:1fr;gap:10px;text-align:center}.doc-letterhead-brand{order:-1}.doc-letterhead-left,.doc-letterhead .doc-letterhead-meta{text-align:center}.payments-panel{max-width:none}.comms-subject{max-width:100%}.bell-backdrop{z-index:50}.notify-panel{position:fixed;left:8px;right:8px;top:62px;width:auto;max-width:none;z-index:51}.notify-panel ul{max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px)}}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.content-wide{padding-left:4px;padding-right:4px}.cal-grid.cal-week{grid-template-columns:repeat(7,minmax(150px,1fr))}.cal-hour-label{width:52px;flex:0 0 52px;padding:6px}.cal-hour-cards .svc-card{min-width:0;flex:1 1 100%}.cal-nav{flex-wrap:wrap}.cal-nav select{max-width:150px}.cal-nav .cal-search{flex:1 1 100%}.cal-nav .cal-search input{width:100%;min-height:36px}.cal-nav .cal-search-pop{left:0;right:0;width:auto;max-width:none}.cal-title{min-width:0;font-size:15px;text-align:left}.cal-month{grid-template-columns:repeat(7,160px);gap:6px;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.cal-month .svc-line1,.cal-month .svc-line1-time{display:block}.cal-month .svc-type{display:block;white-space:normal;overflow:visible;text-overflow:clip}.cal-month .svc-card{overflow-wrap:break-word}.cal-month .svc-card .tech-inline{display:inline-flex}.cal-month .svc-card .tech-chip:not(.tech-inline){display:none}.cal-month-zoom-wrap{overflow:visible}}@media screen and (max-width: 820px){.sms-back{display:inline-flex;padding:8px 12px}.sms-conv-head{justify-content:flex-start;gap:8px}.sms-conv-head strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.sms-inbox.has-thread .sms-threads{display:none}.sms-inbox:not(.has-thread) .sms-conversation{display:none}.sms-threads{max-height:none}.sms-conversation{max-height:none;height:calc(100vh - 210px);height:calc(100dvh - 210px)}.sms-bubble{max-width:88%}}.msg-tpl-stage-label{padding:8px 12px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc}.msg-tpl-thread{min-height:44px;display:flex;flex-direction:column;justify-content:center;gap:2px}.msg-tpl-thread .internal-badge{align-self:flex-start}.msg-tpl-editor-body{flex:1;overflow-y:auto;padding:12px 16px}.msg-tpl-editor-body label{margin-top:10px}.msg-tpl-editor-body label:first-of-type{margin-top:0}.msg-tpl-tap44{min-height:44px}.lh-section{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.lh-rows{display:flex;flex-direction:column;gap:8px;margin-top:8px}.lh-row{display:grid;grid-template-columns:24px 130px 1fr;align-items:center;gap:10px}.lh-row input[type=checkbox]{width:18px;height:18px}.lh-row-label{font-size:13px;color:var(--text);font-weight:600}.lh-logo-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lh-logo-thumb{max-height:28px;max-width:60px;border-radius:4px;border:1px solid var(--line)}.lh-preview-wrap{display:flex;flex-direction:column;margin-top:12px}.lh-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:#fff}.lh-preview-id{font-size:12px;line-height:1.5}.lh-preview-brand{text-align:center}@media (max-width: 480px){.lh-row{grid-template-columns:24px 1fr;grid-template-areas:"cb label" "cb field"}.lh-row input[type=checkbox]{grid-area:cb;align-self:start;margin-top:12px}.lh-row-label{grid-area:label}.lh-row input:not([type=checkbox]),.lh-row textarea{grid-area:field}.lh-preview{grid-template-columns:1fr}}@media screen and (max-width: 480px){.btn{padding:10px 14px;min-height:44px}.btn-ghost,input,select,textarea{min-height:44px}input[type=checkbox],input[type=radio]{min-height:0;width:18px;height:18px}.job-form input,.job-form select{min-height:44px}.tab{padding:10px 14px}.settings-nav-item{padding:12px 14px}label.inline{gap:8px;padding:4px 0}.pager-pages .btn{min-width:44px}.docs-toggle{padding:6px 0;min-height:44px}.phone-row{grid-template-columns:minmax(0,1fr) 52px 84px;gap:6px}.grid-4{gap:8px}.book-addr-row{flex-wrap:wrap}.book-addr-row input{flex:1 1 90px}.inv-remove{right:-18px;padding:2px 6px;min-height:0}.pay-record input[type=number]{width:110px}.pay-record .pay-check-input{width:100px}.pay-record .pay-fee input[type=number]{width:80px}.review-stars{font-size:30px}.inv-adjust-open{min-height:40px;min-width:40px;font-size:15px;opacity:.7}.inv-adjust-modebtn{min-height:40px;min-width:34px;font-size:15px;padding:8px 10px}.inv-adjust-val{min-height:40px;font-size:15px}.inv-adjust-clear{min-height:40px;min-width:34px;font-size:15px}.map-frame{height:180px}.photo-thumb img{height:84px;width:112px}.invoice-doc{padding:14px}.void-stamp{font-size:46px;letter-spacing:4px}.legal-head{padding:12px;gap:10px;flex-wrap:wrap}}@media screen and (max-width: 640px){.board-actions{flex-wrap:wrap}.board-actions .spacer{flex-basis:100%;height:0}.board-filters .search{min-width:0;flex:1 1 100%}.table-wrap.doc-cards{overflow-x:visible;border:0;background:transparent}.doc-list-table thead{display:none}.doc-list-table,.doc-list-table tbody,.doc-list-table tr,.doc-list-table td{display:block;width:auto}.doc-list-table tr{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;padding:4px 12px}.doc-list-table tr.row-selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.doc-list-table td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);text-align:right;white-space:normal;overflow-wrap:anywhere}.doc-list-table tr td:last-child{border-bottom:0}.doc-list-table td:before{content:attr(data-label);flex:0 0 auto;text-align:left;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--muted)}.doc-list-table td.num{text-align:right}.doc-list-table td.chkcol{justify-content:flex-start;width:auto;text-align:left}.doc-list-table td.chkcol:before{content:"Select"}.doc-list-table td.chkcol input{width:18px;height:18px}.doc-list-table td.page-msg{justify-content:center;text-align:center}.doc-list-table td.page-msg:before{content:none}}.my-jobs .mj-toggle{margin-left:auto;white-space:nowrap}.my-jobs tr.mj-done-today td{background:#f0fdf4}.my-jobs tr.mj-done-today td:first-child{box-shadow:inset 3px 0 #16a34a}.my-jobs .mj-today-tag{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;color:#15803d;background:#dcfce7;border-radius:999px;padding:1px 8px;vertical-align:middle}.my-jobs .mj-more{display:flex;justify-content:center;padding:12px 0 4px}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.my-jobs .board-actions{flex-wrap:wrap}.my-jobs .board-actions .muted{flex:1 1 100%;order:3}.my-jobs .board-actions button.mj-toggle{margin-left:auto;min-height:44px;padding:10px 16px;font-size:15px}.my-jobs .mj-more button.btn{min-height:44px;width:100%;font-size:15px}.my-jobs tr.mj-done-today td:first-child{box-shadow:none}.my-jobs .doc-cards tr.mj-done-today{box-shadow:inset 3px 0 #16a34a}}.view-as-banner{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;width:100%;box-sizing:border-box;padding:8px 16px;background:#b45309;color:#fff;font-size:15px;line-height:1.35}.view-as-banner .view-as-text{min-width:0}.view-as-banner .view-as-exit{background:#fff;color:#7c2d12;border-color:#fff;font-weight:600;min-height:36px;white-space:nowrap}@media screen and (max-width: 768px),screen and (orientation: landscape) and (max-width: 1024px) and (max-height: 540px){.view-as-banner{padding:8px 10px}.view-as-banner .view-as-exit{min-height:44px;padding:10px 14px}.shell.view-as-active .topbar{top:var(--view-as-h, 0px)}.shell.view-as-active .topbar nav.nav-open{max-height:calc(100vh - 56px - var(--view-as-h, 0px));max-height:calc(100dvh - 56px - var(--view-as-h, 0px))}}@media screen and (max-width: 640px){.jobs-table th.th-sortable{padding-top:14px;padding-bottom:14px;min-height:44px}}.customer-detail .panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}.customer-detail .panel h3{margin:0 0 10px;font-size:14px}.customer-detail .cd-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.customer-detail .cd-grid .panel{margin-bottom:14px}.customer-detail .cd-line{padding:3px 0}.customer-detail .cd-line .badge{margin-left:6px}.customer-detail .cd-notes{white-space:pre-wrap;margin-top:8px}.customer-detail .cd-addr-group{margin-bottom:14px}.customer-detail .cd-addr-head{margin:10px 0 6px;font-size:13px}@media screen and (max-width: 700px){.customer-detail .cd-grid{grid-template-columns:1fr}}.flash-note{position:fixed;left:50%;bottom:18px;transform:translate(-50%);max-width:min(92vw,560px);background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;border-radius:10px;padding:10px 16px;font-size:14px;box-shadow:0 4px 16px #0000001f;cursor:pointer;z-index:90}.pb-tabs{display:flex;gap:6px;margin:0 0 8px;flex-wrap:wrap}.pb-tab{flex:1 1 auto;min-width:120px;padding:8px 12px;border:1px solid var(--line);background:#f8fafc;border-radius:8px;cursor:pointer;font-size:14px;color:#334155}.pb-tab.on{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:600}.pb-tab:hover{border-color:#94a3b8}@media screen and (max-width: 768px){.pb-tab{min-height:44px}}.pb-settings>*{max-width:720px}.pb-settings>.pb-tablewrap{max-width:none}.pb-tablewrap{overflow-x:auto}@media screen and (min-width: 769px){.settings-form{max-width:none}.settings-card-body input:not([type=checkbox]):not([type=radio]):not(.pb-settings *),.settings-card-body select:not(.pb-settings *){max-width:480px}.settings-card-body textarea,.settings-card-body .pb-tablewrap,.settings-card-body table{max-width:none}}.settings-layout:has(.pb-settings)>.settings-content{min-width:0}.pb-settings,.pb-tablewrap{min-width:0;max-width:100%}.pb-settings .pb-table th:nth-child(n+3),.pb-settings .pb-table td:nth-child(n+3){width:1%;white-space:nowrap}.pb-settings .pb-table{width:auto}.pb-settings .pb-table th:nth-child(2),.pb-settings .pb-table td:nth-child(2){width:460px;min-width:180px}@media screen and (min-width: 769px){.pb-settings .pb-rowbtns .btn{padding:2px 8px;font-size:13px}}@media screen and (max-width: 768px){.settings-content{max-width:100%}.pb-settings .pb-table{min-width:744px}.pb-settings .pb-rowbtns .btn{min-height:44px}}.job-messages{margin-top:12px}.job-messages h2{margin:0 0 2px}.jm-who{margin:0 0 10px}.jm-thread{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc}.jm-msg{max-width:82%;padding:8px 10px;border-radius:12px;overflow-wrap:anywhere}.jm-inbound{align-self:flex-start;background:#fff;border:1px solid var(--line)}.jm-outbound{align-self:flex-end;background:#e0e9f7;border:1px solid #d9e5f5}.jm-body{white-space:pre-wrap;line-height:1.4}.jm-meta{margin-top:3px}.jm-compose{display:flex;gap:8px;align-items:flex-end;margin-top:10px}.jm-compose textarea{flex:1 1 auto;min-width:0;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit;font-size:16px;line-height:1.4}.jm-compose .jm-send{flex:0 0 auto;min-height:44px}.jm-sig{margin:6px 0 0}@media screen and (max-width: 640px){.jm-compose{flex-direction:column;align-items:stretch}.jm-compose .jm-send{width:100%}.jm-thread{max-height:260px}.jm-msg{max-width:92%}}.cust-archived>td{opacity:.55}.cust-archived>td:first-child{box-shadow:inset 3px 0 #94a3b8}.cust-archived-badge{background:#e2e8f0;color:#475569;margin-left:8px;font-size:11px;font-weight:600;vertical-align:middle}.email-thread{padding:0}.email-row{padding:10px 12px;border-bottom:1px solid #eef2f7}.email-row-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.email-subject{margin-top:4px;font-weight:600;overflow-wrap:anywhere}.email-chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:#eef2fb;color:#1e3a8a}.dlv{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569}.dlv-ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.dlv-bad{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.dlv-wait{background:#f8fafc;color:#475569}.email-open{margin-top:8px;display:grid;gap:8px}.email-body-frame{width:100%;height:420px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.email-body-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:0}.email-events{margin:0;padding-left:18px}@media screen and (max-width: 820px){.email-body-frame{height:360px}}.email-config-now{margin:6px 0 10px}.email-config-from{overflow-wrap:anywhere}.email-config-records td{vertical-align:top}.email-config-value code{overflow-wrap:anywhere;word-break:break-all}.email-config-records code{font-size:12px}.svc-zip{display:none}@media screen and (min-width: 769px) and (max-width: 1479px) and (min-height: 541px){.topbar{flex-wrap:wrap;height:auto;min-height:92px;padding:6px 20px 0;row-gap:0}.topbar>.brand-link{order:1}.topbar>.topbar-right{order:2;margin-left:auto}.topbar>nav{order:3;flex:1 1 100%;flex-wrap:wrap;gap:2px 4px;padding:4px 0 8px}.topbar>nav a{white-space:nowrap}.cal-month .svc-addr.svc-street{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-month .svc-addr.svc-street .svc-zip{display:inline}.cal-month .svc-addr.svc-city{display:none}}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:12px}.confirm-card{background:var(--panel);color:var(--text);border-radius:var(--radius);box-shadow:0 12px 40px #00000040;width:min(440px,100%);padding:16px 16px 12px}.confirm-title{margin:0 0 8px;font-size:16px}.confirm-msg{margin:0 0 12px;white-space:pre-line;font-size:15px;line-height:1.4}.confirm-input{width:100%;box-sizing:border-box;margin-bottom:12px;min-height:44px;font-size:16px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.confirm-actions .btn{min-height:44px;min-width:96px;font-size:15px}@media (max-width: 768px){.toolbar .btn{min-height:44px}}@media (max-width: 768px){.pay-head .btn{min-height:44px}}@media (max-width: 768px){.form-head-actions .btn{min-height:44px}}.locator .map-frame{height:420px;margin:12px 0}.locator-list{list-style:none;padding:0;margin:0 0 12px}.locator-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 4px;border-bottom:1px solid var(--line, #eee);min-height:44px}.locator-name{font-weight:600}.locator-name-btn{display:inline-flex;align-items:center;min-height:44px;background:none;border:0;padding:0 2px;margin:0 -2px;font:inherit;font-weight:600;color:inherit;cursor:pointer}.locator-name-btn:hover,.locator-name-btn:focus-visible{text-decoration:underline}.locator-dot{width:10px;height:10px;border-radius:50%;background:#15803d;flex:0 0 auto}.locator-list li.is-stale .locator-dot{background:#b45309}.locator-list li.is-dark .locator-dot{background:#4b5563}.locator-age{font-variant-numeric:tabular-nums;color:#15803d}.locator-age.is-stale{color:#b45309}.locator-age.is-dark{color:#4b5563}.locator-notice{max-width:520px}.locator-notice-preview{border:1px solid var(--line, #ddd);border-radius:8px;padding:12px;margin-bottom:8px}.locator-body{display:flex;flex-direction:column;gap:4px}.locator-map-col,.locator-side{min-width:0}.locator-empty{min-height:420px;margin:12px 0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;border:1px dashed var(--line, #ddd);border-radius:var(--radius)}@media (min-width: 1024px){.locator-body{flex-direction:row;align-items:flex-start;gap:20px}.locator-map-col{flex:2 1 0}.locator-side{flex:1 1 0;max-width:380px}.locator .map-frame{height:560px;margin:12px 0 0}.locator-empty{height:560px;min-height:0;margin:12px 0 0}}@media (max-width: 768px){.locator .map-frame{height:300px}.locator-empty{min-height:300px}}.tickler-control{margin:8px 0 12px}.tickler-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tickler-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.tickler-row{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.tickler-row .tickler-text{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}.tickler-row.due .tickler-date{color:#b91c1c;font-weight:600}.tickler-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:6px}.tickler-form label{display:flex;flex-direction:column;gap:2px}.tickler-form .tickler-note{flex:1 1 220px;min-width:0}.tickler-form .tickler-note input{width:100%;box-sizing:border-box}.tickler-form .tickler-hint{flex-basis:100%}.tickler-actions{display:inline-flex;gap:4px}
