:root{--brand-primary: #1e40af;--brand-primary-hover: #1d4ed8;--brand-primary-deep: #1e3a8a;--brand-accent: #dc2626;--brand-accent-soft: #fef2f2;--page-bg: #f1f5fb;--surface: #ffffff;--surface-soft: #f8fafc;--border: #dde3ee;--border-strong: #c5cee0;--text-strong: #0f172a;--text-body: #1e293b;--text-muted: #64748b}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--page-bg);color:var(--text-body)}button,input,textarea,select{font:inherit}button{cursor:pointer}button,input,textarea,select{width:100%;border:1px solid #d6dce7;border-radius:12px;padding:12px 14px;background:#fff;font-size:16px;min-height:44px}textarea{min-height:96px;resize:vertical}.app-shell,.login-shell{min-height:100vh}.login-shell{display:grid;place-items:center;padding:24px}.login-card{width:min(520px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:24px;box-shadow:0 8px 30px #0f172a14}.loading-screen{min-height:100vh;display:grid;place-items:center;font-size:1.1rem}.demo-credentials{margin-top:16px;padding:14px;border-radius:14px;background:#f8fafc;color:#475569;line-height:1.7}.container{max-width:1240px;margin:0 auto;padding:24px}.hero h1{margin:0;font-size:2rem;color:var(--brand-primary-deep);letter-spacing:-.01em}.hero p{color:#6b7280;margin-top:8px}.hero-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.user-card{min-width:180px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px}.secondary-btn{margin-top:10px;background:#f8fafc;border-color:var(--border);color:var(--text-body)}.secondary-btn:hover{background:#e8eef9;border-color:var(--brand-primary);color:var(--brand-primary-deep)}.error-banner{margin-top:16px;padding:12px 14px;border-radius:14px;background:#fee2e2;color:#991b1b}.stats-grid,.grid,.stack{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:24px}.two-col{grid-template-columns:1.2fr .8fr}.narrow-left{grid-template-columns:320px 1fr}.three-col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.two-up{grid-template-columns:1fr 1fr}.card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 6px 24px #0f172a0a}.panel{padding:20px}.stat-card{padding:18px}.stat-card span{color:#6b7280;display:block;margin-bottom:8px}.stat-card strong{font-size:2rem;color:var(--brand-primary-deep)}.stats-block{margin-top:24px;display:flex;flex-direction:column;gap:12px}.stats-block .stats-grid{margin-top:0}.stats-range-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px 14px;box-shadow:0 4px 14px #0f172a0a}.stats-range-label{display:flex;flex-direction:column;gap:2px;min-width:0}.stats-range-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stats-range-controls input[type=date]{padding:6px 10px;border:1px solid #e5e7eb;border-radius:8px;font:inherit;background:#f9fafb}.stats-range-presets{display:flex;gap:6px;flex-wrap:wrap;margin-left:4px}.stats-range-presets .secondary-btn{padding:6px 12px;min-height:32px;font-size:.85rem}.tabs{display:flex;gap:10px;margin:24px 0 16px;flex-wrap:wrap}.tab{width:auto;min-width:120px;background:#fff}.tab.active,button[type=submit],.inline-actions button{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}button[type=submit]:hover,.inline-actions button:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}button[type=submit]:disabled,.inline-actions button:disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.item-card{padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#fff}.item-card.compact{padding:12px}.item-title{font-weight:700;font-size:1.05rem}.info-block{display:grid;gap:8px;margin:14px 0;color:#374151}.muted{color:#6b7280}.small{font-size:.85rem}.large-gap{gap:20px}.badge{width:auto;padding:6px 10px;border-radius:999px;background:#f8fafc;border:1px solid #d6dce7;font-size:.85rem}.badge.done{background:#dcfce7;color:#166534;border-color:#bbf7d0}.badge.active{background:#fef3c7;color:#92400e;border-color:#fde68a}.badge.invoiced{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}.badge.warn{background:#fee2e2;color:#991b1b;border-color:#fecaca}.badge.muted{background:#eef2ff;color:#3730a3}.inline-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.pill{padding:10px 12px;border-radius:999px;background:#eef2ff;color:#3730a3;margin-bottom:16px}@media (max-width: 960px){.two-col,.narrow-left,.two-up,.hero-row{grid-template-columns:1fr;display:grid}.tabs{overflow-x:auto}}.selectable{text-align:left}.selected{border-color:var(--brand-primary);box-shadow:inset 0 0 0 1px var(--brand-primary)}.pill{width:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}.wrap-gap{flex-wrap:wrap}.timeline-card{padding:12px 14px;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc}.history-details{margin-top:8px;line-height:1.5}.divider{height:1px;background:#e5e7eb;margin:18px 0}.upload-btn{width:auto;display:inline-flex;position:relative;overflow:hidden;align-items:center;justify-content:center;border:1px solid var(--brand-primary);background:var(--brand-primary);color:#fff;border-radius:12px;padding:10px 14px;cursor:pointer}.upload-btn input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.photo-card{color:inherit;text-decoration:none;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fff}.photo-card img{width:100%;height:140px;object-fit:cover;display:block;background:#f4f4f5}.photo-name{padding:10px 12px;font-size:.9rem}.small-gap{gap:10px}.three-actions{grid-template-columns:1fr 1fr}.signature-pad{width:100%;height:160px;border:1px dashed #94a3b8;border-radius:14px;background:#fff;touch-action:none}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.mini-stat{border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;background:#f8fafc}.mini-stat span{display:block;color:#6b7280;font-size:.85rem;margin-bottom:6px}.mini-stat strong{font-size:1rem}.neutral-pill{background:#f8fafc;color:#334155;border-color:#cbd5e1}.success-pill{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.info-pill{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.line-items-stack{margin-top:12px}.line-item-row{display:grid;grid-template-columns:minmax(0,2fr) 110px 140px 110px;gap:10px;align-items:center}.line-items-total-card{display:grid;gap:6px;align-content:center;min-height:74px;padding:12px 14px;border:1px solid #d6dce7;border-radius:14px;background:#f8fafc}.line-items-total-card strong{font-size:1.25rem}.danger-btn{background:#fff1f2;color:#be123c;border-color:#fecdd3}@media (max-width: 820px){.line-item-row{grid-template-columns:1fr}}.tech-actions{grid-template-columns:repeat(3,1fr)}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:12px;overflow-x:auto;padding-bottom:4px}.schedule-column{min-width:180px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc}.schedule-column-header{padding:12px 14px;border-bottom:1px solid #e5e7eb;display:grid;gap:4px}.schedule-column-body{display:grid;gap:10px;padding:12px;min-height:180px}.schedule-job-card{border:1px solid #dbe3ef;border-radius:12px;padding:10px;background:#fff;display:grid;gap:6px}.overflow-jobs{margin-top:18px}@media (max-width: 820px){.tech-actions{grid-template-columns:1fr}}.no-margin{margin:0}.top-gap-small{margin-top:6px}.no-top-margin{margin-top:0}.inline-auto{width:auto}.tech-selected-card{background:#f8fafc}.tech-subtabs,.nested-doc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;align-content:flex-start}.subtab{width:auto;min-width:80px;flex:0 1 auto;border-radius:999px;background:#f8fafc;white-space:nowrap}.subtab.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.empty-state-card,.saved-doc-card{display:grid;gap:10px;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc}.doc-actions{grid-template-columns:1fr 1fr}.approval-card{border:1px solid #d7deea;border-radius:14px;background:#f8fbff;padding:14px;display:grid;gap:10px}.estimate-step-list{display:grid;gap:10px;margin-top:6px}.estimate-step{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;padding:10px 12px;border:1px solid #dbe3ef;border-radius:12px;background:#fff}.estimate-step span{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--brand-primary);color:#fff;font-weight:700}.estimate-summary-card{gap:14px}.estimate-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.estimate-preview-list{display:grid;gap:8px}.estimate-preview-row{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #dbe3ef}.estimate-editor-header{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.estimate-editor-step{padding:10px 12px;border-radius:12px;border:1px solid #dbe3ef;background:#f8fafc;font-weight:600;color:#475569}.estimate-editor-step.active{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.estimate-editor-card{display:grid;gap:12px;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc}.estimate-line-item-head{display:grid;grid-template-columns:minmax(0,2fr) 110px 140px 110px 110px;gap:10px;font-size:.8rem;font-weight:700;color:#64748b;padding:0 4px}.line-item-row.smoother{grid-template-columns:minmax(0,2fr) 110px 140px 110px 110px;padding:12px;border-radius:14px;border:1px solid #e5e7eb;background:#fff}.line-total-box{min-height:42px;display:grid;place-items:center;border:1px solid #d6dce7;border-radius:10px;background:#f8fafc;font-weight:700}@media (max-width: 820px){.estimate-preview-grid,.estimate-editor-header,.estimate-line-item-head,.line-item-row.smoother{grid-template-columns:1fr}.estimate-line-item-head{display:none}}.list-select-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #d6dce7;border-radius:12px;background:#fff;cursor:pointer;text-align:left}.list-select-row.active{border-color:#2563eb;background:#eff6ff}.invoice-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.invoice-summary-grid>div,.invoice-status-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #d7dee8;border-radius:12px;background:#f8fafc}.linked-doc-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #cfe2ff;background:#f5f9ff;border-radius:14px}.saved-line-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #d7dee8;border-radius:12px;background:#fff}.compact-stack{gap:10px}.compact-actions{margin-top:0}.invoice-empty-card{gap:14px}.save-feedback-card{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600}.job-photo-strip{display:flex;flex-wrap:wrap;gap:10px}.job-photo-thumb{width:92px;height:92px;border-radius:12px;overflow:hidden;border:1px solid #d7dce5;display:block;background:#f6f8fb}.job-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.account-photo-strip{margin-top:.25rem}.pricebook-card{border:1px solid #dbe4f0;border-radius:18px;background:#f8fbff;padding:14px;display:grid;gap:12px}.pricebook-toolbar input{margin:0}.category-chip-row{display:flex;flex-wrap:wrap;gap:8px}.category-chip{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:8px 12px;font-size:.9rem}.category-chip.active{background:#0f172a;color:#fff;border-color:#0f172a}.quick-pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.quick-pick-card{margin-top:0;text-align:left;border-radius:16px;border:1px solid #d7e3f4;background:#fff;padding:12px;display:grid;gap:6px}.quick-pick-card strong,.pricebook-row strong{display:block}.quick-pick-card small{color:#64748b}.pricebook-list{display:grid;gap:10px}.pricebook-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;background:#fff;border:1px solid #e2e8f0}.pricebook-row-actions{display:grid;gap:8px;align-items:center;justify-items:end}@media (max-width: 720px){.pricebook-row{flex-direction:column}.pricebook-row-actions{width:100%;justify-items:stretch}}.notice.success{padding:12px 14px;border-radius:14px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.two-column-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:16px}@media (max-width: 980px){.two-column-grid{grid-template-columns:1fr}}.tech-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}.tech-quick-action{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;text-decoration:none;min-height:72px;justify-content:center;border:1px solid transparent}.tech-quick-action.primary{background:var(--brand-primary);color:#fff}.tech-quick-action.secondary{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.tech-quick-action-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.tech-quick-action-value{font-weight:700;font-size:1rem;line-height:1.25;word-break:break-word}@media (max-width: 640px){.tech-quick-actions{grid-template-columns:1fr}}@media (max-width: 820px){.tech-actions button{min-height:52px;font-weight:700;font-size:1rem}.tech-job-detail .info-block{gap:12px;font-size:1rem}.tech-job-detail .info-block a{color:#1d4ed8;text-decoration:none;font-weight:600}.tech-job-detail .tech-subtabs{position:sticky;bottom:0;left:0;right:0;margin:20px -20px 12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:repeat(8,1fr);grid-auto-rows:44px;align-items:stretch;gap:3px;z-index:20}.tech-job-detail .tech-subtabs .subtab{min-width:0;min-height:44px;height:44px;padding:4px 2px;font-size:.7rem;font-weight:600;border-radius:10px;background:transparent;border:1px solid transparent;color:#475569;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-sizing:border-box}.tech-job-detail .tech-subtabs .subtab.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.tech-job-detail{padding-bottom:16px}.grid.narrow-left{grid-template-columns:1fr}.signature-pad{height:200px}.upload-btn{width:100%;min-height:48px}.photo-grid{grid-template-columns:1fr 1fr}}@media (max-width: 820px){body{overflow-x:hidden}}.subtab-label-short{display:none}@media (max-width: 480px){.subtab-label-long{display:none}.subtab-label-short{display:inline}}@media (max-width: 420px){.card.panel{padding:16px}.grid.two-up{grid-template-columns:1fr}.hero h1{font-size:1.5rem}.user-card{padding:12px;min-width:0}.tech-job-detail .tech-subtabs{margin:20px -16px 12px;padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:2px;grid-auto-rows:42px}.tech-job-detail .tech-subtabs .subtab{padding:4px 2px;font-size:.7rem;min-height:42px;height:42px;line-height:1}.tech-actions{gap:8px}.tech-actions button{padding:10px 6px;font-size:.95rem}.mini-stats{grid-template-columns:1fr}.tech-quick-action{padding:12px 14px;min-height:64px}.tech-quick-action-value{font-size:.95rem}.tech-job-detail .info-block{font-size:.95rem;gap:10px}.tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.tabs .tab{flex:0 0 auto;min-width:140px}}.my-day-stack{gap:14px}.my-day-header{border-radius:16px;padding:14px 16px;background:linear-gradient(135deg,var(--brand-primary-deep) 0%,var(--brand-primary-hover) 100%);color:#fff;display:grid;gap:10px}.my-day-header-title{display:flex;flex-direction:column;gap:2px}.my-day-header-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85}.my-day-header-date{font-size:1.15rem;line-height:1.15}.my-day-header-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.my-day-stat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:#ffffff1f}.my-day-stat span{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;opacity:.82}.my-day-stat strong{font-size:1.2rem;font-weight:700;line-height:1.1}.my-day-section{display:grid;gap:10px}.my-day-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px;font-size:.95rem}.my-day-count{margin:0}.my-day-job{position:relative}.my-day-job.my-day-next{border-color:#1d4ed8;box-shadow:0 0 0 2px #1d4ed82e;background:#f5f9ff}.my-day-next-pill{position:absolute;top:-9px;left:12px;background:#1d4ed8;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:999px}@media (max-width: 420px){.my-day-header{padding:14px 16px}.my-day-header-date{font-size:1.2rem}.my-day-header-stats{gap:6px}.my-day-stat{padding:8px 10px}.my-day-stat strong{font-size:1.15rem}}.pending-call-card{display:grid;gap:10px}.pending-call-customer{display:flex;flex-direction:column;gap:2px}.pending-call-address{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;text-decoration:none}.pending-call-notes{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:.92rem;line-height:1.4}.pending-call-row-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;opacity:.75;font-weight:700}.pending-call-row-value{font-weight:600;line-height:1.3;word-break:break-word}.pending-call-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}.pending-call-btn{width:auto;text-align:center;text-decoration:none;min-height:48px;display:flex;align-items:center;justify-content:center;font-weight:600;border-radius:12px;padding:10px 12px}.pending-call-claim{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}@media (max-width: 420px){.pending-call-actions{grid-template-columns:1fr}}.customer-tax-card{display:grid;gap:10px;padding:14px;border:1px solid #d7dee8;border-radius:14px;background:#f8fbff}.tax-rate-picker{display:grid;gap:10px;padding:12px 14px;border:1px solid #d6dce7;border-radius:14px;background:#f8fafc}.tax-rate-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.tax-rate-options{display:flex;flex-wrap:wrap;gap:8px}.tax-rate-option{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d6dce7;border-radius:999px;background:#fff;cursor:pointer;font-size:.95rem;min-height:44px;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background .15s ease,color .15s ease}.tax-rate-option input[type=radio]{width:auto;min-height:0;padding:0;margin:0;border:0;accent-color:#2563eb}.tax-rate-option.active{border-color:#2563eb;background:#eff6ff;color:#1e3a8a}.tax-rate-chip{width:auto;min-height:40px;padding:8px 16px;border:1px solid #d6dce7;border-radius:999px;background:#fff;color:#1f2937;font-weight:600;font-size:.9rem;transition:border-color .15s ease,background .15s ease,color .15s ease}.tax-rate-chip:hover{border-color:#9ca3af}.tax-rate-chip.active{border-color:#2563eb;background:#2563eb;color:#fff}.tax-breakdown-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.tax-breakdown-row.total{padding-top:6px;margin-top:4px;border-top:1px solid #d6dce7}@media (max-width: 480px){.tax-rate-options{gap:6px}.tax-rate-option,.tax-rate-chip{flex:1 1 auto;justify-content:center;padding:10px 12px;font-size:.88rem}.tax-rate-picker,.customer-tax-card{padding:12px}}.address-grid{display:grid;grid-template-columns:1fr 120px;gap:8px}.address-grid .address-street{grid-column:1 / -1}@media (max-width: 480px){.address-grid{grid-template-columns:1fr}}.customer-header-card{display:grid;gap:8px;padding:12px 14px}.customer-detail-stack{gap:12px;align-self:start}.customer-tab-strip{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 4px 14px #0f172a0a}.customer-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:none;background:transparent;color:#475569;font:inherit;font-weight:600;border-radius:10px;cursor:pointer;flex:1 1 auto;justify-content:center;min-height:38px}.customer-tab:hover{background:#eef2f7;color:#1e293b}.customer-tab.is-active{background:var(--brand-primary);color:#fff;box-shadow:0 2px 6px #0f172a26}.customer-tab-count{display:inline-block;min-width:22px;text-align:center;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:#e5e7eb;color:#374151}.customer-tab.is-active .customer-tab-count{background:#ffffff2e;color:#fff}.customer-detail-stack .collapsible-header{cursor:default}.customer-detail-stack .collapsible-header:hover{background:none}.customer-detail-stack .collapsible-chevron{display:none}.customer-header-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0}.customer-header-title h2{font-size:1.4rem;margin:0;line-height:1.2}.customer-header-actions{display:flex;flex-wrap:wrap;gap:6px}.customer-header-actions .secondary-btn{padding:6px 12px;font-size:.85rem;min-height:0;font-weight:600}.customer-header-meta{display:grid;grid-template-columns:max-content 1fr;column-gap:14px;row-gap:6px;margin:0}.customer-header-meta dt{color:#6b7280;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}.customer-header-meta dd{margin:0;color:#1f2937;word-break:break-word}.customer-edit-form{padding:14px;border:1px solid #d6dce7;border-radius:14px;background:#f8fafc}.schedule-job-form{padding:14px;border:1px solid #cfe2ff;border-radius:14px;background:#f5f9ff}.schedule-job-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.customer-list-item .item-title{font-weight:600}@media (max-width: 560px){.customer-header-meta{grid-template-columns:1fr;row-gap:2px}.customer-header-meta dt{margin-top:6px}.customer-header-meta dt:first-child{margin-top:0}}.photo-thumb-wrapper,.photo-card-wrapper{position:relative;display:inline-block}.photo-card-wrapper{display:block}.photo-delete-btn{position:absolute;top:4px;right:4px;width:26px;height:26px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:#111827bf;color:#fff;font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer;z-index:2;transition:background .15s ease,transform .1s ease}.photo-delete-btn:hover,.photo-delete-btn:focus-visible{background:#dc2626;outline:none}.photo-delete-btn:active{transform:scale(.92)}@media (hover: none){.photo-delete-btn{width:32px;height:32px;top:6px;right:6px;font-size:1.2rem}}.dispatch-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.dispatch-summary-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #d7dee8;border-radius:12px;background:#f8fafc}.dispatch-summary-stat>span{color:#6b7280;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.dispatch-summary-stat>strong{font-size:1.4rem}.dispatch-summary-stat.alert{background:#fef2f2;border-color:#fecaca}.dispatch-summary-stat.alert>strong{color:#991b1b}.tech-status-strip-card{background:#fafbfc}.tech-status-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.tech-status-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #d7dee8;border-left-width:4px;border-radius:10px;background:#fff;text-align:left;cursor:pointer;min-width:200px;transition:transform 80ms ease,box-shadow 80ms ease}.tech-status-chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0f172a14}.tech-status-chip-icon{font-size:1.3rem;line-height:1}.tech-status-chip-body{display:flex;flex-direction:column;gap:1px}.tech-status-chip-name{font-size:.95rem}.tech-status-chip-state{font-size:.78rem;font-weight:600;letter-spacing:.02em}.tech-status-chip-target{font-size:.78rem}.tech-status-chip.tone-on-site{border-left-color:#16a34a;background:#f0fdf4}.tech-status-chip.tone-on-site .tech-status-chip-state{color:#15803d}.tech-status-chip.tone-en-route{border-left-color:#2563eb;background:#eff6ff}.tech-status-chip.tone-en-route .tech-status-chip-state{color:#1d4ed8}.tech-status-chip.tone-free{border-left-color:#9ca3af;background:#f8fafc}.tech-status-chip.tone-free .tech-status-chip-state{color:#6b7280}.tech-status-chip.tone-idle{border-left-color:#e5e7eb;background:#f8fafc;cursor:default;padding:8px 12px}.tech-status-chip.tone-idle .tech-status-chip-state{color:#9ca3af;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tech-status-chip.tone-idle:hover{transform:none;box-shadow:none}.dispatch-card-flags{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle}.dispatch-flag{font-size:.92rem;line-height:1;cursor:help;display:inline-block}.tooltip-wrap{display:inline-flex}.tooltip-popover{position:fixed;background:#0f172a;color:#fff;font-size:.78rem;font-weight:500;line-height:1.35;padding:6px 10px;border-radius:6px;max-width:280px;pointer-events:none;z-index:9999;box-shadow:0 4px 12px #00000040;white-space:normal}.tech-head-send-home{margin-top:4px;padding:2px 8px;font-size:.7rem;font-weight:600;border-radius:999px;background:transparent;border:1px solid #e2e8f0;color:#475569;cursor:pointer;letter-spacing:.02em}.tech-head-send-home:hover{background:#fef2f2;border-color:#fecaca;color:#991b1b}.dispatch-view-toggle{display:inline-flex;border:1px solid #d7dee8;border-radius:8px;overflow:hidden;background:#fff}.dispatch-view-toggle-btn{padding:6px 14px;font-size:.85rem;font-weight:600;background:transparent;border:none;cursor:pointer;color:#475569}.dispatch-view-toggle-btn:not(:last-child){border-right:1px solid #d7dee8}.dispatch-view-toggle-btn.is-active{background:#2563eb;color:#fff}.dispatch-view-toggle-btn:not(.is-active):hover{background:#f1f5f9}.dispatch-map-wrap{display:flex;flex-direction:column;gap:12px}.dispatch-map-canvas{height:60vh;min-height:360px;border-radius:12px;border:1px solid #d7dee8}.dispatch-map-marker{background:transparent;border:none}.dispatch-map-popup{display:flex;flex-direction:column;gap:4px;min-width:200px}.dispatch-map-popup-addr{margin-top:4px}.dispatch-map-popup-btn{margin-top:8px;align-self:flex-start}.dispatch-map-legend{display:flex;flex-wrap:wrap;gap:14px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem}.dispatch-map-legend-item{display:inline-flex;align-items:center;gap:6px}.dispatch-map-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(15,23,42,.2)}.dispatch-map-empty{padding:40px 20px;text-align:center}.dispatch-map-unmappable{padding:12px 14px;background:#fefce8;border:1px solid #fde68a;border-radius:8px}.dispatch-map-unmappable-list{margin:6px 0 0;padding-left:18px}.dispatch-actions-card{background:#fafbfc}.dispatch-actions-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #e5e7eb;padding-bottom:4px;margin:4px 0}.dispatch-actions-tab{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:none;background:transparent;color:#475569;font:inherit;font-weight:600;border-radius:8px;cursor:pointer;position:relative}.dispatch-actions-tab:hover{background:#eef2f7}.dispatch-actions-tab.is-active{background:var(--brand-primary);color:#fff}.dispatch-actions-tab-count{display:inline-block;min-width:22px;text-align:center;padding:1px 7px;border-radius:999px;font-size:.78rem;font-weight:700;background:#e5e7eb;color:#374151}.dispatch-actions-tab-count.tone-alert{background:#fee2e2;color:#991b1b}.dispatch-actions-tab.is-active .dispatch-actions-tab-count{background:#ffffff2e;color:#fff}.dispatch-actions-tab.is-active .dispatch-actions-tab-count.tone-alert{background:#fecaca;color:#7f1d1d}.schedule-tech-group{border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#f9fafb;display:flex;flex-direction:column;gap:8px}.schedule-tech-group.schedule-unassigned-group{border-style:dashed;border-color:#d1d5db;background:#fff}.schedule-tech-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.schedule-job-card{border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.schedule-job-card.expanded{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.schedule-job-summary{width:100%;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:0;border-radius:0;min-height:0;background:transparent;text-align:left;cursor:pointer}.schedule-job-summary:hover{background:#f8fafc}.schedule-job-card.expanded .schedule-job-summary{background:#f5f9ff}.schedule-job-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding:10px 12px 12px;border-top:1px solid #e5e7eb;background:#f8fafc}.schedule-edit-field{display:flex;flex-direction:column;gap:4px}.schedule-edit-field>span{font-weight:600}.schedule-edit-field>input,.schedule-edit-field>select{margin:0;min-height:38px;padding:8px 10px;font-size:.95rem}@media (max-width: 560px){.dispatch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-job-edit{grid-template-columns:1fr}}.maintenance-plan-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #d7dee8;border-radius:14px;background:#fff}.maintenance-plan-card.status-paused,.maintenance-plan-card.status-cancelled{background:#f8fafc;opacity:.75}.plan-tier-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-right:10px;vertical-align:middle}.plan-tier-pill.tier-good{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.plan-tier-pill.tier-better{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.plan-tier-pill.tier-best{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.plan-price-inline{font-size:1.05rem}.plan-status-pill{margin-left:10px;font-size:.75rem}.maintenance-plan-actions{display:flex;flex-wrap:wrap;gap:6px}.maintenance-plan-actions .secondary-btn{padding:6px 12px;min-height:34px;font-size:.85rem;font-weight:600;margin-top:0}.plan-meta-line{line-height:1.5}.plan-covered-notes{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e5e7eb;font-size:.9rem;line-height:1.5}.plan-form{padding:4px}.plan-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-form-field{display:flex;flex-direction:column;gap:4px}.plan-form-field>span{font-weight:600}.plan-form-field>input,.plan-form-field>select,.plan-form-field>textarea{margin:0}@media (max-width: 560px){.plan-form-row{grid-template-columns:1fr}.maintenance-plan-actions{width:100%;justify-content:flex-start}}.maintenance-suggestion-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid #d7dee8;border-radius:12px;background:#fff}.maintenance-suggestion-card.suggestion-urgent{border-left:4px solid #dc2626;background:#fef2f2}.maintenance-suggestion-card.suggestion-soon{border-left:4px solid #f59e0b;background:#fffbeb}.danger-pill{background:#fee2e2;color:#991b1b;border-color:#fecaca;padding:6px 10px;border-radius:999px;font-size:.85rem;border:1px solid #fecaca}.suggestion-actions{margin-top:4px}.suggestion-schedule-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;margin-top:4px}.suggestion-schedule-row input,.suggestion-schedule-row button{margin:0}@media (max-width: 560px){.suggestion-schedule-row{grid-template-columns:1fr}}.day-view-header{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.day-view-nav{display:flex;align-items:center;gap:10px}.day-view-nav-btn{width:44px;min-width:44px;padding:8px 0;font-size:.9rem;line-height:1}.day-view-title{flex:1 1 auto;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:10px}.day-view-title h2{font-size:1.3rem}.day-view-date-input{width:auto;min-height:36px;padding:6px 10px;font-size:.9rem;margin:0}.day-view-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.day-view-empty{padding:24px;text-align:center;border:1px dashed #d1d5db;border-radius:12px;background:#f9fafb}.day-view-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;align-items:start}.day-view-tech{min-height:80px}.day-view-free-techs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px dashed #d6dce7}@media (max-width: 480px){.day-view-title{justify-content:flex-start;width:100%}.day-view-title h2{font-size:1.15rem}}.day-view-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:start}.slot-grid-wrapper{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.slot-grid{display:grid;gap:8px;align-items:start}.slot-grid-tech-head{display:flex;justify-content:space-between;align-items:baseline;padding:10px 12px;border:1px solid #d6dce7;border-radius:10px;background:#f1f5f9;font-size:.95rem}.slot-grid-tech-head.is-unassigned{background:#fff;border-style:dashed;border-color:#d1d5db}.slot-grid-row-head{display:flex;flex-direction:column;justify-content:center;padding:10px 6px;border-right:1px solid #e5e7eb;line-height:1.2;font-size:.85rem}.slot-grid-row-head>strong{font-size:.9rem}.slot-grid-row-head>.small{font-size:.75rem}.slot-drop-zone{min-height:64px;padding:6px;border:1px solid transparent;border-radius:10px;background:#fafbfc;transition:background .12s ease,border-color .12s ease}.slot-drop-zone.is-empty{background:#fafbfc;border-color:#eef2f6}.slot-drop-zone.is-over{background:#eff6ff;border-color:#2563eb;border-style:dashed}.slot-drop-hint{text-align:center;padding:14px 4px;opacity:.6;font-style:italic}.slot-grid-unslotted{margin-top:12px;padding:12px;border:1px dashed #d6dce7;border-radius:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}.draggable-job{cursor:grab;touch-action:manipulation}.draggable-job:active{cursor:grabbing}.draggable-job.is-dragging{opacity:.35}.drag-overlay-card{cursor:grabbing;box-shadow:0 10px 25px #0f172a40;border-radius:10px;transform:rotate(1deg);background:#fff;min-width:220px;max-width:320px}.pending-sidebar-drop{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #d6dce7;border-radius:14px;background:#f8fafc;position:sticky;top:16px;max-height:calc(100vh - 40px);overflow-y:auto;transition:background .12s ease,border-color .12s ease}.pending-sidebar-drop.is-over{background:#eff6ff;border-color:#2563eb;border-style:dashed}.pending-sidebar-empty{padding:14px;text-align:center;border:1px dashed #d1d5db;border-radius:10px;background:#fff;font-style:italic}@media (max-width: 1024px){.day-view-layout{grid-template-columns:1fr}.pending-sidebar-drop{position:static;max-height:none}}.dispatch-card-customer{font-weight:600;color:#1f2937;font-size:.92rem}.dispatch-card-meta{display:flex;flex-wrap:wrap;gap:6px 8px;line-height:1.4}.dispatch-card-time{font-weight:600;color:#1f2937}.dispatch-card-photo-pill{padding:1px 6px;border-radius:6px;background:#eef2ff;color:#3730a3;font-weight:600;font-size:.75rem}.dispatch-card-notes{padding:4px 8px;border-radius:6px;background:#fefce8;border:1px solid #fef08a;color:#713f12;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.dispatch-card-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.dispatch-quick-action{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;min-height:38px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;flex:1 1 auto;text-align:center}.team-add-form{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.team-add-form input{flex:1 1 200px;margin:0}.team-add-form button{flex:0 0 auto;padding:0 18px}.team-tech-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d7dee8;border-radius:12px;background:#fff;flex-wrap:wrap}.team-tech-row.is-inactive{background:#f8fafc;opacity:.7}.team-tech-info{display:flex;align-items:baseline;gap:10px;flex:1 1 auto;flex-wrap:wrap}.team-tech-info strong{font-size:1.05rem}.team-tech-status{background:#fee2e2;color:#991b1b;border-color:#fecaca;font-size:.75rem}.team-tech-actions{display:flex;gap:6px;flex-wrap:wrap}.team-tech-actions .secondary-btn{padding:6px 12px;min-height:34px;font-size:.85rem;font-weight:600}.team-tech-edit-form{display:flex;gap:8px;align-items:stretch;width:100%;flex-wrap:wrap}.team-tech-edit-form input{flex:1 1 200px;margin:0}.team-tech-edit-form button{flex:0 0 auto;padding:0 16px;margin:0}@media (max-width: 560px){.team-tech-row{align-items:flex-start;flex-direction:column}.team-tech-actions{width:100%}.team-tech-actions .secondary-btn{flex:1 1 auto}}.tech-offer-plan-button{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:14px 18px;border:2px dashed #c7d2fe;border-radius:14px;background:#eef2ff;color:#1e3a8a;cursor:pointer;text-align:left;transition:background .12s ease,border-color .12s ease,transform .12s ease;margin-top:0}.tech-offer-plan-button:hover{background:#e0e7ff;border-color:#818cf8;border-style:solid}.tech-offer-plan-button:active{transform:translateY(1px)}.tech-offer-plan-button-title{font-weight:700;font-size:1rem}.tech-offer-plan-button-subtitle{font-size:.85rem;color:#3730a3;font-weight:500}.tech-offer-plan-form-wrap{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #c7d2fe;border-radius:14px;background:#fff}.tech-plan-summary{display:flex;flex-direction:column;gap:8px}.tech-plan-summary-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:12px;background:#f0fdf4}.plan-apply-invoice{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #bbf7d0;border-radius:12px;background:#f0fdf4;cursor:pointer;font-size:.95rem;color:#166534;font-weight:500}.plan-apply-invoice input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#16a34a;flex-shrink:0}.invoice-plan-discount{margin-top:12px}.plan-welcome-call-flag{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #fde68a;border-radius:10px;background:#fef3c7;color:#78350f;font-size:.9rem;font-weight:600;flex-wrap:wrap;justify-content:space-between}.plan-welcome-call-flag .secondary-btn{padding:6px 12px;min-height:32px;font-size:.85rem;font-weight:600;margin-top:0}.welcome-call-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:12px;background:#fffbeb}.welcome-call-phone{text-decoration:none;padding:6px 14px;min-height:34px;display:inline-flex;align-items:center;font-weight:600;font-size:.9rem;margin-top:0}.tech-plan-discount-highlight{display:inline-block;padding:6px 12px;border-radius:999px;background:#16a34a;color:#fff;font-weight:700;font-size:.9rem;align-self:flex-start}.tax-breakdown-row.discount-row{color:#166534;font-weight:600}.office-pricebook-toolbar{display:flex;gap:10px;flex-wrap:wrap}.office-pricebook-search{flex:1 1 260px;margin:0}.office-pricebook-category-filter{max-width:220px;margin:0}.office-pricebook-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.office-pricebook-list-wrap{display:flex;flex-direction:column;gap:8px;min-width:0}.office-pricebook-count{padding:0 2px}.office-pricebook-list{display:flex;flex-direction:column;gap:6px}.office-pricebook-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;transition:border-color .12s ease,background .12s ease}.office-pricebook-row:hover{border-color:#c7d2fe;background:#fafbff}.office-pricebook-row.is-editing{border-color:#6366f1;background:#eef2ff}.office-pricebook-row-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.office-pricebook-row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.office-pricebook-row-name{font-size:.98rem}.office-pricebook-row-meta,.office-pricebook-row-desc{line-height:1.35}.office-pricebook-row-desc{color:#4b5563}.office-pricebook-row-side{display:flex;align-items:center;gap:10px;flex-shrink:0}.office-pricebook-row-price{font-size:1.05rem;font-variant-numeric:tabular-nums}.office-pricebook-edit-btn{padding:5px 14px;min-height:32px;font-size:.85rem;font-weight:600;margin-top:0}.office-pricebook-kind-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.office-pricebook-kind-pill.kind-service{background:#e0f2fe;color:#075985;border-color:#bae6fd}.office-pricebook-kind-pill.kind-maintenance{background:#dcfce7;color:#166534;border-color:#bbf7d0}.office-pricebook-kind-pill.kind-repair{background:#fef3c7;color:#92400e;border-color:#fde68a}.office-pricebook-kind-pill.kind-labor{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.office-pricebook-kind-pill.kind-diagnostic{background:#fae8ff;color:#86198f;border-color:#f5d0fe}.office-pricebook-popular-pill{background:#fef9c3;color:#854d0e;border:1px solid #fde047;font-size:.7rem;padding:2px 8px;font-weight:700}.office-pricebook-empty{padding:24px;text-align:center;border:1px dashed #d1d5db;border-radius:10px;background:#f9fafb}.office-pricebook-form{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb;position:sticky;top:16px}.office-pricebook-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.office-pricebook-form-field{display:flex;flex-direction:column;gap:4px}.office-pricebook-form-field-wide{grid-column:span 2}.office-pricebook-form-field>input,.office-pricebook-form-field>select,.office-pricebook-form-field>textarea{margin:0}.office-pricebook-popular-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;font-size:.9rem;cursor:pointer}.office-pricebook-popular-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0}@media (max-width: 960px){.office-pricebook-layout{grid-template-columns:1fr}.office-pricebook-form{position:static}}@media (max-width: 540px){.office-pricebook-row{flex-direction:column;align-items:stretch}.office-pricebook-row-side{justify-content:space-between;border-top:1px solid #f3f4f6;padding-top:8px}.office-pricebook-form-grid{grid-template-columns:1fr}.office-pricebook-form-field-wide{grid-column:span 1}}.line-item-row.is-plan-charge{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:4px 8px}.line-item-plan-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#16a34a;color:#fff;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.pricebook-kind-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;flex-shrink:0}.pricebook-kind-pill.kind-service{background:#e0f2fe;color:#075985;border-color:#bae6fd}.pricebook-kind-pill.kind-maintenance{background:#dcfce7;color:#166534;border-color:#bbf7d0}.pricebook-kind-pill.kind-repair{background:#fef3c7;color:#92400e;border-color:#fde68a}.pricebook-kind-pill.kind-labor{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.pricebook-kind-pill.kind-diagnostic{background:#fae8ff;color:#86198f;border-color:#f5d0fe}.pricebook-row-head-inline{align-items:center;gap:8px;margin-bottom:2px}.quick-pick-head{align-items:center;gap:8px}.saved-line-item.is-plan-charge{background:#f0fdf4;border-left:4px solid #16a34a}.saved-line-item-head{align-items:center;gap:8px}.invoice-source-note{padding:6px 2px 0}.invoice-footer-meta{padding-top:8px;border-top:1px dashed #e5e7eb;display:flex;flex-wrap:wrap;gap:10px}.tech-ledger-card{display:flex;flex-direction:column;gap:4px;width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease;position:relative}.tech-ledger-card:hover{border-color:#c7d2fe;background:#fafbff}.tech-ledger-card.is-selected{border-color:#6366f1;background:#eef2ff}.tech-ledger-card.is-next{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.tech-ledger-next-pill{position:absolute;top:-8px;left:12px;padding:2px 10px;border-radius:999px;background:#2563eb;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tech-ledger-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}.tech-ledger-issue{font-size:.95rem;line-height:1.3}.tech-ledger-customer{font-weight:600;color:#1f2937;font-size:.9rem}.tech-ledger-meta{display:flex;flex-wrap:wrap;gap:4px 8px;line-height:1.4}.tech-ledger-time{font-weight:600;color:#1f2937}.tech-ledger-notes{padding:4px 8px;border-radius:6px;background:#fefce8;border:1px solid #fef08a;color:#713f12;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.team-add-form-stack{display:flex;flex-direction:column;gap:8px}.team-create-login-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.9rem;cursor:pointer}.team-create-login-toggle input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0}.team-create-login-email{margin:0}.user-add-form{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #e5e7eb;border-radius:14px;background:#f9fafb}.user-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.user-form-field{display:flex;flex-direction:column;gap:4px}.user-form-field>input,.user-form-field>select{margin:0}.user-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid #d7dee8;border-radius:12px;background:#fff;flex-wrap:wrap}.user-row.is-inactive{background:#f8fafc;opacity:.7}.user-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.user-name-row{align-items:center;gap:8px}.user-role-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.user-role-pill.role-admin{background:#fae8ff;color:#86198f;border-color:#f5d0fe}.user-role-pill.role-office{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.user-role-pill.role-dispatcher{background:#fef3c7;color:#92400e;border-color:#fde68a}.user-role-pill.role-technician{background:#dcfce7;color:#166534;border-color:#bbf7d0}.user-inactive-pill{background:#fee2e2;color:#991b1b;border-color:#fecaca;font-size:.72rem}.user-actions{display:flex;gap:6px;flex-wrap:wrap}.user-actions .secondary-btn{padding:6px 12px;min-height:34px;font-size:.85rem;font-weight:600}.user-edit-form{width:100%;display:flex;flex-direction:column;gap:10px}@media (max-width: 560px){.user-row{flex-direction:column}.user-actions{width:100%}.user-actions .secondary-btn{flex:1 1 auto}}.temp-password-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.temp-password-modal{background:#fff;border-radius:16px;padding:24px;max-width:440px;width:100%;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 50px #00000040}.temp-password-email{font-size:.9rem;color:#4b5563;padding:6px 10px;background:#f8fafc;border-radius:8px}.temp-password-value{display:flex;align-items:center;gap:8px;padding:12px 14px;border:2px dashed #c7d2fe;border-radius:10px;background:#eef2ff}.temp-password-value code{flex:1 1 auto;font-size:1.25rem;font-weight:700;font-family:SF Mono,Menlo,Consolas,monospace;color:#1e3a8a;-webkit-user-select:all;user-select:all;letter-spacing:.05em}.pricebook-row.is-recent-add,.quick-pick-card.is-recent-add{border-color:#16a34a;background:#f0fdf4;animation:pricebook-flash-bg 1.5s ease-out}.pricebook-add-btn.is-recent-add{background:#16a34a;border-color:#15803d;color:#fff;font-weight:700}@keyframes pricebook-flash-bg{0%{background:#bbf7d0}30%{background:#dcfce7}to{background:#f0fdf4}}.pricebook-count-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe;white-space:nowrap}.quick-pick-card.is-recent-add small{color:#166534;font-weight:700}.contact-log-form{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.contact-log-form textarea{margin:0;resize:vertical;min-height:70px}.contact-log-kind-field{display:flex;flex-direction:column;gap:4px;min-width:160px}.contact-log-kind-field>select{margin:0}.contact-log-timeline{display:flex;flex-direction:column;gap:8px}.contact-log-entry{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;position:relative}.contact-log-icon{font-size:1.2rem;flex-shrink:0;line-height:1.4}.contact-log-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.contact-log-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.contact-log-text{white-space:pre-wrap;word-wrap:break-word;line-height:1.4;color:#1f2937}.contact-log-kind-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.contact-log-kind-pill.kind-call{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.contact-log-kind-pill.kind-voicemail{background:#fef3c7;color:#92400e;border-color:#fde68a}.contact-log-kind-pill.kind-email{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe}.contact-log-kind-pill.kind-sms{background:#dcfce7;color:#166534;border-color:#bbf7d0}.contact-log-kind-pill.kind-note{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.contact-log-entry.kind-call{border-left:3px solid #3b82f6}.contact-log-entry.kind-voicemail{border-left:3px solid #f59e0b}.contact-log-entry.kind-email{border-left:3px solid #6366f1}.contact-log-entry.kind-sms{border-left:3px solid #16a34a}.contact-log-entry.kind-note{border-left:3px solid #94a3b8}.contact-log-delete-btn{flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:transparent;color:#9ca3af;font-size:1.2rem;font-weight:700;cursor:pointer;line-height:1}.contact-log-delete-btn:hover{background:#fee2e2;color:#991b1b}.contact-log-toggle{align-self:flex-start;padding:6px 12px;border:none;background:none;color:#2563eb;font-weight:600;cursor:pointer;font-size:.9rem}.contact-log-toggle:hover{text-decoration:underline}.identity-block{display:flex;flex-direction:column;gap:6px;padding-top:0}.identity-block>*{margin:0}.identity-contact-row{display:flex;flex-wrap:wrap;gap:8px}.identity-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.85rem;color:#1f2937;text-decoration:none;transition:border-color .12s ease,background .12s ease}.identity-chip-link:hover{border-color:#c7d2fe;background:#eef2ff}.identity-chip-icon{font-size:1rem;opacity:.8}.identity-plan-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.identity-plan-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.identity-plan-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid transparent}.identity-plan-pill.tier-good{background:#e0f2fe;color:#075985;border-color:#bae6fd}.identity-plan-pill.tier-better{background:#dcfce7;color:#166534;border-color:#bbf7d0}.identity-plan-pill.tier-best{background:#fae8ff;color:#86198f;border-color:#f5d0fe}.identity-plan-discount{display:inline-block;padding:3px 10px;border-radius:999px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;font-size:.78rem;font-weight:600}.identity-plan-systems{margin-left:2px}.identity-equipment-row,.identity-tax-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.identity-label{font-weight:600;text-transform:uppercase;letter-spacing:.04em;min-width:90px;flex-shrink:0}.identity-equipment-text{flex:1 1 auto;min-width:0;line-height:1.4}.identity-tax-chips{display:flex;gap:4px}.identity-tax-chip{width:auto;padding:4px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:.8rem;font-weight:600;cursor:pointer;color:#475569;transition:all .12s ease;margin:0}.identity-tax-chip:hover{border-color:#94a3b8}.identity-tax-chip.active{background:#1e293b;color:#fff;border-color:#1e293b}@media (max-width: 560px){.identity-chip{width:100%}.identity-label{min-width:auto}}.collapsible-section{padding:0!important;overflow:hidden}.collapsible-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:none;background:none;cursor:pointer;text-align:left;font-family:inherit;font-size:inherit;color:inherit;transition:background .12s ease}.collapsible-header:hover{background:#f8fafc}.collapsible-section.is-expanded .collapsible-header{border-bottom:1px solid #e2e8f0}.collapsible-header-main{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.collapsible-header-title{display:flex;align-items:center;gap:8px;font-size:1.05rem}.collapsible-chevron{display:inline-block;transition:transform .15s ease;color:#94a3b8;font-size:.9rem}.collapsible-chevron.is-down{transform:rotate(90deg)}.collapsible-preview{line-height:1.4}.collapsible-header-extra{flex-shrink:0}.collapsible-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.collapsible-subhead{margin-top:-4px}.dashboard-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 16px;background:#f1f5f9;border-radius:12px;color:#475569;font-size:.9rem;line-height:1.5}.dashboard-strip-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.dashboard-strip-stats strong{color:#0f172a;font-weight:700}.dashboard-queue-card{display:flex;flex-direction:column;gap:14px}.dashboard-filter-row{display:flex;flex-wrap:wrap;gap:6px}.dashboard-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .12s ease}.dashboard-filter-chip:hover{border-color:#94a3b8;background:#f8fafc}.dashboard-filter-chip.is-active{background:#0f172a;border-color:#0f172a;color:#fff}.dashboard-filter-count{padding:1px 7px;border-radius:999px;background:#0f172a1a;font-size:.75rem;font-weight:700}.dashboard-filter-chip.is-active .dashboard-filter-count{background:#fff3}.dashboard-attention-list{display:flex;flex-direction:column;gap:8px}.dashboard-attention-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;transition:border-color .12s ease,background .12s ease}.dashboard-attention-row:hover{border-color:#c7d2fe;background:#fafbff}.dashboard-attention-row.urgency-high{border-left:4px solid #dc2626}.dashboard-attention-row.urgency-medium{border-left:4px solid #d97706}.dashboard-attention-row.urgency-low{border-left:4px solid #2563eb}.dashboard-attention-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.dashboard-attention-head{gap:6px;align-items:center}.dashboard-attention-actions{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.dashboard-attention-actions .secondary-btn{padding:6px 12px;min-height:32px;font-size:.82rem;font-weight:600}.dashboard-kind-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap;flex-shrink:0}.dashboard-kind-pill.kind-past-due{background:#fee2e2;color:#991b1b;border-color:#fecaca}.dashboard-kind-pill.kind-unassigned{background:#fef3c7;color:#92400e;border-color:#fde68a}.dashboard-kind-pill.kind-pending-estimate{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe}.dashboard-kind-pill.kind-unpaid-invoice{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.dashboard-kind-pill.kind-welcome-call{background:#dcfce7;color:#166534;border-color:#bbf7d0}.dashboard-kind-pill.kind-maintenance-due{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.dashboard-kind-pill.kind-quote-accepted{background:#fae8ff;color:#86198f;border-color:#f5d0fe}.dashboard-empty{padding:32px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.dashboard-empty-icon{width:56px;height:56px;border-radius:50%;background:#dcfce7;color:#16a34a;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700}.dashboard-empty-title{font-size:1.1rem;font-weight:700;color:#0f172a}@media (max-width: 640px){.dashboard-attention-row{flex-direction:column;align-items:stretch}.dashboard-attention-actions{width:100%}.dashboard-attention-actions .secondary-btn{flex:1 1 auto}}.customer-list-panel{display:flex;flex-direction:column;gap:12px}.customer-search-input{margin:0}.customer-filter-row{display:flex;flex-wrap:wrap;gap:6px}.customer-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .12s ease}.customer-filter-chip:hover{border-color:#94a3b8;background:#f8fafc}.customer-filter-chip.is-active{background:#0f172a;border-color:#0f172a;color:#fff}.customer-filter-count{padding:1px 7px;border-radius:999px;background:#0f172a1a;font-size:.72rem;font-weight:700}.customer-filter-chip.is-active .customer-filter-count{background:#fff3}.customer-sort-row{display:flex;justify-content:flex-end}.customer-sort-label{display:flex;align-items:center;gap:6px}.customer-sort-select{margin:0;padding:4px 28px 4px 10px;font-size:.85rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}.customer-list-empty{padding:24px 12px;text-align:center;border:1px dashed #d1d5db;border-radius:10px;background:#f9fafb}.customer-list-items{display:flex;flex-direction:column;gap:6px}.customer-row{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease}.customer-row:hover{border-color:#c7d2fe;background:#fafbff}.customer-row.is-selected{border-color:#6366f1;background:#eef2ff}.customer-row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.customer-row-name{font-size:.98rem;line-height:1.25}.customer-row-pills{display:flex;gap:4px;flex-wrap:wrap;flex-shrink:0}.customer-row-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap}.customer-row-pill.plan-pill.tier-good{background:#e0f2fe;color:#075985;border-color:#bae6fd}.customer-row-pill.plan-pill.tier-better{background:#dcfce7;color:#166534;border-color:#bbf7d0}.customer-row-pill.plan-pill.tier-best{background:#fae8ff;color:#86198f;border-color:#f5d0fe}.customer-row-pill.unpaid-pill{background:#dbeafe;color:#1e40af;border-color:#bfdbfe;text-transform:none;letter-spacing:0}.customer-row-pill.pastdue-pill{background:#fee2e2;color:#991b1b;border-color:#fecaca}.customer-row-meta{line-height:1.35}.customer-row-activity{line-height:1.3;font-size:.78rem}.customer-row-activity.is-stale{color:#94a3b8;font-style:italic}.office-job-detail{margin-top:16px}.office-job-detail-separator{height:1px;margin:0 auto 16px;background:repeating-linear-gradient(to right,#cbd5e1 0,#cbd5e1 4px,transparent 4px,transparent 10px);max-width:200px}.office-job-detail-card{display:flex;flex-direction:column;gap:14px;border:1px solid #c7d2fe;box-shadow:0 4px 16px #4f46e514}.office-job-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.office-job-detail-title{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.office-job-detail-crumb{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:#6366f1}.office-job-detail-close{width:32px;height:32px;padding:0;border:1px solid #e2e8f0;background:#fff;border-radius:8px;color:#64748b;font-size:1.2rem;font-weight:700;cursor:pointer;line-height:1}.office-job-detail-close:hover{background:#f1f5f9;color:#1e293b}.office-job-meta-chips{display:flex;flex-wrap:wrap;gap:8px}.office-job-meta-chip{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;min-width:110px}.office-job-meta-chip span{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.office-job-meta-chip strong{font-size:.92rem;line-height:1.25}.office-job-notes{padding:10px 12px;border-radius:10px;background:#fefce8;border:1px solid #fde047;display:flex;flex-direction:column;gap:4px}.office-job-notes span{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:#854d0e}.office-job-notes-body{white-space:pre-wrap;line-height:1.4;color:#713f12}.office-job-subsection{display:flex;flex-direction:column;gap:8px}.office-job-subsection-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:4px;border-bottom:1px solid #f1f5f9}.office-estimate-card,.office-invoice-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:10px;background:#fafbff;border:1px solid #e2e8f0}.office-estimate-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.office-estimate-head strong{margin-right:8px}.office-estimate-total{font-size:1.05rem;font-variant-numeric:tabular-nums}.office-estimate-lines,.office-invoice-lines{display:flex;flex-direction:column;gap:4px}.office-line-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:6px 10px;border-radius:8px;background:#fff;border:1px solid #f1f5f9}.office-line-row-head{align-items:center;gap:8px}.office-line-row.is-plan-charge{background:#f0fdf4;border-left:3px solid #16a34a}.office-totals{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.office-totals-row{display:flex;justify-content:space-between;align-items:center;font-variant-numeric:tabular-nums}.office-totals-row.is-discount{color:#16a34a;font-weight:600}.office-totals-row.is-total{padding-top:6px;border-top:1px solid #f1f5f9;font-size:1.05rem}.office-totals-row.is-total strong{font-size:1.1rem}.estimate-status-pill,.invoice-status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.estimate-status-pill.status-draft,.invoice-status-pill.status-unpaid{background:#fef3c7;color:#92400e;border-color:#fde68a}.estimate-status-pill.status-presented{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.estimate-status-pill.status-approved,.invoice-status-pill.status-paid{background:#dcfce7;color:#166534;border-color:#bbf7d0}.estimate-status-pill.status-declined{background:#fee2e2;color:#991b1b;border-color:#fecaca}.office-job-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px solid #f1f5f9}.office-job-actions .secondary-btn{padding:6px 14px;min-height:36px;font-size:.88rem;font-weight:600;text-decoration:none}@media (max-width: 560px){.office-job-meta-chip{min-width:100px;flex:1 1 calc(50% - 4px)}.office-job-actions .secondary-btn{flex:1 1 auto}}.toast-stack{position:fixed;bottom:20px;right:20px;z-index:1200;display:flex;flex-direction:column-reverse;gap:8px;max-width:calc(100vw - 40px);width:380px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0f172a2e;border:1px solid #e2e8f0;border-left-width:4px;font-size:.92rem;line-height:1.4;animation:toast-slide-in .18s ease-out}.toast-success{border-left-color:#16a34a}.toast-error{border-left-color:#dc2626}.toast-info{border-left-color:#2563eb}.toast-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;line-height:1}.toast-success .toast-icon{background:#dcfce7;color:#16a34a}.toast-error .toast-icon{background:#fee2e2;color:#dc2626}.toast-info .toast-icon{background:#dbeafe;color:#2563eb}.toast-message{flex:1 1 auto;min-width:0;word-wrap:break-word;color:#1f2937}.toast-dismiss{flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:transparent;color:#94a3b8;font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer;border-radius:4px}.toast-dismiss:hover{background:#f1f5f9;color:#475569}@keyframes toast-slide-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.toast-stack{bottom:12px;right:12px;left:12px;width:auto;max-width:none}}.error-banner:not(.login-error){display:none}.property-switcher{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;margin-top:10px}.property-switcher-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.property-pill-row{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0}.property-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .12s ease}.property-pill:hover{border-color:#94a3b8;background:#f1f5f9}.property-pill.is-active{background:#1e293b;border-color:#1e293b;color:#fff}.property-pill.is-primary .property-pill-primary-mark{color:#f59e0b;font-size:.85rem;line-height:1}.property-pill.is-active.is-primary .property-pill-primary-mark{color:#fde68a}.property-pill-add{border-style:dashed;color:#64748b}.property-pill-add:hover{border-color:#6366f1;color:#4f46e5}.property-row-actions{display:flex;gap:6px;flex-shrink:0}.property-row-actions .secondary-btn{padding:4px 10px;min-height:30px;font-size:.8rem;font-weight:600}.property-form{display:flex;flex-direction:column;gap:10px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.property-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.property-form-field{display:flex;flex-direction:column;gap:4px}.property-form-field-wide{grid-column:span 2}.property-form-field input,.property-form-field select{margin:0}@media (max-width: 560px){.property-form-grid{grid-template-columns:1fr}.property-form-field-wide{grid-column:span 1}.property-switcher-row{flex-direction:column;align-items:stretch}.property-row-actions{width:100%}.property-row-actions .secondary-btn{flex:1 1 auto}}.property-switcher.is-locked .property-pill,.property-pill:disabled{opacity:.5;cursor:not-allowed}.property-switcher.is-locked .property-pill:hover,.property-pill:disabled:hover{border-color:#cbd5e1;background:#fff}.property-switcher.is-locked .property-pill.is-active,.property-pill:disabled.is-active{background:#1e293b;color:#fff}.schedule-job-property-field{display:flex;flex-direction:column;gap:4px}.schedule-job-property-field select{margin:0}.quote-card{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.quote-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.quote-card-head strong{font-size:1.05rem}.quote-status-pill{display:inline-block;padding:2px 10px;margin-left:8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.quote-status-pill.status-draft{background:#fef3c7;color:#92400e;border-color:#fde68a}.quote-status-pill.status-presented{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.quote-status-pill.status-accepted{background:#dcfce7;color:#166534;border-color:#bbf7d0}.quote-status-pill.status-declined{background:#fee2e2;color:#991b1b;border-color:#fecaca}.quote-options-list{display:flex;flex-direction:column;gap:10px}.quote-option{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fafbff}.quote-option.is-recommended{border-color:#6366f1;background:#eef2ff;box-shadow:0 0 0 1px #6366f1 inset}.quote-option.is-accepted{border-color:#16a34a;background:#f0fdf4;box-shadow:0 0 0 1px #16a34a inset}.quote-option-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.quote-option-head strong{font-size:1rem}.quote-option-price{font-size:1.15rem;font-variant-numeric:tabular-nums;color:#0f172a}.quote-option-description{white-space:pre-wrap;line-height:1.45;color:#1f2937;font-size:.92rem}.quote-option-pills{display:flex;gap:6px;flex-wrap:wrap}.quote-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid transparent}.quote-pill.recommended-pill{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.quote-pill.accepted-pill{background:#dcfce7;color:#166534;border-color:#bbf7d0}.quote-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px solid #f1f5f9}.quote-card-actions .secondary-btn{padding:6px 14px;min-height:34px;font-size:.85rem}.quote-builder{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid #c7d2fe;border-radius:12px;background:#fafbff;box-shadow:0 4px 12px #6366f114}.quote-builder-field{display:flex;flex-direction:column;gap:4px}.quote-builder-field input,.quote-builder-field textarea{margin:0}.quote-options-builder{display:flex;flex-direction:column;gap:10px}.quote-option-form{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.quote-option-form-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.quote-option-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quote-recommended-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#f8fafc;border-radius:6px;cursor:pointer;font-size:.9rem}.quote-add-option-btn{border-style:dashed;width:100%;justify-content:center}.small-btn{padding:3px 8px!important;min-height:26px!important;font-size:.75rem!important}@media (max-width: 560px){.quote-option-form-row{grid-template-columns:1fr}}.quote-presentation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ad9;z-index:1100;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;animation:quote-overlay-fade-in .2s ease-out}@keyframes quote-overlay-fade-in{0%{opacity:0}to{opacity:1}}.quote-presentation-card{width:100%;max-width:720px;background:#fff;border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:24px;box-shadow:0 20px 60px #0006;animation:quote-card-slide-in .25s ease-out}@keyframes quote-card-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quote-presentation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.quote-presentation-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#dc2626;margin-bottom:4px}.quote-presentation-title{font-size:1.6rem;font-weight:700;margin:0;color:#0f172a;line-height:1.2}.quote-presentation-customer{margin-top:6px;color:#64748b;font-size:.95rem}.quote-presentation-close{width:40px;height:40px;padding:0;border:1px solid #e2e8f0;background:#fff;border-radius:10px;color:#64748b;font-size:1.4rem;font-weight:700;cursor:pointer;line-height:1;flex-shrink:0}.quote-presentation-close:hover{background:#f1f5f9;color:#1e293b}.quote-presentation-summary{padding:14px 16px;background:#fefce8;border:1px solid #fde047;border-left:4px solid #eab308;border-radius:10px;color:#713f12;line-height:1.5;white-space:pre-wrap}.quote-presentation-options{display:flex;flex-direction:column;gap:14px}.quote-presentation-option{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.quote-presentation-option.is-recommended{border-color:#6366f1;box-shadow:0 6px 20px #6366f126}.quote-presentation-option.is-accepted{border-color:#16a34a;box-shadow:0 6px 20px #16a34a2e;background:#f0fdf4}.quote-presentation-banner{position:absolute;top:-12px;left:16px;padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.04em}.quote-presentation-banner.recommended-banner{background:#6366f1;color:#fff}.quote-presentation-banner.accepted-banner{background:#16a34a;color:#fff}.quote-presentation-option-tier{font-size:1.2rem;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.04em}.quote-presentation-option-price{font-size:2.2rem;font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums;line-height:1}.quote-presentation-option-description{font-size:1rem;line-height:1.55;color:#334155;white-space:pre-wrap}.quote-presentation-choose-btn{margin-top:8px;width:100%;padding:14px 20px;font-size:1.05rem;font-weight:700;border-radius:10px;background:#0f172a;color:#fff;border:none;cursor:pointer;transition:background .12s ease}.quote-presentation-choose-btn:hover{background:#1e293b}.quote-presentation-option.is-recommended .quote-presentation-choose-btn{background:#4f46e5}.quote-presentation-option.is-recommended .quote-presentation-choose-btn:hover{background:#4338ca}.quote-presentation-footer{padding-top:12px;border-top:1px solid #f1f5f9;text-align:center}.primary-quote-action{padding:8px 16px;background:#4f46e5;color:#fff;border:1px solid #4f46e5;border-radius:8px;font-size:.92rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:36px;transition:background .12s ease}.primary-quote-action:hover{background:#4338ca}@media (max-width: 640px){.quote-presentation-overlay{padding:0}.quote-presentation-card{border-radius:0;min-height:100vh;padding:20px}.quote-presentation-title{font-size:1.3rem}.quote-presentation-option-price{font-size:1.8rem}}.payment-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;z-index:1100;display:flex;align-items:flex-end;justify-content:center;padding:0;overflow-y:auto;animation:payment-overlay-fade .18s ease-out}@keyframes payment-overlay-fade{0%{opacity:0}to{opacity:1}}@media (min-width: 600px){.payment-sheet-overlay{align-items:center;padding:20px}}.payment-sheet-card{width:100%;max-width:520px;background:#fff;border-radius:18px 18px 0 0;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 -10px 40px #00000040;animation:payment-sheet-slide .2s ease-out}@media (min-width: 600px){.payment-sheet-card{border-radius:18px}}@keyframes payment-sheet-slide{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.payment-sheet-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;border-bottom:2px solid #f1f5f9}.payment-sheet-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#16a34a;margin-bottom:4px}.payment-sheet-header h3{font-size:1.25rem;margin:0 0 4px}.payment-sheet-close{width:36px;height:36px;padding:0;border:1px solid #e2e8f0;background:#fff;border-radius:10px;color:#64748b;font-size:1.3rem;font-weight:700;cursor:pointer;line-height:1;flex-shrink:0}.payment-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-method-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 12px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;cursor:pointer;transition:all .15s ease}.payment-method-tile:hover{border-color:#94a3b8;background:#f8fafc}.payment-method-tile.is-active{border-color:#16a34a;background:#f0fdf4;box-shadow:0 0 0 1px #16a34a inset}.payment-method-icon{font-size:2rem;line-height:1}.payment-method-tile strong{font-size:1rem;color:#0f172a}.payment-method-hint{font-size:.7rem;font-weight:500}.payment-method-detail{display:flex;flex-direction:column;gap:10px;padding:14px;background:#f8fafc;border-radius:12px}.payment-field{display:flex;flex-direction:column;gap:4px}.payment-field input,.payment-field textarea{margin:0}.payment-overage-callout{padding:12px 14px;background:#fef3c7;border:1px solid #fde68a;border-left:4px solid #d97706;border-radius:10px;display:flex;flex-direction:column;gap:4px}.payment-overage-callout strong{color:#78350f;font-size:1.05rem}.payment-card-mode-row{display:flex;gap:6px;background:#fff;padding:4px;border-radius:10px;border:1px solid #e2e8f0}.payment-card-mode-btn{flex:1;padding:8px 10px;border:none;background:transparent;border-radius:8px;font-size:.85rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .12s ease}.payment-card-mode-btn.is-active{background:#1e293b;color:#fff}.payment-card-mode-btn:disabled{opacity:.45;cursor:not-allowed}.payment-card-after-hours-note{padding:12px 14px;background:#dbeafe;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:10px}.payment-sheet-actions{display:flex;gap:10px;padding-top:12px;border-top:1px solid #f1f5f9}.payment-sheet-actions .secondary-btn{flex:1}.payment-confirm-btn{flex:2;padding:12px 18px;background:#16a34a;color:#fff;border:1px solid #16a34a;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .12s ease}.payment-confirm-btn:hover:not(:disabled){background:#15803d}.payment-confirm-btn:disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed}.office-payment-block{padding:10px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:10px;display:flex;flex-direction:column;gap:4px}.office-payment-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.office-payment-note{white-space:pre-wrap;margin-top:4px;padding-top:4px;border-top:1px solid #bbf7d0}.tech-payment-confirm{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-top:4px}.tech-payment-confirm-icon{width:24px;height:24px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.terms-badge{display:inline-block;padding:1px 7px;margin-left:6px;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.04em;vertical-align:middle;border:1px solid transparent}.terms-badge.net30-badge{background:#fae8ff;color:#86198f;border-color:#f5d0fe}.terms-badge.no-text-badge{background:#fee2e2;color:#991b1b;border-color:#fecaca}.net30-invoice-banner{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:#fdf4ff;border:1px solid #f5d0fe;border-left-width:4px;border-radius:8px;color:#86198f}.net30-banner-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.my-day-quick-add-btn{padding:8px 16px;background:#4f46e5;color:#fff;border:1px solid #4f46e5;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .12s ease;align-self:flex-start}.my-day-quick-add-btn:hover{background:#4338ca}.my-day-empty-with-action{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center}.quick-job-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;z-index:1100;display:flex;align-items:flex-end;justify-content:center;padding:0;overflow:hidden;animation:payment-overlay-fade .18s ease-out}@media (min-width: 600px){.quick-job-overlay{align-items:center;padding:20px}}.quick-job-card{width:100%;max-width:580px;max-height:calc(100dvh - 24px);background:#fff;border-radius:18px 18px 0 0;padding:24px;display:flex;flex-direction:column;gap:16px;overflow:hidden;box-shadow:0 -10px 40px #00000040;animation:payment-sheet-slide .2s ease-out}@media (min-width: 600px){.quick-job-card{border-radius:18px;max-height:calc(100dvh - 48px)}}.quick-job-body{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:16px;margin:0 -24px;padding:0 24px}.quick-job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:2px solid #f1f5f9}.quick-job-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#4f46e5;margin-bottom:4px}.quick-job-header h3{font-size:1.25rem;margin:0}.quick-job-close{width:36px;height:36px;padding:0;border:1px solid #e2e8f0;background:#fff;border-radius:10px;color:#64748b;font-size:1.3rem;font-weight:700;cursor:pointer;line-height:1;flex-shrink:0}.quick-job-mode-row{display:flex;gap:6px;background:#f1f5f9;padding:4px;border-radius:10px}.quick-job-mode-btn{flex:1;padding:9px 10px;border:none;background:transparent;border-radius:8px;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .12s ease}.quick-job-mode-btn.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 3px #00000014}.quick-job-section{display:flex;flex-direction:column;gap:10px}.quick-job-results{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.quick-job-customer-row{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;text-align:left;cursor:pointer;transition:all .12s ease}.quick-job-customer-row:hover{border-color:#94a3b8;background:#f8fafc}.quick-job-customer-row.is-selected{border-color:#4f46e5;background:#eef2ff;box-shadow:0 0 0 1px #4f46e5 inset}.quick-job-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-job-form-wide{grid-column:span 2}@media (max-width: 560px){.quick-job-form-grid{grid-template-columns:1fr}.quick-job-form-wide{grid-column:span 1}}.quick-job-flag-row{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#fef3c7;border:1px solid #fde68a;border-left:4px solid #d97706;border-radius:10px;cursor:pointer}.quick-job-flag-row input[type=checkbox]{margin-top:2px;width:18px;height:18px;flex-shrink:0}.quick-job-flag-row strong{color:#78350f}.quick-job-actions{display:flex;gap:10px;padding-top:12px;border-top:1px solid #f1f5f9}.quick-job-actions .secondary-btn{flex:1}.quick-job-submit-btn{flex:2;padding:12px 18px;background:#4f46e5;color:#fff;border:1px solid #4f46e5;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .12s ease}.quick-job-submit-btn:hover:not(:disabled){background:#4338ca}.quick-job-submit-btn:disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed}.dashboard-kind-pill.kind-after-hours{background:#fef3c7;color:#92400e;border-color:#fde68a}.tech-arrive-btn{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;background:#4f46e5;color:#fff;border:2px solid #4f46e5;border-radius:14px;cursor:pointer;text-align:left;transition:all .12s ease;box-shadow:0 4px 14px #4f46e540}.tech-arrive-btn:hover{background:#4338ca;border-color:#4338ca;transform:translateY(-1px);box-shadow:0 6px 18px #4f46e559}.tech-arrive-btn:active{transform:translateY(0)}.tech-arrive-btn:disabled,.tech-enroute-btn:disabled{opacity:.7;cursor:progress;transform:none}.tech-arrive-icon{font-size:1.8rem;line-height:1;flex-shrink:0}.tech-arrive-btn strong{font-size:1.1rem;display:block;line-height:1.2}.tech-arrive-hint{font-size:.85rem;opacity:.92;margin-top:2px;font-weight:400}.tech-arrived-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:12px}.tech-arrived-icon{width:28px;height:28px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.tech-arrived-banner strong{color:#14532d;font-size:1rem;line-height:1.2;display:block}.arrival-required-block{display:flex;flex-direction:column;align-items:center;gap:10px;padding:36px 24px;background:#fefce8;border:1px dashed #fde047;border-radius:14px;text-align:center}.arrival-required-icon{width:56px;height:56px;border-radius:50%;background:#fef3c7;color:#92400e;display:flex;align-items:center;justify-content:center;font-size:1.8rem}.arrival-required-block strong{font-size:1.05rem;color:#78350f}.dashboard-kind-pill.kind-tech-arrived{background:#dcfce7;color:#166534;border-color:#bbf7d0}.tech-arrived-banner.is-live{border-left-color:#4f46e5;background:#eef2ff}.tech-arrived-banner.is-live .tech-arrived-icon{background:#4f46e5;animation:tech-arrived-pulse 2s ease-in-out infinite}@keyframes tech-arrived-pulse{0%,to{box-shadow:0 0 #4f46e566}50%{box-shadow:0 0 0 6px #4f46e500}}.tech-arrived-banner.is-live strong{color:#312e81}.office-job-meta-chip.is-enroute-chip{background:#eff6ff;border-color:#bfdbfe}.office-job-meta-chip.is-enroute-chip strong{color:#1d4ed8}.office-job-meta-chip.is-enroute-chip span{color:#2563eb}.office-job-meta-chip.is-live-chip{background:#eef2ff;border-color:#c7d2fe}.office-job-meta-chip.is-live-chip strong{color:#4338ca}.office-job-meta-chip.is-live-chip span{color:#4f46e5}.tech-arrived-banner,.tech-enroute-banner{flex-wrap:wrap}.tech-arrived-body{flex:1;min-width:200px}.tech-enroute-btn{width:100%;border:1px solid #2563eb;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:14px;padding:16px;display:flex;gap:12px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 10px 24px #2563eb33}.tech-enroute-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.tech-enroute-banner{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:14px;padding:14px;display:flex;gap:12px;align-items:center}.dashboard-kind-pill.kind-tech-en-route{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.dashboard-kind-pill.kind-tech-departed{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.tech-enroute-banner.is-live{background:#eff6ff;border-color:#93c5fd;box-shadow:0 10px 24px #2563eb1f}.tech-enroute-banner.is-live strong{color:#1d4ed8}.combobox{position:relative;display:block;width:100%}.combobox-input{width:100%;padding-right:38px}.combobox-input.has-value{font-weight:500;color:#0f172a}.combobox-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:#e5e7eb;color:#475569;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.combobox-clear:hover{background:#cbd5e1;color:#1e293b}.combobox-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 32px #0f172a1f;max-height:320px;overflow-y:auto;padding:4px}.combobox-empty{padding:12px;text-align:center}.combobox-option{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 12px;border:none;background:transparent;cursor:pointer;border-radius:8px;color:inherit;font:inherit}.combobox-option:hover,.combobox-option.is-highlight{background:#eef2f7}.combobox-option.is-selected{background:var(--brand-primary);color:#fff}.combobox-option.is-selected .combobox-option-sublabel{color:#ffffffbf}.combobox-option-label{font-weight:500}.combobox-option-sublabel{font-size:.85rem}.assistant-tech-fieldset{border:1px solid #e5e7eb;border-radius:12px;padding:8px 12px 10px;background:#fafbfc}.assistant-tech-fieldset legend{padding:0 6px}.assistant-tech-grid{display:flex;flex-wrap:wrap;gap:6px}.assistant-tech-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;font-size:.88rem;cursor:pointer;-webkit-user-select:none;user-select:none}.assistant-tech-chip input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer}.assistant-tech-chip:hover{border-color:#cbd5e1}.assistant-tech-chip.is-checked{background:var(--brand-primary);color:#fff;border-color:#1f2937}.assistant-tech-chip.is-checked input[type=checkbox]{accent-color:white}.quick-job-property-picker{display:flex;flex-direction:column;gap:10px;margin-top:8px}.quick-job-new-property{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#fafbfc;border:1px solid #e5e7eb;border-radius:12px}.my-day-section-active .tech-ledger-card.is-active-job{border-color:#6366f1;box-shadow:0 8px 26px #6366f12e;background:#f5f3ff}.tech-ledger-active-pill{position:absolute;top:-8px;left:12px;padding:2px 10px;border-radius:999px;background:#6366f1;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tech-ledger-card.is-locked{opacity:.55;background:#f8fafc}.tech-ledger-card.is-locked:hover{opacity:.75}.tech-ledger-lock{position:absolute;top:-8px;left:12px;background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;padding:1px 8px;border-radius:999px;font-size:.78rem;line-height:1.4;opacity:.95}.tech-locked-banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:14px}.tech-locked-icon{font-size:1.5rem}.tech-locked-body{flex:1 1 auto}.tech-locked-body strong{color:#78350f}.tech-locked-link{background:none;border:none;padding:0;font:inherit;color:#1d4ed8;text-decoration:underline;cursor:pointer}.tech-locked-link:hover{color:#1e40af}.tech-crew-status{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.tech-crew-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.88rem}.tech-crew-name{font-weight:600;color:#475569}.equipment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:8px 0}@media (max-width: 600px){.equipment-form{grid-template-columns:1fr}}.equipment-field{display:flex;flex-direction:column;gap:2px;min-width:0}.equipment-field-full,.equipment-form .equipment-accessory-toggle,.equipment-form .inline-actions{grid-column:1 / -1}.equipment-field input,.equipment-field select,.equipment-field textarea{width:100%}.equipment-field textarea{min-height:44px}.equipment-accessory-toggle{align-items:center;gap:8px;padding:4px 0 0}.equipment-property-section{display:flex;flex-direction:column;gap:12px;padding-bottom:16px;border-bottom:1px dashed #e5e7eb;margin-bottom:4px}.equipment-property-section:last-child{border-bottom:none}.equipment-property-head{align-items:baseline}.equipment-item-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 6px #0f172a0a}.equipment-item-card.is-accessory{background:#fafbfc;border-style:dashed}.equipment-item-card.is-inactive{opacity:.6}.equipment-item-headline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.equipment-item-fields{display:flex;flex-direction:column;gap:2px}.equipment-item-notes{white-space:pre-wrap}.equipment-reports{margin-top:6px;padding-top:8px;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:6px}.equipment-reports-head{align-items:center}.equipment-report-form{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.equipment-report-form textarea{min-height:40px}.equipment-report-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.equipment-report-row{display:flex;flex-direction:column;gap:2px;padding:6px 10px;background:#f8fafc;border-left:3px solid #cbd5e1;border-radius:6px}.equipment-report-details{white-space:pre-wrap}.equipment-add-btn{align-self:flex-start}.equipment-inactive-block{margin-top:4px;padding:8px 12px;background:#fafbfc;border-radius:8px}.equipment-inactive-block summary{cursor:pointer}.small-btn{padding:4px 10px;min-height:28px;font-size:.82rem}.link-btn{background:none;border:none;padding:0;font:inherit;color:#6b7280;cursor:pointer;text-decoration:underline;font-size:.8rem;align-self:flex-start}.link-btn:hover{color:#374151}.top-gap-small{margin-top:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:1100;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:payment-overlay-fade .18s ease-out}@media (min-width: 600px){.modal-overlay{align-items:center;padding:24px}}.modal-card{width:100%;max-width:440px;max-height:calc(100dvh - 24px);background:#fff;border-radius:18px 18px 0 0;padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;box-shadow:0 -10px 40px #00000040;animation:payment-sheet-slide .2s ease-out}@media (min-width: 600px){.modal-card{border-radius:18px}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-close{width:32px;height:32px;min-height:32px;padding:0;border:none;border-radius:50%;background:#f1f5f9;color:#475569;font-size:1.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.modal-close:hover{background:#e2e8f0}.change-password-card .payment-field input{width:100%}.user-card-link{margin-top:8px}.email-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.email-settings-grid .form-field.equipment-field-full{grid-column:1 / -1}.email-settings-checkbox{flex-direction:row!important;align-items:center;gap:10px}.email-settings-checkbox input[type=checkbox]{width:auto;flex:0 0 auto}.email-settings-checkbox span{flex:1;font-size:.9rem;color:var(--text-body)}.email-settings-actions{margin-top:16px}.link-button{background:none;border:0;padding:0;margin:4px 0 0;color:var(--brand-primary);text-decoration:underline;cursor:pointer;font-size:.85rem;text-align:left;align-self:flex-start}.link-button:hover{color:var(--brand-primary-hover)}.link-button.small{font-size:.8rem}.success-banner{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;border-radius:10px;padding:10px 14px;font-size:.92rem;margin:12px 0}.error-banner.small,.success-banner.small{font-size:.85rem;padding:8px 12px;margin:6px 0 0}.email-log-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.email-log-row{border:1px solid var(--border);border-left:4px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--surface);display:flex;flex-direction:column;gap:4px}.email-log-sent{border-left-color:#10b981}.email-log-failed{border-left-color:#dc2626}.email-log-mailto{border-left-color:#6366f1}@media (max-width: 720px){.email-settings-grid{grid-template-columns:1fr}}.send-doc-card{max-width:640px}.send-doc-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:6px}.send-doc-photo-tile{position:relative;aspect-ratio:1;border:2px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;background:var(--surface);transition:border-color .15s,transform .15s}.send-doc-photo-tile:hover{border-color:var(--brand-primary);transform:translateY(-1px)}.send-doc-photo-tile.is-selected{border-color:var(--brand-primary);box-shadow:0 0 0 2px #1e40af2e}.send-doc-photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.send-doc-photo-tile input[type=checkbox]{position:absolute;top:6px;left:6px;width:18px;height:18px;margin:0;cursor:pointer;background:#ffffffe6;border-radius:4px;z-index:1}.modal-actions{display:flex;gap:10px;margin-top:6px;justify-content:flex-end;flex-wrap:wrap}.modal-actions>button{flex:0 0 auto;min-width:120px}@media (max-width: 480px){.modal-actions{flex-direction:column-reverse}.modal-actions>button{width:100%}}.office-job-actions .send-doc-trigger{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.office-job-actions .send-doc-trigger:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}.send-doc-card textarea{font-family:inherit;font-size:.95rem;line-height:1.5}.customer-grid{transition:grid-template-columns .25s ease-out}.customer-grid.is-detail-open{grid-template-columns:.3fr .7fr}.customer-header-card{position:relative}.customer-detail-close{position:absolute;top:6px;left:6px;width:24px!important;height:24px;min-width:0;padding:0!important;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--text-muted);font-size:.95rem;font-weight:400;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0;z-index:1;transition:background .15s,color .15s,border-color .15s}.customer-detail-close:hover{background:var(--brand-accent-soft);color:var(--brand-accent);border-color:var(--brand-accent)}.customer-header-card .customer-header-title h2{padding-left:30px}@media (max-width: 720px){.customer-grid,.customer-grid.is-detail-open{grid-template-columns:1fr}.customer-grid.is-detail-open .customer-list-panel{display:none}}.commission-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.commission-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.commission-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.commission-row-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.95rem}.commission-row-amount{font-size:1rem;white-space:nowrap}.commission-row-actions{display:flex;flex-wrap:wrap;gap:6px}.commission-row-actions .secondary-btn{padding:5px 10px;font-size:.8rem;min-height:0}.commission-breakdown{font-style:italic}.commission-headline-stat{display:flex;align-items:baseline;gap:8px;margin-top:8px}.commission-headline-stat strong{font-size:1.3rem}@media (max-width: 720px){.commission-row{grid-template-columns:1fr}.commission-row-amount,.commission-row-actions{justify-self:start}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;z-index:1000}.commission-editor{width:100%;max-width:540px;background:#fff;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 60px #0f172a40}.commission-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 480px){.commission-editor-grid{grid-template-columns:1fr}}.stack.tight{display:flex;flex-direction:column;gap:4px}.stack.tight>span{font-size:.82rem;font-weight:600;color:var(--text-muted)}.checkbox-row{display:flex;align-items:center;gap:8px;padding:8px 0;cursor:pointer}.checkbox-row input[type=checkbox]{width:auto;margin:0}.checkbox-row span{font-weight:500}.commission-editor-preview{background:var(--brand-accent-soft);border:1px solid var(--brand-primary);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.commission-editor-amount{font-size:1.6rem;font-weight:700;color:var(--brand-primary)}.primary-btn{background:var(--brand-primary);color:#fff;border:1px solid var(--brand-primary);border-radius:12px;padding:10px 16px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.primary-btn:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}.audit-filter-select{width:auto;padding:6px 10px;font-size:.85rem}.audit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.audit-row{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:.88rem}.audit-row-time{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;color:var(--text-muted);white-space:nowrap}.audit-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.audit-row-action{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.audit-row-action code{background:var(--brand-accent-soft);padding:1px 6px;border-radius:4px;font-size:.78rem}.audit-row-description{font-weight:500}@media (max-width: 720px){.audit-row{grid-template-columns:1fr}}.audit-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.audit-toolbar .secondary-btn{padding:6px 12px;font-size:.85rem;min-height:0}.audit-danger-btn{border-color:var(--brand-accent)!important;color:var(--brand-accent)!important}.audit-danger-btn:hover:not(:disabled){background:var(--brand-accent-soft)!important}.commission-header-actions-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.commission-header-actions-row .secondary-btn{padding:8px 14px;min-height:0}.public-invoice-shell{min-height:100vh;background:#f5f6f8;padding:24px 16px;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box}.public-invoice-card{width:100%;max-width:640px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:28px;box-sizing:border-box}.public-invoice-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;border-bottom:1px solid #eaecef;padding-bottom:16px}.public-invoice-header h1{margin:4px 0 0;font-size:28px;font-weight:600}.public-invoice-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.public-invoice-lines{width:100%;border-collapse:collapse;margin-bottom:20px}.public-invoice-lines th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600;border-bottom:1px solid #eaecef;padding:8px 6px}.public-invoice-lines td{padding:10px 6px;border-bottom:1px solid #f3f4f6;vertical-align:top}.public-invoice-totals{display:flex;flex-direction:column;gap:6px;padding:12px 6px 0;border-top:1px solid #eaecef}.public-invoice-totals .row.spread{display:flex;justify-content:space-between}.public-invoice-grand{margin-top:6px;padding-top:10px;border-top:1px solid #eaecef;font-size:18px}.public-invoice-paid{margin-top:20px;padding:12px 14px;background:#ecfdf5;color:#065f46;border-radius:8px;font-weight:500}.public-invoice-unpaid{margin-top:20px;padding:12px 14px;background:#f9fafb;border-radius:8px;line-height:1.5}@media (max-width: 480px){.public-invoice-card{padding:20px 16px}.public-invoice-header h1{font-size:22px}.public-invoice-lines th:nth-child(3),.public-invoice-lines td:nth-child(3){display:none}}.report-two-up{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.report-two-up{grid-template-columns:1fr}}.report-bars{display:flex;flex-direction:column;gap:8px;margin-top:12px}.report-bar-row{display:grid;grid-template-columns:140px 1fr 140px;gap:12px;align-items:center}.report-bar-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-bar-track{background:#f1f3f5;border-radius:6px;height:22px;position:relative;overflow:hidden}.report-bar-fill{background:linear-gradient(90deg,#2563eb,#3b82f6);height:100%;border-radius:6px;transition:width .2s ease}.report-bar-fill.alt{background:linear-gradient(90deg,#0891b2,#06b6d4)}.report-bar-value{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 600px){.report-bar-row{grid-template-columns:100px 1fr 110px;gap:8px}}.report-trend{display:flex;align-items:flex-end;gap:6px;height:200px;margin-top:16px;padding:8px 4px 0;border-bottom:1px solid #eaecef}.report-trend-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.report-trend-bar-wrap{flex:1 1 auto;width:100%;display:flex;align-items:flex-end;justify-content:center;min-height:0}.report-trend-bar{width:80%;max-width:36px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-radius:4px 4px 0 0;transition:height .2s ease;min-height:2px}.report-trend-value{font-size:11px;font-variant-numeric:tabular-nums;color:#4b5563;margin-top:4px;white-space:nowrap}.report-trend-label{font-size:11px;color:#6b7280;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}@media (max-width: 600px){.report-trend{height:160px}.report-trend-value,.report-trend-label{font-size:10px}}.ar-controls>input,.ar-controls>select,.ar-controls>button{width:auto}.report-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:12px}.ar-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.ar-table th,.ar-table td{padding:6px 8px;border-bottom:1px solid #f3f4f6;vertical-align:top;white-space:nowrap}.ar-table th{font-size:.8rem;font-weight:600;color:#6b7280;border-bottom:1px solid #eaecef}.ar-table th.l,.ar-table td.l{text-align:left}.ar-table th.r,.ar-table td.r{text-align:right}.ar-table>tbody>.ar-row>td.l:first-child{white-space:normal;min-width:180px}.ar-row{cursor:pointer}.ar-row:hover>td{background:#f8fafc}.ar-row:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.ar-name{font-weight:600}.ar-meta{display:flex;flex-wrap:wrap;gap:4px 10px}.ar-terms{padding:0 6px;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;font-size:.75rem;font-weight:600}.ar-chevron{width:24px;color:#9ca3af;text-align:center}.ar-sub>td{background:#f8fafc;padding:8px 8px 12px 24px}.ar-sub .ar-table{background:#fff;border:1px solid #eaecef}.ar-invoices th,.ar-invoices td{font-size:.85rem}.ar-actions{display:flex;gap:6px}.ar-actions button{width:auto}.ar-pill{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid transparent;font-size:.75rem;font-weight:600;line-height:1.4}.ar-pill.b-current{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.ar-pill.b-1-30{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.ar-pill.b-31-60{background:#fef3c7;color:#92400e;border-color:#fde68a}.ar-pill.b-61-90{background:#ffedd5;color:#9a3412;border-color:#fed7aa}.ar-pill.b-90plus{background:#fee2e2;color:#991b1b;border-color:#fecaca}.ar-strip{display:flex;height:18px;border-radius:6px;overflow:hidden;background:#f1f3f5;margin-top:12px}.ar-strip-seg{height:100%;min-width:2px}.ar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.ar-legend-item{width:auto;display:inline-flex;align-items:center;gap:6px;padding:2px 6px;min-height:0;border:0;border-radius:6px;background:transparent;color:#374151;font-size:.9rem}.ar-legend-item:hover{background:#f1f5f9}.ar-legend-item.active{font-weight:700;color:#111827;background:#eef2ff}.ar-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.ar-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.ar-filters>input[type=search]{flex:1 1 220px;max-width:360px;padding:8px 12px;min-height:40px}.ar-filters>select{width:auto;padding:8px 12px;min-height:40px}.ar-chips{display:flex;flex-wrap:wrap;gap:6px}.ar-chip{width:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;min-height:0;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.85rem;font-weight:600;transition:all .12s ease}.ar-chip:hover{border-color:#94a3b8;background:#f8fafc}.ar-chip.is-active{background:#0f172a;border-color:#0f172a;color:#fff}@media (max-width: 600px){.ar-table th,.ar-table td{padding:4px 6px;font-size:.8rem}.ar-invoices th,.ar-invoices td{font-size:.75rem}.ar-table>tbody>.ar-row>td.l:first-child{min-width:140px}.ar-sub>td{padding-left:8px}.ar-legend{gap:8px}.ar-legend-item{font-size:.82rem}}.st-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px}.st-custom{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.st-custom>input[type=date]{width:auto;padding:6px 10px;min-height:36px}.st-basis{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.st-basis-note{margin:6px 0 0}.st-notes{display:grid;gap:4px;margin-top:10px}.ar-table td.st-customer{white-space:normal;min-width:160px}.ar-pill.st-flag{background:#fef3c7;color:#92400e;border-color:#fde68a}.st-flags{display:flex;gap:4px}.st-review{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.st-review>li{display:flex;align-items:baseline;gap:8px}.st-worksheet{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 28px;margin-top:12px}.st-worksheet-input{display:flex;align-items:center;gap:6px}.st-worksheet-input>input{width:110px;padding:8px 12px;min-height:40px}.st-figure{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 600px){.st-basis .tab{min-width:0;flex:1 1 auto}.st-custom>input[type=date]{flex:1 1 120px}.st-worksheet{gap:12px 20px}.st-figure{font-size:18px}}.import-sample{background:#f8f9fa;border:1px solid #eaecef;border-radius:6px;padding:12px;font-size:12px;overflow-x:auto;margin-top:8px;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.import-csv-textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;margin-top:8px;padding:8px;border:1px solid #d1d5db;border-radius:6px;resize:vertical;box-sizing:border-box}.import-errors-list{margin-top:12px;max-height:400px;overflow-y:auto;border:1px solid #eaecef;border-radius:6px}.import-errors-list table{width:100%;border-collapse:collapse;font-size:13px}.import-errors-list th{text-align:left;background:#f8f9fa;border-bottom:1px solid #eaecef;padding:8px 12px;position:sticky;top:0}.import-errors-list td{padding:6px 12px;border-bottom:1px solid #f3f4f6;vertical-align:top}.import-errors-list td:first-child{width:60px;font-variant-numeric:tabular-nums;color:#6b7280}.setup-shell{min-height:100vh;background:linear-gradient(135deg,#1e3a8a,#3b82f6);padding:24px 16px;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box}.setup-card{width:100%;max-width:560px;background:#fff;border-radius:14px;box-shadow:0 10px 40px #0003;padding:32px;box-sizing:border-box;margin:24px 0}.setup-card h1{font-size:26px;font-weight:600}.setup-section{border-top:1px solid #eaecef;padding-top:20px}.setup-section h2{margin:0 0 12px;font-size:18px;font-weight:600}.setup-field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.setup-field>span{font-size:13px;font-weight:500;color:#374151}.setup-field input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:15px}.setup-field input:focus{outline:2px solid #3b82f6;outline-offset:-1px}.setup-field small{font-size:12px}@media (max-width: 520px){.setup-card{padding:24px 18px}.setup-card h1{font-size:22px}}.breakout-card{margin-top:12px}.breakout-grid{display:flex;flex-direction:column;gap:6px;margin-top:8px}.breakout-row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;border-bottom:1px solid #f3f4f6;font-variant-numeric:tabular-nums}.breakout-row:last-child{border-bottom:none}.breakout-grand{margin-top:4px;padding-top:8px;border-top:1px solid #eaecef;font-size:16px}.breakout-notes{margin-top:10px;padding:8px 10px;background:#fef3c7;border-radius:6px;border:1px solid #fde68a;display:flex;flex-direction:column;gap:4px}.inventory-stats{padding:14px 18px}.inventory-controls input[type=search]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px}.inventory-category h2{font-size:17px;font-weight:600;margin-bottom:8px}.inventory-table{width:100%;border-collapse:collapse;margin-top:8px}.inventory-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;padding:8px 10px;border-bottom:1px solid #eaecef;font-weight:600}.inventory-table td{padding:10px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.inventory-table tr.is-untracked td{color:#6b7280}.inventory-actions-col{width:1%;white-space:nowrap}.inventory-row-actions{gap:4px;align-items:center}.inventory-row-actions .secondary-btn{padding:4px 10px;min-height:0;font-size:13px}.clock-widget{display:flex;flex-direction:column;gap:2px;margin:6px 0}.clock-btn{border:none;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer;font-size:14px}.clock-btn.is-out{background:#065f46;color:#fff}.clock-btn.is-in{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.clock-btn.is-break-off{background:transparent;color:#334155;border:1px solid #cbd5e1}.clock-btn.is-break-on{background:#dbeafe;color:#1e3a8a;border:1px solid #93c5fd}.clock-week{text-align:center}.inventory-lowstock{border:1px solid #fde68a;background:#fffbeb}.inventory-po-form{margin-top:12px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.inventory-po-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f3f4f6}.inventory-po-row.is-closed{padding:6px 0;color:#6b7280}.inventory-po-row:last-child{border-bottom:none}@media print{body>#root .standalone-page>*{visibility:visible}body>*:not(#root){display:none!important}.inventory-header>.row,.inventory-controls,.inventory-po-panel,.inventory-lowstock,.inventory-actions-col{display:none!important}.card.panel,.inventory-category{box-shadow:none;border:1px solid #ccc;page-break-inside:avoid;margin-bottom:12px}.inventory-table th,.inventory-table td{padding:4px 6px;font-size:11pt}.inventory-table tr.is-untracked{display:none}.inventory-header h1:after{content:" — printed " attr(data-now);font-weight:400;font-size:14pt;color:#555}}.offline-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px 14px;border-radius:14px;border:1px solid #fcd34d;background:#fef3c7;color:#92400e;font-size:.95rem;line-height:1.4}.offline-banner.is-syncing{background:#dbeafe;border-color:#bfdbfe;color:#1e3a8a}.offline-banner.is-attention{background:#fee2e2;border-color:#fecaca;color:#991b1b}.offline-banner-text{flex:1 1 240px;min-width:0}.offline-banner-link{width:auto;min-height:0;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid currentColor;color:inherit;font-size:.85rem;font-weight:700}.outbox-chip{width:auto;min-height:0;padding:8px 14px;border-radius:999px;background:#fef3c7;border:1px solid #fcd34d;color:#92400e;font-size:.9rem;font-weight:700;align-self:flex-start;transition:background .12s ease}.outbox-chip:hover{background:#fde68a}.sync-sheet{max-width:520px}.sync-list{display:flex;flex-direction:column;gap:10px;max-height:60dvh;overflow-y:auto}.sync-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.sync-item.is-failed{border-color:#fecaca;background:#fef2f2}.sync-item.is-held{opacity:.75}.sync-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.sync-item-status{font-size:.85rem;color:var(--text-muted)}.sync-item.is-failed .sync-item-status{color:#991b1b}.sync-item-actions{display:flex;gap:8px;margin-top:4px}.sync-item-note{width:100%;box-sizing:border-box;margin-top:4px;padding:8px 10px;font:inherit;font-size:.9rem;color:var(--text-body);background:var(--surface);border:1px solid var(--border);border-radius:8px;resize:vertical;user-select:text;-webkit-user-select:text}.sync-item-actions button{width:auto;min-height:0;padding:6px 12px;font-size:.85rem}.photo-card-wrapper.is-pending .photo-card{border-style:dashed;opacity:.9}.photo-pending-badge{position:absolute;top:6px;left:6px;z-index:2;padding:4px 8px;border-radius:999px;background:#92400eeb;color:#fff;font-size:.75rem;font-weight:700;line-height:1}[data-needs-connection]{opacity:.6;cursor:not-allowed}[data-needs-connection]:after{content:"Needs a connection";display:block;font-size:.75rem;font-weight:400;opacity:.9}.delete-customer-card{max-width:560px}.delete-customer-card .stack{gap:12px}.delete-customer-name{font-size:1.05rem}.delete-customer-warning{padding:10px 12px;background:#fef3c7;border:1px solid #fde68a;border-left:4px solid #d97706;border-radius:10px;color:#78350f;font-size:.9rem}.delete-customer-lists{display:grid;gap:12px}@media (min-width: 600px){.delete-customer-lists{grid-template-columns:1fr 1fr}}.delete-customer-lists ul{margin:4px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:.85rem;line-height:1.4}.delete-customer-permanent{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:.9rem}.delete-customer-fields{display:grid;gap:10px}@media (min-width: 600px){.delete-customer-fields{grid-template-columns:1fr 1fr}}.delete-customer-card .payment-field input,.delete-customer-card .payment-field select{width:100%;margin:0}.delete-customer-summary{width:100%;box-sizing:border-box;padding:8px 10px;font:inherit;font-size:.85rem;color:var(--text-body);background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;resize:vertical;user-select:text;-webkit-user-select:text}.ar-filters>.checkbox-row{padding:0;font-size:.9rem}
