.jf-topicons{display:flex;align-items:center;gap:4px;margin-right:6px}.jf-topicon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;color:inherit}.jf-topicon:hover,.jf-topicon:focus-visible{background:#0000000f}.jf-badge{position:absolute;top:2px;right:1px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d64545;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.jf-badge-inline{position:static;margin-left:8px}.jf-page{max-width:760px;margin:0 auto;padding:16px}.jf-title{display:flex;align-items:center;gap:8px;font-size:22px;margin:4px 0 14px}.jf-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.jf-head h2{margin:0;font-size:18px}.jf-empty{color:#6b7785;padding:18px 4px}.jf-note{color:#6b7785;font-size:13px;margin:0 0 10px}.jf-warn{background:#fff4e5;border:1px solid #f5c27a;color:#7a4a00;border-radius:10px;padding:10px 12px;font-size:14px;margin:8px 0}.jf-feed,.jf-convs{list-style:none;margin:0;padding:0}.jf-feed-row,.jf-conv{display:flex;width:100%;gap:12px;align-items:flex-start;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8edf2;padding:12px 6px;cursor:pointer;font:inherit;color:inherit}.jf-feed-row:hover,.jf-conv:hover{background:#f6f9fb}.jf-new{background:#f1f7ff}.jf-dot{flex:0 0 10px;height:10px;border-radius:50%;margin-top:6px}.jf-feed-main,.jf-conv-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.jf-feed-top{display:flex;justify-content:space-between;gap:8px}.jf-when{color:#8a97a6;font-size:12px;white-space:nowrap}.jf-feed-sub{color:#4a5868;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jf-unread{color:#1d2733;font-weight:600}.jf-feed-detail{color:#6b7785;font-size:13px}.jf-avatar{flex:0 0 38px;height:38px;border-radius:50%;background:#e3ecf5;color:#2b4a6b;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.jf-search{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cfd8e1;border-radius:10px;font:inherit;margin-bottom:8px}.jf-btn{background:#1f6f3f;color:#fff;border:0;border-radius:10px;padding:9px 14px;font:inherit;font-weight:600;cursor:pointer}.jf-btn:disabled{opacity:.5;cursor:default}.jf-link{background:none;border:0;color:#2f6fde;font:inherit;cursor:pointer;padding:4px}.jf-bubbles{display:flex;flex-direction:column;gap:8px;padding:8px 0;min-height:200px}.jf-bubble{max-width:82%;padding:9px 12px;border-radius:14px;font-size:15px;display:flex;flex-direction:column;gap:4px}.jf-bubble.in{align-self:flex-start;background:#eef2f6}.jf-bubble.out{align-self:flex-end;background:#1f6f3f;color:#fff}.jf-bubble small{opacity:.7;font-size:11px}.jf-compose{display:flex;gap:8px;align-items:flex-end;position:sticky;bottom:0;background:#fff;padding:8px 0}.jf-compose textarea{flex:1;border:1px solid #cfd8e1;border-radius:10px;padding:9px 10px;font:inherit;resize:vertical}.jf-sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-start;justify-content:center;z-index:60;padding-top:8vh}.jf-sheet-in{background:#fff;border-radius:14px;width:min(520px,94vw);max-height:80vh;overflow:auto;padding:16px}.jf-soon{background:#f6f9fb;border:1px solid #e1e8ef;border-radius:14px;padding:18px}.jf-soon p{color:#4a5868;margin:6px 0 0}.jf-suggest{display:flex;flex-wrap:wrap;gap:8px}.jf-chip{border:1px solid #cfd8e1;background:#fff;border-radius:16px;padding:7px 12px;font:inherit;font-size:14px;cursor:pointer}.jf-draft{margin-top:6px;background:#fff;color:#1d2733;border:1px dashed #9fb3c8;border-radius:10px;padding:8px 10px}.jf-draft p{margin:4px 0 8px}.is-closed .cal-block-title,.is-closed .cal-block-time,.jobs-list-item.is-closed .jobs-list-main strong,.jobs-list-item.is-closed .jobs-list-title,.cp-job.is-closed .cp-job-title,.jm-closed-text{text-decoration:line-through;text-decoration-thickness:1.5px}.cal-block.is-closed{filter:saturate(.3)}.cal-block.is-closed:hover{filter:none}.cal-block.is-closed .cal-block-title,.cal-block.is-closed .cal-block-time,.jobs-list-item.is-closed .jobs-list-main strong,.jobs-list-item.is-closed .jobs-list-title,.cp-job.is-closed .cp-job-title{color:var(--neutral)}.jobs-list-item.is-closed{opacity:.9}.jobs-list-item.is-closed.is-to-invoice{opacity:1}.jm-badges{display:inline-flex;gap:4px;flex-wrap:wrap;align-items:center;margin-left:4px;vertical-align:middle}.jm-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;line-height:1;padding:2px 6px;border-radius:999px;white-space:nowrap;text-decoration:none}.jm-badge.jm-compact{padding:1px 4px;font-size:11px}.jm-flag{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.jm-form{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.jm-done{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.jm-late{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.cal-block .jm-badges{margin-left:2px}.cal-block.is-closed .jm-badges{opacity:1;filter:none}.jm-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12px;color:var(--muted);margin-top:8px}.jm-legend-item{display:inline-flex;align-items:center;gap:4px}.jm-legend-closed{text-decoration:line-through;opacity:.6;font-weight:600}.jm-chips{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}.jm-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}.jm-chip:hover{border-color:var(--muted)}.jm-chip.is-active{background:var(--orange);border-color:var(--orange);color:var(--text-on-accent)}.jm-chip-count{min-width:20px;text-align:center;font-size:12px;font-weight:700;background:var(--neutral-bg);border-radius:999px;padding:1px 6px}.jm-chip.is-active .jm-chip-count{background:#ffffff40}.cal-dot.is-closed{background:transparent!important;border:1.5px solid var(--muted)}.cal-dot.is-to-invoice{background:var(--danger-solid)!important}.cal-dot.is-form-missing:not(.is-to-invoice){background:var(--warning-solid)!important}.est-pill-expired{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.est-pill-archived{background:transparent;color:var(--muted);border:1px dashed var(--muted)}.est-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}.est-row-archived td{opacity:.65}@media(max-width:640px){.jm-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.jm-chip{flex:0 0 auto}}.jobv{container-type:inline-size;gap:14px;color:var(--text)}.jobv--drawer{background:var(--bg)}.jobv--page{padding:0;overflow:visible}.jobv-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--shadow-card)}@container (min-width: 820px){.jobv-hero{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:24px;padding:22px 24px}}.jobv-hero-main{min-width:0}.jobv-status-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.jobv .visit-status-chip{margin:0;padding:4px 10px;border-radius:999px;background:var(--neutral-bg);color:var(--text);font-size:13px;font-weight:700}.jobv .visit-status-dot{width:10px;height:10px;border-radius:3px}.jobv-title{margin:10px 0 2px;font-size:22px;line-height:1.25;font-weight:800;color:var(--text-strong);letter-spacing:-.01em}@container (min-width: 820px){.jobv-title{font-size:26px}}.jobv-client-link{color:inherit;text-decoration:none}.jobv-client-link:hover,.jobv-client-link:focus-visible{color:var(--blue);text-decoration:underline}.jobv-subtitle{margin:0;font-size:15px;color:var(--muted)}.jobv .visit-view-only{margin:12px 0 0}.jobv-contact{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}.jobv-contact li{display:flex;align-items:center;gap:10px;min-width:0}.jobv-contact .job-address-link{color:var(--blue);overflow-wrap:anywhere}.jobv-ic{width:20px;flex:0 0 20px;text-align:center;font-size:15px}.jobv .muted{color:var(--muted)}.jobv .job-action-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.jobv .job-action{flex-direction:row;gap:6px;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border-radius:10px;font:inherit;font-size:15px;cursor:pointer;background:var(--card);color:var(--text)}.jobv .job-action span{font-size:14px;font-weight:700}.jobv .job-action:hover:not(.disabled),.jobv .job-action:focus-visible{border-color:var(--blue);background:var(--blue-muted)}.jobv .job-action.disabled{opacity:1;color:var(--muted);border-style:dashed;background:var(--bg);cursor:not-allowed}.jobv-when{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:14px;align-self:start}.jobv-when-top{display:flex;align-items:flex-start;gap:14px}.jobv-date-tile{flex:0 0 64px;display:flex;flex-direction:column;align-items:center;overflow:hidden;border-radius:10px;background:var(--card);border:1px solid var(--border-strong);text-transform:uppercase}.jobv-date-dow{align-self:stretch;text-align:center;background:var(--orange);color:var(--text-on-accent);font-size:12px;font-weight:800;letter-spacing:.04em;padding:3px 0}.jobv-date-day{font-size:26px;font-weight:800;line-height:1.1;color:var(--text-strong);padding-top:4px}.jobv-date-mon{font-size:12px;font-weight:700;color:var(--muted);padding-bottom:6px}.jobv-when-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.jobv-when-date{font-size:15px;font-weight:700;color:var(--text-strong)}.jobv-when-rel{color:var(--orange)}.jobv-when-time{font-size:20px;font-weight:800;color:var(--text-strong);font-variant-numeric:tabular-nums}.jobv-when-sub,.jobv .visit-arrival{font-size:13.5px;color:var(--muted);margin:0}.jobv .jobv-when-edit{width:100%;padding:8px 12px;font-size:14px;font-weight:700;background:var(--card)}.jobv-team{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.jobv-team-label,.jobv-field-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.jobv-team-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px}.jobv-person{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.jobv-avatar{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--blue-muted);color:var(--blue);font-size:12.5px;font-weight:800}.jobv-confirm{font-size:13.5px;line-height:1.4;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:8px;padding:7px 10px}.jobv-confirm--sent{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.jobv .jobv-actions{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px}.jobv .jobv-actions .btn-primary,.jobv .jobv-actions .btn-ghost{min-height:40px;padding:8px 14px;font-size:14px;font-weight:700}.jobv .jobv-actions .jobv-primary{min-width:220px;padding:10px 20px;font-size:15px}.jobv-closed{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;border-radius:10px;background:var(--neutral-bg);color:var(--text);font-size:15px;font-weight:700}.jobv .jobv-actions .job-timer{margin:0;padding:0;border:none;background:transparent;gap:8px}.jobv .jobv-actions .job-timer--on{padding:4px 4px 4px 12px;border:1px solid var(--success-border);background:var(--success-bg);border-radius:10px}.jobv .jobv-actions .job-timer .job-timer-btn{min-width:0;min-height:40px;padding:8px 14px;font-size:14px}.jobv .jobv-actions .job-timer:not(.job-timer--on) .job-timer-btn.btn-primary{background:var(--card);color:var(--orange);border:1px solid var(--orange)}.jobv .jobv-actions .job-timer:not(.job-timer--on) .job-timer-btn.btn-primary:hover:not(:disabled){background:var(--orange-muted)}.jobv .jobv-actions .job-timer-note{flex:0 1 auto}.jobv-actions-spacer{flex:1 1 auto}.jobv-actions-note,.jobv .prefs-note{margin:0}.jobv-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}@container (min-width: 1000px){.jobv-grid{grid-template-columns:minmax(0,1fr) 360px;gap:20px}}.jobv-main,.jobv-aside{display:flex;flex-direction:column;gap:14px;min-width:0}.jobv .job-hub-tabs{margin:0;background:var(--card)}.jobv .job-hub-tab{font-size:14px}.jobv .wb-drawer-section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:var(--shadow-sm);font-size:14.5px}.jobv .wb-drawer-section h3{font-size:16px;font-weight:800;color:var(--text-strong);margin:0 0 8px}.jobv .wb-section-head{margin-bottom:8px}.jobv .wb-section-head h3{margin:0}.jobv .placeholder{font-size:14px}.jobv .wb-note-meta{font-size:12.5px}.jobv .wb-detail-list{font-size:14px}.jobv .wb-detail-list li{background:var(--card)}.jobv-row-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:11px 0;border:none;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:15px;text-align:left;text-decoration:none;cursor:pointer}.jobv-row-link>span:last-child{color:var(--orange);font-size:20px;font-weight:700;line-height:1}.jobv-row-link:hover,.jobv-row-link:focus-visible{color:var(--blue)}.jobv-row-sub{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}.jobv-kv{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.jobv-kv-main{min-width:0;font-size:15px}.jobv-kv-main .muted{font-size:14px;margin-top:2px}.jobv .jobv-mini-btn{width:auto;padding:6px 10px;font-size:13.5px;text-decoration:none}.jobv-prop{margin-top:14px;display:flex;flex-direction:column;gap:6px}.jobv-prop select{width:100%;max-width:100%}.jobv-prop .jobv-row-link{margin-top:6px}.jobv-jobno{margin:0 0 10px;font-size:15px;font-weight:700}.jobv-dl{margin:0;display:grid;gap:10px}.jobv-dl>div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:8px;align-items:baseline}.jobv-dl dt{margin:0;font-size:13.5px;color:var(--muted)}.jobv-dl dd{margin:0;font-size:14.5px}.jobv .visit-visits-list{margin-top:4px}.jobv .visit-visits-row{font-size:14px}.wb-drawer.wb-drawer--job{width:min(780px,100%)}.wb-drawer-header-actions{display:flex;align-items:center;gap:8px}.wb-drawer-header-actions .btn-ghost{width:auto;padding:.35rem .7rem}.job-page{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.job-page-back{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.job-page-crumbs{font-size:14px;color:var(--muted)}.job-page-crumbs .link-button{font-size:14px}.jobv input:not([type=checkbox]):not([type=radio]),.jobv select,.jobv textarea{font-size:14px}.jobv input::placeholder,.jobv textarea::placeholder{font-size:14px}@container (max-width: 560px){.jobv .jobv-actions .jobv-primary,.jobv .jobv-actions .jobv-closed{flex:1 1 100%;justify-content:center}.jobv-hero{padding:16px}}.qo-tabs-wrap{margin:4px 0 12px}.qo-tab[aria-selected=true]{border-color:var(--accent, #0b5cad);background:color-mix(in srgb,var(--accent, #0b5cad) 8%,transparent)}.qo-tab-name{font-weight:700}.qo-tab-total{font-size:14px;opacity:.8}.qo-tab-add{justify-content:center;align-items:center;border-style:dashed;color:var(--accent, #0b5cad);font-weight:600}.qo-opt-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-top:8px}.qo-opt-name{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;font-size:13px}.qo-opt-name input{font-size:15px;padding:8px 10px}.qo-on{color:#0f7a3d;border-color:#0f7a3d}.qo-danger{color:#b91c1c}.qo-hint{font-size:13px;opacity:.75;margin:6px 0}.qo-warn{font-size:14px;background:#fff7e6;color:#8a5300;border:1px solid #f3d19b;border-radius:8px;padding:8px 10px;margin:6px 0}.qo-line-disc-add{background:none;border:0;color:var(--accent, #0b5cad);font-size:13px;padding:2px 0;cursor:pointer;align-self:flex-start}.qo-line-disc{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;margin-top:4px}.qo-line-disc .discount-type button{min-width:32px}.qo-line-disc-val{width:80px;padding:4px 6px}.qo-line-disc-amt{color:#0f7a3d;font-weight:600}.qo-line-disc .discount-error{flex-basis:100%;margin:0}.qo-line-gross{font-size:12px;opacity:.6;text-decoration:line-through;display:block}.qo-tpl-dialog{max-width:560px;width:100%}.qo-tpl-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px;max-height:60vh;overflow:auto}.qo-tpl-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:10px 12px}.qo-tpl-list li>div{display:flex;flex-direction:column;gap:2px;min-width:0}.qo-tpl-list small{opacity:.7}.qo-doc-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.qo-doc-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:8px 10px}.qo-doc-list label{display:flex;align-items:center;gap:10px;min-width:0;flex:1;cursor:pointer}.qo-doc-off{opacity:.55}.qo-doc-pdf{flex:none;font-size:10px;font-weight:700;color:#fff;background:#c2410c;border-radius:5px;padding:4px 5px}.qo-doc-text{display:flex;flex-direction:column;min-width:0}.qo-doc-text strong{overflow-wrap:anywhere}.qo-doc-text small{opacity:.7}.qo-doc-btns{display:flex;gap:4px}.qo-terms-text{white-space:pre-wrap;font-size:14px;max-height:180px;overflow:auto}.qo-private{font-size:12px}.qo-choose-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}.qo-choose-list label{display:flex;gap:10px;align-items:center;border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:8px 10px;cursor:pointer}.qo-choose-list strong{flex:1}@media(max-width:640px){.qo-doc-list li{flex-wrap:wrap}}.qb-h-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.qb-h-row .qb-h{margin:0}.qo-catalog-docs{margin-top:16px;border-top:1px solid var(--border, #e5e7eb);padding-top:12px}.qo-catalog-docs .qt-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.qb-builder .qo-line-disc input.qo-line-disc-val{width:84px;flex:none;padding:4px 8px}.qb-builder .qo-doc-list input[type=checkbox]{width:auto;flex:none;margin:0}.qb-builder .qo-doc-list label{flex-direction:row;justify-content:flex-start;text-align:left}.qb-builder .qo-opt-name input{width:100%}.qo-catalog-docs input:not([type=checkbox]),.qo-catalog-docs select{font:inherit;font-size:15px;padding:7px 10px;border:1px solid var(--border-strong, #cbd5e1);border-radius:8px;background:var(--input-bg, var(--card, #fff));color:var(--text, inherit);box-sizing:border-box;min-width:180px}.qo-catalog-docs .qb-field{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}.qo-lang{display:inline-block;padding:0 5px;border-radius:4px;font-size:10.5px;font-weight:700;background:#eef1f6;color:#3a4252}.qo-lang-en{background:#fff1e6;color:#a2470f}.qo-lang-bilingue{background:#e8f4ec;color:#1f6b3a}.qo-warn-inline{display:block;color:#a2470f;font-size:12px}.qo-extra-row{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.qo-compact-select{display:inline-flex;gap:6px;align-items:center;font-size:13px}.qo-compact-select select{width:auto;min-width:90px;padding:4px 6px}.qo-resend{display:inline-block;padding:2px 8px;border-radius:999px;background:#fff1e6;color:#a2470f;font-weight:700;font-size:12px}.qo-resend-box{border-left:3px solid #e8572f;background:#fff8f3;padding:8px 10px;border-radius:6px;margin:8px 0;font-size:13px}.qo-evidence a,.qo-evidence button{margin-right:8px}.qb-price-missing{border-color:var(--warn, #b45309)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--warn, #b45309) 25%,transparent)}.qo-single{margin:4px 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.qo-big-btn{min-height:46px;padding:10px 14px;border-radius:12px;border:1.5px solid var(--border-strong, #cbd5e1);background:var(--card, #fff);color:var(--text, #1b2a44);font:inherit;font-size:15px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.qo-big-btn:disabled{opacity:.4;cursor:default}.qo-big-btn.qo-danger{color:#b91c1c;border-color:#f1c4c4}.qo-big-btn.qo-on{color:#0f7a3d;border-color:#0f7a3d;background:#eefaf2}.qo-add-opt{border-style:dashed;color:var(--blue, #0b5cad);border-color:#9fbbe2}.qo-tpl-btn{color:#b8401c;border-color:#f6c2ad;background:#fff4ef}.qo-tpl-save{color:var(--blue, #0b5cad);border-color:#9fbbe2;background:#f3f8ff}.qo-tpl-row{display:flex;justify-content:flex-end;gap:10px;margin:0 0 4px}@media(max-width:699px){.qo-tpl-row .qo-tpl-btn,.qo-tpl-row .qo-tpl-save{flex:1}}.qo-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:6px 0 4px}.qo-tab{position:relative;min-height:76px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:2px solid var(--border, #e5e7eb);border-radius:14px;background:var(--surface, #fff);color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.qo-tab[aria-selected=true]{border-width:3px;padding:9px 11px;box-shadow:0 6px 16px #0b5cad26}.qo-tab-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;width:100%;min-height:20px}.qo-tab-n{white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;opacity:.6}.qo-tab-name{overflow-wrap:anywhere;font-size:16px}.qo-tab-total{font-size:15px}.qo-tab-add{min-height:76px;font-size:15px}.qo-star{margin-left:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:700;background:#0f7a3d;color:#fff;border-radius:999px;padding:2px 8px;white-space:nowrap;box-sizing:border-box}.qo-opt-bar{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}.qb-builder .qo-opt-name input,.qo-opt-name input{font-size:16px;min-height:46px;padding:10px 12px;box-sizing:border-box}.qo-opt-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qo-opt-actions .qo-danger{grid-column:1 / -1}@media(min-width:700px){.qo-single{display:flex;flex-wrap:wrap;gap:10px}.qo-tabs-3,.qo-tabs-4,.qo-tabs-5{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.qo-opt-actions{display:flex;flex-wrap:wrap;gap:8px}.qo-opt-actions .qo-big-btn{flex:1 1 auto;white-space:nowrap}}.pp{display:grid;gap:8px;margin-top:12px}.pp-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-title{font-weight:600;font-size:.9rem;color:var(--text, #1b2430)}.pp-add{background:none;border:0;padding:6px 2px;color:var(--orange);font-weight:600;cursor:pointer;font-size:.92rem}.pp-add:hover{color:var(--orange-hover);text-decoration:underline}.pp-muted{color:var(--muted);margin:0;font-size:.9rem}.pp-list{display:grid;gap:6px}.pp-card{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.pp-card.is-on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset;background:var(--blue-muted)}.pp-pick{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;background:none;border:0;text-align:left;cursor:pointer;min-height:48px;font:inherit;color:inherit}.pp-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong);flex:none}.pp-card.is-on .pp-dot{border-color:var(--blue);background:radial-gradient(circle,var(--blue) 0 4px,#fff 5px)}.pp-text{display:grid;gap:2px;min-width:0}.pp-text strong{font-weight:600}.pp-text span{color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.pp-badge{margin-left:auto;font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--orange-muted);color:var(--orange-ink);font-weight:600}.pp-edit{background:none;border:0;border-left:1px solid var(--border);padding:0 14px;color:var(--blue);font-weight:600;cursor:pointer;font-size:.88rem}.pp-edit:hover{background:var(--blue-muted)}.pp-form{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}.pp-form-title{font-size:.95rem}.pp-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:560px){.pp-row{grid-template-columns:1fr}}.pp-field{display:grid;gap:4px;font-size:.85rem;color:var(--muted)}.pp-field input,.pp-field select{font:inherit;color:var(--text, #1b2430);padding:9px 10px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;min-height:40px}.pp-field input:focus,.pp-field select:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}.pp-actions{display:flex;justify-content:flex-end;gap:8px}.pp-ok{color:#1f7a45;margin:0;font-size:.88rem}.est-client-picked>div:first-child{flex:1;min-width:0}.pp-text{flex:1}@media(max-width:720px){.pp-pick{flex-wrap:wrap}}.inv-equip-box{margin:4px 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--blue-muted)}.client-use-company-row{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text, #1f2937)}.client-use-company-row input[type=checkbox]{width:18px;height:18px;accent-color:#c94322}.addr-ta{position:relative;width:100%}.addr-ta>input{width:100%;box-sizing:border-box}.addr-ta-list{position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 2px);margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 8px 24px #10182824;max-height:320px;overflow-y:auto;-webkit-overflow-scrolling:touch}.addr-ta-list li[role=option]{display:flex;flex-direction:column;gap:2px;padding:10px 12px;cursor:pointer;min-height:44px;box-sizing:border-box}.addr-ta-list li.on,.addr-ta-list li[role=option]:hover{background:#fff4ec}.addr-ta-main{font-weight:600;color:#101828;font-size:15px}.addr-ta-sub{color:#667085;font-size:13px;padding-left:22px}.addr-ta-foot{padding:6px 12px 4px;color:#98a2b3;font-size:12px;border-top:1px solid #f2f4f7}.addr-ta-spin{position:absolute;right:10px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid #e4e7ec;border-top-color:#f26b1d;border-radius:50%;animation:addr-spin .7s linear infinite}@keyframes addr-spin{to{transform:rotate(360deg)}}.property-page .prop-header{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;border-top:3px solid var(--brand-orange)}.prop-eyebrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}.prop-occupants-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.prop-occ-chip{display:inline-flex;flex-direction:column;padding:6px 10px;border:1px solid var(--blue-muted);background:var(--blue-muted);border-radius:10px;line-height:1.25}.prop-occ-chip a{font-weight:600;color:var(--blue)}.prop-occ-chip small{color:var(--muted)}.prop-actions{display:flex;gap:8px;flex-wrap:wrap}.prop-chip,.property-page .chip,.sysf .chip,.eq-wform .chip{cursor:pointer}.property-page .chip.active,.sysf .chip.active,.eq-wform .chip.active{background:var(--blue);border-color:var(--blue);color:var(--text-on-accent)}.prop-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.prop-stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:2px;min-width:0}.prop-stat-n{font-size:1.55rem;font-weight:700;color:var(--text-strong)}.prop-stat-l{font-weight:600;color:var(--muted);font-size:.86rem}.prop-stat small{color:var(--muted);min-height:1.1em}.prop-stat-warn{border-color:var(--warning-border);background:var(--warning-bg)}.prop-stat-due .prop-stat-n{color:var(--orange)}.prop-review-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);border-radius:var(--radius);padding:10px 14px;margin:0 0 12px;font-weight:600}.prop-tabs{overflow-x:auto;scrollbar-width:none}.prop-tab-n{display:inline-block;margin-left:6px;min-width:20px;padding:0 6px;border-radius:999px;background:var(--orange-muted);color:var(--orange-ink);font-size:.75rem;font-weight:700;text-align:center}.prop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.prop-grid>.card{margin:0;min-width:0}.prop-span2{grid-column:1 / -1}.prop-h3{font-size:.95rem;margin:14px 0 6px}.prop-chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.prop-occ-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.prop-occ-list li{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.prop-occ-list small{flex-basis:100%}.prop-table-wrap{overflow-x:auto}.prop-table{width:100%;border-collapse:collapse;font-size:.92rem}.prop-table th{text-align:left;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:8px;border-bottom:1px solid var(--border)}.prop-table td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.prop-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:8px}.prop-gallery a{display:flex;flex-direction:column;gap:4px;color:var(--text);text-decoration:none;font-size:.75rem;min-width:0}.prop-gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:var(--neutral-bg)}.prop-gallery span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.prop-doc-tile{justify-content:center;align-items:center;aspect-ratio:4 / 3;border:1px dashed var(--border-strong);border-radius:8px;font-size:1.5rem}.prop-docs{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:6px}.prop-note-form{display:flex;gap:8px;align-items:flex-end;margin-bottom:10px}.prop-note-form textarea{flex:1}.prop-override{margin-top:4px;font-size:.82rem;color:var(--warning)}.prop-modal{max-width:560px}.prop-client-search ul{list-style:none;padding:0;margin:6px 0 0;border:1px solid var(--border);border-radius:8px;max-height:240px;overflow:auto}.prop-client-search li button{display:flex;gap:8px;width:100%;text-align:left;padding:10px 12px;background:none;border:0;border-bottom:1px solid var(--border);cursor:pointer}.prop-client-search li button:hover{background:var(--row-hover)}.prop-picked{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;background:var(--blue-muted);border-radius:8px}.eq-system-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.eq-system{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.eq-system-off{opacity:.7;background:var(--neutral-bg)}.eq-system-head{display:flex;gap:12px;align-items:center;padding:12px 14px;color:var(--text);text-decoration:none;flex-wrap:wrap}.eq-system-head:hover{background:var(--row-hover)}.eq-system-icon{width:40px;height:40px;border-radius:10px;background:var(--blue-muted);display:grid;place-items:center;font-size:1.2rem;flex:none}.eq-system-main{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0}.eq-muted{color:var(--muted);font-size:.86rem}.eq-muted code,.eq-dl code{font-size:.85em;background:var(--neutral-bg);padding:1px 5px;border-radius:4px}.eq-components{list-style:none;margin:0;padding:0 0 6px;border-top:1px solid var(--border)}.eq-components li a{display:flex;gap:10px;align-items:center;padding:9px 14px 9px 28px;color:var(--text);text-decoration:none;flex-wrap:wrap}.eq-components li a:hover{background:var(--row-hover)}.eq-zone-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-orange);flex:none}.eq-comp-main{display:flex;flex-direction:column;flex:1 1 200px;min-width:0}.eq-review-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--warning-solid);color:#fff;font-size:.72rem;margin-left:6px}.eq-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;background:var(--neutral-bg);color:var(--neutral);border:1px solid var(--neutral-border);margin-left:4px}.eq-wbadge{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:700;border:1px solid}.eq-wbadge-active{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.eq-wbadge-expiring{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.eq-wbadge-expired{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.eq-wbadge-upcoming{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.eq-wbadge-none{background:var(--neutral-bg);color:var(--neutral);border-color:var(--neutral-border)}.eq-header-side{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.eq-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0}.eq-dl dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.eq-dl dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.eq-notes{white-space:pre-wrap;background:var(--neutral-bg);padding:10px;border-radius:8px;margin:12px 0 0}.eq-warranty-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.eq-warranty{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-left:4px solid var(--success-solid);border-radius:8px;flex-wrap:wrap}.eq-warranty-expiring{border-left-color:var(--warning-solid)}.eq-warranty-expired{border-left-color:var(--danger-solid)}.eq-warranty-upcoming{border-left-color:var(--info)}.eq-warranty-main{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0}.eq-legal-note{font-size:.8rem;margin-top:10px}.eq-wform{border:1px solid var(--blue-muted);background:#fbfcff;border-radius:var(--radius);padding:12px;margin:8px 0 12px;display:flex;flex-direction:column;gap:6px}.eq-wform-dates{grid-template-columns:1fr 90px 1fr}.link-button{background:none;border:0;padding:0;color:var(--blue);cursor:pointer;font:inherit;text-decoration:underline}.sysf{display:flex;flex-direction:column;gap:14px;border:0;padding:0;margin:0;min-width:0}.sysf-title{font-weight:700;color:var(--text-strong);font-size:1rem}.sysf-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sysf-type{min-height:56px;border:2px solid var(--border);border-radius:12px;background:var(--card);font-weight:600;font-size:.95rem;padding:8px;cursor:pointer;color:var(--text)}.sysf-type.active{border-color:var(--orange);background:var(--orange-muted);color:var(--orange-ink)}.sysf-card{container-type:inline-size;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--card);display:flex;flex-direction:column;gap:8px}.sysf-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:700;color:var(--blue)}.sysf-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sysf .field input,.sysf .field select{min-height:46px;font-size:1rem}.sysf-stepper{display:inline-flex;align-items:center;gap:0;border:1px solid var(--border-strong);border-radius:12px;overflow:hidden}.sysf-stepper button{width:52px;height:48px;font-size:1.4rem;background:var(--card);border:0;cursor:pointer;color:var(--blue)}.sysf-stepper span{min-width:48px;text-align:center;font-weight:700;font-size:1.15rem}.sysf-photo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sysf-photo-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border:2px dashed var(--border-strong);border-radius:12px;cursor:pointer;font-weight:600;color:var(--blue);background:var(--blue-muted)}.sysf-photo-btn.missing{border-color:var(--orange);color:var(--orange-ink);background:var(--orange-muted)}.sysf-photo img{width:64px;height:48px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.sysf-photo-ok{color:var(--success);font-weight:700}.sysf-add{min-height:52px;border:2px dashed var(--orange);color:var(--orange-ink);background:var(--orange-muted);border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer}.sysf-terms{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.6fr) minmax(0,1.15fr) minmax(0,1.15fr);gap:6px 8px;align-items:end}.sysf-terms .sysf-term-label{font-weight:600;align-self:center}.sysf-terms input{min-height:44px;min-width:0;width:100%;box-sizing:border-box}.sysf-terms-head{font-size:.72rem;color:var(--muted);text-transform:uppercase}.sysf-issues{border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:12px;padding:10px 14px;color:var(--warning)}.sysf-issues ul{margin:6px 0 0;padding-left:18px}.sysf-issues-ok{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}.sysf-legal{font-size:.82rem;color:var(--blue);background:var(--blue-muted);border-radius:10px;padding:8px 12px}.sysf-override{border:1px solid var(--orange);background:var(--orange-muted);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px}@media(max-width:1023px){.prop-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.prop-grid{grid-template-columns:1fr}.prop-stats{gap:8px}.prop-stat{padding:10px 12px}.prop-stat-n{font-size:1.25rem}.eq-dl{grid-template-columns:1fr 1fr}.eq-header-side{align-items:flex-start}.sysf-types{grid-template-columns:repeat(2,minmax(0,1fr))}.sysf-row{grid-template-columns:1fr}.sysf-terms{grid-template-columns:1fr .7fr}.sysf-terms .sysf-terms-head{display:none}.sysf-terms .sysf-term-label{grid-column:1 / -1;margin-top:6px}.eq-wform-dates{grid-template-columns:1fr 1fr}.prop-actions .btn-primary,.prop-actions .btn-ghost{flex:1 1 auto}}.prop-row-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.portal-toggle-card{border-left:3px solid var(--blue)}.portal-toggle{display:flex;gap:12px;align-items:flex-start}.portal-toggle input{width:22px;height:22px;margin-top:2px;accent-color:var(--orange)}.sysf-hint{display:block;margin-top:4px;font-size:.78rem;color:var(--muted, #5f6b7a)}.sysf-legal-no{color:#8a2c0d;background:#fdede8}.eq-legal-box{margin-top:10px;border-radius:10px;padding:10px 12px;background:var(--blue-muted, #eaf0fa);color:var(--blue, #2a5298);font-size:.86rem}.eq-legal-box.no{background:#fdede8;color:#8a2c0d}.eq-legal-refusal{margin-top:8px;border-radius:10px;padding:10px 12px;background:#fef3f2;border:1px solid #fecdca;color:#b42318;font-weight:600;font-size:.88rem}.sysf-legal-inline{display:block;margin-top:6px;padding:6px 10px}.eq-sale-prompt{border:2px solid var(--orange, #e85734);background:#fff7f2}.eq-sale-prompt h2{margin:0 0 6px;color:#b4401c;font-size:1.05rem}.eq-sale-prompt p{margin:0 0 10px;line-height:1.45}.eq-sale-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.eq-sale-row .field{min-width:180px}.eq-later-reason{margin-top:8px}.eq-later-reason textarea{width:100%;resize:vertical;font:inherit}.eq-later-reason textarea[aria-invalid=true]{border-color:#f97316}.eq-date-log{list-style:none;margin:0;padding:0;display:grid;gap:10px}.eq-date-log li{display:grid;gap:2px;padding:8px 10px;border-left:3px solid #1d4ed8;background:#f8fafc;border-radius:6px}.eq-date-log-reason{font-style:italic}@container (max-width: 560px){.sysf-terms{grid-template-columns:minmax(0,.6fr) minmax(0,1fr) minmax(0,1fr)}.sysf-terms .sysf-terms-head:first-child{display:none}.sysf-terms .sysf-term-label{grid-column:1 / -1;margin-top:4px}}.rem-box{border:1px solid var(--border, #d7dde4);border-radius:10px;padding:12px 14px;margin-top:10px;background:var(--surface, #fff)}.rem-box h3,.rem-box h4{margin:0 0 6px;font-size:15px}.rem-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.rem-muted{color:var(--muted, #5b6672);font-size:13px;margin:4px 0}.rem-warn{color:#8a5a00;background:#fff6e0;border-radius:6px;padding:4px 8px;font-size:13px;margin:6px 0}.rem-ok{color:#12663a;background:#e6f6ec;border-radius:6px;padding:4px 8px;font-size:13px;margin:6px 0}.rem-err{color:#a32020;background:#fdeaea;border-radius:6px;padding:4px 8px;font-size:13px;margin:6px 0}.rem-text{white-space:pre-wrap;background:var(--surface-2, #f4f6f8);border-radius:8px;padding:8px 10px;font-size:13px;margin:6px 0}.rem-list{list-style:none;padding:0;margin:6px 0 0}.rem-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:6px 0;border-top:1px solid var(--border, #e6eaef);font-size:13px}.rem-row:first-child{border-top:0}.rem-row .rem-when{color:var(--muted, #5b6672)}.rem-chip{border-radius:999px;padding:1px 8px;font-size:12px;background:#eef1f4;color:#39424c;align-self:start}.rem-chip.planned{background:#e7f0ff;color:#1d4fa3}.rem-chip.sent{background:#e6f6ec;color:#12663a}.rem-chip.failed{background:#fdeaea;color:#a32020}.rem-chip.blocked,.rem-chip.stopped,.rem-chip.skipped{background:#f1f1f1;color:#6b6b6b}.rem-linkbtn{background:none;border:0;color:var(--accent, #1d6fd8);padding:0;cursor:pointer;font-size:12px;text-align:left}.rem-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.rem-settings fieldset{border:1px solid var(--border, #e1e6eb);border-radius:10px;padding:10px 12px;margin:10px 0}.rem-settings legend{font-weight:600;padding:0 4px}.rem-settings .rem-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0;font-size:14px}.rem-settings input[type=number]{width:64px}.rem-settings input.rem-days{width:140px}.rem-flags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.tf-wrap{display:flex;flex-direction:column;gap:.85rem;position:relative}.tf-lang{position:absolute;top:-.5rem;right:-.5rem;display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.tf-lang button{background:transparent;border:0;padding:.25rem .6rem;font-size:.75rem;font-weight:600;color:var(--muted);cursor:pointer}.tf-lang button.on{background:var(--blue-muted);color:var(--text, inherit)}.tf-icon{font-size:2rem;text-align:center}.tf-wrap .page-title,.tf-wrap .page-sub{text-align:center}.tf-steps{margin:0;padding-left:0;list-style:none;font-size:.92rem;display:grid;gap:.3rem}.tf-steps-3{margin:0;font-size:.92rem}.tf-qr{align-self:center;padding:10px;background:#fff;border:1px solid var(--border);border-radius:12px;line-height:0}.tf-qr-ph{width:200px;height:200px;border-radius:8px;background:linear-gradient(90deg,var(--bg),var(--border),var(--bg));background-size:200% 100%;animation:tf-shimmer 1.2s infinite linear}@keyframes tf-shimmer{to{background-position:-200% 0}}.tf-manual{font-size:.85rem;color:var(--muted)}.tf-manual code{display:block;margin:.4rem 0;padding:.5rem;background:var(--bg);border-radius:6px;font-size:.9rem;letter-spacing:.05em;word-break:break-all;-webkit-user-select:all;user-select:all}.tf-code{font-size:1.6rem!important;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.tf-code-rc{font-size:1.15rem!important;letter-spacing:.1em}.tf-check{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.9rem}.tf-check small{flex-basis:100%;color:var(--muted);padding-left:1.5rem}.tf-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.tf-link{background:none;border:0;padding:0;color:var(--blue, #2563eb);cursor:pointer;font-size:.88rem}.tf-link:hover{text-decoration:underline}.tf-codes{columns:2;margin:0;padding:.75rem 1rem .75rem 2rem;background:var(--bg);border:1px dashed var(--border);border-radius:10px;font-family:ui-monospace,Menlo,monospace;font-size:.95rem;line-height:1.8}.tf-row{display:flex;gap:.5rem;justify-content:center}.tf-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.5rem}.tf-table td{padding:.45rem .25rem;border-top:1px solid var(--border)}.tf-pill{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.tf-pill.ok{background:#e7f6ec;color:#17663a}.tf-pill.wait{background:var(--orange-muted);color:#8a4b00}.clock-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem 1.1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.55rem;max-width:560px}.clock-card--on{border-color:var(--success-border);background:linear-gradient(180deg,var(--success-bg),var(--card) 70%)}.clock-card-head{display:flex;align-items:center;gap:.5rem}.clock-dot{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px #027a4829;flex:none}.clock-dot--off{background:var(--muted);box-shadow:none}.clock-card-status{font-weight:700;font-size:1.05rem}.clock-card-hint,.clock-card-context{margin:0;color:var(--muted);font-size:.9rem}.clock-card-duration{display:flex;align-items:baseline;gap:.6rem}.clock-card-duration-label{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.clock-card-duration-value{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.clock-btn{border:none;border-radius:10px;min-height:52px;padding:.8rem 1rem;font-size:1.05rem;font-weight:700;cursor:pointer;width:100%;color:var(--text-on-accent);margin-top:.25rem}.clock-btn:disabled{opacity:.7;cursor:not-allowed}.clock-btn--in{background:var(--orange)}.clock-btn--out{background:var(--orange-hover)}.clock-btn--compact{width:auto;min-height:44px;margin-top:0;padding:.6rem 1.1rem;font-size:.95rem}.clock-card-error{margin:0}.clock-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:1rem;z-index:1000}.clock-confirm{width:min(380px,100%);background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.2rem}.clock-confirm h2{margin:0 0 .4rem;font-size:1.1rem}.clock-confirm p{margin:0 0 1rem;color:var(--muted)}.clock-confirm-actions{display:flex;justify-content:flex-end;gap:.6rem}.clock-confirm-actions .btn-ghost{min-height:44px}.se-page{max-width:720px}.se-tabs{margin:.25rem 0 1rem;max-width:420px}.se-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.se-chip-btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:.35rem .85rem;font-weight:600;font-size:.85rem;cursor:pointer}.se-chip-btn.on{background:var(--blue-muted);color:var(--blue);border-color:var(--blue)}.se-total{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 1.1rem}.se-total strong{font-size:1.35rem}.se-muted{color:var(--muted)}.se-day{margin-bottom:1rem}.se-day>header{display:flex;justify-content:space-between;font-weight:700;text-transform:capitalize;padding:0 .25rem .35rem;font-size:.95rem}.se-list{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.se-item{display:flex;gap:.75rem;justify-content:space-between;align-items:center;padding:.8rem .9rem}.se-item+.se-item{border-top:1px solid var(--border)}.se-item-main{min-width:0;flex:1}.se-item-time{font-weight:700;font-size:1rem}.se-item-sub{color:var(--muted);font-size:.85rem;margin-top:.1rem}.se-item-note{font-size:.85rem;margin-top:.2rem;overflow-wrap:anywhere}.se-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;flex-shrink:0}.se-edit-btn{padding:.35rem .8rem;font-size:.85rem}.se-badges{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}.se-badges:empty{display:none}.se-chip{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700}.se-chip-warn{background:var(--orange-muted);color:var(--orange)}.se-chip-muted{background:var(--blue-muted);color:var(--blue)}.se-chip-ok{background:var(--success-bg);color:var(--success)}.se-lock{font-size:.75rem;color:var(--muted);text-align:right;max-width:9rem}.se-add{margin-bottom:.9rem}.se-form{display:flex;flex-direction:column;gap:.85rem}.se-form textarea,.se-form input,.se-form select{background:var(--input-bg);color:var(--text)}.se-form textarea{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;font:inherit;font-size:1rem;resize:vertical}.se-row2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.se-row2>.field{min-width:0}.se-row2 input{min-width:0;width:100%;font-size:.95rem}.se-entry-head{margin:0;font-weight:600}.se-reason{border:1px solid var(--orange);background:var(--orange-muted);border-radius:var(--radius);padding:.75rem}.se-reason>span{color:var(--text);font-weight:700;font-size:.95rem}.se-reason b{color:var(--orange)}.se-reason-bad{border-color:var(--danger)}.se-err{color:var(--danger);font-weight:600}.se-actions{display:flex;gap:.6rem}.se-actions .btn-ghost{flex:0 0 auto}.se-actions .btn-primary{flex:1}.se-history h3{font-size:.95rem;margin:0 0 .5rem;color:var(--blue)}.se-diff{border:1px solid var(--border);border-radius:8px;padding:.6rem .7rem;margin-bottom:.6rem;font-size:.85rem}.se-diff-who{margin-bottom:.25rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.se-diff-reason{margin-bottom:.35rem;overflow-wrap:anywhere}.se-diff-table{width:100%;border-collapse:collapse}.se-diff-table th,.se-diff-table td{text-align:left;padding:.2rem .35rem;vertical-align:top}.se-diff-table thead th{color:var(--muted);font-weight:600;font-size:.75rem}.se-diff-table tbody th{color:var(--muted);font-weight:600;white-space:nowrap}.se-old{text-decoration:line-through;color:var(--muted)}.se-new{color:var(--text);font-weight:700}.se-review-card .se-review-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.se-review-item{border-top:1px solid var(--border);padding:.85rem 0}.se-review-item:first-of-type{border-top:none}.se-review-title{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;align-items:baseline}.se-review-actions{display:flex;gap:.5rem;align-items:center;margin-top:.4rem;flex-wrap:wrap}.se-review-actions .btn-primary{width:auto;padding:.5rem 1rem}@media(max-width:700px){.se-sheet{width:100%}.se-row2{grid-template-columns:1fr}}.ts2{display:flex;flex-direction:column;gap:14px}.ts2-head{display:flex;align-items:baseline;justify-content:space-between}.ts2-legacy{font-size:13px}.ts2-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border)}.ts2-tabs button{background:none;border:0;padding:10px 2px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;cursor:pointer;font-size:15px}.ts2-tabs button.on{color:var(--text-strong);border-bottom-color:var(--success-solid)}.ts2-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}.ts2-nav,.ts2-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ts2-arrow,.ts2-btn,.ts2-range,.ts2-select,.ts2-search{height:38px;border:1px solid var(--border-strong);background:var(--card);border-radius:8px;padding:0 12px;font-weight:600;color:var(--text-strong);cursor:pointer;font-size:14px}.ts2-search{font-weight:400;cursor:text;width:190px}.ts2-arrow{width:38px;padding:0;font-size:20px}.ts2-btn:disabled{opacity:.5;cursor:default}.ts2-range-wrap{position:relative}.ts2-seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.ts2-seg button{height:36px;padding:0 14px;border:0;background:var(--card);font-weight:600;cursor:pointer;color:var(--text)}.ts2-seg button.on{background:var(--navy);color:#fff}.ts2-card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);overflow-x:auto}.ts2-table{width:100%;border-collapse:collapse;font-size:14px}.ts2-table th{text-align:right;font-weight:600;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;font-size:13px}.ts2-table th.today{color:var(--success)}.ts2-table td{padding:12px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.ts2-table .ts2-name{text-align:left;min-width:210px}.ts2-row{cursor:pointer}.ts2-row:hover{background:var(--row-hover)}.ts2-chev{display:inline-block;width:16px;color:var(--muted)}.ts2-avatar{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--blue-muted);color:var(--navy);font-size:12px;font-weight:700;align-items:center;justify-content:center;margin-right:10px}.ts2-dash{color:var(--muted)}.ts2-warn{color:var(--warning-solid);margin-left:6px}.ts2-tot,.ts2-cell{font-variant-numeric:tabular-nums}.ts2-detail>td{background:var(--surface-2);padding:6px 12px 10px 44px;text-align:left}.ts2-entry{display:grid;grid-template-columns:150px minmax(180px,1fr) 110px 130px 140px 70px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--border);font-size:13px}.ts2-entry:last-child{border-bottom:0}.ts2-eedit{grid-column:4 / -1;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ts2-eedit input{height:32px;border:1px solid var(--border-strong);border-radius:6px;padding:0 6px}.ts2-kind{font-weight:600;padding:3px 8px;border-radius:999px;font-size:12px;justify-self:start}.k-AT_OFFICE{background:var(--violet-bg);color:var(--violet)}.k-ON_JOB{background:var(--info-bg);color:var(--info)}.k-OTHER{background:var(--neutral-bg);color:var(--neutral)}.ts2-ejob{overflow:hidden;text-overflow:ellipsis;color:var(--text)}.ts2-eday{color:var(--muted)}.ts2-etime,.ts2-edur{font-variant-numeric:tabular-nums}.ts2-openbadge{color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:6px;padding:1px 6px}.ts2-foot{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;padding:10px 12px;margin:0;flex-wrap:wrap}.ts2-rule{font-size:12px}.ts2-ok{color:var(--success);font-weight:600;display:inline-flex;gap:8px;align-items:center}.ts2-pend{color:var(--warning);font-weight:600}.ts2-approvebar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--muted)}.ts2-payactions{display:flex;justify-content:flex-end;gap:10px;align-items:center;padding:12px}.ts2-sum td{background:var(--surface-2);font-weight:600;text-align:left}.ts2-sum td.ts2-tot{text-align:right}.ts2-lockbar{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success);border-radius:8px;padding:8px 12px;margin:0;font-weight:600}.ts2-err{color:var(--danger)}.ts2-cal{position:absolute;top:44px;left:0;z-index:30;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-pop);padding:10px;width:260px}.ts2-cal-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:6px;text-transform:capitalize}.ts2-cal-head button{border:0;background:none;font-size:18px;cursor:pointer}.ts2-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font-size:12px}.ts2-cal-grid b{color:var(--muted);font-weight:600;padding:4px 0}.ts2-cal-grid button{border:0;background:none;padding:6px 0;border-radius:6px;cursor:pointer}.ts2-cal-grid button.out{color:var(--border-strong)}.ts2-cal-grid button.sel{background:var(--success-bg);color:var(--success);font-weight:700}.ts2-eedit{grid-column:3 / -1;flex-wrap:nowrap}.ts2-eedit input,.ts2-eedit button{width:auto;flex:0 0 auto;margin:0}.ts2-eedit input[placeholder]{flex:1 1 160px;min-width:120px}.ts2-payactions button,.ts2-approvebar button{width:auto}.ts2-entry .ts2-eedit{grid-column:1 / -1;flex-wrap:wrap;padding-left:160px}.ts2-over{color:var(--warning);font-weight:700}.hs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1rem}.hs-grid .hs-card{margin-bottom:0}.hs-list,.hs-sub{list-style:none;margin:0;padding:0}.hs-line,.hs-job{width:100%;display:flex;align-items:center;gap:.75rem;background:none;border:0;border-top:1px solid var(--border);padding:.65rem 0;color:inherit;font:inherit;text-align:left;cursor:pointer}.hs-line:hover,.hs-job:hover{color:var(--orange)}.hs-line-text{flex:1;font-weight:600}.hs-amount{color:var(--muted);font-variant-numeric:tabular-nums}.hs-chev{color:var(--orange);width:1rem;text-align:center}.hs-sub{padding-left:.75rem;margin-bottom:.4rem}.hs-job{justify-content:space-between;font-size:.9rem;padding:.45rem 0}.hs-sub .muted{padding:.45rem 0}.hs-health{display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--border);padding:.7rem 0}.hs-health>div:first-child{flex:1}.hs-label{font-weight:600}.hs-big{font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums}.hs-pct{font-size:.8rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;background:var(--neutral-bg);min-width:3.2rem;text-align:center}.hs-pct.up{color:var(--success);background:var(--success-bg)}.hs-pct.down{color:var(--danger);background:var(--danger-bg)}.hs-visits{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center}.hs-visits .hs-big{font-size:32px}.qdoc{background:var(--card);color:var(--text);border-radius:12px;padding:28px 28px 24px;max-width:760px;margin:0 auto;box-shadow:0 10px 30px #0000002e;font-size:15px;line-height:1.45;text-align:left}.qdoc *{color:inherit}.qdoc-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:16px}.qdoc-logo{width:170px;height:auto;margin:-18px 0 -14px -12px}.qdoc-company{display:flex;flex-direction:column;text-align:right;font-size:13px;color:var(--neutral)}.qdoc-company strong{font-size:15px;color:var(--text)}.qdoc-meta{display:flex;justify-content:space-between;gap:16px;padding:18px 0 8px}.qdoc-meta>div{display:flex;flex-direction:column;gap:2px}.qdoc-meta-right{text-align:right}.qdoc-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.qdoc-valid{color:var(--orange-ink);font-weight:600;font-size:13px}.qdoc-lines{margin-top:10px;border-top:1px solid var(--border)}.qdoc-line{padding:12px 0;border-bottom:1px solid var(--border)}.qdoc-line-top{display:flex;justify-content:space-between;gap:12px}.qdoc-line-name{font-weight:600}.qdoc-line-total{font-weight:600;white-space:nowrap}.qdoc-line-qty{font-size:13px;color:var(--muted)}.qdoc-line-desc{margin:6px 0 0;font-size:13px;color:var(--neutral);white-space:pre-line}.qdoc-totals{margin:14px 0 0 auto;max-width:360px}.qdoc-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.qdoc-row small{color:var(--muted);font-size:11px}.qdoc-discount{color:var(--success)}.qdoc-total{border-top:2px solid var(--text);margin-top:6px;padding-top:8px;font-size:18px;font-weight:700}.qdoc-terms{margin-top:20px;border-top:1px solid var(--border);padding-top:12px}.qdoc-terms h3{margin:0 0 6px;font-size:14px}.qdoc-terms p{margin:0;white-space:pre-line;font-size:13px;color:var(--neutral)}@media(max-width:560px){.qdoc{padding:18px 16px;border-radius:0;box-shadow:none;font-size:14px}.qdoc-head{flex-direction:column}.qdoc-company{text-align:left}.qdoc-meta{flex-direction:column}.qdoc-meta-right{text-align:left}.qdoc-totals{max-width:none}}.qpub{min-height:100vh;background:var(--bg);padding:24px 12px 60px;color:var(--text)}.qpub-banner{max-width:760px;margin:0 auto 12px;background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border);border-radius:10px;padding:10px 14px;font-weight:600}.qpub-state{max-width:560px;margin:60px auto;background:var(--card);border-radius:12px;padding:28px;text-align:center;box-shadow:0 10px 30px #00000014;color:var(--text)}.qpub-state img{width:180px}.qsign{max-width:760px;margin:18px auto 0;background:var(--card);border-radius:12px;padding:22px 24px;box-shadow:0 10px 30px #00000014;color:var(--text)}.qsign h2{margin:0 0 4px;font-size:20px}.qsign p{margin:4px 0 12px;color:var(--neutral)}.qsign label.qsign-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-weight:600;font-size:14px}.qsign input[type=text]{font-size:16px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--card);color:var(--text)}.qsign-tabs{display:flex;gap:8px;margin-bottom:10px}.qsign-tabs button{flex:1;padding:9px 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-weight:600;cursor:pointer}.qsign-tabs button.on{background:var(--navy);color:var(--text-on-accent);border-color:var(--navy)}.qsign-typed{font-family:Brush Script MT,Segoe Script,Snell Roundhand,cursive;font-size:34px;border-bottom:2px solid var(--text);min-height:56px;padding:4px 8px;color:var(--text)}.qsign-pad{position:relative;border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface-2);touch-action:none}.qsign-pad canvas{width:100%;height:170px;display:block;cursor:crosshair}.qsign-pad-clear{position:absolute;top:6px;right:6px;font-size:12px;padding:4px 8px;border-radius:6px;border:1px solid var(--border-strong);background:var(--card);color:var(--text);cursor:pointer}.qsign-hint{font-size:12px;color:var(--muted);margin-top:4px}.qsign-consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0 10px;font-size:14px;color:var(--text)}.qsign-consent input{width:20px;height:20px;margin-top:2px;flex:none}.qsign-evidence{font-size:12px;color:var(--muted);margin:6px 0 14px}.qsign-btn{width:100%;padding:14px;font-size:17px;font-weight:700;border-radius:10px;border:none;background:var(--orange);color:var(--text-on-accent);cursor:pointer}.qsign-btn:disabled{opacity:.6;cursor:default}.qsign-error{background:var(--danger-bg);color:var(--danger);border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:14px}.qsign-done{text-align:center}.qsign-done .qsign-check{font-size:44px;color:var(--success)}.qprev-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-strong);z-index:400;overflow-y:auto;padding:24px 12px}.qprev-bar{max-width:760px;margin:0 auto 10px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--text-on-accent)}.qprev-bar strong{font-size:15px}.qprev-banner{max-width:760px;margin:0 auto 10px;background:var(--warning-bg);color:var(--warning);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.qsig-card{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:12px 0;background:var(--card)}.qsig-card h3{margin:0 0 6px;font-size:15px}.qsig-card .qsig-line{font-size:13px;color:var(--muted);margin:3px 0}.qsig-card .qsig-ok{color:var(--success);font-weight:600}.qsig-card .qsig-warn{color:var(--warning);font-weight:600}.qsig-card .qsig-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.qsig-sig-img{background:var(--card);border-radius:6px;max-width:220px;max-height:80px;display:block;margin:6px 0}.qsig-typed{font-family:Brush Script MT,Segoe Script,cursive;font-size:24px;color:var(--text)}.est-primary-actions{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}.qf-steps{font-size:12px;color:var(--muted);margin:0 0 8px}.booking-from-quote{background:var(--blue-muted);border-radius:8px;padding:8px 10px;font-size:13px;margin-bottom:10px}body.qpub-body{background:var(--bg)}.qpub{min-height:100vh;background:var(--bg);padding:0 0 48px;color:var(--text);font-family:Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.qpub-has-bar{padding-bottom:110px}.qpub-top{background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.qpub-top-in{max-width:820px;margin:0 auto;padding:6px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.qpub-top-logo{height:54px;width:auto;margin-left:-10px}.qpub-top-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px}.qpub-top-right strong{font-size:14px;color:var(--text)}.qpub-secure{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-weight:600;font-size:12px}.qpub-banner{max-width:760px;margin:14px auto 0}.qpub-banner-blue{background:var(--blue-muted);color:var(--blue);border-color:var(--info-border)}.qhero{max-width:760px;margin:18px auto 14px;background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 100%);color:var(--text-on-accent);border-radius:16px;padding:24px 26px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:0 14px 34px #1b2a4440}.qhero *{color:inherit}.qhero-hello{margin:0 0 4px;font-size:15px;opacity:.85}.qhero h1{margin:0;font-size:22px;line-height:1.25;font-weight:700}.qhero-valid{margin:8px 0 0;font-size:13px;opacity:.8}.qhero-total{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;flex:none}.qhero-total span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.qhero-total strong{font-size:32px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}.qbtn-primary{margin-top:6px;background:var(--orange);color:var(--text-on-accent)!important;border:none;border-radius:10px;padding:11px 18px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #e8573459}.qbtn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border-strong);border-radius:10px;padding:11px 16px;font-size:14px;font-weight:600;cursor:pointer}.qpub-doc{padding:0 12px}.qpub .qsign{margin-top:16px;border:1px solid var(--border)}.qpub .qsign-btn{padding:16px;font-size:18px;border-radius:12px;box-shadow:0 8px 20px #e8573459}.qsign-evidence{display:flex;gap:6px;align-items:flex-start;margin:12px 0 0!important}.qpub-foot{max-width:760px;margin:26px auto 0;padding:0 16px;display:flex;flex-direction:column;gap:3px;text-align:center;font-size:12px;color:var(--muted)}.qpub-foot strong{color:var(--text);font-size:13px}.qpub-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--card);border-top:1px solid var(--border);box-shadow:0 -8px 24px #00000014;padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:12px}.qpub-bar>div{display:flex;flex-direction:column}.qpub-bar span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.qpub-bar strong{font-size:20px;color:var(--text)}.qpub-bar .qbtn-primary{margin:0}.qpub-state{display:flex;flex-direction:column;align-items:center;gap:10px}.qpub-state-icon{width:48px;height:48px;border-radius:50%;background:var(--orange-muted);color:var(--orange-ink);font-weight:800;font-size:26px;display:flex;align-items:center;justify-content:center}.qpub-call{display:inline-block;margin-top:4px;background:var(--navy);color:var(--text-on-accent);border-radius:10px;padding:10px 18px;font-weight:700;text-decoration:none}.qpub-spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border-strong);border-top-color:var(--brand-orange);animation:qspin .9s linear infinite}@keyframes qspin{to{transform:rotate(360deg)}}.qdone{max-width:620px;margin:28px auto 18px;background:var(--card);border-radius:16px;padding:30px 26px 24px;text-align:center;box-shadow:0 14px 34px #00000014}.qdone-check{color:var(--success);display:flex;justify-content:center;margin-bottom:6px}.qdone h1{margin:0 0 6px;font-size:24px;color:var(--text)}.qdone-body{margin:0 0 16px;color:var(--neutral)}.qdone-summary{margin:0 auto 18px;max-width:460px;text-align:left;border:1px solid var(--border);border-radius:12px;padding:4px 14px}.qdone-summary>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.qdone-summary>div:last-child{border-bottom:0}.qdone-summary dt{color:var(--muted);font-size:13px}.qdone-summary dd{margin:0;font-weight:600;text-align:right;color:var(--text)}.qdone-total{font-size:18px}.qdone-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.qdone-q{margin:16px 0 0;font-size:13px;color:var(--muted)}@media(max-width:640px){.qhero{margin:12px 10px;flex-direction:column;align-items:stretch;padding:20px}.qhero-total{align-items:flex-start;text-align:left}.qhero-total strong{font-size:30px}.qhero .qbtn-primary{width:100%}.qpub-top-logo{height:46px}.qpub .qsign{margin:14px 0 0;border-radius:0}.qdone{margin:14px 10px}}.qpub-print-terms{display:none}@media print{.qpub-print-terms{display:block;margin:12px 4px 0;font-size:10.5pt;line-height:1.4;color:#1f2430}.qpub-pdf{display:none}}@media print{.qpub-top,.qpub-bar,.qhero,.qsign,.qdone-actions,.qpub-banner{display:none!important}.qpub,body.qpub-body{background:var(--card);padding:0}.qdone{box-shadow:none;margin:0 auto 12px}.qdoc{box-shadow:none}}.qprev-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.qprev-bar .btn-primary{width:auto;flex:0 0 auto;padding:8px 18px}.qpub-bar{transition:transform .25s ease,opacity .25s ease}.qpub-bar.qpub-bar-away{transform:translateY(110%);opacity:0;pointer-events:none}.est-composer-grid.est-composer-grid-simple{grid-template-columns:1fr}.est-meta-compact{margin:2px 0 0;font-size:12px;color:var(--muted)}.qdoc-line-warranty{margin-top:4px;font-size:12px;color:var(--success);font-weight:600}.qdoc-line-warranty:before{content:"✓ "}.qdoc-row.qdoc-muted{color:var(--muted);font-size:13px}.qdoc-conditions dl{margin:0;display:grid;gap:6px}.qdoc-conditions dl>div{display:grid;grid-template-columns:170px 1fr;gap:12px;font-size:13px;line-height:1.45}.qdoc-conditions dt{color:var(--muted);font-weight:600}.qdoc-conditions dd{margin:0;color:var(--text);white-space:pre-line}.qdoc-conditions a{color:var(--blue)}.qdoc-placeholder{color:var(--warning);font-style:normal;background:var(--warning-bg);border:1px dashed var(--warning-border);border-radius:4px;padding:0 6px}@media(max-width:560px){.qdoc-conditions dl>div{grid-template-columns:1fr;gap:0}}.qsign-evidence a{color:inherit;text-decoration:underline}.qreview{margin-top:8px;border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface-2)}.qreview h3{margin:0 0 4px;font-size:17px}.qreview p{margin:0 0 10px;font-size:14px;color:var(--neutral)}.qreview dl{margin:0 0 14px;display:grid;gap:6px}.qreview dl>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.qreview dt{color:var(--muted)}.qreview dd{margin:0;font-weight:600;text-align:right}.qreview-total{font-size:18px}.qreview-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px}.qlink{background:none;border:none;padding:6px 0;color:var(--blue);font-size:14px;text-decoration:underline;cursor:pointer}.qdone-mail{font-weight:600;color:var(--success)}.qsig-planned{display:grid;gap:4px;margin:8px 0;font-size:13px}.qsig-planned input{padding:8px 10px;border-radius:8px;border:1px solid var(--border);font-size:14px}.qsig-planned small{color:var(--muted)}.qsig-hint{font-size:12px;color:var(--muted)}.qdoc-line-discount{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:#0f7a3d;margin-top:2px}.qdoc-line-discount>span:nth-child(2){font-weight:600}.qdoc-line-before{color:#6b7280}.qdoc-docs{margin-top:20px}.qdoc-docs h3{font-size:15px;margin:0 0 8px}.qdoc-docs ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.qdoc-docs li{display:flex;align-items:center;gap:12px;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#fafafa}.qdoc-doc-icon{flex:none;font-size:11px;font-weight:700;color:#fff;background:#c2410c;border-radius:6px;padding:6px 7px}.qdoc-doc-text{flex:1;min-width:0;display:flex;flex-direction:column}.qdoc-doc-text strong{overflow-wrap:anywhere}.qdoc-doc-text small{color:#6b7280}.qdoc-doc-dl{flex:none;font-weight:600;color:#0b5cad;background:none;border:1px solid #c7d7ee;border-radius:8px;padding:6px 10px;text-decoration:none;cursor:pointer;font-size:14px}.qdoc-tc-text{white-space:pre-wrap}.qdoc-tc-version{color:#6b7280}.qopt-intro{margin:16px 0 0;color:#374151;font-size:15px}.qopt-cards{display:grid;grid-template-columns:1fr;gap:12px;margin:10px 0 6px;padding:10px 0 4px}.qopt-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left;min-height:120px;width:100%;box-sizing:border-box;border:2px solid #e2e6ee;background:#fff;border-radius:16px;padding:14px 16px;cursor:pointer;font:inherit;color:inherit;box-shadow:0 2px 6px #1b2a440f;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:hover){.qopt-card:not(.qopt-card-on):hover{border-color:#b9c9e4}}.qopt-card:focus-visible{outline:3px solid #f6a57f;outline-offset:2px}.qopt-card-on{border-color:#0b5cad;border-width:3px;padding:13px 15px;background:#f2f7ff;box-shadow:0 8px 22px #0b5cad2e}.qopt-card-head{display:flex;align-items:center;gap:8px;min-height:26px}.qopt-check{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid #c3cad6;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;color:#fff;background:#fff}.qopt-card-on .qopt-check{border-color:#0b5cad;background:#0b5cad}.qopt-tab-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:700}.qopt-badge{margin-left:auto;font-size:12px;font-weight:700;background:#0f7a3d;color:#fff;padding:3px 10px;border-radius:999px;white-space:nowrap}.qopt-card-name{font-size:18px;font-weight:700;line-height:1.25;color:var(--text, #1b2a44);overflow-wrap:anywhere}.qopt-card-total{font-size:26px;font-weight:800;letter-spacing:-.01em;color:var(--text, #1b2a44);margin-top:2px;white-space:nowrap}.qopt-card-taxes{font-size:12px;color:#6b7280;margin:-2px 0 8px}.qopt-card-points{display:flex;flex-direction:column;gap:4px;margin:8px 0 12px;padding:8px 0 0;border-top:1px solid #eef0f4}.qopt-card-point{position:relative;padding-left:18px;font-size:14px;line-height:1.35;color:#374151;overflow-wrap:anywhere}.qopt-card-point:before{content:"";position:absolute;left:3px;top:.5em;width:7px;height:7px;border-radius:50%;background:#e8572f}.qopt-card>.qopt-card-cta{display:block;margin-top:auto;text-align:center;font-weight:700;font-size:16px;border-radius:12px;padding:13px 12px;min-height:48px;box-sizing:border-box;background:#fff4ef;color:#b8401c;border:2px solid #f6c2ad}.qopt-card-confirmed>.qopt-card-cta{background:#0b5cad;color:#fff;border-color:#0b5cad}.qopt-band{max-width:760px;margin:0 auto 4px}.qopt-band .qopt-intro{margin-top:4px;padding:0 2px}@media(min-width:700px){.qopt-cards.qopt-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.qopt-cards.qopt-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.qopt-cards.qopt-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.qopt-card{min-height:220px}}@media(min-width:960px){.qopt-band{max-width:1180px}.qopt-band .qopt-cards{gap:18px}.qopt-band .qopt-intro{font-size:18px;text-align:center}.qopt-band .qopt-card{padding:20px 22px;border-radius:20px}.qopt-band .qopt-card-on{padding:19px 21px}.qopt-band .qopt-tab-label{font-size:14px}.qopt-band .qopt-card-name{font-size:23px}.qopt-band .qopt-card-total{font-size:36px}.qopt-band .qopt-card-taxes{font-size:14px}.qopt-band .qopt-card-point{font-size:17px;padding-left:22px}.qopt-band .qopt-card-point:before{width:9px;height:9px}.qopt-band .qopt-check{width:32px;height:32px;font-size:18px}.qopt-band .qopt-card>.qopt-card-cta{font-size:19px;min-height:58px;padding:16px 12px}}@media(min-width:1300px){.qopt-band .qopt-cards.qopt-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media print{.qopt-card{box-shadow:none;break-inside:avoid}}.qsign-option{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;background:#f0f6ff;border:1px solid #c7d7ee;border-radius:10px;padding:10px 12px;margin:8px 0 14px;font-weight:600}.qpub-pdf{text-align:right;margin:8px 4px 0}.qpub-pdf a{font-weight:600;color:#0b5cad}.qdoc-modified{font-size:13px}.qdoc-docs-intro{margin:0 0 8px;font-size:13px;color:var(--muted, #5b6270);font-style:italic}.qdoc-official-fr{margin:0 0 12px;padding:8px 12px;border-radius:8px;background:#f3f6fa;font-size:14px}.qdoc-official-fr a{font-weight:600;white-space:nowrap}.qdoc-official-fr .qdoc-link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;text-decoration:underline;cursor:pointer;min-height:0}.qdoc-tc-official{margin:0 0 8px;font-weight:600}.qtc-link{display:inline;background:none;border:0;padding:0;font:inherit;color:#0b57d0;text-decoration:underline;cursor:pointer;min-height:0}.qtc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center}.qtc-panel{background:#fff;color:#111827;width:100%;max-width:760px;max-height:92vh;display:flex;flex-direction:column;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px #0003}@media(min-width:768px){.qtc-backdrop{align-items:center}.qtc-panel{border-radius:16px;max-height:88vh}}.qtc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid #e5e7eb}.qtc-head h2{margin:0;font-size:19px;line-height:1.3;color:#111827}.qtc-lang{background:none;border:1px solid #cbd5e1;border-radius:999px;padding:6px 12px;font-size:15px;color:#0b57d0;cursor:pointer;white-space:nowrap}.qtc-body{overflow-y:auto;padding:16px 20px;font-size:16px;line-height:1.55;color:#111827;-webkit-overflow-scrolling:touch}.qtc-body p{margin:0 0 12px}.qtc-official{font-weight:600}.qtc-panel .qtc-body p.qtc-print{margin:0 0 14px;font-size:16px}.qtc-print a{color:#0b57d0;text-decoration:underline;text-underline-offset:2px;font-weight:600}.qtc-foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e5e7eb}.qtc-close{width:100%;min-height:48px;border:0;border-radius:10px;background:#0b57d0;color:#fff;font-size:16px;font-weight:600;cursor:pointer}.qdoc-deposit{display:flex;justify-content:space-between;gap:12px;font-weight:600;margin-top:6px}.qdoc-paymodes{margin:4px 0 0;font-size:14px;color:#1f2937;text-align:right}.qdoc-capacity{margin-top:16px;padding:12px 14px;border:1px solid #f1c27d;background:#fff8ec;border-radius:10px}.qdoc-capacity h3{margin:0 0 8px;font-size:16px}.qdoc-capacity p{margin:0 0 6px;font-size:15px;color:#111827}.qsign-consent.qsign-consent-text{display:block;font-size:16px;line-height:1.5;color:#111827}.qtc-panel .qtc-body p,.qtc-panel .qtc-head h2{color:#111827;font-size:16px}.qtc-panel .qtc-head h2{font-size:19px}.qsign-consent.qsign-consent-text,.qdoc .qdoc-capacity p,.qdoc .qdoc-paymodes{color:#111827}.qpub .qsign-fineprint{display:block;margin:14px 0 10px;font-size:13px;line-height:1.45;color:#4b5563;font-weight:400}.qpub .qreview .qsign-fineprint{margin:4px 0 10px;font-size:13px;color:#4b5563}.qpub .qsign-fineprint .qtc-link{color:#0b57d0;text-decoration:underline;text-underline-offset:2px;font-size:inherit}.qb-page{max-width:1180px;margin:0 auto;padding:0 0 80px;text-align:left}.qb-back{display:inline-block;color:var(--muted);font-weight:600;text-decoration:none;font-size:14px;margin-bottom:4px}.qb-back:hover{color:var(--text)}.qb-bar{position:sticky;top:0;z-index:30;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--bg);padding:14px 0 12px;border-bottom:1px solid var(--border);margin-bottom:18px}.qb-bar-left{min-width:0}.qb-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.qb-title{margin:0;font-size:26px;line-height:1.15}.qb-sub{margin:4px 0 0;color:var(--muted);font-size:14px}.qb-unsaved{color:var(--warning);font-size:13px;font-weight:600}.est-pill-modified{background:var(--warning-bg);color:var(--warning)}.est-pill-archived{background:var(--neutral-bg);color:var(--neutral)}.qb-bar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qb-bar-actions .btn-primary,.qb-bar-actions .btn-ghost{width:auto;padding:.6rem 1rem}.qb-secondary{border-color:var(--blue);color:var(--blue)}.qb-send{position:relative}.qb-send-btn{min-width:120px;font-size:15px}.qb-send-menu{right:0;min-width:260px}.qb-menu-title{margin:4px 12px 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.qb-menu-hint{margin:6px 12px 4px;font-size:12px;color:var(--muted);max-width:240px}.qb-msg{background:var(--success-bg);color:var(--success);border-radius:8px;padding:10px 14px;margin:0 0 14px;font-weight:600}.qb-msg-error{background:var(--danger-bg);color:var(--danger)}.qb-bar>.qb-bar-msg{flex:1 1 100%;order:10;margin:0;display:flex;align-items:flex-start;gap:10px}.qb-bar-msg>span{flex:1}.qb-msg-close{background:none;border:none;color:inherit;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.qb-notice{background:var(--info-bg);color:var(--info);border-radius:8px;padding:10px 14px;margin:0 0 14px;font-weight:600;display:flex;flex-direction:column;gap:2px}.qb-notice-warn{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.qb-fingerprint{font-weight:400;font-size:13px}.qb-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:14px}.qb-h{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.qb-h-lines{margin-top:18px}.qb-muted{color:var(--muted);font-size:14px}.qb-ok{color:var(--success);font-weight:600}.qb-big{font-size:24px}.qb-builder{max-width:860px;margin:0 auto}.qb-field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.qb-field small{font-weight:400;color:var(--muted)}.qb-builder input,.qb-builder textarea,.qb-jobform input,.qb-jobform textarea{font:inherit;font-weight:400;font-size:15px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:8px;background:var(--input-bg, var(--card));color:var(--text);width:100%;box-sizing:border-box}.qb-builder textarea{resize:vertical}.qb-client{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.qb-client-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:14px;margin-top:4px}.qb-client-list{list-style:none;margin:8px 0 0;padding:0;max-height:300px;overflow:auto}.qb-client-list button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:9px 4px;cursor:pointer;color:var(--text)}.qb-client-list button:hover{background:var(--surface-2)}.qb-client-list button span{color:var(--muted);font-size:13px}.qb-client-hint{color:var(--muted);font-size:13px;padding:6px 4px}.qb-lines-head,.qb-line{display:grid;grid-template-columns:minmax(0,1fr) 80px 120px 110px 32px;gap:10px;align-items:start}.qb-lines-head{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 0 6px;border-bottom:1px solid var(--border)}.qb-line{padding:12px 0;border-bottom:1px solid var(--border)}.qb-line-main{display:flex;flex-direction:column;gap:6px;min-width:0}.qb-line-name{display:flex;gap:6px}.qb-line-name input{font-weight:600}.qb-line-name .cat-ta{flex:1;min-width:0}.qb-cat{white-space:nowrap;font-size:13px}.qb-line-num input{text-align:right}.qb-mlabel{display:none}.qb-line-total{text-align:right;font-weight:600;padding-top:9px;white-space:nowrap}.qb-line-x{background:none;border:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding-top:6px}.qb-line-x:disabled{opacity:.3;cursor:default}.qb-add{margin-top:12px}.qb-totals{margin:16px 0 0 auto;max-width:380px;display:flex;flex-direction:column;gap:8px}.qb-ids{text-align:center;color:var(--muted);font-size:13px;margin:8px 0 0}.qb-view{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.qb-doc .qdoc{max-width:none;box-shadow:none;border:1px solid var(--border)}.qb-side{display:flex;flex-direction:column}.qb-side-card{display:flex;flex-direction:column;gap:4px}.qb-internal summary{cursor:pointer;font-weight:600;color:var(--muted)}.qb-step{max-width:860px;margin:0 auto 18px;border-color:var(--blue)}.qb-step-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.qb-step-head h2{margin:0;font-size:20px}.qb-step-head .btn-ghost{width:auto}.qb-step-intro{color:var(--neutral);margin:8px 0}.qb-steps{margin:0 0 10px 18px;padding:0;display:flex;flex-direction:column;gap:4px}.qb-step-onsite{color:var(--info);font-weight:600}.qb-step .btn-primary{width:auto}.qb-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.qb-dialog{background:var(--card);color:var(--text);border-radius:14px;padding:22px 24px;width:100%;max-width:460px;box-shadow:0 20px 50px #00000040}.qb-dialog h2{margin:0 0 8px;font-size:19px}.qb-dialog-body p{margin:0 0 8px;color:var(--neutral)}.qb-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}.qb-dialog-actions .btn-primary,.qb-dialog-actions .btn-ghost{width:auto;padding:.6rem 1rem}.qb-danger{background:var(--danger)}.qb-jobform{display:flex;flex-direction:column;gap:12px}@media(max-width:1024px){.qb-view{grid-template-columns:1fr}}@media(max-width:640px){.qb-page{padding:0 0 90px}.qb-bar{align-items:stretch;flex-direction:column;gap:10px;padding:10px 0}.qb-title{font-size:21px}.qb-bar-actions{width:100%}.qb-send{order:-1;flex:1 1 100%}.qb-send-btn{width:100%!important}.qb-bar-actions .overflow-menu{margin-left:auto}.qb-send-menu{left:0;right:auto}.qb-card{padding:14px;border-radius:10px}.qb-lines-head{display:none}.qb-line{grid-template-columns:1fr 1fr;gap:8px}.qb-line-main{grid-column:1 / -1}.qb-mlabel{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}.qb-line-total{grid-column:1 / 2;text-align:left;padding-top:0}.qb-line-x{grid-column:2 / 3;justify-self:end;padding-top:0}.qb-totals{max-width:none}.qb-client{flex-direction:column}}.qb-step .qsig-planned{display:none}.qb-acc{max-width:560px}.qb-acc-modes{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:10px 0 4px}.qb-acc-modes legend{font-weight:600;margin-bottom:6px;padding:0}.qb-acc-modes label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border, #d6dbe1);border-radius:999px;padding:6px 14px;cursor:pointer}.qb-acc-modes label.on{border-color:var(--color-primary, #f07c1b);background:#fff4ea}.qb-acc-modes input{margin:0}.qb-acc-row{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.qb-acc-row label,.qb-acc-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px;margin:6px 0}.qb-acc-row span,.qb-acc-field span{font-size:.85rem;color:var(--color-muted, #5b6573);font-weight:600}.qb-acc-row input,.qb-acc-field input,.qb-acc-field textarea{font:inherit;padding:8px 10px;border:1px solid var(--color-border, #d6dbe1);border-radius:8px}.qb-acc-check{display:flex;gap:8px;align-items:flex-start;margin:10px 0 4px;font-weight:600}.qb-acc-check input{margin-top:3px;width:18px;height:18px}.qb-acc-hint{color:var(--color-muted, #5b6573);font-size:.85rem;margin:4px 0}.qb-acc-error{color:#b42318;font-weight:600;margin:6px 0}.qb-acc-note{font-size:.9rem;color:var(--color-muted, #5b6573);margin:4px 0 0}.qb-acc-overdue{color:#b42318;font-weight:600}.qb-acc-sent{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-top:10px}.qb-acc-sent label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--color-muted, #5b6573)}.qb-acc-sent .qb-acc-radio{flex-direction:row;align-items:center;gap:6px;color:inherit;font-size:.9rem}.qb-acc-sent input[type=date]{padding:6px 8px;border:1px solid #d0d5dd;border-radius:8px;font:inherit}.qb-acc-err{color:#b42318;font-size:.85rem}.qb-acc-evidence{margin-top:8px;align-self:flex-start}.qb-acc-sent .btn-primary{width:auto;flex:0 0 auto}.qb-ghl-note{margin:6px 0 0;font-size:12.5px;color:var(--muted);line-height:1.35}.qb-extend-old{font-weight:600}.qb-extend-expired{color:#b45309}.qb-extend-channels{border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:8px 12px 10px;margin:12px 0 0;display:flex;flex-direction:column;gap:6px}.qb-extend-channels legend{font-weight:600;font-size:14px;padding:0 4px}.qb-extend-ch{display:flex;align-items:center;gap:8px;font-size:14px}.qb-extend-ch.is-disabled{opacity:.5}.qb-extend-ch input{width:auto;margin:0}.qb-validity-log{margin:6px 0 0;font-size:12.5px;color:var(--muted);line-height:1.35}.qb-expired-box{display:flex;flex-direction:column;gap:6px;margin-top:6px}.qb-expired-box .btn-ghost{width:auto;align-self:flex-start;padding:.4rem .8rem}.qo-tpl-dialog .qo-tpl-name{display:grid;gap:6px;margin:12px 0 6px;font-weight:600;font-size:14px}.qo-tpl-dialog .qo-tpl-name input{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;font:inherit;font-weight:400;font-size:15px;border:1.5px solid var(--border-strong, #cbd5e1);border-radius:10px}.qo-tpl-dialog .qb-dialog-actions,.qo-tpl-dialog .qo-tpl-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;flex-wrap:wrap}.qb-client>div:first-child{flex:1;min-width:0}.qt-page{max-width:1320px;margin:0 auto;padding:16px}.qt-grid{display:grid;grid-template-columns:250px 1fr;gap:16px;align-items:start;margin:12px 0 16px}.qt-list ul{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}.qt-list li button{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:none;color:inherit;font:inherit;cursor:pointer}.qt-list li button.on{border-color:var(--accent, #0b5cad);background:color-mix(in srgb,var(--accent, #0b5cad) 8%,transparent)}.qt-list small{opacity:.7}.qt-editor{display:flex;flex-direction:column;gap:10px}.qt-check{display:flex;gap:8px;align-items:center}.qt-opt{border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}.qt-opt-name{font-weight:700;flex:1;padding:6px 8px}.qt-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.qt-line{display:flex;flex-direction:column;gap:4px;padding:6px 0;border-top:1px dashed var(--border, #e5e7eb)}.qt-line:first-of-type{border-top:0}.qt-line-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.qt-line-sub{display:flex;flex-wrap:wrap;gap:10px;padding-left:2px}.qt-line-sub:empty{display:none}.qt-line-noprice .qt-num:not(:disabled){border-color:var(--warn, #b45309)}.qt-line-desc{width:100%;min-height:44px;font-size:13px!important}.qt-mv-col{display:inline-flex;flex-direction:column;gap:2px}.qt-mv{padding:0 6px!important;min-height:0;line-height:1.2;font-size:13px}.qt-rec{font-size:14px;white-space:nowrap}.qt-line-name{flex:1 1 180px;min-width:0;padding:6px 8px}.qt-num{width:64px;padding:6px 8px}.qt-num+.qt-num{width:104px}.qt-terms textarea{width:100%;font:inherit;padding:8px;box-sizing:border-box}.qt-terms{margin-top:8px}.qt-actions{margin-top:4px}@media(max-width:820px){.qt-grid{grid-template-columns:1fr}}.qt-page input:not([type=checkbox]),.qt-page select,.qt-page textarea{font:inherit;font-size:15px;padding:7px 10px;border:1px solid var(--border-strong, #cbd5e1);border-radius:8px;background:var(--input-bg, var(--card, #fff));color:var(--text, inherit);box-sizing:border-box}.qt-editor .qb-field input{width:100%}.qt-page .qo-line-disc-val{width:72px}.ec-portal-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1.5px solid #6f8fc4;background:#fff;color:#1d4e9a!important;font-weight:650;font-size:15px;text-decoration:none!important}.ec-portal-link:hover{background:#eef4fd;border-color:#1d4e9a}.ec-portal-link:focus-visible{outline:3px solid #dbe7fa;outline-offset:2px}.ec-portal-row{display:flex;justify-content:flex-end;margin:12px 0 0}.qpub-portal-row{max-width:980px;margin:12px auto 0;padding:0 16px;box-sizing:border-box}@media print{.ec-portal-row,.ec-portal-link{display:none!important}}html.ec-html,body.ec-body{background:#f4f6f9!important;color:#16202e;color-scheme:light}.ec-root{--ec-navy: #16233d;--ec-navy2: #22406f;--ec-blue: #1d4e9a;--ec-blue-50: #eef4fd;--ec-blue-100: #dbe7fa;--ec-orange: #e85734;--ec-orange-600: #d24a29;--ec-orange-50: #fff3ee;--ec-ink: #16202e;--ec-ink2: #3d4757;--ec-muted: #6b7585;--ec-line: #e3e8ef;--ec-line2: #eef1f5;--ec-bg: #f4f6f9;--ec-green: #1d7a4f;--ec-green-50: #eaf6ef;--ec-amber: #a35a00;--ec-amber-50: #fff6e6;--ec-r: 14px;--ec-shadow: 0 1px 2px rgba(16,24,40,.05), 0 8px 24px rgba(16,24,40,.07);min-height:100vh;background:var(--ec-bg);color:var(--ec-ink);font-family:Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;color-scheme:light;padding-bottom:env(safe-area-inset-bottom)}.ec-root *,.ec-root *:before,.ec-root *:after{box-sizing:border-box}.ec-root{font-feature-settings:normal}.ec-root :where(h1,h2,h3){color:inherit;letter-spacing:normal}.ec-root .ec-table th,.ec-root .ec-table tbody tr:hover{background:transparent}.ec-root a{color:var(--ec-blue);text-decoration:none}.ec-root a:hover{text-decoration:underline}.ec-root :where(h1,h2,h3,p){margin:0}.ec-root button{font-family:inherit}.ec-ico{width:20px;height:20px;flex:none}.ec-ico-sm{width:16px;height:16px;flex:none;vertical-align:-3px}.ec-ico-xs{width:13px;height:13px;flex:none;vertical-align:-2px}.ec-blue{color:var(--ec-blue)}.ec-green{color:var(--ec-green)}.ec-tnum{font-variant-numeric:tabular-nums;white-space:nowrap}.ec-muted{color:var(--ec-muted)}.ec-block{display:block}.ec-grow{flex:1;min-width:0}.ec-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.ec-center{text-align:center}.ec-mt{margin-top:18px}.ec-mt-s{margin-top:12px}.ec-mt-xs{margin-top:4px}.ec-row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.ec-fine{font-size:12.5px;color:var(--ec-muted);line-height:1.4}.ec-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ec-muted);font-weight:650}.ec-top{background:#fff;border-bottom:1px solid var(--ec-line);position:sticky;top:0;z-index:30;padding-top:env(safe-area-inset-top)}.ec-top-in{max-width:1120px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}.ec-brand{display:flex;align-items:center;gap:10px;color:var(--ec-ink)!important;text-decoration:none!important}.ec-logo{height:36px;width:auto;display:block}.ec-brand-sep{width:1px;height:24px;background:var(--ec-line)}.ec-brand-name{font-weight:700;font-size:14px;color:var(--ec-ink2);white-space:nowrap}.ec-secure{display:inline-flex;align-items:center;gap:5px;color:var(--ec-green);font-weight:600;font-size:12.5px;white-space:nowrap}.ec-top-user{display:flex;align-items:center;gap:14px;font-size:14px}.ec-top-name{font-weight:650;color:var(--ec-ink2);display:inline-flex;align-items:center;gap:5px}.ec-root .ec-logout{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--ec-blue-100);background:#fff;color:var(--ec-blue);border-radius:999px;padding:7px 12px;font-size:13.5px;font-weight:650;white-space:nowrap}.ec-root .ec-logout:hover{background:var(--ec-blue-50)}.ec-tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--ec-line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 16px #1018280f}.ec-tabs-in{max-width:1120px;margin:0 auto;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}@media(max-width:719px){.ec-tabs-in:has(>.ec-tab:nth-child(5)) .ec-tab{font-size:10.5px;padding-left:1px;padding-right:1px;letter-spacing:-.01em}}.ec-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 9px;font-size:11.5px;font-weight:650;color:var(--ec-muted)!important;text-decoration:none!important}.ec-tab.on{color:var(--ec-orange)!important}.ec-wrap{max-width:1120px;margin:0 auto;padding:16px 14px 100px}.ec-narrow{max-width:480px;margin:0 auto;padding:18px 14px 24px}.ec-hero{background:linear-gradient(135deg,var(--ec-navy) 0%,var(--ec-navy2) 100%);color:#fff;border-radius:18px;padding:20px 20px 18px;box-shadow:0 14px 34px #16233d38}.ec-hero h1{font-size:22px;line-height:1.22;font-weight:750;letter-spacing:-.01em;margin-top:4px}.ec-hero-hello{opacity:.85;font-size:15px}.ec-hero-k{margin-top:10px!important;font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-weight:650}.ec-hero-sub{margin-top:8px!important;font-size:14.5px;opacity:.9}.ec-hero-addr{margin-top:8px!important;font-size:13.5px;opacity:.8;display:flex;gap:6px;align-items:flex-start}.ec-hero .ec-chip{background:#ffffff24;color:#fff}.ec-card{background:#fff;border:1px solid var(--ec-line);border-radius:var(--ec-r);box-shadow:var(--ec-shadow)}.ec-pad{padding:16px}.ec-list{display:flex;flex-direction:column;gap:10px}.ec-list-item{display:flex;align-items:center;gap:12px;padding:13px 14px;color:var(--ec-ink)!important;text-decoration:none!important;text-align:left;width:100%;font-size:15px;cursor:pointer}.ec-list-item:hover{border-color:#cfd8e6}.ec-list-item>.ec-ico:last-child{color:#a3acb9}.ec-avatar{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--ec-line2);color:var(--ec-ink2);flex:none}.ec-avatar-blue{background:var(--ec-blue-50);color:var(--ec-blue)}.ec-avatar-orange{background:var(--ec-orange-50);color:var(--ec-orange-600)}.ec-date-tile{width:46px;flex:none;border-radius:12px;background:var(--ec-blue-50);color:var(--ec-blue);text-align:center;padding:5px 0 6px;line-height:1.05}.ec-date-tile .m{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ec-date-tile .d{display:block;font-size:19px;font-weight:800}.ec-date-tile.done{background:var(--ec-line2);color:var(--ec-ink2)}.ec-section-title{font-size:13.5px;font-weight:700;color:var(--ec-ink2);margin:22px 4px 10px;display:flex;justify-content:space-between;align-items:baseline}.ec-section-title a{font-size:13px;font-weight:600}.ec-page-title{font-size:24px;font-weight:780;letter-spacing:-.015em}.ec-h2{font-size:19px;font-weight:750}.ec-h3{font-size:16px;font-weight:720;margin-bottom:2px!important}.ec-big{font-size:17px;font-weight:650;color:var(--ec-ink2);margin-top:2px!important}.ec-prop{display:flex;gap:8px;align-items:flex-start;padding:6px 0;font-size:14px}.ec-prop+.ec-prop{border-top:1px solid var(--ec-line2)}.ec-grid-2{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.ec-stat{display:flex;align-items:center;gap:12px;color:var(--ec-ink)!important;text-decoration:none!important}.ec-stat strong{font-size:15px;margin-top:2px}.ec-stat-amt{font-size:20px;font-weight:800;color:var(--ec-orange-600);display:block;margin-top:2px}.ec-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.ec-help-card{display:flex;gap:14px;align-items:flex-start}.ec-help-ico{width:44px;height:44px;border-radius:50%;background:var(--ec-blue-50);color:var(--ec-blue);display:flex;align-items:center;justify-content:center;flex:none}.ec-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:650;padding:3px 9px;border-radius:999px;background:var(--ec-line2);color:var(--ec-ink2);white-space:nowrap}.ec-chip-blue{background:var(--ec-blue-50);color:var(--ec-blue)}.ec-chip-green{background:var(--ec-green-50);color:var(--ec-green)}.ec-chip-orange{background:var(--ec-orange-50);color:var(--ec-orange-600)}.ec-chip-amber{background:var(--ec-amber-50);color:var(--ec-amber)}.ec-chip-grey{background:var(--ec-line2);color:var(--ec-muted)}.ec-chips{display:flex;gap:8px;flex-wrap:wrap}.ec-chip-btn{border:1px solid var(--ec-line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--ec-ink2);cursor:pointer}.ec-chip-btn.on{border-color:var(--ec-blue);background:var(--ec-blue-50);color:var(--ec-blue)}.ec-seg{display:inline-flex;background:#e9edf3;border-radius:12px;padding:3px;gap:2px}.ec-seg button{border:0;background:transparent;padding:8px 14px;border-radius:10px;font-weight:650;font-size:14px;color:var(--ec-ink2);cursor:pointer}.ec-seg button.on{background:#fff;color:var(--ec-ink);box-shadow:0 1px 3px #1018281f}.ec-count{font-size:12px;color:var(--ec-muted);font-weight:600;margin-left:4px}.ec-input{width:100%;border:1.5px solid #cfd6e0;border-radius:12px;padding:13px 14px;font-size:17px;font-family:inherit;color:var(--ec-ink);background:#fff;outline:none}.ec-input:focus{border-color:var(--ec-blue);box-shadow:0 0 0 3px var(--ec-blue-100)}.ec-phone-field{display:flex;align-items:stretch;margin-top:6px}.ec-phone-prefix{display:flex;align-items:center;padding:0 12px;border:1.5px solid #cfd6e0;border-right:0;border-radius:12px 0 0 12px;background:var(--ec-line2);font-weight:650;color:var(--ec-ink2)}.ec-input-phone{border-radius:0 12px 12px 0;letter-spacing:.02em}.ec-code{margin-top:6px;text-align:center;font-size:30px;letter-spacing:.45em;font-weight:750;padding:12px 8px 12px calc(8px + .45em);font-variant-numeric:tabular-nums}.ec-help{font-size:13.5px;color:var(--ec-ink2);margin-top:8px!important}.ec-nowrap{white-space:nowrap}.ec-sentto{display:flex;width:fit-content;align-items:center;gap:6px;margin:10px 0 12px!important;font-weight:650;background:var(--ec-line2);border-radius:999px;padding:4px 12px;font-size:14px}.ec-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:10px;padding:9px 12px;font-size:13.5px;margin-top:10px!important}.ec-callout{background:var(--ec-blue-50);border:1px solid var(--ec-blue-100);border-radius:12px;padding:11px 13px;font-size:14px;color:var(--ec-ink)}.ec-link{background:none;border:0;padding:0;color:var(--ec-blue);font-weight:600;font-size:14px;cursor:pointer}.ec-link:disabled{color:var(--ec-muted);cursor:default}.ec-back{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:14px}.ec-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-weight:700;font-size:15px;padding:13px 18px;border:1px solid transparent;cursor:pointer;text-decoration:none!important;white-space:nowrap}.ec-btn:disabled{opacity:.55;cursor:default;box-shadow:none}.ec-btn-primary{background:var(--ec-orange);color:#fff!important;box-shadow:0 6px 16px #e857344d}.ec-btn-primary:hover:not(:disabled){background:var(--ec-orange-600)}.ec-btn-blue{background:var(--ec-blue);color:#fff!important}.ec-btn-outline{background:#fff;color:var(--ec-ink)!important;border-color:#cfd6e0}.ec-btn-sm{font-size:13px;padding:8px 12px;border-radius:10px}.ec-btn-block{width:100%}.ec-doc{padding:18px 16px}.ec-doc-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--ec-line)}.ec-doc-logo{height:34px;display:block}.ec-doc-co{display:flex;flex-direction:column;font-size:12px;color:var(--ec-muted);margin-top:8px;line-height:1.45}.ec-doc-co strong{color:var(--ec-ink);font-size:13px}.ec-doc-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.ec-doc-title{font-size:18px;font-weight:780}.ec-doc-to{display:flex;flex-direction:column;gap:1px;padding:14px 0;font-size:14px}.ec-table{width:100%;border-collapse:collapse;font-size:14px}.ec-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ec-muted);font-weight:650;padding:8px 6px;border-bottom:1px solid var(--ec-line)}.ec-table td{padding:11px 6px;border-bottom:1px solid var(--ec-line2);vertical-align:top}.ec-table .r{text-align:right}.ec-line-desc{display:block;color:var(--ec-muted);font-size:13px;white-space:pre-line;margin-top:2px}.ec-totals{margin-left:auto;max-width:340px;padding-top:10px}.ec-trow{display:flex;justify-content:space-between;padding:4px 6px;font-size:14px;color:var(--ec-ink2)}.ec-trow.strong{font-weight:780;color:var(--ec-ink);font-size:15.5px;border-top:1px solid var(--ec-line);margin-top:4px;padding-top:8px}.ec-trow.accent span:last-child{color:var(--ec-orange-600)}.ec-payments{margin-top:12px;padding:10px 12px;background:var(--ec-green-50);border-radius:12px;font-size:13.5px;display:flex;flex-direction:column;gap:4px}.ec-doc-note{margin-top:14px!important;font-size:13.5px;color:var(--ec-ink2);background:var(--ec-line2);border-radius:10px;padding:10px 12px;white-space:pre-line}.ec-legal{max-width:1120px;margin:8px auto 0;padding:18px 16px 96px;font-size:12px;color:var(--ec-muted);text-align:center;line-height:1.6}.ec-legal strong{color:var(--ec-ink2)}.ec-narrow~.ec-legal{padding-bottom:28px}.ec-hide-sm{display:none}@media(min-width:720px){.ec-tabs{position:sticky;top:58px;bottom:auto;border-top:0;border-bottom:1px solid var(--ec-line);box-shadow:none;padding-bottom:0}.ec-tabs-in{display:flex;gap:6px;padding:0 16px}.ec-tab{flex-direction:row;gap:8px;font-size:14.5px;padding:12px 14px 11px;border-bottom:2.5px solid transparent}.ec-tab.on{border-bottom-color:var(--ec-orange)}.ec-wrap{padding:22px 20px 40px}.ec-legal{padding-bottom:28px}.ec-grid-2{grid-template-columns:1fr 1fr;gap:14px}.ec-hero{padding:26px 28px 24px}.ec-hero h1{font-size:26px}.ec-hide-sm{display:table-cell}.ec-doc{padding:26px 28px}.ec-narrow{padding-top:40px}}@media(min-width:1000px){.ec-cols{grid-template-columns:minmax(0,1fr) 340px;gap:22px}}@media(max-width:420px){.ec-brand-sep,.ec-brand-name,.ec-top-name{display:none}.ec-root .ec-logout{padding:6px 10px;font-size:13px}}@media print{html.ec-html,body.ec-body,.ec-root{background:#fff!important}.ec-top,.ec-tabs,.ec-legal,.ec-no-print{display:none!important}.ec-wrap{padding:0;max-width:none}.ec-card{box-shadow:none;border:0}.ec-hide-sm{display:table-cell}}.ec-callout-ok{background:#ecfdf3;border-color:#b7ebc8;color:#14532d}.ec-quote-doc{border-radius:16px;overflow:hidden;box-shadow:0 1px 2px #0f172a0d,0 8px 24px #0f172a0f;background:#fff}.ec-quote-doc .qdoc{margin:0;max-width:none}.ec-eq-warranties{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.ec-eq-warranties li{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;font-size:.92rem}.ec-eq-comps{margin-top:10px;border-top:1px solid var(--ec-border, #e3e8ef);padding-top:8px;display:flex;flex-direction:column;gap:8px}.ec-eq-comp{padding-left:12px;border-left:3px solid #e85734}.ec-eq-off{opacity:.7}.ec-eq-wlabel{display:block;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ec-muted)}.ec-eq-claims{border-left:4px solid var(--ec-orange, #e85734)}.ec-eq-claims p{margin:6px 0 0;line-height:1.5}.ec-root .ec-h2{font-size:20px;font-weight:750;margin:0;letter-spacing:-.01em}.ec-root .ec-strong-line{font-weight:650;color:var(--ec-ink);margin:6px 0 0}.ec-root .ec-member-box{border:1px solid var(--ec-line);border-radius:14px;padding:14px;background:var(--ec-blue-50)}.ec-root .ec-meter{height:8px;border-radius:999px;background:#fff;border:1px solid var(--ec-blue-100);overflow:hidden}.ec-root .ec-meter>span{display:block;height:100%;background:var(--ec-blue);border-radius:999px}.ec-root .ec-pay-row{padding:8px 0;border-bottom:1px solid var(--ec-line)}.ec-root .ec-pay-row:last-child{border-bottom:0}.ec-root .ec-a{color:var(--ec-blue);font-weight:650;text-decoration:underline;text-underline-offset:2px}.ec-root .ec-center{text-align:center}.ec-root .ec-report{padding:4px 24px 24px}.ec-root .ec-report-section{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ec-orange);margin:20px 0 6px;font-weight:750}.ec-root .ec-report-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--ec-line)}.ec-root .ec-report-col{flex-direction:column;gap:6px}.ec-root .ec-report-k{color:var(--ec-muted)}.ec-root .ec-report-v{font-weight:650;text-align:right;display:inline-flex;align-items:center;gap:4px}.ec-root .ec-report-unit{display:block}.ec-root .ec-report-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.ec-root .ec-report-photos img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;border:1px solid var(--ec-line);display:block}@media(max-width:560px){.ec-root .ec-report{padding:4px 16px 16px}.ec-root .ec-report-row:not(.ec-report-col){flex-direction:column;gap:2px}.ec-root .ec-report-v{text-align:left}.ec-root .ec-tab span{font-size:11px}}@media print{.ec-root .ec-report-photos{grid-template-columns:repeat(3,1fr)}}.ec-root .ec-paytext{margin:8px 0 0;line-height:1.5;overflow-wrap:anywhere}.ec-due{display:block;font-size:13px;font-weight:600;color:#8a4b0f;margin-top:4px}.ec-top-right{display:flex;align-items:center;gap:12px}.ec-lang{display:inline-flex;align-items:center;gap:5px;border:1.5px solid #cfd6e0;background:#fff;color:var(--ec-ink);border-radius:999px;padding:5px 11px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}.ec-lang:hover{border-color:var(--ec-blue)}.ec-lang-short{display:none}@media(max-width:560px){.ec-lang-long{display:none}.ec-lang-short{display:inline}.ec-top-right{gap:8px}.ec-hide-mobile{display:none!important}}.ec-fr-prevails{margin-top:6px;font-style:italic}.ec-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ec-request-card .ec-request-kinds,.ec-request-kinds{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ec-form{display:flex;flex-direction:column;gap:16px}.ec-field{display:flex;flex-direction:column;gap:6px}.ec-field input,.ec-field select,.ec-field textarea{width:100%;border:1.5px solid #cfd6e0;border-radius:12px;padding:11px 13px;font-size:16px;font-family:inherit;color:var(--ec-ink);background:#fff;outline:none;box-sizing:border-box}.ec-field textarea{resize:vertical;min-height:110px}.ec-field input:focus,.ec-field select:focus,.ec-field textarea:focus{border-color:var(--ec-blue);box-shadow:0 0 0 3px var(--ec-blue-100)}.ec-field [aria-invalid=true]{border-color:#f04438}.ec-small{font-size:13px}.ec-file-input{position:absolute;left:0;top:0;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}.ec-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ec-photo-grid:empty{display:none}.ec-photo-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid #e3e8ef}.ec-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ec-photo-remove{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:#101828b3;color:#fff;font-size:17px;line-height:1;cursor:pointer}.ec-request-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.ec-request-done .ec-request-kinds{justify-content:center}@media(max-width:719px){.ec-root .ec-tabs-in:has(>.ec-tab:nth-child(6)) .ec-tab span{font-size:9.5px;letter-spacing:-.02em}.ec-root .ec-tabs-in .ec-tab{min-width:0}.ec-root .ec-tabs-in .ec-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.ec-root .ec-hero{background:linear-gradient(135deg,#ffffff 0%,var(--ec-blue-50) 100%);color:var(--ec-ink);border:1px solid var(--ec-blue-100);border-left:4px solid var(--ec-orange);box-shadow:var(--ec-shadow)}.ec-root .ec-hero h1{color:var(--ec-ink)}.ec-root .ec-hero-hello{opacity:1;color:var(--ec-ink2)}.ec-root .ec-hero-k{opacity:1;color:var(--ec-orange-600)}.ec-root .ec-hero-sub,.ec-root .ec-hero-addr{opacity:1;color:var(--ec-ink2)}.ec-root .ec-hero .ec-chip{background:#fff;color:var(--ec-blue);border:1px solid var(--ec-blue-100)}.ec-root .ec-label,.ec-root .ec-table th,.ec-root .ec-date-tile .m{font-size:12px}.ec-root{--ec-muted: #5f6979}.ec-root .ec-tab{font-size:12px}@media(max-width:719px){.ec-root .ec-tabs-in:has(>.ec-tab:nth-child(5)) .ec-tab{font-size:11px;letter-spacing:0}.ec-root .ec-tabs-in:has(>.ec-tab:nth-child(6)) .ec-tab{padding-left:0;padding-right:0}.ec-root .ec-tabs-in:has(>.ec-tab:nth-child(6)) .ec-tab span{font-size:10.5px;letter-spacing:-.02em}}.ec-root .ec-btn-blue{background:#2462c2}.ec-root .ec-btn-blue:hover:not(:disabled){background:#1d55ad}.ec-root .ec-top-in{gap:8px;min-height:60px;padding-top:8px;padding-bottom:8px}.ec-root .ec-brand{min-width:0;flex:0 1 auto;min-height:44px}.ec-root .ec-logo{display:block;height:36px;width:auto;max-width:100%}.ec-root .ec-top-right{flex:0 0 auto;gap:8px}.ec-root .ec-lang{min-height:44px;min-width:44px;padding:0 12px;justify-content:center;font-size:14px;color:var(--ec-ink);border-color:#c4ccd8}.ec-root .ec-lang:focus-visible,.ec-root .ec-acct-btn:focus-visible,.ec-root .ec-acct-item:focus-visible{outline:3px solid var(--ec-blue-100);outline-offset:2px}.ec-acct{position:relative}.ec-root .ec-acct-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ec-blue-100);background:var(--ec-blue-50);color:var(--ec-blue);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.ec-root .ec-acct-btn:hover,.ec-root .ec-acct-btn[aria-expanded=true]{border-color:var(--ec-blue)}.ec-root .ec-acct-btn svg{width:22px;height:22px}.ec-acct-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--ec-line);border-radius:14px;box-shadow:var(--ec-shadow);padding:6px;z-index:40}.ec-acct-name{margin:0;padding:10px 12px 8px;border-bottom:1px solid var(--ec-line2);display:flex;flex-direction:column;gap:2px}.ec-acct-k{font-size:12px;color:var(--ec-muted);font-weight:600}.ec-acct-v{font-size:16px;color:var(--ec-ink);font-weight:700;overflow-wrap:anywhere;text-transform:capitalize}.ec-root .ec-acct-item{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:4px;padding:0 12px;border:0;border-radius:10px;background:#fff;color:var(--ec-blue);font:inherit;font-size:15px;font-weight:650;cursor:pointer;text-align:left}.ec-root .ec-acct-item:hover{background:var(--ec-blue-50)}.ec-root .ec-secure{font-size:13px}@media(max-width:420px){.ec-root .ec-secure{display:none}}@media(max-width:359px){.ec-root .ec-logo{height:30px}}.ec-root .ec-brand{overflow:hidden}.ec-root .ec-brand-name{overflow:hidden;text-overflow:ellipsis}@media(max-width:719px){.ec-root .ec-brand-sep,.ec-root .ec-brand-name,.ec-root .ec-secure{display:none}}:root{--brand-orange: #e85734;--orange: #c94322;--orange-hover: #b23a1c;--orange-ink: #a8361a;--orange-muted: #fdede8;--blue: #2a5298;--blue-hover: #1f3f7a;--blue-muted: #eaf0fa;--navy: #1f3a68;--navy-deep: #1b2a44;--bg: #f5f7fa;--sidebar: #ffffff;--card: #ffffff;--surface-2: #f8fafc;--input-bg: #ffffff;--row-hover: #f2f5f9;--overlay: rgba(15, 27, 45, .45);--overlay-strong: rgba(15, 27, 45, .72);--text: #1b2533;--text-strong: #0f1b2d;--muted: #5f6b7a;--text-on-accent: #ffffff;--border: #e3e8ef;--border-strong: #cbd3de;--success: #027a48;--success-bg: #ecfdf3;--success-border: #abefc6;--success-solid: #15803d;--danger: #b42318;--danger-bg: #fef3f2;--danger-border: #fecdca;--danger-solid: #c8281d;--warning: #b54708;--warning-bg: #fffaeb;--warning-border: #fedf89;--warning-solid: #dc6803;--info: #1d4ed8;--info-bg: #eff4ff;--info-border: #c7d7fe;--neutral: #475467;--neutral-bg: #f2f4f7;--neutral-border: #d0d5dd;--violet: #5b3fb5;--violet-bg: #f4f0ff;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--shadow-pop: 0 12px 32px rgba(16, 24, 40, .14);--focus-ring: 0 0 0 3px rgba(42, 82, 152, .25);--radius: 10px;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--text);background:var(--bg);color-scheme:light;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}#root{min-height:100vh}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--sidebar);border-right:1px solid var(--border);padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.sidebar-logo{display:block;max-width:180px;height:auto}.sidebar nav{display:flex;flex-direction:column;gap:.35rem}.nav-link{padding:.6rem .85rem;border-radius:8px;color:var(--muted);font-weight:500}.nav-link:hover{background:var(--blue-muted);color:var(--blue)}.nav-link.active{background:var(--orange-muted);color:var(--orange)}.main{flex:1;padding:1.75rem 2rem}.page-title{margin:0 0 .35rem;font-size:1.6rem}.page-sub{margin:0 0 1.5rem;color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.card h2{margin:0 0 .5rem;font-size:1.1rem;color:var(--blue)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--orange-muted);color:var(--orange)}.placeholder{color:var(--muted);font-size:.95rem}.main-column{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:grid;grid-template-columns:minmax(140px,1fr) minmax(220px,480px) minmax(140px,1fr);align-items:center;gap:1rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--card);position:sticky;top:0;z-index:40}.topbar-left{display:flex;align-items:center;justify-content:flex-start;min-width:0}.topbar-center{display:flex;justify-content:center;width:100%}.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.topbar-account{display:flex;align-items:center;gap:.5rem;min-width:0;flex-wrap:wrap}.topbar-account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12rem}.topbar-account-placeholder{display:inline-block;width:1px;height:1px}.topbar-search{width:100%;margin:0}.topbar-search-field{display:flex;align-items:center;gap:.5rem;width:100%;margin:0;padding:.45rem .85rem;background:var(--input-bg);border:1px solid var(--border);border-radius:999px;color:var(--muted)}.topbar-search-field:focus-within{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange-muted);color:var(--text)}.topbar-search-icon{flex-shrink:0}.topbar-search-field input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-size:.95rem;padding:.2rem 0;outline:none}.topbar-search-field input::placeholder{color:var(--muted)}.topbar-gear{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:999px;border:1px solid var(--border);background:var(--input-bg);color:var(--muted)}.topbar-gear:hover,.topbar-gear:focus-visible{color:var(--orange);border-color:var(--orange);background:var(--orange-muted);outline:none}.settings-account-card .settings-account-who{margin:.35rem 0 .85rem}.settings-signout{margin-top:.25rem}.search-open-hint{margin:0 0 1rem}@media(max-width:860px){.topbar{grid-template-columns:1fr;grid-template-areas:"actions" "search"}.topbar-left{display:none}.topbar-center{grid-area:search}.topbar-right{grid-area:actions;justify-content:flex-end}}.btn-ghost{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;padding:.45rem .9rem;font-weight:600;cursor:pointer}.btn-ghost:hover{background:var(--blue-muted);color:var(--blue)}.btn-primary{border:none;background:var(--orange);color:var(--text-on-accent);border-radius:8px;padding:.7rem 1rem;font-weight:600;cursor:pointer;width:100%}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(160deg,var(--blue-muted),var(--bg) 45%,var(--orange-muted))}.login-card{width:min(420px,100%);background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.75rem;box-shadow:0 10px 30px #1018280f;display:flex;flex-direction:column;gap:.85rem}.login-logo{max-width:180px;height:auto;align-self:center}.login-error{margin:0;color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;padding:.6rem .75rem;font-size:.9rem}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--muted)}.field input{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;font-size:1rem;color:var(--text)}.wb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.wb-stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.25rem}.wb-stat-label{color:var(--muted);font-size:.85rem;font-weight:500}.wb-stat-value{font-size:1.55rem;font-weight:700;color:var(--blue)}.wb-error{margin-bottom:1rem}.wb-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}.wb-column{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-height:280px;display:flex;flex-direction:column}.wb-column--blue{border-top:3px solid var(--blue)}.wb-column--orange{border-top:3px solid var(--orange)}.wb-column--done{border-top:3px solid var(--muted)}.wb-column-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.wb-column-header h2{margin:0;font-size:1rem;color:var(--text)}.wb-column-body{padding:.75rem;display:flex;flex-direction:column;gap:.65rem}.wb-empty{margin:.5rem 0;text-align:center}.wb-card{border:1px solid var(--border);border-radius:8px;padding:.75rem .85rem;background:var(--bg);display:flex;flex-direction:column;gap:.3rem}.wb-card-top{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.wb-card-client{font-size:.95rem;color:var(--text)}.wb-card-time{font-size:.8rem;color:var(--orange);font-weight:600;white-space:nowrap}.wb-card-title{font-size:.9rem;color:var(--blue);font-weight:500}.wb-card-address,.wb-card-tech{font-size:.8rem;color:var(--muted)}.wb-card-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.wb-move-btn{width:auto;padding:.3rem .55rem;font-size:.75rem}.wb-card{cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .15s ease,opacity .15s ease,border-color .15s ease}.wb-card:active{cursor:grabbing}.wb-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.wb-card--dragging{opacity:.55;box-shadow:0 8px 20px #2a52982e}.wb-card--updating{opacity:.7;pointer-events:none}.wb-card-hint{margin-top:.35rem;font-size:.7rem;color:var(--muted)}.wb-column--drop{background:var(--blue-muted);border-color:var(--blue)}.wb-column--drop .wb-empty{color:var(--blue);font-weight:600}.wb-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:40;display:flex;justify-content:flex-end}.wb-drawer{width:min(440px,100%);height:100%;background:var(--card);border-left:1px solid var(--border);box-shadow:-8px 0 28px #10182814;display:flex;flex-direction:column;overflow:hidden}.wb-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid var(--border);gap:.75rem}.wb-drawer-header h2{margin:0;font-size:1.1rem}.wb-drawer-header .btn-ghost{width:auto;padding:.35rem .7rem}.wb-drawer-body{padding:1rem 1.1rem 2rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.wb-drawer-section h3{margin:0 0 .5rem;font-size:.95rem;color:var(--blue)}.wb-drawer-client{font-size:1.15rem;font-weight:700}.wb-drawer-title{color:var(--blue);font-weight:500;margin-bottom:.75rem}.wb-drawer-meta{margin:0;display:grid;gap:.55rem}.wb-drawer-meta>div{display:grid;grid-template-columns:7rem 1fr;gap:.5rem;align-items:baseline}.wb-drawer-meta dt{margin:0;color:var(--muted);font-size:.85rem}.wb-drawer-meta dd{margin:0;font-size:.9rem}.wb-drawer-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}.wb-drawer-actions .btn-primary,.wb-drawer-actions .btn-ghost,.wb-drawer-actions a.btn-primary{width:auto;padding:.4rem .75rem;font-size:.85rem;text-align:center}.wb-time-summary{display:flex;flex-wrap:wrap;gap:.65rem 1rem;font-size:.85rem;color:var(--muted);margin-bottom:.5rem}.wb-time-summary strong{color:var(--text)}.wb-detail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:.88rem}.wb-detail-list li{padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.wb-note-meta{font-size:.78rem;color:var(--muted);margin-bottom:.2rem}.jobs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.jobs-list-item{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.jobs-list-item--clickable{cursor:pointer;border-radius:8px;padding:.65rem .5rem .75rem;margin:0 -.5rem;transition:background .12s ease}.jobs-list-item--clickable:hover,.jobs-list-item--clickable:focus-visible{background:var(--blue-muted);outline:none}.jobs-list-item:last-child{border-bottom:none;padding-bottom:0}.jobs-list-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.jobs-list-title{color:var(--blue);font-size:.9rem}.jobs-list-addr{color:var(--muted);font-size:.85rem}.jobs-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.jobs-list-time,.jobs-list-tech{font-size:.85rem;color:var(--muted)}@media(max-width:960px){.wb-stats,.wb-board{grid-template-columns:1fr}}.invite-form{display:grid;grid-template-columns:1.4fr .8fr auto;gap:.75rem;align-items:end;margin:1rem 0}.invite-submit{width:auto;white-space:nowrap}.settings-select{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;font-size:1rem;color:var(--text);background:var(--card)}.invite-link-box{background:var(--blue-muted);border-radius:8px;padding:.85rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.invite-url{word-break:break-all;font-size:.85rem;background:var(--card);padding:.5rem .65rem;border-radius:6px;border:1px solid var(--border)}.team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.team-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.team-row:last-child{border-bottom:none}.prefs-list{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem}.prefs-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.prefs-note{color:var(--blue);font-size:.9rem;margin:.5rem 0 0}@media(max-width:720px){.invite-form{grid-template-columns:1fr}}.team-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.settings-form{display:flex;flex-direction:column;gap:.85rem;margin-top:.75rem}.form-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.btn-inline{width:auto;min-width:8rem}.settings-select{border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;font-size:.95rem;background:var(--card)}.invite-form{display:grid;grid-template-columns:1fr 160px auto;gap:.75rem;align-items:end;margin:.85rem 0}.invite-submit{width:auto}.invite-link-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.85rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.invite-url{word-break:break-all;font-size:.85rem;color:var(--blue)}.team-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.team-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.team-actions{display:flex;gap:.5rem;align-items:center}.prefs-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.75rem}.prefs-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--border);color:var(--text);font-size:.95rem}.prefs-note{margin:.5rem 0;color:var(--blue);font-size:.9rem}.inv-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.inv-toolbar h2{margin:0}.inv-search{min-width:220px}.inv-stock-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 .75rem}.inv-stock-filters .chip{cursor:pointer}.inv-stock-filters .chip.active{background:var(--blue);border-color:var(--blue);color:var(--text-on-accent)}.inv-stock-filter-count{opacity:.75;font-variant-numeric:tabular-nums;margin-left:.25rem}.inv-table-wrap{overflow-x:auto}.inv-table{width:100%;border-collapse:collapse;font-size:.9rem}.inv-table th,.inv-table td{text-align:left;padding:.55rem .45rem;border-bottom:1px solid var(--border);vertical-align:top}.inv-table th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}.inv-qty-input{width:4.5rem;border:1px solid var(--border);border-radius:6px;padding:.35rem .45rem;font-size:.95rem}.inv-row-flagged{background:var(--orange-muted)}.inv-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.inv-flagged-card{border-color:var(--orange)}.inv-flag-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.inv-flag-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:800px){.form-row-3,.invite-form{grid-template-columns:1fr}}.ok-msg{margin:0 0 1rem;color:var(--success);background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;padding:.6rem .75rem;font-size:.9rem}.field select{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;font-size:1rem;color:var(--text);background:var(--card)}.inv-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem;align-items:end}.sr-section{margin-top:.25rem}.sr-empty{color:var(--muted);font-size:.95rem;line-height:1.45}.sr-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.sr-row{border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;background:var(--bg);display:flex;flex-direction:column;gap:.5rem}.sr-row-top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}.sr-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.sr-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.sr-line{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.9rem;padding:.35rem 0;border-bottom:1px dashed var(--border)}.sr-line:last-child{border-bottom:none}.sr-badge-draft{background:var(--blue-muted);color:var(--blue)}.sr-badge-posted{background:var(--success-bg);color:var(--success)}.sr-photo{max-width:160px;max-height:120px;border-radius:6px;border:1px solid var(--border);object-fit:cover}.sr-add-line{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;align-items:end;margin-top:.5rem}.owed-expense-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.owed-expense-list a{color:var(--blue);font-weight:600;font-size:.85rem}.wb-form-fields{list-style:none;margin:.35rem 0 0;padding:0;font-size:.9rem}.wb-form-photos{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.wb-form-photo{display:flex;flex-direction:column;gap:.2rem}.sr-pdf-suggest{margin:.75rem 0;padding:.75rem;border:1px dashed var(--border);border-radius:8px;background:var(--card)}.sr-pdf-suggest h3{margin:0 0 .35rem;font-size:1rem}.sr-suggest-line{border-bottom:none!important;padding:.5rem 0!important}input,select,textarea{background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}.data-table th,.data-table td{border-color:var(--border);color:var(--text)}.data-table th{color:var(--muted)}.btn-ghost{color:var(--text)}code,.invite-url{background:var(--input-bg);color:var(--text);border:1px solid var(--border)}.worker-chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.worker-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.worker-chip.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}.worker-chip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.color-swatch-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.color-swatch.selected{border-color:var(--text-on-accent);box-shadow:0 0 0 2px var(--orange)}.cal-job-row{cursor:pointer}.cal-job-row:hover{background:var(--blue-muted)}.cal-job-swatch{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.ui-state{padding:.75rem 0}.ui-state-hint{font-size:13px;opacity:.9}.ui-state--error{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.table-scroll .data-table,.table-scroll .inv-table{min-width:640px}.worker-chip-row{max-width:100%}.worker-chip{max-width:100%;white-space:nowrap}.worker-chip-label{overflow:hidden;text-overflow:ellipsis;max-width:10rem}.sr-row-actions{gap:6px;justify-content:flex-end;max-width:100%}.sr-row-actions .btn-ghost,.sr-row-actions .btn-primary{white-space:nowrap}.btn-danger-ghost{color:var(--danger)!important;border-color:var(--danger-border)}.btn-danger-ghost:hover{background:var(--danger-bg)}.sr-steps{display:flex;flex-wrap:wrap;gap:8px;margin:.5rem 0 1rem;padding:0;list-style:none}.sr-steps li{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);background:var(--input-bg);border:1px solid var(--border);border-radius:999px;padding:4px 10px}.sr-steps li strong{color:var(--text);font-weight:700}.sr-parse-empty{margin-top:.75rem;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--text);font-size:14px}a.maps-link{color:var(--blue);text-decoration:underline;text-underline-offset:2px}a.maps-link:hover{opacity:.9}.inv-table td{vertical-align:top;word-break:break-word}.sr-row{overflow:hidden}.search-bar-card{display:flex;flex-direction:column;gap:.85rem}.search-input-field{margin:0;width:100%}.search-input-field input{width:100%;font-size:1.05rem;padding:.85rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;color:var(--text)}.search-input-field input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 2px var(--orange-muted)}.search-chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.search-chip{padding:.45rem .9rem;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:.85rem;font-weight:600;cursor:pointer}.search-chip:hover{background:var(--blue-muted)}.search-chip.selected{background:var(--orange);border-color:var(--orange);color:var(--text-on-accent)}.search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.search-section{margin-top:.75rem;margin-bottom:.15rem;color:var(--orange);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.search-section:first-child{margin-top:0}.search-result{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--input-bg);color:var(--text);cursor:default}.search-result--clickable{cursor:pointer}.search-result--clickable:hover,.search-result--clickable:focus-visible{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange-muted)}.search-result:disabled{opacity:1;cursor:default}.search-result-title{font-weight:600}.search-result-sub{color:var(--muted);font-size:.88rem}.search-result-meta,.search-result-link{color:var(--blue);font-size:.82rem;font-weight:600}.ghl-sync-actions{display:flex;flex-direction:column;gap:12px;margin-top:12px}.ghl-sync-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--border)}.ghl-sync-copy{display:flex;flex-direction:column;gap:4px;min-width:200px;flex:1}.ghl-sync-copy strong{font-size:.95rem}.ghl-probe-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.ghl-probe-list li{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface-2)}.ghl-probe-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex-shrink:0}.ghl-probe-ok .ghl-probe-dot{background:var(--success-solid)}.ghl-probe-fail .ghl-probe-dot{background:var(--danger-solid)}.ghl-probe-ok{border-left:3px solid var(--success-solid)}.ghl-probe-fail{border-left:3px solid var(--danger-solid)}.ghl-probe-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.ghl-probe-note{padding:4px 10px;background:transparent}.cal-page{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.cal-page--with-standby{grid-template-columns:minmax(0,1fr) 290px}@media(max-width:1100px){.cal-page--with-standby{grid-template-columns:1fr}}.cal-toolbar-card{padding-bottom:1rem}.cal-toolbar{display:flex;flex-direction:column;gap:12px}.cal-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-nav-btn{font-size:1.35rem;line-height:1;min-width:36px;padding:4px 10px}.cal-period-title{margin:0;font-size:1.15rem;font-weight:650;min-width:10rem}.cal-filters{display:flex;flex-wrap:wrap;gap:10px}.cal-filter{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.cal-filter select{min-width:140px;font-size:.9rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text)}.cal-view-toggle{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cal-view-toggle .btn-primary,.cal-view-toggle .btn-ghost{padding:6px 12px;font-size:.85rem}.cal-week{margin-top:14px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--card)}.cal-week-head{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border);background:var(--input-bg)}.cal-week-gutter{border-right:1px solid var(--border)}.cal-week-dayhead{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:none;border-right:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}.cal-week-dayhead:last-child{border-right:none}.cal-week-dayhead.is-today .cal-week-dayname{background:var(--blue);color:var(--text-on-accent);border-radius:999px;padding:2px 10px}.cal-week-dayhead.is-selected{background:var(--blue-muted)}.cal-week-dayname{font-weight:700;font-size:.85rem}.cal-week-daymeta{font-size:.7rem;color:var(--muted)}.cal-week-scroll{overflow:auto;max-height:min(70vh,720px)}.cal-week-body{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));position:relative}.cal-week-hours{position:relative}.cal-hour-label{font-size:.7rem;color:var(--muted);padding:0 6px;transform:translateY(-.55em);text-align:right}.cal-week-col{position:relative;border-right:1px solid var(--border)}.cal-week-col:last-child{border-right:none}.cal-hour-line{position:absolute;left:0;right:0;height:1px;background:var(--border);opacity:.65;pointer-events:none}.cal-block{position:absolute;left:4px;right:4px;z-index:1;display:flex;align-items:flex-start;gap:6px;padding:3px 6px;border:none;border-left:3px solid var(--blue);border-radius:5px;text-align:left;cursor:grab;overflow:hidden;color:var(--text);touch-action:none}.cal-block.is-compact{align-items:center;padding-top:0;padding-bottom:0}.cal-block.is-compact .cal-block-text{flex-direction:row;align-items:baseline;gap:6px;width:100%;white-space:nowrap}.cal-block.is-compact .cal-block-title{flex:0 1 auto;min-width:0}.cal-block.is-compact .cal-block-time{flex:0 0 auto}.cal-block.is-roomy .cal-block-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.cal-block:hover{filter:brightness(.97)}.cal-block:active,.cal-block.is-dragging{cursor:grabbing;opacity:.45}.cal-block-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0}.cal-block-text{display:flex;flex-direction:column;min-width:0;line-height:1.25;gap:1px}.cal-block-title{font-size:.78rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-block-time{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-hour-half{position:absolute;left:0;right:0;height:1px;background:var(--border);opacity:.35;pointer-events:none}.cal-week-col.is-drop-target{background:color-mix(in srgb,var(--blue) 10%,transparent)}.cal-drop-slot{position:absolute;left:2px;right:2px;z-index:0;border-radius:6px;border:2px dashed var(--blue);background:color-mix(in srgb,var(--blue) 18%,transparent);pointer-events:none}.cal-drag-hint{margin:8px 0 0;font-size:.8rem}.cal-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.cal-live-btn{font-size:.78rem;padding:3px 8px}.cal-live-icon{display:inline-block}.cal-live-icon.is-spinning{animation:cal-live-spin .9s linear infinite}@keyframes cal-live-spin{to{transform:rotate(360deg)}}.cal-month{margin-top:14px}.cal-month-dows{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}.cal-month-dow{text-align:center;font-size:.75rem;font-weight:600;color:var(--muted)}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-month-cell{min-height:64px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);padding:8px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px}.cal-month-cell.is-empty{background:transparent;border-color:transparent;cursor:default}.cal-month-cell.is-today{border-color:var(--orange)}.cal-month-cell.is-selected{background:var(--blue-muted);border-color:var(--blue)}.cal-month-num{font-weight:700;font-size:.9rem}.cal-month-dots{display:flex;gap:3px;min-height:6px}.cal-dot{width:6px;height:6px;border-radius:50%;background:var(--blue)}.cal-agenda{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.cal-event{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);padding:12px;cursor:pointer}.cal-event:hover{border-color:var(--blue);background:var(--blue-muted)}.cal-event-bar{width:4px;align-self:stretch;border-radius:4px;flex-shrink:0}.cal-event-time{font-weight:700;font-size:.9rem;min-width:4.5rem}.cal-event-body{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-event-title{font-weight:650}.cal-event-meta{font-size:.85rem;color:var(--muted)}.cal-event-addr{font-size:.8rem;margin-top:2px}.cal-empty{padding:24px 8px;text-align:center}.cal-standby{position:sticky;top:16px;max-height:calc(100vh - 48px);overflow:auto}.cal-standby-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.cal-standby-head h2{margin:0;font-size:1.05rem;display:flex;align-items:center;gap:8px}.cal-standby-sort{margin:0 0 10px;font-size:.8rem}.cal-standby-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cal-standby-chip{display:flex;gap:10px;align-items:stretch;padding:10px;border-radius:8px;border:1px solid var(--border);background:var(--blue-muted);color:var(--text);text-decoration:none}.cal-standby-chip:hover{border-color:var(--blue)}.cal-standby-chip.is-draggable{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.cal-standby-chip.is-dragging{opacity:.45;cursor:grabbing}.cal-month-cell.is-drop-target{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 14%,transparent);box-shadow:inset 0 0 0 1px var(--blue)}.cal-standby-chip-bar{width:4px;border-radius:4px;background:var(--blue);flex-shrink:0}.cal-standby-chip-body{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-standby-chip-body strong{font-size:.9rem}.cal-standby-note{margin-top:12px;font-size:.78rem}.est-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:4px}.est-btn-new{width:auto;white-space:nowrap}.est-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:16px}.est-search-field{flex:1;min-width:200px}.est-list-card{padding:.75rem 1rem 1rem}.est-table tbody tr{cursor:pointer}.est-table tbody tr:hover{background:var(--blue-muted)}.est-row-selected{background:var(--orange-muted)!important}.est-num{font-weight:650}.est-client-cell{font-weight:550}.est-total-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.est-pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--blue-muted);color:var(--blue);text-transform:capitalize}.est-pill-draft{background:var(--neutral-bg);color:var(--neutral)}.est-pill-sent{background:var(--blue-muted);color:var(--blue)}.est-pill-viewed{background:var(--info-bg);color:var(--info)}.est-pill-accepted{background:var(--success-bg);color:var(--success)}.est-pill-pending_acceptance{background:var(--warning-bg);color:var(--warning);text-transform:none}.est-pill-declined{background:var(--danger-bg);color:var(--danger)}.est-pill-invoiced{background:var(--orange-muted);color:var(--orange)}.est-pill-converted{background:var(--accent-muted, #e8eefc);color:var(--accent, #1d4ed8);text-transform:none}.est-converted{margin:8px 0 0;font-size:13px;color:var(--text-muted, #4b5563)}.est-converted a{font-weight:600}.est-pill-paid{background:var(--success-bg);color:var(--success)}.est-pill-partial,.est-pill-partially_paid{background:var(--warning-bg);color:var(--warning)}.est-pill-overdue{background:var(--danger-bg);color:var(--danger)}.est-pill-void{background:var(--neutral-bg);color:var(--neutral)}.est-pill-receipt{background:var(--success-bg);color:var(--success)}.inv-detail-drawer{width:min(520px,100%)}.inv-receipt-card{padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--success-bg);margin-bottom:4px}.inv-paid-note{margin:8px 0 0;font-size:.88rem;color:var(--success);font-weight:550}.est-totals-balance{margin-top:2px;font-size:1rem}.inv-deposit-card{width:100%;margin-top:4px}.inv-gates{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.est-detail-drawer{width:min(480px,100%)}.est-detail-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.est-edit-stack{display:flex;flex-direction:column;gap:10px}.est-edit-line{display:flex;gap:8px;flex-wrap:wrap}.est-edit-line input{flex:1;min-width:100px;padding:.5rem .65rem}.est-qty{max-width:72px}.est-amt{max-width:110px}.est-totals{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.est-totals-row{display:flex;justify-content:space-between;gap:12px;font-size:.95rem}.est-totals-total{margin-top:4px;padding-top:8px;border-top:1px solid var(--border);font-size:1.05rem}.est-accepted{width:100%;display:flex;flex-direction:column;gap:10px;padding:12px}.est-accepted h3{margin:0;font-size:.95rem}.est-composer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:50;display:flex;justify-content:center;align-items:stretch;padding:16px;overflow:auto}.est-composer{width:min(920px,100%);margin:auto;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 48px #10182824;display:flex;flex-direction:column;max-height:calc(100vh - 32px);overflow:hidden}.est-composer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.est-composer-header h2{margin:0;font-size:1.25rem}.est-composer-body{padding:1.15rem 1.25rem 0;overflow-y:auto;display:flex;flex-direction:column;gap:1.15rem;flex:1}.est-composer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.25rem}@media(max-width:720px){.est-composer-grid{grid-template-columns:1fr}}.est-label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.35rem}.est-client-picked{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg)}.est-client-meta{margin-top:6px;font-size:.85rem;color:var(--muted);display:flex;flex-direction:column;gap:2px}.est-tax-ids{display:grid;grid-template-columns:1fr 1fr;gap:8px}.est-combobox{position:relative}.est-combobox input{width:100%;padding:.65rem .75rem;font-size:1rem}.est-combobox-menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #10182824;max-height:260px;overflow:auto}.est-combobox-menu li button{width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.est-combobox-menu li button:hover:not(:disabled){background:var(--blue-muted)}.est-combobox-menu li button:disabled{opacity:.55;cursor:not-allowed}.est-combobox-hint{padding:8px 10px;color:var(--muted);font-size:.85rem}.est-lines-section h3{margin:0 0 .75rem;font-size:1.05rem;color:var(--blue)}.est-line-card{border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:12px;background:var(--input-bg);display:flex;flex-direction:column;gap:10px}.est-line-top{display:grid;grid-template-columns:minmax(0,2.2fr) 90px 120px 110px;gap:10px;align-items:end}@media(max-width:720px){.est-line-top{grid-template-columns:1fr 1fr}.est-line-name{grid-column:1 / -1}}.est-line-total-val{padding:.65rem .5rem;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}.est-line-bottom{display:flex;gap:10px;align-items:flex-end}.est-line-bottom textarea{width:100%;resize:vertical;padding:.55rem .75rem;font:inherit}.est-remove-line{width:auto;white-space:nowrap;margin-bottom:2px}.est-add-line{width:auto;background:var(--success-solid);border-color:var(--success-solid)}.est-add-line:hover{filter:brightness(.94)}.est-composer-totals-wrap{display:flex;justify-content:flex-end}.inv-composer-totals{width:min(280px,100%);gap:6px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.inv-totals-hint{margin:6px 0 0;font-size:.82rem;line-height:1.35}.est-composer-totals{width:min(320px,100%);display:flex;flex-direction:column;gap:8px;padding:12px 0}.est-tax-note{font-size:.85rem}.est-contract{padding:12px 14px}.est-contract h3{margin:0 0 8px;font-size:1rem}.est-contract textarea{width:100%;resize:vertical;padding:.55rem .75rem;font:inherit}.est-composer-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:12px 0 16px;margin-top:4px;background:linear-gradient(to top,var(--card) 70%,transparent);border-top:1px solid var(--border)}.est-save-quote{width:auto;background:var(--success-solid);border-color:var(--success-solid);min-width:140px}.est-save-quote:hover:not(:disabled){filter:brightness(.94)}.est-save-quote:disabled{opacity:.55}.est-checklist{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.65rem}.est-checklist h3{margin:0;font-size:1rem}.est-check-slot{display:flex;flex-direction:column;gap:.35rem}.est-check-slot-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.est-check-upload{cursor:pointer;font-size:.85rem}.est-check-thumbs{display:flex;flex-wrap:wrap;gap:8px}.est-check-thumb{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.est-check-pdf{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:8px;border:1px dashed var(--border);font-weight:700;font-size:.85rem}.est-tax-ids{display:flex;flex-direction:column;gap:6px}.client-profile-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.client-profile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.client-profile-counts{display:flex;flex-wrap:wrap;gap:8px}.client-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.client-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.client-hub-tabs,.job-hub-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px;padding:4px;background:var(--input-bg);border:1px solid var(--border);border-radius:10px}.client-hub-tab,.job-hub-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);font:inherit;font-weight:600;font-size:.9rem;padding:.45rem .85rem;border-radius:8px;cursor:pointer}.client-hub-tab:hover,.job-hub-tab:hover{color:var(--text);background:var(--blue-muted)}.client-hub-tab.active,.job-hub-tab.active{background:var(--card);color:var(--text);box-shadow:0 0 0 1px var(--border)}.cat-picker-backdrop{z-index:70}.cat-picker{width:min(720px,100%)}.cat-picker-body{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;flex:1;min-height:0}.cat-tabs{margin:0}.cat-picker-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:200px;border:1px solid var(--border);border-radius:10px}.cat-picker-list li+li{border-top:1px solid var(--border)}.cat-picker-row{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left;background:transparent;border:none;color:var(--text);padding:10px 12px;cursor:pointer;font:inherit}.cat-picker-row:hover{background:var(--blue-muted)}.cat-picker-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cat-picker-name,.cat-picker-desc{white-space:normal;overflow-wrap:anywhere}.cat-picker-desc{color:var(--muted);font-size:.85rem}.cat-picker-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.cat-picker-price{font-weight:600;white-space:nowrap}.cat-stock-hint{display:inline-block;font-size:.78rem;font-weight:600;padding:1px 8px;border-radius:999px;white-space:nowrap}.cat-stock-ok{color:var(--success);background:var(--success-bg)}.cat-stock-out{color:var(--danger);background:var(--danger-bg)}.cat-line-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:.8rem;color:var(--muted)}.cat-line-badge{font-size:.72rem;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--blue-muted);color:var(--blue)}.cat-line-badge.extra{background:var(--orange-muted);color:var(--orange)}.cat-pick-btn{margin-top:6px;white-space:nowrap}.cat-page-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.cat-page-toolbar .field{margin:0}.cat-name-cell{white-space:normal;overflow-wrap:anywhere}.cat-row-inactive td{opacity:.55}.cat-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}@media(max-width:720px){.cat-form-grid{grid-template-columns:1fr}}.cat-form-grid .span-2{grid-column:1 / -1}.cat-import-result{white-space:pre-wrap}.est-edit-line{align-items:flex-start}.cat-units-help{margin:2px 0 6px;font-size:.82rem}.cat-unit-group{border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}.cat-unit-group-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;opacity:.75}.cat-unit-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cat-unit-row .cat-name-cell{flex:1 1 200px}.cat-unit-qty{display:inline-flex;align-items:center;gap:4px;font-size:.8rem}.cat-unit-qty input{width:56px}.cat-unit-add{align-self:flex-start}.equip-list{display:flex;flex-direction:column;gap:4px;margin:6px 0}.equip-row{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.9rem}.equip-row .equip-label{font-weight:600}.equip-row .equip-model{opacity:.7}.equip-fields{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.equip-input-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:560px){.equip-input-row{grid-template-columns:1fr}}.stock-short-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.stock-short-toggle{display:flex;align-items:center;gap:10px;padding-left:0}.stock-short-warn{border-left:4px solid var(--warning-solid)}.stock-badge{background:var(--warning-bg);color:var(--warning);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}.stock-missing{color:var(--danger);font-weight:700}.stock-sub{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.stock-table{margin-top:6px}.stock-table td{vertical-align:top}.stock-alerts{margin-top:8px;display:flex;flex-direction:column;gap:4px}.stock-alert-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--warning-bg);border-radius:8px;padding:6px 10px;font-size:.9rem}.cat-role-pill{display:inline-block;margin-left:6px;border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:700;background:var(--info-bg);color:var(--info)}.cat-role-pill.cat-role-outdoor{background:var(--info-bg);color:var(--info)}.cat-role-pill.cat-role-indoor{background:var(--success-bg);color:var(--success)}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;line-height:1.4;background:var(--info-bg);color:var(--info);border:1px solid var(--info-border);white-space:nowrap}.serial-suggest-wrap{position:relative}.serial-suggest-wrap>input{width:100%}.serial-suggest{position:absolute;right:0;left:auto;width:max(100%,360px);max-width:90vw;top:100%;z-index:30;margin-top:2px;background:var(--card);border:1px solid var(--blue);border-radius:8px;box-shadow:0 6px 18px #10182814;max-height:320px;overflow-y:auto}.serial-suggest-title{font-size:.72rem;color:var(--muted);padding:6px 10px 2px}.serial-suggest-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border:0;border-top:1px solid var(--border);background:transparent;cursor:pointer;color:inherit;font:inherit}.serial-suggest-row:hover,.serial-suggest-row:focus{background:var(--blue-muted)}.serial-suggest-main{display:flex;flex-direction:column;min-width:0;flex:1}.serial-suggest-main strong{font-size:.9rem;letter-spacing:.02em;overflow-wrap:anywhere}.serial-suggest-main small{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.serial-suggest-tag{color:var(--blue);font-size:.72rem;font-weight:600;white-space:nowrap}.form-section-title{margin:14px 0 4px;padding-bottom:4px;font-size:15px;font-weight:700;border-bottom:1px solid var(--border)}.field-check{display:flex;align-items:flex-start;gap:8px;margin:6px 0;font-size:14px;line-height:1.35;cursor:pointer}.field-check input[type=checkbox]{width:18px;height:18px;margin:1px 0 0;flex:0 0 auto}.form-photo-chip{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:2px}.form-photo-chip .btn-ghost{padding:2px 6px;font-size:12px}.est-check-racks{border:0;padding:0;margin:10px 0}.est-check-racks legend{padding:0;margin-bottom:4px;font-size:13px;font-weight:600}.est-check-legacy{font-style:italic;margin:4px 0}.assignee-chips{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.assignee-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-size:12.5px;font-weight:600;white-space:nowrap}.assignee-chip-empty{color:var(--muted);font-weight:500}.assignee-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.assignee-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;max-width:100%}.assignee-toggle.selected{border-color:var(--orange);background:var(--orange-muted);box-shadow:0 0 0 1px var(--orange)}.assignee-toggle:disabled{opacity:.55;cursor:default}.assignee-check{color:var(--orange);font-weight:800}@media(max-width:700px){.assignee-toggle{min-height:44px}}.warranty-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:999px;background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border);font-size:.75rem;font-weight:700;line-height:1.4;white-space:nowrap;vertical-align:middle}.warranty-badge--compact{padding:0 6px;font-size:.68rem}.warranty-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;min-height:44px;border-radius:var(--radius);border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-weight:600;cursor:pointer;width:fit-content;max-width:100%}.warranty-toggle.on{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning)}.warranty-toggle:disabled{opacity:.6;cursor:default}.warranty-toggle-track{position:relative;width:40px;height:22px;border-radius:999px;background:var(--border);transition:background .15s;flex:none}.warranty-toggle.on .warranty-toggle-track{background:var(--warning-solid)}.warranty-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--card);box-shadow:0 1px 2px #10182833;transition:left .15s}.warranty-toggle.on .warranty-toggle-thumb{left:20px}.warranty-callout{margin:6px 0;padding:8px 10px;border-radius:8px;background:var(--warning-bg);border-left:4px solid var(--warning-solid);color:var(--warning)}.service-call-description{white-space:pre-wrap;margin:6px 0}.service-call-panel form{display:grid;gap:10px}.internal-notes{border-left:3px solid var(--violet);padding-left:10px}.internal-notes-hint{margin:0 0 8px;font-size:.8rem}.internal-notes-form{display:flex;flex-direction:column;gap:8px}.internal-notes-form .btn-primary{align-self:flex-end;width:auto;min-width:120px}.internal-notes-form textarea{width:100%;box-sizing:border-box;min-height:64px;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px;font:inherit;resize:vertical}.internal-notes-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.internal-notes-list li{padding:8px 10px;border-radius:8px;background:var(--violet-bg)}.internal-notes-body{white-space:pre-wrap}.discount-add-link{align-self:flex-end;background:none;border:0;padding:2px 0;color:var(--blue);font:inherit;font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.discount-add-link:disabled{opacity:.5;cursor:default}.discount-field{display:flex;flex-direction:column;gap:4px;padding:8px 0 4px;border-top:1px dashed var(--border)}.discount-field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.discount-field-label{font-weight:600;font-size:.92rem;margin-right:auto}.discount-type{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.discount-type button{border:0;background:transparent;padding:4px 12px;font:inherit;font-weight:600;cursor:pointer;color:inherit}.discount-type button.on{background:var(--blue);color:var(--text-on-accent)}.discount-value{width:84px;padding:4px 8px;font:inherit;text-align:right;background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:8px}.discount-value[aria-invalid=true]{border-color:var(--danger)}.discount-remove{padding:4px 8px;font-size:.85rem}.discount-error{margin:0;color:var(--danger);font-size:.82rem}.discount-hint{margin:0;color:var(--muted);font-size:.8rem}.discount-row span:last-child{color:var(--success)}.booking-modal{width:min(640px,100%)}.booking-form{padding-bottom:1.15rem;gap:.9rem}.booking-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.booking-hint{margin:.25rem 0 0;font-size:.85rem}.booking-intro{margin:0;padding:.6rem .75rem;border-radius:8px;background:var(--blue-muted);border:1px solid var(--border);font-size:.92rem}.booking-client-picked{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px}.booking-client-results{list-style:none;margin:.35rem 0 0;padding:0;border:1px solid var(--border);border-radius:8px;max-height:240px;overflow:auto}.booking-client-results button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;width:100%;padding:.5rem .75rem}.booking-client-results li+li{border-top:1px solid var(--border)}.booking-client-results button:hover{background:var(--neutral-bg)}.booking-helpers{border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem}.booking-helpers legend{font-size:.9rem;color:var(--muted);padding:0 4px}.booking-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.booking-consent{padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px}.booking-initials input{max-width:120px;text-transform:uppercase}.booking-slots{display:flex;flex-direction:column;gap:.35rem}.booking-slots-label{font-size:.9rem;color:var(--muted)}.booking-slot-list{display:flex;flex-wrap:wrap;gap:6px}.booking-slot{border:1px solid var(--border);background:transparent;color:inherit;border-radius:999px;padding:4px 10px;cursor:pointer;font-size:.88rem}.booking-slot.is-on{background:var(--orange);border-color:var(--orange);color:var(--text-on-accent)}.booking-actions{display:flex;gap:8px;flex-wrap:wrap}.booking-actions .btn-primary{width:auto}.job-desc-block{margin:.5rem 0 0;white-space:pre-wrap;font-size:.92rem}.cal-week-col.is-bookable{cursor:copy}.cal-week-col.is-bookable .cal-block{cursor:pointer}.cal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.jobs-list-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:.85rem;white-space:pre-line;margin-top:2px}.client-quick-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.client-quick-actions .btn-ghost{text-decoration:none}.client-collapse>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.client-collapse>summary::-webkit-details-marker{display:none}.client-collapse>summary:before{content:"▸";color:var(--muted)}.client-collapse[open]>summary:before{content:"▾"}.client-collapse>summary h2{margin:0;font-size:1.05rem}.client-collapse[open]>summary{margin-bottom:.75rem}.client-current{border-left:3px solid var(--orange)}.client-profile-grid.client-jobber{display:flex;flex-direction:column;gap:12px;max-width:920px}.client-profile-grid.client-jobber>.card{margin:0}.booking-portal-only{margin:8px 0;padding:10px 12px;border-radius:8px;background:var(--orange-muted);font-size:13px;line-height:1.4}.job-action-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 12px}.job-action{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;font-size:18px;background:var(--card)}.job-action span{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.job-action:hover{border-color:var(--orange)}.job-action.disabled{opacity:.4;cursor:not-allowed}.badge-warn{background:var(--orange-muted);color:var(--orange)}.picked-forms{list-style:none;padding:0;margin:6px 0 0}.picked-forms li{padding:3px 0}.pf-done{color:var(--success-solid);font-weight:800}.pf-todo{color:var(--orange);font-weight:800}.cal-kind-legend{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 4px;font-size:12px;font-weight:600}.cal-kind-item{display:inline-flex;align-items:center;gap:6px}.cal-kind-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle}.cal-kind-swatch.big{width:18px;height:18px;border-radius:5px;flex-shrink:0}.cal-add-chooser{max-width:440px}.cal-add-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;margin-bottom:8px;border:1px solid var(--border);border-radius:12px;background:transparent;color:inherit;cursor:pointer}.cal-add-row:hover{border-color:var(--orange)}.cal-add-row strong{display:block;font-size:15px}.cal-add-row .placeholder{display:block;font-size:12px}.seg-row{display:flex;gap:8px;flex-wrap:wrap}.visit-status-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}.visit-status-dot{width:9px;height:9px;border-radius:2px;display:inline-block}.visit-arrival{font-size:12px;color:var(--muted);margin-top:2px}.visit-view-only{margin:8px 0 4px;padding:8px 12px;border-radius:10px;background:var(--orange-muted);border:1px solid rgba(201,67,34,.35);font-size:13px;font-weight:600;line-height:1.4}.seg-row.cal-task-type{flex-wrap:nowrap}.seg-row.cal-task-type>button{flex:1 1 0;width:auto;margin:0}.visit-visits{padding:8px 20px 0}.visit-visits-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;border:1px solid var(--orange);color:var(--orange);background:transparent;font-weight:700;font-size:14px;cursor:pointer;width:auto}.visit-visits-list{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.visit-visits-list li+li{border-top:1px solid var(--border)}.visit-visits-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;background:transparent;border:0;color:inherit;cursor:pointer;margin:0;border-radius:0}.visit-visits-row:hover:not(:disabled){background:#7f7f7f14}.visit-visits-row.is-current{background:#7f7f7f1f;cursor:default}.visit-visits-main{display:flex;flex-direction:column;flex:1;min-width:0}.visit-visits-main .muted{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.texto-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--overlay);display:flex;align-items:flex-end;justify-content:flex-end}.texto-sheet{width:min(440px,100%);max-height:88vh;overflow:auto;background:var(--card);border:1px solid var(--border);border-bottom:0;border-radius:16px 16px 0 0;padding:16px 18px 20px;box-shadow:0 -8px 28px #10182824;display:flex;flex-direction:column}.texto-head{display:flex;align-items:center;justify-content:space-between}.texto-head h2{margin:0;font-size:18px}.texto-to{margin-top:6px;font-weight:600}.texto-loading{margin:12px 0}.texto-recent{margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--input-bg)}.texto-kicker{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:6px}.texto-list{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:6px}.texto-bubble{max-width:85%;padding:8px 10px;border-radius:12px;font-size:14px;white-space:pre-wrap}.texto-bubble.out{align-self:flex-end;background:var(--orange-muted)}.texto-bubble.in{align-self:flex-start;background:var(--card)}.texto-meta{color:var(--muted);font-size:11px;margin-top:3px}.texto-reason{color:var(--orange);font-weight:600;font-size:14px;margin:10px 0 0}.texto-ok{color:var(--success);font-weight:700;font-size:14px;margin:10px 0 0}.texto-input{margin-top:12px;min-height:96px;resize:vertical;border:1px solid var(--border);border-radius:12px;background:var(--input-bg);color:var(--text);font:inherit;font-size:15px;padding:10px 12px}.texto-counter{color:var(--muted);font-size:12px;text-align:right;margin-top:6px}.texto-hint{color:var(--muted);font-size:12px;text-align:right}.texto-send{margin-top:12px;width:100%;padding:12px;font-size:15px}.texto-biz{color:var(--muted);font-size:12px;text-align:center;margin-top:8px}.texto-link{color:var(--blue);font-weight:700;text-align:center;margin-top:10px}button.job-action{font:inherit;font-size:18px;color:inherit;cursor:pointer}.history-readonly{margin:0 0 12px;padding:8px 12px;border-radius:var(--radius);background:var(--blue-muted);color:var(--text);font-size:.88rem}.history-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.history-filters .chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--input-bg);color:var(--muted);border-radius:999px;padding:4px 10px;font:inherit;font-size:.82rem;cursor:pointer}.history-filters .chip.active{color:var(--text);border-color:var(--orange);background:var(--orange-muted)}.history-year{margin:14px 0 6px;font-size:.95rem;color:var(--muted)}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.history-row{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--input-bg)}.history-row-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.history-source{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px}.history-source-jobber{background:var(--success-bg);color:var(--success)}.history-source-podium{background:var(--blue-muted);color:var(--blue)}.history-ref,.history-date{color:var(--muted);font-size:.85rem}.history-amount{margin-left:auto;font-weight:700}.history-status{font-size:.78rem;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:1px 6px}.history-title{margin-top:4px}.history-body{margin-top:4px;white-space:pre-wrap;font-size:.9rem}.history-actions{display:flex;gap:8px;margin-top:8px}.visit-plus-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chip.chip-on{background:var(--blue);border-color:var(--blue);color:var(--text-on-accent)}.visit-link-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}.visit-link-row .visit-visits-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.visit-link-row>button{flex:0 0 auto;width:auto}.visit-plus-note{font:inherit}.visit-unlink{margin-top:8px;font-size:.85rem}.cal-hist-row{display:grid;border-bottom:1px solid var(--border);background:repeating-linear-gradient(135deg,rgba(95,107,122,.05) 0 6px,transparent 6px 12px),var(--input-bg)}.cal-hist-gutter{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);padding:6px 0;text-align:center;white-space:nowrap}.cal-hist-col{display:flex;flex-direction:column;gap:3px;padding:4px;border-right:1px solid var(--border);min-width:0}.cal-hist-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;min-width:0;padding:3px 6px;border:1px dashed rgba(95,107,122,.55);border-radius:6px;background:#5f6b7a1a;color:var(--muted);font:inherit;font-size:11px;line-height:1.25;text-align:left;cursor:pointer}.cal-hist-chip:hover{background:#5f6b7a2e;color:var(--text)}.cal-hist-chip-client,.cal-hist-chip-meta{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-hist-chip-client{font-weight:600}.cal-hist-chip-meta{font-size:10px;opacity:.85}.cal-hist-more{border:none;background:transparent;color:var(--muted);font-size:10.5px;text-align:left;padding:0 4px;cursor:pointer;text-decoration:underline}.cal-dot--hist{background:transparent!important;border:1.5px solid var(--muted);box-sizing:border-box}.cal-month-hist{display:flex;align-items:center;gap:3px;min-height:6px}.cal-month-hist-n{font-size:9px;color:var(--muted);line-height:1}.cal-hist-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-end;padding:.4rem .7rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer;width:auto}.cal-hist-toggle.is-on{color:var(--text);border-color:var(--muted);background:#5f6b7a1f}.cal-hist-swatch{background:#5f6b7a33;border:1.5px dashed var(--muted);box-sizing:border-box}.hist-visit{gap:1rem}.hist-banner{margin:0;padding:10px 12px;border-radius:var(--radius);border:1px dashed rgba(95,107,122,.6);background:#5f6b7a1a;color:var(--text);font-size:.88rem}.hist-head-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hist-tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:1px 8px}.hist-title{margin:8px 0 4px;font-size:1.05rem;color:var(--text-strong, var(--text))}.hist-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:.88rem}.hist-client{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hist-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.hist-chip-tech{padding:3px 10px;border-radius:999px;background:var(--blue-muted);color:var(--text);font-size:.85rem}.hist-chip-tech.is-past{background:#5f6b7a24;color:var(--muted)}.hist-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:.9rem}.hist-lines li{padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg)}.hist-inv{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hist-inv-amt{margin-left:auto}.hist-related{border:none;background:transparent;color:var(--blue);font:inherit;padding:0;cursor:pointer;text-align:left}.rpt-controls{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.rpt-chips{display:flex;flex-wrap:wrap;gap:6px}.rpt-chip{width:auto;padding:.38rem .8rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font:inherit;font-size:.86rem;cursor:pointer}.rpt-chip.is-on{color:var(--text);border-color:var(--blue);background:var(--blue-muted);font-weight:600}.rpt-dates{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.rpt-dates .field{margin:0;min-width:150px}.rpt-seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-left:auto}.rpt-seg-btn{width:auto;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.84rem;padding:.45rem .75rem;cursor:pointer}.rpt-seg-btn+.rpt-seg-btn{border-left:1px solid var(--border)}.rpt-seg-btn.is-on{background:var(--blue-muted);color:var(--text);font-weight:600}.rpt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px}.rpt-kpis.is-stale{opacity:.55}.rpt-kpi{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--input-bg);display:flex;flex-direction:column;gap:2px}.rpt-kpi span{color:var(--muted);font-size:.78rem}.rpt-kpi strong{font-size:1.25rem}.rpt-kpi.is-sold strong,.rpt-sold,.rpt-qs .is-sold strong{color:var(--success)}.rpt-table th.num,.rpt-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.rpt-table tfoot td{font-weight:700;border-top:2px solid var(--border);border-bottom:none}.rpt-name{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.rpt-hist{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px dashed var(--muted);border-radius:999px;padding:0 6px}.rpt-est{font-size:.62rem;color:var(--muted);margin-left:2px;font-weight:600}.rpt-foot{margin-top:12px;display:flex;flex-direction:column;gap:6px}.rpt-note{margin:0;color:var(--muted);font-size:.8rem}.rpt-foot-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.rpt-excluded{font-size:.82rem;color:var(--muted)}.rpt-excluded summary{cursor:pointer}.rpt-excluded ul{margin:6px 0 0;padding-left:18px}.rpt-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rpt-cardrow{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--input-bg)}.rpt-cardrow.is-total{border-color:var(--blue);background:var(--blue-muted)}.rpt-cardrow-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-weight:600}.rpt-cardrow-head strong{font-size:1.05rem}.rpt-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:8px 0 0}.rpt-dl--4{grid-template-columns:repeat(4,minmax(0,1fr))}.rpt-dl div{display:flex;flex-direction:column}.rpt-dl dt{color:var(--muted);font-size:.72rem}.rpt-dl dd{margin:0;font-variant-numeric:tabular-nums}.rpt-qs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.rpt-qs div{display:flex;flex-direction:column}.rpt-qs span{color:var(--muted);font-size:.72rem}.rpt-conv{color:var(--muted);font-size:.85rem}@media(max-width:700px){.rpt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rpt-kpi strong{font-size:1.05rem}.rpt-seg{margin-left:0;width:100%}.rpt-seg-btn{flex:1;padding:.45rem .4rem;font-size:.78rem}.rpt-dates .field{flex:1;min-width:0}}.est-table tr.est-group-head{cursor:default}.est-table tr.est-group-head:hover{background:transparent}.est-table tr.est-group-head td{padding-top:.75rem;padding-bottom:.3rem;border-bottom:none}.est-group-head-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.est-group-badge{font-size:.72rem;font-weight:700;color:var(--blue);background:var(--blue-muted);border-radius:999px;padding:1px 8px;white-space:nowrap}.est-group-addr{font-size:.85rem}.est-table tr.est-row-option td{border-bottom:none;padding-top:.35rem;padding-bottom:.35rem}.est-table tr.est-row-option td:first-child{box-shadow:inset 3px 0 0 var(--blue-muted);padding-left:.9rem}.est-table tr.est-row-option-last td{border-bottom:1px solid var(--border);padding-bottom:.6rem}.est-option-label{color:var(--muted);font-weight:600;font-size:.88rem}.est-pill-test{background:var(--neutral-bg);color:var(--muted);border:1px dashed var(--muted)}.est-test-link{display:inline-block;margin-top:6px;padding:0;border:none;background:transparent;width:auto;color:var(--muted);font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}.est-test-note{font-size:.82rem}@media(max-width:700px){.est-table tr.est-group-head{display:block;padding:.85rem .25rem .2rem;border-bottom:none}.est-table tr.est-group-head td{display:block;padding:0}.est-table tr.est-group-head td:nth-child(1){color:var(--text);font-size:1rem}.est-table tr.est-row-option{grid-template-areas:"client total" "num status";margin-left:.25rem;padding:.5rem .25rem .5rem .75rem;border-bottom:none;border-left:3px solid var(--blue-muted)}.est-table tr.est-row-option td:first-child{box-shadow:none;padding-left:0}.est-table tr.est-row-option td:nth-child(5),.est-table tr.est-row-option td:nth-child(6){display:none}.est-table tr.est-row-option-last{border-bottom:1px solid var(--border);margin-bottom:.1rem;padding-bottom:.7rem}.est-table tr.est-row-option td{padding:0;border:none}}.est-group-date:before{content:"· "}@media(max-width:700px){.est-group-date:before{content:""}.est-group-head-in{row-gap:2px}.est-table tr.est-row-option .est-sub{display:none}}.job-edit-btn{width:auto}.job-edit-blocked{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;background:var(--danger-bg);border:1px solid var(--danger-border);font-size:.92rem;line-height:1.4}.job-edit-blocked .btn-ghost{text-decoration:none}.cal-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:80;max-width:min(560px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:var(--danger);color:var(--text-on-accent);box-shadow:0 8px 24px #10182824;font-size:.92rem;line-height:1.4}.cal-toast button{all:unset;cursor:pointer;font-weight:700;padding:0 4px}.cal-dtb{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cal-dtb-nav,.cal-dtb-right{display:flex;align-items:center;gap:6px}.cal-dtb .cal-period-title{min-width:0;margin:0 6px 0 4px;font-size:1.1rem;text-transform:capitalize}.cal-dtb-icon,.cal-dtb-btn,.cal-dtb .cal-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;width:auto;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.84rem;font-weight:600;white-space:nowrap;cursor:pointer}.cal-dtb-icon{width:32px;padding:0;font-size:1.2rem;line-height:1}.cal-dtb .cal-icon-btn{width:32px;padding:0;color:var(--muted);font-size:1rem}.cal-dtb-icon:hover,.cal-dtb-btn:hover:not(:disabled),.cal-dtb .cal-icon-btn:hover:not(:disabled){background:var(--blue-muted)}.cal-dtb-btn:disabled{opacity:.45;cursor:default}.cal-dtb-btn.is-on{background:var(--blue-muted);border-color:var(--blue)}.cal-dtb-btn.is-active{border-color:var(--orange);color:var(--orange)}.cal-dtb-btn.is-primary{background:var(--orange);border-color:var(--orange);color:var(--text-on-accent)}.cal-dtb-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--orange);color:var(--text-on-accent);font-size:.7rem;font-weight:700}.cal-dtb-seg{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:8px}.cal-dtb-seg button{height:26px;width:auto;padding:0 12px;border:none;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.cal-dtb-seg button:hover{color:var(--text)}.cal-dtb-seg button.is-active{background:var(--orange);color:var(--text-on-accent)}.cal-dtb-pop-wrap{position:relative}.cal-dtb-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:260px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--card);box-shadow:0 10px 28px #10182824}.cal-dtb-pop-fields{display:flex;flex-direction:column;gap:10px}.cal-dtb-pop-fields .cal-filter select{width:100%;min-width:0}.cal-dtb-pop-fields .cal-hist-toggle{align-self:flex-start}.cal-dtb-pop-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px}.cal-week-daymeta{opacity:.8}.cal-legends{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin-top:10px;color:var(--muted)}.cal-legends .cal-kind-legend{margin:0;font-weight:500}.cal-legends .jm-legend{margin:0}.cal-standby.card .cal-standby-head{margin-bottom:10px}.cal-standby.card .cal-standby-chip{background:transparent;padding:8px 10px}.cal-standby.card .cal-standby-chip-body strong{font-size:.88rem}.cal-standby.card .cal-standby-chip-body .placeholder{font-size:.8rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cal-standby.card .cal-standby-note{margin:10px 0 0;font-size:.75rem}.cal-standby-link{display:inline-block;margin-top:8px;font-size:.82rem;font-weight:600;color:var(--muted);text-decoration:none}.cal-standby-link:hover{color:var(--text)}.est-composer.inv-dialog{width:min(560px,100%)}.inv-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:.9rem 1.25rem;border-top:1px solid var(--border)}.inv-dialog-amount{display:flex;justify-content:space-between;align-items:baseline;font-size:1.05rem}.inv-method-picker{border:0;margin:0;padding:0;display:grid;gap:6px}.inv-method-picker legend{font-weight:600;margin-bottom:6px}.inv-method-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:var(--input-bg)}.inv-method-option.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.inv-dialog-hint{margin:0;font-size:.86rem}.inv-dialog-hint-warn{padding:8px 10px;border-radius:8px;background:var(--warning-bg)}.inv-text-lines{display:flex;flex-direction:column;gap:10px;padding-bottom:1rem}.inv-text-line{display:flex;flex-direction:column;gap:6px;padding:10px 12px}.inv-text-line-head{display:flex;justify-content:space-between;font-size:.85rem}.inv-text-line-amount{color:var(--muted)}.inv-channel-picker{display:flex;gap:6px;flex-wrap:wrap}.inv-resend-summary{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.inv-resend-summary dt{color:var(--muted)}.inv-resend-summary dd{margin:0;word-break:break-word}.inv-client-note{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:var(--input-bg);white-space:pre-wrap;font-size:.9rem}.inv-dialog textarea{font:inherit}.inv-channel-picker>button{flex:1}.inv-guidance{margin:0 0 8px;padding:10px 12px;border-radius:8px;border-left:4px solid var(--orange);background:var(--orange-muted);font-size:.9rem;font-weight:600;line-height:1.4}.inv-text-locked-title{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:6px;background:var(--input-bg);border:1px dashed var(--border)}.inv-text-locked-title strong{font-weight:600}.inv-reason-field textarea{border-color:var(--orange)}.inv-reason-field small{font-size:.78rem}.inv-history{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.inv-history-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.inv-history-head h3{margin:0;font-size:.98rem}.inv-history-original{width:auto;padding:.35rem .7rem;font-size:.85rem}.inv-history-kept{margin:4px 0 8px;font-size:.8rem}.inv-history-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.inv-history-item{padding:8px 10px;border-radius:8px;background:var(--input-bg);border-left:3px solid var(--blue)}.inv-history-item.is-override{border-left-color:var(--danger)}.inv-history-meta{display:flex;flex-direction:column;gap:2px;font-size:.86rem}.inv-history-diff{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;font-size:.84rem}.inv-history-diff del{color:var(--danger);text-decoration:line-through;white-space:pre-wrap;display:block}.inv-history-diff ins{color:var(--success);text-decoration:none;white-space:pre-wrap;display:block}.inv-history-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.inv-history-reason{margin:6px 0 0;font-size:.84rem;font-style:italic}.inv-override-btn{width:auto;margin-top:8px;border:1px solid var(--danger-border);color:var(--danger)}.inv-override-warn{margin:0 0 8px;padding:10px 12px;border-radius:8px;background:var(--danger-bg);color:var(--text)}.btn-danger{border:none;background:var(--danger-solid);color:var(--text-on-accent);border-radius:8px;padding:.7rem 1rem;font-weight:600;cursor:pointer}.btn-danger:disabled{opacity:.6;cursor:default}.inv-amounts-locked{margin:6px 0 0;font-size:.85rem}.cat-ta{position:relative;width:100%}.cat-ta>input{width:100%}.cat-ta-list{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:var(--card, #fff);border:1px solid var(--border, #d0d5dd);border-radius:10px;box-shadow:0 10px 28px #0f172a29;max-height:320px;overflow-y:auto}.cat-ta-list li{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:8px;cursor:pointer;min-height:44px;justify-content:center}.cat-ta-list li.on,.cat-ta-list li:hover{background:var(--surface-2, #f1f5f9)}.cat-ta-name{font-weight:600;font-size:15px;color:var(--text, #111827)}.cat-ta-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px;color:var(--muted, #475467)}.cat-ta-kind{font-weight:600}.cat-ta-price{margin-left:auto;font-weight:600;color:var(--text, #111827)}.enroute-eta{margin:10px 0 4px}.enroute-chips{display:flex;flex-wrap:wrap;gap:8px}.enroute-chip{min-width:72px;padding:9px 14px;border-radius:999px;border:1px solid var(--border-strong, #cbd3de);background:var(--card, #fff);color:var(--text);font-size:15px;font-weight:600;cursor:pointer}.enroute-chip.on{background:var(--orange, #c94322);border-color:var(--orange, #c94322);color:#fff}.enroute-chip:disabled{opacity:.6;cursor:default}.enroute-custom{display:flex;align-items:center;gap:8px;margin-top:8px}.enroute-custom input{width:90px;padding:8px 10px;font-size:16px;border-radius:8px;border:1px solid var(--border-strong, #cbd3de)}.enroute-text{margin-top:10px;max-width:100%}.inv-ledger{margin:12px 0;padding:14px 16px}.inv-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.inv-ledger-head h3{margin:0;font-size:1rem}.inv-ledger-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.inv-ledger-sum>div{display:flex;flex-direction:column;gap:2px}.inv-ledger-sum strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.inv-ledger-due{color:var(--danger, #b42318)}.inv-ledger-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.inv-ledger-list li{border:1px solid var(--border, #e4e7ec);border-radius:8px;padding:8px 10px}.inv-ledger-list li.is-deleted{opacity:.6}.inv-ledger-list li.is-deleted .inv-ledger-row-main{text-decoration:line-through}.inv-ledger-row-main{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.inv-ledger-day{min-width:92px;color:var(--muted, #667085)}.inv-ledger-method{flex:1}.inv-ledger-amt{font-variant-numeric:tabular-nums}.inv-ledger-note{font-size:.85em;margin-top:2px}.inv-ledger-sync{font-size:.8em;margin-top:4px;color:var(--muted, #667085)}.inv-ledger-sync.is-manual_needed,.inv-ledger-sync.is-failed{color:var(--danger, #b42318);font-weight:600}.inv-ledger-actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.inv-ledger-foot{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.btn-sm{padding:4px 10px;font-size:.85em}.field-inline{display:flex;gap:8px;align-items:center;margin-top:6px}.inv-dialog-warn{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:var(--warning-muted, #fff4d6);color:var(--text, #3b2f00);font-size:13px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-tap-highlight-color:rgba(232,87,52,.15);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body.no-scroll{overflow:hidden}img,video{max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar{position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;flex-shrink:0;width:232px}.nav-link{display:flex;align-items:center;gap:.7rem;min-height:42px}.nav-icon{flex-shrink:0;opacity:.9}button.nav-link{width:100%;border:none;background:transparent;font:inherit;text-align:left;cursor:pointer}.main{min-width:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);cursor:pointer;padding:0;flex-shrink:0}.icon-btn:hover,.icon-btn:focus-visible{color:var(--orange);border-color:var(--orange);outline:none}.topbar-menu,.topbar-logo{display:none}.topbar-gear svg{width:20px;height:20px}.bottom-bar{display:none}.nav-drawer-backdrop,.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:90}.nav-drawer{position:absolute;top:0;bottom:0;left:0;width:min(320px,86vw);background:var(--sidebar);border-right:1px solid var(--border);padding:calc(env(safe-area-inset-top) + 1rem) 1rem calc(env(safe-area-inset-bottom) + 1rem) calc(env(safe-area-inset-left) + 1rem);display:flex;flex-direction:column;gap:1rem;overflow-y:auto;animation:drawer-in .16s ease-out}.nav-drawer nav{display:flex;flex-direction:column;gap:.2rem}.nav-drawer .nav-link{min-height:48px;font-size:1.02rem}.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.nav-drawer-head .sidebar-logo{max-width:150px}.nav-drawer-user{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border:1px solid var(--border);border-radius:12px;background:var(--card)}.nav-drawer-signout{margin-top:auto;color:var(--muted)}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:none}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}.sheet-backdrop{display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(520px,100%);background:var(--card);border:1px solid var(--border);border-bottom:none;border-radius:18px 18px 0 0;padding:.6rem 1rem calc(env(safe-area-inset-bottom) + 1rem);animation:sheet-in .17s ease-out;max-height:90dvh;overflow-y:auto}@media(min-width:701px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px;border-bottom:1px solid var(--border)}}.sheet-grabber{width:40px;height:5px;border-radius:999px;background:var(--border);margin:0 auto .6rem}.sheet-title{margin:0 0 .75rem;font-size:1.1rem;text-align:center}.sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.sheet-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;min-height:92px;padding:.75rem;border-radius:14px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-align:center}.sheet-action:active,.sheet-action:hover{border-color:var(--orange);background:var(--orange-muted)}.sheet-action-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:var(--orange-muted);color:var(--orange)}.sheet-cancel{width:100%;margin-top:.75rem;min-height:48px}.seg-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.seg{min-height:44px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.seg.active{border-color:var(--orange);background:var(--orange-muted);color:var(--orange)}.expense-form{gap:.9rem}.expense-form .field input,.expense-form .field select,.expense-form .field textarea{width:100%;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:.65rem .75rem;font:inherit}.expense-receipt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer}.expense-receipt-preview{max-height:180px;width:auto;border-radius:10px;border:1px solid var(--border);object-fit:contain;align-self:flex-start}@media(hover:none)and (pointer:coarse),(max-width:1023px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}.btn-primary,.btn-ghost,.chip,.field input,.field select{min-height:44px}.topbar-search-field input{font-size:16px!important}}@media(max-width:1023px){.app-shell>.sidebar{display:none}.topbar{display:flex;grid-template-columns:none;grid-template-areas:none;align-items:center;gap:.6rem;padding:calc(env(safe-area-inset-top) + .55rem) .9rem .55rem}.topbar-left{display:flex!important;gap:.5rem;flex-shrink:0}.topbar-menu,.topbar-logo{display:inline-flex;align-items:center}.topbar-logo img{height:30px;width:auto}.topbar-center{flex:1;min-width:0}.topbar-right{flex-shrink:0}.topbar-search-field{min-height:44px}.main{padding:1.25rem 1.25rem 2rem}}@media(max-width:700px){.topbar-account-name,.topbar-account .badge,.topbar-gear,.topbar-logo{display:none}.main{padding:1rem .9rem calc(84px + env(safe-area-inset-bottom))}.page-title{font-size:1.35rem}.page-sub{font-size:.92rem;margin-bottom:1rem}.card{padding:1rem;border-radius:12px}.bottom-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--card);border-top:1px solid var(--border);padding:.35rem calc(env(safe-area-inset-right) + .25rem) calc(env(safe-area-inset-bottom) + .35rem) calc(env(safe-area-inset-left) + .25rem);box-shadow:0 -6px 18px #10182824}.bottom-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:.2rem .1rem;border:none;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;border-radius:10px}.bottom-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-tab.active{color:var(--orange)}.bottom-tab .nav-icon{width:24px;height:24px}.bottom-plus{justify-self:center;align-self:center;width:54px;height:54px;border-radius:999px;border:none;background:var(--orange);color:var(--text-on-accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #e8573473;cursor:pointer;margin-top:-18px}.bottom-plus .nav-icon{width:28px;height:28px}.wb-drawer{width:100%;border-left:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.wb-drawer-backdrop{z-index:95}.wb-drawer-body{padding:1rem 1rem calc(2rem + env(safe-area-inset-bottom))}}.chip{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.chip:hover{border-color:var(--blue);color:var(--blue)}.btn-ghost:disabled{opacity:.55;cursor:default}.wb-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.wb-section-head h3{margin:0}.wb-section-head .btn-ghost{width:auto;padding:.35rem .75rem;font-size:.85rem}.jobs-date-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.jobs-date-bar .btn-ghost{width:auto}.jobs-date-field{margin:0}.jobs-date-field input{background:var(--input-bg);min-height:44px}.jobs-date-bar .icon-btn{font-size:1.5rem;line-height:1}.jobs-day-heading{display:flex;align-items:center;gap:.5rem}.jobs-day-label:first-letter{text-transform:uppercase}.jobs-list-when{display:none}.job-address-link{color:var(--blue);text-decoration:underline;text-underline-offset:3px;word-break:break-word}.job-timer{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;padding:.75rem;margin:0 0 .9rem;border:1px solid var(--border);border-radius:12px;background:var(--input-bg)}.job-timer--on{border-color:var(--success);background:var(--success-bg)}.job-timer-clock{font-weight:700;font-variant-numeric:tabular-nums;color:var(--success);flex:1}.job-timer-note{flex:1 1 100%;font-size:.85rem}.job-timer .job-timer-btn{width:auto;min-width:11rem;min-height:44px}.expense-modal-backdrop{z-index:110}@media(max-width:700px){.jobs-date-bar{display:grid;grid-template-columns:44px 1fr 44px;gap:.5rem}.jobs-date-field input{width:100%}.jobs-today{grid-column:1 / 3}.jobs-refresh{grid-column:3 / 4;padding:0;font-size:0}.jobs-refresh:before{content:"↻";font-size:1.25rem}.jobs-list-item{display:grid;grid-template-columns:3.6rem minmax(0,1fr) auto;align-items:start;gap:.6rem;flex-wrap:nowrap}.jobs-list-when{display:block;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);padding-top:.1rem;white-space:nowrap}.jobs-list-meta{align-items:flex-end}.jobs-list-time{display:none}.jobs-list-item strong{font-size:1.02rem}.job-timer .job-timer-btn{width:100%}.wb-drawer-actions .btn-primary,.wb-drawer-actions .btn-ghost,.wb-drawer-actions a.btn-primary{min-height:44px;padding:.55rem .9rem;font-size:.92rem;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center}.wb-drawer-meta>div{grid-template-columns:6.2rem minmax(0,1fr)}}.table-scroll--fit .data-table,.table-scroll--fit .inv-table{min-width:0}.cal-view-toggle .btn-primary,.cal-view-toggle .btn-ghost{width:auto}@media(max-width:1023px){.cal-filter select{min-height:44px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;padding:0 .5rem}.cal-view-toggle .btn-primary,.cal-view-toggle .btn-ghost{min-height:40px}}@media(max-width:700px){.cal-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center}.cal-period-title{min-width:0;text-align:center;font-size:1.02rem;order:0}.cal-nav>*:nth-child(n+4){grid-column:1 / -1}.cal-nav-btn{min-height:44px}.cal-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cal-filter select{min-width:0;width:100%}.cal-view-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.cal-view-toggle .cal-standby-toggle{grid-column:1 / -1}.cal-view-toggle .btn-primary,.cal-view-toggle .btn-ghost{width:100%;min-height:44px}.cal-toolbar-card{padding:.85rem}}@media(max-width:700px){.cal-top--phone{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.cal-top--phone .page-title{margin:0}.cal-top-actions{display:flex;align-items:center;gap:.4rem}.cal-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;padding:0;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.cal-icon-btn:disabled{opacity:.6}.cal-live-compact{font-size:1rem;color:var(--muted)}.cal-chip{display:inline-flex;align-items:center;gap:.35rem;height:34px;flex:none;padding:0 .75rem;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font:inherit;font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer}.cal-chip.is-active{border-color:var(--orange);background:var(--orange-muted);color:var(--orange)}.cal-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--orange);color:var(--text-on-accent);font-size:.7rem;font-weight:700}.cal-toolbar-card{padding:.6rem}.cal-ptb{display:flex;flex-direction:column;gap:.5rem}.cal-ptb-nav,.cal-ptb-row{display:flex;align-items:center;gap:.4rem}.card h2.cal-ptb-title,.cal-ptb-title{flex:1 1 auto;min-width:0;margin:0;font-size:.98rem;font-weight:650;text-align:center;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-seg{flex:1 1 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--input-bg)}.cal-seg-btn{height:30px;min-width:0;padding:0 .4rem;border:none;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.cal-seg-btn.is-active{background:var(--orange);color:var(--text-on-accent)}.cal-filters-btn svg{flex:none}.cal-toolbar-card .cal-week,.cal-toolbar-card .cal-month{margin-top:.6rem}.cal-filter-sheet-fields{display:flex;flex-direction:column;gap:.75rem}.cal-filter-sheet-fields .cal-filter select{width:100%;min-width:0}.cal-filter-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}.cal-filter-sheet-actions .btn-ghost:disabled{opacity:.5;cursor:default}.cal-standby--inline{position:static;margin-top:.6rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);max-height:40dvh;overflow-y:auto}.cal-standby--inline .cal-standby-head h2{font-size:.95rem}.cal-standby--inline .cal-standby-head .btn-ghost{min-height:32px;padding:.2rem .6rem}.cal-standby--inline .cal-standby-sort{margin-bottom:.5rem}.cal-standby--inline .cal-standby-note{margin-top:.5rem}.cal-standby--inline>.btn-ghost{min-height:34px;padding:.25rem .75rem;font-size:.85rem}}@media(max-width:700px){.est-page-header{align-items:stretch}.est-page-header .est-btn-new{width:100%;min-height:48px}.est-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.est-toolbar>*{min-width:0!important}.est-search-field{grid-column:1 / -1}.est-list-card{padding:.25rem .75rem}.est-table thead{display:none}.est-table,.est-table tbody{display:block;width:100%}.est-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"client total" "num status" "date extra";gap:.2rem .75rem;padding:.8rem .25rem;border-bottom:1px solid var(--border)}.est-table tr:last-child{border-bottom:none}.est-table td{border:none;padding:0;min-width:0}.est-table td:nth-child(1){grid-area:num;color:var(--muted);font-size:.85rem}.est-table td:nth-child(2){grid-area:status;justify-self:end}.est-table td:nth-child(3){grid-area:client}.est-table td:nth-child(4){grid-area:total;justify-self:end;font-weight:700}.est-table td:nth-child(5){grid-area:date;color:var(--muted);font-size:.85rem}.est-table td:nth-child(6){grid-area:extra;justify-self:end;color:var(--muted);font-size:.85rem}.est-client-cell{font-weight:600}}@media(max-width:700px){.rt-cards thead{display:none}.rt-cards,.rt-cards tbody,.rt-cards tr,.rt-cards td{display:block;width:100%}.rt-cards>tbody>tr{position:relative;border:1px solid var(--border);border-radius:12px;padding:.7rem .8rem;margin-bottom:.6rem;background:var(--input-bg)}.rt-cards td{border:none!important;padding:.18rem 0!important}.rt-cards td[data-label]{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;text-align:right}.rt-cards td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.8rem;text-align:left;flex-shrink:0}.rt-cards td.rt-title{padding-right:3rem!important}.rt-cards td.rt-toggle{position:absolute;top:.45rem;right:.45rem;width:auto}.rt-cards td.rt-toggle .btn-ghost{min-width:40px;min-height:40px}.rt-cards td:empty{display:none}.rt-cards .inv-row-actions{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.5rem!important}.rt-cards .inv-row-actions:not(:has(button)){display:none}}@media(max-width:1023px){.est-composer{max-height:calc(100dvh - 32px)}}@media(max-width:700px){.est-composer-backdrop{padding:0;z-index:100}.est-composer{width:100%;max-height:none;height:100%;height:100dvh;margin:0;border-radius:0;border:none;padding-top:env(safe-area-inset-top)}.est-composer-header{padding:.75rem 1rem}.est-composer-header h2{font-size:1.1rem}.est-composer-body{padding:1rem 1rem 0}.est-composer-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-wrap:wrap}.est-composer-footer .btn-primary,.est-composer-footer .btn-ghost{flex:1 1 auto;min-height:48px}.est-line-top{grid-template-columns:1fr 1fr!important}.est-line-top>:first-child{grid-column:1 / -1}.est-detail-drawer{width:100%}}@media(max-width:700px){.job-hub-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.25rem}.job-hub-tabs::-webkit-scrollbar{display:none}.job-hub-tab{flex:0 0 auto;white-space:nowrap;min-height:40px}}@media(max-width:700px){.invite-form{grid-template-columns:1fr!important}.invite-form .btn-primary{width:100%}.field input,.field select,.field textarea{max-width:100%}}@media(max-width:700px){.est-table td[data-label]:before{content:attr(data-label) " : "}}.copy-link-box{display:flex;flex-direction:column;gap:8px;margin:12px 0}.copy-link-input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);color:inherit;text-overflow:ellipsis}.copy-link-box .btn-inline{align-self:flex-start}.pending-invites{margin:20px 0 8px}.pending-invites h3{margin:0 0 4px;font-size:15px}.pending-invite-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pending-invite-main{min-width:0;flex:1 1 240px}.pending-invite-email{overflow-wrap:anywhere}.pending-invite-expired{color:var(--danger)}.pending-invite-actions,.team-row-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-danger-text{color:var(--danger)}.reset-link{margin-top:8px}.change-password-form{max-width:420px}.login-forgot{margin-top:14px;text-align:center;font-size:14px}.login-link-btn{display:inline-flex;justify-content:center;margin-top:12px;text-decoration:none}@media(max-width:700px){.pending-invite-actions,.team-row-actions{width:100%}.pending-invite-actions>button{flex:1 1 0}.reset-link>.btn-ghost{width:100%}.change-password-form{max-width:none}}.team-members-title{margin:24px 0 4px;font-size:15px;padding-top:16px;border-top:1px solid var(--border)}.pending-invites{padding-top:16px;border-top:1px solid var(--border)}.bb-page{max-width:640px}.bb-back{margin:0 0 .5rem;font-size:.9rem}.bb-back a{color:var(--muted);text-decoration:none}.bb-section{margin:1rem 0 .4rem;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bb-preview{display:grid;align-items:end;max-width:420px;padding:1.1rem .1rem .35rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:14px;background:var(--card)}.bb-preview .bottom-tab{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;min-height:48px;justify-content:center;color:var(--muted);font-size:.6rem;font-weight:600;letter-spacing:-.01em}.bb-preview .bottom-tab>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-preview .bottom-plus{justify-self:center;align-self:center;width:42px;height:42px;margin-top:-14px;border-radius:999px;background:var(--orange);color:var(--text-on-accent);display:inline-flex;align-items:center;justify-content:center}.bb-card{margin-bottom:16px}.bb-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.45rem}.bb-row{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.45rem .55rem;border:1px solid var(--border);border-radius:12px}.bb-row-on{border-color:var(--orange)}.bb-icon{display:inline-flex;color:var(--muted)}.bb-row-on .bb-icon{color:var(--orange)}.bb-label{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bb-order{width:34px;height:34px}.bb-order:disabled{opacity:.3}.bb-action{padding:.35rem .7rem;font-size:.85rem}.bb-action:disabled{opacity:.4;cursor:default;background:var(--card);color:var(--text)}.bb-open-link{display:inline-block;font-size:.875rem;text-decoration:none}.bb-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1.5rem}@media(min-width:701px){.nav-drawer-customize{display:none}}@media(max-width:700px){.bottom-bar.bottom-bar-cols-6 .bottom-tab{padding-left:0;padding-right:0;font-size:.64rem;letter-spacing:-.01em}.bottom-bar.bottom-bar-cols-6 .bottom-plus{width:50px;height:50px}}@media(max-width:374px){.bottom-bar.bottom-bar-cols-6{--bb-plus-col: 50px}.bottom-bar.bottom-bar-cols-6 .bottom-tab{font-size:.6rem;letter-spacing:-.02em}.bottom-bar.bottom-bar-cols-6 .bottom-plus{width:46px;height:46px}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px}.main{padding:1.5rem 2rem 2.5rem}.page-title{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;color:var(--text-strong);margin:0 0 .25rem}.page-sub{font-size:.92rem;margin:0 0 1.25rem;max-width:70ch}.card{padding:1.1rem 1.25rem;margin-bottom:1rem}.card h2{color:var(--text-strong);font-size:1rem;font-weight:650;letter-spacing:.005em}.card h3{font-size:.95rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:1.25rem;flex-wrap:wrap}.page-header-text{min-width:0;flex:1 1 320px}.page-header-back{margin-bottom:var(--space-2)}.page-header-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.page-header-actions .btn-primary,.btn-auto{width:auto;padding:.55rem 1.05rem;white-space:nowrap}.btn-icon{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 .6rem;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:1.05rem;line-height:1;cursor:pointer}.btn-icon:hover{background:var(--blue-muted);color:var(--blue)}.btn-icon:disabled{opacity:.6;cursor:not-allowed}.btn-link{border:none;background:none;color:var(--blue);padding:0;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}.btn-ghost.btn-sm,.btn-sm{padding:.3rem .7rem;font-size:.85rem}.overflow-menu{position:relative;display:inline-block}.overflow-menu-list{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-pop);padding:6px;z-index:60;display:flex;flex-direction:column}.overflow-menu-list.left{right:auto;left:0}.overflow-menu-list>button,.overflow-menu-list>a{text-align:left;background:none;border:none;color:var(--text);padding:.55rem .7rem;border-radius:7px;font:inherit;font-size:.92rem;cursor:pointer}.overflow-menu-list>button:hover,.overflow-menu-list>a:hover{background:var(--blue-muted)}.overflow-menu-list>.danger{color:var(--danger)}.overflow-menu-list>button:disabled{opacity:.5;cursor:not-allowed}.search-input{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--border);background:var(--input-bg);border-radius:9px;padding:0 .75rem;min-height:42px;flex:1;min-width:220px}.search-input>span{color:var(--muted);font-size:1.1rem}.search-input input{flex:1;border:none;background:transparent;color:var(--text);font-size:.95rem;outline:none;padding:.55rem 0;min-width:0}.search-input:focus-within{border-color:var(--blue)}.list-toolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.list-toolbar .list-count{color:var(--muted);font-size:.88rem;white-space:nowrap}.list-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}.list-table{width:100%;border-collapse:collapse;font-size:.93rem}.list-table th{text-align:left;font-size:.75rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.7rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap}.list-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}.list-table tbody tr:last-child td{border-bottom:none}.list-table tbody tr.clickable{cursor:pointer}.list-table tbody tr.clickable:hover td{background:var(--row-hover)}.list-table .cell-strong{font-weight:600;color:var(--text-strong)}.list-table .cell-sub{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.list-table .cell-muted{color:var(--muted)}.list-table .cell-actions{width:1%;white-space:nowrap;text-align:right}.list-table a.cell-link:hover{color:var(--blue);text-decoration:underline}.visit-next{color:var(--blue);font-weight:600}.empty-state{text-align:center;padding:2.5rem 1rem}.empty-state-icon{font-size:2rem;color:var(--muted);opacity:.7}.empty-state-title{margin:.5rem 0 .25rem;font-weight:650;color:var(--text-strong)}.empty-state-hint{margin:0;color:var(--muted);font-size:.9rem}.empty-state-action{margin-top:var(--space-4)}.form-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:.9rem 1rem!important;padding-bottom:1.1rem}.form-grid .span-2{grid-column:1 / -1}.form-hint{margin:0;color:var(--muted);font-size:.85rem;background:var(--blue-muted);border-radius:8px;padding:.6rem .75rem}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:.5rem 0 1.1rem}.client-form-modal{width:min(620px,100%)}.field textarea,.field select{font-size:.95rem}.booking-client-search{display:flex;gap:var(--space-2)}.booking-client-search input{flex:1}.booking-confirm{border:1px solid var(--border);border-radius:10px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.5rem;margin:0}.sms-preview{display:flex;flex-direction:column;gap:.4rem}.sms-preview-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.sms-bubble{margin:0;background:var(--blue);color:var(--text-on-accent);border-radius:16px 16px 4px;padding:.65rem .85rem;max-width:420px;font-size:.92rem;line-height:1.4;white-space:pre-wrap}.client-header-card{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.client-header-meta{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:.92rem}.client-header-meta a:hover{color:var(--blue)}.client-contact-icons{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.client-contact-icons .btn-ghost{padding:.35rem .75rem;font-size:.85rem}.prefs-note{border-left:3px solid var(--success);padding:.5rem .75rem;background:var(--success-bg);border-radius:6px}@media(max-width:700px){.main{padding:1rem 1rem 6rem}.page-title{font-size:1.3rem}.page-header{gap:var(--space-3)}.page-header-text{flex-basis:100%}.list-table .hide-sm{display:none}.form-grid{grid-template-columns:1fr}}.show-sm{display:none!important}@media(max-width:700px){.show-sm{display:block!important}.list-table th,.list-table td{padding:.65rem .75rem}}details.inv-csv-options>summary{cursor:pointer;font-weight:600;color:var(--text-strong)}details.inv-csv-options[open]>summary{margin-bottom:.5rem}.cal-page-main .page-header .btn-primary{width:auto}.nowrap{white-space:nowrap}@media(max-width:700px){.list-table .cell-sub.show-sm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}}.booking-queued{display:inline-block;font-size:.85rem;color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;padding:4px 8px}.phone-line{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.phone-copy-btn{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:inherit;font-size:12px;font-weight:700;line-height:1.6;cursor:pointer;white-space:nowrap}.phone-copy-btn:hover{border-color:var(--blue)}.phone-copy-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.phone-copy-btn.done{border-color:var(--success);color:var(--success);background:var(--success-bg)}.job-phone-row{display:flex;align-items:center;gap:10px;margin:-2px 0 12px;font-size:15px;font-weight:600}.job-phone-row a{color:var(--blue);text-decoration:none}.copy-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-pop);font-size:.92rem;font-weight:600;animation:copy-toast-in .14s ease-out}.copy-toast>span{color:var(--success)}@keyframes copy-toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}body{background:var(--bg);color:var(--text);font-feature-settings:"tnum" 1}h1,h2,h3,.page-title{color:var(--text-strong);letter-spacing:-.01em}.page-title{font-weight:700}.sidebar{padding:14px 12px 18px;gap:0}.sidebar-logo{max-width:172px;margin:0 4px 12px}.sidebar-new.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;margin:0 2px 8px;padding:.6rem 1rem;border-radius:10px;font-weight:700;box-shadow:0 6px 16px #c943223d}.sidebar-new .nav-icon{width:18px;height:18px}.sidebar nav,.nav-drawer nav{gap:2px}.nav-group{margin:14px 10px 4px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav-divider{height:1px;margin:10px 6px;background:var(--border)}.nav-link{min-height:38px;padding:.45rem .65rem;border-radius:9px;font-size:.9rem;font-weight:550;color:var(--neutral)}.nav-link .nav-icon{width:18px;height:18px;opacity:.75}.nav-link:hover{background:var(--row-hover);color:var(--text-strong)}.nav-link.active{background:var(--orange-muted);color:var(--orange-ink);font-weight:700}.nav-link.active .nav-icon{opacity:1}.topbar{box-shadow:var(--shadow-sm)}.card{box-shadow:var(--shadow-card)}.card h2{color:var(--text-strong)}.badge{color:var(--orange-ink)}.btn-primary{box-shadow:var(--shadow-sm);transition:background-color .15s ease,box-shadow .15s ease}.btn-primary:hover:not(:disabled){background:var(--orange-hover)}.btn-ghost,.btn-icon{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn-ghost:hover:not(:disabled),.btn-icon:hover:not(:disabled){background:var(--blue-muted);border-color:var(--blue);color:var(--blue)}.btn-link:hover{color:var(--blue-hover)}a:not([class]):hover{color:var(--blue)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--blue);outline-offset:2px}:where(input,select,textarea):not([type=checkbox]):not([type=radio]):focus{border-color:var(--blue);box-shadow:var(--focus-ring);outline:none}input,select,textarea{color:var(--text)}::placeholder{color:var(--muted);opacity:1}.data-table th,table th{background:var(--surface-2);color:var(--neutral);font-weight:600;letter-spacing:.02em}.data-table tbody tr:hover,table tbody tr:hover{background:var(--row-hover)}::selection{background:var(--blue-muted)}.badge[data-status=SCHEDULED]{background:var(--info-bg);color:var(--info)}.badge[data-status=ON_SITE]{background:var(--orange-muted);color:var(--orange-ink)}.badge[data-status=DONE]{background:var(--success-bg);color:var(--success)}.badge[data-status=CANCELLED]{background:var(--neutral-bg);color:var(--neutral)}.cr-publish{margin-top:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cr-publish-head{display:flex;flex-direction:column;gap:2px}.cr-publish-head .placeholder{font-size:.85rem}.cr-publish-row,.cr-session-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.cr-publish-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 240px}.cr-publish-name{font-weight:600;color:var(--text-strong)}.cr-publish-actions{display:flex;flex-wrap:wrap;gap:6px}.cr-publish-warn{font-size:.82rem;color:var(--orange-ink)}.badge.cr-badge-ok{background:var(--success-bg);color:var(--success)}.cr-preview{flex-basis:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.cr-preview-title{font-weight:700;color:var(--blue);margin-bottom:6px}.cr-preview-section{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--orange-ink);font-weight:700;margin-top:10px}.cr-preview-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--border);font-size:.9rem}.cr-preview-col{flex-direction:column}.cr-preview-photos{display:flex;flex-wrap:wrap;gap:6px}.cr-preview-photos img{width:96px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.cr-sessions{display:flex;flex-direction:column;gap:6px}.ma-tabs{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.ma-tab{border:1px solid var(--border, #d9dde3);background:#fff;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.ma-tab.is-on{background:#fdece8;border-color:#e6a594;color:#b8401f}.ma-count{background:#eef1f4;border-radius:999px;padding:1px 8px;font-size:12px;color:#39424e}.ma-tab.is-on .ma-count{background:#fff}.ma-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.ma-actions{display:flex;gap:12px;align-items:center}.ma-check{font-size:13px;display:inline-flex;gap:6px;align-items:center}.ma-run{font-size:13px;color:#5b6573;margin:6px 0 12px}.ma-empty{padding:18px 0;color:#5b6573}.ma-table{width:100%;border-collapse:collapse;font-size:14px}.ma-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#5b6573;padding:8px;border-bottom:1px solid #e3e6ea}.ma-table td{padding:10px 8px;border-bottom:1px solid #eef0f3;vertical-align:top}.ma-table tr.is-dismissed td{opacity:.55}.ma-row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.ma-row-actions a{text-decoration:none}.ma-muted{font-size:12px;color:#7a8491}.ma-pill{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.ma-pill.is-amber{background:#fff4dc;color:#8a5a00}.ma-pill.is-red{background:#fde8e8;color:#b42318}.ma-pill.is-green{background:#e6f4ea;color:#1e6b34}.pr-list{display:flex;flex-direction:column;gap:12px}.pr-card{padding:16px 18px}.pr-card.is-done{opacity:.8}.pr-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.pr-kind{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#b8401f}.pr-kind.is-service{color:#1d4ed8}.pr-kind.is-maintenance{color:#15803d}.pr-client{margin:2px 0;font-size:17px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pr-client a{color:inherit}.pr-lang{font-size:11px}.pr-dl{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;margin:12px 0 0;font-size:14px}.pr-dl dt{color:#5b6573;font-weight:600}.pr-dl dd{margin:0}.pr-desc{white-space:pre-wrap}.pr-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pr-photo{width:92px;height:92px;border-radius:10px;overflow:hidden;border:1px solid #e3e6ea;display:block;background:#f3f4f6}.pr-photo img{width:100%;height:100%;object-fit:cover;display:block}.pr-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}@media(max-width:640px){.pr-dl{grid-template-columns:1fr}}.pr-prior,.pr-link{margin-top:10px;padding:10px 12px;border-radius:8px;background:#f6f7f9;display:flex;flex-direction:column;gap:4px;font-size:14px}.pr-prior{background:#eef6ee}.pr-prior-expired{color:#b8401f}.pr-link-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pr-link-row select{max-width:100%;min-width:0}.pr-small{font-size:12px}.mb-card{padding-top:14px}.mb-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.mb-filters{display:flex;gap:6px;flex-wrap:wrap}.mb-chip{border:1px solid var(--border, #d9dde3);background:#fff;border-radius:999px;padding:6px 12px;font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;color:#39424e}.mb-chip.is-on{background:#1f2937;border-color:#1f2937;color:#fff}.mb-chip.is-on .ma-count{background:#ffffff2e;color:#fff}.mb-right{display:flex;gap:8px;align-items:center}.mb-search{border:1px solid var(--border, #d9dde3);border-radius:10px;padding:8px 12px;font-size:14px;min-width:220px}.mb-table-wrap{overflow-x:auto}.mb-table td{vertical-align:middle}.mb-client{font-weight:600;color:#1f2937;text-decoration:none}a.mb-client:hover{text-decoration:underline}.mb-plan{font-weight:500}.mb-maint{font-size:13px;font-weight:600}.mb-maint.is-green{color:#1e6b34}.mb-maint.is-blue{color:#1d4ed8}.mb-maint.is-amber{color:#8a5a00}.mb-maint.is-muted{color:#7a8491}.ma-pill.is-grey{background:#eef1f4;color:#4b5563}.mb-foot{margin-top:10px}.mb-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.mb-badge.is-member{background:#e6f4ea;color:#1e6b34}.mb-badge.is-not{background:#eef1f4;color:#4b5563}.mb-badge.is-unknown{background:#fff4dc;color:#8a5a00}.role-hint{display:block;margin-top:4px;font-size:12px}@media(max-width:720px){.mb-search{min-width:0;flex:1}.mb-right{width:100%}}.job-helpers{margin-top:10px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.job-helpers-head{display:flex;justify-content:space-between;align-items:center}.job-helpers-list{display:flex;flex-wrap:wrap;gap:8px 16px}.job-helpers-item{display:inline-flex;align-items:center;gap:6px;font-weight:500}.job-helpers-all{font-weight:400}.job-helpers-note{margin:0;font-size:.85rem}.jobv-person-tag{font-size:.75rem;padding:1px 6px;border-radius:999px;background:#eef2ff;color:#3730a3;margin-left:4px}.app-toast-host{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.app-toast{display:flex;align-items:center;gap:10px;background:#12324f;color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;font-size:15px;box-shadow:0 10px 30px #00000038;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}.app-toast.is-in{opacity:1;transform:none}.app-toast-icon{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#22a06b;font-size:14px}.app-toast--error .app-toast-icon{background:#e5533d}.ar-total{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:18px 20px;margin-bottom:14px;border-left:4px solid var(--brand-orange)}.ar-total-amount{font-size:32px;font-weight:800;color:var(--blue)}.ar-total-label{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-weight:700}.ar-buckets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.ar-bucket{padding:12px 14px;border-radius:12px;background:var(--card, #fff);border:1px solid var(--border, #e5e7eb)}.ar-bucket-label{font-size:12px;color:#6b7280;font-weight:700}.ar-bucket-amount{font-size:18px;font-weight:800;margin-top:4px}.ar-bucket.is-late .ar-bucket-amount{color:#c2410c}.ar-bucket.is-very-late .ar-bucket-amount{color:#b91c1c}.ar-tabs{display:flex;gap:8px;margin:6px 0 10px}.ar-late{color:#b91c1c;font-weight:700}.ar-ontime{color:#15803d}.ar-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ar-home-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;padding:8px 14px;border-radius:10px;border:1px solid var(--border, #e5e7eb);background:var(--card, #fff);font-weight:700;color:var(--blue)}.ar-home-link strong{color:var(--orange)}@media(max-width:760px){.ar-buckets{grid-template-columns:repeat(2,minmax(0,1fr))}}.send-history{margin:8px 0 12px;padding:8px 10px;border:1px solid var(--border, #e3e6ea);border-radius:8px;background:var(--surface-2, #f8fafc)}.send-history-last{margin:0 0 4px;line-height:1.4}.send-history-toggle{padding:2px 0;font-size:.9em}.send-history-list{margin:6px 0 0;padding-left:18px;display:grid;gap:6px;font-size:.92em}.est-sender-cell{white-space:nowrap}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-pill: 999px;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 24px;--lh-tight: 1.25;--lh: 1.5;--control-h: 38px;--control-h-sm: 32px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .05);--shadow-raised: 0 2px 4px rgba(16, 24, 40, .04), 0 6px 16px rgba(16, 24, 40, .07);--muted: #5a6575;--navy: var(--blue);--navy-deep: var(--blue)}body{font-size:var(--fs-base);line-height:var(--lh)}button,input,select,textarea{font-family:inherit}textarea{font:inherit;line-height:1.45}.main{padding:var(--space-5) var(--space-6) var(--space-7)}.main>*{max-width:1360px}.sidebar{width:240px}.nav-group{font-size:var(--fs-xs);letter-spacing:.06em;margin:16px 10px 6px}.nav-link{font-size:var(--fs-base);line-height:1.3}.page-header{align-items:center;margin-bottom:var(--space-5);gap:var(--space-3) var(--space-4)}.page-title{font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:700;margin:0 0 var(--space-1)}.page-sub{font-size:var(--fs-base);color:var(--muted);margin:0 0 var(--space-5)}.page-header .page-sub{margin:0}.page-header-actions{gap:var(--space-2)}.card{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-4)}.card>h2:first-child,.card h2{font-size:var(--fs-lg);font-weight:650;line-height:var(--lh-tight);margin:0 0 var(--space-3);color:var(--text-strong)}.card h3{font-size:var(--fs-md);font-weight:650;color:var(--text-strong)}.card>.placeholder:last-child,.card>p:last-child{margin-bottom:0}.list-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.btn-primary,.btn-ghost,.btn-icon{font-family:inherit;font-size:var(--fs-base);line-height:1.2;border-radius:8px}.btn-primary{min-height:var(--control-h);padding:.55rem 1.1rem;font-weight:650;letter-spacing:.005em}.btn-ghost{min-height:34px;padding:.45rem .9rem;font-weight:600;color:var(--text);background:var(--card);border:1px solid var(--border-strong)}.btn-ghost.btn-sm,.btn-sm{min-height:var(--control-h-sm);padding:.3rem .75rem;font-size:var(--fs-sm)}.btn-icon{min-width:var(--control-h);height:var(--control-h)}.page-header-actions .btn-primary,.page-header-actions .btn-ghost,.page-header-actions .btn-icon{height:var(--control-h);min-height:var(--control-h)}td .btn-ghost,.team-row .btn-ghost,.team-actions .btn-ghost{font-size:var(--fs-sm);min-height:var(--control-h-sm);padding:.3rem .75rem}.btn-primary.btn-add-line,button.inv-add-line{background:var(--card);color:var(--blue);border:1px dashed var(--blue);box-shadow:none}.field{font-size:var(--fs-sm);font-weight:600;color:var(--text);gap:6px}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.settings-select,.mb-search{font-size:var(--fs-base);font-weight:400;border:1px solid var(--border-strong);border-radius:8px;background:var(--input-bg);color:var(--text)}.field input:not([type=checkbox]):not([type=radio]),.field select{min-height:var(--control-h);padding:.5rem .75rem}.field textarea{padding:.55rem .75rem}.field small,.field .placeholder,.field-hint{font-weight:400;font-size:var(--fs-xs);color:var(--muted)}.invite-form:has(>:nth-child(5)){grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;gap:var(--space-4) var(--space-4)}.invite-form:has(>:nth-child(5))>button[type=submit],.invite-form:has(>:nth-child(5))>.btn-primary{grid-column:1 / -1;justify-self:end;width:auto;min-width:200px}.invite-form:has(>:nth-child(5))>.field:has(textarea){grid-column:span 2}@media(max-width:700px){.invite-form:has(>:nth-child(5))>.field:has(textarea){grid-column:auto}.invite-form:has(>:nth-child(5))>button[type=submit],.invite-form:has(>:nth-child(5))>.btn-primary{width:100%}}.form-actions{gap:var(--space-2)}.data-table,.inv-table,.ma-table,.prop-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.data-table th,.inv-table th,.ma-table th,.prop-table th{text-align:left;font-size:var(--fs-xs);font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td,.inv-table td,.ma-table td,.prop-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}.data-table tbody tr:last-child td,.inv-table tbody tr:last-child td,.ma-table tbody tr:last-child td{border-bottom:none}.inv-table td.num,.inv-table th.num,.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.badge,.pill,.est-pill,.ma-pill,.mb-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:650;line-height:1.5;padding:1px 9px;border-radius:var(--radius-pill);white-space:nowrap}.est-pill{text-transform:none}.est-pill-invoiced{color:var(--orange-ink)}.est-sub,.jm-label,.wb-card-hint,.cal-week-daymeta,.cal-hour-label{font-size:var(--fs-xs)!important}.job-hub-tabs{background:var(--surface-2);border-radius:10px;padding:4px;gap:4px}.ma-tab,.mb-chip{font-family:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--neutral);background:var(--card);border:1px solid var(--border-strong)}.ma-tab.is-on,.mb-chip.is-on{background:var(--orange-muted);border-color:var(--orange);color:var(--orange-ink)}.ma-count,.mb-chip.is-on .ma-count{background:var(--neutral-bg);color:var(--neutral);font-size:var(--fs-xs);font-weight:650}.ma-tab.is-on .ma-count,.mb-chip.is-on .ma-count{background:var(--card);color:var(--orange-ink)}.seg.active{color:var(--orange-ink)}.ma-muted,.ma-run,.ma-empty,.ma-table th,.pr-dl dt{color:var(--muted)}.ma-muted{font-size:var(--fs-xs)}.mb-client{color:var(--text-strong)}.mb-search{min-height:36px}.ma-pill.is-amber,.mb-badge.is-unknown{background:var(--warning-bg);color:var(--warning)}.ma-pill.is-red{background:var(--danger-bg);color:var(--danger)}.ma-pill.is-green,.mb-badge.is-member{background:var(--success-bg);color:var(--success)}.ma-pill.is-grey,.mb-badge.is-not{background:var(--neutral-bg);color:var(--neutral)}.mb-maint.is-green{color:var(--success)}.mb-maint.is-blue{color:var(--blue)}.mb-maint.is-amber{color:var(--warning)}.mb-maint.is-muted{color:var(--muted)}.jobv-person-tag{font-size:var(--fs-xs);background:var(--blue-muted);color:var(--blue)}.pr-lang,.pr-small{font-size:var(--fs-xs)}.ui-state--empty,.empty-state{text-align:center;padding:var(--space-6) var(--space-4)}.ui-state--empty .placeholder:first-child{color:var(--text-strong);font-weight:600}.cal-week-dayhead.is-today .cal-week-dayname{background:var(--orange)}.login-error,.ok-msg{font-size:var(--fs-sm)}@media(max-width:900px){.main{padding:var(--space-4) var(--space-4) 6rem}.card{padding:var(--space-4)}}.section-nav{position:sticky;top:62px;z-index:30;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;margin:0 0 var(--space-4);padding:8px;background:#fffffff0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.section-nav[hidden]{display:none}.section-nav-link{flex:none;padding:6px 12px;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:600;color:var(--neutral);white-space:nowrap}.section-nav-link:hover{background:var(--row-hover);color:var(--text-strong)}.section-nav-link.is-on{background:var(--orange-muted);color:var(--orange-ink)}.section-anchor{scroll-margin-top:136px}.settings-page>.card,.settings-page>form.card,.settings-page>section.card{max-width:980px}.settings-page>.section-nav{max-width:980px}@media(max-width:900px){.section-nav{top:56px;border-radius:10px}}@media(min-width:901px){.main .card .btn-primary:not(.clock-card *):not(.btn-block):not(.seg){width:auto;min-width:160px;padding-left:1.25rem;padding-right:1.25rem}}@media(min-width:901px){.main .card>.btn-primary:not(.btn-block),.main .card form>.btn-primary:not(.btn-block),.main .card form>button[type=submit].btn-primary{align-self:flex-start;justify-self:start}}.invite-form .field:has(>.assignee-picker),.invite-form .field:has(.assignee-picker){grid-column:1 / -1}.jobs-list-main>.badge,.jobs-list-main>.pill{align-self:flex-start}
