:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--crm-bg:#f8fafc;--crm-surface:#fff;--crm-surface-muted:#f1f5f9;--crm-border:#e2e8f0;--crm-border-strong:#e2e8f0;--crm-text:#0f172a;--crm-text-muted:#475569;--crm-primary:#2563eb;--crm-primary-dark:#1d4ed8;--crm-success:#16a34a;--crm-warning:#d97706;--crm-danger:#dc2626;--crm-ink:#102030;--crm-accent:#0f766e;--crm-amber-soft:#fff7ed;--crm-green-soft:#ecfdf5;--crm-blue-soft:#eff6ff;--crm-red-soft:#fef2f2;--crm-shadow:0 18px 36px #0f172a12;font-family:Segoe UI,sans-serif}*{box-sizing:border-box}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:linear-gradient(180deg, #eef4f8 0, #f8fafc 260px), var(--crm-bg);color:var(--crm-text);margin:0}.app-shell{min-height:100vh}.container{max-width:1240px;margin:0 auto;padding:1.4rem}.dashboard-header{background:var(--crm-surface);border:1px solid var(--crm-border);box-shadow:var(--crm-shadow);border-radius:.8rem;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:1.25rem 1.5rem;display:flex}.dashboard-header-main{flex-direction:column;gap:.2rem;display:flex}.dashboard-greeting-row{align-items:center;gap:.75rem;display:flex}.dashboard-greeting-logo-link{flex:0 0 40px;align-items:center;width:40px;height:40px;display:flex}.dashboard-greeting-logo{flex:0 0 40px;width:40px;height:40px;display:block}.dashboard-header-actions{align-items:center;gap:1rem;margin-left:auto;display:flex}.profile-menu{position:relative}.profile-trigger{border:1px solid var(--crm-border);background:var(--crm-surface);width:44px;height:44px;color:var(--crm-text-muted);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.profile-trigger:hover{background:var(--crm-surface-muted)}.profile-trigger-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c2.5-4 13.5-4 16 0'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:18px;height:18px}.currency-compact{display:none}.profile-panel{background:var(--crm-surface);border:1px solid var(--crm-border);z-index:20;border-radius:1rem;flex-direction:column;gap:.75rem;width:min(300px,100vw - 3rem);padding:.85rem;display:flex;position:absolute;top:calc(100% + .75rem);right:0;box-shadow:0 24px 48px #0f172a24}@media (min-width:701px){.dashboard-header{border-radius:8px;align-items:center;min-height:86px;padding:.86rem 1.15rem;box-shadow:0 6px 18px #0f172a09}.dashboard-header-main{gap:.16rem}.dashboard-greeting-row{gap:.7rem}.dashboard-greeting-logo-link,.dashboard-greeting-logo{flex-basis:30px;width:30px;height:30px}.dashboard-header h1{letter-spacing:0;color:#111827;font-size:1.16rem;font-weight:720;line-height:1.42rem}.dashboard-header p{color:#64748b;margin-top:.08rem;font-size:.82rem;line-height:1.2rem}.dashboard-header-actions{gap:.55rem}.header-cta{border-radius:7px;min-height:36px;padding:.5rem .75rem;font-size:.82rem;font-weight:740;box-shadow:0 6px 14px #2563eb21}.profile-trigger{border-radius:7px;width:36px;height:36px}.dashboard-overview{border-radius:8px;box-shadow:0 6px 18px #0f172a09}.overview-card{gap:.28rem;min-height:76px;padding:.72rem .95rem}.overview-kicker{color:#64748b;letter-spacing:0;text-transform:none;font-size:.72rem;font-weight:650}.overview-card strong,.overview-card-primary strong{color:#0f172a;font-variant-numeric:tabular-nums;font-size:1.18rem;font-weight:720;line-height:1.42rem}.overview-card-primary strong{font-size:1.32rem;line-height:1.55rem}.overview-card span:last-child{color:#64748b;font-size:.76rem;line-height:1.05rem}}.dashboard-header{border-radius:8px;box-shadow:0 10px 24px #0f172a0e}.overview-card:hover,.dashboard-panel:hover,.quotes-section:hover,.followups-section:hover,.dashboard-empty-start:hover,.followup-row:hover,.job-row:hover{box-shadow:none;transform:none}.overview-card:hover,.dashboard-panel:hover,.quotes-section:hover,.followups-section:hover,.dashboard-empty-start:hover{border-color:var(--crm-border)}.overview-kicker,.panel-kicker{color:#64748b;letter-spacing:.08em;font-size:.68rem;font-weight:800}.dashboard-panel,.followups-section{padding:.9rem}.dashboard-panel-heading h2,.section-header-row h2,.followups-section h2{letter-spacing:0;margin:0;font-size:.96rem;font-weight:760;line-height:1.2rem}.followups-title,.dashboard-panel-heading{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.dashboard-pipeline-panel{padding:.9rem}.pipeline-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.pipeline-stats strong{color:var(--crm-text);font-size:.95rem}.followups-list,.jobs-list{border:1px solid var(--crm-border);background:#fff;border-radius:8px;flex:auto;gap:0;max-height:292px;overflow-y:auto}.followup-row:hover,.job-row:hover,.quotes-table tbody tr:hover{border-color:var(--crm-border);background:#f8fafc}.followup-status-late{color:#991b1b;background:#fee2e2}.followup-status-pending{color:#92400e;background:#fef3c7}.followup-status-sent{color:#166534;background:#dcfce7}.followup-notes,.job-address{color:#64748b;font-size:.78rem}.followup-actions{justify-content:flex-end;gap:.35rem}.job-row{gap:.7rem}.job-main{gap:.65rem}.job-schedule{color:#0f172a;font-size:.82rem;font-weight:800}.job-schedule-divider{background:#cbd5e1}.quotes-section{padding:.9rem}.quotes-count{color:#475569;background:#f8fafc;border-radius:999px;font-weight:800}.filter-form input,.filter-form select{box-shadow:none;border-radius:6px}.filter-form button{min-height:40px;box-shadow:none;border-radius:6px}.quotes-table .quotes-amount-cell{text-align:right;font-weight:750}.quotes-table th:nth-child(3){text-align:right}@media (max-width:900px){.dashboard-workbench .dashboard-work-grid,.dashboard-workbench .dashboard-empty-start{order:1}.dashboard-workbench .dashboard-overview{order:2}.dashboard-workbench .quotes-section{order:3}.dashboard-work-grid,.dashboard-work-grid-no-jobs{grid-template-columns:1fr}.dashboard-outcomes-row{flex-wrap:wrap;grid-column:auto}}@media (max-width:700px){.dashboard-workbench{gap:.7rem}.dashboard-header{border-radius:8px}.dashboard-overview{border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-card{border-right:1px solid var(--crm-border);border-bottom:1px solid var(--crm-border);min-height:76px;padding:.72rem}.overview-card:nth-child(2n){border-right:0}.overview-card:nth-last-child(-n+2){border-bottom:0}.overview-card strong,.overview-card-primary strong{font-size:1.18rem;line-height:1.42rem}.overview-card span:last-child{font-size:.74rem;line-height:1rem}.dashboard-panel,.quotes-section,.followups-section,.dashboard-empty-start{border-radius:8px;padding:.78rem}.dashboard-work-grid>.followups-section{max-height:none}.dashboard-work-grid .followups-list,.dashboard-work-grid .jobs-list{max-height:none;overflow:visible}.followups-list,.jobs-list,.table-wrap{border-radius:8px}.followup-row{grid-template-columns:minmax(0,1fr);gap:.62rem;padding:.72rem .76rem .76rem .92rem}.followup-main{gap:.58rem}.followup-actions{gap:.45rem;width:100%}.followups-needed .mark-followed-btn,.followups-needed .followup-snooze-btn{border-radius:6px;min-height:40px;padding:.55rem .6rem}.followups-needed .mark-followed-btn{flex:auto}.followups-needed .followup-snooze-btn{flex:0 0 34%}.job-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.62rem;padding:.75rem}.job-schedule{flex-direction:row;justify-content:flex-start;gap:.45rem;min-width:0}.job-action-group{justify-content:space-between;align-items:center;width:100%}.job-actions{width:auto}.job-mark-btn{justify-content:center;width:auto;min-width:0;min-height:40px}.filter-form{padding:.75rem}.quotes-table tbody tr.quotes-row-clickable{box-shadow:none;border-radius:8px;gap:.5rem .7rem;padding:.75rem}.quotes-table td[data-label=Amount]{font-size:.92rem}.quotes-table td[data-label=Open] a,.quotes-row-action{color:#334155;background:#fff;border-radius:6px;min-height:32px}.quotes-table .status-pill{border-radius:6px;min-width:86px;height:30px}.primary-btn{position:static}.dashboard-outcomes-row{gap:.55rem;padding-top:.1rem;font-size:.76rem}}.dashboard-workbench .dashboard-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.85rem;margin-bottom:.9rem;display:grid}.dashboard-workbench .dashboard-work-grid-no-jobs{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-work-grid>.followups-section{flex-direction:column;min-width:0;max-height:360px;display:flex}.dashboard-work-grid .followups-header,.dashboard-work-grid .dashboard-panel-heading{flex:none;align-items:center;margin-bottom:.72rem}.dashboard-work-grid .followups-title,.dashboard-work-grid .dashboard-panel-heading{justify-content:space-between;gap:.75rem;width:100%;display:flex}.dashboard-work-grid .followups-title h2,.dashboard-work-grid .dashboard-panel-heading h2{color:#0f172a;letter-spacing:0;margin:0;font-size:.96rem;font-weight:760;line-height:1.2rem}.dashboard-work-grid .panel-count{color:#475569;background:#f8fafc;border-radius:999px;flex:none;min-width:26px;height:24px;font-size:.76rem}.dashboard-work-grid .followups-list,.dashboard-work-grid .jobs-list{border:1px solid var(--crm-border);background:#fff;border-radius:8px;flex:auto;max-height:292px;overflow-y:auto}.dashboard-work-grid .followup-row,.dashboard-work-grid .job-row{border:0;border-bottom:1px solid var(--crm-border);min-height:0;box-shadow:none;background:#fff;border-radius:0;transform:none}.dashboard-work-grid .followup-row:hover,.dashboard-work-grid .job-row:hover{border-color:var(--crm-border);box-shadow:none;background:#f8fafc;transform:none}.dashboard-work-grid .followup-row:last-child,.dashboard-work-grid .job-row:last-child{border-bottom:0}.dashboard-work-grid .followup-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem .78rem .7rem .95rem}.dashboard-work-grid .followup-actions{flex:none;justify-content:flex-end;gap:.38rem}.dashboard-work-grid .followup-notes{color:#64748b;margin-top:.24rem;font-size:.78rem;line-height:1.05rem}.dashboard-work-grid .job-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.72rem 1rem;display:grid}.dashboard-work-grid .job-main{min-width:0}.dashboard-work-grid .job-details{flex-direction:column;gap:.32rem;min-width:0;display:flex}.dashboard-work-grid .job-title-row{justify-content:space-between;align-items:baseline;gap:.45rem;display:flex}.job-meta-grid{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.7rem;display:grid}.dashboard-work-grid .job-schedule{grid-area:1/1}.dashboard-work-grid .job-address{grid-area:1/2}.dashboard-work-grid .job-schedule{color:#334155;white-space:nowrap;flex-direction:column;justify-content:center;align-items:flex-start;gap:.12rem;min-width:86px;font-size:.82rem;line-height:1.1rem;display:flex}.job-schedule-time{color:#0f172a;align-items:center;gap:.32rem;font-weight:760;display:inline-flex}.dashboard-work-grid .job-schedule-divider{display:none}.dashboard-work-grid .job-amount-badge{color:#64748b;white-space:nowrap;font-size:.78rem;font-weight:700}.dashboard-work-grid .job-mark-btn{min-width:126px}.dashboard-outcomes-row{color:#64748b;grid-column:1/-1;align-items:center;gap:.85rem;padding:.48rem .15rem 0;font-size:.8rem;line-height:1.1rem;display:flex}.dashboard-outcomes-row span{align-items:baseline;gap:.22rem;display:inline-flex}.dashboard-outcomes-row span+span:before{content:"/";color:#cbd5e1;margin-right:.62rem}.dashboard-outcomes-row strong{color:#0f172a;font-weight:760}@media (max-width:900px){.dashboard-workbench .dashboard-work-grid,.dashboard-workbench .dashboard-work-grid-no-jobs{grid-template-columns:1fr}.dashboard-outcomes-row{flex-wrap:wrap;grid-column:auto}}@media (max-width:700px){.dashboard-work-grid>.followups-section{max-height:none}.dashboard-work-grid .followups-list,.dashboard-work-grid .jobs-list{max-height:none;overflow:visible}.dashboard-work-grid .followup-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.dashboard-work-grid .followup-actions{width:100%}.dashboard-work-grid .job-row{grid-template-columns:minmax(0,1fr);gap:1rem;overflow:hidden}.dashboard-work-grid .job-main,.dashboard-work-grid .job-details{min-width:0}.dashboard-work-grid .job-title-row{width:100%}.job-meta-grid{grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.dashboard-work-grid .job-schedule{flex-direction:row;grid-area:auto/1;justify-content:flex-start;gap:.45rem;min-width:0}.job-action-group{grid-template-columns:1fr;justify-content:stretch;align-items:stretch;width:100%;min-width:0;display:grid}.job-action-group .job-amount-badge{color:#64748b;justify-self:start;max-width:100%;font-size:.82rem;overflow:hidden}.job-action-group .job-actions,.job-action-group .job-mark-btn{width:100%}.dashboard-work-grid .job-mark-btn{min-width:0;max-width:100%}.dashboard-outcomes-row{gap:.55rem;padding-top:.1rem;font-size:.76rem}}@media (min-width:701px){.dashboard-header{border-radius:8px;align-items:center;min-height:104px;padding:1rem 1.35rem;box-shadow:0 8px 22px #0f172a0b}.dashboard-header-main{gap:.28rem}.dashboard-greeting-row{gap:.85rem}.dashboard-greeting-logo-link,.dashboard-greeting-logo{flex-basis:34px;width:34px;height:34px}.dashboard-header h1{letter-spacing:0;font-size:1.42rem;font-weight:700;line-height:1.75rem}.dashboard-header p{color:#64748b;margin-top:.18rem;font-size:.95rem;line-height:1.35rem}.dashboard-header-actions{gap:.65rem}.header-cta{border-radius:8px;min-height:40px;padding:.58rem .82rem;font-size:.88rem;font-weight:800;box-shadow:0 8px 18px #2563eb29}.profile-trigger{border-radius:8px;width:40px;height:40px}.dashboard-overview{border-radius:8px;box-shadow:0 8px 22px #0f172a0a}.overview-card{gap:.35rem;min-height:86px;padding:.82rem 1rem}.overview-kicker{color:#475569;letter-spacing:.075em;font-size:.66rem;font-weight:800}.overview-card strong,.overview-card-primary strong{color:#0f172a;font-size:1.32rem;font-weight:760;line-height:1.55rem}.overview-card-primary strong{font-size:1.48rem;line-height:1.7rem}.overview-card span:last-child{color:#64748b;font-size:.78rem;line-height:1.1rem}}.profile-panel a,.profile-panel button{font-family:inherit}.profile-panel-header{flex-direction:column;gap:.45rem;display:flex}.profile-name{color:var(--crm-text);margin:0;font-size:1rem;font-weight:700}.profile-badge{background:var(--crm-surface-muted);border:1px solid var(--crm-border);width:fit-content;color:var(--crm-primary);letter-spacing:0;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.profile-action-list{flex-direction:column;gap:.15rem;display:flex}.profile-menu-action{width:100%;min-height:42px;color:var(--crm-text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:.95rem;font-weight:650;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s;display:flex}.profile-menu-action:hover{background:var(--crm-surface-muted);border-color:var(--crm-border);transform:none}.profile-menu-action:disabled{opacity:.7;cursor:wait}.profile-menu-action-icon{opacity:.78;background-repeat:no-repeat;background-size:contain;flex:0 0 18px;width:18px;height:18px}.profile-menu-action-preferences .profile-menu-action-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z'/%3E%3Cpath d='M19.4 15a1.8 1.8 0 0 0 .36 1.98l.05.05a2.1 2.1 0 0 1-2.97 2.97l-.05-.05A1.8 1.8 0 0 0 14.8 19.6a1.8 1.8 0 0 0-1.55 1.05l-.03.07a2.1 2.1 0 0 1-3.84 0l-.03-.07A1.8 1.8 0 0 0 7.8 19.6a1.8 1.8 0 0 0-1.98.36l-.05.05A2.1 2.1 0 0 1 2.8 17.04l.05-.05A1.8 1.8 0 0 0 3.2 15a1.8 1.8 0 0 0-1.05-1.55l-.07-.03a2.1 2.1 0 0 1 0-3.84l.07-.03A1.8 1.8 0 0 0 3.2 8a1.8 1.8 0 0 0-.36-1.98l-.05-.05A2.1 2.1 0 0 1 5.76 3l.05.05A1.8 1.8 0 0 0 7.8 3.4a1.8 1.8 0 0 0 1.55-1.05l.03-.07a2.1 2.1 0 0 1 3.84 0l.03.07A1.8 1.8 0 0 0 14.8 3.4a1.8 1.8 0 0 0 1.98-.36l.05-.05a2.1 2.1 0 0 1 2.97 2.97l-.05.05A1.8 1.8 0 0 0 19.4 8c.14.7.55 1.3 1.2 1.55l.07.03a2.1 2.1 0 0 1 0 3.84l-.07.03A1.8 1.8 0 0 0 19.4 15Z'/%3E%3C/svg%3E")}.profile-menu-action-billing .profile-menu-action-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M7 15h3'/%3E%3C/svg%3E")}.profile-menu-action-feedback .profile-menu-action-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M8 9h8'/%3E%3Cpath d='M8 13h5'/%3E%3C/svg%3E")}.profile-menu-action-feedback{color:var(--crm-text)}.profile-menu-action-signout{color:#334155;border-radius:.65rem;margin-top:.25rem}.profile-menu-action-signout:hover{background:var(--crm-surface-muted);border-color:var(--crm-border);color:#0f172a}.profile-menu-action-signout .profile-menu-action-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='M16 17l5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E")}.profile-preference-field{flex-direction:column;gap:.4rem;display:flex}.profile-preference-label{color:var(--crm-text-muted);font-size:.78rem;font-weight:700}.profile-preference-select{border:1px solid var(--crm-border);background:var(--crm-surface-muted);width:100%;color:var(--crm-text);font:inherit;border-radius:.8rem;padding:.8rem .95rem;font-weight:600}.profile-menu-error{color:var(--crm-danger);margin:.05rem 0 .25rem 2.75rem;font-size:.82rem;line-height:1.3}.profile-panel-footer{border-top:1px solid var(--crm-border);flex-direction:column;gap:.45rem;padding-top:.8rem;display:flex}.profile-version{color:var(--crm-text-muted);font-size:.78rem}.profile-legal-links{flex-wrap:wrap;align-items:center;gap:.55rem;display:inline-flex}.profile-legal-links a{color:var(--crm-primary);font-size:.82rem;text-decoration:none}.profile-legal-links a:hover{text-decoration:underline}.profile-footer-divider{background:var(--crm-border);width:1px;height:14px}.dashboard-header-stats{align-items:center;gap:.8rem;display:flex}.header-stat{flex-direction:column;gap:.2rem;min-width:120px;display:flex}.header-stat-label{text-transform:uppercase;letter-spacing:.02em;color:var(--crm-text-muted);font-size:11px;font-weight:500}.header-stat-value{color:var(--crm-text);font-size:1.125rem;font-weight:600}.preferences-header{background:var(--crm-surface);border:1px solid var(--crm-border);box-shadow:var(--crm-shadow);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.preferences-title-row{align-items:center;gap:.85rem;display:flex}.preferences-title-row h1,.preferences-section-heading h2{color:var(--crm-text);margin:0}.preferences-kicker{color:var(--crm-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .15rem;font-size:.78rem;font-weight:700}.preferences-back-link{border:1px solid var(--crm-border);background:var(--crm-surface-muted);color:var(--crm-text);border-radius:.8rem;padding:.75rem .95rem;font-weight:700;text-decoration:none}.preferences-back-link:hover{background:#e2e8f0}.preferences-section{background:var(--crm-surface);border:1px solid var(--crm-border);box-shadow:var(--crm-shadow);border-radius:1rem;padding:1.5rem}.preferences-section-heading{max-width:620px}.preferences-section-heading p:last-child{color:var(--crm-text-muted);margin:.45rem 0 0}.branding-upload-field{max-width:560px;margin-top:1.25rem}.branding-upload-copy{margin-bottom:.5rem}.branding-upload-copy h3{align-items:center;gap:.4rem;margin:0;font-size:1rem;display:inline-flex}.branding-upload-microcopy{color:var(--crm-text-muted);margin:.45rem 0 0;font-size:.92rem;line-height:1.5}.branding-info-tooltip{width:18px;height:18px;color:var(--crm-text-muted);cursor:help;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex;position:relative}.branding-info-tooltip:after{content:attr(aria-label);border:1px solid var(--crm-border);color:#fff;opacity:0;pointer-events:none;z-index:5;background:#0f172a;border-radius:.7rem;width:210px;padding:.55rem .65rem;font-size:.78rem;font-weight:500;line-height:1.35;transition:opacity .14s;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 14px 28px #0f172a2e}.branding-info-tooltip:hover:after,.branding-info-tooltip:focus-visible:after{opacity:1}.branding-logo-dropzone{cursor:pointer;background:#fff;border:2px dashed #c7d3e3;border-radius:.9rem;justify-content:center;align-items:center;min-height:96px;padding:1rem;transition:border-color .16s,background .16s,box-shadow .16s;display:flex;position:relative}.branding-logo-dropzone:hover,.branding-logo-dropzone.is-dragging{border-color:var(--crm-primary);background:#fff;box-shadow:inset 0 0 0 1px #2563eb1f}.branding-logo-empty{color:var(--crm-text-muted);text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.branding-logo-empty strong{color:var(--crm-text)}.branding-upload-icon{background:#dbeafe url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V6'/%3E%3Cpath d='M8 10l4-4 4 4'/%3E%3Cpath d='M20 16v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2'/%3E%3C/svg%3E") 50%/18px no-repeat;border-radius:999px;width:34px;height:34px}.branding-logo-preview{text-align:center;flex-direction:column;align-items:center;gap:.65rem;min-width:0;padding:.25rem 0 0;display:flex}.branding-logo-clear{width:26px;height:26px;color:var(--crm-text-muted);cursor:pointer;box-shadow:none;background:#fff;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:inline-flex;position:absolute;top:.65rem;right:.75rem}.branding-logo-clear:hover{color:var(--crm-danger);background:0 0}.branding-logo-preview img{object-fit:contain;max-width:180px;max-height:56px}.branding-logo-preview span{max-width:100%;color:var(--crm-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.preferences-setting-field{flex-direction:column;gap:.45rem;max-width:560px;margin-top:1.25rem;display:flex}.preferences-setting-label{color:var(--crm-text);font-size:1rem;font-weight:700}.preferences-setting-select{border:1px solid var(--crm-border);width:fit-content;min-width:0;color:var(--crm-text);font:inherit;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1.15rem center;background-repeat:no-repeat;background-size:18px;border-radius:.8rem;padding:.72rem 3.1rem .72rem .9rem;font-weight:600}.quote-template-field{max-width:560px;margin-top:1.5rem}.quote-template-field h3{margin:0 0 .55rem;font-size:1rem}.quote-template-token-row{flex-wrap:wrap;gap:.45rem;margin-bottom:.6rem;display:flex}.quote-template-token-row button{border:1px solid var(--crm-border);color:var(--crm-text-muted);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:.35rem .65rem;font-size:.82rem;font-weight:700}.quote-template-token-row button:hover{color:var(--crm-text);background:#f8fafc;border-color:#cbd5e1}.quote-template-token-row button:focus-visible{outline-offset:2px;background:#fff;outline:2px solid #2563eb2e}.quote-template-editor{border:1px solid var(--crm-border-strong);width:100%;min-height:112px;color:var(--crm-text);font:inherit;white-space:pre-wrap;background:#fff;border-radius:.7rem;outline:none;padding:.75rem;line-height:1.5}.quote-template-editor:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1f}.quote-template-token{border:1px solid var(--crm-border);color:var(--crm-text-muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;padding:.12rem .45rem;font-size:.82rem;font-weight:700;line-height:1.35;display:inline-flex}.preferences-save-row{border-top:1px solid var(--crm-border);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;max-width:560px;margin-top:1.6rem;padding-top:1rem;display:flex}.preferences-save-btn{border-radius:.8rem;min-width:138px;padding-inline:1.2rem;box-shadow:0 10px 22px #2563eb2e}.preferences-save-btn:disabled{opacity:.75;cursor:wait;box-shadow:none}.preferences-save-error{color:var(--crm-danger);margin:0;font-size:.9rem;font-weight:700}.header-cta{border-radius:.6rem;justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.header-cta-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:16px;height:16px}.header-divider{background:var(--crm-border);width:1px;height:32px;display:inline-block}.dashboard-header h1{letter-spacing:0;margin:0;font-size:1.75rem;line-height:2.15rem}.dashboard-heading-mobile{display:none}.dashboard-header p{color:var(--crm-text-muted);margin:.35rem 0 0;font-size:1rem}.dashboard-overview{grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:.9rem;display:grid}.overview-card{background:var(--crm-surface);border:1px solid var(--crm-border);border-radius:.8rem;flex-direction:column;justify-content:space-between;gap:.8rem;min-height:126px;padding:1rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 24px #0f172a0e}.overview-card:before{content:"";background:#cbd5e1;width:4px;position:absolute;inset:0 auto 0 0}.overview-card-primary{background:var(--crm-surface);border-color:var(--crm-border);color:var(--crm-text)}.overview-card-primary:before{background:#0ea5e9}.overview-card:nth-child(2):before{background:#f97316}.overview-card:nth-child(3):before{background:#10b981}.overview-card:nth-child(4):before{background:#2563eb}.overview-kicker,.panel-kicker{color:var(--crm-text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:700}.overview-card-primary .overview-kicker,.overview-card-primary span{color:var(--crm-text)}.overview-card strong{color:var(--crm-text);letter-spacing:0;font-size:1.9rem;font-weight:750;line-height:2.15rem}.overview-card-primary strong{color:var(--crm-text);font-size:2.05rem;line-height:2.25rem}.overview-card:hover{border-color:#c7d7ea;transform:translateY(-1px);box-shadow:0 16px 30px #0f172a14}.dashboard-ops-grid{gap:.85rem;margin-bottom:.9rem;display:block}.dashboard-work-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.85rem;margin-bottom:.9rem;display:grid}.dashboard-work-grid .followups-section{margin-bottom:0}.dashboard-work-grid-no-jobs{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.upcoming-jobs-section.is-empty{padding:.85rem}.upcoming-jobs-section.is-empty h2{margin-bottom:.55rem;font-size:1rem}.upcoming-jobs-section.is-empty .empty-state{min-height:0;padding:.75rem .85rem;font-size:.9rem}.dashboard-panel,.quotes-section,.dashboard-empty-start{background:var(--crm-surface);border:1px solid var(--crm-border);border-radius:.8rem;padding:1rem;transition:border-color .16s,box-shadow .16s;box-shadow:0 12px 24px #0f172a0e}.dashboard-panel:hover,.quotes-section:hover,.dashboard-empty-start:hover{border-color:#c7d7ea;box-shadow:0 16px 30px #0f172a13}.dashboard-empty-start{background:linear-gradient(90deg,#eff6ffeb,#fffffff5),#fff;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.dashboard-empty-start h2{margin:.15rem 0 0;font-size:1.18rem;line-height:1.5rem}.dashboard-empty-start p{max-width:720px;color:var(--crm-text-muted);margin:.35rem 0 0;line-height:1.45rem}.billing-page{background:#f8fafc;justify-content:center;align-items:flex-start;min-height:100vh;padding:3.25rem 1.4rem;display:flex}.billing-paywall{flex-direction:column;gap:1rem;width:min(920px,100%);display:flex}.billing-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.billing-stripe-note{color:#94a3b8;font-size:.76rem;font-weight:700}.billing-content{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch;gap:1rem;display:grid}.billing-hero,.billing-panel{background:#fff;border:1px solid #dbe3ef;border-radius:.9rem;flex-direction:column;display:flex;box-shadow:0 16px 40px #0f172a14}.billing-hero{justify-content:flex-start;gap:.85rem;padding:1.5rem}.billing-brand-row{align-items:center;display:flex}.billing-brand-row img{display:block}.billing-paywall h1{max-width:480px;color:var(--crm-ink);letter-spacing:0;margin:0;font-size:clamp(2rem,3vw,2.65rem);line-height:1.06}.billing-paywall p{max-width:520px;color:var(--crm-text-muted);margin:0;font-size:.96rem;line-height:1.5}.billing-assurance-list{border-bottom:1px solid var(--crm-border);flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding-bottom:1rem;display:flex}.billing-assurance-list span{border:1px solid var(--crm-border);color:var(--crm-text-muted);background:#f8fafc;border-radius:999px;padding:.42rem .65rem;font-size:.78rem;font-weight:700}.billing-testimonial{background:#f5f9ff;border:1px solid #e2e8f0;border-left:0;border-right:0;border-radius:12px;margin:auto 0;padding:1rem 1.1rem}.billing-testimonial blockquote{color:var(--crm-ink);margin:0;font-size:.98rem;font-style:italic;font-weight:400;line-height:1.5}.billing-testimonial figcaption{color:var(--crm-text-muted);margin-top:.65rem;font-size:.82rem;font-style:normal;font-weight:400}.billing-panel{gap:.9rem;padding:1.2rem}.billing-panel-header,.billing-summary-list div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.billing-panel-header span,.billing-summary-list span{color:var(--crm-text-muted);font-size:.9rem;font-weight:700}.billing-panel-header strong{background:var(--crm-green-soft);color:var(--crm-success);border-radius:999px;padding:.3rem .55rem;font-size:.72rem}.billing-price-row{border-bottom:1px solid var(--crm-border);align-items:end;gap:.5rem;padding:.1rem 0 .55rem;display:flex}.billing-price-row strong{color:var(--crm-ink);font-size:3rem;line-height:.9}.billing-price-row span{color:var(--crm-text-muted);font-size:.95rem;font-weight:600}.billing-summary-list{flex-direction:column;gap:.35rem;display:flex}.billing-summary-list div{min-height:30px}.billing-summary-list strong{color:var(--crm-ink)}.billing-checkout-action{flex-direction:column;gap:.65rem;margin-top:.2rem;display:flex}.billing-checkout-btn{border-radius:.65rem;width:100%;min-height:48px;font-size:.95rem;font-weight:900;box-shadow:0 12px 22px #2563eb33}.billing-fine-print{color:var(--crm-text-muted);font-size:.88rem;line-height:1.45}.dashboard-panel-heading,.section-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.dashboard-panel-heading h2,.section-header-row h2{margin:.15rem 0 0;font-size:1.1rem;line-height:1.45rem}.pipeline-meter{background:#e2e8f0;border-radius:999px;height:12px;margin:0;display:flex;overflow:hidden}.dashboard-pipeline-panel{width:100%;min-height:0;padding:.85rem 1rem 1rem}.pipeline-body{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:center;gap:1.25rem;margin-top:.55rem;padding-bottom:.1rem;display:grid}.pipeline-meter span{min-width:0;display:block}.pipeline-meter-won{background:#10b981}.pipeline-meter-lost{background:#f97316}.pipeline-stats{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:.75rem;display:grid}.pipeline-stats span{border-left:1px solid var(--crm-border);color:var(--crm-text-muted);white-space:nowrap;justify-content:center;align-items:center;gap:.45rem;padding:.25rem .75rem;font-size:.9rem;display:flex}.pipeline-stats strong{color:var(--crm-text)}.primary-btn,button{background:var(--crm-primary);color:#fff;cursor:pointer;letter-spacing:.01em;box-shadow:none;border:none;border-radius:999px;padding:.7rem 1.1rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.primary-btn:hover,button:hover{background:var(--crm-primary-dark);transform:translateY(-1px)}.metric-summary{display:none}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1.75rem 0;display:grid}.kpi-card{border:1px solid var(--crm-border);background:#fff;border-radius:.9rem;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;display:flex;box-shadow:0 10px 18px #0f172a0f}.kpi-label{color:var(--crm-text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.78rem}.kpi-value{color:var(--crm-text);margin:.1rem 0 0;font-size:1.7rem;font-weight:700}.kpi-card>div{flex-direction:column;display:flex}.filter-panel{box-shadow:none;z-index:5;background:0 0;border:none;border-radius:.8rem;margin-bottom:1rem;padding:0;position:static;top:auto}.filter-form{border:1px solid var(--crm-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;border-radius:.8rem;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.6rem .85rem;display:flex;box-shadow:0 12px 24px #0f172a0f}.filter-form label{text-transform:uppercase;letter-spacing:.08em;color:var(--crm-text-muted);flex-direction:column;gap:.35rem;font-size:.78rem;display:flex}.checkbox-inline{align-items:center;gap:.35rem;flex-direction:row!important}.checkbox-centered,.checkbox-between{align-self:center;margin-top:0}.checkbox-inline input{width:auto}.surface-type-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;margin-top:.35rem;display:grid}.surface-chip-option{border:1px solid var(--crm-border);color:var(--crm-text);cursor:pointer;background:#fff;border-radius:.8rem;align-items:center;gap:.45rem;padding:.62rem .7rem;font-size:.9rem;font-weight:500;transition:border-color .15s,background-color .15s,color .15s;display:flex}.surface-chip-option input{opacity:0;pointer-events:none;position:absolute}.surface-chip-shape{background:#cbd5e1;border-radius:.2rem;flex:none;width:.75rem;height:.75rem}.surface-chip-option:nth-child(2n) .surface-chip-shape{border-radius:999px}.surface-chip-option:nth-child(3n) .surface-chip-shape{transform:rotate(45deg)}.surface-chip-option-active{border-color:var(--crm-primary);color:var(--crm-primary);background:#eff6ff}.surface-chip-option-active .surface-chip-shape{background:var(--crm-primary)}.custom-surface-types{border-top:1px solid #e2e8f0e6;margin-top:.55rem;padding-top:.55rem}.custom-surface-input-row{align-items:center;gap:.45rem;display:flex}.custom-surface-input-row input{min-height:38px;padding:.48rem .65rem;font-size:.9rem}.custom-surface-input-row button{border:1px solid var(--crm-primary);min-height:38px;color:var(--crm-primary);background:#fff;border-radius:.7rem;flex:none;padding:.45rem .75rem;font-size:.86rem;font-weight:700}.custom-surface-input-row button:hover{background:#f8fafc}.custom-surface-chip-row{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.custom-surface-chip{border:1px solid var(--crm-border);color:var(--crm-text);background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .45rem .3rem .65rem;font-size:.84rem;font-weight:600;display:inline-flex}.custom-surface-chip button{width:18px;height:18px;color:var(--crm-text-muted);box-shadow:none;background:0 0;border:none;border-radius:999px;padding:0;font-size:.8rem;line-height:1}.custom-surface-chip button:hover{background:var(--crm-surface-muted);color:var(--crm-danger)}.material-search-results{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.material-option{color:#1b2b3f;cursor:pointer;box-shadow:none;background:#f7f9fd;border:1px solid #c7d3e3;border-radius:999px;padding:.35rem .6rem}.material-option:hover{background:var(--crm-surface-muted)}.material-option-active{opacity:.35;pointer-events:none;border-color:#0000}.material-selection-divider{border-top:1px solid var(--crm-border);opacity:.65;width:100%;margin:.85rem 0 .75rem}.material-chips{flex-wrap:wrap;gap:.4rem;margin-top:0;display:flex}.material-chip{color:#1b2b3f;cursor:pointer;box-shadow:none;background:#eef2f8;border:1px solid #d2dbea;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .6rem;display:inline-flex}.material-chip:hover{background:#e3eaf6}.chip-x{font-weight:700;line-height:1}.surface-area-input{align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.surface-area-input input{max-width:200px}.surface-area-unit{color:#546d86;font-weight:600}.surface-area-unit sup{font-size:.7em}.helper-text{color:#546d86;margin:.35rem 0 0}.photo-dropzone{background:#f7f9fd;border:2px dashed #c7d3e3;border-radius:.9rem;justify-content:flex-start;align-items:center;gap:.75rem;margin-top:.35rem;padding:1rem;display:flex}.dropzone-row{align-items:center;gap:.75rem;width:100%;display:flex}.photo-dropzone.is-disabled{opacity:.6;cursor:not-allowed}.photo-dropzone.is-disabled button{pointer-events:none}.upload-trigger-btn{white-space:nowrap;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.7rem 1rem;display:inline-flex}.upload-trigger-btn:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V6'/%3E%3Cpath d='M8 10l4-4 4 4'/%3E%3Cpath d='M20 16v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;flex:none;width:16px;height:16px}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;margin-top:.6rem;display:grid}.photo-item{border:1px solid var(--crm-border);background:#fff;border-radius:.75rem;position:relative;overflow:hidden;box-shadow:0 6px 16px #0f172a14}.photo-item img{object-fit:cover;width:100%;height:110px;display:block}.photo-delete{color:#fff;cursor:pointer;background:#000;border:none;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;line-height:1;display:inline-flex;position:absolute;top:6px;right:6px}.chemicals-header{justify-content:space-between;align-items:center;margin-top:.35rem;display:flex}.chemical-add-btn{color:#1b2b3f;text-align:center;white-space:nowrap;background:#f8fafc;border:1px solid #b7c6dc;border-radius:.75rem;width:fit-content;padding:.6rem .9rem;font-weight:600;transition:border-color .2s,background .2s,color .2s}.chemical-add-btn:hover{color:#0f172a;background:#eef4fb;border-color:#96afcf}.chemical-add-btn-modal{margin-top:1rem}.secondary-btn{color:#1b2b3f;cursor:pointer;font:inherit;background:#f7f9fd;border:1px solid #c7d3e3;border-radius:.5rem;justify-content:center;align-items:center;padding:.4rem .65rem;line-height:1.1;text-decoration:none;display:inline-flex}button,select,input[type=checkbox],input[type=date],input[type=time]{cursor:pointer}.secondary-btn:hover{background:var(--crm-surface-muted)}.danger-btn{color:#8b1a1a;background:#fff5f5;border-color:#f0b4b4}.danger-btn:hover{background:#ffe7e7}.chemicals-list{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:.6rem;display:flex}.chemicals-list+.chemical-add-btn{margin-top:.75rem}.chemical-row{background:0 0;border:none;border-radius:0;align-items:center;gap:.75rem;width:fit-content;max-width:100%;padding:0;display:flex}.chemical-fields{flex-wrap:wrap;flex:none;align-items:flex-start;gap:.75rem;width:auto;display:flex}.chemical-fields .field-label{flex-direction:column;gap:.35rem;width:auto;min-width:0;display:flex}.chemical-fields select{width:280px;max-width:100%}.chemical-select{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ratio-field{width:max-content}.ratio-field input{width:70px}.ratio-spaced{margin-left:1.5rem}.chemical-custom{margin-left:.75rem}.ratio-input{white-space:nowrap;align-items:center;gap:.4rem;width:fit-content;margin-top:0;display:flex}.ratio-input span{color:#546d86;font-weight:600;line-height:1}.ratio-input input{width:70px;padding:.55rem}.ratio-control{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mix-calc-toggle{color:#1b2b3f;white-space:nowrap;box-shadow:none;background:#f8fafc;border:1px solid #b7c6dc;border-radius:.75rem;padding:.55rem .75rem;font-size:.85rem;font-weight:700}.mix-calc-toggle:hover{color:#0f172a;background:#eef4fb;border-color:#96afcf}.mix-calc-panel{border:1px solid var(--crm-border);background:var(--crm-surface);border-radius:.85rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.6rem;width:min(440px,100vw - 4rem);margin-top:.6rem;padding:.75rem;display:grid;box-shadow:0 14px 28px #0f172a1a}.mix-calc-field{color:var(--crm-text-muted);margin:0;font-size:.78rem;font-weight:700}.mix-calc-field input{background:#f8fafc;border-radius:.7rem;width:100%;min-width:130px;margin-top:.35rem}.mix-calc-apply{box-shadow:none;border-radius:.75rem;padding:.65rem .9rem;font-size:.85rem;font-weight:700}.mix-calc-apply:disabled{cursor:not-allowed;background:#cbd5e1}.ratio-control .chemical-delete{flex:none}.chemical-delete{color:#1b2b3f;cursor:pointer;background:#f3f5f9;border:none;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;line-height:1;display:inline-flex}.chemical-delete:hover{background:#e6ecf6}input,select,textarea{border:1px solid var(--crm-border-strong);width:100%;font:inherit;color:var(--crm-text);background:#fff;border-radius:.7rem;padding:.6rem .75rem;transition:border-color .15s,background-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{background:#fbfdff;border-color:#c7d7ea}input:focus,select:focus,textarea:focus{border-color:#93c5fd;outline:none;box-shadow:0 0 0 3px #2563eb1a}.filter-panel input,.filter-panel select{background:var(--crm-surface-muted);height:40px;color:var(--crm-text);border:1px solid #0000;border-radius:.65rem;padding:.45rem .85rem .45rem 2.2rem;font-size:.95rem;box-shadow:inset 0 0 0 1px #94a3b840}.filter-panel input:hover,.filter-panel select:hover,.filter-panel input:focus,.filter-panel select:focus{background:#fff;box-shadow:inset 0 0 0 1px #2563eb3d,0 6px 14px #0f172a0d}.filter-form .primary-btn{height:40px;color:var(--crm-primary);border:1px solid var(--crm-primary);box-shadow:none;background:0 0;border-radius:12px;align-self:center;padding:.65rem 1.5rem;font-size:.95rem}.filter-form button{background:var(--crm-ink);color:#fff;border:1px solid var(--crm-ink);height:40px;box-shadow:none;border-radius:.65rem;align-self:flex-end;margin-left:auto}.filter-form button:hover,.filter-form .primary-btn:hover{background:#22364a}.filter-form label:before{content:"";opacity:.65;background-repeat:no-repeat;background-size:contain;width:18px;height:18px;margin-top:2rem;margin-left:.7rem;position:absolute}.filter-form label{position:relative}.amount-filter-label:before{content:none!important}.filter-input-prefix{color:#475569;opacity:.7;pointer-events:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:.95rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:2rem;left:.85rem}.filter-form label:first-child:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E")}.filter-form label:nth-child(2):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-7 7-12a7 7 0 1 0-14 0c0 5 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E")}.filter-form label:nth-child(4):before,.filter-form label:nth-child(5):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E")}.filter-form label:nth-child(6):before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16'/%3E%3Cpath d='M4 12h10'/%3E%3Cpath d='M4 18h8'/%3E%3Ccircle cx='18' cy='14' r='3'/%3E%3Cpath d='M18 12v2l1.5 1.5'/%3E%3C/svg%3E")}.filter-reset{color:var(--crm-text-muted);background:0 0;border:none;margin-right:.5rem;padding:.25rem .5rem;font-size:.9rem}.filter-reset:hover{color:var(--crm-text);text-decoration:underline}@media (min-width:1024px){.filter-form{flex-wrap:nowrap;gap:.7rem}.filter-form label{flex:1 1 0;min-width:110px}.filter-form label:first-child{flex:2 1 0}.filter-form button{white-space:nowrap;flex:none}}.table-wrap{background:var(--crm-surface);border:1px solid var(--crm-border);box-shadow:none;border-radius:.75rem;overflow-x:auto}.quotes-table{border-collapse:collapse;width:100%}.quotes-table th,.quotes-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5ebf3;padding:.9rem .95rem}.quotes-table thead th{z-index:1;text-transform:uppercase;letter-spacing:.08em;color:var(--crm-text-muted);background:#f8fafc;font-size:.8rem;position:sticky;top:0}.quotes-table tbody tr:hover{background:#f1f7ff}.quotes-table tbody tr.quotes-row-clickable{cursor:pointer;transition:background-color .16s,box-shadow .16s}.quotes-table tbody tr.quotes-row-clickable:focus-visible{outline-offset:-2px;outline:2px solid #cbd5f5}.status-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.status-pending{color:#92400e;background:#fef3c7;border-color:#92400e}.status-won{color:#166534;background:#dcfce7;border-color:#166534}.status-lost{color:#991b1b;background:#fee2e2;border-color:#991b1b}.status-sent{color:#166534;background:#dcfce7;border-color:#166534}.status-select{min-width:110px}.status-cell{text-align:center}.status-pill{appearance:none;border:1px solid var(--crm-border);text-transform:uppercase;letter-spacing:.04em;background-color:var(--crm-surface-muted);color:var(--crm-text-muted);cursor:pointer;text-align:center;text-align-last:center;background-image:none;border-radius:999px;padding:.35rem .9rem;font-size:.75rem;font-weight:700;box-shadow:0 6px 14px #0f172a14}.status-pill:focus{outline-offset:2px;outline:2px solid #cbd5f5}.error-inline{color:#b22222;margin:.4rem 0 0}.empty-state{border:1px solid var(--crm-border);color:var(--crm-text-muted);background:#f8fafc;border-radius:.65rem;margin:0;padding:.95rem 1rem;line-height:1.45rem;transition:background-color .15s,border-color .15s}.empty-state:hover{background:#fbfdff;border-color:#c7d7ea}.page-title-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-actions{align-items:center;gap:.6rem;display:inline-flex}.page-actions .secondary-btn{height:36px}.quote-form{background:0 0;border:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;padding:0;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-section{background:#fff;border:1px solid #d5deea;border-radius:.9rem;flex-direction:column;gap:.85rem;padding:1.25rem;display:flex;box-shadow:0 8px 24px #0f172a14}.form-section.span-full{grid-column:1/-1}.notes-textarea{resize:vertical;width:100%}.section-header{flex-direction:column;gap:.25rem;display:flex}.section-header-row{flex-direction:row;justify-content:flex-start;align-items:center;gap:.85rem}.section-header-row .section-title{margin-bottom:.1rem}.section-title{color:#0f172a;margin:0;font-size:1.1rem}.required-asterisk{color:#b22222;margin-left:.2rem;font-weight:700;display:inline}.primary-btn:disabled{color:#64748b;cursor:not-allowed;box-shadow:none;background:#cbd5e1;border-color:#cbd5e1}.section-subtitle{color:#556b86;margin:0;font-size:.95rem}.field-label{color:#1b2b3f;flex-direction:column;gap:.35rem;font-weight:600;display:flex}.label-text{align-items:center;gap:.2rem;display:inline-flex}.field-info-wrap{align-items:center;display:inline-flex;position:relative}.field-info-icon{width:20px;height:20px;color:var(--crm-text-muted);box-shadow:none;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.9rem;line-height:1;display:inline-flex}.field-info-icon:hover,.field-info-icon:focus-visible{background:var(--crm-surface-muted);color:var(--crm-primary);outline:none}.field-info-tooltip{color:#fff;text-transform:none;letter-spacing:0;opacity:0;pointer-events:none;visibility:hidden;z-index:30;background:#0f172a;border-radius:.75rem;width:min(280px,100vw - 2rem);padding:.65rem .75rem;font-size:.78rem;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + .45rem);left:50%;transform:translate(-50%);box-shadow:0 14px 28px #0f172a2e}.field-info-wrap:hover .field-info-tooltip,.field-info-wrap:focus-within .field-info-tooltip{opacity:1;visibility:visible}.field-spaced{margin-top:.5rem}.section-search{margin:.35rem 0}.input-with-icon{align-items:center;margin-top:.35rem;display:flex;position:relative}.input-with-icon input{padding-left:3.2rem}.input-icon{opacity:.65;background-repeat:no-repeat;background-size:contain;width:1.2rem;height:1.2rem;position:absolute;left:.7rem}.icon-user{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c2.5-4 13.5-4 16 0'/%3E%3C/svg%3E")}.icon-phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5c3 7 8 12 15 15l2-2c.6-.6.6-1.6 0-2.2l-2.5-2.5c-.6-.6-1.6-.6-2.2 0l-1.2 1.2c-2.2-1.3-4.4-3.5-5.7-5.7l1.2-1.2c.6-.6.6-1.6 0-2.2L7.2 3c-.6-.6-1.6-.6-2.2 0L4 5z'/%3E%3C/svg%3E")}.icon-pin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-7 7-12a7 7 0 1 0-14 0c0 5 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E")}.icon-pound{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctext x='6' y='17' font-family='Arial' font-size='16' fill='%23475569'%3E%C2%A3%3C/text%3E%3C/svg%3E")}.currency-symbol-icon{color:#475569;background-image:none;justify-content:center;align-items:center;font-size:1rem;font-weight:700;line-height:1;display:inline-flex}.icon-calendar{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E")}.icon-clock{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E")}.status-row{align-items:center;gap:.5rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.status-badge.status-pending{color:#92400e;background:#fef3c7;border:1px solid #92400e}.status-badge.status-won{color:#166534;background:#dcfce7;border:1px solid #166534}.status-badge.status-lost{color:#991b1b;background:#fee2e2;border:1px solid #991b1b}.status-select-field{width:100%}.form-footer{flex-direction:column;grid-column:1/-1;align-items:flex-end;gap:.5rem;display:flex}.notes-actions{flex-direction:column;align-items:flex-end;gap:.5rem;margin-top:.75rem;margin-bottom:.75rem;padding-right:.75rem;display:flex}.section-divider{background:#e3eaf4;height:1px;margin:.25rem 0}.field-span{grid-column:1/-1}.detail-status-row{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.followups-section{background:var(--crm-surface);border:1px solid var(--crm-border);border-radius:.8rem;margin-bottom:.9rem;padding:1rem 1.25rem;box-shadow:0 12px 24px #0f172a0e}.followups-section h2{margin:0 0 .75rem;font-size:1.1rem;line-height:1.45rem}.followups-header{align-items:center;gap:.6rem;display:flex}.followups-title{align-items:center;gap:.6rem;min-width:0;display:inline-flex}.followups-count{background:var(--crm-blue-soft);width:32px;height:32px;color:var(--crm-primary);border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.dashboard-filters-toggle{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.mobile-filters-btn,.mobile-filters-trigger-row,.mobile-filters-close-row{display:none}.mobile-filters-close{cursor:pointer;color:var(--crm-text-muted);font-size:.85rem;font-weight:700;text-decoration:none}.followups-list{flex-direction:column;gap:.55rem;display:flex}.followup-row{border:1px solid var(--crm-border);box-shadow:none;background:#fff;border-radius:.7rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.62rem .75rem .62rem 1.05rem;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative}.followup-row:before{content:"";background:#cbd5e1;border-radius:999px;width:2px;position:absolute;top:.55rem;bottom:.55rem;left:.45rem}.followup-row:hover{background:#fbfdff;border-color:#c7d7ea;transform:translateY(-1px);box-shadow:0 10px 18px #0f172a0f}.followup-row-overdue:before{background:#ef4444}.followup-row-soon:before{background:#f59e0b}.followup-row-sent:before{background:#22c55e}.followup-row-upcoming:before{background:var(--crm-text-muted)}.followup-main{flex:auto;align-items:center;gap:.65rem;min-width:0;display:flex}.followup-avatar{color:#075985;background:#e0f2fe;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:700;display:inline-flex}.followup-details{flex-direction:column;gap:.16rem;min-width:0;display:flex}.followup-title-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.followup-customer{color:var(--crm-text);margin:0;font-size:.95rem;font-weight:700}.followup-amount-badge{border:1px solid var(--crm-border);color:var(--crm-text-muted);background:#f8fafc;border-radius:999px;padding:.1rem .42rem;font-size:.78rem;font-weight:600}.followup-subrow{color:var(--crm-text-muted);align-items:center;gap:.45rem;font-size:.82rem;display:flex}.followup-top{flex-direction:column;gap:.25rem;min-width:0;display:flex}.followup-status-chip{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.14rem .42rem;font-size:.66rem;font-weight:700}.followup-status-pending{background:var(--crm-amber-soft);color:#92400e;border:1px solid #92400e}.followup-status-sent{background:var(--crm-green-soft);color:#166534;border:1px solid #166534}.followup-status-late{background:var(--crm-red-soft);color:#991b1b;border:1px solid #991b1b}.followup-date{font-weight:600}.followups-needed .followup-date--mobile{display:none}.followup-notes{color:var(--crm-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:520px;margin:0;font-size:.8rem;overflow:hidden}.followup-actions{flex:none;align-items:center;gap:.4rem;display:inline-flex}.followup-snooze-btn{border:1px solid var(--crm-border);color:var(--crm-text-muted);box-shadow:none;background:0 0;border-radius:.55rem;align-items:center;gap:.35rem;padding:.3rem .52rem;font-size:.78rem;display:inline-flex}.followup-snooze-btn:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 8v4l3 2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:12px;height:12px}.followup-snooze-btn:hover{background:var(--crm-surface-muted)}.mark-followed-btn{white-space:nowrap;box-shadow:none;border-radius:.55rem;align-self:center;align-items:center;gap:.35rem;padding:.34rem .6rem;font-size:.78rem;display:inline-flex}.mark-followed-btn:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:12px;height:12px}.modal-backdrop{z-index:50;background:#10203066;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--crm-border);background:#fff;border-radius:1rem;flex-direction:column;gap:.75rem;width:min(420px,92vw);padding:1.25rem 1.35rem 1.4rem;display:flex;box-shadow:0 25px 50px #0f172a2e}.modal-topbar{background:var(--crm-surface-muted);border-radius:.85rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.modal-close{color:var(--crm-text-muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem;line-height:1}.modal-close:hover{color:var(--crm-text);background:0 0}.modal-card h3{margin:0}.modal-subtitle{color:var(--crm-text-muted);margin:.25rem 0 0;font-size:.9rem;font-weight:600}.modal-choice-btn{width:100%;color:var(--crm-text);background:#fff;border:1px solid #cbd5e1;border-radius:.85rem;padding:.9rem 1rem;font-weight:700;box-shadow:0 8px 16px #0f172a0f}.modal-choice-btn:hover,.modal-choice-btn-active{border-color:var(--crm-primary);color:var(--crm-primary);background:#eff6ff}.add-new-modal-card{gap:1rem;width:min(440px,92vw)}.add-new-modal-backdrop{overscroll-behavior:contain;scrollbar-width:none;align-items:flex-start;padding:clamp(1rem,4vh,2rem) 1rem;overflow-y:auto}.add-new-modal-backdrop .add-new-modal-card{max-height:none;overflow:visible}.add-new-modal-backdrop::-webkit-scrollbar{display:none}.add-new-options{gap:.75rem;display:grid}.add-new-choice-btn{text-align:left}.add-new-choice-btn-primary{border-color:var(--crm-primary);color:var(--crm-primary);background:#eff6ff}.add-new-choice-btn-primary:hover{background:#dbeafe}.quote-create-modal-card{width:min(620px,92vw)}.quote-create-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.quote-create-group-tab{border:1px solid var(--crm-border);background:var(--crm-surface-muted);color:var(--crm-text-muted);box-shadow:none;border-radius:.85rem;justify-content:center;align-items:center;gap:.45rem;padding:.75rem;font-size:.88rem;display:flex}.quote-create-group-tab:hover,.quote-create-group-tab-active{border-color:var(--crm-primary);color:var(--crm-primary);background:#eff6ff}.quote-create-group-tab span{width:1.35rem;height:1.35rem;color:inherit;background:#fff;border-radius:999px;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:inline-flex}.quote-create-group-panel{border:1px solid var(--crm-border);background:#fff;border-radius:.9rem;flex-direction:column;gap:1rem;min-height:180px;padding:1rem;display:flex}.quote-create-group-panel h4,.quote-create-group-panel .section-title{margin:0;font-size:1rem}.quote-create-group-panel p{color:var(--crm-text-muted);margin:.4rem 0 0}.quote-create-modal-card .field-spaced{margin-top:0}.quote-create-scope-grid{gap:1rem 1.1rem}.quote-create-surface-area-input input{max-width:none}.quote-pricing-mode-wrap{margin-top:.15rem}.quote-pricing-mode-tabs{border:1px solid var(--crm-border);background:var(--crm-surface-muted);border-radius:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.35rem;display:grid}.quote-pricing-mode-tab{color:var(--crm-text-muted);box-shadow:none;background:0 0;border:1px solid #0000;border-radius:.65rem;padding:.65rem .75rem;font-size:.9rem}.quote-pricing-mode-tab:hover,.quote-pricing-mode-tab-active{color:var(--crm-primary);background:#fff;border-color:#bfdbfe}.quote-area-calculator-placeholder{background:#f7f9fd;border:1px dashed #c7d3e3;border-radius:.85rem;padding:.9rem 1rem}.quote-area-calculator-placeholder p{color:var(--crm-text-muted);margin:0;font-weight:600}.quote-area-calculator{flex-direction:column;gap:.85rem;display:flex}.quote-area-calculator-rows{flex-direction:column;gap:.75rem;display:flex}.quote-area-calculator-row{background:#f8fafc;border:1px solid #dbe4f0;border-radius:.9rem;grid-template-columns:minmax(0,1fr) minmax(150px,.45fr);align-items:center;gap:.65rem;padding:.8rem;display:grid}.quote-area-compact-calc{flex-direction:column;gap:.25rem;display:flex}.quote-area-compact-labels,.quote-area-compact-inputs{grid-template-columns:72px 14px 72px 14px 88px;align-items:center;gap:.25rem;display:grid}.quote-area-compact-labels{color:var(--crm-text-muted);grid-template-columns:72px 72px 88px;gap:calc(14px + .5rem);font-size:.72rem;font-weight:700;line-height:1}.quote-area-compact-inputs input{text-align:center;width:100%;min-width:0;padding:.45rem .5rem}.quote-area-multiply{color:#94a3b8;text-align:center;font-weight:600}.quote-area-line-actions{align-items:center;gap:.45rem;display:flex}.quote-area-line-total{border:1px solid var(--crm-border);background:#fff;border-radius:.75rem;flex-direction:column;flex:1;justify-content:center;gap:.1rem;min-width:0;min-height:36px;padding:.35rem .55rem;display:flex}.quote-area-line-total span,.quote-area-total-card span{color:var(--crm-text-muted);font-size:.76rem;font-weight:700}.quote-area-line-total strong,.quote-area-total-card strong{color:var(--crm-text);font-size:.9rem}.quote-area-remove-btn{width:30px;height:30px;color:var(--crm-text-muted);box-shadow:none;background:#e2e8f0;border-radius:999px;align-self:center;padding:0}.quote-area-remove-btn:hover{color:var(--crm-text);background:#cbd5e1}.quote-area-calculator-footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.quote-area-add-btn{border:1px solid var(--crm-primary);color:var(--crm-primary);box-shadow:none;background:#eff6ff;border-radius:.75rem;padding:.65rem .85rem}.quote-area-add-btn:hover{background:#dbeafe}.quote-area-total-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.85rem;flex-direction:column;align-items:flex-end;gap:.15rem;min-width:180px;padding:.65rem .85rem;display:flex}.quote-create-photo-dropzone{padding:.85rem}.quote-create-photo-helper{margin:0}.quote-create-internal-grid .ratio-field{flex-basis:100%;width:100%;margin-left:0}.quote-create-internal-grid .ratio-control{width:100%}.quote-create-save-bar{z-index:4;background:#fff;border-top:1px solid #e2e8f0e6;border-radius:0 0 1rem 1rem;justify-content:space-between;align-items:center;gap:.75rem;margin:0 -1.35rem -1.4rem;padding:.9rem 1.35rem 1.4rem;display:flex;position:sticky;bottom:-1.4rem}.quote-create-save-bar .error-inline{flex:1;margin:0}.quote-create-save-btn{border-radius:.75rem;width:auto;min-width:230px}.quote-success-modal-card{width:min(480px,92vw)}.quote-success-link-box{border:1px solid var(--crm-border);background:#f8fafc;border-radius:.85rem;flex-direction:column;gap:.3rem;padding:.85rem;display:flex}.quote-success-link-box span{color:var(--crm-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.quote-success-link-box strong{color:var(--crm-text);overflow-wrap:anywhere;font-size:.9rem}.quote-success-copy-actions{gap:.7rem;display:grid}.quote-success-copy-btn{text-align:left}.quote-view-page{background:linear-gradient(#f8fafc 0%,#eef6ff 100%);min-height:100vh;padding:1.5rem}.quote-view-card{border:1px solid var(--crm-border);background:#fff;border-radius:1.1rem;width:min(900px,100%);margin:0 auto;overflow:hidden;box-shadow:0 24px 60px #0f172a1f}.quote-view-header{border-bottom:1px solid var(--crm-border);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.quote-view-brand{align-items:center;gap:.8rem;display:flex}.quote-view-logo{object-fit:contain;width:auto;max-width:160px;height:40px;display:block}.quote-view-brand-label,.quote-view-kicker,.quote-view-footer-label{color:var(--crm-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.78rem;font-weight:700}.quote-view-brand h1{margin:.1rem 0 0;font-size:1.25rem}.quote-view-status{color:var(--crm-primary);background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:700}.quote-view-hero{background:#f8fafc;grid-template-columns:minmax(0,1fr) minmax(220px,.35fr);gap:1rem;padding:1.35rem 1.25rem;display:grid}.quote-view-hero h2{margin:.25rem 0 0;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.05}.quote-view-hero p{color:var(--crm-text-muted);margin:.45rem 0 0}.quote-view-price{background:#fff;border:1px solid #bfdbfe;border-radius:1rem;flex-direction:column;justify-content:center;gap:.35rem;padding:1rem;display:flex}.quote-view-price span,.quote-view-detail span{color:var(--crm-text-muted);font-size:.82rem;font-weight:700}.quote-view-price strong{color:var(--crm-text);font-size:2rem}.quote-view-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:1.25rem;display:grid}.quote-view-detail{border:1px solid var(--crm-border);background:#fff;border-radius:.85rem;flex-direction:column;gap:.25rem;padding:.85rem;display:flex}.quote-view-detail strong{color:var(--crm-text)}.quote-view-photos{padding:0 1.25rem 1.25rem}.quote-view-photo-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-top:.85rem;display:grid}.quote-view-photo-grid img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--crm-border);border-radius:.85rem;width:100%}.quote-view-footer{border-top:1px solid var(--crm-border);background:#f8fafc;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.quote-view-footer p{color:var(--crm-text-muted);margin:.25rem 0 0}.quote-view-accept-btn{white-space:nowrap;border-radius:.8rem;padding:.85rem 1.15rem;box-shadow:0 12px 22px #2563eb33}.quote-view-accept-btn:disabled{cursor:default;background:#93c5fd}.quote-view-accept-wrap{flex-direction:column;align-items:flex-end;gap:.45rem;display:flex}.completion-modal-card{gap:1rem;width:min(480px,92vw);padding:1.35rem}.completion-modal-topbar{background:linear-gradient(#f8fafc 0%,#eef6ff 100%);border:1px solid #dbeafe;align-items:flex-start;padding:.85rem}.completion-modal-title-row{align-items:flex-start;gap:.75rem;display:flex}.completion-modal-client{color:#64748b;margin:.35rem 0 0;font-size:.82rem;font-weight:600}.accepted-quote-summary{border:1px solid var(--crm-border);background:#fff;border-radius:.85rem;flex-direction:column;gap:.25rem;padding:.85rem;display:flex}.accepted-quote-summary strong{color:var(--crm-text)}.accepted-quote-summary span{color:var(--crm-text-muted);font-size:.9rem}.completion-modal-icon{background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.completion-modal-icon:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23166534' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:17px;height:17px}.completion-choice-group{gap:.75rem}.modal-choice-btn{text-align:left;justify-content:space-between;align-items:center;display:flex}.modal-choice-btn:after{content:"";opacity:.65;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;flex:none;width:16px;height:16px}.modal-choice-btn-active:after{opacity:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.completion-modal-section{border:1px solid var(--crm-border);background:#f8fafc;border-radius:.95rem;gap:.8rem;padding:.9rem}.completion-modal-actions{border-top:1px solid var(--crm-border);margin-top:.1rem;padding-top:.85rem}.completion-modal-actions .modal-cancel-link{border-radius:.75rem;padding:.55rem .75rem}.founder-welcome-backdrop{background:#0f172a8f;padding:1rem}.founder-welcome-card{gap:1.05rem;width:min(540px,100%);padding:1.65rem 2rem 1.75rem}.founder-welcome-card h2{color:var(--crm-text);margin:0 0 .1rem;font-size:1.65rem;line-height:2.2rem}.founder-welcome-body{color:var(--crm-text-muted);flex-direction:column;gap:.85rem;font-size:.98rem;line-height:1.72;display:flex}.founder-welcome-body p{margin:0}.founder-welcome-body strong{color:var(--crm-text);font-weight:700}.founder-welcome-signature{color:var(--crm-text);font-family:Satisfy,Segoe Script,Brush Script MT,cursive;font-size:1.18rem;line-height:1.35;margin-top:.25rem!important}.founder-welcome-btn{align-self:flex-end;width:auto;min-width:150px;margin-top:.35rem;box-shadow:0 10px 22px #2563eb3d}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.modal-summary{color:var(--crm-text-muted);margin:0;font-size:.95rem}.modal-field{flex-direction:column;gap:.4rem;display:flex}.modal-label{color:var(--crm-text);font-size:.9rem;font-weight:600}.modal-input{border:1px solid var(--crm-border);background:#fff;border-radius:.85rem;align-items:center;padding:.2rem .6rem;display:flex;position:relative}.modal-input-icon{opacity:.7;background-repeat:no-repeat;background-size:contain;width:18px;height:18px}.modal-icon-calendar{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E")}.modal-icon-clock{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E")}.modal-input-field{color:#0f172a;background:0 0;border:none;padding:.6rem .5rem;font-size:1rem;font-weight:600}.modal-input-field:focus{outline:none}.modal-actions-stacked{flex-direction:column;align-items:stretch;gap:.4rem;margin-top:.4rem}.modal-primary-btn{background:var(--crm-primary);color:#fff;cursor:pointer;border:none;border-radius:.85rem;width:100%;padding:.7rem 1rem;font-size:.95rem;font-weight:700}.modal-primary-btn:disabled{cursor:not-allowed;background:#cbd5e1}.modal-cancel-link{color:var(--crm-text-muted);text-align:center;cursor:pointer;background:0 0;border:none;align-self:center;width:auto;padding:.15rem .35rem;font-size:.9rem}.modal-cancel-link:hover{color:var(--crm-text);background:0 0}.modal-section{flex-direction:column;gap:.4rem;display:flex}.modal-input-row{flex-wrap:wrap;gap:.5rem;display:flex}.job-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.jobs-list{flex-direction:column;gap:.55rem;display:flex}.job-row{border:1px solid var(--crm-border);box-shadow:none;background:#fff;border-radius:.7rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.62rem .75rem .62rem 1.05rem;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative}.job-row:before{content:"";background:var(--crm-primary);border-radius:999px;width:2px;position:absolute;top:.55rem;bottom:.55rem;left:.45rem}.job-row:hover{background:#fbfdff;border-color:#c7d7ea;transform:translateY(-1px);box-shadow:0 10px 18px #0f172a0f}.job-row-clickable{cursor:pointer}.job-row-clickable:focus-visible{outline-offset:2px;outline:2px solid #cbd5f5}.job-main{flex:auto;align-items:center;gap:.65rem;min-width:0;display:flex}.job-avatar{color:#166534;background:#dcfce7;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:700;display:inline-flex}.job-details{flex-direction:column;gap:.18rem;min-width:0;display:flex}.job-title-row{flex-wrap:wrap;align-items:center;gap:.6em;display:flex}.job-customer{color:var(--crm-text);margin:0;font-size:.95rem;font-weight:700}.job-amount-badge{border:1px solid var(--crm-border);color:var(--crm-text-muted);background:#f8fafc;border-radius:999px;padding:.1rem .42rem;font-size:.78rem;font-weight:600}.job-address{color:var(--crm-primary);grid-template-columns:14px minmax(0,1fr);align-items:start;gap:.35rem;min-width:0;max-width:min(420px,100%);font-size:.8rem;text-decoration:none;display:grid}.job-address-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.job-address:hover{text-decoration:underline}.job-meta{color:var(--crm-text-muted);flex:none;align-items:center;gap:.45rem;font-size:.9rem;display:flex}.job-pill{border:1px solid var(--crm-border);color:var(--crm-text-muted);white-space:nowrap;background:#f8fafc;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:600}.job-pill-muted{color:#5b6b7f}.job-map-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475669' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-7 7-12a7 7 0 1 0-14 0c0 5 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:14px;height:14px;margin:auto 0}.job-schedule{align-items:center;gap:.6rem;min-width:128px;margin-left:auto;margin-right:0;display:flex}.job-schedule-item{color:#0f172a;white-space:nowrap;font-size:.86rem;font-weight:700}.job-date--mobile{display:none}.job-time{color:#0f172a;font-size:.86rem;font-weight:700}.job-schedule-divider{background:var(--crm-border);width:1px;height:18px;display:inline-block}.job-actions{flex:none;align-items:center;gap:.4rem;display:inline-flex}.job-mark-btn{background:var(--crm-primary);color:#fff;cursor:pointer;border:none;border-radius:.55rem;align-items:center;gap:.35rem;padding:.32rem .58rem;font-size:.76rem;font-weight:600;display:inline-flex}.job-mark-btn:hover{background:var(--crm-primary-dark)}.job-action-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:12px;height:12px}.job-trash-btn{color:var(--crm-text-muted);cursor:pointer;background:0 0;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.job-trash-btn:hover{color:#64748b;background:var(--crm-surface-muted)}.job-trash-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475669' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6v12'/%3E%3Cpath d='M16 6v12'/%3E%3Cpath d='M5 6l1 14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-14'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:16px;height:16px}.cookie-table{border-collapse:collapse;width:100%;margin-bottom:20px}.cookie-tr{text-align:left;border-bottom:1px solid #ccc}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.overview-card:hover,.followup-row:hover,.job-row:hover,.primary-btn:hover,button:hover{transform:none}}.quotes-section{margin-bottom:1.5rem}.quotes-section .section-header-row{justify-content:space-between;align-items:flex-start;margin-bottom:.9rem}.quotes-header-actions{flex:none;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.quotes-count{border:1px solid var(--crm-border);color:var(--crm-text-muted);background:#f8fafc;border-radius:999px;flex:none;padding:.35rem .65rem;font-size:.82rem;font-weight:500}@media (max-width:900px){.billing-content{grid-template-columns:1fr;align-items:stretch;gap:1.25rem}.billing-panel{max-width:420px}.dashboard-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-ops-grid,.dashboard-work-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-title-row{flex-wrap:wrap;gap:.75rem}.page-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}}@media (max-width:700px){.billing-page{padding:1rem}.container{padding:.85rem}.dashboard-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.overview-card{min-height:118px;padding:.85rem}.overview-card strong{font-size:1.45rem;line-height:1.7rem}.overview-card span:last-child{font-size:.82rem;line-height:1.25rem}.dashboard-panel,.quotes-section,.followups-section,.dashboard-empty-start{border-radius:.75rem;padding:.9rem}.dashboard-empty-start{flex-direction:column;align-items:stretch}.billing-content{grid-template-columns:1fr;gap:1rem}.billing-topbar{align-items:flex-start}.billing-hero{padding:1.15rem}.billing-paywall h1{font-size:1.9rem}.billing-paywall p{font-size:.92rem}.billing-panel{max-width:none;padding:1rem}.billing-checkout-action{align-items:stretch}.dashboard-empty-start .header-cta{width:100%}.dashboard-panel-heading,.quotes-section .section-header-row{align-items:center;margin-bottom:.75rem}.pipeline-body{grid-template-columns:1fr;gap:.85rem}.pipeline-stats span{border-left:0;border-top:1px solid var(--crm-border);white-space:normal;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.15rem;padding:.55rem 0 0;font-size:.86rem}.pipeline-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.quotes-section .section-header-row{flex-flow:row;gap:.65rem}.quotes-section .section-header-row>div:first-child{min-width:0}.quotes-header-actions{gap:.4rem}.quotes-count{white-space:nowrap;padding:.34rem .58rem;font-size:.78rem}.table-wrap{background:0 0;border:none;border-radius:0;overflow:visible}.quotes-table,.quotes-table tbody,.quotes-table tr,.quotes-table td{width:100%;display:block}.quotes-table thead{display:none}.quotes-table tbody{gap:.75rem;display:grid}.quotes-table tbody tr:nth-child(2n),.quotes-table tbody tr{background:#fff}.quotes-table tbody tr.quotes-row-clickable{border:1px solid var(--crm-border);border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"customer amount""address address""follow scheduled""status open";gap:.55rem .8rem;padding:.85rem;display:grid}.quotes-table th,.quotes-table td{border-bottom:none;padding:0}.quotes-table td{min-width:0;color:var(--crm-text);justify-content:flex-start;gap:.25rem;line-height:1.25rem;display:flex}.quotes-table td:before{content:attr(data-label);color:var(--crm-text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:.66rem;font-weight:800}.quotes-table td[data-label=Customer]{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;grid-area:customer;align-items:flex-start;min-width:0;font-size:1rem;font-weight:700;line-height:1.25rem;overflow:hidden}.quotes-table td[data-label=Customer]:before{content:none}.quotes-table td[data-label=Amount]{white-space:nowrap;grid-area:amount;justify-content:flex-end;align-items:flex-start;font-size:.98rem;font-weight:700}.quotes-table td[data-label=Amount]:before,.quotes-table td[data-label=Open]:before,.quotes-table td[data-label=Status]:before{content:none}.quotes-table td[data-label=Address]{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:address;align-items:flex-start;font-size:.86rem;line-height:1.25rem;display:-webkit-box;overflow:hidden}.quotes-table td[data-label=Address]:before{content:none}.quotes-table td[data-label=Follow-up],.quotes-table td[data-label=Scheduled]{color:#0f172a;border-top:1px solid #eef2f7;flex-direction:column;padding-top:.45rem;font-size:.86rem;font-weight:700}.quotes-table td[data-label=Follow-up]{grid-area:follow}.quotes-table td[data-label=Scheduled]{text-align:right;grid-area:scheduled;align-items:flex-end}.quotes-table td[data-label=Status]{grid-area:status;align-items:center;padding-top:.25rem}.quotes-table td[data-label=Open]{grid-area:open;justify-content:flex-end;align-items:center;padding-top:.25rem}.quotes-table td[data-label=Open] a{border:1px solid var(--crm-border);color:#334155;background:#f8fafc;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:.35rem .75rem;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.quotes-table td[data-label=Open] a:hover{color:var(--crm-primary);background:#eef6ff;border-color:#cbd5e1}.quotes-table .status-pill{min-width:96px;height:32px;padding:0 .75rem;font-size:.76rem;font-weight:800}.status-cell{text-align:left}.founder-welcome-backdrop{align-items:flex-end;padding:1rem}.founder-welcome-card{max-height:calc(100vh - 2rem);padding:1.25rem;overflow:auto}.founder-welcome-card h2{font-size:1.35rem;line-height:1.85rem}.founder-welcome-body{font-size:.95rem;line-height:1.65}.founder-welcome-btn{align-self:stretch;width:100%}.completion-modal-backdrop{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-items:flex-start;padding:.75rem;overflow-y:auto}.completion-modal-card{gap:.8rem;width:calc(100vw - 1.5rem);max-width:calc(100vw - 1.5rem);max-height:none;padding:1rem;overflow:visible}.completion-modal-topbar{padding:.75rem}.completion-modal-title-row{gap:.6rem;min-width:0}.completion-modal-icon{flex-basis:30px;width:30px;height:30px}.completion-modal-card .modal-input,.completion-modal-card .modal-input-field,.completion-modal-card .modal-choice-btn{min-width:0;max-width:100%}.completion-modal-card .modal-input-field{width:100%}.dashboard-header{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem;display:flex;position:relative}.dashboard-header-main{width:auto;min-width:0;padding-right:0}.dashboard-greeting-row{align-items:center;gap:.65rem;width:auto}.dashboard-greeting-logo-link,.dashboard-greeting-logo{flex-basis:34px;width:34px;height:34px}.dashboard-header h1{font-size:1.5rem;line-height:1.45rem}.dashboard-heading-desktop{display:none}.dashboard-heading-mobile{display:inline}.dashboard-header p{display:none}.filter-panel{margin-bottom:1rem;display:none;position:static;top:auto}.dashboard-filters-toggle:checked+.filter-panel{display:block}.container:has(.dashboard-filters-toggle:checked) .filter-panel{display:block}.mobile-filters-close-row{justify-content:flex-end;margin-bottom:.5rem;display:flex}.filter-form{flex-direction:column;align-items:stretch;padding:.85rem}.filter-form label,.filter-form input,.filter-form select{width:100%}.filter-form button{border-radius:.85rem;width:100%;height:auto;padding:.9rem 1rem}.job-row{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:start;gap:.5rem;padding:.85rem .85rem .85rem 1.05rem;display:grid}.job-main,.job-details{display:contents}.job-avatar{display:none}.job-title-row{flex-wrap:nowrap;grid-row:1;justify-content:space-between;gap:.5rem;width:100%}.job-customer{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.job-amount-badge{white-space:nowrap;flex:none}.job-schedule{grid-row:2;justify-content:flex-start;gap:.35rem;min-width:0;margin-left:0}.job-schedule-divider{display:none}.job-address{grid-row:3;align-items:flex-start;width:100%;max-width:100%;line-height:1.25rem}.job-address-text{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.job-actions{flex-direction:column;grid-row:4;align-items:stretch;width:100%}.job-mark-btn{border-radius:.68rem;justify-content:center;width:100%;padding:.68rem .85rem;font-size:.84rem}.job-date--desktop{display:none}.job-date--mobile{display:inline}.mobile-filters-trigger-row{justify-content:flex-end;margin:.25rem 0 1rem;display:flex}.mobile-filters-btn{color:#334155;box-shadow:none;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.85rem;align-items:center;gap:.45rem;padding:.5rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.mobile-filters-btn:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:16px;height:16px}.preferences-header{flex-direction:column;align-items:stretch;padding:1rem}.preferences-back-link{text-align:center}.preferences-section{padding:1rem}.branding-logo-dropzone{min-height:92px}.dashboard-header-actions{flex-direction:row;align-items:center;gap:.5rem;width:auto;margin-left:auto;display:flex}.dashboard-header-stats{grid-template-columns:1fr 1fr;gap:.75rem;width:100%;display:grid}.profile-menu{margin-left:0;position:relative;top:auto;right:auto}.profile-trigger{width:38px;height:38px}.profile-panel{width:min(320px,100vw - 2rem);position:fixed;top:4.75rem;left:50%;right:auto;transform:translate(-50%)}.dashboard-header-stats .header-divider{display:none}.dashboard-header-stats .header-stat{gap:.15rem;min-width:0}.dashboard-header-stats .header-stat-label{letter-spacing:.06em;font-size:10px}.dashboard-header-stats .header-stat-value{font-size:1.15rem;font-weight:700}.dashboard-header .header-cta{color:#0000;border-radius:8px;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;font-size:0;line-height:0;position:relative;overflow:hidden}.dashboard-header .header-cta>*{display:none}.dashboard-header .header-cta:before,.dashboard-header .header-cta:after{content:"";background:#fff;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dashboard-header .header-cta:before{width:18px;height:2px}.dashboard-header .header-cta:after{width:2px;height:18px}.quote-create-modal-card{width:calc(100vw - 1.5rem)}.quote-create-groups{justify-content:space-between;align-items:center;gap:0;padding:.15rem 1.2rem .35rem;display:flex;position:relative}.quote-create-groups:before{content:"";background:var(--crm-border);height:1px;position:absolute;top:calc(50% - .1rem);left:2rem;right:2rem}.quote-create-group-tab{z-index:1;border:1px solid var(--crm-border);width:2rem;height:2rem;color:var(--crm-text-muted);background:#fff;border-radius:999px;justify-content:center;gap:0;padding:0;font-size:0;position:relative;box-shadow:0 4px 10px #0f172a14}.quote-create-group-tab-active{border-color:var(--crm-primary);color:var(--crm-primary);background:#fff;box-shadow:0 0 0 3px #dbeafe,0 4px 10px #0f172a14}.quote-create-group-tab span{width:auto;height:auto;color:inherit;background:0 0;font-size:.82rem}.quote-create-modal-card .quote-create-group-panel{gap:.75rem;padding:.85rem}.quote-create-modal-card .form-grid{gap:.7rem}.quote-create-modal-card .field-label{gap:.25rem}.quote-create-modal-card input,.quote-create-modal-card select,.quote-create-modal-card textarea{padding-top:.45rem;padding-bottom:.45rem}.quote-create-modal-card .input-with-icon input{padding-left:2.75rem}.quote-create-modal-card .material-search-results,.quote-create-modal-card .material-chips{gap:.3rem}.quote-create-modal-card .material-option,.quote-create-modal-card .material-chip{padding:.28rem .48rem;font-size:.82rem}.quote-area-calculator-row{grid-template-columns:1fr;align-items:stretch}.quote-area-compact-labels,.quote-area-compact-inputs{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1.15fr)}.quote-area-compact-labels{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:calc(12px + .5rem)}.quote-area-multiply{text-align:center}.quote-area-remove-btn{justify-self:flex-end}.quote-area-calculator-footer{flex-direction:column;align-items:stretch}.quote-area-add-btn,.quote-area-total-card{width:100%}.quote-area-total-card{align-items:flex-start}.quote-create-save-bar{flex-direction:column;align-items:stretch}.quote-create-save-btn{width:100%;min-width:0}.quote-view-page{padding:.75rem}.quote-view-header,.quote-view-footer{flex-direction:column;align-items:stretch}.quote-view-status{display:none}.quote-view-hero{grid-template-columns:1fr;padding:1rem}.quote-view-price strong{font-size:1.65rem}.quote-view-grid{grid-template-columns:1fr;padding:1rem}.quote-view-photos{padding:0 1rem 1rem}.quote-view-accept-btn{width:100%}.quote-view-accept-wrap{align-items:stretch}.metric-summary{flex-wrap:wrap;gap:.7rem;margin-bottom:1rem;font-weight:600;display:flex}.kpi-grid,.form-grid,.quote-form{grid-template-columns:1fr}.section-header-row{flex-direction:column;align-items:flex-start}.quotes-section .section-header-row{flex-direction:row;justify-content:space-between;align-items:center}.page-actions .secondary-btn{justify-content:center;width:100%;height:auto}.notes-actions{align-items:stretch;margin-bottom:.5rem;padding-right:0}.chemical-fields select{width:100%}.chemical-fields{flex-direction:column;align-items:flex-start;width:100%}.chemical-fields .field-label{width:100%}.ratio-field,.chemical-custom{margin-left:0}.ratio-control{align-items:stretch;width:100%}.ratio-input{flex:auto}.ratio-input input{width:100%}.mix-calc-toggle{flex:auto;width:auto}.mix-calc-panel{grid-template-columns:1fr;width:100%}.mix-calc-apply{width:100%}.surface-type-list,.chemical-fields{grid-template-columns:1fr}.chemical-row{align-items:flex-start;width:100%;padding-right:0;position:relative}.chemical-add-btn{white-space:nowrap;text-overflow:ellipsis;width:100%;overflow:hidden}.chemical-delete{position:absolute;top:0;right:0}.ratio-control .chemical-delete{align-self:center;position:static;top:auto;right:auto}.followup-row{flex-direction:column;align-items:flex-start}.followups-needed{padding-left:1rem;padding-right:1rem}.followups-needed .followups-header{gap:.35rem;margin-bottom:.75rem}.followups-needed .followups-title{gap:.35rem}.followups-needed .followups-header h2{margin:0;font-size:1.1rem;font-weight:700;line-height:2rem}.followups-needed .followups-count{color:#fff;background:#2563eb;width:28px;height:28px}.followups-needed .followup-row{gap:.65rem;padding:.9rem .9rem .9rem 1.1rem}.followups-needed .followup-main{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.3rem .55rem;display:grid}.followups-needed .followup-avatar{grid-area:1/1;align-self:center;width:28px;height:28px;font-size:.72rem}.followups-needed .followup-details{display:contents}.followups-needed .followup-top{grid-area:1/2}.followups-needed .followup-title-row{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;width:100%}.followups-needed .followup-customer{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.followups-needed .followup-amount-badge{white-space:nowrap;flex:none}.followups-needed .followup-subrow{margin-top:.25rem}.followups-needed .followup-date--desktop{display:none}.followups-needed .followup-date--mobile{color:#334155;display:inline}.followups-needed .followup-notes{color:#475569;white-space:normal;text-overflow:clip;-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:2/2;max-width:100%;font-size:.82rem;font-weight:500;display:-webkit-box;overflow:hidden}.followups-needed .followup-actions{flex-direction:row;justify-content:flex-start;gap:.5rem;width:100%;display:flex}.followups-needed .mark-followed-btn{white-space:nowrap;background:#2563eb;flex:62%;order:-1;justify-content:center;min-width:0;padding-top:.7rem;padding-bottom:.7rem}.followups-needed .mark-followed-btn:hover{background:#1d4ed8}.followups-needed .followup-snooze-btn{color:#64748b;white-space:nowrap;background:#f8fafc;border:1px solid #94a3b8;flex:0 38%;justify-content:center;min-width:0;padding-top:.58rem;padding-bottom:.58rem}.primary-btn{position:sticky}}.dashboard-workbench{flex-direction:column;gap:.85rem;display:flex}.dashboard-workbench .dashboard-overview,.dashboard-workbench .dashboard-work-grid,.dashboard-workbench .quotes-section,.dashboard-workbench .dashboard-empty-start{margin-bottom:0}.dashboard-overview{border:1px solid var(--crm-border);background:var(--crm-surface);border-radius:8px;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:0;overflow:hidden;box-shadow:0 10px 24px #0f172a0b}.overview-card{border:0;border-right:1px solid var(--crm-border);min-height:92px;box-shadow:none;border-radius:0;justify-content:flex-start;gap:.45rem;padding:.9rem 1rem}.overview-card:last-child{border-right:0}.overview-card:before{display:none}.overview-card:hover,.dashboard-panel:hover,.quotes-section:hover,.followups-section:hover,.dashboard-empty-start:hover,.followup-row:hover,.job-row:hover,.primary-btn:hover,button:hover{transform:none}.overview-card:hover,.dashboard-panel:hover,.quotes-section:hover,.followups-section:hover,.dashboard-empty-start:hover{border-color:var(--crm-border);box-shadow:0 10px 24px #0f172a0b}.overview-card strong,.overview-card-primary strong{font-size:1.55rem;font-weight:700;line-height:1.85rem}.overview-card span:last-child{color:#64748b;font-size:.82rem;line-height:1.2rem}.dashboard-work-grid,.dashboard-work-grid-no-jobs{grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);align-items:start;gap:.85rem;display:grid}.dashboard-side-stack{flex-direction:column;gap:.85rem;min-width:0;display:flex}.dashboard-panel,.quotes-section,.followups-section,.dashboard-empty-start{border-radius:8px;box-shadow:0 10px 24px #0f172a0b}.dashboard-panel,.followups-section,.quotes-section{padding:.9rem}.dashboard-panel-heading,.section-header-row,.followups-header{align-items:flex-start;margin-bottom:.75rem}.dashboard-panel-heading h2,.section-header-row h2,.followups-section h2{letter-spacing:0;margin:.1rem 0 0;font-size:1rem;line-height:1.25rem}.followups-title{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.panel-count{border:1px solid var(--crm-border);color:#475569;background:#f8fafc;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:26px;padding:0 .55rem;font-size:.78rem;font-weight:800;display:inline-flex}.pipeline-rate{color:var(--crm-text);font-size:1rem}.pipeline-body{flex-direction:column;gap:.75rem;margin-top:0;display:flex}.pipeline-meter{background:#eef2f7;height:8px}.pipeline-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.pipeline-stats span{border-left:0;border-top:1px solid var(--crm-border);color:#64748b;white-space:normal;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.12rem;padding:.5rem 0 0;font-size:.78rem}.followups-list,.jobs-list{border:1px solid var(--crm-border);background:#fff;border-radius:8px;gap:0;overflow:hidden}.followup-row,.job-row{border:0;border-bottom:1px solid var(--crm-border);box-shadow:none;background:#fff;border-radius:0;padding:.72rem .8rem}.followup-row:last-child,.job-row:last-child{border-bottom:0}.followup-row:before{opacity:.72;border-radius:0;width:3px;top:0;bottom:0;left:0}.followup-row:hover,.job-row:hover,.quotes-table tbody tr:hover{border-color:var(--crm-border);box-shadow:none;background:#f8fafc}.followup-avatar,.job-avatar{color:#475569;background:#f1f5f9;width:28px;height:28px;font-size:.72rem}.followup-customer,.job-customer{font-size:.92rem;font-weight:750}.followup-amount-badge,.job-amount-badge{color:#64748b;background:0 0;border:0;border-radius:0;padding:0;font-size:.78rem;font-weight:700}.followup-status-chip{border:0;border-radius:4px;padding:.16rem .38rem;font-size:.64rem}.followup-actions{gap:.35rem}.followup-snooze-btn,.mark-followed-btn,.job-mark-btn,.quotes-row-action{min-height:34px;box-shadow:none;border-radius:6px;padding:.42rem .62rem;font-size:.78rem;font-weight:700;transform:none}.followup-snooze-btn,.quotes-row-action{border:1px solid var(--crm-border);color:#334155;background:#fff}.followup-snooze-btn:hover,.quotes-row-action:hover{color:#0f172a;background:#f8fafc;transform:none}.mark-followed-btn,.job-mark-btn{background:var(--crm-primary);color:#fff}.mark-followed-btn:hover,.job-mark-btn:hover{background:var(--crm-primary-dark);transform:none}.job-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;display:grid}.job-schedule{color:#0f172a;white-space:nowrap;flex-direction:row;justify-content:center;align-items:baseline;gap:.45rem;min-width:86px;font-size:.82rem;font-weight:800;display:flex}.job-schedule-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700;line-height:.9rem}.job-schedule-time{align-items:center;gap:.32rem;display:inline-flex}.job-schedule-divider{display:none}.job-action-group{justify-content:flex-end;align-items:center;display:flex}.job-action-group .job-mark-btn{min-width:126px}.filter-form{box-shadow:none;background:#f8fafc;border-radius:8px}.table-wrap{border-radius:8px}.quotes-table th,.quotes-table td{padding:.25rem .85rem}.quotes-table thead th{color:#64748b;letter-spacing:.075em;background:#f8fafc;font-size:.72rem}.quotes-table tbody tr:nth-child(2n){background:#fff}.quotes-table .quotes-amount-cell,.quotes-table th:nth-child(3){text-align:right}.quote-customer-name-mobile,.quote-mobile-heading{display:none}.quotes-row-action{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.status-pill{min-width:88px;min-height:30px;box-shadow:none;border-radius:6px;padding:.28rem .65rem;font-size:.68rem}.status-pill-won{color:#166534;background-color:#f0fdf4;border-color:#bbf7d0}.status-pill-pending{color:#92400e;background-color:#fffbeb;border-color:#fde68a}.status-pill-lost{color:#991b1b;background-color:#fef2f2;border-color:#fecaca}@media (max-width:900px){.dashboard-workbench .dashboard-work-grid,.dashboard-workbench .dashboard-empty-start{order:1}.dashboard-workbench .dashboard-overview{order:2}.dashboard-workbench .quotes-section{order:3}.dashboard-work-grid,.dashboard-work-grid-no-jobs{grid-template-columns:1fr}}@media (max-width:700px){.dashboard-workbench{gap:.7rem}.dashboard-overview{border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-card{border-right:1px solid var(--crm-border);border-bottom:1px solid var(--crm-border);min-height:76px;padding:.72rem}.overview-card:nth-child(2n){border-right:0}.overview-card:nth-last-child(-n+2){border-bottom:0}.overview-card strong,.overview-card-primary strong{font-size:1.18rem;line-height:1.42rem}.overview-card span:last-child{font-size:.74rem;line-height:1rem}.dashboard-panel,.quotes-section,.followups-section,.dashboard-empty-start{border-radius:8px;padding:.78rem}.followups-needed .followup-row{gap:.62rem;padding:.72rem .76rem .76rem .92rem}.followups-needed .followup-actions{gap:.45rem;width:100%}.followups-needed .mark-followed-btn,.followups-needed .followup-snooze-btn{border-radius:6px;min-height:40px;padding:.55rem .6rem}.followups-needed .mark-followed-btn{flex:auto;order:-1}.followups-needed .followup-snooze-btn{flex:0 0 34%}.job-row{grid-template-columns:minmax(0,1fr);align-items:stretch;padding:.75rem}.job-schedule{justify-content:flex-start}.job-actions{width:100%}.job-mark-btn{justify-content:center;width:100%;min-height:40px}.quotes-table tbody tr.quotes-row-clickable{box-shadow:none;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"customer customer""address scheduled";gap:.26rem .5rem;padding:.62rem .68rem .62rem .86rem;position:relative}.quotes-table tbody tr.quotes-row-clickable:before{content:"";background:#d6a84d;border-radius:0 999px 999px 0;width:3px;position:absolute;top:.62rem;bottom:.62rem;left:0}.quotes-table tbody tr.quote-status-won:before{background:#78b894}.quotes-table tbody tr.quote-status-lost:before{background:#c98282}.quotes-table tbody tr.quote-status-pending:before{background:#d6a84d}.quotes-table tbody{gap:.5rem}.quotes-table td[data-label=Follow-up]{display:none}.quotes-table td[data-label=Customer]{white-space:nowrap;grid-column:1/-1;font-size:.92rem;line-height:1.15rem;overflow:visible}.quote-customer-name-full{display:none}.quote-customer-name-mobile{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.quote-mobile-heading{justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;display:flex}.quote-customer-name-mobile{flex:auto}.quote-mobile-amount{color:#0f172a;flex:none;font-size:.9rem;font-weight:700}.quote-mobile-date,.quotes-table td[data-label=Amount]{display:none}.quotes-table td[data-label=Address]{-webkit-line-clamp:1;margin-top:.05rem;font-size:.78rem;line-height:1.05rem}.quotes-table td[data-label=Scheduled]{text-align:right;color:#475569;white-space:nowrap;border-top:0;justify-content:flex-end;justify-self:end;align-items:flex-start;padding-top:.05rem;font-size:.78rem;font-weight:400;line-height:1.05rem}.quotes-table td[data-label=Scheduled]:before{content:none}.quotes-table td[data-label=Status],.quotes-table td[data-label=Open]{display:none}.quotes-table td[data-label=Open] a,.quotes-row-action{color:#334155;background:#fff;border-radius:6px;min-height:28px;padding:.32rem .68rem}.quotes-table .status-pill{border-radius:6px;min-width:74px;height:28px;font-size:.68rem}.primary-btn{position:static}.dashboard-work-grid .job-row{grid-template-columns:minmax(0,1fr);overflow:hidden}.dashboard-work-grid .job-main,.dashboard-work-grid .job-details{min-width:0}.dashboard-work-grid .job-details{flex-direction:column;gap:.32rem;display:flex}.dashboard-work-grid .job-title-row{width:100%;margin-bottom:.25rem}.dashboard-work-grid .job-meta-grid{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2rem;display:grid}.dashboard-work-grid .job-schedule{flex-direction:column;justify-content:flex-start;gap:.1rem;min-width:0}.dashboard-work-grid .job-action-group{width:100%;min-width:0;display:grid}.dashboard-work-grid .job-action-group .job-actions,.dashboard-work-grid .job-action-group .job-mark-btn{width:100%;min-width:0;max-width:100%}}
