:root{--ink: #0a2826;--ink2: #13403b;--aqua: #0fb5a6;--aqua-d: #0a8d82;--mint: #e8f7f4;--sun: #e8920c;--violet: #7c6cf0;--paper: #eef4f3;--card: #fff;--line: #dbe8e5;--muted: #6b8480;--danger: #d6452f;--surface: #fff;--surface2: #f6faf9;--wash: #f0f7f6;--radius: 12px;--accent: var(--aqua);--shadow-sm: 0 2px 10px rgba(10, 40, 38, .04);--shadow-md: 0 12px 40px rgba(10, 40, 38, .12);--attention-moderate: var(--aqua-d);--attention-warning: #e08a00;--attention-critical: var(--danger);--space-page: clamp(14px, 3vw, 22px);--control-height: 38px;--control-radius: 10px;--control-padding-x: 11px;--tap-target: var(--control-height);--nav-item-height: var(--tap-target);--nav-bar-height: calc(var(--nav-item-height) + 16px);--content-max: 1100px}*{box-sizing:border-box}html{min-width:0}body{margin:0;min-width:0;font-family:Hanken Grotesk,system-ui,sans-serif;background:var(--paper)}#root{min-height:100%}h1,h2,h3,.brand-name,.kpi-val{font-family:Bricolage Grotesque,sans-serif}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid rgba(15,181,166,.36);outline-offset:2px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px var(--space-page);background:linear-gradient(120deg,var(--ink),var(--ink2));color:#eafffb}.brand{display:flex;align-items:center;gap:12px}.logo{width:40px;height:40px;border-radius:13px;flex-shrink:0;display:block;overflow:hidden}.brand-name{font-size:22px;font-weight:800;letter-spacing:.14em}.brand-name.dark{color:var(--ink);letter-spacing:.08em}.brand-sub{font-size:11.5px;color:#8fcfc6;margin-top:3px}.env-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;border:1px solid transparent}.env-badge--centered{margin:4px auto 0}.env-badge--local{color:#d8e8e4;background:#ffffff1a;border-color:#ffffff38}.env-badge--beta{color:#fff8e6;background:#f59e0b47;border-color:#fbbf248c}.login-card .env-badge--local,.landing-card .env-badge--local{color:#4b5563;background:#f3f4f6;border-color:#d1d5db}.login-card .env-badge--beta,.landing-card .env-badge--beta{color:#92400e;background:#fef3c7;border-color:#fbbf24}.nav{display:flex;align-items:center;gap:4px;min-height:var(--nav-bar-height);height:var(--nav-bar-height);padding:8px var(--space-page);background:var(--ink2);overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.nav a{display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:7px;height:var(--nav-item-height);min-height:var(--nav-item-height);color:#a7d3cc;padding:0 14px;border-radius:10px;background:transparent;font-weight:600;font-size:13.5px;text-decoration:none;white-space:nowrap}.nav .nav-on{background:var(--aqua);color:#04302c}.nav-link-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.nav-link-spinner{flex-shrink:0;height:.875rem;width:.875rem}.route-keep-alive[hidden]{display:none}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden}.main{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-page);padding-bottom:max(var(--space-page),env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.stack{display:flex;flex-direction:column;gap:18px;max-width:var(--content-max);margin:0 auto}.stack-sm{display:flex;flex-direction:column;gap:12px}.admin-hub-body{display:flex;flex-direction:column;gap:18px;width:100%;min-width:0}.admin-hub-header{width:100%}.lead-information-panel,.audit-log-tab{min-width:0}.audit-log-tab-compact .datatable-has-cards .datatable-scroll{display:block}.audit-log-tab-compact .datatable-has-cards .datatable-cards{display:none}.audit-log-tab-compact .datatable-audit .datatable-table{font-size:13px}.audit-log-tab-compact .datatable-audit td,.audit-log-tab-compact .datatable-audit th{padding:8px 10px}.audit-page-filters{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:end}.audit-page-filter{min-width:10rem;flex:1 1 10rem;margin:0}.audit-page-filter-search{flex:2 1 14rem}.audit-page-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 10px;min-height:38px;background:var(--card)}.audit-page-search input{border:0!important;background:transparent;padding:0!important;width:100%;min-width:0;min-height:0!important;height:auto;font-size:13.5px;line-height:1.2}.audit-page-search input:focus{outline:none}.datatable-audit .datatable-table th.audit-list-col-ts,.datatable-audit .datatable-table td.audit-list-col-ts,.datatable-audit .datatable-table th.audit-list-col-action,.datatable-audit .datatable-table td.audit-list-col-action,.datatable-audit .datatable-table th.audit-list-col-platform,.datatable-audit .datatable-table td.audit-list-col-platform{width:.1%;white-space:nowrap}.datatable-audit .datatable-table th.audit-list-col-user,.datatable-audit .datatable-table td.audit-list-col-user{width:.1%;white-space:nowrap;max-width:14rem}.datatable-audit .datatable-table th.audit-list-col-entity,.datatable-audit .datatable-table td.audit-list-col-entity{width:99%;min-width:10rem;overflow-wrap:anywhere;word-break:break-word}.datatable-cards.audit-log-embedded-cards{display:flex;flex-direction:column;padding:12px;gap:12px}.audit-log-more{display:flex;justify-content:center;padding-top:8px}.audit-log-filters{margin-bottom:4px}.audit-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:10px 16px;margin:0}.audit-detail-meta div{min-width:0}.audit-detail-meta dt{margin:0 0 2px;font-size:12px;color:var(--muted);font-weight:600}.audit-detail-meta dd{margin:0;font-size:13.5px;color:var(--ink)}.audit-detail-section h3{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--ink2)}.audit-detail-section p{margin:0;font-size:13.5px}.audit-detail-source{margin:0}.audit-log-item-diffs{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13.5px}.audit-log-diff{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.audit-log-diff-field{color:var(--muted);min-width:0}.audit-log-diff-values{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:baseline;min-width:0}.audit-log-diff-before{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}.audit-log-diff-arrow{color:var(--muted);flex-shrink:0}.audit-log-diff-after{color:var(--ink);font-weight:500}.audit-log-item-preview{margin:8px 0 0;font-size:13.5px}.audit-log-item-context{margin:0;font-size:13.5px;line-height:1.4}.sec-title h1{margin:0;font-size:25px;color:var(--ink)}.sec-title-heading{align-items:center;display:inline-flex;gap:10px}.sec-title-spinner{flex-shrink:0}.sec-title p{margin:4px 0 0;color:var(--muted);font-size:13.5px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 2px 10px #0a28260a}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-head-stack{align-items:flex-start}.card-head h3{margin:0;font-size:16px}.card-head-sub{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.cnt{font-style:normal;color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi-grid--fixed{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}.kpi-grid--period{grid-template-columns:repeat(4,1fr)}.kpi{position:relative;overflow:hidden;display:flex;flex-direction:column}.kpi-main-title{font-size:14px;color:var(--ink);font-weight:600;line-height:1.35;min-height:1.35em}.kpi-metric-body,.kpi-dual-body{margin-top:6px}.kpi-dual-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kpi-dual-col{display:flex;flex-direction:column;min-width:0;text-align:left}.kpi-dual-col-divider{border-left:1px solid var(--line);padding-left:12px}.kpi-dual-col-clickable{border:0;background:none;cursor:pointer;font:inherit;color:inherit;border-radius:10px;margin:-4px;padding:4px;transition:background-color .15s ease}.kpi-dual-col-divider.kpi-dual-col-clickable{padding-left:16px}.kpi-dual-col-clickable:hover{background:#f3faf8}.kpi-dual-col-clickable:active{background:#eef7f5}.kpi-dual-period,.kpi-caption{font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.35;min-height:1.35em}.kpi-caption--placeholder{visibility:hidden}.kpi-dual-val,.kpi-metric-val{font-size:24px;margin-top:4px}.kpi-clickable{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background-color .15s ease,box-shadow .15s ease}.kpi-clickable:hover{background:#f8fcfb}.kpi-clickable:active{background:#f3faf8}.kpi-click-target{display:flex;flex-direction:column;flex:1;width:100%;margin:0;padding:0;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.kpi-has-help{padding-right:36px}.kpi-help{position:absolute;top:8px;right:8px;z-index:2}.kpi-help-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.kpi-help-btn:hover{color:var(--ink2);background:#0a28260f}.kpi-help-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kpi-help-popover{max-width:280px;min-width:200px!important;padding:12px 14px}.kpi-help-popover-body{margin:0;font-size:13.5px;line-height:1.45;color:var(--ink2);font-weight:500}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}.kpi-ink:before{background:var(--ink)}.kpi-aqua:before{background:var(--aqua)}.kpi-sun:before{background:var(--sun)}.kpi-violet:before{background:var(--violet)}.kpi-label{font-size:12.5px;color:var(--muted);font-weight:600}.kpi-val{font-size:27px;font-weight:800;margin-top:6px;color:var(--ink)}.kpi-sub{font-size:13.5px;color:var(--muted);margin-top:5px;font-weight:500;line-height:1.35}.kpi-attention-breakdown{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}.kpi-attention-breakdown-item{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:600;color:var(--muted);line-height:1.35}.kpi-attention-breakdown-item .attention-dot{margin-top:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.segm{display:inline-flex;align-items:center;min-height:var(--control-height);background:#fff;border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}.segm button{min-height:calc(var(--control-height) - 8px);border:0;background:none;padding:5px 12px;border-radius:8px;font-weight:600;font-size:13px;color:var(--muted);cursor:pointer}.segm .seg-on{background:var(--ink);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);border:0;border-radius:11px;padding:8px 14px;font-weight:700;font-size:13.5px;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-fortnox-unavailable{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--aqua);color:#03332f}.btn-secondary{background:var(--ink2);color:#fff;border:1px solid var(--ink2)}.btn-secondary:hover:not(:disabled){background:var(--ink);border-color:var(--ink)}.btn-danger{background:#b94343;color:#fff;border:1px solid #a83838}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink2)}.btn-sm{min-height:34px;padding:6px 10px;font-size:12.5px}.btn.full{width:100%;justify-content:center}.icon-btn{min-width:36px;min-height:36px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}a.icon-btn{text-decoration:none}.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.job-card,.cust-card{display:flex;flex-direction:column;gap:12px}.job-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.job-cust{font-weight:800;color:var(--ink);font-size:16px}.job-addr,.muted{color:var(--muted);font-size:12.5px}.job-money{display:flex;gap:14px;background:var(--mint);border-radius:12px;padding:10px 12px}.job-money>div{display:flex;flex-direction:column}.job-money span{font-size:11px;color:var(--muted)}.job-money .hl strong{color:var(--aqua-d)}.job-actions{display:flex;align-items:center;gap:7px;margin-top:auto}.badge{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:20px}.badge.email-verify-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:4px 10px}.badge.email-verify-badge--warning{background:color-mix(in srgb,var(--attention-warning) 14%,white);color:#9a6700}.badge.email-verify-badge--moderate{background:color-mix(in srgb,var(--attention-moderate) 14%,white);color:var(--aqua-d)}.badge.email-verify-badge--critical{background:color-mix(in srgb,var(--attention-critical) 12%,white);color:#b42318}.customer-email-field .customer-email-verification-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.lead-interaction-cell{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.badge.lead-more{background:#eef2f1;color:var(--ink);font-size:11px;padding:2px 6px}.st-sold{background:#eef2f1;color:#5b736f}.lead-not_interested{background:#f3f4f6;color:#4b5563}.lead-callback{background:#fff7e6;color:#9a6700}.lead-closed{background:#e8f5f0;color:#1f6b55}.lead-no_contact{background:#eef2ff;color:#4338ca}.lead-other{background:#f5f5f4;color:#78716c}.page-title{margin:0;font-size:clamp(1.35rem,2vw,1.75rem)}.datatable-toolbar-start{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;flex:1}.datatable-filter-tag{flex:0 0 auto;min-height:calc(var(--control-height) - 8px);border:1px solid var(--line);background:#fff;padding:5px 12px;border-radius:999px;font-weight:600;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.datatable-filter-tag-on{background:var(--ink);border-color:var(--ink);color:#fff}.lead-form .customer-address-section{margin-bottom:0}.customer-interactions-tab{display:grid;gap:12px}.customer-tab-toolbar,.customer-interactions-toolbar{display:flex;justify-content:flex-end}.customer-interactions-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.customer-interactions-item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface)}.customer-interactions-item--with-actions{display:flex;align-items:stretch;padding:0}.customer-interactions-item--clickable{padding:0}.customer-interactions-item-hit{display:block;width:100%;margin:0;padding:10px 12px;border:0;border-radius:12px;background:none;text-align:inherit;font:inherit;color:inherit;cursor:pointer}.customer-interactions-item--clickable:hover,.customer-interactions-item-hit:hover{background:var(--surface2)}.customer-interactions-item--clickable:active,.customer-interactions-item-hit:active{background:var(--wash)}.customer-interactions-item-hit--static{cursor:default;padding:10px 12px;flex:1;min-width:0}.customer-interactions-item-delete{flex-shrink:0;align-self:center;margin-right:8px}.customer-interactions-item-address{margin-bottom:6px;font-size:14px}.customer-interactions-item-meta{display:grid;gap:6px 12px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.customer-interactions-item-meta--lead{grid-template-columns:repeat(4,minmax(0,1fr))}.customer-interactions-item-meta .badge{font-size:11px}.customer-interactions-meta{display:grid;gap:2px;font-size:13px;min-width:0}.customer-interactions-meta--placeholder{visibility:hidden}.customer-interactions-meta--completed{visibility:visible}.customer-interactions-meta--completed strong{color:var(--muted);text-decoration:line-through}.customer-interactions-meta span{color:var(--ink2)}.customer-interactions-meta strong{font-weight:400}.customer-interactions-notes{margin:8px 0 0;font-size:14px;color:var(--ink)}.lead-detail{max-height:50vh;overflow:auto}.st-completed{background:#e2f6ec;color:#1c8f56}.job-status-badges{display:inline-flex;flex-direction:column;align-items:center;gap:4px}.job-status-badges .badge{white-space:nowrap}.job-inv-needs{background:#fff7e6;color:#9a6700}.job-inv-blocked{background:#f3f4f6;color:#6b7280}.job-inv-created{background:#eef2ff;color:#4338ca}.job-inv-sent{background:#e2f6ec;color:#1c8f56}.job-pay-unpaid{background:#fef3f2;color:#b42318}.job-pay-customer{background:#fff7e6;color:#9a6700}.job-pay-rut{background:color-mix(in srgb,var(--attention-moderate) 14%,white);color:var(--aqua-d)}.job-pay-full{background:#e2f6ec;color:#1c8f56}.st-in_progress{background:#fff4e0;color:#b07a00}.st-expired,.st-cancelled{background:#f8e3e3;color:#b94343}.cust-stats{display:flex;gap:18px;border-top:1px solid var(--line);padding-top:12px}.cust-stats>div{display:flex;flex-direction:column}.cust-stats span{font-size:11px;color:var(--muted)}.danger{color:var(--danger)}.rut-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink);font-weight:400}.rut-row strong{font-weight:400;color:var(--ink)}.rut-field-label{display:none;color:var(--ink);font-size:13.5px;font-weight:400;margin-bottom:2px}.rut-actions{display:flex;gap:6px;justify-content:flex-end}.mono{font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field>span{font-size:12px;font-weight:600;color:var(--ink2)}input:not([type=checkbox]):not([type=radio]){border:1px solid var(--line);border-radius:var(--control-radius);height:var(--control-height);min-height:var(--control-height);padding:8px var(--control-padding-x);font-size:13.5px;line-height:1.2;width:100%;background:#fff}.amount-input{display:flex;min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);background:#fff;overflow:hidden}.amount-input input{border:0!important;min-height:0!important;padding:8px var(--control-padding-x)!important;background:transparent}.amount-input input:focus{outline:none}.amount-input:focus-within{border-color:var(--aqua);box-shadow:0 0 0 2px #0fb5a61f}.row-end{display:flex;justify-content:flex-end;margin-top:14px}.ring{color:var(--aqua-d);text-decoration:none;font-weight:700;font-size:12.5px}.ring.inline{display:inline-flex;align-items:center;gap:5px}.empty,.loading{text-align:center;color:var(--muted);padding:22px}.main-loading-hint{position:fixed;bottom:12px;right:12px;z-index:20;padding:6px 12px;border-radius:999px;background:#ffffffeb;border:1px solid var(--line);font-size:12px;color:var(--muted);box-shadow:0 2px 8px #0000000f;pointer-events:none}.section-skeleton{display:flex;flex-direction:column;gap:10px;padding:8px 0 16px}.section-skeleton-row{height:44px;border-radius:10px;background:linear-gradient(90deg,var(--surface2) 25%,var(--line) 50%,var(--surface2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.datatable-row-virtual{content-visibility:auto;contain-intrinsic-size:auto 44px}.schedule-hour-cell,.schedule-job-block{content-visibility:auto;contain-intrinsic-size:auto 32px}.login-wrap{min-height:100vh;background:linear-gradient(150deg,var(--ink),var(--ink2) 60%,#0a5048);display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:#fff;border-radius:24px;padding:34px;width:100%;max-width:460px}.login-card-title{margin:0 0 8px;font-size:18px;color:var(--ink);text-align:center}.login-card .btn+.btn{margin-top:10px}.landing-card{background:#fff;border-radius:24px;padding:40px;width:100%;max-width:520px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.landing-card .muted{max-width:36ch;line-height:1.5}.login-logo{width:56px;height:56px;border-radius:17px;margin:0 auto 12px;display:block;overflow:hidden}.login-brand-title{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.login-brand-title .brand-name{margin:0}.login-forgot{margin-top:10px;text-align:right}.login-forgot .link{font-size:.8125rem}.dev-seed-user-menu select{border:1px solid var(--line);border-radius:var(--control-radius);height:var(--control-height);min-height:var(--control-height);padding:8px var(--control-padding-x);font-size:13.5px;line-height:1.2;width:100%;background:#fff}.link{border:0;background:none;color:var(--aqua-d);font-weight:700;cursor:pointer}a.phone-link{color:inherit;text-decoration:none}a.phone-link:hover{color:var(--aqua-d);text-decoration:underline}a.email-link{color:inherit;text-decoration:none}a.email-link:hover{color:var(--aqua-d);text-decoration:underline}.link.center{display:block;margin:12px auto 0;text-align:center}.pin-err{color:var(--danger);font-size:12.5px;font-weight:600}.pin-warn{color:var(--attention-warning);font-size:12.5px;font-weight:600}.login-card .pin-err+.btn{margin-top:14px}.mini-list-item{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.ml-name{font-weight:700;color:var(--ink)}.ml-sub{font-size:12px;color:var(--muted)}.top-right{display:flex;align-items:center;gap:12px}.user-menu-wrap{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;border-radius:10px;padding:8px 12px;font-weight:700;font-size:13.5px;color:#eafffb;cursor:pointer}.user-menu-trigger:hover{background:#ffffff1f}.user-menu-chevron-open{transform:rotate(180deg)}.user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #0a282629;min-width:200px;overflow:hidden;padding:6px}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:none;font-weight:600;font-size:13.5px;color:var(--ink2);text-decoration:none;cursor:pointer;text-align:left}.user-menu-item:hover{background:var(--mint)}.user-menu-logout{color:var(--danger)}.user-menu-logout:hover{background:#fdecea}.small{font-size:11.5px}.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}.datatable{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 2px 10px #0a28260a}.datatable-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;flex:1;min-height:var(--control-height);min-width:200px;max-width:360px;border:1px solid var(--line);border-radius:var(--control-radius);padding:0 var(--control-padding-x);background:#fff}.search-box input{border:0!important;min-height:0!important;padding:0!important;font-size:13.5px;line-height:1.2;background:transparent}.search-box input:focus{outline:none}.datatable-scroll{overflow-x:auto}.datatable--stale .datatable-scroll,.datatable--stale .datatable-cards{opacity:.72;transition:opacity .12s ease}.datatable-table{width:100%;border-collapse:collapse;font-size:13.5px}.datatable-table th{background:#f6faf9;color:var(--ink2);font-weight:700;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.datatable-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink);font-weight:400}.datatable-table td strong,.datatable-table td .muted{font-weight:400;color:var(--ink)}.datatable-table tbody tr:last-child td{border-bottom:0}.datatable-table tfoot td{padding:12px 14px;border-top:2px solid var(--line);font-weight:700;color:var(--ink);background:#f6faf9;vertical-align:middle}.datatable-footer-row td{font-weight:700}.datatable-table--aligned{table-layout:fixed;width:100%}.datatable-below-pager{border-top:1px solid var(--line);background:#fafbfd}.datatable-timesheets .datatable-scroll,.datatable-timesheets .datatable-below-pager{overflow-x:auto}.datatable-timesheets .datatable-table th.timesheet-list-col-date,.datatable-timesheets .datatable-table td.timesheet-list-col-date{width:6.5rem;white-space:nowrap}.datatable-timesheets .datatable-table th.timesheet-list-col-hours,.datatable-timesheets .datatable-table td.timesheet-list-col-hours{width:7.5rem;white-space:nowrap}.datatable-timesheets .datatable-table th.timesheet-list-col-status,.datatable-timesheets .datatable-table td.timesheet-list-col-status{width:6.5rem}.datatable-timesheets .datatable-table th.timesheet-list-col-worker,.datatable-timesheets .datatable-table td.timesheet-list-col-worker{width:8rem;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datatable-timesheets .datatable-table th.timesheet-list-col-email,.datatable-timesheets .datatable-table td.timesheet-list-col-email{width:12rem}.datatable-timesheets .timesheet-total-row td.timesheet-total-label{text-align:left;white-space:nowrap;padding-left:12px}.datatable-timesheets .timesheet-total-row td.timesheet-list-col-hours{font-variant-numeric:tabular-nums}.datatable-timesheets .datatable-below-pager .datatable-table{table-layout:fixed}.datatable-totals-head th{height:0;padding-top:0;padding-bottom:0;border:0;line-height:0;overflow:hidden;white-space:nowrap;color:transparent;background:transparent}.datatable-totals-head{visibility:collapse}.datatable-below-pager-mobile{margin-top:0;border-top:1px solid var(--line);border-radius:0;display:none}.datatable-mobile-footer{margin-top:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f6faf9}.datatable-mobile-footer-title{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:10px}.datatable-row-click{cursor:pointer}.datatable-row-click:hover{background:#f3faf8}.datatable-row-selected,.datatable-row-selected.datatable-row-click:hover{background:#e8f6f2}.datatable-select-col{width:42px;padding-left:12px!important;padding-right:8px!important;text-align:center}.datatable-select-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--brand)}.datatable-card-select{display:flex;align-items:flex-start;margin:-2px 0 4px}.jobs-batch-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);background:#f6faf9}.jobs-batch-bar .muted{font-size:13px}.team-row-accepted-flash td,.team-row-accepted-flash.datatable-card{animation:team-accepted-flash .5s ease-out}@keyframes team-accepted-flash{0%{background-color:#d4f5e6}to{background-color:transparent}}.th-sort{display:inline-flex;align-items:center;gap:4px;border:0;background:none;font:inherit;font-weight:700;color:inherit;cursor:pointer;padding:0}.th-sort-on{color:var(--ink)}.th-sort-idle{opacity:.35}.datatable-empty{text-align:center;color:var(--muted);padding:28px!important}.datatable-cards{display:none;padding:12px;gap:12px}.datatable-card{display:flex;flex-direction:column;gap:12px;width:100%;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;text-align:left}.datatable-card-click{cursor:pointer}.datatable-card-click:hover{background:#f8fcfb}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-title-with-icon{display:flex;align-items:center;gap:8px;min-width:0}.card-title-with-icon .card-title{min-width:0}.card-title{min-width:0;font-weight:400;color:var(--ink);font-size:13.5px}.card-subtitle{margin-top:3px;color:var(--ink);font-size:13.5px;line-height:1.35}.card-date{flex-shrink:0;font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.card-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.card-meta-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card-meta{min-width:0}.datatable-card .card-meta span,.datatable-card .card-meta strong{display:block;color:var(--ink);font-size:13.5px;font-weight:400;overflow-wrap:anywhere}.datatable-card .card-meta strong{margin-top:2px}.datatable-card .card-meta strong.danger{color:var(--danger)}.datatable-card .muted{color:var(--ink)}.datatable-card .attention-item{font-size:13.5px;color:var(--ink)}.datatable-table .attention-item{font-size:13.5px;color:var(--ink);font-weight:400}.card-meta span{display:block;color:var(--muted);font-size:11.5px;font-weight:700}.card-meta strong{display:block;margin-top:2px;color:var(--ink2);font-size:13.5px;overflow-wrap:anywhere}.card-meta strong.danger{color:var(--danger)}.card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:2px}.datatable-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.datatable-pager{display:flex;align-items:center;gap:8px;margin-left:auto}.pager-size{display:flex;align-items:center;gap:6px}.pager-size select{min-height:34px;border-radius:8px;padding:6px 8px;font-size:13px}.pager-info{font-size:13px;font-weight:600;color:var(--ink2);min-width:90px;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a282673;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-backdrop--elevated{z-index:1200}.modal-panel{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0a282633}.modal-wide{max-width:680px}.salary-prognosis-detail-modal{max-width:960px}.salary-prognosis-toolbar-period{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.salary-prognosis-toolbar-period.page-toolbar-left{align-items:flex-end}.salary-prognosis-toolbar-period .field{margin-bottom:0}.salary-prognosis-toolbar-period .period-wrap{display:flex;align-items:flex-end}.page-toolbar.time-reporting-filter-toolbar,.page-toolbar-left.time-reporting-toolbar{align-items:flex-end}.time-reporting-toolbar .segm{flex:0 0 auto}.salary-prognosis-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.salary-prognosis-detail-kpis .kpi{padding:10px 12px 10px 14px;min-width:0}.salary-prognosis-detail-kpis .kpi-label{font-size:11.5px}.salary-prognosis-detail-kpis .kpi-val{font-size:18px;margin-top:4px;white-space:nowrap}.salary-prognosis-detail{max-width:none;width:100%;margin:0}.salary-prognosis-detail .table-wrap{width:100%}.salary-prognosis-detail-section{gap:10px;width:100%}.salary-prognosis-detail-section h3{margin:0;font-size:15px}.salary-prognosis-detail-table{width:100%;table-layout:fixed}.salary-prognosis-detail-table th,.salary-prognosis-detail-table td{padding:12px 16px 12px 0;vertical-align:middle}.salary-prognosis-detail-table th:last-child,.salary-prognosis-detail-table td:last-child{padding-right:0}.salary-prognosis-detail-table .salary-prognosis-col-date,.salary-prognosis-detail-table .salary-prognosis-col-hours,.salary-prognosis-detail-table .salary-prognosis-col-amount{white-space:nowrap;width:6.5rem}.salary-prognosis-detail-table .salary-prognosis-col-source{width:7.5rem}.salary-prognosis-detail-table .salary-prognosis-col-name,.salary-prognosis-detail-table .salary-prognosis-col-address{overflow-wrap:anywhere;word-break:break-word}.print-document-header,.print-document-footer{display:none}.print-document-header h1{margin:0;font-size:22px;color:var(--ink)}.print-document-header-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%}.print-document-status{margin:0 0 0 auto;color:var(--ink);font-size:18px;font-weight:700;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.print-document-header p{margin:6px 0 0;font-size:15px;font-weight:500;color:var(--ink2);line-height:1.35}@media print{.print-document{max-width:none!important;width:100%!important;margin:0!important}.print-document-header{display:block;margin-bottom:16px}.print-document-footer{display:block!important;margin-top:28px;padding-top:10px;border-top:1px solid var(--line, #d0d5dd);color:var(--ink2);font-size:12px;font-weight:400;line-height:1.35}.print-document .no-print{display:none!important}.print-document .timesheet-detail-summary--print-only{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.print-document .timesheet-detail-print-meta{text-align:left}.print-document .timesheet-detail-print-meta span,.print-document .timesheet-detail-print-meta strong{color:var(--ink)}.print-document .timesheet-detail-check-in-list{width:max-content!important}.print-document .kpi-grid,.print-document .salary-prognosis-detail-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;break-inside:avoid;page-break-inside:avoid}.print-document .kpi{break-inside:avoid;page-break-inside:avoid}.print-document .salary-prognosis-detail-section{break-inside:auto}.print-document .salary-prognosis-detail-section h3{break-after:avoid;page-break-after:avoid}.print-document.salary-prognosis-detail,.print-document.salary-prognosis-detail *{color:#000!important}.print-document.salary-prognosis-detail .kpi:before{background:#000!important}.print-document.salary-prognosis-detail .badge{background:transparent!important}.print-document table{width:100%!important;border-collapse:collapse}.print-document thead{display:table-header-group}.print-document tfoot{display:table-footer-group}.print-document tr,.print-document th,.print-document td{break-inside:avoid;page-break-inside:avoid}}@media(max-width:900px){.salary-prognosis-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal-schedule-picker{max-width:1040px}.access-notice{margin:0 24px;padding:10px 14px;border-radius:10px;background:#fff8e6;border:1px solid #f0d998;color:#6b4e00;font-size:14px}.access-notice--compact{display:inline-flex;width:fit-content;max-width:100%;margin:0}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 0}.modal-head-main{flex:1;min-width:0}.modal-head-main--with-lead{display:flex;align-items:center;gap:14px}.modal-head-lead{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--wash);color:var(--ink2)}.modal-head-text{min-width:0;flex:1}.modal-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal-head h2{margin:0;font-size:20px;color:var(--ink)}.modal-address-subtitle{margin:3px 0 0;color:var(--ink2);font-size:15px;font-weight:500;line-height:1.35}.timesheet-detail-subtitle{margin:3px 0 0;color:var(--ink);font-size:18px;font-weight:600;line-height:1.3}.timesheet-detail-worker{margin:0;color:var(--ink);font-size:18px;font-weight:600;line-height:1.3}.timesheet-summary-detail-header{display:flex;flex-direction:column;align-items:stretch;gap:4px}.timesheet-summary-detail-period{margin:0;color:var(--ink);font-size:16px;font-weight:600;line-height:1.35;text-align:left}.timesheet-summary-edit-fields{display:flex;flex-direction:column;gap:.75rem}.timesheet-summary-period-fields{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem .75rem}.timesheet-summary-period-fields .timesheet-generate-date-field{margin:0}.timesheet-summary-wage-field{max-width:8.5rem;flex:0 1 8.5rem}.timesheet-summary-wage-field input[type=number]{width:100%;max-width:8.5rem;box-sizing:border-box}.modal-foot-actions-start{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.timesheet-detail-hint{margin:.35rem 0 .75rem;font-size:.9rem}.timesheet-generate-modal .modal-body{padding-top:10px}.timesheet-generate-modal-body{display:flex;flex-direction:column;gap:1rem}.timesheet-generate-dates{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.field-date-compact.timesheet-generate-date-field,.timesheet-generate-date-field{max-width:11rem;flex:0 1 11rem}.timesheet-generate-date-field .picker-field-wrap{max-width:100%}.timesheet-generate-progress{display:flex;flex-direction:column;gap:.5rem}.timesheet-generate-progress-bar{display:block;width:100%;height:.5rem;border:none;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--border, #d0d5dd) 80%,transparent);-webkit-appearance:none;-moz-appearance:none;appearance:none}.timesheet-generate-progress-bar::-webkit-progress-bar{background:color-mix(in srgb,var(--border, #d0d5dd) 80%,transparent);border-radius:999px}.timesheet-generate-progress-bar::-webkit-progress-value{background:var(--accent, #2563eb);border-radius:999px}.timesheet-generate-progress-bar:indeterminate::-webkit-progress-value{background:linear-gradient(90deg,transparent 0%,var(--accent, #2563eb) 40%,var(--accent, #2563eb) 60%,transparent 100%);background-size:200% 100%;animation:timesheet-generate-progress-indeterminate 1.2s linear infinite}.timesheet-generate-progress-bar:indeterminate::-moz-progress-bar{background:linear-gradient(90deg,transparent 0%,var(--accent, #2563eb) 40%,var(--accent, #2563eb) 60%,transparent 100%);background-size:200% 100%;animation:timesheet-generate-progress-indeterminate 1.2s linear infinite}@keyframes timesheet-generate-progress-indeterminate{0%{background-position:100% 0}to{background-position:-100% 0}}.timesheet-detail-modal .modal-body{padding-top:10px}.timesheet-detail{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:none;margin:0;text-align:left;gap:0}.timesheet-detail-section{display:flex;flex-direction:column;align-items:stretch;gap:.25em;margin:0;max-width:none}.timesheet-detail-section:first-of-type{margin-top:.25em}.timesheet-detail-section--jobs{margin-top:1.5em}.timesheet-detail-form,.timesheet-detail-summary{margin-top:1em}.timesheet-detail-summary--print-only{display:none}.timesheet-detail-print-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.timesheet-detail-print-meta span{display:block;color:var(--ink);font-size:12px;font-weight:700;line-height:1.3}.timesheet-detail-print-meta strong{display:block;color:var(--ink);font-size:14px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.timesheet-detail-print-notes{margin:0;color:var(--ink);font-size:14px;font-weight:400;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.timesheet-detail-section-title{font-size:13px;font-weight:600;color:var(--ink2);line-height:1.3;text-align:left}.timesheet-detail-empty{margin:0;font-size:14px;line-height:1.3}.timesheet-detail-check-in-list{display:grid;grid-template-columns:max-content max-content;column-gap:.75em;row-gap:2px;align-items:baseline;width:max-content;max-width:100%;font-size:14px;font-weight:400;line-height:1.25;color:var(--ink)}.timesheet-detail-check-in-row{display:contents}.timesheet-detail-check-in-range,.timesheet-detail-check-in-hours{white-space:nowrap}.timesheet-detail-check-in-total .timesheet-detail-check-in-range,.timesheet-detail-check-in-total .timesheet-detail-check-in-hours{font-weight:600;margin-top:2px}.timesheet-detail-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;font-weight:400;line-height:1.25;color:var(--ink)}.timesheet-detail-table th,.timesheet-detail-table td{padding:1px 12px 1px 0;font-weight:400;vertical-align:baseline;text-align:left}.timesheet-detail-table th{color:var(--ink2);font-size:12px;padding-top:0;padding-bottom:2px}.timesheet-detail-table .timesheet-detail-col-hours{white-space:nowrap;width:1%;padding-left:.75em}.timesheet-detail-total-row td{font-weight:600;padding-top:3px}.timesheet-detail-total-hours{position:relative}.timesheet-detail-total-label{position:absolute;left:.75em;transform:translate(calc(-100% - .8em));white-space:nowrap;font-weight:600}.timesheet-detail-hours-field{width:max-content;max-width:none}.timesheet-detail-hours-field>span{white-space:nowrap}.timesheet-detail-hours-field input[type=number]{width:4.75rem;max-width:4.75rem;box-sizing:border-box}.readonly-notes{white-space:pre-wrap;font-weight:400}.modal-body{padding:16px 22px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 22px 20px;border-top:1px solid var(--line)}.modal-foot-spacer{pointer-events:none;visibility:hidden}.modal-foot-split{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex-wrap:wrap}.modal-foot-access-flags{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.modal-foot-split .modal-foot-access-flags.access-flags-row{align-self:center}.modal-foot-split .modal-foot-access-flags.access-flags-row .check-row{min-height:var(--control-height);margin-bottom:0}.modal-foot-split .modal-foot-actions{align-items:center}.modal-foot-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-foot-actions--split{justify-content:space-between;width:100%}.modal-foot-actions-end{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.modal-foot-actions--lead{width:100%}.modal-foot-actions--grouped{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;width:100%}.modal-foot-group{display:flex;gap:8px;flex-wrap:wrap}.form-section{grid-column:1 / -1;display:grid;gap:4px}.form-section+.form-section{margin-top:4px;padding-top:16px;border-top:1px solid var(--line)}.form-section-title{margin:0 0 8px;font-family:Bricolage Grotesque,sans-serif;font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.01em}.portal-job-list{display:grid;gap:10px}.portal-job-card-wrap{border:1px solid var(--line);border-radius:14px;background:#fff;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.portal-job-card-wrap:hover,.portal-job-card-wrap:focus-within{background:#f8fcfb;border-color:#c8ddd8;box-shadow:0 0 0 2px #0fb5a61f}.portal-job-card-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;padding:14px 14px 0}.portal-job-card-titles{flex:1;min-width:0}.portal-job-map-btn{flex-shrink:0}.portal-job-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:12px 14px 14px;border:none;background:transparent;text-align:left;cursor:pointer}.portal-job-card:focus-visible{outline:3px solid rgba(15,181,166,.36);outline-offset:2px}.portal-job-meta-grid:not(.card-meta-grid-4){grid-template-columns:repeat(3,minmax(0,1fr))}.portal-job-card .card-meta span,.portal-job-card .card-meta strong{display:block;color:var(--ink);font-size:13.5px;font-weight:400;overflow-wrap:anywhere}.portal-job-card .card-meta strong{margin-top:2px}.portal-job-card .card-meta span{color:var(--muted);font-size:11.5px;font-weight:700}.map-list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex-shrink:0}.map-list-map-toggle{display:inline-flex;align-items:center;gap:6px}.map-list-panel>.list-search-toolbar{background:var(--card);border:1px solid var(--line);border-bottom:none;border-radius:18px 18px 0 0;box-shadow:none}.map-list-panel:has(>.list-search-toolbar){gap:0}.map-list-panel>.list-search-toolbar+.datatable{border-top:none;border-radius:0 0 18px 18px}.map-list-panel>.list-search-toolbar+.jobs-batch-bar{border-left:1px solid var(--line);border-right:1px solid var(--line)}.map-list-panel>.list-search-toolbar+.jobs-batch-bar+.datatable{border-top:none;border-radius:0 0 18px 18px}.map-list-panel>.list-search-toolbar+.map-list-card{border-top-left-radius:0;border-top-right-radius:0}.filter-tag-dropdown-wrap{position:relative;display:inline-flex}.filter-tag-dropdown-split{display:inline-flex;align-items:stretch}.filter-tag-dropdown-split .datatable-filter-tag{border-radius:0}.filter-tag-dropdown-split .filter-tag-dropdown-main{border-radius:999px 0 0 999px;border-right:none;padding-right:10px}.filter-tag-dropdown-split .filter-tag-dropdown-chevron-btn{border-radius:0 999px 999px 0;padding:5px 8px 5px 6px;min-width:0}.filter-tag-dropdown-split-on .datatable-filter-tag{background:var(--ink);border-color:var(--ink);color:#fff}.filter-tag-dropdown-split-on .filter-tag-dropdown-main{border-right-color:#ffffff40}.filter-tag-dropdown-chevron-open{transform:rotate(180deg)}.filter-tag-popover-list{display:grid;gap:2px;padding:6px;max-height:min(360px,60vh);overflow-y:auto}.filter-tag-popover-divider{height:1px;margin:4px 6px;background:var(--line)}.filter-tag-popover-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:500;color:var(--ink2);cursor:pointer}button.filter-tag-popover-item{width:100%;border:none;background:transparent;text-align:left;font:inherit}.table-wrap .num,.timesheet-detail-table .num{text-align:right;font-variant-numeric:tabular-nums}.filter-tag-popover-item:hover{background:#0a28260a}.filter-tag-popover-item-on{background:#0a28260f}.filter-tag-popover-item input{margin-top:2px;flex-shrink:0}.filter-tag-popover-actions{display:flex;justify-content:flex-end;gap:6px;padding:6px;border-top:1px solid var(--line)}.map-list-viewport{display:flex;flex-direction:column;gap:18px;flex:1 1 auto;min-height:0}.map-list-viewport .kpi-grid{flex-shrink:0}.map-list-panel{display:flex;flex-direction:column;gap:18px}.map-list-panel--fill{flex:1 1 auto;min-height:0}.map-list-panel--stale .datatable,.map-list-panel--stale .map-list-card{opacity:.72;transition:opacity .12s ease}.map-list-empty{padding-top:12px}.main:has(.stack--map-list){display:flex;flex-direction:column;overflow:hidden}.stack--map-list{flex:1 1 auto;min-height:0;width:100%}.map-list-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding-top:0;padding-bottom:18px}.map-list-card--fill{flex:1 1 auto;min-height:0}.map-list-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr;gap:12px;padding-top:12px;overflow:hidden}.map-list-body--map{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.map-list-scroll{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;padding-right:4px}.map-list-scroll--virtual{display:block}.virtual-scroll-list-item>*{margin-bottom:8px}.datatable-cards--virtual{max-height:min(calc(100vh - 280px),720px);overflow:auto}.map-list-compact-wrap{border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.map-list-compact-wrap:hover,.map-list-compact-wrap:focus-within{border-color:#0fb5a673}.map-list-compact-wrap--selected{border-color:var(--aqua);box-shadow:0 0 0 1px #0fb5a640}.map-list-compact{position:relative;display:block;width:100%;padding:10px 12px;border:0;background:transparent;text-align:left;cursor:pointer}.map-list-compact-wrap--has-map .map-list-compact{padding-right:48px}.map-list-compact:focus-visible{outline:3px solid rgba(15,181,166,.36);outline-offset:2px}.map-list-compact-map{position:absolute;top:10px;right:12px}.map-list-compact-titles{min-width:0}.map-list-compact-titles .card-title{font-size:14px;line-height:1.25}.map-list-compact-titles .card-subtitle{font-size:12.5px;margin-top:2px}.map-list-compact-meta{margin-top:8px}.map-list-compact-meta .card-meta span{font-size:11px}.map-list-compact-meta .card-meta strong{font-size:12.5px}.entity-map-shell{position:relative;min-height:0;height:100%;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#eef2f4}.entity-map-canvas{width:100%;height:100%;min-height:0}.entity-map-empty{position:absolute;inset:auto 12px 12px 12px;padding:8px 10px;border-radius:8px;background:#ffffffeb;color:var(--muted);font-size:13px;pointer-events:none}.entity-map-popup strong{display:block;margin-bottom:2px}.entity-map-popup-meta{margin-top:6px;font-size:12px}.entity-map-popup-meta span{display:block;color:var(--muted);font-size:11px;font-weight:700}.lead-pin-icon-wrapper,.lead-cluster-icon-wrapper{background:transparent;border:none}.lead-pin{position:relative;width:37px;height:50px;pointer-events:none}.lead-pin-head{position:absolute;left:50%;bottom:10px;transform:translate(-50%);filter:drop-shadow(0 1.5px 2.5px rgba(0,0,0,.22))}.lead-pin-circle{width:36px;height:36px;border-radius:50%;background:linear-gradient(180deg,var(--pin-top) 0%,var(--pin-bottom) 100%);border:2px solid var(--surface, #fff);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.lead-pin-glyph{width:16px;height:16px;color:#fff}.lead-pin-tip{width:12px;height:6px;margin:-2px auto 0;background:var(--surface, #fff);clip-path:polygon(0 0,100% 0,50% 100%)}.lead-pin-ground{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:9px;height:9px;border-radius:50%;background:var(--surface, #fff);box-shadow:0 0 0 1px var(--surface, #fff)}.lead-pin-ground:after{content:"";position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;border-radius:50%;background:var(--pin-bottom)}.lead-cluster{position:relative;border-radius:50%;box-shadow:0 2px 3px #00000038}.lead-cluster-disc{position:absolute;inset:var(--cluster-ring, 8px);border-radius:50%;background:var(--surface, #fff);display:flex;align-items:center;justify-content:center}.lead-cluster-count{font-size:var(--cluster-font, 12px);font-weight:700;line-height:1;color:var(--text, #111827);font-variant-numeric:tabular-nums}.entity-map-shell .marker-cluster,.entity-map-shell .marker-cluster div{background:transparent}.address-pin-adjust{margin-top:10px}.address-pin-adjust-hint{margin:0 0 6px}.address-pin-adjust-map{height:180px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.modal-tabs-wrap{margin:-4px 0 12px;border-bottom:1px solid var(--line)}.modal-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:0;-webkit-overflow-scrolling:touch}.modal-tab{flex:0 0 auto;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);cursor:pointer;font-size:13.5px;font-weight:600;margin-bottom:-1px;padding:10px 12px;white-space:nowrap}.modal-tab:hover{color:var(--ink2)}.modal-tab:focus-visible{border-radius:8px 8px 0 0;outline:2px solid var(--aqua);outline-offset:2px}.modal-tab-active{border-bottom-color:var(--aqua);color:var(--ink)}.modal-tab-panels,.modal-tab-panel{min-width:0}.modal-tab-panel:not(.modal-tab-panel-hidden){display:flex;flex-direction:column;min-height:100%}.modal-tab-panel-hidden{display:none}.modal-tab-placeholder{flex:1;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:14px;padding:28px 18px;text-align:center}.modal-tab-placeholder p{margin:0;font-size:14px}.customer-jobs-tab{display:grid;gap:12px}.customer-jobs-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.customer-jobs-item{border:1px solid var(--line);border-radius:14px;display:grid;gap:8px;padding:12px 14px}.customer-jobs-item-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);color:inherit;cursor:pointer;font:inherit;text-align:left;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.customer-jobs-item-btn:hover,.customer-jobs-item-btn:focus-visible{border-color:var(--aqua);box-shadow:0 0 0 2px #0fb5a61f;outline:none}.customer-jobs-list-scroll{max-height:min(52vh,420px);overflow:auto;padding-right:2px}.customer-jobs-item-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}.customer-jobs-item-date{color:var(--ink2);font-size:13px;font-weight:600}.customer-jobs-item-date-only{margin-left:auto}.customer-jobs-item-address{font-size:13.5px;line-height:1.35}.customer-jobs-item-meta{display:grid;gap:8px 14px;grid-template-columns:repeat(3,minmax(0,1fr))}.customer-jobs-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.customer-jobs-meta>span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.customer-jobs-meta>strong{font-size:13.5px;font-weight:400}.customer-jobs-item-tags{margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .field.full{grid-column:1 / -1}select:not(.PhoneInputCountrySelect){border:1px solid var(--line);border-radius:var(--control-radius);height:var(--control-height);min-height:var(--control-height);padding:8px var(--control-padding-x);font-size:13.5px;line-height:1.2;width:100%;background:#fff}textarea{border:1px solid var(--line);border-radius:var(--control-radius);padding:8px var(--control-padding-x);font-size:13.5px;width:100%;min-height:72px;resize:vertical;font-family:inherit}.check-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13.5px;font-weight:600}.check-row input{width:auto}.radio-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:4px;width:fit-content}.radio-row{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer}.radio-row input{width:auto;margin:0}.radio-row:has(input:disabled){cursor:default;opacity:.72}.period-trigger{display:inline-flex;align-items:center;min-height:var(--control-height);gap:8px;border:1px solid var(--line);background:#fff;border-radius:var(--control-radius);padding:8px 12px;font-weight:600;font-size:13px;color:var(--ink2);cursor:pointer}.period-chevron-open{transform:rotate(180deg)}.period-list{max-height:320px;overflow-y:auto;padding:6px 0}.period-group{padding:8px 14px 4px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.period-item{display:block;width:100%;border:0;background:none;text-align:left;padding:9px 14px;font-size:13.5px;color:var(--ink2);cursor:pointer}.period-item:hover{background:var(--mint)}.period-item-on{background:var(--mint);font-weight:700;color:var(--ink)}.period-soon{padding:24px 14px;text-align:center;font-size:13px}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-toolbar--end{justify-content:flex-end}.page-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}.page-toolbar-left .sec-title{margin:0}.td-actions{display:flex;gap:6px;justify-content:flex-end}.pin-row{display:flex;align-items:center;gap:12px;min-height:38px}.pin-row-value{flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:14px}.pin-row-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.table-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.pin-readonly-value{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,monospace;font-size:15px;font-weight:400;line-height:1.3}.pin-edit-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.type-change-confirm{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fffbf5}.type-change-confirm p{margin:0 0 8px;font-size:13.5px}.type-change-jobs{margin:0 0 10px;padding-left:18px;font-size:13px;color:var(--ink2)}.pin-icon{display:inline-flex;color:var(--aqua-d);vertical-align:middle}.customer-type-icon{display:inline-flex;color:var(--muted);vertical-align:middle}.datatable-table th.customer-list-col-type,.datatable-table td.customer-list-col-type{width:1%;padding-right:4px;padding-left:12px}.datatable-table th.customer-list-col-name,.datatable-table td.customer-list-col-name{padding-left:4px}.datatable-table th.customer-list-col-follow-up,.datatable-table td.customer-list-col-follow-up{width:.1%;white-space:nowrap}.datatable-table th.lead-list-col-more,.datatable-table td.lead-list-col-more{white-space:nowrap}.datatable-leads .datatable-table th.lead-list-col-occurred,.datatable-leads .datatable-table td.lead-list-col-occurred,.datatable-leads .datatable-table th.lead-list-col-more,.datatable-leads .datatable-table td.lead-list-col-more,.datatable-leads .datatable-table th.lead-list-col-outcome,.datatable-leads .datatable-table td.lead-list-col-outcome,.datatable-leads .datatable-table th.lead-list-col-customer,.datatable-leads .datatable-table td.lead-list-col-customer,.datatable-leads .datatable-table th.lead-list-col-sales-agent,.datatable-leads .datatable-table td.lead-list-col-sales-agent,.datatable-leads .datatable-table th.lead-list-col-source,.datatable-leads .datatable-table td.lead-list-col-source,.datatable-leads .datatable-table th.lead-list-col-follow-up,.datatable-leads .datatable-table td.lead-list-col-follow-up{width:.1%;white-space:nowrap}.datatable-leads .datatable-table th.lead-list-col-more,.datatable-leads .datatable-table td.lead-list-col-more{padding-left:4px;padding-right:4px}.datatable-leads .datatable-table th.lead-list-col-address,.datatable-leads .datatable-table td.lead-list-col-address{width:99%;min-width:10rem;overflow-wrap:anywhere;word-break:break-word}.attention-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.attention-item{display:flex;align-items:baseline;gap:8px;font-size:13px;line-height:1.35}.attention-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:.35em}.attention-dot--moderate{background:var(--attention-moderate)}.attention-dot--warning{background:var(--attention-warning)}.attention-dot--critical{background:var(--attention-critical)}.nav-link-label,.segm-label{display:inline-flex;align-items:center;gap:6px}.nav-attention-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--attention-critical, #dc2626)}.phone-field{display:flex;flex-direction:column;gap:5px}.phone-input{display:flex;align-items:center;min-height:var(--control-height);gap:8px;border:1px solid var(--line);border-radius:var(--control-radius);padding:0 10px;background:#fff}.phone-input:focus-within{border-color:var(--aqua);box-shadow:0 0 0 2px #0fb5a61f}.phone-input-invalid,input.input-invalid{border-color:var(--danger)}.phone-input .PhoneInputInput{border:0!important;min-height:0!important;height:auto!important;padding:0!important;font-size:13.5px;width:100%;background:transparent;border-radius:0;box-shadow:none}.phone-input .PhoneInputInput:focus{outline:none}.phone-input .PhoneInputCountry{margin-right:4px}.phone-input .PhoneInputCountrySelect{border:0;background:transparent;font-size:13px}.form-card{max-width:680px}.form-card .full{grid-column:1 / -1}.capability-group .check-row{margin-bottom:6px}.capability-group-inline .capability-checkbox-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:4px}.capability-group-inline .check-row{margin-bottom:0}.access-flags-row{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;align-self:start;gap:8px 20px;width:fit-content;max-width:100%}.access-flags-row .check-row{margin-bottom:0}.rate-inputs{display:flex;flex-wrap:wrap;align-items:end;gap:0 14px}.rate-inputs .field{margin-bottom:0;min-width:0}.rate-field{display:flex;align-items:center;gap:6px}.rate-field-col{max-width:17rem}.rate-input{width:5rem;min-width:5rem;max-width:5rem;padding:9px 6px;text-align:center}.hourly-wage-field{max-width:11rem}.hourly-wage-input{width:5.5rem;min-width:5.5rem;max-width:5.5rem;padding:9px 6px;text-align:center}.field.field-readonly{gap:2px}.field-readonly-value{display:block;font-size:15px;font-weight:400;line-height:1.3}.rate-suffix{font-size:13.5px;font-weight:600;color:var(--ink2)}.compensation-readonly-values{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:flex-start}.field.compensation-readonly-values{flex-direction:row;align-items:flex-start}.compensation-readonly-values>.field{margin-bottom:0}.compensation-readonly-values>div{display:flex;flex-direction:column;gap:2px}.compensation-readonly-values strong{font-size:15px;font-weight:400}.job-schedule-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,7rem) minmax(12rem,18rem) auto;gap:0 14px;align-items:start}.job-schedule-row>.field{margin-bottom:12px;min-width:0}.job-schedule-section{border-top:0;margin-top:0;padding-top:0}.job-tags-field{margin-bottom:12px}.job-tags-field-edit{margin-top:6px}.job-schedule-flags{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;min-height:var(--control-height)}.job-schedule-row .job-schedule-flags{padding-top:21px}.job-schedule-flag{flex-direction:row;flex-wrap:nowrap;margin-bottom:0;white-space:nowrap}.job-schedule-flag input,.job-schedule-flag span{flex:0 0 auto}.date-field-input{width:100%;max-width:11rem}.time-field-input{width:5rem;max-width:100%;text-align:center}.picker-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;margin-left:4px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.date-time-control-segment-time .picker-icon-btn{width:18px;min-width:18px;height:28px;margin-left:2px;margin-right:-6px;padding:0}.picker-icon-btn:hover,.picker-icon-btn-open{background:var(--mint);color:var(--ink2)}.picker-input{flex:1;min-width:0;width:auto!important;border:0!important;background:transparent!important;height:auto!important;min-height:0!important;padding:8px 6px!important;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);box-shadow:none!important}.picker-input:focus{outline:none}.picker-input::placeholder{color:var(--muted);font-weight:500}.picker-field-wrap{position:relative;display:flex;align-items:center;gap:2px;width:100%;max-width:11rem;min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);background:#fff;padding-right:8px}.picker-field-wrap:focus-within{border-color:var(--aqua);box-shadow:0 0 0 2px #0fb5a61f}.picker-field-wrap-time{max-width:6.75rem;gap:4px;padding:0 8px 0 6px}.picker-field-wrap-time .picker-icon-btn{width:24px;min-width:24px;height:28px;margin-left:0;margin-right:0;padding:0;flex-shrink:0}.picker-field-input{padding-right:4px!important}.picker-field-wrap-time .picker-input{flex:1;min-width:0;padding:8px 0!important;text-align:center}.picker-popover{position:fixed;z-index:1200;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 48px #0a282629;padding:10px}.picker-popover-period{padding:0;overflow:hidden}.picker-popover-time{padding:6px}.picker-popover-foot{display:flex;justify-content:flex-end;padding-top:8px;margin-top:4px;border-top:1px solid var(--line)}.date-time-control{display:flex;align-items:stretch;width:100%;min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);background:#fff;overflow:visible}.date-time-control:focus-within{border-color:var(--aqua);box-shadow:0 0 0 2px #0fb5a61f}.date-time-control-segment{position:relative;display:flex;align-items:center;gap:0;min-width:0;flex:1 1 auto}.date-time-control-segment-time{flex:0 0 auto;gap:0}.date-time-control-input-date{min-width:5.5rem}.date-time-control-input-time{width:3.75rem!important;flex:0 0 auto;padding-left:0!important;padding-right:6px!important;text-align:center}.date-time-control--compact .date-time-control-input-date{min-width:4.75rem}.date-time-control-divider{width:1px;align-self:stretch;background:var(--line);flex-shrink:0}.time-picker-menu{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto;min-width:5.5rem;padding:2px}.time-picker-option{border:0;background:none;border-radius:8px;padding:8px 12px;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink2);text-align:center;cursor:pointer}.time-picker-option:hover{background:var(--mint)}.time-picker-option-on{background:var(--aqua);color:#03332f}.cleansight-day-picker{--rdp-accent-color: var(--aqua);--rdp-accent-background-color: var(--mint);--rdp-day-height: 36px;--rdp-day-width: 36px;--rdp-day_button-height: 34px;--rdp-day_button-width: 34px;--rdp-day_button-border-radius: 9px;--rdp-selected-border: 0;--rdp-today-color: var(--aqua-d);--rdp-outside-opacity: .45;--rdp-weekday-opacity: .75;--rdp-nav_button-height: 30px;--rdp-nav_button-width: 30px;font-size:13.5px;color:var(--ink2)}.cleansight-day-picker .rdp-month_caption{font-family:Bricolage Grotesque,sans-serif;font-weight:700;color:var(--ink);font-size:14px}.cleansight-day-picker .rdp-weekday{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cleansight-day-picker .rdp-day_button:hover:not([disabled]){background:var(--mint)}.cleansight-day-picker .rdp-selected .rdp-day_button{background:var(--aqua);color:#03332f;font-weight:700}.cleansight-day-picker .rdp-today:not(.rdp-selected) .rdp-day_button{border:1px solid var(--aqua);color:var(--aqua-d)}.cleansight-day-picker .rdp-chevron{fill:var(--ink2)}.cleansight-day-picker .rdp-button_previous,.cleansight-day-picker .rdp-button_next{border-radius:8px}.cleansight-day-picker .rdp-button_previous:hover,.cleansight-day-picker .rdp-button_next:hover{background:var(--mint)}.interaction-meta-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:0 14px;align-items:flex-end}.interaction-meta-row .field{margin-bottom:12px;min-width:0}.interaction-when-field{flex:0 0 auto;max-width:13.5rem}.interaction-follow-up-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem}.interaction-select-field{flex:0 1 auto;width:auto}.interaction-select-field select{width:auto;min-width:8rem;max-width:100%}.job-scheduled-field{max-width:18rem;min-width:0}.job-scheduled-summary-row{display:flex;align-items:center;gap:8px;min-height:var(--control-height)}.job-scheduled-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-schedule-picker-button{width:34px;min-width:34px;padding:6px}.job-duration-field{max-width:7rem}.job-duration-input{width:4.5rem;min-width:4.5rem;max-width:4.5rem;padding:9px 6px;text-align:center}.job-price-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;column-gap:36px;row-gap:0;align-items:flex-end}.job-price-row>.field{margin-bottom:12px;min-width:0}.job-price-row>.job-price-field{margin-right:6px}.job-price-field{max-width:9rem}.job-price-input{width:5.5rem;min-width:5.5rem;max-width:5.5rem;padding:9px 6px;text-align:center}.job-form-section{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start;padding-top:8px;border-top:1px solid var(--line);margin-top:4px}.job-form-section-label{grid-column:1 / -1;font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:4px}.job-sold-sales-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,8.4rem) minmax(0,16rem) minmax(0,7.7rem);gap:0 14px;align-items:end}.job-sold-sales-row>.field{margin-bottom:12px;min-width:0}.job-sold-date-field{max-width:8.4rem}.job-sales-agent-field{max-width:16rem}.job-sales-commission-field{max-width:7.7rem}.job-sales-commission-field .rate-input{width:3.5rem;min-width:3.5rem;max-width:3.5rem}.job-form-section>.field.rate-field-col{max-width:11rem}.job-rut-inline-field{min-height:var(--control-height);align-self:end;display:inline-flex;flex-wrap:nowrap;white-space:nowrap}.job-rut-inline-field input,.job-rut-inline-field span{flex:0 0 auto}.job-rut-inline-field.check-row{flex-direction:row;align-items:center;margin-bottom:12px}.job-customer-pays-field{max-width:11rem}.job-customer-pays-field.field-readonly{justify-content:flex-start}.job-price-row:has(.job-price-input) .job-customer-pays-field .field-readonly-value{min-height:var(--control-height);display:flex;align-items:center}.job-payment-field{max-width:9rem}.job-payment-field>span{white-space:nowrap}.datatable-table th.jobs-list-col-method,.datatable-table td.jobs-list-col-method{width:4.5rem;max-width:4.5rem;white-space:nowrap}.job-payment-field select{width:auto;min-width:7rem}.job-rut-status-field{width:fit-content;max-width:none}.job-rut-status-field>span{white-space:nowrap}.job-rut-status-field select{width:auto;field-sizing:content}.job-customer-home-field{max-width:18rem}.job-worker-section-wrap{grid-column:1 / -1;min-width:0}.job-worker-rows{display:flex;flex-direction:column;gap:0}.job-worker-picker-row{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,7rem) auto;gap:8px 10px;align-items:end}.job-worker-picker-field,.job-worker-row-rate-field{margin-bottom:12px;min-width:0}.job-worker-readonly-section{grid-column:1 / -1;min-width:0}.job-worker-readonly-section>.form-section-title{margin-bottom:8px}.job-worker-readonly-list{display:flex;flex-direction:column;gap:8px}.job-worker-readonly-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.job-worker-readonly-rate{color:var(--ink2);font-size:13.5px}.job-worker-row-conflict{display:block;font-size:12px;color:var(--warn, #b45309);margin-top:4px}.job-worker-row-actions{display:flex;align-items:center;gap:8px;padding-bottom:12px}.job-worker-row-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;border:none;cursor:pointer;flex-shrink:0}.job-worker-row-btn:disabled{opacity:.5;cursor:not-allowed}.job-worker-row-btn--add{background:var(--ok, #22c55e);color:#fff}.job-worker-row-btn--remove{background:transparent;border:1.5px solid var(--border, #d1d5db);color:var(--ink2, #64748b)}.job-upsell-commission-field{max-width:11rem}.recurring-row{flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}.recurring-row .check-row{margin-bottom:0}.recurring-interval{display:flex;align-items:center;gap:6px;flex:0 0 auto;width:auto}.recurring-interval-disabled{opacity:.55}.recurring-interval input.recurring-months-input[type=number]{box-sizing:border-box;width:4rem;min-width:4rem;max-width:4rem;flex:0 0 4rem;padding:9px 4px;text-align:center}.recurring-months-input:disabled{cursor:not-allowed;background:var(--mint, #f4faf9);color:var(--muted)}.recurring-interval-suffix,.recurring-every-label{font-size:13.5px;font-weight:600;color:var(--ink2)}.contact-fields-row{display:grid;grid-template-columns:1fr 2fr;gap:0 14px;align-items:start}.contact-fields-row>.field{margin-bottom:0;min-width:0}.name-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}.name-fields-row>.field{margin-bottom:0;min-width:0}.customer-address-section{gap:12px}.section-title-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.customer-address-list{display:grid;gap:12px}.customer-address-card{display:grid;gap:0}.customer-address-card-multi{background:#f8fafcc7;border:1px solid var(--line);border-radius:14px;padding:12px}.customer-address-card-multi>.field,.customer-address-card-multi>.customer-address-recurring{margin-bottom:12px}.customer-address-card-multi>*:last-child{margin-bottom:0}.customer-address-grid{display:grid;gap:0 14px;grid-template-columns:minmax(0,15%) minmax(0,42%);justify-content:start;margin-bottom:12px}.customer-address-grid>.field{margin-bottom:0}.customer-address-field>span{display:block}.customer-address-readonly-inline{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px;max-width:100%}.customer-address-readonly-text{min-width:0}.customer-address-readonly-row{align-items:center;display:flex;gap:8px;margin-bottom:12px;width:100%}.customer-address-readonly-row>.customer-address-field{flex:1;margin-bottom:0;min-width:0}.customer-address-readonly-row>.customer-address-map-btn{flex-shrink:0}.customer-address-card>.customer-address-readonly-row:last-child,.customer-address-card-multi>.customer-address-readonly-row:last-child{margin-bottom:0}.customer-address-recurring-readonly{color:var(--ink);font-size:15px;font-weight:400;line-height:1.3;margin:0 0 12px}.customer-address-card>.customer-address-recurring-readonly:last-child,.customer-address-card-multi>.customer-address-recurring-readonly:last-child{margin-bottom:0}.customer-address-input-row{align-items:flex-start;display:flex;gap:8px;width:100%}.customer-address-input-row .address-autocomplete{flex-shrink:0;width:60%}.customer-address-input-actions{align-items:flex-start;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.customer-address-remove-btn[aria-disabled=true]{cursor:not-allowed;opacity:.45}.customer-address-footer-row{align-items:center;flex-direction:row;justify-content:space-between}.customer-address-recurring-main{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:14px;min-width:0}.customer-address-primary{flex-shrink:0;margin-bottom:0;margin-left:auto}.customer-address-recurring{margin-top:0}.customer-address-recurring .recurring-every-label,.customer-address-recurring .recurring-interval-suffix{color:inherit;font-size:13.5px;font-weight:600}.customer-address-add-row{display:flex;justify-content:flex-end}.address-autocomplete{position:relative;width:60%}.address-autocomplete-row{align-items:stretch;display:flex;gap:8px}.address-autocomplete-row input{flex:1;min-width:0}.address-autocomplete-search{flex-shrink:0;justify-content:center;min-width:6.25rem;white-space:nowrap}.btn-spinner{border:2px solid var(--line);border-radius:50%;border-top-color:var(--aqua-700, #047481);height:1rem;width:1rem;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.address-autocomplete-hint{margin-top:4px}.address-autocomplete-list{background:var(--surface, #fff);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px #0f172a1f;display:grid;gap:2px;left:0;list-style:none;margin:4px 0 0;max-height:min(50vh,400px);overflow:auto;padding:4px;position:absolute;right:0;z-index:20}.address-autocomplete-list button{background:transparent;border:0;border-radius:8px;color:var(--ink);cursor:pointer;font:inherit;padding:8px 10px;text-align:left;width:100%}.address-autocomplete-list button:hover,.address-autocomplete-list button.is-active,.address-autocomplete-list button:focus-visible{background:#04748114;outline:none}.customer-address-nearby-btn{flex-shrink:0;min-height:44px}.modal-nearby-address .modal-body{padding-bottom:8px}.nearby-address-status{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:120px;padding:12px 0;text-align:center}.nearby-address-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.nearby-address-item{align-items:flex-start;background:var(--surface, #fff);border:1px solid var(--line);border-radius:12px;color:inherit;display:flex;gap:12px;min-height:56px;padding:12px 14px;text-align:left;width:100%}.nearby-address-item:hover,.nearby-address-item:focus-visible{background:#04748114;outline:none}.nearby-address-item svg{color:var(--aqua-700, #047481);flex-shrink:0;margin-top:2px}.nearby-address-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.nearby-address-item-label{font-size:14px;font-weight:600;line-height:1.35}.text-link{color:var(--aqua-700, #047481);font-size:13px;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.field-hint-link{align-self:flex-start;margin-top:4px}@media(max-width:820px){.topbar{align-items:flex-start}.brand-name{font-size:19px;letter-spacing:.1em}.page-toolbar,.page-toolbar-left,.page-toolbar-right,.datatable-toolbar,.datatable-foot,.datatable-pager,.segm{width:100%}.page-toolbar,.page-toolbar-left{align-items:stretch}.page-toolbar-right{margin-left:0}.page-toolbar .btn-primary{width:100%}.segm{overflow-x:auto}.segm button{flex:1 0 auto;min-height:38px}.search-box{min-width:100%;max-width:none}.kpi-grid,.kpi-grid--period{grid-template-columns:repeat(2,1fr)}.rut-row{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.interaction-meta-row{flex-direction:column;align-items:stretch;gap:0}.interaction-meta-row .field,.interaction-when-field,.interaction-select-field{flex:1 1 auto;width:100%;max-width:none}.interaction-select-field select{width:100%;min-width:0}.contact-fields-row,.name-fields-row{grid-template-columns:1fr}.customer-address-grid{grid-template-columns:minmax(0,15%) minmax(0,42%)}.address-autocomplete,.customer-address-input-row .address-autocomplete{width:100%}.job-schedule-row{grid-template-columns:minmax(0,7rem) minmax(11rem,1fr)}.job-schedule-row .job-schedule-flags{grid-column:1 / -1}.job-schedule-row .job-schedule-flags{padding-top:0}.job-price-row{grid-template-columns:1fr}.job-worker-picker-row{grid-template-columns:minmax(0,1fr) minmax(0,7rem) auto}.job-sold-sales-row,.job-form-section,.customer-jobs-item-meta{grid-template-columns:1fr}}@media(max-width:700px){.datatable-has-cards .datatable-scroll{display:none}.datatable-has-cards .datatable-cards{display:grid}.datatable-has-cards .datatable-below-pager{display:none}.datatable-has-cards .datatable-below-pager-mobile{display:block}.datatable-foot{align-items:stretch}.datatable-pager{justify-content:space-between;margin-left:0}.pager-size{flex:1 1 100%}.pager-info{min-width:auto}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{max-width:none;max-height:94vh;border-radius:22px 22px 0 0}.modal-head{padding:18px 18px 0}.modal-body{padding:14px 18px}.modal-foot{display:grid;grid-template-columns:1fr;padding:12px 18px max(18px,env(safe-area-inset-bottom))}.modal-foot .btn{width:100%}.modal-foot-actions--split,.modal-foot-actions--lead,.modal-foot-actions--grouped,.modal-foot-split{flex-direction:column;align-items:stretch}.modal-foot-group,.modal-foot-group-primary{flex-direction:column;width:100%}.modal-foot-group-danger{order:2;width:100%}.modal-foot-group-primary{order:1}.modal-foot-group-primary .btn-primary{order:-1}.modal-foot-actions-end{margin-left:0;width:100%;flex-direction:column}.modal-foot-actions-start{width:100%;flex-direction:column}.modal-foot-split .modal-foot-actions{flex-direction:column;width:100%}.modal-foot-split .modal-foot-actions .btn-primary{order:-1}.lead-detail{max-height:none}}.toast-viewport{position:fixed;z-index:1100;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 24px));right:12px;bottom:max(12px,env(safe-area-inset-bottom));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);box-shadow:0 10px 30px #0a282624;pointer-events:auto;animation:toast-in .2s ease-out}.toast-success{border-color:#b8e8d4;background:#f3fbf7}.toast-error{border-color:#f0c4bc;background:#fff6f4}.toast-info{border-color:#c8d8f5;background:#f5f8ff}.toast-icon{flex-shrink:0;margin-top:1px}.toast-success .toast-icon{color:#1c8f56}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--violet)}.toast-message{margin:0;flex:1;font-size:13.5px;font-weight:600;color:var(--ink2);line-height:1.4}.toast-dismiss{flex-shrink:0;border:0;background:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.toast-dismiss:hover{color:var(--ink2);background:#0a28260f}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.btn-spinner{animation:none;border-top-color:var(--line)}.team-row-accepted-flash td,.team-row-accepted-flash.datatable-card{animation:none;background-color:#d4f5e6}}.schedule-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:10px}.schedule-page-head>div:first-child{grid-column:1;min-width:0}.schedule-page-head>div:first-child h1{margin:0}.schedule-page-head>div:first-child p{margin:4px 0 0;color:var(--muted);font-size:13.5px}.schedule-view-toggle-wrap{grid-column:2;display:flex;justify-content:center}.schedule-page-head .schedule-help-btn{grid-column:3;justify-self:end}.schedule-view-toggle{min-width:220px}.schedule-view-toggle button{flex:1 1 0;min-width:96px}.schedule-week-nav-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:10px}.schedule-week-nav{grid-column:2;display:flex;align-items:center;justify-content:center;gap:10px}.schedule-week-nav-actions{grid-column:3;justify-self:end;display:flex;gap:8px;flex-wrap:wrap}.schedule-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--aqua);cursor:pointer}.schedule-nav-btn:disabled{opacity:.5;cursor:not-allowed}.schedule-week-pill{min-width:180px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:700;color:var(--ink);cursor:pointer;box-shadow:0 2px 8px #0a28260f}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.schedule-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.schedule-help-btn,.form-help-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-target);height:var(--tap-target);margin:-6px 0;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.schedule-help-btn:hover,.form-help-btn:hover{color:var(--ink2);background:#0a28260f}.schedule-help-btn:focus-visible,.form-help-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schedule-instructions-body,.form-instructions-body{margin:0;color:var(--ink2);font-size:14px;line-height:1.55}.info-modal-body{display:flex;flex-direction:column;gap:20px}.info-modal-section{display:flex;flex-direction:column;gap:10px}.info-modal-section-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.info-modal-deflist{margin:0;display:flex;flex-direction:column;gap:12px}.info-modal-deflist>div{display:flex;flex-direction:column;gap:3px}.info-modal-deflist dt{margin:0;font-size:14.5px;font-weight:700;color:var(--ink)}.info-modal-deflist dd{margin:0;color:var(--ink2);font-size:14px;line-height:1.55}.info-modal-note{margin:0;line-height:1.5}.help-page-sections{display:flex;flex-direction:column;gap:14px;padding-bottom:8px}.help-section-card{padding:18px 20px}.changelog-page-sections{display:flex;flex-direction:column;gap:14px;padding-bottom:8px}.changelog-entry-card{padding:18px 20px}.changelog-entry-title{margin:0 0 12px;font-size:17px;font-weight:650}.changelog-category{margin-top:10px}.changelog-category-title{margin:0 0 6px;font-size:13px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.changelog-empty{padding:18px 20px}.help-section-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.help-admin-badge{font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--surface2, #f0f2f5);color:var(--ink2);border:1px solid var(--border, #e2e6ea)}.help-section-intro{margin:0;font-size:14px;line-height:1.55}.help-bullet-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:8px;color:var(--ink2);font-size:14px;line-height:1.55}.help-bullet-list li{padding-left:2px}.lead-form-divider{grid-column:1 / -1;border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.job-customer-choose{display:grid;gap:16px}.job-customer-choose-actions{display:flex;flex-wrap:wrap;gap:10px}.job-customer-summary{display:grid;gap:12px;width:100%;min-width:0}.form-grid .job-customer-summary{grid-column:1 / -1}.job-customer-summary-head{display:flex;align-items:center;justify-content:flex-end;gap:12px}.job-customer-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:640px){.job-customer-summary-grid{grid-template-columns:minmax(0,1fr)}}.form-grid .customer-property-picker,.form-grid .job-customer-choose{grid-column:1 / -1}.customer-property-picker{display:grid;gap:12px;width:100%;min-width:0}.customer-property-picker-search span{display:none}.customer-property-picker-results{list-style:none;margin:0;padding:0;display:grid;gap:4px;width:100%;max-height:min(50vh,360px);overflow-y:auto}.customer-property-picker-results>li{width:100%;min-width:0}.customer-property-picker-result{width:100%;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}.customer-property-picker-result:hover,.customer-property-picker-result:focus-visible{border-color:var(--line);background:var(--surface2);outline:none}.customer-property-picker-main{flex:1;min-width:0;display:grid;gap:2px}.customer-property-picker-name{font-weight:600}.customer-property-picker-address{font-size:13px;color:var(--ink2)}.customer-property-picker-contact{flex-shrink:0;text-align:right;font-size:13px;color:var(--ink2);display:grid;gap:2px}.customer-property-picker-contact-line{white-space:nowrap}.duplicate-modal{display:grid;gap:0}.duplicate-modal-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.duplicate-modal-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.duplicate-modal-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.duplicate-modal-main{flex:1;min-width:0;display:grid;gap:4px}.duplicate-modal-name{font-weight:600}.duplicate-modal-meta{font-size:13px;color:var(--ink2)}.duplicate-modal-use{flex-shrink:0}.schedule-grid-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:clip;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.schedule-grid{display:flex;gap:6px;min-width:min(100%,980px)}.schedule-time-axis{flex-shrink:0;width:44px;position:relative}.schedule-axis-spacer{height:28px}.schedule-axis-spacer--flex-zones{height:auto;min-height:106px;flex-shrink:0}.schedule-hour-label{color:var(--muted);font-size:11px;font-weight:600;padding-top:2px;box-sizing:border-box}.schedule-days-scroll{flex:1;min-width:0}.schedule-day-headers{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:6px;margin-bottom:6px}.schedule-day-header{text-align:center;font-size:13px;font-weight:800;color:var(--ink2);text-transform:capitalize}.schedule-day-columns{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:6px}.schedule-day-col{position:relative;border:1px solid rgba(10,40,38,.12);border-radius:12px;overflow:hidden;background:#f6f8f7;touch-action:pan-x pan-y}.schedule-day-col--painting{touch-action:none}.schedule-hour-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.schedule-hour-cell{border-top:1px solid rgba(10,40,38,.08);background:#0a282608;box-sizing:border-box}.schedule-hour-cell:first-child{border-top:0}.schedule-block{position:absolute;left:3px;right:3px;border-radius:8px;z-index:2;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.schedule-capacity-block{--capacity-slots: 1;background-color:#48bb7838;border:1px solid rgba(56,161,105,.35);z-index:1;background-image:repeating-linear-gradient(to right,#48bb7838,#48bb7838 calc(100% / var(--capacity-slots) - 1px),#0a282624 calc(100% / var(--capacity-slots) - 1px),#0a282624 calc(100% / var(--capacity-slots)))}.schedule-capacity-block .schedule-block-body,.schedule-capacity-block .schedule-block-body:active{cursor:default}.schedule-grid-wrap--capacity-edit .schedule-capacity-block{z-index:4;background-color:#48bb7824;background-image:repeating-linear-gradient(to right,#48bb7824,#48bb7824 calc(100% / var(--capacity-slots) - 1px),#0a28261a calc(100% / var(--capacity-slots) - 1px),#0a28261a calc(100% / var(--capacity-slots)))}.schedule-grid-wrap--capacity-edit .schedule-job-block{z-index:2}.schedule-grid-wrap--capacity-edit .schedule-capacity-block:hover:not(.schedule-block--dragging):not(.schedule-block--preview){border-width:2px;border-color:#38a1698c}.schedule-grid-wrap--capacity-edit .schedule-capacity-block .schedule-block-body{cursor:grab}.schedule-grid-wrap--capacity-edit .schedule-capacity-block .schedule-block-body:active{cursor:grabbing}.schedule-grid-wrap--capacity-edit .schedule-capacity-block--closed:hover:not(.schedule-block--dragging):not(.schedule-block--preview){border-color:#38a169a6}.schedule-capacity-block--closed{background-color:#48bb781a;background-image:repeating-linear-gradient(to right,transparent,transparent calc(100% / var(--capacity-slots) - 1px),rgba(10,40,38,.12) calc(100% / var(--capacity-slots) - 1px),rgba(10,40,38,.12) calc(100% / var(--capacity-slots))),repeating-linear-gradient(-45deg,#48bb7824,#48bb7824 6px,#48bb780f 6px,#48bb780f 12px);border-style:dashed;border-color:#38a16973}.schedule-grid-wrap--capacity-edit .schedule-capacity-block--closed{background-color:#48bb7814;background-image:repeating-linear-gradient(to right,transparent,transparent calc(100% / var(--capacity-slots) - 1px),rgba(10,40,38,.1) calc(100% / var(--capacity-slots) - 1px),rgba(10,40,38,.1) calc(100% / var(--capacity-slots))),repeating-linear-gradient(-45deg,#48bb7824,#48bb7824 6px,#48bb780f 6px,#48bb780f 12px)}.schedule-job-block{background:#3884ff33;border:1px solid rgba(56,132,255,.35);z-index:3}.schedule-job-block--completed{background:var(--surface2, #f4f6f8);border:1px solid var(--line, rgba(10, 40, 38, .16))}.schedule-job-block--completed.schedule-block--warning{background:color-mix(in srgb,var(--attention-warning) 16%,var(--surface2, #f4f6f8));border-color:color-mix(in srgb,var(--attention-warning) 55%,var(--line, rgba(10, 40, 38, .16)))}.schedule-job-block--completed.schedule-block--invalid{background:color-mix(in srgb,#e05353 14%,var(--surface2, #f4f6f8));border-color:color-mix(in srgb,#e05353 55%,var(--line, rgba(10, 40, 38, .16)))}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-block-handle--hover{height:0;overflow:hidden;pointer-events:none}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block:hover .schedule-block-handle--hover,.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block.schedule-block--dragging .schedule-block-handle--hover{height:12px;overflow:visible;pointer-events:auto}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-block-body{padding:1px 8px 4px;flex:1}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-block-body--stacked-duration{justify-content:flex-start}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-block-duration{margin-top:2px;font-size:11px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-block-label{font-size:12px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-block-sub{font-size:11px;margin-top:0}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-block-footer{position:absolute;right:4px;bottom:2px;left:4px;margin-top:0;padding:0;background:transparent;pointer-events:none;z-index:2}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-block-workers{justify-content:flex-end;width:100%;pointer-events:auto}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-workers-btn{width:auto;max-width:100%;justify-content:flex-end;pointer-events:auto}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-assign-btn{padding:2px;font-size:10px;border-color:color-mix(in srgb,var(--attention-warning) 75%,black);background:var(--attention-warning);color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 4px #0a28262e}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-assign-btn:hover{border-color:color-mix(in srgb,var(--attention-warning) 80%,black);background:color-mix(in srgb,var(--attention-warning) 88%,black)}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-worker-chip{min-width:16px;height:16px;font-size:9px;background:#ffffffc7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 1px 3px #0a28261a}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block .schedule-worker-chip--more{min-width:16px;height:16px;font-size:9px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block--compact .schedule-block-body{padding:1px 5px 4px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block--compact .schedule-block-label{font-size:11px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block--compact .schedule-block-sub{font-size:10px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block--compact .schedule-block-footer{right:3px;bottom:1px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block--compact .schedule-worker-chip{min-width:14px;height:14px;font-size:8px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block--compact .schedule-worker-chip--more{min-width:14px;height:14px;font-size:8px}.schedule-grid-wrap:not(.schedule-grid-wrap--capacity-edit) .schedule-job-block--compact .schedule-assign-btn{font-size:9px}.schedule-job-block--compact .schedule-block-body{padding:4px 5px}.schedule-job-block--compact .schedule-block-label{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-job-block--compact .schedule-block-sub{font-size:9px;margin-top:1px}.schedule-day-headers[data-max-capacity],.schedule-day-columns[data-max-capacity]{grid-template-columns:repeat(7,minmax(120px,1fr))}.schedule-block--preview{opacity:.65;pointer-events:none}.schedule-block--invalid{border-color:var(--danger);background:#dc504626}.schedule-block--warning{border-color:var(--attention-warning);background:color-mix(in srgb,var(--attention-warning) 14%,white)}.schedule-block--dragging{box-shadow:0 8px 20px #0a28262e;z-index:5;touch-action:none}.schedule-block-body{flex:1;padding:6px 8px;cursor:grab;min-height:0;overflow:hidden;touch-action:none}.schedule-block-body--row{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:6px}.schedule-block-body:active{cursor:grabbing}.schedule-block-label{font-size:11px;font-weight:800;color:var(--ink);line-height:1.2}.schedule-block-label--trailing{flex-shrink:0;margin-top:0}.schedule-block-sub{font-size:10px;color:var(--muted);margin-top:2px}.schedule-block-body--stacked-duration{display:flex;flex-direction:column}.schedule-block-duration{margin-top:auto;font-size:10px;font-weight:700;color:var(--muted);line-height:1.2}.schedule-block-footer{flex-shrink:0;padding:0 4px 3px;min-width:0}.schedule-block-workers{display:flex;align-items:flex-end;justify-content:flex-end;position:relative;min-height:0;min-width:0;width:100%}.schedule-block-workers-chips{display:flex;flex-wrap:wrap-reverse;align-items:center;justify-content:flex-end;align-content:flex-end;gap:3px;width:auto;max-width:100%;min-width:0}.schedule-block-workers-chips--measure{position:absolute;visibility:hidden;pointer-events:none;height:0;overflow:hidden;width:100%;flex-wrap:nowrap;justify-content:flex-start}.schedule-workers-btn{display:flex;align-items:flex-end;justify-content:flex-end;width:auto;max-width:100%;min-width:0;padding:0;border:0;background:transparent;cursor:pointer;color:inherit}.schedule-workers-btn:hover .schedule-worker-chip{border-color:#3884ff8c}.schedule-worker-chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:15px;height:15px;padding:0 3px;border-radius:999px;border:1px solid rgba(10,40,38,.12);background:#ffffffd9;font-size:8px;font-weight:800;line-height:1;color:var(--ink)}.schedule-worker-chip--more{padding:0 3px}.schedule-assign-btn{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:2px;min-width:20px;min-height:20px;border:1px dashed color-mix(in srgb,var(--attention-warning) 75%,black);border-radius:999px;background:var(--attention-warning);font-size:9px;font-weight:700;color:#fff;cursor:pointer}.schedule-assign-btn:hover{border-color:color-mix(in srgb,var(--attention-warning) 80%,black);background:color-mix(in srgb,var(--attention-warning) 88%,black)}.schedule-job-block--compact .schedule-block-footer{padding:0 3px 2px}.schedule-job-block--compact .schedule-block-workers-chips{gap:2px}.schedule-job-block--compact .schedule-worker-chip{min-width:13px;height:13px;font-size:7px}.schedule-job-block--compact .schedule-assign-btn{padding:1px 4px}.worker-multi-select{display:flex;flex-direction:column}.worker-multi-select-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:min(320px,50vh);overflow:auto}.worker-multi-select-row{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.worker-multi-select-row:hover{background:#0a28260d}.worker-multi-select-row--selected{background:#3884ff1a}.worker-multi-select-row-check{display:inline-flex;width:16px;flex-shrink:0;margin-top:1px;color:var(--accent)}.worker-multi-select-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.worker-multi-select-row-name{font-size:13px;font-weight:600}.worker-multi-select-row-conflict{font-size:11px;color:var(--warn, #b7791f);font-weight:600}.schedule-block-sub--leading{margin-top:0;min-width:0;text-align:left;line-height:1.2}.schedule-block-handle{height:12px;flex-shrink:0;cursor:ns-resize;touch-action:none;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0}.schedule-block-handle:before{content:"";width:30%;min-width:28px;height:4px;border-radius:999px;background:#0a282647}.schedule-block-handle-top,.schedule-block-handle-bottom{border:none}.schedule-block-handle--hover{opacity:0;transition:opacity .15s ease}.schedule-job-block:hover .schedule-block-handle--hover,.schedule-job-block.schedule-block--dragging .schedule-block-handle--hover{opacity:1}.assign-list{display:flex;flex-direction:column;gap:4px}.tag-chips,.tag-selector{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;background:var(--surface-2, #eef5f4);color:var(--ink);font-size:13px;font-weight:600;line-height:1.2}.tag-chip-btn{border:1px solid rgba(10,40,38,.12);background:#fff;cursor:pointer}.tag-chip-btn.tag-chip-on{background:#107a6c1f;border-color:#107a6c59}.tag-chip-remove{border:0;background:transparent;color:inherit;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.section-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.tag-admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.tag-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(10,40,38,.08)}.tag-admin-row:first-child{border-top:0;padding-top:0}.tag-admin-lang+.tag-admin-lang:before{content:" · "}.schedule-picker,.schedule-picker-readonly{width:100%}.preferred-date-inputs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.preferred-date-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.card-meta-wide{grid-column:1 / -1}.schedule-month-overview{display:flex;flex-direction:column;gap:12px}.schedule-month-hint{margin:0}.schedule-month-legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px;color:var(--muted)}.schedule-month-legend-item{display:inline-flex;align-items:center;gap:6px}.schedule-month-legend-swatch{width:12px;height:12px;border-radius:4px;border:1px solid rgba(10,40,38,.12)}.schedule-month-legend-swatch--capacity{background:#48bb7859;border-color:#38a16959}.schedule-month-legend-swatch--jobs{background:#3884ff47;border-color:#3884ff59}.schedule-month-legend-swatch--closed{background:repeating-linear-gradient(-45deg,#f0c44859,#f0c44859 4px,#f0c44826 4px,#f0c44826 8px);border-color:#c8962873}.schedule-month-weeks{display:flex;flex-direction:column;gap:10px}.schedule-month-week{width:100%;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 14px;cursor:pointer;box-shadow:0 2px 8px #0a28260a;transition:border-color .15s ease,box-shadow .15s ease}.schedule-month-week:hover{border-color:#107a6c59;box-shadow:0 4px 14px #0a282614}.schedule-month-week:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schedule-month-week-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.schedule-month-week-title{display:flex;flex-direction:column;gap:2px;min-width:0}.schedule-month-week-num{font-size:14px;font-weight:800;color:var(--ink2)}.schedule-month-week-stats{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:10px}.schedule-month-status.badge{flex-shrink:0}.schedule-month-week--open{border-left:4px solid rgba(56,161,105,.55)}.schedule-month-week--closed{border-left:4px solid rgba(200,150,40,.7)}.schedule-month-week--draft{border-left:4px solid rgba(10,40,38,.18)}.schedule-month-week--missing{border-left:4px solid rgba(10,40,38,.08)}.schedule-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.schedule-month-day{min-height:72px;border:1px solid rgba(10,40,38,.1);border-radius:10px;background:#f8faf9;padding:6px;display:flex;flex-direction:column;gap:4px}.schedule-month-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px}.schedule-month-day-weekday{font-size:10px;font-weight:700;color:var(--muted);text-transform:capitalize}.schedule-month-day-date{font-size:12px;font-weight:800;color:var(--ink2)}.schedule-month-day-metrics{display:flex;flex-direction:column;gap:3px;margin-top:auto}.schedule-month-metric{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:1px 5px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-month-metric--capacity{background:#48bb7833;color:#1f6b4f}.schedule-month-metric--jobs{background:#3884ff2e;color:#1f4f9c}.schedule-month-util{display:block;height:4px;border-radius:999px;background:#0a282614;overflow:hidden;position:relative}.schedule-month-util:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--util-pct, 0%);background:#3884ff8c;border-radius:inherit}.schedule-month-day-empty{margin-top:auto;font-size:11px;color:var(--muted)}.schedule-month-day--outside{opacity:.45;background:#f3f5f4}.schedule-month-day--empty{background:#f6f8f7}.schedule-month-day--active{background:#48bb7814;border-color:#38a16933}.schedule-month-day--busy{background:#3884ff1a;border-color:#3884ff47}.schedule-month-day--closed{background:repeating-linear-gradient(-45deg,#f0c4481f,#f0c4481f 5px,#f0c4480a 5px,#f0c4480a 10px);border-color:#c8962859}.job-slot-picker{width:100%}.job-slot-picker-legend{display:flex;flex-wrap:wrap;gap:12px 18px;font-size:12px;color:var(--muted)}.job-slot-picker-legend-item{display:inline-flex;align-items:center;gap:6px}.job-slot-picker-swatch{width:14px;height:14px;border-radius:4px;border:1px solid rgba(56,132,255,.35);background:#3884ff33}.job-slot-picker-swatch--invalid{border-color:var(--danger);background:#dc504626}.job-slot-picker-swatch--available{border-color:#38a16959;background:#48bb7838}.job-slot-picker-grid{min-width:min(100%,1000px)}.job-slot-picker-grid-wrap{width:100%}.job-slot-picker-col{cursor:crosshair;touch-action:pan-x pan-y}.job-slot-picker-col .schedule-block-body{cursor:inherit}.job-slot-picker-status{font-size:13px;font-weight:600;color:var(--aqua)}.job-slot-picker-status--invalid{color:var(--danger)}.job-slot-picker-status--warning{color:var(--attention-warning)}.job-slot-picker-empty{margin:0;padding:16px 18px;border-radius:12px;border:1px solid rgba(10,40,38,.12);background:#f6f8f7;font-size:14px;font-weight:600;color:var(--muted);text-align:center}.schedule-job-block--context{opacity:.72;z-index:2}.schedule-job-block--context .schedule-block-body{cursor:default}.schedule-job-block--current{border-style:dashed;z-index:4}.schedule-job-block--current .schedule-block-body{cursor:default}.schedule-grid-with-rail{display:grid;grid-template-columns:minmax(140px,180px) minmax(0,1fr);gap:12px;align-items:start}.schedule-week-rail{position:sticky;top:12px;display:flex;flex-direction:column;gap:0}.schedule-week-rail-title{text-align:center;font-size:13px;font-weight:800;color:var(--ink2);text-transform:capitalize;margin-bottom:6px;line-height:1.25;min-height:16.25px}.schedule-week-rail-drop,.schedule-day-flex-drop{min-height:72px}.schedule-week-rail-drop:not(.schedule-drop-zone--filled),.schedule-day-flex-drop:not(.schedule-drop-zone--filled){justify-content:center}.schedule-drop-zone{border:1px dashed rgba(10,40,38,.2);border-radius:10px;background:#fff9;padding:8px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,background .15s}.schedule-drop-zone--filled{min-height:0}.schedule-drop-zone--activatable{cursor:pointer}.schedule-drop-zone--activatable.schedule-drop-zone--filled{min-height:72px}.schedule-drop-zone--active,.schedule-drop-zone:focus-visible{border-color:var(--aqua);background:#00a8960f}.schedule-drop-zone-placeholder{display:flex;align-items:center;justify-content:center;flex:1;min-height:56px;padding:4px 6px}.schedule-drop-zone-empty{font-size:12px;font-weight:500;color:var(--muted);text-align:center;line-height:1.3}.schedule-drop-zone-label{font-size:12px;font-weight:700;color:var(--muted)}.schedule-drop-zone-hint{font-size:11px}.schedule-drop-zone-jobs,.schedule-day-flex-jobs,.schedule-week-rail-jobs{display:flex;flex-direction:column;gap:6px}.schedule-day-flex-bands{display:grid;gap:6px;margin-bottom:8px}.schedule-day-flex-col{min-width:0}.schedule-flexible-job{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:1px solid rgba(10,40,38,.14);border-radius:8px;background:#fff8e8;padding:6px 8px;cursor:pointer}.schedule-flexible-job--completed{background:var(--surface2, #f4f6f8);border-color:var(--line, rgba(10, 40, 38, .16))}.schedule-flexible-job--completed .schedule-flexible-job-badge{color:var(--muted, #5b6b69)}.schedule-flexible-job--compact{padding:5px 6px}.schedule-flexible-job-label{font-size:12px;font-weight:700;line-height:1.25}.schedule-flexible-job-sub{font-size:11px;line-height:1.2}.schedule-flexible-job-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#9a6700}.schedule-flexible-job--draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.schedule-flexible-job--draggable:active{cursor:grabbing}.schedule-flexible-job--dragging{opacity:.55}.schedule-day-flex-col--drop-target .schedule-day-flex-drop,.schedule-day-col--drop-target{border-color:var(--aqua);background:#00a8960f;box-shadow:inset 0 0 0 1px #00a89640}.schedule-drag-ghost{position:fixed;z-index:10000;pointer-events:none;transform:translate(12px,12px);max-width:min(240px,calc(100vw - 24px));display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid rgba(10,40,38,.18);border-radius:8px;background:#fff8e8;padding:6px 8px;box-shadow:0 8px 24px #0a28262e}.schedule-drag-ghost--invalid{border-color:#dc35458c;background:#fff5f5}.schedule-drag-ghost-label{font-size:12px;font-weight:700;line-height:1.25}.schedule-drag-ghost-sub{font-size:11px;line-height:1.2}.schedule-job-block--move-preview{z-index:6;box-shadow:0 8px 20px #0a28262e;pointer-events:none}.schedule-job-block--move-preview .schedule-block-body{cursor:grabbing}.schedule-job-block--ghost{opacity:.85;z-index:5;pointer-events:none}.schedule-job-block--ghost .schedule-block-body{cursor:inherit}@media(max-width:520px){.topbar{flex-wrap:wrap}.top-right{width:100%;justify-content:flex-start}.user-menu-wrap,.user-menu-trigger{width:100%}.user-menu-trigger{justify-content:space-between;min-height:var(--tap-target)}.user-menu{left:0;right:auto;width:100%}.kpi-grid,.card-meta-grid{grid-template-columns:1fr}.portal-job-meta-grid:not(.card-meta-grid-4){grid-template-columns:1fr}.map-list-body--map{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.map-list-map-toggle{margin-left:0;width:100%;justify-content:center}.portal-job-card .card-meta-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}.job-money,.cust-stats,.mini-list-item{flex-direction:column;align-items:flex-start;gap:8px}.card>.rut-row{grid-template-columns:1fr;align-items:start;gap:8px;margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.card>.rut-row:first-of-type{margin-top:0}.rut-field{display:grid;gap:2px}.rut-field-label{display:block}.rut-actions{justify-content:flex-start;flex-wrap:wrap}.card{padding:15px}.landing-card,.login-card{padding:26px 22px}.toast-viewport{left:12px;right:12px;width:auto}.schedule-day-headers,.schedule-day-columns{grid-template-columns:repeat(7,minmax(88px,1fr))}.schedule-day-headers[data-max-capacity],.schedule-day-columns[data-max-capacity]{grid-template-columns:repeat(7,minmax(100px,1fr))}.schedule-block-handle{height:14px}.schedule-view-toggle{min-width:0;width:auto}.schedule-view-toggle button{min-width:72px;padding-inline:8px}.schedule-page-head>div:first-child h1{font-size:22px}.schedule-week-nav-row{grid-template-columns:1fr;row-gap:10px}.schedule-week-nav,.schedule-week-nav-actions{grid-column:1;justify-self:center}.schedule-week-nav-actions{justify-content:center}.schedule-week-pill{min-width:0;width:100%;max-width:280px}.schedule-month-week{padding:10px}.schedule-month-week-head{flex-direction:column;align-items:flex-start}.schedule-month-days{gap:4px}.schedule-month-day{min-height:64px;padding:4px}.schedule-month-day-weekday{font-size:9px}.schedule-grid-with-rail{grid-template-columns:1fr}.schedule-week-rail{position:static;order:-1}.schedule-axis-spacer--flex-zones{min-height:0;height:28px}.schedule-month-metric{font-size:9px}}.job-price-cell{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:inherit;line-height:inherit}.job-price-cell-gross{color:var(--muted)}.job-scheduled-cell--incomplete{color:var(--attention-warning)}.job-scheduled-cell--exact{white-space:nowrap}
