:root{--menu-shadow:0 12px 36px #192f331f, 0 3px 10px #192f330d;--input:#b5d9bd;--control-focus-shadow:0 0 0 3px #37b34a18}[data-slot=select-content],[data-slot=dropdown-menu-content],[data-slot=dropdown-menu-sub-content],[data-slot=popover-content],.portal-choice-popup{border:1px solid var(--border);background:var(--popover);color:var(--popover-foreground);box-shadow:var(--menu-shadow);--tw-ring-shadow:0 0 #0000;max-width:calc(100vw - 24px);border-radius:18px!important}[data-slot=select-content],[data-slot=dropdown-menu-content],[data-slot=dropdown-menu-sub-content],.portal-choice-popup{padding:6px}[data-slot=select-content],.portal-choice-popup{width:max-content;min-width:min(var(--anchor-width), calc(100vw - 24px));max-height:min(360px, var(--available-height));outline:none}[data-slot=select-item],[data-slot=dropdown-menu-item],[data-slot=dropdown-menu-sub-trigger],[data-slot=dropdown-menu-checkbox-item],[data-slot=dropdown-menu-radio-item],[data-slot=command-item],.portal-choice-item{min-height:40px;font-size:var(--portal-type-body);cursor:pointer;overflow-wrap:anywhere;border-radius:10px;gap:10px;padding:9px 12px;line-height:1.45}[data-slot=select-item],[data-slot=dropdown-menu-checkbox-item],[data-slot=dropdown-menu-radio-item]{padding-right:34px}[data-slot=select-item]>span{white-space:normal}[data-slot=select-item][data-highlighted],[data-slot=dropdown-menu-item][data-highlighted],[data-slot=dropdown-menu-sub-trigger][data-highlighted],[data-slot=dropdown-menu-checkbox-item][data-highlighted],[data-slot=dropdown-menu-radio-item][data-highlighted],[data-slot=command-item][data-selected=true],.portal-choice-item[data-highlighted]{background:var(--accent);color:var(--accent-foreground)}[data-slot=select-item][aria-selected=true],.portal-choice-item[data-selected]{color:var(--primary)}[data-slot=dropdown-menu-item][data-variant=destructive][data-highlighted]{color:var(--destructive);background:color-mix(in srgb, var(--destructive) 10%, var(--popover))}[data-slot=select-trigger],.form-select{background:var(--popover);min-height:42px;color:var(--foreground);border:1px solid var(--input);border-radius:12px;outline:none;gap:12px;padding:9px 12px}.form-select{text-align:left;justify-content:space-between;align-items:center;width:100%;min-width:0;display:flex}.form-select [data-slot=select-value]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.form-select>svg{flex-shrink:0}[data-slot=select-trigger]:focus-visible,[data-slot=select-trigger][aria-expanded=true],[data-slot=popover-trigger][aria-expanded=true]{border-color:var(--ring);box-shadow:var(--control-focus-shadow);outline:none}[data-slot=input]:focus{border-color:var(--ring);box-shadow:var(--control-focus-shadow)}:is(input,textarea,[data-slot=select-trigger])[aria-invalid=true]{border-color:var(--destructive);box-shadow:0 0 0 3px color-mix(in srgb, var(--destructive) 12%, transparent)}[data-slot=select-trigger]>svg{transition:transform .15s}[data-slot=select-trigger][aria-expanded=true]>svg{transform:rotate(180deg)}.portal-choice-popup{overflow:hidden}.portal-choice-list{max-height:min(280px, calc(var(--available-height) - 72px));overflow-y:auto}.portal-choice-item{outline:none;justify-content:space-between;align-items:center;display:flex}.portal-choice-item[data-disabled]{opacity:.5;pointer-events:none}.portal-choice-item>span:last-child{flex-shrink:0}.portal-choice-empty{font-size:var(--portal-type-body);color:var(--muted-foreground);padding:16px}.portal-choice-search{border:1px solid var(--input);border-radius:10px;align-items:center;gap:8px;margin:4px 4px 8px;padding:0 10px;display:flex}.portal-choice-search input{width:100%;min-width:0;height:38px;font-size:var(--portal-type-body);background:0 0;border:0;outline:none}.portal-choice-search:focus-within{border-color:var(--ring);box-shadow:var(--control-focus-shadow)}[data-slot=command-input-wrapper]{margin-bottom:4px;padding:4px}[data-slot=command-input-wrapper] [data-slot=input-group]{border:1px solid var(--input);background:var(--popover);border-radius:10px!important;height:40px!important}[data-slot=command-input-wrapper] [data-slot=input-group]:focus-within{border-color:var(--ring);box-shadow:var(--control-focus-shadow)}[data-slot=command-input]{font-size:var(--portal-type-body);padding:8px 10px}.timesheet-site-menu [data-slot=input-group-addon]{display:flex}[data-slot=command-list],[data-slot=select-content],[data-slot=dropdown-menu-content],.portal-choice-list{scrollbar-width:thin;scrollbar-color:#b8c3c7 transparent}[data-slot=calendar]{--cell-size:36px;--cell-radius:999px;background:0 0}[data-slot=calendar] .rdp-month_caption{border-bottom:1px solid var(--border);height:46px;padding-bottom:10px}[data-slot=calendar] .rdp-weekday{font-size:var(--portal-type-meta);text-transform:uppercase}[data-slot=calendar] .rdp-range_start,[data-slot=calendar] .rdp-range_end,[data-slot=calendar] .rdp-range_start:after,[data-slot=calendar] .rdp-range_end:after,[data-slot=calendar] button[data-range-middle=true]{background:var(--accent)}[data-slot=calendar] button[data-selected-single=true],[data-slot=calendar] button[data-range-start=true],[data-slot=calendar] button[data-range-end=true]{background:var(--primary);color:var(--primary-foreground);border-radius:50%}@media (pointer:coarse){[data-slot=select-item],[data-slot=dropdown-menu-item],[data-slot=dropdown-menu-checkbox-item],[data-slot=dropdown-menu-radio-item],[data-slot=command-item],.portal-choice-item{min-height:44px}}@media (prefers-reduced-motion:reduce){[data-slot=select-trigger]>svg{transition:none}}.portal-choice-empty:empty{display:none}[data-slot=popover-content]{max-height:min(80dvh, var(--available-height));overflow-y:auto}.pay-period-popover{overflow-y:auto;max-height:min(80dvh, var(--available-height))!important}.portal-date-field{align-items:center;width:100%;min-width:0;display:flex;position:relative}.portal-date-field>input{border-radius:12px;width:100%;min-width:0;padding-right:44px!important}.portal-date-field>input::-webkit-calendar-picker-indicator{display:none}.portal-date-field>.portal-date-trigger{width:40px;min-height:40px;color:var(--muted-foreground);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;right:2px}.portal-date-trigger:hover{background:var(--accent);color:var(--primary)}.portal-date-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.portal-date-popup{width:max-content;padding:8px}.activity-date-filter>div{grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);max-width:100%;display:grid}.staff-main .activity-date-filter .portal-date-field>input{width:100%;min-height:44px;padding-left:8px}@media (max-width:600px){.activity-date-filter>div{grid-template-columns:minmax(0,1fr);gap:2px;width:100%}.activity-date-filter>div>span:not(.portal-date-field){padding-left:8px}}
:root{--workspace-ink:#24454b;--workspace-action:#247b34;--workspace-canvas:#f5f7f8;--workspace-surface:#fff;--workspace-warning:#8a5100;--workspace-danger:#ad3438;--workspace-radius:10px;--sidebar-heading-size:12px}.skip-link{z-index:100;color:var(--foreground);border:2px solid var(--primary);background:#fff;border-radius:6px;padding:12px 18px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}h1[tabindex="-1"]:focus{outline:none}.refresh-outcome{border-left:3px solid var(--primary);background:var(--accent);font-size:var(--portal-type-body);margin:0 0 20px;padding:10px 14px;display:block}.request-progress{border-left:3px solid var(--primary);background:#f3f7f5;padding:16px}.request-progress dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;display:grid}.request-progress dt,.invoice-facts dt{font-size:var(--portal-type-meta);color:var(--portal-text-secondary);margin-bottom:6px}.request-progress dd,.invoice-facts dd{font-size:var(--portal-type-body);margin:0}.request-timeline strong{font-size:var(--portal-type-meta);margin-top:5px;display:block}.request-update-form .inline-check{align-items:center;gap:10px;display:flex}.request-update-form .inline-check input{width:18px;min-width:18px;height:18px}.request-follow-up-flag{color:#8a5100;font-weight:650}.invoice-summary{border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:16px}.invoice-summary>div:first-child{justify-content:space-between;align-items:start;gap:12px;display:flex}.invoice-summary h3{font-size:var(--portal-type-title);font-weight:650}.invoice-balance{font-size:var(--portal-type-metric);margin:14px 0 8px;font-weight:650;display:block}.invoice-balance small{font-size:var(--portal-type-body);font-weight:400}.invoice-summary p{margin:8px 0 14px}.invoice-facts{flex-wrap:wrap;gap:24px;margin:18px 0;display:flex}.invoice-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.invoice-actions a,.employee-clock-handoff a{border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;text-decoration:none;display:inline-flex}.employee-clock-handoff a.primary{background:var(--primary);color:#fff}.record-mobile-summaries{display:none}.record-sort-disclosure>summary{cursor:pointer;padding:10px 0}.record-sort-disclosure[open]>label{gap:8px;margin-bottom:8px;display:grid}.employee-today{gap:22px;display:grid}.employee-next-shift{border-top:4px solid var(--primary)}.employee-next-shift h3{font-size:var(--portal-type-title);margin:14px 0 6px;font-weight:650}.employee-next-shift p{max-width:72ch;margin:8px 0 16px}.employee-shift-time{font-size:var(--portal-type-metric);font-weight:600}.employee-clock-handoff{border-top:1px solid var(--border);margin-top:24px;padding-top:12px}.employee-clock-handoff h3{font-size:var(--portal-type-title)}.employee-task-list{margin:16px 0;padding:0;list-style:none}.employee-task-list li{border-top:1px solid var(--border);justify-content:space-between;gap:20px;padding:14px 0;display:flex}.employee-task-list span:not(.status-badge){font-size:var(--portal-type-meta);margin-top:5px;display:block}.employee-history-link{padding:0 4px 20px}.employee-history-link p{margin:8px 0 14px}.inspection-controls{flex-wrap:wrap;gap:14px;display:flex}.inspection-controls label{font-size:var(--portal-type-body);gap:6px;display:grid}.scorechart-scroll{max-width:100%;overflow-x:auto}.inspection-data{margin:14px 0}.inspection-data summary,.mobile-record-details summary{cursor:pointer;padding:10px 0}.inspection-data table{width:100%;font-size:var(--portal-type-body)}.inspection-data th,.inspection-data td{text-align:left;border-bottom:1px solid var(--border);padding:10px}@container (max-width:720px){.record-table.record-has-mobile-summary{display:none}.record-mobile-summaries{display:block}.record-toolbar details.record-sort-disclosure{width:100%;display:block}}@media (max-width:600px){.request-progress dl{grid-template-columns:1fr;gap:14px}.request-description{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.employee-shift-time{font-size:var(--portal-type-section)}.employee-task-list li{flex-wrap:wrap;gap:8px}.invoice-actions{flex-direction:column}.inspection-controls{width:100%}.inspection-controls label{flex:1;min-width:130px}}.client-workspace,.unified-workspace{color:var(--workspace-ink)}.client-workspace{container-type:inline-size}.client-workspace .workspace,.unified-workspace .staff-main{width:100%;max-width:none;margin-inline:0;padding:28px 32px}.unified-workspace .timesheet-wide>:not(.shift-records-panel){max-width:none;margin-inline:0}.client-workspace .pageheading,.unified-workspace .pageheading{align-items:flex-start;gap:20px;margin:0 0 24px}.client-workspace h1,.unified-workspace h1{font-size:var(--portal-type-page);letter-spacing:-.7px;margin:0 0 8px;line-height:1.2}.client-workspace h2,.unified-workspace h2{font-size:var(--portal-type-section);line-height:1.4}.client-workspace .pageheading p,.unified-workspace .pageheading p{font-size:var(--portal-type-body);margin:0;line-height:1.5}.client-workspace .primary,.unified-workspace .primary{background:var(--workspace-action)}.client-workspace .primary,.client-workspace .secondary,.unified-workspace .primary,.unified-workspace .secondary{min-height:44px;font-size:var(--portal-type-body);border-radius:8px}.client-workspace .headingactions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.client-workspace .headingactions>.choice{min-width:150px;max-width:240px}.client-workspace .headingactions .primary{white-space:nowrap}.client-workspace .panel,.unified-workspace .panel{border-radius:var(--workspace-radius);box-shadow:none}.client-workspace .topbar,.unified-workspace .topbar{gap:14px;height:64px;padding:0 32px}.client-workspace .topbar>span,.unified-workspace .topbar>span{min-width:0}.workspace-nav-group{margin-bottom:16px}.workspace-nav-group>h2{font-size:var(--sidebar-heading-size);color:var(--portal-text-secondary);letter-spacing:0;margin:0 24px 6px;font-weight:600}.workspace-nav-group .navbtn{margin-bottom:2px;height:44px!important}[data-slot=sidebar-content] .org{margin-bottom:20px}.staff-workspace-shell{--sidebar-motion-duration:.24s;--sidebar-motion-easing:cubic-bezier(.2, 0, 0, 1);padding-top:64px}.staff-workspace-shell .staff-app{min-height:calc(100dvh - 64px)}.workspace-topbar.topbar{--header-sidebar-width:256px;--header-search-width:clamp(180px, calc(100vw - 1000px), 400px);z-index:30;grid-template-columns:256px minmax(0, 1fr) var(--header-search-width) minmax(0, 1fr);align-items:center;gap:24px;height:64px;padding:0 16px 0 0;display:grid;position:fixed;inset:0 0 auto}.workspace-topbar.client-topbar-without-search{grid-template-columns:256px minmax(0,1fr) auto}.client-topbar-without-search .workspace-topbar-account{grid-column:3}.workspace-topbar-brand{flex:0 0 256px;grid-column:1;min-width:0;padding:0 24px}.workspace-topbar-brand .portal-brand{height:64px;padding:0}.workspace-topbar-brand .portal-brand img{width:208px}.workspace-topbar-organization{grid-column:2;min-width:0;max-width:100%;margin:0;line-height:1.4}.workspace-topbar-account{flex-shrink:0;grid-column:4;justify-self:end;min-width:0;max-width:100%;margin-left:0}.workspace-topbar .profile-topbar{white-space:nowrap;border:0;border-radius:8px;gap:10px;min-width:0;height:48px;padding:5px 8px}.workspace-topbar .profile-topbar:hover,.workspace-topbar .profile-topbar[data-popup-open]{background:var(--sidebar-accent)}.workspace-topbar .profile-topbar>span:not(.avatar){min-width:0;max-width:200px}.workspace-topbar .profile-topbar b{text-overflow:ellipsis;display:block;overflow:hidden}.workspace-topbar[data-sidebar-state=collapsed]{--header-sidebar-width:64px}.workspace-topbar-search{grid-column:3;width:100%;min-width:0;position:static}.workspace-topbar-search[hidden],.workspace-topbar .workspace-search-toggle{display:none}.staff-workspace-shell [data-slot=sidebar-gap],.workspace-sidebar{transition:width var(--sidebar-motion-duration) var(--sidebar-motion-easing)}.workspace-sidebar{height:calc(100svh - 64px);top:64px}.workspace-sidebar [data-slot=sidebar-inner]{overflow:hidden}.workspace-sidebar [data-slot=sidebar-content]{padding-top:12px;overflow:hidden auto}.workspace-sidebar [data-slot=sidebar-menu]{padding:0 10px}.workspace-sidebar .navbtn{border:1px solid #0000;justify-content:flex-start;gap:14px;min-height:44px;transition:background-color .15s,color .15s;width:100%!important;height:44px!important;padding:0 12px!important}.workspace-sidebar .navbtn svg{flex-shrink:0;min-width:18px;margin:0;width:18px!important;height:18px!important}.workspace-sidebar .workspace-nav-label,.workspace-sidebar .workspace-nav-group>h2{white-space:nowrap;transition:opacity .12s}.workspace-sidebar .workspace-nav-label{flex-shrink:0}.workspace-sidebar .workspace-nav-group>h2{height:18px;line-height:18px}.workspace-sidebar .sidebar-create-menu{flex-shrink:0;margin-bottom:12px}.workspace-sidebar .sidebar-create-button{color:var(--workspace-action);font-weight:600}.workspace-create-options{width:200px}.workspace-create-options [data-slot=dropdown-menu-item]{gap:12px;min-height:40px;padding:8px 12px}.workspace-sidebar [data-slot=sidebar-footer]{gap:4px;padding:8px 0}.workspace-sidebar .sidebar-collapse-button{margin-bottom:0;width:44px!important}.workspace-sidebar .sidebar-collapse-button svg{transition:transform var(--sidebar-motion-duration) var(--sidebar-motion-easing)}[data-collapsible=icon] .workspace-sidebar .workspace-nav-label,[data-collapsible=icon] .workspace-sidebar .workspace-nav-group>h2{opacity:0;pointer-events:none}[data-collapsible=icon] .workspace-sidebar .sidebar-collapse-button svg{transform:rotate(180deg)}@media (max-width:1200px){.workspace-topbar .profile-topbar>span:not(.avatar){display:none}}@media (min-width:768px) and (max-width:800px){.workspace-topbar.topbar{padding-right:16px}}@media (max-width:767px){.workspace-topbar.topbar{flex-wrap:nowrap;gap:12px;min-height:64px;display:flex;height:64px!important;padding:0 16px!important}.workspace-topbar-brand{flex:0 0 180px;padding:0}.workspace-topbar-brand .portal-brand img{width:180px}.workspace-topbar [data-slot=sidebar-trigger]{order:-1}.workspace-topbar-organization,.workspace-topbar .profile-topbar>svg{display:none}.workspace-topbar .profile-topbar{padding:5px 3px}.workspace-topbar-account{margin-left:0}.workspace-topbar .workspace-search-toggle{background:0 0;border:0;flex:0 0 36px;justify-content:center;align-items:center;height:40px;margin-left:auto;padding:0;display:flex}.workspace-topbar-search{border-bottom:1px solid var(--border);background:#fff;width:100%;padding:10px 16px;transition:none;position:absolute;top:64px;left:0;transform:none}}@media (max-width:380px){.workspace-topbar-brand{flex-basis:140px}.workspace-topbar-brand .portal-brand img{width:140px}}@media (prefers-reduced-motion:reduce){.staff-workspace-shell [data-slot=sidebar-gap],.workspace-sidebar,.workspace-sidebar .workspace-nav-label,.workspace-sidebar .workspace-nav-group>h2,.workspace-sidebar .sidebar-collapse-button svg,.workspace-topbar-search{transition:none}}.service-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.service-dashboard>.card{border-radius:var(--workspace-radius);min-height:0;box-shadow:none;padding:24px}.service-dashboard>.card:first-child{border-top:3px solid var(--workspace-action)}.service-dashboard .cardhead{align-items:baseline;margin-bottom:16px}.service-dashboard .cardhead button{font-size:var(--portal-type-body);min-height:44px;color:var(--workspace-action)}.service-dashboard .metric{color:var(--workspace-ink);font-size:var(--portal-type-page);letter-spacing:-1px;margin:4px 0 12px}.service-dashboard .metric small{font-size:var(--portal-type-body);letter-spacing:0}.client-workspace .metric-context{font-size:var(--portal-type-meta);margin:8px 0;line-height:1.5}.client-workspace .client-empty{font-size:var(--portal-type-body);padding:12px 0}.service-dashboard .pastdue{margin-top:16px;padding-top:16px}.service-dashboard .pastdue b{color:var(--workspace-danger)}.service-dashboard .person small{font-size:var(--portal-type-meta);line-height:1.5}.service-dashboard .person b{font-size:var(--portal-type-body)}.attention-list{margin:12px 0 0;padding:0;list-style:none}.attention-list li+li{border-top:1px solid var(--border)}.attention-list button{text-align:left;align-items:flex-start;gap:12px;width:100%;padding:14px 0;display:flex}.attention-list button>span:first-child{flex:1;min-width:0}.attention-list strong,.attention-list button>span>span{display:block}.attention-list strong{font-size:var(--portal-type-body);margin-bottom:5px}.attention-list button>span>span{color:var(--portal-text-secondary);font-size:var(--portal-type-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.next-service{border-bottom:1px solid var(--border);margin:0 0 16px;padding-bottom:16px}.next-service strong,.next-service span{display:block}.next-service strong{color:var(--workspace-ink)}.task-progress-bar{width:100%;height:8px;accent-color:var(--workspace-action);border-radius:8px;overflow:hidden}.task-progress-bar::-webkit-progress-bar{background:var(--muted)}.task-progress-bar::-webkit-progress-value{background:var(--workspace-action)}.client-workspace .calendarwrap{min-width:0}.client-workspace .calhead button{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.client-workspace .calendar{gap:2px}.client-workspace .calendar>button{min-height:44px;font-size:var(--portal-type-body)}.client-workspace .calendar>small{font-size:var(--portal-type-meta)}.client-workspace .calendar button.today{background:var(--workspace-action)}.client-workspace .callegend{font-size:var(--portal-type-meta);flex-wrap:wrap}.client-workspace .callegend button{min-height:44px}.client-workspace .largecalendar .calendar>button{min-height:80px;padding:10px}.client-workspace .largecalendar .calendar>button small{font-size:var(--portal-type-meta)}.status-badge{width:fit-content;font-size:var(--portal-type-meta);white-space:nowrap;border-radius:6px;align-items:center;padding:4px 9px;font-weight:600;line-height:1.4;display:inline-flex}.status-badge-success{background:var(--accent);color:var(--eco-green-text)}.status-badge-warning{color:var(--workspace-warning);background:#fff3d9}.status-badge-danger{color:var(--workspace-danger);background:#ffeded}.status-badge-neutral{background:var(--muted);color:var(--portal-text-secondary)}.status-badge-info{color:#24569b;background:#eaf2ff}.attendance-freshness{color:var(--portal-text-secondary);font-size:var(--portal-type-meta);flex-wrap:wrap;align-items:baseline;gap:6px 12px;line-height:1.5;display:flex}.attendance-freshness details{width:100%}.attendance-freshness summary,.employee-clock-help summary,.attendance-method summary{cursor:pointer;font-size:var(--portal-type-meta);padding:8px 0}.attendance-freshness p,.employee-clock-help p{max-width:70ch;margin:4px 0 8px;font-size:var(--portal-type-body)!important}.workspace-sync{margin-bottom:16px}.sync-issues{border-left:3px solid var(--workspace-warning);background:#fff8e9;margin-top:8px;padding:8px 12px}.sync-issues summary{cursor:pointer;font-size:var(--portal-type-body)}.sync-issues ul{padding-left:20px}.employee-clock-help{border-left:3px solid var(--workspace-action);background:var(--accent);border-radius:0 8px 8px 0;margin-bottom:20px;padding:12px 16px}.employee-clock-help>strong{font-size:var(--portal-type-body)}.service-attention{border:1px solid var(--portal-color-danger-border);background:var(--portal-color-danger-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex}.service-attention>strong{font-size:var(--portal-type-body);color:var(--workspace-danger)}.service-attention>div{flex-wrap:wrap;gap:8px;display:flex}.attendance-review-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.attendance-review-button{background:var(--background);border:1px solid var(--border);text-align:left;border-radius:8px;padding:12px 14px}.attendance-review-button span{color:var(--portal-text-secondary);font-size:var(--portal-type-meta);display:block}.attendance-review-button strong{font-size:var(--portal-type-metric);font-variant-numeric:tabular-nums;display:block}.attendance-review-button[aria-pressed=true]{border-color:var(--workspace-action);background:var(--accent);box-shadow:inset 0 0 0 1px var(--workspace-action)}.attendance-method{margin-bottom:16px}.unified-workspace .admin-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.unified-workspace .admin-overview-card{gap:8px;min-height:0;padding:18px}.unified-workspace .admin-overview-card .overview-value{font-size:var(--portal-type-metric)}.unified-workspace .admin-overview-card .staff-note{margin:0}.unified-workspace .admin-overview-card p{font-size:var(--portal-type-body)}.record-browser{container-type:inline-size}.record-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:18px 0 12px;display:flex}.record-toolbar label,.people-role-filter label{font-size:var(--portal-type-body);flex-direction:column;gap:6px;min-width:0;font-weight:500;display:flex}.record-toolbar label:first-child{flex:240px;max-width:480px}.record-toolbar input,.record-toolbar .choice{border:1px solid var(--border);width:100%;min-height:44px;color:var(--workspace-ink);font-size:var(--portal-type-body);background:#fff;border-radius:8px;padding:10px 12px}.record-toolbar .record-mobile-sort{display:none}.record-count{color:var(--portal-text-secondary);font-size:var(--portal-type-meta);margin:12px 0;display:block}.record-table th{position:static}.record-table th>button{text-align:left;min-height:44px;font-size:var(--portal-type-body);align-items:center;gap:6px;display:inline-flex}.record-table td{font-size:var(--portal-type-body);vertical-align:top;white-space:normal;overflow-wrap:anywhere;min-width:90px;padding:14px 12px}.record-table td:last-child{min-width:140px}.record-pagination{font-size:var(--portal-type-body);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.workspace-empty-state{padding:24px 0}.workspace-empty-state h3{font-size:var(--portal-type-title);margin-bottom:8px;font-weight:600}.workspace-empty-state p{max-width:65ch;margin:0 0 12px}.request-row{border:1px solid var(--border);background:#fff;border-radius:10px;margin:10px 0}.request-row>summary{cursor:pointer;align-items:flex-start;gap:16px;padding:18px;list-style:none;display:flex}.request-row>summary::-webkit-details-marker{display:none}.request-row>summary:after{content:"+";font-size:var(--portal-type-section);flex-shrink:0;line-height:1}.request-row[open]>summary:after{content:"−"}.request-row-main{min-width:0;font-size:var(--portal-type-body);flex-direction:column;flex:1;gap:6px;display:flex}.request-description{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.request-row-main small{font-size:var(--portal-type-meta);color:var(--portal-text-secondary)}.request-row-status{flex-wrap:wrap;gap:6px;display:flex}.request-detail{border-top:1px solid var(--border);padding:18px}.request-detail h3{font-size:var(--portal-type-title);margin:16px 0 8px}.request-detail p{margin:6px 0 12px}.request-timeline{border-left:2px solid var(--border);margin:14px 0;padding:0 0 0 16px;list-style:none}.request-timeline li{margin-bottom:16px}.request-timeline time{font-size:var(--portal-type-meta);color:var(--portal-text-secondary)}.request-update-form{gap:14px;max-width:640px;margin-top:20px;display:grid}.request-update-form button{justify-self:start}.people-role-filter{max-width:240px;margin:16px 0}.people-actions{justify-items:start;gap:8px;display:grid}.people-actions summary{cursor:pointer;font-size:var(--portal-type-meta);padding:8px 0}.people-actions details>button{margin:8px 0}.people-actions h3{font-size:var(--portal-type-title);margin:8px 0}.inspection-publish{margin:18px 0}.inspection-publish>summary{cursor:pointer;border:1px solid var(--border);width:fit-content;font-size:var(--portal-type-body);border-radius:8px;padding:12px 16px}summary:focus-visible,.calendar button:focus-visible{outline:3px solid var(--workspace-action);outline-offset:3px}@container (max-width:780px){.client-workspace .pageheading{flex-wrap:wrap}.client-workspace .headingactions{justify-content:flex-start;width:100%}.service-dashboard{grid-template-columns:minmax(0,1fr)}}@container (max-width:720px){.record-toolbar .record-mobile-sort{display:flex}.record-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.record-table,.record-table tbody{width:100%;display:block}.record-table tr{border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:8px 12px;display:block}.record-table td{border:0;grid-template-columns:minmax(70px,30%) minmax(0,1fr);gap:10px;min-width:0;padding:8px 0;display:grid}.record-table td:before{content:attr(data-label);color:var(--portal-text-secondary);font-size:var(--portal-type-meta)}}@media (max-width:800px){.client-workspace .workspace,.unified-workspace .staff-main{padding:22px 16px}.client-workspace .topbar,.unified-workspace .topbar{padding:0 16px}.unified-workspace .admin-overview{grid-template-columns:1fr}.unified-workspace .admin-overview-card{grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-overview-card p,.admin-overview-card .staff-note,.admin-overview-card .overview-actions{grid-column:1/-1}.attendance-review-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.client-workspace h1,.unified-workspace h1{font-size:var(--portal-type-page)}.client-workspace .headingactions{grid-template-columns:minmax(0,1fr) auto;display:grid}.client-workspace .headingactions>.primary{grid-area:1/1/auto/-1;width:100%}.client-workspace .headingactions>.choice{min-width:0;max-width:none}.service-dashboard>.card{padding:18px}.service-dashboard .cardhead{flex-wrap:wrap;gap:4px;margin-bottom:8px}.service-dashboard .cardhead h2{flex:1}.client-workspace .largecalendar .calendar>button{align-items:center;gap:4px;min-height:54px;padding:6px 2px}.client-workspace .largecalendar .calendar>small{padding:8px 0}.client-workspace .largecalendar .calendar>button small{font-size:var(--portal-type-compact)}.request-row>summary{flex-wrap:wrap;gap:10px;padding:14px}.request-row-main{flex-basis:calc(100% - 34px);order:0}.request-row>summary:after{order:1}.request-row-status{order:2}.request-detail{padding:14px}.record-toolbar label{flex:100%}.record-toolbar label:first-child{max-width:none}.record-pagination{justify-content:space-between}}.dashboard-calendar>summary{cursor:pointer;min-height:44px;font-size:var(--portal-type-body);color:var(--workspace-action);padding:10px 0}.dashboard-calendar[open]{margin-top:12px}.client-workspace output.notice{margin:0 0 20px}.client-workspace .record-toolbar label,.unified-workspace .record-toolbar label,.unified-workspace .people-role-filter label{margin:0}.today-panel{container-type:inline-size}@container (max-width:760px){.today-panel .timesheet-desktop{display:none}.today-panel .timesheet-mobile{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.today-panel .staff-shift{margin:0}}@media (max-width:600px){.request-queue .record-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.request-queue .record-toolbar label:first-child{grid-column:1/-1}.request-queue .record-toolbar .choice{font-size:var(--portal-type-body);padding:10px 8px}.unified-workspace .pageheading{grid-template-columns:minmax(0,1fr) auto;display:grid}.people-role-filter{max-width:none}}.draft-note,.context-note{color:var(--portal-ink,#203a3e);background:var(--accent);border-left:3px solid var(--primary);margin:0 0 18px;padding:12px 14px;line-height:1.5}.request-copy-link{margin-bottom:16px}.attendance-review-context{background:var(--accent);border:1px solid #b9d4bd;border-radius:10px;margin-bottom:22px;padding:18px;scroll-margin-top:88px}.attendance-review-context:focus{outline-offset:3px;outline:2px solid #257635}.attendance-review-context p{max-width:76ch;margin:8px 0 14px}.attendance-review-date{box-shadow:inset 3px 0 #257635;background:var(--accent)!important}.today-panel .staff-shift>button{margin-top:12px}.attendance-review-context button{margin:0 10px 8px 0}.inspection-trend{min-width:0}.employee-today{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}.employee-history-link{grid-column:1/-1}.employee-today .employee-shift-time{font-size:var(--portal-type-section)}.billing-questions-heading{font-size:var(--portal-type-title);margin:24px 0 12px;font-weight:650}@media (max-width:1000px){.employee-today{grid-template-columns:minmax(0,1fr)}}.client-overview{gap:20px;display:grid}.client-overview .panel{min-width:0}.client-overview-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.client-overview-summary dl{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;display:grid}.client-overview-summary dt{color:var(--muted-foreground)}.client-overview-summary dd{font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:24px;font-weight:650}.client-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.client-work-tabs{border-bottom:1px solid var(--border);gap:8px;margin:8px 0 12px;display:flex}.client-work-tabs button{border-bottom:2px solid #0000;padding:10px 12px}.client-work-tabs button[aria-pressed=true]{color:var(--primary);border-bottom-color:currentColor;font-weight:600}.client-work-tabs span{color:var(--muted-foreground);margin-left:4px}.client-work-table{width:100%}.client-work-table small{overflow-wrap:anywhere;margin-top:4px;display:block}.client-work-table .number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.client-overview a{text-underline-offset:3px;text-decoration:underline}.client-overview-list{max-height:400px;margin:0;padding:0;list-style:none;overflow-y:auto}.client-overview-list li{border-bottom:1px solid var(--border);align-items:start;gap:12px;padding:14px 0;display:flex}.client-overview-list li:last-child{border-bottom:0}.client-overview-list li>div{overflow-wrap:anywhere;min-width:0}.client-overview-list svg{flex-shrink:0;margin-top:2px}.client-overview-list p{margin:4px 0}.client-overview-list small{color:var(--muted-foreground)}.client-note-text{white-space:pre-wrap}.client-message-status{white-space:nowrap;text-transform:capitalize;margin-left:auto}.client-empty{color:var(--muted-foreground);padding:12px 0}.client-contact-links{overflow-wrap:anywhere;flex-wrap:wrap;gap:6px 16px;display:flex}.person-mobile-card{padding:12px 0}.person-mobile-card>div+div{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.person-mobile-card p{margin:8px 0 0}@media (max-width:700px){.client-overview,.client-overview-grid{grid-template-columns:minmax(0,1fr);gap:14px}.client-overview-summary{align-items:start}.client-overview-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client-overview-summary dd{font-size:20px}.client-overview-summary dt{font-size:13px}.client-overview .panelhead{flex-wrap:wrap;gap:12px}.client-work-table thead{display:none}.client-work-table tr{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;display:grid}.client-work-table td{border:0;padding:0;display:block;text-align:left!important}.client-work-table td:first-child{grid-column:1/-1}.client-work-table td:not(:first-child):before{content:attr(data-label);color:var(--muted-foreground);margin-bottom:2px;font-size:12px;display:block}.client-overview-list{max-height:350px}.people-directory .people-role-tabs,.person-profile .profile-tabs{flex-flow:row;align-items:stretch;gap:4px;padding-bottom:4px;overflow-x:auto}.people-directory .people-role-tabs button,.person-profile .profile-tabs button{white-space:nowrap;flex:none;width:auto;min-height:44px}.person-profile .profile-identity{gap:12px}.person-profile .profile-identity h2{overflow-wrap:anywhere}}.quote-job-dialog[data-slot=dialog-content]{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);width:min(560px,100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}.quote-job-dialog>*{min-width:0}.quote-job-dialog .formactions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}
:root{--eco-green:#37b34a;--eco-ink:#18383f;--portal-text-secondary:#3f555b;--muted-foreground:var(--portal-text-secondary);--sidebar-foreground:var(--portal-text-secondary);--eco-green-text:#226d30;--eco-green-soft:#edf7ef;--eco-white:#fff;--workspace-ink:var(--eco-ink);--workspace-action:var(--eco-green-text);--primary:var(--eco-green-text);--foreground:var(--eco-ink);--card-foreground:var(--eco-ink);--ring:var(--eco-green);--sidebar-primary:var(--eco-green-text);--sidebar-accent:var(--eco-green-soft)}.portal-update-notice{z-index:40;border:1px solid var(--border);max-width:min(560px,100vw - 40px);color:var(--foreground);font-size:var(--portal-type-body);background:#fff;border-radius:12px;align-items:center;gap:16px;padding:14px 18px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 24px #24454b22}.portal-update-notice output{display:block}.portal-update-notice button{background:var(--primary);color:var(--primary-foreground);border-radius:8px;flex-shrink:0;padding:9px 12px}.portal-update-notice button:disabled{opacity:.55;cursor:default}@media (max-width:600px){.portal-update-notice{flex-direction:column;align-items:stretch}}.topbar{z-index:20;gap:14px;position:relative}.staff-app .primary,.client-workspace .primary,.staff-dialog .primary,.person-profile .primary,.eco-login .primary{background:var(--portal-color-action);color:var(--primary-foreground);border-color:var(--portal-color-action)}.staff-app .primary:hover,.client-workspace .primary:hover,.staff-dialog .primary:hover,.person-profile .primary:hover,.eco-login .primary:hover{background:var(--portal-color-action-hover);color:var(--primary-foreground)}.portal-search{border:1px solid var(--input);width:min(320px,45%);min-width:0;color:var(--eco-ink);background:#fff;border-radius:10px;align-items:center;gap:9px;margin-left:auto;padding:0 12px;display:flex;position:relative}.portal-search input{width:100%;min-width:0;font-size:var(--portal-type-body);outline-offset:3px;background:0 0;border:0;padding:10px 0}.portal-search:focus-within{border-color:var(--ring);box-shadow:var(--control-focus-shadow)}.portal-search input:focus{box-shadow:none;outline:none}.portal-search button{background:0 0;border:0;padding:4px;display:flex}.portal-search-results{overscroll-behavior:contain;z-index:30;border:1px solid var(--border);background:#fff;border-radius:10px;width:max(100%,270px);max-height:min(240px,40dvh);padding:6px;position:absolute;top:calc(100% + 7px);right:0;overflow:auto;box-shadow:0 10px 28px #24454b22}.portal-search-results [role=option]{text-align:left;width:100%;min-height:40px;font-size:var(--portal-type-body);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:14px;padding:8px 10px;line-height:1.4;display:flex}.portal-search-results [aria-selected=true],.portal-search-results [role=option]:hover{background:var(--eco-green-soft)}.portal-search-results small{color:var(--portal-text-secondary);font-size:var(--portal-type-meta)}.portal-search-results output{padding:12px;display:block}.sidebar-search{--sidebar-search-font-size:var(--portal-type-body);margin:0 14px 12px}.sidebar-search .portal-search{gap:0 8px;width:100%;margin:0}.sidebar-search .portal-search input{flex:1;width:0;font-weight:600;line-height:1.5;font-size:var(--sidebar-search-font-size)!important}@media (pointer:coarse){.sidebar-search{--sidebar-search-font-size:16px}}.sidebar-search .portal-search-results{width:100%;padding:4px;left:0;right:auto}.sidebar-search .portal-search-results [role=option]{overflow-wrap:anywhere;justify-content:stretch;gap:2px;display:grid}.sidebar-search .portal-search-results [role=option],.sidebar-search .portal-search-results output{font-size:var(--sidebar-search-font-size);font-weight:600;line-height:1.5}.sidebar-search .portal-search-results small{font-size:inherit;text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.workspace-topbar-search{--topbar-search-font-size:var(--portal-type-body)}.workspace-topbar-search .portal-search{gap:0 8px;width:100%;height:44px;margin:0}.workspace-topbar-search .portal-search input{flex:1;width:0;font-weight:600;line-height:1.5;font-size:var(--topbar-search-font-size)!important}@media (pointer:coarse){.workspace-topbar-search{--topbar-search-font-size:16px}}.workspace-topbar-search .portal-search-results{width:100%;padding:4px;left:0;right:auto}.workspace-topbar-search .portal-search-results [role=option]{overflow-wrap:anywhere;justify-content:stretch;gap:2px;display:grid}.workspace-topbar-search .portal-search-results [role=option],.workspace-topbar-search .portal-search-results output{font-size:var(--topbar-search-font-size);font-weight:600;line-height:1.5}.workspace-topbar-search .portal-search-results small{font-size:inherit;text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.invoice-manager{gap:20px;display:grid}.invoice-manager .panelhead p{margin-bottom:0}.invoice-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.invoice-metrics>div{background:var(--muted);border:1px solid var(--border);border-radius:10px;gap:5px;padding:16px;display:grid}.invoice-metrics strong{font-size:var(--portal-type-metric)}.invoice-metrics small{color:var(--portal-text-secondary)}.invoice-editor{border:1px solid var(--border);border-radius:12px;padding:22px}.invoice-addresses{grid-template-columns:1fr 1fr;gap:16px;display:grid}.invoice-lines{gap:12px;display:grid}.invoice-line{border:1px solid var(--border);border-radius:8px;grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:12px;min-width:0;padding:12px;display:grid}.invoice-line label{min-width:0}.invoice-line input,.invoice-line textarea{width:100%}.invoice-line legend{font-size:var(--portal-type-meta);padding:0 6px;font-weight:600}.invoice-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invoice-row-actions a{white-space:nowrap;text-decoration:none}.invoice-row-actions small{flex-basis:100%}.invoice-manager .invoice-row-actions{white-space:nowrap;flex-wrap:nowrap}.invoice-manager .invoice-row-actions>button{flex:none;width:auto;margin:0}.invoice-manager .invoice-row-actions>.invoice-more-button{justify-content:center;width:44px;min-width:44px;min-height:44px;padding:10px}.invoice-more-menu{min-width:228px}.invoice-more-menu [data-slot=dropdown-menu-item]{gap:10px;min-height:40px;padding:10px 12px}.invoice-payment-dialog .modalactions{margin-top:24px}.invoice-import-grid{grid-template-columns:1fr 1fr;gap:30px;margin:28px 0;display:grid}.invoice-import-grid h3,.invoice-import-payments h3{font-size:var(--portal-type-title);margin:0}.invoice-import-payments{border-top:1px solid var(--border);padding-top:24px}.invoice-import-payment{grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;margin:18px 0;display:grid}.invoice-import-payment>button{min-height:44px;margin:0}.invoice-import-totals{background:#f3f7f5;border-radius:8px;flex-wrap:wrap;gap:24px;margin-top:24px;padding:24px;display:flex}.invoice-importer>.invoice-save-bar{margin-top:28px}.invoice-autofill-status{color:var(--portal-text-secondary);font-size:var(--portal-type-meta);margin:12px 0 0;display:block}.invoice-import-totals span{flex:1;gap:8px;display:grid}.invoice-import-totals strong{font-size:var(--portal-type-section)}.invoice-client-summary{margin-top:24px}.invoice-client-summary>.panelhead>label{min-width:120px}.invoice-client-summary>.panelhead{flex-wrap:wrap;gap:20px}.invoice-report-filters{flex-wrap:wrap;align-items:end;gap:16px;max-width:100%;display:flex}.invoice-report-filters>label{gap:8px;min-width:120px;max-width:100%;display:grid}.invoice-report-filters>label:nth-child(2){width:240px}.invoice-upload-file input[type=file]{padding:8px}.invoice-upload-file input[type=file]::file-selector-button{font:inherit;font-size:var(--portal-type-body);color:var(--portal-text-secondary);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;margin-right:16px;padding:10px 14px;font-weight:600}.invoice-upload-file input[type=file]::file-selector-button:hover{background:#eef6f0;border-color:#a7c9b1}.invoice-import-label{color:#41604f;font-size:var(--portal-type-meta);margin-top:6px;display:block}.invoice-upload-visibility{justify-content:space-between}.invoice-upload-visibility p{overflow-wrap:anywhere;margin:8px 0 0}.invoice-upload-visibility button{flex:none}.invoice-payment-history{border-bottom:1px solid var(--border);padding:20px 0}.invoice-payment-history>div{justify-content:space-between;gap:16px;margin:12px 0;display:flex}.invoice-payment-dialog form>label{gap:8px;margin-top:18px;display:grid}@media (max-width:800px){.invoice-import-grid{grid-template-columns:1fr}.invoice-upload-visibility{flex-direction:column;align-items:start}}@media (max-width:500px){.invoice-import-payment{grid-template-columns:1fr auto}.invoice-import-payment>label{grid-column:1}.invoice-import-payment>button{grid-area:1/2/span 2}}.invoice-totals{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:24px;display:flex}.invoice-totals>span{gap:6px;display:grid}.invoice-totals input{max-width:140px}@media (max-width:1050px){.invoice-line{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-line label:first-of-type{grid-column:1/-1}}@media (max-width:600px){.invoice-addresses,.invoice-metrics,.invoice-line{grid-template-columns:1fr}.invoice-editor{padding:14px}.invoice-totals{justify-content:flex-start}}.people-directory,.person-profile{gap:22px;display:grid}.people-role-tabs,.profile-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-bottom:12px;display:flex}.people-role-tabs button,.profile-tabs button{border:1px solid #0000;border-radius:8px;min-height:44px;padding:10px 16px;font-weight:600}.people-role-tabs button[aria-pressed=true],.profile-tabs button[aria-current]{color:var(--eco-ink);background:var(--eco-green-soft);border-color:var(--border)}.people-role-tabs button span{font-size:var(--portal-type-meta);margin-left:10px}.people-role-section{border-top:4px solid var(--eco-green)}.people-role-section.role-client{border-top-color:var(--eco-ink)}.people-role-section.role-admin{border-top-color:#879b9f}.person-name{text-align:left;min-height:44px;color:var(--eco-ink);gap:5px;display:grid}.person-name strong{text-underline-offset:4px;-webkit-text-decoration:underline #9fbab0;text-decoration:underline #9fbab0}.person-name small{color:var(--portal-text-secondary);font-size:var(--portal-type-meta);overflow-wrap:anywhere}.person-role{background:var(--eco-green-soft);color:var(--eco-green-text);font-size:var(--portal-type-meta);border-radius:5px;padding:4px 10px;font-weight:650;display:inline-flex}.person-role.role-client{color:var(--eco-ink);background:#e7eff1}.person-role.role-admin{color:#42565a;background:#eff1f2}.profile-identity{align-items:center;gap:20px;display:flex}.profile-identity h2{font-size:var(--portal-type-section);font-weight:650}.profile-identity p{margin:4px 0 10px}.profile-identity>button{margin-left:auto}.person-avatar{background:var(--eco-ink);color:#fff;width:76px;height:76px;font-size:var(--portal-type-metric);border-radius:50%;flex:none;place-items:center;display:grid}.profile-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;display:grid}.profile-facts dt{color:var(--portal-text-secondary);font-size:var(--portal-type-body);align-items:center;gap:8px;display:flex}.profile-facts dd{margin:12px 0 0;font-weight:600}.profile-activity-chart{align-items:end;gap:20px;height:180px;padding-top:24px;display:flex}.profile-activity-chart>div{flex-direction:column;flex:1;align-items:center;gap:10px;display:flex}.profile-activity-chart span{background:var(--eco-green);border-radius:5px 5px 0 0;width:min(100%,58px)}.profile-activity-chart strong,.profile-activity-chart small{font-size:var(--portal-type-meta)}.profile-activity-list{margin:12px 0 0;padding:0;list-style:none}.profile-activity-list li{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding:13px 0;display:flex}.profile-activity-list time{font-size:var(--portal-type-meta);color:var(--portal-text-secondary);flex-shrink:0}.profile-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0;display:grid}.profile-field-grid>label{align-content:start;align-self:start}.profile-field-grid small{text-align:left}.staff-main .workspace-notice{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;display:grid}.workspace-notice>span{text-align:center;grid-column:2}.workspace-notice>button{grid-column:3;min-height:44px}.profile-field-grid>.address-autocomplete{align-self:start;margin:0}.profile-field-grid>.address-autocomplete>label{margin-bottom:8px}.profile-form label{font-size:var(--portal-type-body);gap:8px;display:grid}.profile-form input,.profile-form textarea{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;min-height:44px;padding:11px 12px}.profile-form input[readonly]{background:var(--muted);color:var(--portal-text-secondary)}.profile-form small{font-size:var(--portal-type-meta);color:var(--portal-text-secondary)}.profile-save{align-items:center;gap:16px;display:flex}.profile-form [hidden]{display:none}.billing-contact-fields{gap:20px;min-width:0;margin:24px 0;display:grid}.billing-contact-row{border:1px solid var(--border);border-radius:8px;min-width:0;padding:18px}.billing-contact-row legend{padding:0 8px;font-weight:600}.billing-contact-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.billing-contact-grid>label:last-child{grid-column:1/-1}.billing-contact-fields>button{justify-self:start}.billing-contact-default{max-width:620px}.invoice-contact-summary{flex-wrap:wrap;gap:8px 24px;margin:24px 0;display:flex}.invoice-contact-summary p{margin:0}.invoice-contact-summary strong{margin-bottom:4px;display:block}@media (max-width:640px){.billing-contact-grid{grid-template-columns:1fr}}.break-rule-toggle{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex!important}.break-rule-toggle small{font-size:var(--portal-type-meta);color:var(--portal-text-secondary);margin-top:5px;display:block}.break-rule-toggle input[role=switch]{appearance:none;cursor:pointer;background:#728580;border:0;border-radius:16px;min-width:44px;max-height:26px;width:44px!important;height:26px!important;min-height:26px!important;padding:3px!important}.break-rule-toggle input[role=switch]:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;display:block}.break-rule-toggle input[role=switch]:checked{background:var(--eco-green-text)}.break-rule-toggle input[role=switch]:checked:before{transform:translate(18px)}.incomplete-task-reminder{background:#fff9e8;border:1px solid #e9c36f;border-radius:10px;padding:18px}.incomplete-task-reminder h3{font-size:var(--portal-type-title);font-weight:650}.incomplete-task-reminder ul{max-height:180px;margin:12px 0;padding-left:20px;list-style:outside;overflow:auto}.incomplete-task-reminder .operations-check{margin-top:18px}.task-frequency-daily{--frequency-color:#dfb51b;--frequency-fill:#fff5c2;--frequency-ink:#6b5000}.task-frequency-weekly{--frequency-color:#37b34a;--frequency-fill:#e5f5e8;--frequency-ink:#21612d}.task-frequency-monthly{--frequency-color:#9861d1;--frequency-fill:#f0e5fc;--frequency-ink:#68329d}.task-frequency-quarterly{--frequency-color:#eb9139;--frequency-fill:#fff0df;--frequency-ink:#8b4708}.task-frequency-once{--frequency-color:#a4b5b8;--frequency-fill:#edf2f3;--frequency-ink:#425c62}.task-card[class*=task-frequency-]{border-top:5px solid var(--frequency-color)}.task-frequency-badge{background:var(--frequency-fill);width:fit-content;color:var(--frequency-ink);font-size:var(--portal-type-meta);white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:4px 9px;font-weight:650;display:inline-flex}.task-frequency-badge:before{content:"";background:var(--frequency-color);border-radius:50%;width:7px;height:7px}.task-frequency-legend{flex-wrap:wrap;gap:8px;margin:12px 0 20px;display:flex}@media (max-width:700px){.topbar{flex-wrap:wrap;min-height:72px;height:auto!important;padding:12px 16px!important}.portal-search{flex-basis:100%;width:100%;max-width:none}.portal-search-results{width:100%}.profile-identity{flex-wrap:wrap}.profile-identity>button{width:100%;margin-left:0}.profile-facts,.profile-field-grid{grid-template-columns:1fr}.profile-facts>div+div{border-top:1px solid var(--border);padding-top:16px}.profile-activity-chart{gap:8px}.profile-activity-list li{flex-direction:column;gap:6px}.person-profile .panel{padding:18px}}@media (prefers-reduced-motion:reduce){.break-rule-toggle input[role=switch]:before{transition:none}}.activity-event-icon{background:var(--eco-ink)}.activity-kind-people,.activity-kind-site,.activity-kind-sync{background:var(--eco-green-text)}.activity-person{background:var(--eco-green);color:#102e18}.invoice-workspace{min-width:0}.invoice-workspace .invoice-manager{gap:22px}.invoice-workspace .panelhead{margin:0}.invoice-workspace .primary,.invoice-workspace .secondary,.invoice-email-dialog .primary,.invoice-email-dialog .secondary{justify-content:center;align-items:center;gap:8px;display:inline-flex}.invoice-workflow-editor,.invoice-review{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:0;padding:26px}.invoice-back{color:#426168;font-size:var(--portal-type-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:inline-flex}.invoice-workflow-heading h2,.invoice-review-heading h2{font-size:var(--portal-type-section);margin:18px 0 6px;line-height:1.25}.invoice-workflow-heading p,.invoice-section-heading p,.invoice-review-heading p{color:var(--portal-text-secondary);margin:0}.invoice-workflow-heading{margin-bottom:26px}.invoice-editor-fields,.invoice-email-fields{border:0;min-width:0;margin:0;padding:0}.invoice-editor-fields:disabled{opacity:.7}.invoice-workflow-editor label,.invoice-email-dialog label{font-size:var(--portal-type-body);flex-direction:column;gap:7px;min-width:0;margin:0;font-weight:550;display:flex}.invoice-workflow-editor input:not([type=checkbox]),.invoice-workflow-editor textarea,.invoice-email-dialog input:not([type=checkbox]),.invoice-email-dialog textarea{border:1px solid var(--input);width:100%;min-width:0;color:var(--foreground);font:inherit;background:#fff;border-radius:7px;min-height:42px;padding:10px 11px}.invoice-workflow-editor textarea,.invoice-email-dialog textarea{resize:vertical;font-weight:400;line-height:1.5}.invoice-workflow-editor input:focus,.invoice-workflow-editor textarea:focus,.invoice-email-dialog input:focus,.invoice-email-dialog textarea:focus{border-color:var(--ring);box-shadow:var(--control-focus-shadow);outline:none}.field-optional{color:#6a7b7f;font-size:var(--portal-type-meta);font-weight:400}.invoice-workflow-editor .invoice-subject{margin-bottom:24px}.invoice-editor-top{border-bottom:1px solid var(--border);grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px 30px;padding-bottom:28px;display:grid}.invoice-editor-top h3,.invoice-services-section h3,.invoice-editor-bottom h3,.invoice-review h3{font-size:var(--portal-type-title);margin:0 0 16px}.invoice-client-section,.invoice-details-section{grid-template-rows:subgrid;grid-row:1/span 3;gap:20px;min-width:0;display:grid}.invoice-client-section{grid-column:1}.invoice-details-section{grid-column:2}.invoice-top-fields{flex-direction:column;gap:16px;min-width:0;display:flex}.invoice-section-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.invoice-section-heading h3,.invoice-details-section>h3{margin-bottom:0}.invoice-client-identity{border-bottom:1px solid var(--border);gap:4px;padding:14px 0;display:grid}.invoice-client-identity strong{font-size:var(--portal-type-title)}.invoice-client-identity span{color:var(--portal-text-secondary);font-size:var(--portal-type-body)}.invoice-choose-client{color:var(--eco-green-text);text-align:left;cursor:pointer;background:#f2f8f3;border:1px dashed #88ae8d;border-radius:8px;align-items:center;gap:10px;padding:20px;display:flex}.invoice-text-button{color:var(--eco-green-text);font-size:var(--portal-type-body);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.invoice-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.invoice-check,.invoice-workflow-editor .invoice-check,.invoice-email-dialog .invoice-check{font-size:var(--portal-type-meta);flex-direction:row;align-items:center;gap:9px;font-weight:400}.invoice-check input{accent-color:#267634;flex:0 0 16px;width:16px;height:16px;min-height:16px}.invoice-disclosure{margin-top:4px}.invoice-disclosure summary{color:#3e6450;cursor:pointer;font-size:var(--portal-type-body);padding:8px 0}.invoice-disclosure[open]>div,.invoice-disclosure[open]>label{margin-top:14px}.invoice-services-section{border-bottom:1px solid var(--border);padding:28px 0}.invoice-services-section>.invoice-section-heading{margin-bottom:20px}.invoice-section-heading p{font-size:var(--portal-type-body);margin-top:6px}.invoice-service-lines{gap:20px;display:grid}.invoice-service-line{border:1px solid var(--border);border-radius:8px;gap:15px;min-width:0;margin:0;padding:18px;display:grid}.invoice-service-line legend{font-size:var(--portal-type-meta);color:var(--portal-text-secondary);padding:0 7px;font-weight:600}.invoice-line-tools{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.invoice-line-tools>label{flex:1}.invoice-line-buttons{gap:5px;margin-left:auto;display:flex}.invoice-line-buttons button{min-height:38px;padding:8px}.invoice-service-grid{grid-template-columns:minmax(0,2fr) minmax(70px,.65fr) minmax(90px,1fr) minmax(90px,1fr);align-items:start;gap:14px;display:grid}.invoice-line-total{font-size:var(--portal-type-body);text-align:right;gap:14px;padding-top:1px;display:grid}.invoice-line-total strong{font-size:var(--portal-type-title)}.invoice-line-extras{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;display:flex}.invoice-line-extras>label:first-child{max-width:220px}.invoice-add-line{margin-top:20px}.invoice-editor-bottom{grid-template-columns:minmax(0,1fr) 310px;gap:36px;padding:28px 0;display:grid}.invoice-notes-section{align-content:start;gap:15px;display:grid}.invoice-notes-section h3{margin-bottom:0}.invoice-total-panel{background:var(--muted);border-radius:8px;align-self:start;padding:20px}.invoice-total-panel dl{margin:0;display:block}.invoice-total-panel dl>div{justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.invoice-total-panel dt{font-size:var(--portal-type-body)}.invoice-total-panel dd{white-space:nowrap;margin:0;font-weight:600}.invoice-total-line{border-top:1px solid var(--border);font-weight:700}.invoice-balance-line{border-top:1px solid var(--border);color:var(--eco-green-text);margin-top:14px}.invoice-balance-line dd{font-size:var(--portal-type-section)}.invoice-adjustment{grid-template-columns:1fr 1fr;gap:12px;padding:12px 0;display:grid}.invoice-adjustment label:only-child{grid-column:1/-1}.invoice-tax-row{justify-content:space-between;align-items:end;gap:15px;padding:12px 0;display:flex}.invoice-tax-row label{max-width:145px}.invoice-tax-row>span{white-space:nowrap;padding-bottom:12px;font-weight:600}.invoice-total-panel .staff-note{font-size:var(--portal-type-meta);margin:8px 0;line-height:1.5}.invoice-save-bar{z-index:5;border-top:1px solid var(--border);background:#fff;border-radius:0 0 12px 12px;justify-content:space-between;align-items:center;gap:16px;margin:0 -26px -26px;padding:16px 26px;display:flex;position:sticky;bottom:0;box-shadow:0 -5px 18px #1e37280a}.invoice-save-bar>span{font-size:var(--portal-type-meta);color:var(--portal-text-secondary)}.invoice-save-bar>div,.invoice-review-actions,.invoice-email-footer>div{flex-wrap:wrap;gap:10px;display:flex}.invoice-filters{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;display:flex}.invoice-filters button{color:var(--portal-text-secondary);cursor:pointer;font-size:var(--portal-type-body);background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 15px}.invoice-filters button[aria-pressed=true]{color:var(--eco-green-text);border-bottom-color:#287c39;font-weight:650}.invoice-table-subject{max-width:220px;color:var(--portal-text-secondary);margin-top:4px;display:block}.invoice-review{gap:24px;display:grid}.invoice-review>*{margin-top:0;margin-bottom:0}.invoice-back{justify-self:start}.invoice-review-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0;display:flex}.invoice-review-heading h2{margin:12px 0 6px}.invoice-review-notice{font-size:var(--portal-type-body);background:#eff6f0;border-left:3px solid #39804a;align-items:start;gap:12px;margin:20px 0;padding:16px;line-height:1.5;display:flex}.invoice-review-notice svg{flex-shrink:0}.invoice-review-notice strong{display:block}.invoice-review-heading p{margin:0}.invoice-review-actions{align-items:center}.invoice-review .invoice-review-actions>.account-remove{width:auto;margin:0}.invoice-sent-notice{color:#29683b;font-size:var(--portal-type-body);background:#eff6f0;border-radius:6px;padding:16px 18px}.invoice-review-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:26px;display:grid}.invoice-review-main{min-width:0}.invoice-review-addresses{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:22px;padding:0 0 24px;display:grid}.invoice-review-addresses p,.invoice-review-note p,.invoice-internal-note p{white-space:pre-wrap;font-size:var(--portal-type-body);overflow-wrap:anywhere;line-height:1.65}.invoice-review-addresses h3{margin:0 0 10px}.invoice-review-addresses span{font-size:var(--portal-type-meta);overflow-wrap:anywhere}.invoice-review-meta{grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 28px;display:grid}.invoice-review-meta dt{color:var(--portal-text-secondary);font-size:var(--portal-type-meta)}.invoice-review-meta dd{font-size:var(--portal-type-body);margin:6px 0 0;font-weight:550}.invoice-review-table-wrap{overflow-x:auto}.invoice-review-table{border-collapse:collapse;width:100%;font-size:var(--portal-type-body)}.invoice-review-table th{background:var(--muted);border-bottom:1px solid var(--border);text-align:right;font-size:var(--portal-type-meta);padding:10px 8px}.invoice-review-table td{vertical-align:top;border-bottom:1px solid var(--border);text-align:right;padding:16px 8px}.invoice-review-table th:first-child,.invoice-review-table td:first-child{text-align:left;width:55%;min-width:190px}.invoice-review-table p{white-space:pre-wrap;margin:6px 0;line-height:1.5}.invoice-review-table small{color:var(--portal-text-secondary)}.invoice-review-note{margin-top:24px}.invoice-internal-note{border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.invoice-internal-note h3{margin-bottom:6px}.invoice-internal-note small{color:var(--portal-text-secondary);font-size:var(--portal-type-meta)}.staff-dialog.invoice-client-picker{width:min(560px,100vw - 32px);max-width:560px}.invoice-client-results{max-height:380px;display:grid;overflow:auto}.invoice-client-result{text-align:left;color:var(--foreground);border:0;border-bottom:1px solid var(--border);cursor:pointer;background:#fff;gap:5px;padding:16px 8px;display:grid}.invoice-client-result:hover{background:#f0f7f2}.invoice-client-result span{color:var(--portal-text-secondary);font-size:var(--portal-type-meta)}.staff-dialog.invoice-email-dialog{width:min(940px,100vw - 32px);max-height:calc(100dvh - 40px);padding:26px;overflow-y:auto;max-width:940px!important}.invoice-email-grid{grid-template-columns:minmax(0,1fr) 250px;gap:24px;display:grid}.invoice-email-fields{align-content:start;gap:15px;display:grid}.invoice-email-fields .staff-note{font-size:var(--portal-type-meta);margin:0;line-height:1.6}.invoice-email-attachment{background:var(--muted);font-size:var(--portal-type-body);border-radius:8px;flex-direction:column;align-self:start;align-items:start;gap:15px;padding:20px;display:flex}.invoice-email-attachment h3,.invoice-email-attachment p{margin:0}.invoice-email-attachment strong{overflow-wrap:anywhere;max-width:100%}.invoice-email-attachment>svg{color:#39804a}.invoice-email-attachment dl{width:100%;margin:0;display:block}.invoice-email-attachment dl>div{margin-top:14px}.invoice-email-attachment dt{color:var(--portal-text-secondary);font-size:var(--portal-type-meta)}.invoice-email-attachment dd{margin:5px 0 0;font-weight:650}.invoice-email-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.invoice-email-footer p{max-width:330px;font-size:var(--portal-type-meta);color:var(--portal-text-secondary);margin:0}.invoice-success-dialog>svg{color:#287c39}@media (max-width:1150px){.invoice-review-layout{grid-template-columns:1fr}.invoice-review-aside{grid-template-columns:1fr 1fr;gap:24px;display:grid}.invoice-internal-note{margin:0}.invoice-editor-bottom{grid-template-columns:minmax(0,1fr) 290px;gap:22px}}@media (max-width:800px){.invoice-editor-top,.invoice-editor-bottom,.invoice-email-grid{grid-template-columns:1fr}.invoice-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-service-grid>label:first-child{grid-column:1/-1}.invoice-client-section{border-bottom:1px solid var(--border);padding-bottom:22px}.invoice-client-section,.invoice-details-section{grid-area:auto/1;grid-template-rows:auto}.invoice-email-attachment{grid-template-columns:1fr 1fr;width:100%;display:grid}.invoice-email-attachment h3,.invoice-email-attachment p{grid-column:1/-1}.invoice-email-attachment>svg{display:none}.invoice-email-attachment dl{grid-column:1/-1;gap:24px;display:flex}}@media (max-width:600px){.invoice-workflow-editor,.invoice-review{padding:16px}.invoice-detail-fields,.invoice-review-addresses,.invoice-review-aside{grid-template-columns:1fr}.invoice-review-meta{grid-template-columns:1fr 1fr}.invoice-line-tools>label{flex-basis:100%}.invoice-service-line{padding:12px}.invoice-service-grid{gap:9px}.invoice-save-bar{flex-wrap:wrap;margin:0 -16px -16px;padding:14px 16px}.invoice-save-bar>div{width:100%}.invoice-save-bar button{flex:1}.invoice-email-footer{flex-wrap:wrap}.invoice-email-footer>div{justify-content:end;width:100%}.staff-dialog.invoice-email-dialog{padding:20px}.invoice-review-actions{width:100%}.invoice-review-actions>*{flex:1}.invoice-filters button{font-size:var(--portal-type-body);padding:10px}}.invoice-always-open{padding-top:8px}.invoice-always-open h4{font-size:var(--portal-type-subtitle);color:var(--foreground);margin:0 0 14px;font-weight:600}.invoice-service-saved{font-size:var(--portal-type-meta);color:#216736;align-items:center;gap:7px;padding-bottom:10px;font-weight:600;display:inline-flex}.invoice-email-dialog .invoice-email-footer{margin-top:24px;padding-top:20px}.invoice-quantity{flex-direction:column;gap:7px;min-width:0;display:flex}.invoice-quantity-control{position:relative}.invoice-workflow-editor .invoice-quantity input{appearance:textfield;padding-right:36px}.invoice-quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.invoice-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.invoice-quantity-buttons{grid-template-rows:1fr 1fr;display:grid;position:absolute;top:3px;bottom:3px;right:3px}.invoice-workflow-editor .invoice-quantity-buttons button{color:#425c65;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;width:28px;min-height:0;margin:0;padding:0;display:flex}.invoice-workflow-editor .invoice-quantity-buttons button:hover{background:#eaf2ee}.billing-contact-default small{text-align:left;align-self:start}@media (min-width:761px){.invoice-import-grid{grid-template-rows:repeat(6,auto);gap:16px 30px}.invoice-import-grid>.invoice-top-fields{grid-template-rows:subgrid;grid-row:1/span 6;align-items:start;display:grid}.invoice-import-grid>.invoice-top-fields:first-child{grid-column:1}.invoice-import-grid>.invoice-top-fields:last-child{grid-column:2}.invoice-import-grid>.invoice-top-fields:last-child>.invoice-detail-fields{grid-row:2/span 2;grid-template-rows:subgrid;align-self:stretch;align-items:start}.invoice-import-grid>.invoice-top-fields:last-child>label{grid-row:4}}.quote-manager{gap:24px;display:grid}.commercial-list-toolbar{justify-content:flex-end;display:flex}.workspace-page-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.workspace-page-actions-slot:empty{display:none}.workspace-page-actions-slot{min-width:0}.staff-app .workspace-refresh,.client-workspace .workspace-refresh{flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0}.client-workspace .headingactions>.workspace-refresh{flex:0 0 44px}.record-table-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:clamp(320px,60dvh,640px);overflow:auto}.record-table-scroll .record-table th{z-index:1;background:#eef3f4;position:sticky;top:0}.record-table-scroll:focus-visible{outline-offset:2px;outline:2px solid #278438}.invoice-list-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:100%;display:grid}.invoice-list-actions>button{box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:10px 16px}@media (max-width:700px){.unified-workspace .pageheading:has(.workspace-page-actions-slot:not(:empty)){flex-wrap:wrap;display:flex}.workspace-page-actions:has(.workspace-page-actions-slot:not(:empty)){width:100%}}@media (max-width:480px){.workspace-page-actions,.workspace-page-actions .invoice-list-actions{gap:8px}.workspace-page-actions .invoice-list-actions>button{font-size:var(--portal-type-body);gap:6px;padding:10px 8px}}.quote-editor .invoice-editor-heading{margin-bottom:28px}.quote-tabs{border-bottom:1px solid var(--border);gap:8px;display:flex;overflow-x:auto}.quote-tabs button{min-height:44px;font-size:var(--portal-type-body);color:#425c65;border-bottom:3px solid #0000;flex-shrink:0;padding:12px 14px}.quote-tabs button[aria-current=page]{color:#216e32;border-bottom-color:var(--primary);font-weight:700}.quote-tabs button:hover{background:var(--accent)}.quote-workflow-options,.quote-editor-grid,.quote-line-description{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.quote-editor-grid>section{flex-direction:column;gap:18px;min-width:0;display:flex}.quote-editor-grid h3{margin:0 0 4px}.quote-editor .invoice-subject{margin:24px 0}.quote-editor label,.quote-client-response label,.client-document-upload label{font-size:var(--portal-type-body);flex-direction:column;align-items:stretch;gap:8px;min-width:0;font-weight:600;display:flex}.quote-editor fieldset,.quote-client-response fieldset,.client-document-upload fieldset{min-width:0}.quote-section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.quote-section>h3{margin-bottom:12px}.quote-section .invoice-service-line{margin:20px 0}.quote-service-grid{grid-template-columns:minmax(150px,2fr) minmax(70px,.6fr) minmax(110px,1fr) auto 44px;align-items:end;gap:14px;display:grid}.quote-service-grid>strong{white-space:nowrap;padding:12px 0}.quote-line-description{grid-template-columns:3fr 1fr;margin-top:18px}.quote-proposal-section{border-bottom:1px solid var(--border);padding:16px 0}.quote-proposal-section summary,.quote-narrative summary{cursor:pointer;font-weight:600}.quote-proposal-section textarea{margin-top:12px}.quote-totals{background:var(--muted);border-radius:8px;width:min(100%,360px);margin:28px 0 8px auto;padding:24px}.quote-totals input{max-width:140px}.quote-totals dl,.quote-summary dl{margin:20px 0 0;display:block}.quote-totals dd,.quote-summary dd{white-space:nowrap;margin:0;font-weight:600}.quote-totals dl>div,.quote-summary dl>div{justify-content:space-between;gap:16px;margin-top:14px;display:flex}.quote-grand-total{border-top:1px solid var(--border);font-size:var(--portal-type-title);padding-top:16px;font-weight:700}.quote-search{max-width:480px;font-size:var(--portal-type-body);gap:8px;font-weight:600;display:grid}.quote-table-wrap{overflow-x:auto}.quote-table{border-collapse:collapse;width:100%;min-width:640px;font-size:var(--portal-type-body);text-align:left}.quote-table th{font-size:var(--portal-type-meta);background:#eef3f4;font-weight:600}.quote-table th,.quote-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:16px 12px}.quote-table p{margin:6px 0}.quote-table small{margin-top:6px;display:block}.quote-table th:last-child,.quote-table td:last-child{white-space:nowrap;width:1%}.quote-row-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.quote-row-actions>button{flex-shrink:0;margin:0}.quote-manager .invoice-more-button{flex-shrink:0;width:auto;min-width:42px;margin:0}.quote-status{white-space:nowrap;width:fit-content;font-size:var(--portal-type-meta);color:#3f5661;background:#eaf0f2;border-radius:5px;padding:4px 8px;font-weight:600;display:inline-flex}.quote-status-sent,.quote-status-sending{color:#875600;background:#fff2d9}.quote-status-accepted{color:#1e6b32;background:#e6f4e9}.quote-status-declined{color:#a72d40;background:#ffebee}.quote-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.quote-review>.quote-actions,.quote-review>.quote-review-title,.quote-review>.quote-review-grid{margin:0}.quote-review-title{margin:16px 0 28px}.quote-review-title h2{font-size:var(--portal-type-section);margin:12px 0 8px;font-weight:600;line-height:1.3}.quote-review-title p{margin:0}.quote-review-grid .invoice-review-addresses{border-bottom:0;padding-bottom:0}.quote-review-grid{grid-template-columns:minmax(0,1fr) 275px;gap:28px;margin-bottom:28px;display:grid}.quote-prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.quote-summary{background:var(--muted);border-radius:8px;padding:24px}.quote-summary>strong{font-size:var(--portal-type-metric);color:#226c33}.quote-meta{border-top:1px solid var(--border);flex-wrap:wrap;gap:28px;margin-top:24px;padding-top:24px;display:flex}.quote-meta dt{font-size:var(--portal-type-meta);margin-bottom:8px}.quote-meta dd{font-weight:600}.quote-narrative{margin-top:28px}.quote-narrative details{border-bottom:1px solid var(--border);padding:16px 0}.quote-narrative p{margin:16px 0;line-height:1.7}.quote-response-record,.quote-sent-note{background:var(--accent);border-left:3px solid var(--primary);margin-top:24px;padding:20px}.quote-response-record h3{margin-top:0}.quote-attachment-note{background:var(--muted);border-radius:8px;margin:24px 0;padding:20px}.quote-empty{text-align:center;padding:48px 16px}.client-documents>p{margin:16px 0 24px}.client-document-list article{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:16px;padding:20px 0;display:grid}.client-document-list h4{margin:0}.client-document-list p{margin:6px 0}.client-document-list small{overflow-wrap:anywhere;margin-bottom:10px;display:block}.client-document-upload{margin-top:28px}.client-document-upload fieldset{border:0;gap:18px;margin:20px 0;padding:0;display:grid}.quote-file::file-selector-button{border:1px solid var(--border);font:inherit;color:inherit;background:#fff;border-radius:7px;margin-right:16px;padding:10px 14px}.shared-quote-page{color:#183e46;max-width:1100px;margin:auto;padding:28px}.shared-quote-page>header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.shared-quote-page .portal-brand{width:210px}.shared-quote-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:32px}.shared-quote-page h2{font-size:var(--portal-type-section);font-weight:600}.shared-quote-page h3{font-size:var(--portal-type-title);margin-bottom:16px;font-weight:600}.shared-quote-page button,.shared-quote-page a.secondary{border:1px solid var(--border);min-height:44px;color:var(--foreground);font:inherit;font-size:var(--portal-type-body);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;padding:10px 16px;font-weight:600;display:inline-flex}.shared-quote-page button.primary{color:#fff;background:#248337;border-color:#248337}.shared-quote-page input,.shared-quote-page textarea{border:1px solid var(--border);color:#183e46;width:100%;font:inherit;background:#fff;border-radius:7px;padding:12px}.shared-quote-page input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.quote-client-response{border-top:1px solid var(--border);margin-top:32px;padding-top:28px}.quote-client-response>p{margin:12px 0 20px}.quote-client-response fieldset{border:0;gap:20px;margin:20px 0;padding:0;display:grid}.quote-client-response .invoice-check{flex-direction:row;align-items:flex-start;display:flex}.shared-quote-page>footer{font-size:var(--portal-type-body);padding:28px 0}@media (max-width:900px){.quote-review-grid{grid-template-columns:1fr}.client-document-list article{grid-template-columns:28px minmax(0,1fr)}.client-document-list .quote-actions{grid-column:2}.quote-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.quote-workflow-options,.quote-editor-grid,.quote-line-description{grid-template-columns:1fr;gap:20px}.quote-editor-grid>section+section{border-top:1px solid var(--border);padding-top:24px}.shared-quote-page{padding:16px}.shared-quote-card{padding:20px}.shared-quote-page>header{flex-wrap:wrap}}.quote-payment-terms{flex-direction:column;gap:18px;display:flex}.quote-payment-terms .form-select{width:100%}@media (min-width:761px){.quote-client-details-grid{grid-template-rows:repeat(5,auto);gap:18px 24px}.quote-client-details-grid>.quote-client-fields,.quote-client-details-grid>.quote-detail-fields{grid-row:1/span 5;grid-template-rows:subgrid;gap:18px;display:grid}.quote-client-details-grid label{align-self:start}.quote-payment-terms>label{align-self:stretch}.quote-detail-fields>.quote-number-date-fields{grid-row:2/span 2;grid-template-rows:subgrid;gap:18px 16px}.quote-detail-fields>.quote-payment-terms{grid-row:4}.quote-detail-fields>.quote-address-fields{grid-row:5;align-self:start}}@media (min-width:901px){.invoice-editor-top{grid-template-rows:repeat(6,auto)}.invoice-editor-top>.invoice-client-section,.invoice-editor-top>.invoice-details-section{grid-row:1/span 6}.invoice-editor-top .invoice-top-fields{grid-row:2/span 4;grid-template-rows:subgrid;gap:20px;display:grid}.invoice-client-top-fields>.invoice-client-identity,.invoice-client-top-fields>.invoice-choose-client{grid-row:1;align-self:stretch}.invoice-client-top-fields>.invoice-service-site-field{grid-row:2}.invoice-client-top-fields>.billing-contact-picker{grid-row:3}.invoice-client-top-fields>.invoice-billing-email-field{grid-row:4}.invoice-main-details{grid-row:1/span 2;grid-template-rows:subgrid;gap:20px 16px}.invoice-main-details>label{align-self:start}.invoice-number-top-fields>.invoice-check{grid-row:3;align-self:start}.invoice-number-top-fields>.invoice-custom-terms{grid-row:3}.invoice-number-top-fields:has(.invoice-custom-terms)>.invoice-check{grid-row:4}.invoice-editor-top .invoice-always-open{grid-row:6}}.quote-line-heading{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.quote-line-pricing{grid-template-columns:1.4fr 1fr 1fr auto;align-items:end;gap:16px;margin:18px 0;display:grid}.quote-line-amount{text-align:right;gap:14px;padding-bottom:12px;display:grid}.quote-preset-picker{align-items:end;gap:16px;margin-bottom:14px;display:flex}.quote-preset-picker>label{flex:1;max-width:480px}.quote-section>label+label,.quote-section>.quote-editor-grid{margin-top:22px}.quote-standard-copy{background:#f6f8f7;border-radius:8px;padding:24px}@media (max-width:700px){.quote-line-heading,.quote-line-pricing{grid-template-columns:1fr}.quote-line-heading>.icon-button{justify-self:end}.quote-line-amount{text-align:left}.quote-preset-picker{flex-direction:column;align-items:stretch}}.quote-document-list{gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.quote-document-list:empty{display:none}.quote-document-list>li{border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.quote-document-name{flex:1;min-width:0}.quote-document-name strong{overflow-wrap:anywhere;display:block}.quote-document-name small{margin-top:4px;display:block}.quote-document-actions{align-items:center;gap:8px;display:flex}.quote-document-attachments>div{gap:16px;display:grid}.quote-document-attachments>div>p{margin:0}.quote-document-attachments .photo-controls{margin-top:4px}.quote-document-attachments .icon-button{width:44px;min-width:44px;padding:10px}.commercial-library{gap:24px;min-width:0;display:grid}.commercial-library .panelhead{margin:0}.library-filters{grid-template-columns:minmax(0,460px) 200px;align-items:start;gap:20px;display:grid}.library-filters input,.library-filters .form-select,.library-field-grid input:not([type=hidden]),.library-field-grid .form-select{min-height:46px}.library-list{border-top:1px solid var(--border)}.library-list>article{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;padding:22px 0;display:grid}.library-list h3{font-size:var(--portal-type-title);margin:0 0 6px}.library-list p{white-space:pre-line;overflow-wrap:anywhere;margin:8px 0 0}.library-list>article>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.library-list .staff-actions{flex-wrap:nowrap}.library-editor-fields{border:0;gap:22px;min-width:0;margin:0;padding:0;display:grid}.library-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.commercial-item-editor h2{margin:24px 0}.commercial-item-editor>.staff-actions{justify-content:flex-end;margin-top:28px}.quote-template-note{background:var(--accent);border-left:3px solid var(--primary);margin:0 26px 24px;padding:16px}.quote-save-template{margin:4px 0 24px}.quote-line-library{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:22px;display:grid}.profile-client-totals dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 16px;display:grid}.profile-client-totals dt{font-size:var(--portal-type-body);color:var(--foreground)}.profile-client-totals dd{font-size:var(--portal-type-metric);font-variant-numeric:tabular-nums;margin:8px 0 0;font-weight:700}.profile-assigned-sites{gap:0;margin:16px 0 0;padding:0;list-style:none;display:grid}.profile-assigned-sites li{border-top:1px solid var(--border);padding:12px 0}.client-document-list .quote-actions{flex-wrap:wrap;justify-content:flex-end}@media (max-width:700px){.library-filters,.library-field-grid{grid-template-columns:1fr}.library-list>article{grid-template-columns:minmax(0,1fr) auto;gap:16px}.library-list .staff-actions{grid-column:1/-1;justify-content:flex-end}.quote-line-library{grid-template-columns:1fr}.quote-line-library .invoice-line-buttons{justify-content:flex-end}.profile-client-totals dl{grid-template-columns:1fr}}@media (max-width:600px){.quote-document-list>li{flex-wrap:wrap}.quote-document-actions{justify-content:flex-end;width:100%}}.service-tag-badge{font-size:var(--portal-type-meta);color:#173a42;overflow-wrap:anywhere;border:1px solid;border-radius:5px;align-items:center;gap:7px;max-width:100%;padding:4px 8px;font-weight:600;line-height:1.4;display:inline-flex}.service-tag-badge>span{border-radius:50%;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 0 1px #173a4233}.service-tag-badges{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.service-tag-badges:empty{display:none}.service-tag-picker{border-top:1px solid var(--border);gap:16px;margin:24px 0;padding-top:24px;display:grid}.service-tag-picker>label{max-width:460px}.service-tag-picker h3 small,.record-service-tags h3 small{font-size:var(--portal-type-meta);color:var(--portal-text-secondary);margin-left:8px;font-weight:500;display:inline-block}.service-tag-options{border:0;flex-wrap:wrap;gap:12px 20px;min-width:0;margin:0;padding:0;display:flex}.service-tag-options legend{font-size:var(--portal-type-meta);margin-bottom:10px;font-weight:600}.service-tag-options .invoice-check{margin:0}.record-service-tags{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin:24px 0;padding:20px 0;display:flex}.record-service-tags h3{margin:0 0 8px}.record-service-tags-editor{margin:24px 0}.record-service-tags-editor>fieldset{border:0;min-width:0;padding:0}.service-tag-library>p:first-of-type{margin:20px 0}.service-tag-library .library-list{display:grid}.service-tag-library .library-list article{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.service-tag-edit-fields{border:0;flex-wrap:wrap;align-items:center;gap:20px;margin:20px 0;padding:0;display:flex}.service-tag-edit-fields>label:first-child{flex:1;min-width:180px}.service-tag-edit-fields input[type=color]{cursor:pointer;width:64px;height:44px;padding:5px}.profile-service-history table{border-collapse:collapse;width:100%;margin-top:16px}.profile-service-history th,.profile-service-history td{text-align:left;border-bottom:1px solid var(--border);padding:12px 8px}.profile-service-history th{font-size:var(--portal-type-meta);font-weight:600}.profile-service-history .table-scroll{overflow-x:auto}.staff-dialog.invoice-client-picker{flex-direction:column;max-height:calc(100dvh - 32px);display:flex;overflow:hidden}.invoice-client-picker>:not(.invoice-client-results){flex-shrink:0}.invoice-client-results{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:auto;align-content:start;min-height:0;max-height:min(380px,55dvh);overflow-y:auto}.invoice-client-result{flex-shrink:0;min-height:72px}.staff-dialog.new-invoice-client-dialog{overscroll-behavior:contain;width:min(700px,100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;max-width:700px!important}.new-client-fields{border:0;gap:18px;min-width:0;margin-bottom:22px;padding:0;display:grid}.new-client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}@media (max-width:600px){.new-client-grid{grid-template-columns:1fr}.staff-dialog.invoice-client-picker{padding:20px}.service-tag-edit-fields{align-items:end}.service-tag-library .library-list article,.record-service-tags{flex-wrap:wrap;align-items:start}}.sites-total{color:var(--muted-foreground,#687b7b);font-size:var(--portal-type-meta);margin-left:.4rem;font-weight:500}.sites-search{align-items:center;gap:.5rem;max-width:440px;margin:.25rem 0 1.5rem;display:flex}.sites-search input{width:100%;min-width:0}.site-client-group+.site-client-group{margin-top:1.5rem}.site-group-heading{align-items:baseline;gap:.6rem;margin-bottom:.6rem;display:flex}.site-group-heading h3{font-size:var(--portal-type-title);margin:0}.site-group-heading>span{color:#627778;font-size:var(--portal-type-meta)}.compact-site-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:.65rem;display:grid}.compact-site-card{border:1px solid var(--border);border-left:3px solid var(--site-color,#2f7569);background:#fff;border-radius:9px;align-items:center;gap:.6rem;padding:.8rem .9rem;display:flex}.compact-site-info{flex:1;min-width:0}.compact-site-info h4{font-size:var(--portal-type-subtitle);margin:0 0 .25rem}.compact-site-info p{font-size:var(--portal-type-meta);color:#627778;overflow-wrap:anywhere;margin:0;line-height:1.4}.compact-site-info .site-geofence-note{font-size:var(--portal-type-meta);align-items:center;gap:.25rem;margin-top:.35rem;display:flex}.compact-site-actions{align-items:center;gap:.25rem;display:flex}.compact-site-actions .secondary{min-height:34px;font-size:var(--portal-type-body);padding:.4rem .5rem}.site-client-picker{border:1px solid var(--border);border-radius:8px;max-height:260px;margin:.75rem 0;padding:.8rem;overflow-y:auto}.site-client-picker legend{padding:0 .3rem;font-weight:600}.site-client-picker .invoice-check{align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.staff-dialog.signature-dialog{width:calc(100% - 2rem);height:fit-content;margin:auto;animation:none;inset:0;transform:none}.signature-pad{margin:1rem 0}.signature-tools{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.signature-tools>div{gap:.25rem;display:flex}.signature-tools .secondary{min-height:32px;padding:.35rem .6rem}.signature-tools [aria-pressed=true]{background:#e2eee7;border-color:#2b725d}.signature-canvas,.signature-image{aspect-ratio:10/3;border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;max-width:600px;display:block}.signature-canvas{touch-action:none;cursor:crosshair}.signature-image{border:0;max-width:420px}.typed-signature{padding:1rem 0;font-family:cursive;font-size:2rem;display:block}.schedule-send-picker{border:1px solid var(--border);border-radius:10px;max-width:440px;margin:1rem 0 1rem auto;padding:1rem}.schedule-send-picker h3{font-size:var(--portal-type-title);margin:0}.schedule-send-choice{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;font-size:var(--portal-type-meta);background:0 0;justify-content:space-between;gap:1rem;padding:.8rem .2rem;display:flex}.schedule-send-choice:hover{background:#edf4ef}.schedule-send-choice>span:last-child{color:#647773}.schedule-send-picker label{gap:.4rem;margin:.75rem 0;display:grid}.invoice-email-footer .schedule-send-toggle{min-width:36px;padding:.6rem}.invoice-feedback-settings{border:1px solid var(--border);border-radius:10px;margin:1rem 0;padding:1rem}.invoice-feedback-settings summary{cursor:pointer;font-weight:600}.invoice-feedback-settings input[type=url],.invoice-feedback-settings select{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;min-width:0;padding:.7rem}.invoice-feedback-settings>p{font-size:var(--portal-type-meta);max-width:75ch;margin:.75rem 0}.invoice-feedback-settings form{max-width:580px}.invoice-feedback-settings fieldset{gap:.75rem;display:grid}.invoice-feedback-settings label{gap:.35rem;display:grid}.invoice-feedback-settings label.invoice-check{align-items:center;gap:.5rem;display:flex}.feedback-card h1{font-size:var(--portal-type-page);margin-bottom:1rem}.feedback-card form{margin:1.5rem 0}.feedback-card fieldset{border:0;gap:1rem;margin-bottom:1rem;display:grid}.feedback-card label{gap:.4rem;display:grid}.feedback-card textarea{border:1px solid var(--border);border-radius:6px;width:100%;padding:.75rem}.feedback-choices{gap:.65rem;display:grid}.feedback-choices label{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:1rem;display:flex}.feedback-choices input[type=radio]{flex:none;width:auto;margin:0}.feedback-review{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.feedback-review a{text-decoration:underline}.feedback-opt-out{font-size:var(--portal-type-meta);color:#52685e;background:0 0;border:0;margin-top:1.5rem;text-decoration:underline;display:block}.invoice-workspace .invoice-filters{margin-block:0 16px}.invoice-workspace .invoice-metrics{margin-bottom:20px}.invoice-workspace .record-toolbar{margin-block:0 12px}.invoice-workspace .record-toolbar>label{max-width:420px}
:root{--portal-type-compact:.75rem;--portal-type-meta:.75rem;--portal-type-body:.875rem;--portal-type-subtitle:1rem;--portal-type-title:1rem;--portal-type-section:1.25rem;--portal-type-metric:1.5rem;--portal-type-page:2.25rem;--portal-type-display:2.5rem;--portal-type-hero:3rem;--portal-type-jumbo:4rem;--sidebar-heading-size:var(--portal-type-meta);--text-xs:var(--portal-type-meta);--text-xs--line-height:1.4;--text-sm:var(--portal-type-body);--text-sm--line-height:1.5;--text-base:var(--portal-type-body);--text-base--line-height:1.5;--text-lg:var(--portal-type-title);--text-lg--line-height:1.4;--text-xl:var(--portal-type-section);--text-xl--line-height:1.3;--text-2xl:var(--portal-type-metric);--text-2xl--line-height:1.25;--text-3xl:var(--portal-type-page);--text-3xl--line-height:1.2}body{color:var(--eco-ink);font-size:var(--portal-type-body);font-weight:500;line-height:1.5}h1,h2,h3,h4,th,strong,b{font-weight:600}h1,h2,h3,h4{color:var(--eco-ink)}h1{font-size:var(--portal-type-page);line-height:1.2}h2{font-size:var(--portal-type-section);line-height:1.3}h3{font-size:var(--portal-type-title);line-height:1.4}h4{font-size:var(--portal-type-subtitle);line-height:1.4}.pageheading h1,.shared-invoice-heading h1{letter-spacing:-.025em;font-weight:700}label,button,.secondary,.primary{font-weight:600}.sidebar [data-slot=sidebar-group-label],.sidebar h2,.invoice-review-meta dt,.invoice-total-panel dt{color:var(--portal-text-secondary);font-weight:600}.invoice-review-addresses p,.invoice-review-table p,.invoice-review-note p,.invoice-internal-note p{color:var(--eco-ink)}.invoice-review-main>h3{margin:0 0 14px}.invoice-total-panel h3{margin:0 0 18px}.staff-app .primary,.client-workspace .primary,.staff-dialog .primary,.person-profile .primary,.eco-login .primary{background:var(--primary);border-color:var(--primary)}.shared-invoice-page{background:var(--background);min-height:100dvh;padding:28px}.shared-invoice-brand,.shared-invoice-card,.shared-invoice-contact{max-width:1120px;margin:0 auto}.shared-invoice-brand{justify-content:space-between;align-items:center;gap:24px;padding-bottom:28px;display:flex}.shared-invoice-brand>div{align-items:center;gap:16px;display:flex}.shared-invoice-brand strong{font-size:var(--portal-type-title)}.shared-invoice-brand img{object-fit:contain;flex:none}.shared-invoice-brand>a{color:var(--eco-green-text);font-size:var(--portal-type-body);text-decoration:underline}.shared-invoice-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:32px}.shared-invoice-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding-bottom:28px;display:flex}.shared-invoice-heading h1{margin:12px 0 0}.shared-invoice-heading p{color:var(--portal-text-secondary);margin:8px 0 0}.shared-invoice-heading .primary{background:var(--primary);border-color:var(--primary);color:#fff;white-space:nowrap;min-height:44px}.shared-invoice-card .invoice-review-aside{display:block}.shared-invoice-contact{font-size:var(--portal-type-body);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;padding:28px 0 0;display:flex}.shared-invoice-contact>strong,.shared-invoice-contact>small{text-align:center;flex-basis:100%}.shared-invoice-contact a{color:var(--eco-green-text);overflow-wrap:anywhere;align-items:center;gap:8px;display:inline-flex}.shared-invoice-contact small{color:var(--portal-text-secondary);padding-top:8px}.shared-invoice-unavailable{padding:32px 0}@media (max-width:650px){.shared-invoice-page{padding:20px 14px}.shared-invoice-brand{flex-direction:column;align-items:start;gap:16px;padding:0 6px 20px}.shared-invoice-brand strong{font-size:var(--portal-type-title)}.shared-invoice-card{padding:20px}.shared-invoice-heading{flex-direction:column;align-items:stretch}.shared-invoice-heading h1{font-size:var(--portal-type-page)}.shared-invoice-heading .primary{justify-content:center}.shared-invoice-contact{text-align:center;flex-direction:column}.invoice-review{gap:20px}}.invoice-review>.invoice-review-notice{margin:0}.portal-search{min-height:44px}.portal-search input{padding:8px 0;line-height:1.5;font-size:var(--portal-type-body)!important}table:not([role=grid]):not(.rdp-month_grid)>thead>tr>th{font-size:var(--portal-type-body);font-weight:600}table:not([role=grid]):not(.rdp-month_grid)>thead>tr>th>button{font-size:inherit}.profile b{font-size:var(--portal-type-body)}@media (max-width:767px){:root{--portal-type-page:1.75rem}}@media (pointer:coarse){:root{--portal-type-body:1rem}}
.portal-section-skeleton{visibility:hidden;width:100%;min-width:0;animation:0s .15s forwards portal-skeleton-reveal}.portal-skeleton-layout{gap:20px;display:grid}.portal-skeleton-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.portal-skeleton-card,.portal-skeleton-panel{border:1px solid var(--border);background:#fff;border-radius:12px;min-width:0}.portal-skeleton-card{gap:18px;padding:20px;display:grid}.portal-skeleton-heading{border-bottom:1px solid #edf2ee;gap:12px;padding:24px;display:grid}.portal-skeleton-heading>.portal-skeleton-line{width:min(240px,65%);height:16px}.portal-skeleton-heading>.portal-skeleton-line--short{width:min(160px,45%);height:11px}.portal-skeleton-line,.portal-skeleton-value{background-color:#e8efeb;border-radius:5px;width:78%;max-width:240px;height:12px;animation:2s ease-in-out infinite portal-skeleton-pulse;display:block}.portal-skeleton-line--short{width:48%;max-width:140px}.portal-skeleton-value{width:38%;height:28px}.portal-skeleton-row{grid-template-columns:2fr 1fr 1fr .6fr;align-items:center;gap:24px;min-height:72px;padding:18px 24px;display:grid}.portal-skeleton-row+.portal-skeleton-row{border-top:1px solid #edf2ee}.portal-skeleton-row>div{gap:10px;min-width:0;display:grid}.portal-skeleton-calendar{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.portal-skeleton-day{border-inline-end:1px solid #edf2ee;border-bottom:1px solid #edf2ee;flex-direction:column;gap:20px;min-width:0;min-height:100px;padding:16px 12px;display:flex}.portal-skeleton-day:nth-child(7n){border-inline-end:0}.portal-skeleton-day:nth-last-child(-n+7){border-bottom:0}.portal-skeleton-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;padding:24px;display:grid}.portal-skeleton-details>div{gap:18px;padding-block:12px;display:grid}.portal-section-skeleton--embedded .portal-skeleton-panel{border:0;border-radius:0}@keyframes portal-skeleton-reveal{to{visibility:visible}}@keyframes portal-skeleton-pulse{50%{background-color:#dce6df}}@media (prefers-reduced-motion:reduce){.portal-skeleton-line,.portal-skeleton-value{animation:none}}@media (max-width:700px){.portal-skeleton-layout{gap:16px}.portal-skeleton-metrics{gap:8px}.portal-skeleton-card{padding:14px 10px}.portal-skeleton-row{grid-template-columns:2fr 1fr;gap:16px;padding-inline:16px}.portal-skeleton-row>:nth-child(n+3){display:none}.portal-skeleton-heading{padding:20px 16px}.portal-skeleton-day{min-height:76px;padding:12px 6px}.portal-skeleton-details{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}}
:root{--portal-color-ink:#24454b;--portal-color-brand:#37b34a;--portal-color-action:#37b34a;--portal-color-action-hover:#32a544;--portal-color-action-text:#fff;--portal-motion-fast:.15s;--portal-motion-panel:.24s;--portal-color-green-ink:#218838;--portal-color-surface:#fff;--portal-color-muted:#f1f5f5;--portal-color-border:#b0bfc1;--portal-color-selected:#edf6ef;--portal-color-sidebar-selected:#48645e;--portal-color-avatar:#e9f1ef;--portal-color-success-soft:#e6f5e9;--portal-color-warning:#a34b17;--portal-color-warning-soft:#fff3e8;--portal-color-danger:#ad3438;--portal-color-danger-soft:#fff4f4;--portal-color-danger-border:#e9bfc0;--portal-metric-radius:8px;--portal-metric-padding:12px 14px;--portal-filter-height:48px;--background:var(--portal-color-surface);--foreground:var(--portal-color-ink);--card:var(--portal-color-surface);--card-foreground:var(--portal-color-ink);--popover:var(--portal-color-surface);--popover-foreground:var(--portal-color-ink);--primary:var(--portal-color-action);--primary-foreground:var(--portal-color-action-text);--secondary:var(--portal-color-muted);--secondary-foreground:var(--portal-color-ink);--muted:var(--portal-color-muted);--muted-foreground:var(--portal-color-ink);--accent:var(--portal-color-selected);--accent-foreground:var(--portal-color-ink);--border:var(--portal-color-border);--input:var(--portal-color-border);--ring:var(--portal-color-brand);--destructive:var(--portal-color-danger);--chart-1:var(--portal-color-brand);--chart-2:var(--portal-color-ink);--sidebar:var(--portal-color-ink);--sidebar-foreground:var(--portal-color-surface);--sidebar-primary:var(--portal-color-brand);--sidebar-primary-foreground:var(--portal-color-surface);--sidebar-accent:var(--portal-color-sidebar-selected);--sidebar-accent-foreground:var(--portal-color-surface);--sidebar-border:var(--portal-color-border);--sidebar-ring:var(--portal-color-brand);--eco-green:var(--portal-color-brand);--eco-ink:var(--portal-color-ink);--eco-green-text:var(--portal-color-green-ink);--eco-green-soft:var(--portal-color-selected);--eco-white:var(--portal-color-surface);--portal-text-secondary:var(--portal-color-ink);--workspace-ink:var(--portal-color-ink);--workspace-action:var(--portal-color-green-ink);--workspace-canvas:var(--portal-color-surface);--workspace-surface:var(--portal-color-surface);--workspace-danger:var(--portal-color-danger);--workspace-warning:var(--portal-color-warning);--control-focus-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 10%, transparent)}[data-slot=sidebar] .workspace-nav-group>h2,[data-slot=sidebar] .sidebar-create-button,[data-slot=sidebar] .org,[data-slot=sidebar] .org small,[data-slot=sidebar] .profile,[data-slot=sidebar] .profile small{color:var(--sidebar-foreground)}[data-slot=sidebar] .org{background:0 0}[data-slot=sidebar] [data-slot=sidebar-header]:has(.portal-brand){background:var(--card)}.workspace-topbar .profile-topbar:hover,.workspace-topbar .profile-topbar[data-popup-open]{background:var(--accent)}.avatar{background:var(--portal-color-avatar);color:var(--foreground)}.attendance-review-button,.staff-metrics>div,.invoice-metrics>div,.schedule-metric,.tiles>div,.tiles>button{background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:var(--portal-metric-radius);padding:var(--portal-metric-padding);box-shadow:none}.attendance-review-button strong,.staff-metrics b,.invoice-metrics strong,.tiles b{font-size:var(--portal-type-metric);color:var(--foreground);font-variant-numeric:tabular-nums}.schedule-metric strong{color:var(--foreground)}.attendance-review-button[aria-pressed=true],.tiles>button[aria-pressed=true]{border-color:var(--ring);background:var(--accent);box-shadow:inset 0 0 0 1px var(--ring)}table:not([role=grid]):not(.rdp-month_grid)>thead,table:not([role=grid]):not(.rdp-month_grid)>thead>tr,table:not([role=grid]):not(.rdp-month_grid)>thead>tr>th{background:var(--card);color:var(--foreground);border:0}table:not([role=grid]):not(.rdp-month_grid)>thead>tr:last-child>th{border-bottom:1px solid var(--border)}.today-filters :is(input[type=search],.choice){min-height:var(--portal-filter-height);border-radius:8px;line-height:24px;height:var(--portal-filter-height)!important;font-size:var(--portal-type-body)!important;padding:11px 13px!important}.status-badge-success{background:var(--portal-color-success-soft);color:var(--foreground)}.status-badge-warning{background:var(--portal-color-warning-soft);color:var(--portal-color-warning)}.status-badge-danger{background:var(--portal-color-danger-soft);color:var(--portal-color-danger)}.workspace-topbar-brand .portal-brand img{transform:translate(-5.53027%)}.workspace-organization{align-items:center;gap:12px;min-width:0;display:flex}.workspace-organization .workspace-organization-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--portal-type-body);font-weight:600;line-height:1.4;overflow:hidden}.workspace-hub-badge{border:1px solid var(--border);background:var(--accent);color:var(--foreground);font-size:var(--portal-type-body);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:3px 9px;font-weight:600;line-height:1.4;display:inline-flex}.org>.workspace-organization{width:100%}.client-topbar-organization{flex:1}.client-workspace .topbar>.portal-search{flex-shrink:0}@media (min-width:768px){[data-slot=sidebar] .client-sidebar-organization{display:none}}@media (max-width:1100px){.workspace-topbar-organization{display:none}}@media (max-width:767px){.client-topbar-organization{display:none}}
:root{--portal-panel-padding:20px;--portal-section-gap:20px;--portal-control-height:40px;--portal-filter-height:var(--portal-control-height)}.eco-login h1{font-size:1.875rem;line-height:1.2}:is(.unified-workspace,.client-workspace) .panel{padding:var(--portal-panel-padding);margin-bottom:var(--portal-section-gap)}:is(.unified-workspace,.client-workspace) .pageheading{margin-bottom:var(--portal-section-gap)}:is(.unified-workspace,.client-workspace) .panelhead{margin-bottom:16px}:is(.unified-workspace,.client-workspace) :is(.primary,.secondary),.staff-dialog :is(.primary,.secondary),.person-profile :is(.primary,.secondary){min-height:var(--portal-control-height);padding:8px 12px}:is(.unified-workspace,.client-workspace,.staff-dialog,.person-profile) .choice{min-height:var(--portal-control-height);line-height:22px;padding:8px 12px!important}:is(.unified-workspace,.client-workspace,.staff-dialog,.person-profile) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=file]){min-height:var(--portal-control-height);padding-block:8px;line-height:22px}.workspace-topbar .portal-search input{min-height:0}.staff-app .workspace-refresh,.client-workspace .workspace-refresh,.client-workspace .headingactions>.workspace-refresh{width:var(--portal-control-height);height:var(--portal-control-height);min-width:var(--portal-control-height);flex:0 0 var(--portal-control-height);padding:0}.today-filters :is(input[type=search],.choice){line-height:22px;padding-block:8px!important}:is(.unified-workspace,.client-workspace) table:not([role=grid]):not(.rdp-month_grid):not(.timesheet-record-table)>:is(thead,tbody)>tr>:is(th,td){padding-block:12px}.service-dashboard>.card{padding:var(--portal-panel-padding)}@media (min-width:768px){:is(.unified-workspace,.client-workspace) table :is(.primary,.secondary){white-space:nowrap}}.staff-dialog{padding:22px!important}.staff-dialog label{gap:6px;margin-block:12px}.account-dialog{width:calc(100% - 32px);max-width:680px!important}.account-fields{gap:20px;margin-top:6px;display:grid}.account-section{border:0;min-width:0;margin:0;padding:0}.account-section~.account-section{border-top:1px solid var(--border);padding-top:18px}.account-section legend{float:left;width:100%;font-size:var(--portal-type-title);margin-bottom:12px;font-weight:600}.account-section legend+*{clear:both}.account-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.account-fields label{min-width:0;margin:0}.account-fields .account-wide{grid-column:1/-1}.account-field-grid .client-contact-fields{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.account-field-grid .client-contact-fields>:is(label:first-child,p){grid-column:1/-1}.account-fields .staff-note{margin:8px 0 12px;line-height:1.5}.account-field-grid .client-contact-fields>p{margin:0}.account-text-preference{align-items:center;gap:10px;margin-top:16px;display:flex}.account-text-preference label{cursor:pointer}.account-text-preference [data-slot=switch]{width:36px;height:22px}.account-text-preference [data-slot=switch-thumb]{width:18px;height:18px}.account-site-trigger{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.account-sites-popover{width:min(var(--anchor-width), calc(100vw - 48px));padding:12px}.account-sites-popover input{border:1px solid var(--input);font-size:var(--portal-type-body);min-height:var(--portal-control-height);border-radius:6px;width:100%;padding:8px 10px}.account-sites-popover input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.account-site-options{max-height:240px;overflow-y:auto}.account-site-options label{min-height:var(--portal-control-height);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px;display:flex}.account-site-options label:hover{background:var(--accent)}.account-site-options [data-slot=checkbox]{flex-shrink:0}.account-site-options small,.account-linked-sites small{color:var(--muted-foreground);font-size:var(--portal-type-meta);font-weight:400;display:block}.account-linked-sites{max-height:140px;margin:10px 0;padding:0;list-style:none;overflow:auto}.account-linked-sites li{align-items:center;gap:12px;padding:6px 0;display:flex}.account-linked-sites li>span{overflow-wrap:anywhere;flex:1;min-width:0}.account-property{border-bottom:1px solid var(--border);gap:12px;padding:14px 0;display:grid}.account-property-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-property-edit{flex-shrink:0}.account-property-remove{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.account-property-remove:hover{background:var(--accent)}.account-add-property{align-items:center;gap:6px;margin-top:12px;display:inline-flex}.account-dialog .modalactions{margin-top:20px}@media (max-width:640px){:root{--portal-panel-padding:16px;--portal-section-gap:16px}.eco-login h1{font-size:1.625rem}.account-field-grid,.account-field-grid .client-contact-fields{grid-template-columns:minmax(0,1fr)}.account-dialog{padding:18px!important}}@media (pointer:coarse){:root{--portal-control-height:44px}.account-property-remove{width:44px;height:44px}}.employee-site-access{margin-top:12px}.employee-site-access summary{cursor:pointer;font-weight:600}.employee-site-access form{gap:12px;margin-top:12px;display:grid}.employee-site-access .account-site-options label{flex-direction:row;margin:0}.employee-site-access form>button{justify-self:start}@media (min-width:768px){.workspace-topbar.topbar{border-bottom:0}.workspace-topbar:before{content:"";height:1px;width:var(--header-sidebar-width);background:var(--sidebar);pointer-events:none;transition:width var(--sidebar-motion-duration) var(--sidebar-motion-easing);position:absolute;bottom:0;left:0}.workspace-topbar:after{content:"";height:1px;bottom:0;left:var(--header-sidebar-width);background:var(--border);pointer-events:none;transition:left var(--sidebar-motion-duration) var(--sidebar-motion-easing);position:absolute;right:0}}.property-address-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.property-address-grid .property-street{grid-column:1/-1}.staff-dialog .property-address-grid label{min-width:0;margin:0}.property-address-grid .address-autocomplete{margin:0}.property-address-grid input{width:100%}@media (max-width:540px){.property-address-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.workspace-topbar:before,.workspace-topbar:after{transition:none}}@media (max-width:767px){.staff-dialog input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.staff-dialog textarea,.staff-dialog select{font-size:16px!important}.staff-dialog:not(.account-dialog) .modalactions{background:var(--card);border-top:1px solid var(--border);padding:12px 0 max(12px, env(safe-area-inset-bottom));z-index:2;position:sticky;bottom:-22px}}@media (min-width:761px){.people-role-section .record-table{table-layout:fixed}.people-role-section .record-table th{white-space:normal}.people-role-section .record-table th>button{max-width:100%}.people-role-section .record-table th>button>svg{flex-shrink:0}.people-role-section .record-table th:first-child{width:25%}.people-role-section .record-table th:nth-child(2){width:23%}.people-role-section .record-table th:nth-child(3){width:11%}.people-role-section .record-table th:nth-child(4),.people-role-section .record-table th:nth-child(5){width:14%}.people-role-section .record-table th:nth-child(6){width:13%}}.form-section{min-width:0}.form-section>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:40px;list-style:none;display:flex}.form-section>summary::-webkit-details-marker{display:none}.form-section>summary strong{font-size:var(--portal-type-body);font-weight:600}.form-section>summary small{color:var(--muted-foreground);margin-top:4px;font-weight:400;display:block}.form-section>summary svg{flex-shrink:0}.form-section[open]>summary svg{transform:rotate(180deg)}.form-section>summary:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:4px}.form-section-body{padding-top:16px}.account-fields>.account-section .form-section{margin-top:16px}.editor-actions{bottom:var(--editor-action-offset,0px);z-index:5;background:var(--card);border-top:1px solid var(--border);padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:sticky}.staff-dialog{--editor-action-offset:-22px;scroll-padding-bottom:110px}.staff-dialog :is(input,textarea,button,summary){scroll-margin-bottom:110px}.directory-search{gap:6px;width:min(100%,420px);margin:0 0 20px;display:grid}.record-toolbar-external-search{display:none}@media (max-width:767px){.record-toolbar-external-search{display:flex}}@media (max-width:640px){.account-dialog{--editor-action-offset:-18px}}
