@import"https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;700&family=Barlow+Condensed:wght@400;600&display=swap";:root{--color-bg: #f2f2f3;--color-surface: #e9e9ea;--color-text: #1d1f20;--color-accent: #5980a6;--color-divider: color-mix(in srgb, #1d1f20 16%, transparent);--color-neutral-100: #f5f5f8;--color-neutral-200: #e7e7ea;--color-neutral-300: #d4d4d7;--color-neutral-400: #b7b7ba;--color-neutral-500: #98989b;--color-neutral-600: #7a7a7d;--color-neutral-700: #5d5d60;--color-neutral-800: #424244;--color-neutral-900: #2b2b2d;--color-accent-100: #eef6ff;--color-accent-200: #d6ebff;--color-accent-300: #b5d9fd;--color-accent-400: #94bce3;--color-accent-500: #749dc4;--color-accent-600: #597ea3;--color-accent-700: #416180;--color-accent-800: #2c455d;--color-accent-900: #1d2d3d;--font-heading: "Barlow Condensed", system-ui, sans-serif;--font-body: "Barlow", system-ui, sans-serif;--space-1: 3.4px;--space-2: 6.8px;--space-3: 10.2px;--space-4: 13.6px;--space-6: 20.4px;--space-8: 27.2px;--dim-50: color-mix(in srgb, var(--color-text) 50%, transparent);--dim-55: color-mix(in srgb, var(--color-text) 55%, transparent);--dim-60: color-mix(in srgb, var(--color-text) 60%, transparent);--dim-62: color-mix(in srgb, var(--color-text) 62%, transparent);--dim-70: color-mix(in srgb, var(--color-text) 70%, transparent)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.5;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.12;letter-spacing:-.015em;margin:0 0 var(--space-2)}h1{font-size:30px}h2{font-size:24px}h3{font-size:20px}p{margin:var(--space-2) 0}a{color:var(--color-accent);text-underline-offset:3px}a:hover{color:var(--color-accent-700)}img{display:block;max-width:100%}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.muted,.text-muted{color:var(--dim-55);font-size:14px}.nowrap{white-space:nowrap}.blueprint{position:relative;border:1px solid var(--color-divider);border-radius:0}.blueprint>.corner{position:absolute;width:11px;height:11px;color:color-mix(in srgb,var(--color-text) 55%,transparent)}.blueprint>.corner:before,.blueprint>.corner:after{content:"";position:absolute;background:currentColor}.blueprint>.corner:before{left:5px;top:0;width:1px;height:100%}.blueprint>.corner:after{top:5px;left:0;width:100%;height:1px}.blueprint>.corner.tl{top:-6px;left:-6px}.blueprint>.corner.tr{top:-6px;right:-6px}.blueprint>.corner.bl{bottom:-6px;left:-6px}.blueprint>.corner.br{bottom:-6px;right:-6px}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;font-family:var(--font-heading);font-weight:600;font-size:16px;line-height:1.2;cursor:pointer;border-radius:0;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-bg);text-decoration:none}button:hover,.btn-primary:hover{background:var(--color-accent-600)}button:active,.btn-primary:active{background:var(--color-accent-700)}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{background:var(--color-accent)}button.secondary,.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-divider)}button.secondary:hover,.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}button.secondary:active,.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}button.secondary:disabled:hover{background:transparent}button.ghost,.btn-ghost{background:transparent;border-color:transparent;color:var(--color-accent);padding:0 var(--space-1);min-height:44px}button.ghost:hover,.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}button.small{padding:0 14px;font-size:15px}.button-row{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.button-row button{flex:1;min-width:140px}.button-row.compact{margin-top:0}.button-row.compact button{flex:none;min-width:0}label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim-55);margin:18px 0 6px}input,select,textarea,.input{width:100%;min-height:48px;padding:10px 12px;font-family:var(--font-body);font-size:16px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0}input:hover,select:hover,textarea:hover,.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}input:focus-visible,select:focus-visible,textarea:focus-visible,.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea,textarea.input{min-height:90px;resize:vertical}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--color-accent)}.tag,.chip,.pill{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.02em;padding:3px 10px;border-radius:0;white-space:nowrap;background:var(--color-accent-100);color:var(--color-accent-800)}.chip,.pill{margin-left:8px}.tag-outline{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent)}.tag-neutral,.pill,.chip.draft,.chip.wo-cancelled{background:var(--color-neutral-100);color:var(--color-neutral-800)}.chip.submitted,.chip.changes_requested,.chip.approved,.chip.dispatched,.chip.wo-active,.chip.wo-completed,.chip.wo-invoiced,.chip.exception{background:var(--color-accent-100);color:var(--color-accent-800)}.chip.exception{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent)}.shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:14px 24px;border-bottom:1px solid var(--color-divider);flex:none}.brand-block{display:flex;align-items:center;gap:20px;min-width:0}.brand-logo{height:34px;width:auto;flex:none}.brand{font-family:var(--font-heading);font-weight:600;font-size:22px;letter-spacing:-.01em}.nav-tabs{display:flex;border:1px solid var(--color-divider)}.nav-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;font-family:var(--font-heading);font-weight:600;font-size:16px;color:var(--color-text);text-decoration:none;background:transparent}.nav-tabs a+a{border-left:1px solid var(--color-divider)}.nav-tabs a:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.nav-tabs a.active{background:var(--color-accent);color:var(--color-bg)}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:16px}.signed-in-as{text-align:right;line-height:1.2}.signed-in-as .who{font-family:var(--font-heading);font-weight:600;font-size:17px}.signed-in-as .role{font-size:12px;color:var(--dim-55);letter-spacing:.06em;text-transform:uppercase}.content{flex:1;min-height:0;display:flex;flex-direction:column}.content.narrow{width:100%;max-width:940px;margin:0 auto;padding:22px 28px 32px;display:block}.card{position:relative;border:1px solid var(--color-divider);border-radius:0;background:transparent;padding:18px 20px;margin-bottom:18px}.error{color:var(--color-accent-800);font-size:14px;margin-top:10px}ul.plain{list-style:none;padding:0;margin:var(--space-2) 0}ul.plain li{padding:12px 0;border-bottom:1px solid var(--color-divider)}ul.plain li:last-child{border-bottom:none}.section-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim-55);margin-bottom:10px}.day-row,.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-row{cursor:pointer}.row-actions{display:flex;align-items:center;gap:8px}.timesheet{flex:1;min-height:0;display:grid;grid-template-columns:344px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.week-pane{grid-column:1;grid-row:1;border-right:1px solid var(--color-divider);display:flex;flex-direction:column;min-height:0}.week-stepper{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 20px 12px}.week-stepper button{width:44px;height:44px;padding:0;font-size:18px;flex:none}.week-title{text-align:center;line-height:1.15}.week-title .week-of{font-family:var(--font-heading);font-weight:600;font-size:21px}.week-title .week-status{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim-55)}.day-list{flex:1;overflow:auto;padding:0 20px}.day-row-button{width:100%;display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:8px;min-height:64px;font-family:var(--font-body);font-weight:400;font-size:16px;text-align:left;background:transparent;border:1px solid var(--color-divider);color:var(--color-text)}.day-row-button:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.day-row-button.selected,.day-row-button.selected:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.day-row-button .day-when{width:52px;flex:none;line-height:1.05;display:block}.day-row-button .day-name,.day-row-button .day-date{display:block}.day-row-button .day-name{font-family:var(--font-heading);font-weight:600;font-size:19px}.day-row-button .day-date{font-size:12px;color:var(--dim-55)}.day-row-button.selected .day-date{color:color-mix(in srgb,var(--color-bg) 78%,transparent)}.day-row-button .day-jobs{flex:1;min-width:0;font-size:13px;color:var(--dim-62);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.day-row-button.selected .day-jobs{color:color-mix(in srgb,var(--color-bg) 82%,transparent)}.day-row-button .day-hours{flex:none;min-width:56px;text-align:right;font-family:var(--font-heading);font-weight:600;font-size:19px}.week-footer{grid-column:1;grid-row:2;border-top:1px solid var(--color-divider);border-right:1px solid var(--color-divider);padding:16px 20px 20px}.week-total-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.week-total-row .label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim-55)}.week-total-row .total{font-family:var(--font-heading);font-weight:600;font-size:30px;line-height:1}.submit-week{width:100%;min-height:54px;font-size:17px;letter-spacing:.02em}.submitted-note{border:1px solid var(--color-accent);padding:12px 14px;font-size:14px;line-height:1.35}.past-weeks{display:block;margin-top:14px;font-size:14px}.day-pane{grid-column:2;grid-row:1 / -1;min-width:0;min-height:0;display:flex;flex-direction:column}.day-pane-head{flex:none;padding:18px 28px 14px}.day-pane-head h3{margin:0;font-size:28px}.day-pane-head .day-totals{font-size:14px;color:var(--dim-60)}.day-pane-body{flex:1;min-height:0;overflow:auto;padding:6px 28px 28px}.entry-card{padding:16px 18px;margin-bottom:18px;display:flex;gap:18px;align-items:flex-start}.entry-card .entry-when{flex:none;width:186px}.entry-card .entry-time{font-family:var(--font-heading);font-weight:600;font-size:21px;line-height:1.1}.entry-card .entry-hours{font-size:13px;color:var(--dim-55)}.entry-card .entry-what{flex:1;min-width:0}.entry-card .entry-job{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--font-heading);font-weight:600;font-size:17px}.entry-card .entry-desc{font-size:14px;color:var(--dim-70);margin-top:2px}.entry-card .entry-actions{display:flex;gap:8px;flex:none}.entry-card .entry-actions button{min-height:44px;padding:0 16px;font-size:15px}.add-time{min-height:52px;padding:0 26px;font-size:17px}.or-rule{font-family:var(--font-heading);font-weight:600;font-size:14px;letter-spacing:.1em;color:var(--dim-50);margin:18px 0}.suggestions{display:flex;flex-direction:column;gap:14px;max-width:640px}.suggestion{padding:16px 18px;display:flex;align-items:center;gap:16px}.suggestion .suggestion-label{font-family:var(--font-heading);font-weight:600;font-size:19px}.suggestion .suggestion-sub{font-size:14px;color:var(--dim-60)}.suggestion button{flex:none;min-height:46px;padding:0 18px;font-size:15px}.entry-editor{padding:22px 24px;max-width:760px}.job-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.job-chip{cursor:pointer;font-family:var(--font-body);font-weight:400;text-align:left;padding:12px 16px;min-height:56px;display:flex;flex-direction:column;justify-content:center;background:transparent;border:1px solid var(--color-divider);color:var(--color-text)}.job-chip:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.job-chip.selected,.job-chip.selected:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.job-chip .chip-number{font-family:var(--font-heading);font-weight:600;font-size:18px}.job-chip .chip-desc{font-size:13px;opacity:.75;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-select{max-width:420px;margin:-14px 0 26px}.job-select .hint{font-size:13px;color:var(--dim-60);margin-bottom:6px}.job-select select{min-height:48px;font-size:16px}.hours-row{display:flex;gap:28px;align-items:flex-end;margin-bottom:22px;flex-wrap:wrap}.stepper-label{font-size:12px;color:var(--dim-60);margin-bottom:6px;text-transform:none;letter-spacing:normal}.stepper{display:flex;align-items:center;gap:2px;border:1px solid var(--color-divider)}.stepper button{width:48px;height:52px;min-height:52px;padding:0;border:none;background:transparent;font-size:22px;color:var(--color-text)}.stepper button:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.stepper .readout{width:104px;text-align:center;font-family:var(--font-heading);font-weight:600;font-size:22px}.span-note{padding-bottom:6px;line-height:1.25}.span-note .span{font-family:var(--font-heading);font-weight:600;font-size:22px}.span-note .note{font-size:13px;color:var(--dim-55)}.entry-editor textarea{font-size:15px;min-height:76px;margin-bottom:22px}.entry-editor .button-row{margin-top:0}.entry-editor .button-row button{flex:none;min-height:52px}.entry-editor .button-row button:first-child{padding:0 28px;font-size:17px}.entry-editor .button-row button+button{padding:0 24px;font-size:16px}.jobs-screen{flex:1;display:flex;flex-direction:column;min-height:0;padding:22px 28px 28px}.jobs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.jobs-head h3{margin:0;font-size:28px}.jobs-head input{max-width:340px;min-height:48px;font-size:16px}.jobs-grid{flex:1;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:start}.job-card{padding:18px 20px;display:flex;flex-direction:column;gap:10px}.job-card .job-head{display:flex;align-items:center;gap:10px}.job-card .job-number{font-family:var(--font-heading);font-weight:600;font-size:22px}.job-card .job-desc{font-size:16px}.job-card .job-meta{font-size:13px;color:var(--dim-55)}.job-card button{align-self:flex-start;min-height:46px;padding:0 20px;font-size:16px;margin-top:4px}.tab-bar{display:flex;gap:0;padding:0;border:1px solid var(--color-divider);flex-wrap:wrap}.tab-bar button{flex:1;border:none;min-width:110px}.tab-bar button+button{border-left:1px solid var(--color-divider)}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim-60);padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--color-divider)}td{padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%,transparent);vertical-align:top}td.num,th.num{text-align:right;white-space:nowrap}tr:last-child td{border-bottom:none}tr.day-subtotal td{color:var(--dim-55);font-size:13px}.role-options{display:flex;flex-wrap:wrap;gap:8px}.role-option{display:flex;align-items:center;gap:8px;margin:0;min-height:44px;padding:0 14px;border:1px solid var(--color-divider);font-family:var(--font-body);font-size:15px;font-weight:400;letter-spacing:normal;color:var(--color-text);cursor:pointer}.role-options .role-option{text-transform:capitalize}.role-option input{width:auto;margin:0}.role-option:has(input:checked){border-color:var(--color-accent);color:var(--color-accent)}.user-edit{border:1px solid var(--color-accent);padding:16px 18px;margin:12px 0}.user-edit h3{margin:0;font-size:20px}.entry-list{list-style:none;padding:0;margin:10px 0 0}.entry-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--color-divider)}.entry-time{font-family:var(--font-heading);font-weight:600}.entry-desc{margin-top:2px}.day-total{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-divider);font-size:14px}.banner-warn{border-left:3px solid var(--color-accent)}.detail-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.detail-heading h1{margin:0}.detail-heading .heading-action{white-space:nowrap}.detail-list{margin:0}.detail-list>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)}.detail-list>div:last-child{border-bottom:none}.detail-list dt{color:var(--dim-60);margin:0}.detail-list dd{margin:0;text-align:right;word-break:break-word}.work-order .work-order-meta{margin-top:4px;font-size:13px}.work-order select{margin-top:4px}.wo-archived-toggle{margin-top:12px}.wo-controls{display:flex;gap:12px;flex-wrap:wrap}.wo-controls>div{flex:1 1 200px}.view-switch{display:inline-flex;border:1px solid var(--color-divider)}.view-switch button{border:none;background:transparent;color:var(--color-text);font-size:14px;min-height:44px;padding:0 16px}.view-switch button+button{border-left:1px solid var(--color-divider)}.view-switch button.active{background:var(--color-accent);color:var(--color-bg)}.view-switch-row{display:flex;justify-content:flex-end;margin:-4px 0 10px}.work-order-table .table-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.work-order-table table{font-size:13px}.work-order-table th{white-space:nowrap}.work-order-table td{vertical-align:middle}.work-order-table td.nowrap{white-space:nowrap}.work-order-table select{width:auto;min-width:140px;min-height:40px;padding:4px 8px;font-size:13px}.work-order-table .chip{margin-left:6px}.work-order-table tr.archived-row td{opacity:.55}.work-order-table tr.clickable-row{cursor:pointer}.work-order-table tr.clickable-row:hover td{background:color-mix(in srgb,var(--color-text) 5%,transparent)}.th-sort{display:inline-flex;align-items:center;gap:5px;min-height:0;padding:0;background:none;border:none;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.th-sort:hover{background:none;color:var(--color-accent)}.th-sort .sort-arrow{font-size:10px;opacity:.5}th[aria-sort=ascending] .th-sort,th[aria-sort=descending] .th-sort{color:var(--color-accent)}th[aria-sort=ascending] .sort-arrow,th[aria-sort=descending] .sort-arrow{opacity:1}.work-order-table tr.filter-row th{border-bottom:1px solid var(--color-divider);padding-bottom:8px}.work-order-table tr.filter-row input{width:100%;min-width:80px;min-height:40px;padding:4px 8px;font-size:13px;font-weight:400;text-transform:none;letter-spacing:normal}.table-toolbar{align-items:center;gap:12px}.table-toolbar .result-count{margin:0 auto 0 0}.clear-inline{margin-left:10px}.card-controls-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.sort-control{flex:1}.sort-control label{margin-top:0}.sort-row{display:flex;gap:8px;align-items:center}.sort-row select{flex:1}.sort-row button{white-space:nowrap}.filter-builder{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-builder select{flex:0 0 40%}.filter-builder input{flex:1;min-width:140px}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.filter-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-divider);padding:4px 6px 4px 12px;font-size:13px}.filter-chip button{background:none;border:none;color:var(--dim-60);font-size:16px;line-height:1;min-height:32px;padding:0 6px}.filter-chip button:hover{background:none;color:var(--color-accent)}.result-count{margin:12px 0 0;font-size:13px}.dimension-grid{display:flex;flex-wrap:wrap;gap:10px}.dimension-grid>div{flex:1 1 45%;min-width:120px}.finding-editor{border:1px solid var(--color-divider);padding:14px 16px;margin:14px 0}.finding-photo{width:100%;max-height:220px;object-fit:cover;margin:8px 0}.doc-option{width:100%;margin-top:6px}.bom-panel{margin-top:0;padding-top:0;border-top:none}.bom-panel h2{margin:0 0 8px}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.inline-week-nav{padding:0;margin:0 0 12px;border:none}.inline-week-nav button{min-height:44px}.contractor-group+.contractor-group{margin-top:6px}.contractor-group-head{display:flex;align-items:center;flex-wrap:wrap;gap:2px 10px;cursor:pointer;list-style:none;border-bottom:1px solid var(--color-divider);padding:10px 0 8px}.contractor-group-head::-webkit-details-marker{display:none}.contractor-group-head h3{margin:0;flex:1 1 auto;white-space:nowrap}.contractor-group-head .disclosure:before{content:"▶";display:inline-block;font-size:11px;line-height:1;color:var(--dim-60);transition:transform .12s ease}.contractor-group[open] .contractor-group-head .disclosure:before{transform:rotate(90deg)}.screen-link{margin:0 2px 10px;text-align:right}.time-row{display:flex;gap:12px;flex-wrap:wrap}.time-row>div{flex:1 1 160px}@media(max-width:900px){.shell:has(.timesheet){height:100dvh}.timesheet{display:flex;flex-direction:column;min-height:0}.week-pane{width:100%;flex:none;border-right:none;border-bottom:1px solid var(--color-divider);padding:0 24px 18px}.week-stepper{padding:14px 0 12px}.day-list{display:flex;gap:8px;overflow:visible;padding:0}.day-row-button{flex:1;min-width:0;width:auto;margin-bottom:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:10px 8px;min-height:62px}.day-row-button .day-when{width:auto}.day-row-button .day-hours{min-width:0;text-align:left}.day-row-button .day-jobs{display:none}.day-pane{flex:1;min-height:0}.day-pane-head,.day-pane-body{padding-left:24px;padding-right:24px}.week-footer{flex:none;border-right:none;padding:14px 24px 20px}.week-total-row{margin-bottom:12px}.entry-card{flex-wrap:wrap}.entry-card .entry-when,.entry-card .entry-actions{width:100%}.entry-card .entry-actions button{flex:1}.jobs-grid{grid-template-columns:1fr}.jobs-screen{padding:22px 24px 28px}.content.narrow{padding:18px 24px 28px}}@media(max-width:560px){.week-pane{padding:0 12px 12px}.day-list{gap:5px}.day-row-button{padding:8px 5px;min-height:56px}.day-row-button .day-name{font-size:15px}.day-row-button .day-date{font-size:10px}.day-row-button .day-hours{font-size:15px}.week-stepper{padding:12px 0 10px}.day-pane-head,.day-pane-body{padding-left:14px;padding-right:14px}.week-footer{padding:12px 14px 16px}.jobs-screen{padding:18px 14px 24px}.content.narrow{padding:16px 14px 24px}}@media(max-width:640px){.topbar{flex-wrap:wrap;gap:12px;padding:12px 16px}.brand-block{gap:12px}.nav-tabs{order:3;width:100%}.nav-tabs a{flex:1;justify-content:center;padding:0 12px}.topbar-user{gap:12px}.job-chip .chip-desc{max-width:150px}.hours-row{gap:16px}}.add-time-block{max-width:640px;margin-bottom:8px}.suggestion-text{flex:1;min-width:0}.job-select.first{margin:0 0 26px}.job-card{cursor:pointer}.job-card:hover{border-color:color-mix(in srgb,var(--color-text) 40%,transparent)}.exception-note{margin-top:4px}.day-row-button .day-hours .unit,.week-total-row .total .unit{font-family:var(--font-body);font-weight:400;font-size:11px;letter-spacing:.04em;margin-left:3px;opacity:.65}.register{flex:1;display:flex;flex-direction:column;min-height:0;padding:22px 28px 0}.register-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.register-head h3{margin:0;font-size:28px}.register-head button{min-height:46px;padding:0 20px}.overview-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:84px;padding:14px 16px;background:transparent;border:1px solid var(--color-divider);color:var(--color-text);font-family:var(--font-body);font-weight:400;text-align:left}.tile:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.tile.selected,.tile.selected:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.tile-count{font-family:var(--font-heading);font-weight:600;font-size:30px;line-height:1}.tile-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.register-add{padding:18px 20px;margin-top:18px}.register-add h4{margin:0 0 4px;font-size:20px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.register-controls{display:flex;align-items:center;gap:12px;margin-top:18px}.register-controls input[type=text],.register-controls>input{flex:1;min-width:280px;max-width:420px;min-height:46px}.register-controls .role-option{flex:none}.filter-bar{display:flex;align-items:center;gap:12px;min-height:34px;margin:14px 0 6px}.filter-bar-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim-55);flex:none}.filter-bar .filter-chips{margin:0;flex:1}.filter-bar .result-count{margin:0;flex:none}.filter-chip{min-height:34px;padding:0 12px;background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);font-family:var(--font-body);font-size:13px;font-weight:400;gap:8px}.filter-chip:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.register-list{flex:1;min-height:0;overflow:auto;padding-bottom:28px}.register-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-content:start}.register-card{padding:18px 20px;display:flex;flex-direction:column;gap:10px}.register-card .job-head{flex-wrap:wrap}.register-card .job-number{font-size:20px}.register-card .card-footer{display:flex;align-items:center;gap:10px;margin-top:auto}.register-card .card-footer select{flex:1;min-height:44px}.register-card .card-footer button{flex:none;min-height:44px}.register-card.archived-row{opacity:.55}@media(max-width:1200px){.register-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.register{padding:22px 24px 0}.overview-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.register-controls{flex-wrap:wrap}.register-controls>input{max-width:none}.filter-bar{flex-wrap:wrap}.register-cards,.field-grid{grid-template-columns:1fr}}.admin{flex:1;display:flex;min-height:0}.admin-sidebar{width:224px;flex:none;border-right:1px solid var(--color-divider);padding:22px 0;display:flex;flex-direction:column}.admin-sidebar-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim-50);padding:0 20px 12px}.admin-nav-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:56px;padding:12px 20px;background:transparent;border:none;border-left:3px solid transparent;color:var(--color-text);text-align:left;font-family:var(--font-body);font-weight:400}.admin-nav-item:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.admin-nav-item.selected,.admin-nav-item.selected:hover{border-left-color:var(--color-accent);background:var(--color-accent-100)}.admin-nav-label{font-family:var(--font-heading);font-weight:600;font-size:17px}.admin-nav-sub{font-size:12px;opacity:.65}.admin-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.section-head,.section-body{max-width:876px}.section-head{flex:none;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px 28px 16px}.section-head h3{margin:0;font-size:28px}.section-head p{margin:2px 0 0;font-size:14px;color:var(--dim-60)}.section-head button{flex:none;min-height:46px;padding:0 20px}.section-body{flex:1;min-height:0;overflow:auto;padding:0 28px 28px}.admin-panel{padding:20px 22px;margin-bottom:18px}.admin-panel h4{margin:0 0 4px;font-size:20px}.settings-panel{max-width:620px;padding:22px 24px}.field-note{margin:4px 0 0;font-size:12px;color:var(--dim-55)}.list-search{max-width:360px;min-height:46px;margin-bottom:16px}.chip-row{display:flex;flex-wrap:wrap;gap:10px}.admin-panel .button-row.compact,.admin-row-edit .button-row.compact{margin-top:22px}.toggle-chip{min-height:44px;padding:0 16px;background:transparent;border:1px solid var(--color-divider);color:var(--color-text);font-size:15px}.toggle-chip:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.toggle-chip.on,.toggle-chip.on:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.capitalise{text-transform:capitalize}.admin-row{border:1px solid var(--color-divider);padding:16px 18px;margin-bottom:12px}.admin-row.editing{border-color:var(--color-accent)}.admin-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-row-name{font-family:var(--font-heading);font-weight:600;font-size:18px}.admin-row-contact{font-size:13px;color:var(--dim-60);margin-top:4px}.admin-row-edit{margin-top:16px;padding-top:4px;border-top:1px solid var(--color-divider)}.admin-row-edit .button-row button{min-height:48px}.admin-row-edit .button-row button:first-child{padding:0 24px}.admin-row-edit .button-row button+button{padding:0 20px}.parts-table th{padding:8px 12px 8px 0}.parts-table td{padding:12px 12px 12px 0;vertical-align:middle;font-size:13px}.parts-table td.num{font-family:var(--font-heading);font-weight:600}@media(max-width:760px){.admin{flex-direction:column}.admin-sidebar{width:100%;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--color-divider);padding:8px 12px}.admin-sidebar-label{display:none}.admin-nav-item{border-left:none;border-bottom:3px solid transparent;padding:8px 14px}.admin-nav-item.selected{border-left-color:transparent;border-bottom-color:var(--color-accent)}.section-head{flex-wrap:wrap;padding:18px 20px 12px}.section-body{padding:0 20px 24px}}.work-order-table tr.column-filter-row th{border-bottom:none;padding:0 12px 6px 0}.work-order-table tr.column-filter-row select{width:100%;min-width:90px;min-height:38px;padding:4px 6px;font-family:var(--font-body);font-size:12px;font-weight:400;text-transform:none;letter-spacing:normal}.jobs-head-actions{display:flex;align-items:center;gap:12px}.jobs-head-actions input{max-width:340px;min-height:48px}.jobs-head-actions button{flex:none;min-height:48px;padding:0 20px}@media(max-width:640px){.jobs-head{flex-direction:column;align-items:stretch;gap:12px}.jobs-head-actions{flex-wrap:wrap}.jobs-head-actions input{max-width:none;flex:1}}.client-picker-actions{margin-top:8px}.client-picker-actions button{flex:none;min-height:40px}.modal{border:none;padding:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;overscroll-behavior:contain}.modal[open]{display:flex}.modal::backdrop{background:color-mix(in srgb,#1d1f20 55%,transparent)}.modal-panel{position:relative;margin:auto;width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);display:flex;flex-direction:column;border:1px solid var(--color-divider);background:var(--color-bg)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--color-divider)}.modal-head h2{margin:0}.modal-body{padding:18px 20px;overflow-y:auto}.modal-body .user-edit{border:none;padding:0;margin:0}.wo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wo-head h1{margin:10px 0 0}.wo-booked>summary{list-style:none;cursor:pointer}.wo-booked>summary::-webkit-details-marker{display:none}.wo-booked-head{display:flex;align-items:center;gap:12px;min-height:44px}.wo-booked-head h2{margin:0 auto 0 0}.wo-booked-head .disclosure:before{content:"▶";display:inline-block;font-size:11px;line-height:1;color:var(--dim-60);transition:transform .12s ease}.wo-booked[open] .wo-booked-head .disclosure:before{transform:rotate(90deg)}
