.builder-shell{display:grid;gap:0;height:calc(100vh - var(--app-header-h, 72px));background:#dde1e6}.builder-resizer{background:#cbd1d8;cursor:col-resize;position:relative;z-index:5;transition:background .1s;border-left:1px solid #b8bfc8;border-right:1px solid #b8bfc8}.builder-resizer:hover{background:#d4af378c}.builder-resizer:active{background:#d4af37cc}.builder-pane-left,.builder-pane-right{background:#f7f8fa;border-right:1px solid #cbd1d8;overflow-y:auto}.builder-pane-right{border-right:none;border-left:1px solid #cbd1d8}.builder-pane-center{overflow-y:auto;padding:24px 0;background:#dde1e6;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#9ca3af #e5e7eb}.builder-pane-center::-webkit-scrollbar{width:18px}.builder-pane-center::-webkit-scrollbar-track{background:#e5e7eb;border-left:1px solid #cbd1d8}.builder-pane-center::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:9px;border:3px solid #e5e7eb;min-height:60px}.builder-pane-center::-webkit-scrollbar-thumb:hover{background:#6b7280}.builder-pane-center::-webkit-scrollbar-thumb:active{background:#4b5563}.builder-topbar{position:sticky;top:var(--app-header-h, 72px);z-index:10;background:#f1f3f5;border-bottom:1px solid #cbd1d8;padding:8px 16px;display:flex;align-items:center;gap:12px;font-size:13px}.builder-topbar-divider{width:1px;height:20px;background:#cbd1d8}.builder-toolbar-btn{border:1px solid transparent;background:transparent;font:inherit;padding:4px 8px;border-radius:4px;cursor:pointer;color:#1f2937}.builder-toolbar-btn:hover{background:#e5e7eb;border-color:#d1d5db}.builder-toolbar-btn.active{background:#d1d5db;border-color:#9ca3af}.builder-color-swatch{width:14px;height:14px;border-radius:2px;display:inline-block;margin-right:4px;vertical-align:middle;border:1px solid #d1d5db}.page-nav{padding:12px 0}.page-nav-section-header{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.6px;padding:8px 16px 4px}.page-nav-item{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;color:#374151;cursor:pointer;border-left:2px solid transparent}.page-nav-item:hover{background:#e5e7eb}.page-nav-item.active{background:#fde68a;border-left-color:#b88a1e;font-weight:600;color:#111827}.page-nav-item-icon{font-size:14px;opacity:.6}.page-nav-item-toggle{margin-left:auto;width:22px;height:14px;background:#d1d5db;border-radius:7px;position:relative;cursor:pointer;flex-shrink:0}.page-nav-item-toggle.on{background:#d4af37}.page-nav-item-toggle:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;top:2px;left:2px;transition:left .15s ease}.page-nav-item-toggle.on:after{left:10px}.proposal-doc{display:flex;flex-direction:column;gap:24px;align-items:center}.proposal-page{width:8.5in;background:#fff;box-shadow:0 1px 3px #00000014,0 4px 16px #0000000d;font-family:Verdana,DejaVu Sans,Geneva,Tahoma,sans-serif;font-size:9pt;color:#000;line-height:1.25;padding:.4in .4in .75in;height:11in;overflow-x:visible;overflow-y:clip;position:relative;box-sizing:border-box}.proposal-page-divider{font-size:11px;color:#9ca3af;letter-spacing:.4px;text-transform:uppercase}.proposal-header{display:grid;grid-template-columns:1.4fr 2fr 1.6fr;gap:14px;align-items:center;margin-bottom:14px;font-size:9pt}.proposal-header-left{font-size:9pt;line-height:1.5}.proposal-header-left .license{text-decoration:underline;font-weight:700;font-size:11pt}.proposal-header-left .label-bold{font-weight:700;text-decoration:underline}.proposal-header-left .row{white-space:nowrap}.proposal-header-left .row.italic{font-style:italic}.proposal-header-center{text-align:center;display:flex;align-items:center;justify-content:center}.proposal-header-center img{width:100%;max-width:480px;height:auto;display:block}.proposal-header-right{text-align:right;font-size:13pt;line-height:1.3;font-style:normal}.proposal-header-right .title{font-style:italic;text-decoration:underline;font-weight:700;font-size:36pt;margin:0 0 6px;display:block;letter-spacing:.5px}.proposal-header-right .meta-row{font-size:13pt;font-style:normal;font-weight:400}.proposal-header.compact .proposal-header-left{font-size:0}.proposal-header.compact .proposal-header-left img{max-height:60px}.proposal-job-row{border:1px solid #000;padding:5px 8px;text-align:center;font-size:10pt;margin:0}.proposal-job-row+.proposal-job-row{border-top:none}.proposal-job-row strong{font-size:8pt;font-weight:700;margin-right:4px}.proposal-contact-grid{display:grid;grid-template-columns:1fr 1fr;margin-bottom:14px;font-size:9pt}.proposal-contact-cell{border:1px solid #000;margin-right:-1px;margin-bottom:-1px;padding:5px 8px;display:flex;gap:6px;align-items:baseline;min-width:0;box-sizing:border-box;font-size:10pt}.proposal-contact-cell strong{font-size:8pt;font-weight:700}.proposal-contact-cell.full-width{grid-column:1 / -1;justify-content:center}.proposal-section-title{display:flex;align-items:center;gap:12px;font-weight:700;font-size:10pt;margin:14px 0 4px;text-align:left}.proposal-section-title:before{content:"";flex:0 0 5%;height:1px;background:#9ca3af}.proposal-section-title:after{content:"";flex:1;height:1px;background:#9ca3af}.proposal-section-subtitle{text-align:center;font-size:9pt;font-style:italic;margin:0;color:#000}.proposal-callout-red,.text-red,.proposal-callout-blue,.text-blue{color:#000}.proposal-callout-green,.text-green{color:#000;font-weight:700;text-decoration:underline}.proposal-option-price{text-align:center;color:#38761d;font-weight:700;text-decoration:underline;font-size:12pt;margin:18px 0}.proposal-option-heading{font-weight:700;font-size:10pt;margin:18px 0 4px}.proposal-field{outline:none;cursor:text;min-height:1em;border:1px dashed transparent;border-radius:2px;transition:border-color .1s,background .1s}.proposal-field:hover{border-color:#d1d5db}.proposal-field:focus{border-color:#d4af37;background:#fffbeb}.proposal-field-empty:before{content:attr(data-placeholder);color:#9ca3af;font-style:italic}.proposal-form-field{display:inline-block;min-width:120px;border:none;border-bottom:1px dotted #6b7280;padding:0 2px;font:inherit;color:inherit;background:transparent;outline:none}.proposal-form-field:focus{background:#fffbeb;border-bottom-color:#d4af37}.proposal-scope-list{margin:8px 0;padding-left:0;list-style:none}.proposal-scope-list li{padding-left:24px;text-indent:-24px;margin-bottom:6px}.proposal-scope-list li .num{font-weight:600}.proposal-footer{position:absolute;bottom:32px;left:38px;right:38px;display:flex;justify-content:space-between;font-size:8pt;color:#000;padding-top:4px;border-top:1px solid #d1d5db}.proposal-footer .right{font-style:italic}.proposal-page-bordered .proposal-footer{left:40px;right:40px}.proposal-notes-section{margin-top:18px;line-height:1.2}.proposal-notes-section .proposal-notes-block{margin-bottom:8px}.proposal-notes-section .proposal-notes-item{margin-bottom:1px}.proposal-clarifications{margin:10px 0 12px}.proposal-clarifications .proposal-section-title{text-align:center}.clarification-row{display:flex;align-items:baseline;gap:6px;margin:1px 0;position:relative}.clarification-row .num{font-weight:700;font-size:7pt;flex-shrink:0}.clarification-row .body{flex:1;min-width:0}.clarification-row .item-actions{position:absolute;right:100%;top:0;margin-right:6px;display:flex;gap:4px;opacity:0;transition:opacity .12s ease;white-space:nowrap}.clarification-row:hover .item-actions{opacity:1}.clarification-row .item-actions button{border:1px solid #6b7280;background:#f3f4f6;font:inherit;font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px;cursor:pointer;color:#111827;box-shadow:0 1px 1px #00000014}.item-actions button[title^=Remove],button.scope-remove,.systems-chip-x{color:#dc2626!important;border-color:#dc2626!important}.item-actions button[title^=Remove]:hover,button.scope-remove:hover,.systems-chip-x:hover{background:#fee2e2!important;border-color:#b91c1c!important;color:#b91c1c!important}.clarification-row .item-actions button:hover{background:#e5e7eb;border-color:#374151}.clarification-row .item-actions button:disabled{opacity:.35;cursor:not-allowed}.clarification-row .edited-flag{color:#d4af37;font-size:8pt;margin-left:4px}.proposal-notes-block{margin-bottom:14px}.proposal-notes-block-title{font-weight:700;font-size:1.1em;margin-bottom:4px;margin-top:1em}.proposal-notes-block-title:first-child,.proposal-notes-section>.proposal-notes-block-title:first-of-type{margin-top:0}.proposal-notes-item{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px;font-size:inherit;position:relative;break-inside:avoid;page-break-inside:avoid}.proposal-notes-item .bullet{color:#000}.proposal-notes-item.removed{opacity:.4;text-decoration:line-through}.proposal-notes-item .edited-flag{color:#d4af37;font-size:8pt;margin-left:4px}.proposal-notes-item .item-actions{position:absolute;right:100%;top:0;margin-right:6px;display:flex;gap:4px;opacity:0;transition:opacity .12s ease;white-space:nowrap}.proposal-notes-item:hover .item-actions{opacity:1}.scope-item-row .scope-item-controls,.scope-sub-row .scope-sub-controls{opacity:0;transition:opacity .12s ease}.scope-item-row:hover .scope-item-controls,.scope-sub-row:hover .scope-sub-controls{opacity:1}.proposal-notes-item .item-actions button{border:1px solid #6b7280;background:#f3f4f6;font:inherit;font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px;cursor:pointer;color:#111827;box-shadow:0 1px 1px #00000014}.proposal-notes-item .item-actions button:hover{background:#e5e7eb;border-color:#374151}.proposal-notes-item .item-actions button:disabled{opacity:.35;cursor:not-allowed}.payment-schedule-grid{display:grid;grid-template-columns:max-content auto 1fr;column-gap:6px;row-gap:2px}.payment-schedule-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:baseline;position:relative}.payment-schedule-row .item-actions{position:absolute;right:100%;top:0;margin-right:6px;display:flex;gap:4px;opacity:0;transition:opacity .12s ease;white-space:nowrap}.payment-schedule-row:hover .item-actions{opacity:1}.payment-schedule-row .item-actions button{border:1px solid #6b7280;background:#f3f4f6;font:inherit;font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px;cursor:pointer;color:#111827;box-shadow:0 1px 1px #00000014}.payment-schedule-row .item-actions button:hover{background:#e5e7eb;border-color:#374151}.payment-schedule-row .item-actions button:disabled{opacity:.35;cursor:not-allowed}.context-sidebar{padding:16px;font-size:13px}.context-sidebar-title{font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}.context-sidebar-card{background:#eef0f3;border:1px solid #cbd1d8;border-radius:6px;padding:12px;margin-bottom:12px}.context-sidebar-field-label{font-size:11px;font-weight:600;color:#374151;margin-bottom:4px;display:block}.context-sidebar-input{width:100%;padding:6px 8px;border:1px solid #9ca3af;border-radius:4px;font:inherit;font-size:12px;box-sizing:border-box;background:#fff}.context-sidebar-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #d1d5db;font-size:13px}.context-sidebar-toggle:last-child{border-bottom:none}.drive-list{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:visible}.drive-list-header{display:grid;padding:0;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fbfaf3,#f8f6ee);font-size:11px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.6px;position:sticky;top:0;z-index:5}.drive-list-header>*{padding:12px 14px;display:flex;align-items:center;border-right:1px solid #e7e3d4;position:relative;overflow:hidden}.drive-list-header>*:last-child{border-right:none}.drive-list-header button{background:transparent;border:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;cursor:pointer;padding:0;text-align:left}.drive-col-resize{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;background:transparent;z-index:6}.drive-col-resize:hover,.drive-col-resize.dragging{background:#d4af3799}.drive-row{display:grid;align-items:center;padding:0;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .08s;position:relative}.drive-row>*{padding:12px 14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.drive-row>*:last-child{overflow:visible}.drive-row:last-child{border-bottom:none}.drive-row:hover{background:#fefbef}.drive-row.selected{background:#fdf4d1}.drive-row-name{display:flex;align-items:center;gap:10px;font-size:13px;color:#111827;font-weight:500}.drive-row-name .drive-row-filename{overflow:hidden;text-overflow:ellipsis}.drive-row-job{font-weight:700;color:#111827;font-size:13px}.drive-row-town{font-weight:700;color:#111827;font-size:12.5px}.drive-row-company{font-size:12.5px;color:#111827}.drive-row-company em{color:#6b7280;font-style:italic;font-weight:400}.drive-row-date{font-size:12px;color:#111827}.drive-row-date .edit-tag{display:block;font-size:10px;color:#9ca3af;margin-top:1px}.drive-row-icon{width:20px;height:22px;background:#4285f4;border-radius:2px;flex-shrink:0;position:relative}.drive-row-icon:before{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 6px 6px 0;border-color:transparent #c7e2ff transparent transparent}.drive-row-icon:after{content:"";position:absolute;left:4px;right:4px;top:8px;bottom:4px;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(255,255,255,.6) 2px 3px)}.drive-row-shared{font-size:11px;color:#6b7280;flex-shrink:0}.drive-row-date{font-size:12px;color:#111827;text-align:right}.drive-row-menu{font-size:18px;color:#6b7280;text-align:center;padding:4px 8px;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.drive-row-menu:hover{background:#efe1a5;color:#111827}.drive-row-menu-inline{font-size:16px;padding:2px 6px;line-height:1;height:24px;display:inline-flex;align-items:center;justify-content:center}.drive-row-actions{position:absolute;top:100%;right:12px;background:#fff;border:1px solid #e7d68a;border-radius:8px;box-shadow:0 10px 28px #00000024,0 2px 6px #0000000f;z-index:30;min-width:240px;padding:6px;overflow:hidden}.drive-row-actions.drive-row-actions-from-left{left:0;right:auto}.drive-row-actions button{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;text-align:left;font-size:13px;color:#1f2937;padding:8px 10px;border-radius:6px;cursor:pointer;font-family:inherit}.drive-row-actions button:hover{background:#fef3c4;color:#111827}.drive-row-actions button.danger{color:#b91c1c}.drive-row-actions button.danger:hover{background:#fee2e2;color:#991b1b}.drive-row-actions button .icon{width:18px;display:inline-flex;justify-content:center;font-size:14px}.drive-row-actions .divider{height:1px;background:#f3f4f6;margin:4px 2px}.drive-row-actions .soon{font-size:9.5px;color:#9ca3af;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:1px 5px;margin-left:auto;font-weight:600}.proposal-preview-mode .builder-topbar,.proposal-preview-mode .builder-pane-left,.proposal-preview-mode .builder-pane-right,.proposal-preview-mode .builder-resizer,.proposal-preview-mode .builder-pane-right+.builder-resizer,.proposal-preview-mode .builder-pane-left+.builder-resizer{display:none!important}body:has(.proposal-preview-mode) .app-header,body:has(.proposal-preview-mode) .main-nav,body:has(.proposal-preview-mode) .header-brand,body:has(.proposal-preview-mode) .header-actions{display:none!important}body:has(.proposal-preview-mode) .app-layout{display:block!important}body:has(.proposal-preview-mode) .app-main{padding:0!important;margin:0!important}.proposal-preview-mode .builder-shell{grid-template-columns:1fr!important;height:auto!important;background:#f3f4f6!important}.proposal-preview-mode .builder-pane-center{padding:24px 0;background:#f3f4f6!important}.proposal-preview-mode .proposal-page-divider,.proposal-preview-mode .proposal-edit-only,.proposal-preview-mode .item-actions,.proposal-preview-mode .scope-item-controls,.proposal-preview-mode .scope-sub-controls,.proposal-preview-mode .systems-chip-x,.proposal-preview-mode .agreement-edit-controls,.proposal-preview-mode .page-zoom-widget,body:has(.proposal-preview-mode) .page-zoom-widget,.proposal-preview-mode .edited-flag{display:none!important}.proposal-editable-label{cursor:text;border-radius:3px;outline:1px dashed transparent;outline-offset:1px;transition:outline-color .15s ease}.proposal-editable-label:hover{outline-color:#d4af3773}.proposal-editable-label:focus{outline:1px solid #d4af37;outline-offset:2px}.proposal-preview-mode .proposal-editable-label{cursor:default!important;outline:none!important}.proposal-preview-mode .proposal-field-empty:before{content:""!important}.proposal-preview-mode .proposal-field{border-color:transparent!important}.proposal-preview-mode .proposal-autocomplete-field{border-bottom:none!important}@media print{@page{size:8.5in 11in;margin:0}*,*:before,*:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}html,body{background:#fff!important;margin:0!important;padding:0!important;width:8.5in!important}.app-header,.app-layout>nav,.main-nav,.header-brand,.header-actions,.nav-gear,.user-menu,.builder-topbar,.builder-pane-left,.builder-pane-right,.builder-resizer,.proposal-page-divider,.agreement-edit-controls,.item-actions,.scope-item-controls,.scope-sub-controls,.proposal-edit-only,.systems-chip-x,.edited-flag,.page-zoom-widget{display:none!important}.proposal-field-empty:before{content:""!important}.proposal-field{border-color:transparent!important}.proposal-autocomplete-field{border-bottom:none!important}.app-layout{display:block!important;height:auto!important;background:#fff!important}.app-main{padding:0!important;margin:0!important;overflow:visible!important;background:#fff!important}.builder-shell{display:block!important;height:auto!important;background:#fff!important}.builder-pane-center{overflow:visible!important;padding:0!important;background:#fff!important}.proposal-doc{gap:0!important;display:block!important}.proposal-page{width:8.5in!important;height:11in!important;max-height:11in!important;box-sizing:border-box!important;overflow:hidden!important;box-shadow:none!important;border:0!important;page-break-after:always;break-after:page;margin:0!important}.proposal-page:last-child{page-break-after:auto}}.systems-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:16px;row-gap:3px;margin-top:6px}.systems-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 2px;white-space:nowrap;position:relative;font-weight:400}.systems-chip:before{content:"-";margin-right:2px}.systems-chip-x{display:none;border:1px solid #6b7280;background:#f3f4f6;color:#111827;font:inherit;font-size:10px;font-weight:700;padding:0 4px;border-radius:3px;cursor:pointer;line-height:1.2}.systems-chip:hover .systems-chip-x{display:inline-flex}.systems-chip-x:hover{background:#e5e7eb}.proposal-next-page-hint{position:absolute;left:0;right:0;text-align:center;font-style:italic;font-size:20pt;color:#6b7280;opacity:.6;pointer-events:none;letter-spacing:.3px}.bd-shell{background:linear-gradient(180deg,#fafaf7,#f5f5ef);min-height:100%;padding:8px 0 32px}.bd-hero{background:#fff;border:1px solid #e7e3d4;border-left:4px solid #d4af37;border-radius:10px;padding:18px 22px;margin:0 20px 18px;box-shadow:0 1px 2px #0000000a,0 4px 14px #0000000a}.bd-hero h1{margin:0;font-size:24px;color:#1f2937;letter-spacing:-.01em}.bd-hero .bd-subtitle{font-size:13.5px;color:#6b7280;margin-top:4px;line-height:1.5;max-width:760px}.bd-back{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6b7280;margin-bottom:8px;background:transparent;border:0;cursor:pointer;padding:2px 4px;border-radius:4px}.bd-back:hover{color:#111827;background:#f3f4f6}.bd-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 14px}.bd-tab{padding:7px 14px;border:1px solid #d1d5db;background:#fff;border-radius:999px;font-size:13px;font-weight:600;color:#374151;cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .06s;white-space:nowrap}.bd-tab:hover{background:#fef9e6;border-color:#e7c97a;color:#111827}.bd-tab.active{background:#d4af37;border-color:#b88f1f;color:#111827;box-shadow:0 1px 2px #b88f1f66,inset 0 -1px #0000000d}.bd-tab.active:hover{background:#c79f25}.bd-body{padding:0 20px 40px}.bd-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px #0000000a,0 4px 16px #0000000a;overflow:clip}.drive-list.bd-card{overflow:visible}.bd-card-header{padding:14px 18px;background:linear-gradient(180deg,#fbfaf3,#f8f6ee);border-bottom:1px solid #efe9d5;display:flex;align-items:center;justify-content:space-between;gap:12px}.bd-card-title{font-size:15px;font-weight:700;color:#1f2937}.bd-card-sub{font-size:11.5px;color:#6b7280;margin-top:2px;letter-spacing:.02em}.bd-card-body{padding:16px 18px 18px}.bd-defaults-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;background:linear-gradient(180deg,#fdfaee,#fbf6df);border:1px solid #efe1a5;border-radius:8px;margin-bottom:14px}.bd-defaults-bar-label{font-size:11px;font-weight:700;color:#78550a;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}.bd-saving{font-size:10px;font-weight:600;color:#92750f;text-transform:none;letter-spacing:0;background:#fff3c4;padding:2px 6px;border-radius:8px}.bd-knob{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #e7d68a;border-radius:999px;padding:2px 4px 2px 10px;font-size:12px}.bd-knob-label{font-weight:600;color:#4a3a06;padding-right:4px}.bd-knob-value{font-weight:700;color:#1f2937;min-width:38px;text-align:center}.bd-knob-btn{width:22px;height:22px;border-radius:50%;border:1px solid #d1b87a;background:#fdf7da;color:#4a3a06;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .1s,border-color .1s}.bd-knob-btn:hover{background:#d4af37;border-color:#b88f1f;color:#111827}.bd-defaults-note{font-size:11px;color:#6b7280;flex-basis:100%;margin-top:-2px;line-height:1.5}.bd-section-block{border:1px solid #ececec;border-radius:8px;padding:10px 12px 4px;margin-bottom:14px;background:#fcfcfa}.bd-section-block-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed #e5e7eb}.bd-section-block-header input[type=text]{font-weight:700;font-size:14px;color:#111827;border:1px solid transparent;border-radius:4px;padding:4px 6px;background:transparent;flex:1;max-width:360px}.bd-section-block-header input[type=text]:focus{border-color:#d1d5db;background:#fff}.bd-add-pill{border:1px dashed #d1d5db;background:#fff;color:#374151;font-weight:600;font-size:12px;padding:5px 12px;border-radius:999px;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.bd-add-pill:hover{background:#fef9e6;border-color:#d4af37;color:#111827}.bd-add-pill.primary{background:#d4af37;border:1px solid #b88f1f;color:#111827}.bd-add-pill.primary:hover{background:#c79f25}.bd-modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a7a;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:calc(var(--app-header-h, 72px) + 16px) 20px 20px;overflow-y:auto}.bd-modal{background:#fff;border-radius:12px;box-shadow:0 20px 50px #00000040,0 6px 16px #0000001f;width:100%;max-width:640px;border:1px solid #efe1a5;overflow:hidden;max-height:calc(100vh - var(--app-header-h, 72px) - 32px);display:flex;flex-direction:column}.bd-modal-body{overflow-y:auto;flex:1}.bd-modal-header{padding:16px 18px;background:linear-gradient(180deg,#fbfaf3,#f8f6ee);border-bottom:1px solid #efe9d5;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bd-modal-x{background:transparent;border:0;font-size:22px;color:#6b7280;cursor:pointer;padding:0 6px;line-height:1}.bd-modal-x:hover{color:#111827}.bd-modal-body{padding:18px}.bd-modal-footer{padding:12px 18px;border-top:1px solid #f3f4f6;display:flex;justify-content:flex-end;gap:8px;background:#fafafa}.bd-modal-label{font-size:11px;font-weight:700;color:#78550a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.drive-row-type-pill{display:inline-block;padding:2px 9px;border-radius:999px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;font-size:11px;font-weight:700;letter-spacing:.3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-row-type-pill.revised{background:#fef3c4;color:#78550a;border-color:#efe1a5}.drive-row-edit{font-size:11.5px;color:#4b5563;font-weight:600}.drive-row.is-current{background:#fefbef}.drive-row.is-current:hover{background:#fef3c4}.drive-row:not(.is-current) .drive-row-filename,.drive-row:not(.is-current) .drive-row-job,.drive-row:not(.is-current) .drive-row-town,.drive-row:not(.is-current) .drive-row-company,.drive-row:not(.is-current) .drive-row-edit,.drive-row:not(.is-current) .drive-row-date{opacity:.78}.drive-row-current-badge{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.6px;color:#065f46;background:#d1fae5;border:1px solid #6ee7b7;border-radius:4px;padding:1px 5px;text-transform:uppercase;margin-left:4px}.drive-row-actions-cell{display:inline-flex;align-items:center;gap:2px;overflow:visible!important}.drive-row-icon-btn{width:26px;height:26px;border-radius:6px;border:1px solid transparent;background:transparent;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:pointer;padding:0;color:#4b5563;transition:background .1s,border-color .1s}.drive-row-icon-btn:hover{background:#fef3c4;border-color:#efe1a5;color:#111827}@font-face{font-family:DejaVu Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dejavu-sans-latin-400-normal-CD-C4kiC.woff2) format("woff2"),url(/assets/dejavu-sans-latin-400-normal-D-xUQj0R.woff) format("woff")}@font-face{font-family:DejaVu Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dejavu-sans-latin-400-italic-CeISj8dk.woff2) format("woff2"),url(/assets/dejavu-sans-latin-400-italic-BoL4JAOd.woff) format("woff")}@font-face{font-family:DejaVu Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dejavu-sans-latin-700-normal-D5qn-Fn5.woff2) format("woff2"),url(/assets/dejavu-sans-latin-700-normal-Cr49lFNP.woff) format("woff")}@font-face{font-family:DejaVu Sans;font-style:italic;font-display:swap;font-weight:700;src:url(/assets/dejavu-sans-latin-700-italic-LzRJrrSZ.woff2) format("woff2"),url(/assets/dejavu-sans-latin-700-italic-CbRntrQo.woff) format("woff")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--text-primary: #111827;--text-on-dark: #ffffff;--bg-page: #ffffff;--bg-header: #111827;--gold: #D4AF37;--gold-hover: #c4a030;--blue: #3b82f6;--blue-hover: #2563eb;--green: #16a34a;--red: #ef4444;--orange: #f59e0b;--purple: #8b5cf6;--border: #e5e7eb;--bg-hover: #f9fafb;--bg-input: #ffffff;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 20px 60px rgba(0,0,0,.15);--radius: 8px;--radius-sm: 4px}html,body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--text-primary);background:var(--bg-page);line-height:1.5;-webkit-font-smoothing:antialiased}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#fff;display:flex;align-items:center;padding:8px 24px;min-height:72px;gap:28px;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border);box-shadow:0 1px 2px #0000000a}.app-main{flex:1;background:var(--bg-page)}.header-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.logo-circle{width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--bg-header);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;letter-spacing:-.5px}.header-logo-mark{width:52px;height:52px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08));transition:transform .18s ease}.header-brand:hover .header-logo-mark{transform:rotate(-4deg) scale(1.05)}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-company{font-size:16px;font-weight:700;color:var(--text-primary);letter-spacing:.2px}.brand-subtitle{font-size:12px;color:#b8860b;font-weight:600;letter-spacing:.2px}.brand-system{font-size:13px;font-weight:800;color:var(--text-primary);letter-spacing:.6px;text-transform:uppercase}.main-nav{display:flex;align-items:center;flex-wrap:wrap;column-gap:3px;row-gap:4px;flex:1}.nav-link{display:flex;align-items:center;gap:5px;padding:6px 11px;border-radius:var(--radius-sm);text-decoration:none;color:var(--text-primary);font-size:16px;font-weight:600;white-space:nowrap;transition:background .15s,color .15s,opacity .15s;cursor:grab;-webkit-user-select:none;user-select:none}.nav-link:active{cursor:grabbing}.nav-row-break{flex-basis:100%;height:0;width:0;margin:0;padding:0}.nav-link-dragging{opacity:.4;outline:1px dashed var(--gold)}.nav-tab-reset{background:transparent;border:1px solid rgba(17,24,39,.2);color:var(--text-primary);border-radius:4px;width:26px;height:26px;margin-left:6px;cursor:pointer;font-size:13px;opacity:.5;transition:opacity .15s,border-color .15s}.nav-tab-reset:hover{opacity:1;border-color:var(--gold)}.nav-link:hover{background:#1118270f}.nav-link-active{background:var(--gold);color:var(--bg-header)}.nav-link-active:hover{background:var(--gold-hover)}.nav-icon{font-size:16px}.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.nav-gear{font-size:18px;text-decoration:none;opacity:.7;transition:opacity .15s}.nav-gear:hover,.nav-gear-active{opacity:1}.user-menu{display:flex;align-items:center;gap:8px}.user-avatar-small{width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--bg-header);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8px;font-weight:700;line-height:1.1;letter-spacing:.3px}.btn-logout{background:none;border:none;color:var(--text-primary);font-size:18px;cursor:pointer;opacity:.6;transition:opacity .15s;padding:4px}.btn-logout:hover{opacity:1}.page-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 0;gap:16px}.page-header h1{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.page-subtitle{font-size:13px;color:var(--text-primary);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:background .15s,transform .1s;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gold);color:var(--bg-header)}.btn-primary:hover:not(:disabled){background:var(--gold-hover)}.btn-secondary{background:var(--border);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#d1d5db}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background:#d97706}.btn-ghost{background:transparent;color:var(--text-primary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover)}.btn-sm{padding:4px 10px;font-size:12px}.btn-icon{padding:6px;min-width:32px;min-height:32px}.form-input{display:block;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;color:var(--text-primary);background:var(--bg-input);transition:border-color .15s,box-shadow .15s;outline:none}.form-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d4af3726}.form-input::placeholder{color:#9ca3af}textarea.form-input{resize:vertical;min-height:60px}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23111827' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;padding:10px 12px;font-weight:700;color:var(--text-primary);border-bottom:2px solid var(--border);border-right:1px solid #f3f4f6;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:12px;text-transform:uppercase;letter-spacing:.3px}.data-table th:last-child{border-right:none}.data-table td{padding:10px 12px;border-bottom:1px solid #d1d5db;border-right:1px solid #e5e7eb;color:var(--text-primary);vertical-align:top}.data-table td:last-child{border-right:none}.notes-editor{min-height:400px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.15;color:#111827;outline:none;text-align:left}.notes-editor p{margin:0}.spacing-ultra .notes-editor{line-height:.95}.spacing-ultra .notes-editor p{margin:0;padding:0}.spacing-ultra .notes-editor ul,.spacing-ultra .notes-editor ol,.spacing-ultra .notes-editor ul li,.spacing-ultra .notes-editor ol li{margin:0}.spacing-ultra .notes-editor ul[data-type=taskList] li{padding:0}.spacing-ultra .notes-editor ul[data-type=taskList] li>div p{line-height:.95}.spacing-tight .notes-editor{line-height:1.1}.spacing-tight .notes-editor p{margin:0}.spacing-normal .notes-editor{line-height:1.3}.spacing-normal .notes-editor p{margin:2px 0}.spacing-loose .notes-editor{line-height:1.7}.spacing-loose .notes-editor p{margin:6px 0}.notes-editor p.is-editor-empty:first-child:before{color:#9ca3af;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.notes-editor h1{font-size:30px;font-weight:800;margin:10px 0 4px;line-height:1.2}.notes-editor h2{font-size:22px;font-weight:700;margin:8px 0 4px;line-height:1.25}.notes-editor h3{font-size:17px;font-weight:700;margin:6px 0 2px;line-height:1.3}.notes-editor ul,.notes-editor ol{padding-left:1.4em;margin:4px 0}.notes-editor ul li,.notes-editor ol li{margin:1px 0}.notes-editor ul[data-type=taskList]{list-style:none;padding-left:0;margin:2px 0}.notes-editor ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px;margin:0;padding:1px 0}.notes-editor ul[data-type=taskList] li>label{flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:0}.notes-editor ul[data-type=taskList] li>label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid #9ca3af;border-radius:50%;background:#fff;cursor:pointer;display:block;position:relative;padding:0;margin:0}.notes-editor ul[data-type=taskList] li>label input[type=checkbox]:checked{background:#d4af37;border-color:#d4af37}.notes-editor ul[data-type=taskList] li>label input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.notes-editor ul[data-type=taskList] li>div{flex:1;min-width:0}.notes-editor ul[data-type=taskList] li>div p{margin:0;line-height:1.15}.notes-editor strong{font-weight:700;color:inherit}.notes-editor em{font-style:italic}.notes-editor mark{padding:1px 2px;border-radius:2px}.notes-editor blockquote{border-left:3px solid #D4AF37;padding-left:12px;margin:.5em 0;color:#111827;font-style:italic}.notes-editor code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:SF Mono,Menlo,monospace;font-size:14px}.drag-handle{position:fixed;opacity:0;transition:opacity .12s ease,background-color .12s ease,transform .12s ease;height:26px;width:22px;display:flex;align-items:center;justify-content:center;border-radius:5px;cursor:grab;z-index:50;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23374151'><circle cx='5' cy='3' r='1.7'/><circle cx='11' cy='3' r='1.7'/><circle cx='5' cy='8' r='1.7'/><circle cx='11' cy='8' r='1.7'/><circle cx='5' cy='13' r='1.7'/><circle cx='11' cy='13' r='1.7'/></svg>");background-repeat:no-repeat;background-position:center;background-size:18px;background-color:#f3f4f6b3;border:1px solid #e5e7eb}.drag-handle:hover{background-color:#e5e7eb;border-color:#9ca3af;transform:scale(1.08)}.drag-handle.hide{opacity:0;pointer-events:none}.drag-handle:not(.hide){opacity:1}.drag-handle:active{cursor:grabbing;background-color:#d1d5db;transform:scale(.96)}.notes-editor .ProseMirror-selectednode{outline:2px solid #D4AF37;border-radius:4px}.view-mode .form-input,.view-mode input[type=text],.view-mode input[type=email],.view-mode input[type=tel],.view-mode input[type=date],.view-mode input[type=number],.view-mode select,.view-mode textarea{background:#fdf6e3!important;border:1px solid #f1e9c8!important;box-shadow:none!important;pointer-events:none!important;color:#111827!important;padding:8px 10px!important;font-weight:600!important;font-size:15px!important;border-radius:6px!important}.view-mode .form-input:focus,.view-mode select:focus,.view-mode textarea:focus{outline:none!important}.view-mode .modal-overlay .form-input,.view-mode .modal-overlay input,.view-mode .modal-overlay textarea,.view-mode .modal-overlay select,.view-mode .modal-content .form-input,.view-mode .modal-content input,.view-mode .modal-content textarea,.view-mode .modal-content select{background:#fff!important;border:1px solid #d1d5db!important;pointer-events:auto!important;padding:6px 10px!important;font-weight:400!important;font-size:14px!important}.view-mode .form-label{text-transform:uppercase;letter-spacing:.08em;font-size:10px!important;font-weight:800;color:#b8872c!important;margin-bottom:4px}.view-mode .form-label:after{content:":";margin-left:1px}.sheet-table{border-collapse:collapse;width:100%;font-size:12px;color:#111827;background:#fff}.sheet-table th{background:#f9fafb;border:1px solid #e5e7eb;padding:6px 8px;text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#111827;position:sticky;top:0;z-index:2}.sheet-table td{border:1px solid #e5e7eb;padding:0;vertical-align:middle;height:32px}.sheet-table tbody tr:hover td{background:#fffbeb}.sheet-cell{padding:6px 8px;min-height:20px;cursor:text;outline:none;line-height:1.3;white-space:pre-wrap;word-break:break-word}.sheet-cell:focus{box-shadow:inset 0 0 0 2px #d4af37}.sheet-cell-locked{cursor:default;-webkit-user-select:text;user-select:text}.sheet-row-editing td{background:#fffdf0}.sheet-row-editing .sheet-cell{box-shadow:inset 0 0 0 1px #d4af37}.payroll-table{border-collapse:collapse;width:100%;background:#fff;font-size:12px;color:#111827}.payroll-table th{background:#f9fafb;border:1px solid #b0b6c1;padding:8px 10px;text-align:center;font-weight:700;color:#111827;position:sticky;top:0;z-index:2}.payroll-table th:first-child{text-align:left;position:sticky;left:0;z-index:3;background:#f9fafb}.payroll-table td{border:1px solid #b0b6c1;padding:6px 8px;vertical-align:top}.payroll-worker-cell{position:sticky;left:0;background:#fff;z-index:1;min-width:180px}.payroll-cell{padding:0!important;min-width:195px}.payroll-textarea{width:100%;min-height:33px;padding:9px 12px;border:none;outline:none;background:transparent;font-family:inherit;font-size:18px;line-height:1.3;color:#111827;resize:none;overflow:hidden}.payroll-textarea:focus{background:#fffbeb;box-shadow:inset 0 0 0 2px #d4af37}.payroll-total-cell{background:#fdf6e3;font-size:11px;padding:6px 8px;white-space:nowrap}.payroll-daily-totals td{background:#f9fafb;border-top:2px solid #111827;font-size:12px}.payroll-jump-date,.payroll-jump-month{font:inherit;font-size:12px;font-weight:600;color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:4px 6px;cursor:pointer;outline:none}.payroll-jump-date:hover,.payroll-jump-month:hover{border-color:#d4af37;background:#fffbeb}.payroll-jump-date:focus,.payroll-jump-month:focus{border-color:#d4af37;box-shadow:0 0 0 2px #d4af3740}.payroll-temp-rename{border:none;outline:none;background:transparent;font-weight:700;color:#111827;font-size:14px;flex:1;padding:2px 0}.payroll-temp-rename:focus{background:#fffbeb;box-shadow:inset 0 0 0 1px #d4af37;border-radius:3px}.payroll-drag-cell{padding:0 4px!important;cursor:grab;color:#d1d5db;text-align:center;-webkit-user-select:none;user-select:none;font-weight:700;letter-spacing:-2px;-webkit-user-drag:element}.payroll-drag-cell:active{cursor:grabbing}.payroll-drag-cell:hover{color:#111827;background:#fdf6e3}.payroll-cell-day_off .payroll-textarea{color:#2563eb!important;font-weight:600;background:#eff6ff}.payroll-cell-callout .payroll-textarea{color:#dc2626!important;font-weight:700;background:#fef2f2}.payroll-cell-work .payroll-textarea{color:#111827}.payroll-cell-zero{color:#dc2626}.payroll-cell-short{color:#2563eb}.payroll-cell-actions{position:absolute;right:2px;top:2px;display:flex;gap:3px;align-items:center;z-index:5}.payroll-cell:hover .payroll-cell-color-btn{opacity:1}.payroll-cell-color-btn{width:18px;height:18px;border-radius:3px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:11px;font-weight:800;color:#111827;padding:0;line-height:1;opacity:.3;transition:opacity .15s}.payroll-cell-color-btn:hover{opacity:1}.payroll-cell-callout-pill{font-size:9px;font-weight:800;background:#dc2626;color:#fff;padding:1px 5px;border-radius:8px;letter-spacing:.04em}.payroll-cell-callout{background:#dc26260a}.payroll-cell-colors{position:absolute;right:0;top:22px;z-index:20;display:flex;gap:4px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:4px 6px;box-shadow:0 2px 8px #0000001a}.payroll-cell-suggestions{position:absolute;left:4px;top:calc(100% + 2px);background:#111827;border-radius:6px;padding:2px;font-size:11px;z-index:30;min-width:140px;box-shadow:0 6px 18px #0000002e;display:flex;flex-direction:column;gap:1px}.payroll-cell-suggestion-row{display:flex;align-items:center;gap:6px;padding:4px 8px;background:transparent;border:none;border-radius:4px;color:#e5e7eb;cursor:pointer;font:inherit;font-size:11px;font-weight:600;text-align:left;white-space:nowrap}.payroll-cell-suggestion-row.top{background:#1f2937;color:#fff}.payroll-cell-suggestion-row:hover{background:#374151;color:#fff}.payroll-cell-suggestion-prefix{color:#9ca3af;font-size:10px;letter-spacing:.04em;flex:0 0 auto}.payroll-cell-suggestion-row.top .payroll-cell-suggestion-prefix{color:#fbbf24}.payroll-cell-suggestion-label{flex:1 1 auto}.hours-card{border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;background:#fff;cursor:pointer;transition:background .1s,border-color .1s,box-shadow .1s}.hours-card:hover{background:#fdf6e3;border-color:#d4af37}.hours-card-selected{background:#fdf6e3!important;border-color:#d4af37!important;box-shadow:0 0 0 2px #d4af37 inset}.hours-rename-btn{background:transparent;border:none;cursor:pointer;color:#d4af37;font-size:11px;padding:0 4px;opacity:0;transition:opacity .1s;line-height:1}.hours-card:hover .hours-rename-btn{opacity:1}.hours-rename-btn:hover{color:#111827}.hours-rename-input{font:inherit;font-weight:700;color:#111827;background:#fffbeb;border:1px solid #D4AF37;border-radius:4px;padding:2px 6px;outline:none;width:100%;max-width:100%;box-sizing:border-box}.hours-chip{background:#fdf6e3;color:#111827;padding:2px 8px;border-radius:10px;font-weight:600;font-feature-settings:"tnum"}.hours-chip-blue{background:#dbeafe;color:#1e40af}.hours-chip-red{background:#fee2e2;color:#991b1b}.hours-chip-green{background:#dcfce7;color:#166534}.hours-pill{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #D4AF37;border-radius:14px;padding:3px 10px;font-size:12px;font-weight:700;color:#111827}.hours-pill button{border:none;background:transparent;cursor:pointer;color:#dc2626;font-weight:800;font-size:14px;line-height:1;padding:0;margin-left:2px}.payroll-week-notes{width:100%;border:1px solid transparent;outline:none;background:transparent;font-family:inherit;font-size:14px;line-height:1.35;color:#111827;resize:none;overflow:hidden;padding:3px 4px;font-style:italic;opacity:.95}.payroll-week-notes:focus{background:#fffbeb;border:1px solid #D4AF37;border-radius:3px;opacity:1}.payroll-week-notes::placeholder{color:#9ca3af;font-style:italic}.payroll-table-compact th,.payroll-table-compact td{padding:6px 9px}.payroll-table-compact .payroll-textarea{font-size:18px;padding:9px 12px;min-height:33px}.payroll-worker-col-header{text-align:left;min-width:180px;width:200px}.payroll-table-compact .payroll-worker-cell{min-width:180px;max-width:230px;width:200px}.payroll-day-label{font-size:12px;font-weight:700;opacity:.85;color:#111827}.payroll-day-date{font-size:13px;font-weight:700;color:#111827;font-feature-settings:"tnum";margin-top:2px}.payroll-table-sticky-head thead th{position:sticky;top:72px;z-index:4;background:#f9fafb;box-shadow:inset 0 -1px #b0b6c1}.payroll-table-sticky-head thead th:first-child,.payroll-table-sticky-head thead th.payroll-worker-col-header{z-index:5;left:0}.payroll-table-sticky-head thead th.payroll-worker-col-header{position:sticky}@media(max-width:768px){.payroll-table-sticky-head thead th{top:0}}.payroll-general-notes{background:#fffdf0;border:1px solid #f1e9c8;border-radius:8px;padding:8px 12px 10px}.payroll-general-notes-label{font-size:10px;font-weight:800;color:#b8872c;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.payroll-general-notes-textarea{width:100%;border:none;outline:none;background:transparent;font-family:inherit;font-size:13px;line-height:1.4;color:#111827;resize:none;overflow:hidden;min-height:40px;padding:0}.payroll-general-notes-textarea:focus{background:#fff;border-radius:4px}.payroll-general-notes-textarea::placeholder{color:#9ca3af;font-style:italic}.payroll-left-total{font-size:14px;font-weight:800;color:#111827;font-feature-settings:"tnum";background:#fdf6e3;border:1px solid #f1e9c8;border-radius:5px;padding:3px 8px;display:inline-flex;flex-direction:column;gap:1px;max-width:100%;align-self:flex-start;letter-spacing:.01em;line-height:1.2}.payroll-left-total-row{white-space:nowrap}.payroll-legend{margin-top:14px;padding:10px 14px;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;font-size:11px;color:#111827;display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}.payroll-legend code{background:#fdf6e3;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:600}.payroll-legend .muted{opacity:.75}.payroll-command-chip{display:inline-flex;align-items:center;gap:2px;background:#fdf6e3;border:1px solid #f1e9c8;border-radius:4px;padding:0 2px 0 0}.payroll-command-chip code{background:transparent;padding:2px 2px 2px 6px;font-weight:700}.payroll-command-chip-x{border:none;background:transparent;color:#dc2626;font-size:12px;font-weight:700;cursor:pointer;opacity:0;padding:0 4px;line-height:1;transition:opacity .15s}.payroll-command-chip:hover .payroll-command-chip-x{opacity:1}.payroll-command-chip-adding{background:#fff;border:1px solid #D4AF37;padding:2px 6px}.payroll-command-chip-add{border:none;background:#d4af37;color:#111827;font-weight:800;cursor:pointer;border-radius:3px;padding:0 8px;font-size:13px}.payroll-command-chip-add:disabled{opacity:.4;cursor:not-allowed}.payroll-command-add-btn{background:transparent;border:1px dashed #D4AF37;color:#d4af37;font-weight:700;font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer}.payroll-command-add-btn:hover{background:#fdf6e3}.payroll-divider-edit-btn{border:1px solid #d1d5db;background:#fff;color:#111827;cursor:pointer;padding:2px 8px;border-radius:4px;font-size:12px;opacity:.4;transition:opacity .15s}tr:hover .payroll-divider-edit-btn{opacity:1}.payroll-divider-edit-btn:hover{background:#fdf6e3;border-color:#d4af37}@media(max-width:1200px){.payroll-table-compact .payroll-textarea{font-size:16px;padding:6px 9px;min-height:30px}.payroll-day-date{font-size:13px}.payroll-table-compact th,.payroll-table-compact td{padding:5px 6px}}.sheet-cell-editing{padding:6px 8px!important;box-shadow:inset 0 0 0 2px #d4af37}.sheet-header-input{background:transparent;border:none;outline:none;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#111827;width:100%;padding:2px 0}.sheet-header-input:focus{box-shadow:inset 0 0 0 2px #d4af37;background:#fffbeb}.data-table tbody tr{transition:background .1s}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody td.pipeline-job-cell-hovered{background:var(--bg-hover)!important}.data-table tbody tr[data-clickable=true]{cursor:pointer}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-card-label{font-size:14px;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:.4px}.stat-card-value{font-size:24px;font-weight:700;color:var(--text-primary);font-feature-settings:"tnum";margin-top:4px}.stat-card-sub{font-size:12px;color:var(--text-primary);margin-top:2px}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-green{background:#dcfce7;color:#15803d}.badge-red{background:#fee2e2;color:#b91c1c}.badge-yellow{background:#fef3c7;color:#92400e}.badge-purple{background:#ede9fe;color:#6d28d9}.badge-gray{background:#f3f4f6;color:#374151}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1001;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;overflow-x:auto}.modal-content{background:#fff;border-radius:var(--radius);padding:24px;max-width:600px;width:100%;margin:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-primary);padding:4px;line-height:1}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.currency{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.currency-positive{color:var(--green);font-weight:600}.avatar{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--gold);color:var(--bg-header);font-weight:700;line-height:1.1;letter-spacing:.3px;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:8px}.avatar-md{width:48px;height:48px;font-size:10px}.avatar-lg{width:64px;height:64px;font-size:12px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.empty-state{text-align:center;padding:60px 20px;color:var(--text-primary)}.empty-state-icon{font-size:40px;margin-bottom:12px}.empty-state-title{font-size:16px;font-weight:600;margin-bottom:4px}.empty-state-text{font-size:13px}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-primary);font-size:14px}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;animation:confirm-fade-in .12s ease-out}.confirm-dialog{background:#fff;border-radius:var(--radius);box-shadow:0 20px 40px #0003;max-width:440px;width:100%;padding:24px;margin:auto;animation:confirm-scale-in .15s ease-out}.confirm-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 10px}.confirm-message{font-size:14px;color:var(--text-primary);line-height:1.5;margin-bottom:20px}.confirm-message p{margin:0 0 8px}.confirm-message p:last-child{margin-bottom:0}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-scale-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center;color:var(--text-primary);font-size:13px;transition:border-color .15s,background .15s;cursor:pointer}.drop-zone:hover,.drop-zone-active{border-color:var(--gold);background:#fffbeb}@media(max-width:1200px){.nav-label{display:none}.nav-link{padding:6px 8px}.brand-text{display:none}}@media(max-width:768px){.app-header{height:auto;flex-wrap:wrap;padding:8px 12px;gap:8px}.main-nav{order:3;width:100%}.stat-cards{grid-template-columns:repeat(2,1fr)}}.new-job-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.new-job-modal{background:#fff;border-radius:10px;border:2px solid #D4AF37;box-shadow:0 12px 40px #00000040;width:min(520px,90vw);margin:auto;display:flex;flex-direction:column}.new-job-modal-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fdf6e3;border-bottom:1px solid #f1e9c8;font-size:14px;color:#111827}.new-job-modal-body{padding:12px 16px 8px;font-size:13px;color:#111827;line-height:1.4}.new-job-modal-list{overflow-y:auto;padding:4px 12px 8px}.new-job-modal-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid #f3f4f6}.new-job-modal-row:last-child{border-bottom:none}.new-job-modal-label{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:#111827;background:#fdf6e3;padding:4px 8px;border-radius:4px;word-break:break-word}.new-job-modal-actions{display:flex;gap:6px;flex-shrink:0}.new-job-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid #f3f4f6;background:#fafafa}.hours-card-filter{background:transparent;border:1px solid #e5e7eb;border-radius:4px;width:22px;height:22px;margin-left:6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#111827;cursor:pointer;opacity:0;transition:opacity .1s,border-color .1s,background .1s;flex-shrink:0}.hours-card:hover .hours-card-filter{opacity:1}.hours-card-filter:hover{border-color:#d4af37;background:#fffbeb}.hours-card-selected .hours-card-filter{opacity:1;border-color:#d4af37;background:#fff}.hours-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118278c;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.hours-detail-modal{background:#fff;border-radius:12px;border:2px solid #D4AF37;box-shadow:0 24px 60px #00000059;width:min(760px,100%);margin:auto;display:flex;flex-direction:column}.hours-detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;background:linear-gradient(180deg,#fdf6e3,#fff);border-bottom:1px solid #f1e9c8}.hours-detail-kind{font-size:10px;font-weight:800;letter-spacing:.12em;color:#b8872c;text-transform:uppercase}.hours-detail-title{font-size:22px;font-weight:800;color:#111827;margin-top:2px;word-break:break-word}.hours-detail-range{font-size:12px;color:#111827;opacity:.7;font-feature-settings:"tnum";margin-top:2px}.hours-detail-close{background:transparent;border:none;font-size:26px;color:#111827;cursor:pointer;line-height:1;padding:4px 8px;border-radius:4px}.hours-detail-close:hover{background:#11182714}.hours-detail-loading{padding:60px 20px;text-align:center;color:#111827;opacity:.7}.hours-detail-body{overflow-y:auto;padding:16px 20px;flex:1}.hours-detail-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.hours-detail-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;align-items:flex-start;min-width:80px}.hours-detail-stat-primary{background:#fdf6e3;border-color:#d4af37}.hours-detail-stat-red{background:#fef2f2;border-color:#fecaca}.hours-detail-stat-green{background:#dcfce7;border-color:#bbf7d0}.hours-detail-stat-value{font-size:16px;font-weight:800;color:#111827;font-feature-settings:"tnum"}.hours-detail-stat-label{font-size:10px;font-weight:700;color:#111827;opacity:.6;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.hours-detail-section{margin-bottom:22px}.hours-detail-section h3{font-size:11px;font-weight:800;color:#b8872c;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.hours-detail-bars{display:flex;flex-direction:column;gap:4px}.hours-detail-empty{font-size:12px;color:#111827;opacity:.5;font-style:italic}.hours-detail-bar-row{display:grid;grid-template-columns:160px 1fr 130px;gap:10px;align-items:center;padding:4px 0}.hours-detail-bar-label{font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-detail-bar-track{position:relative;background:#f3f4f6;border-radius:4px;height:22px;overflow:hidden}.hours-detail-bar-fill{background:linear-gradient(90deg,#f5c653,#d4af37);height:100%;border-radius:4px;transition:width .2s}.hours-detail-bar-hours{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:#111827;font-feature-settings:"tnum";text-shadow:0 0 4px rgba(255,255,255,.8)}.hours-detail-bar-rate{font-size:11px;color:#111827;opacity:.7;text-align:right;font-feature-settings:"tnum";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-detail-entries{display:flex;flex-direction:column;gap:2px;border:1px solid #f3f4f6;border-radius:6px;padding:4px;max-height:280px;overflow-y:auto}.hours-detail-entry{display:grid;grid-template-columns:80px 1fr 60px;gap:8px;padding:5px 8px;font-size:12px;align-items:center;border-radius:4px}.hours-detail-entry:hover{background:#fdf6e3}.hours-detail-entry-date{font-feature-settings:"tnum";color:#111827;opacity:.7}.hours-detail-entry-raw{font-family:ui-monospace,Menlo,monospace;color:#111827;word-break:break-word}.hours-detail-entry-hours{font-weight:700;color:#111827;text-align:right;font-feature-settings:"tnum"}.hours-detail-footer{display:flex;justify-content:space-between;gap:8px;padding:12px 20px;background:#fafafa;border-top:1px solid #f3f4f6}.hours-rate-stack{display:flex;width:100%;height:26px;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb}.hours-rate-stack-seg{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.25);font-feature-settings:"tnum";transition:opacity .15s}.hours-rate-stack-seg:hover{opacity:.85;cursor:default}.hours-rate-stack-label{padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-rate-stack-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.hours-rate-stack-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;font-size:11px;color:#111827;font-feature-settings:"tnum"}.hours-rate-stack-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.hours-rate-stack-pct{opacity:.6;font-weight:700}.hours-sparkline-wrap{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.hours-sparkline-svg{width:100%;height:70px;display:block}.hours-sparkline-stats{display:flex;gap:14px;font-size:11px;color:#111827;margin-top:4px;font-feature-settings:"tnum";opacity:.85}.hours-sparkline-stats strong{font-weight:700}.hours-dow-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.hours-dow-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border-radius:6px;background:#fafafa;border:1px solid #e5e7eb}.hours-dow-bar-track{width:100%;height:50px;background:#fff;border:1px solid #f3f4f6;border-radius:4px;display:flex;flex-direction:column-reverse;overflow:hidden}.hours-dow-bar-fill{background:linear-gradient(180deg,#f5c653,#d4af37);width:100%;border-radius:0 0 3px 3px;transition:height .2s}.hours-dow-hours{font-size:11px;font-weight:800;color:#111827;font-feature-settings:"tnum"}.hours-dow-label{font-size:10px;font-weight:700;color:#111827;opacity:.6;text-transform:uppercase}.hours-pareto{display:flex;flex-direction:column;gap:6px}.hours-pareto-row{display:grid;grid-template-columns:28px 160px 1fr 50px 60px;gap:8px;align-items:center;padding:4px 6px;background:#fafafa;border-radius:6px;font-size:12px}.hours-pareto-rank{font-weight:800;color:#b8872c;font-feature-settings:"tnum"}.hours-pareto-name{font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-pareto-bar{height:14px;background:#f3f4f6;border-radius:4px;overflow:hidden}.hours-pareto-fill{background:linear-gradient(90deg,#f5c653,#d4af37);height:100%;border-radius:4px}.hours-pareto-pct{text-align:right;font-weight:800;color:#111827;font-feature-settings:"tnum"}.hours-pareto-hours{text-align:right;color:#111827;font-feature-settings:"tnum";opacity:.7}.hours-hero{margin:8px 20px 16px;padding:16px;background:linear-gradient(180deg,#fdf6e3,#fff 70%);border:1px solid #f1e9c8;border-radius:12px;box-shadow:0 2px 8px #b8872c14}.hours-hero-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.hours-hero-tile{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .1s,box-shadow .1s}.hours-hero-tile:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000000f}.hours-hero-tile-primary{background:#fffbeb;border-color:#d4af37}.hours-hero-tile-red{background:#fef2f2;border-color:#fecaca}.hours-hero-tile-green{background:#dcfce7;border-color:#bbf7d0}.hours-hero-tile-value{font-size:24px;font-weight:800;color:#111827;font-feature-settings:"tnum";line-height:1}.hours-hero-tile-label{font-size:10px;font-weight:700;color:#111827;opacity:.6;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.hours-hero-charts,.hours-hero-bottom{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.hours-hero-chart{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px}@media(max-width:900px){.hours-hero-charts,.hours-hero-bottom{grid-template-columns:1fr}}.hours-hero-chart-title{font-size:11px;font-weight:800;color:#b8872c;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.hours-hero-spark-svg{width:100%;height:80px;display:block}.hours-hero-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;align-items:end}.hours-hero-dow-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.hours-hero-dow-track{width:100%;height:50px;background:#f9fafb;border-radius:4px;display:flex;flex-direction:column-reverse;overflow:hidden}.hours-hero-dow-fill{background:linear-gradient(180deg,#f5c653,#d4af37);width:100%;border-radius:0 0 3px 3px}.hours-hero-dow-h{font-size:10px;font-weight:800;color:#111827;font-feature-settings:"tnum"}.hours-hero-dow-l{font-size:9px;font-weight:700;color:#111827;opacity:.6;text-transform:uppercase}.hours-hero-tops{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 14px}.hours-hero-top-block+.hours-hero-top-block{border-top:1px solid #f3f4f6;padding-top:10px}.hours-hero-top-list{display:flex;flex-direction:column;gap:4px}.hours-hero-top-row{display:grid;grid-template-columns:24px 1fr auto auto;gap:6px;align-items:center;padding:4px 6px;background:#fafafa;border:1px solid transparent;border-radius:4px;font-size:12px;cursor:pointer;transition:background .1s,border-color .1s;text-align:left;font-family:inherit;color:#111827}.hours-hero-top-row:hover{background:#fffbeb;border-color:#d4af37}.hours-hero-top-rank{font-weight:800;color:#b8872c;font-feature-settings:"tnum"}.hours-hero-top-name{font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-hero-top-hours{font-weight:800;color:#16a34a;font-feature-settings:"tnum";text-align:right}.hours-hero-top-pct{font-weight:700;color:#111827;opacity:.6;font-feature-settings:"tnum";text-align:right;min-width:36px}.hours-hero-tile-value{font-size:28px!important}.hours-hero-tile-label{font-size:11px!important;letter-spacing:.07em}.hours-hero-chart-title{font-size:12px!important}.hours-hero-top-row{font-size:13px!important;padding:6px 8px}.hours-hero-top-name,.hours-hero-top-hours{font-size:13px}.hours-card{padding:12px 14px!important}.hours-card div[style*="font-size: 14px"]{font-size:16px!important}.hours-card div[style*="font-size: 16px"]{font-size:19px!important}.hours-chip{font-size:12px;padding:3px 9px}.hours-detail-title{font-size:24px!important}.hours-detail-stat-value{font-size:18px!important}.hours-detail-bar-hours,.hours-detail-entry{font-size:13px!important}.hours-card{position:relative;background:#fff;box-shadow:0 1px 2px #00000008;transition:background .12s,border-color .12s,box-shadow .12s,transform .08s}.hours-card:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:linear-gradient(180deg,#d4af37,#f5c653);border-radius:0 3px 3px 0;opacity:0;transition:opacity .12s}.hours-card:hover{background:#fffbeb;border-color:#d4af37;box-shadow:0 4px 14px #b8872c1f;transform:translateY(-1px)}.hours-card:hover:before{opacity:1}.hours-card-selected:before{opacity:1}.hours-hero-pies{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}@media(max-width:900px){.hours-hero-pies{grid-template-columns:1fr}}.hours-hero-pie-cell{padding:12px 14px}.hours-hero-pie-row{display:flex;align-items:center;gap:16px}.hours-pie-wrap{flex-shrink:0}.hours-pie-svg{display:block}.hours-pie-legend{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.hours-pie-legend-row{display:grid;grid-template-columns:12px 1fr auto auto;gap:8px;align-items:center;font-size:12px;font-feature-settings:"tnum";color:#111827}.hours-pie-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.hours-pie-legend-label{font-weight:700}.hours-pie-legend-hours{font-weight:700;color:#16a34a}.hours-pie-legend-pct{opacity:.6;min-width:36px;text-align:right;font-weight:700}.payroll-command-chip-desc{background:transparent;border:none;font-size:11px;font-weight:600;color:#111827;cursor:pointer;padding:0 4px;margin-left:2px;border-radius:3px}.payroll-command-chip-desc:hover{background:#fffbeb}.payroll-command-chip-desc-empty{font-style:italic;opacity:.5}.payroll-command-chip-desc-input{border:1px solid #D4AF37;outline:none;background:#fffbeb;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:600;font-family:inherit;color:#111827;width:160px;margin-left:2px}.payroll-textarea-overlaid{color:transparent!important;caret-color:transparent}.payroll-textarea-overlaid::selection,.payroll-textarea-overlaid::-moz-selection{background:transparent}.payroll-textarea-display{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;padding:9px 12px;font-family:inherit;font-size:18px;line-height:1.3;color:#111827;white-space:pre-wrap;word-break:break-word;overflow:hidden}.payroll-textarea-display-line{min-height:1em}.payroll-rate-token{font-weight:800;color:#111827;background:#d4af3726;border-radius:3px;padding:0 2px}@media(max-width:1200px){.payroll-textarea-display{padding:6px 9px;font-size:16px}}.payroll-worker-cell{background:linear-gradient(90deg,#fffdf6,#fff 60%);border-right:1px solid #b0b6c1;position:relative}.payroll-table tbody tr:hover .payroll-worker-cell{background:linear-gradient(90deg,#fdf6e3,#fff 60%)}.payroll-worker-cell:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:#d4af37;opacity:0;transition:opacity .12s}.payroll-table tbody tr:hover .payroll-worker-cell:before{opacity:1}.payroll-week-dash{margin:12px 8px 24px;padding:16px;background:linear-gradient(180deg,#fdf6e3,#fff 60%);border:1px solid #f1e9c8;border-radius:12px;box-shadow:0 2px 8px #b8872c14}.payroll-week-dash-title{font-size:16px;font-weight:800;color:#111827;margin-bottom:12px}.payroll-week-dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:14px}.payroll-week-dash-tile{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;display:flex;flex-direction:column}.payroll-week-dash-tile-primary{background:#fffbeb;border-color:#d4af37}.payroll-week-dash-tile-red{background:#fef2f2;border-color:#fecaca}.payroll-week-dash-tile-green{background:#dcfce7;border-color:#bbf7d0}.payroll-week-dash-tile-value{font-size:22px;font-weight:800;color:#111827;font-feature-settings:"tnum";line-height:1}.payroll-week-dash-tile-label{font-size:10px;font-weight:700;color:#111827;opacity:.6;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.payroll-week-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:1100px){.payroll-week-dash-grid{grid-template-columns:1fr}}.payroll-week-dash-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px}.payroll-week-dash-card-title{font-size:11px;font-weight:800;color:#b8872c;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.payroll-week-dash-empty{font-size:12px;color:#111827;opacity:.5;font-style:italic}.payroll-week-dash-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.payroll-week-dash-day-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.payroll-week-dash-day-track{width:100%;height:60px;background:#f9fafb;border-radius:4px;display:flex;flex-direction:column-reverse;overflow:hidden}.payroll-week-dash-day-fill{background:linear-gradient(180deg,#f5c653,#d4af37);width:100%;border-radius:0 0 3px 3px}.payroll-week-dash-day-h{font-size:11px;font-weight:800;color:#111827;font-feature-settings:"tnum"}.payroll-week-dash-day-l{font-size:10px;font-weight:700;color:#111827;opacity:.6;text-transform:uppercase}.payroll-week-dash-rate-stack{display:flex;width:100%;height:28px;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb;margin-bottom:8px}.payroll-week-dash-rate-seg{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.25);font-feature-settings:"tnum";white-space:nowrap;overflow:hidden}.payroll-week-dash-rate-legend{display:flex;flex-wrap:wrap;gap:6px}.payroll-week-dash-rate-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;font-size:11px;color:#111827;font-feature-settings:"tnum"}.payroll-week-dash-rate-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.payroll-week-dash-rate-pct{opacity:.6;font-weight:700}.payroll-week-dash-list{display:flex;flex-direction:column;gap:4px}.payroll-week-dash-row{display:grid;grid-template-columns:28px 1fr 100px 50px;gap:8px;align-items:center;padding:4px 6px;background:#fafafa;border-radius:4px;font-size:12px}.payroll-week-dash-row-rank{font-weight:800;color:#b8872c;font-feature-settings:"tnum"}.payroll-week-dash-row-name{font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payroll-week-dash-row-bar{height:12px;background:#f3f4f6;border-radius:3px;overflow:hidden;display:block}.payroll-week-dash-row-fill{display:block;background:linear-gradient(90deg,#f5c653,#d4af37);height:100%;border-radius:3px}.payroll-week-dash-row-hrs{text-align:right;font-weight:800;color:#16a34a;font-feature-settings:"tnum"}.payroll-command-chip-desc-static{font-size:10px;font-weight:700;color:#b8872c;margin-left:4px;letter-spacing:.04em;text-transform:uppercase}.hours-pie-legend-sublabel{font-weight:500;opacity:.7;font-size:11px}.payroll-cell-uncertain{background:#a855f71f!important;box-shadow:inset 0 0 0 2px #a855f773}.payroll-cell-uncertain-pill{font-size:9px;font-weight:800;background:#a855f7;color:#fff;padding:1px 6px;border-radius:8px;letter-spacing:.04em;margin-right:4px;white-space:nowrap}.payroll-week-dash-tile-purple{background:#f3e8ff;border-color:#c4a8f5}.payroll-cell-selected{background:#d4af372e!important;box-shadow:inset 0 0 0 2px #d4af37;position:relative}.payroll-copy-prev-btn{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.1;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:10px;cursor:pointer;letter-spacing:.3px;text-transform:uppercase;transition:background-color .12s,color .12s,border-color .12s,transform .12s}.payroll-copy-prev-btn:hover{background:#d4af37;color:#111827;border-color:#d4af37;transform:translateY(-1px)}.payroll-copy-hint{padding:6px 10px;margin:0 0 6px;font-size:12px;color:#374151;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payroll-copy-hint-dim{color:#6b7280}.payroll-copy-hint-btn{margin-left:auto;padding:2px 10px;font-size:11px;font-weight:700;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.payroll-copy-hint-btn:hover{background:#d4af37;border-color:#d4af37}@media(max-width:1500px){.payroll-cell{min-width:160px}.payroll-table-compact .payroll-textarea{font-size:16px;padding:7px 9px;min-height:30px}.payroll-textarea-display{padding:7px 9px;font-size:16px}.payroll-worker-col-header,.payroll-table-compact .payroll-worker-cell{min-width:160px;width:170px;max-width:200px}}@media(max-width:1200px){.payroll-cell{min-width:120px}.payroll-table-compact .payroll-textarea{font-size:14px;padding:5px 7px;min-height:26px;line-height:1.25}.payroll-textarea-display{padding:5px 7px;font-size:14px;line-height:1.25}.payroll-table-compact th,.payroll-table-compact td{padding:4px 5px}.payroll-day-label{font-size:11px}.payroll-day-date{font-size:12px}.payroll-worker-col-header,.payroll-table-compact .payroll-worker-cell{min-width:130px;width:140px;max-width:170px}.payroll-temp-rename{font-size:13px}.payroll-left-total{font-size:12px;padding:2px 6px}}@media(max-width:900px){.payroll-cell{min-width:90px}.payroll-table-compact .payroll-textarea{font-size:12px;padding:4px 5px;min-height:22px;line-height:1.2}.payroll-textarea-display{padding:4px 5px;font-size:12px;line-height:1.2}.payroll-table-compact th,.payroll-table-compact td{padding:3px 4px}.payroll-day-label{font-size:10px}.payroll-day-date{font-size:11px}.payroll-worker-col-header,.payroll-table-compact .payroll-worker-cell{min-width:110px;width:120px;max-width:140px}.payroll-temp-rename{font-size:12px}.payroll-left-total{font-size:11px;padding:1px 4px}.payroll-rate-token{padding:0 1px}}@media(max-width:1200px){.payroll-total-cell{font-size:11px}}@media(max-width:900px){.payroll-total-cell{font-size:10px;padding:3px 4px}}@media(max-width:600px){.payroll-week-dash-tiles{grid-template-columns:repeat(2,1fr)}.payroll-week-dash-tile-value{font-size:18px}.payroll-week-dash-day-track{height:40px}}.page-zoom-widget{position:fixed;bottom:16px;right:16px;display:flex;align-items:stretch;background:#111827eb;border:1px solid rgba(212,175,55,.5);border-radius:999px;box-shadow:0 6px 18px #00000040;z-index:950;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;font-family:Nunito,-apple-system,sans-serif}.page-zoom-btn{background:transparent;border:none;color:#fff;width:32px;height:32px;font-size:18px;font-weight:700;cursor:pointer;line-height:1;transition:background .12s,color .12s}.page-zoom-btn:hover:not(:disabled){background:#d4af3740;color:#f5c653}.page-zoom-btn:disabled{opacity:.35;cursor:not-allowed}.page-zoom-pct{background:transparent;border:none;color:#fff;font-size:12px;font-weight:700;font-feature-settings:"tnum";cursor:pointer;padding:0 10px;min-width:50px;border-left:1px solid rgba(255,255,255,.15);border-right:1px solid rgba(255,255,255,.15);transition:background .12s,color .12s}.page-zoom-pct-active{color:#f5c653}.page-zoom-pct:hover{background:#d4af3740;color:#f5c653}.payroll-week-headline{display:flex;align-items:baseline;gap:18px;margin-top:6px;flex-wrap:wrap}.payroll-week-headline-week{font-size:18px;font-weight:800;color:#111827;letter-spacing:.01em}.payroll-week-headline-stat{display:inline-flex;align-items:baseline;gap:5px;background:#fdf6e3;border:1px solid #f1e9c8;border-radius:6px;padding:3px 10px 4px}.payroll-week-headline-stat-primary{background:#fffbeb;border-color:#d4af37}.payroll-week-headline-num{font-size:18px;font-weight:800;color:#111827;font-feature-settings:"tnum";line-height:1}.payroll-week-headline-label{font-size:11px;font-weight:700;color:#111827;opacity:.7;text-transform:uppercase;letter-spacing:.05em}.payroll-week-headline-inherited{font-size:12px;font-weight:700;color:#d4af37}.payroll-week-dash:first-of-type{margin-top:12px}.payroll-week-dash-title{font-size:18px!important}.payroll-week-dash-card-title{font-size:13px!important;letter-spacing:.07em}.payroll-week-dash-tile-value{font-size:26px!important}.payroll-week-dash-tile-label{font-size:12px!important;letter-spacing:.05em}.payroll-week-dash-day-h{font-size:13px!important}.payroll-week-dash-day-l{font-size:11px!important}.payroll-week-dash-rate-chip{font-size:12px!important;padding:4px 10px}.payroll-week-dash-rate-pct{font-size:12px}.payroll-week-dash-row{font-size:14px!important;padding:6px 8px}.payroll-week-dash-row-rank,.payroll-week-dash-row-name,.payroll-week-dash-row-hrs{font-size:14px}.hours-hero-tile-value{font-size:30px!important}.hours-hero-tile-label{font-size:12px!important}.hours-hero-chart-title{font-size:14px!important;letter-spacing:.07em}.hours-hero-top-row{font-size:14px!important}.hours-hero-top-rank,.hours-hero-top-name,.hours-hero-top-hours{font-size:14px}.hours-hero-top-pct{font-size:13px}.hours-hero-dow-h{font-size:12px!important}.hours-hero-dow-l{font-size:11px!important}.hours-pie-legend-row{font-size:13px!important}.hours-rate-stack-chip{font-size:13px!important;padding:4px 10px}.hours-rate-stack-pct{font-size:12px}.hours-rate-stack-label{font-size:12px!important}.hours-card .hours-chip{font-size:14px!important;padding:4px 10px;font-weight:700}.hours-detail-bar-label{font-size:14px!important}.hours-detail-bar-rate,.hours-detail-bar-hours{font-size:13px!important}.hours-detail-section h3{font-size:13px!important;letter-spacing:.07em}.hours-page-range{display:flex;align-items:baseline;gap:12px;margin-top:6px;flex-wrap:wrap}.hours-page-range-date{font-size:18px;font-weight:800;color:#111827;font-feature-settings:"tnum"}.hours-page-range-arrow{font-size:18px;font-weight:700;color:#d4af37;margin:0 2px}.hours-page-range-days{font-size:13px;font-weight:700;color:#111827;background:#fffbeb;border:1px solid #D4AF37;border-radius:999px;padding:3px 12px;text-transform:uppercase;letter-spacing:.05em;margin-left:4px}.hours-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.hours-card-name{font-weight:800;color:#111827;font-size:16px;flex:1;min-width:0}.hours-card-hours{font-weight:800;font-size:20px;color:#16a34a;font-feature-settings:"tnum";white-space:nowrap}.hours-card-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:13px;color:#111827;opacity:.85}.hours-card-stat{display:inline-flex;align-items:baseline;gap:4px;font-feature-settings:"tnum"}.hours-card-stat strong{font-weight:800;color:#111827;opacity:1}.hours-card-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.hours-chip-rate{background:#fffbeb;border:1px solid #f1e9c8;font-size:14px!important;font-weight:700}.hours-chip-topjob{background:#eef2ff;color:#1e40af;border:1px solid #c7d2fe;font-size:13px;font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-big-pie-wrap{padding:16px 20px}.hours-big-pie-flex{display:flex;gap:20px;align-items:flex-start}@media(max-width:900px){.hours-big-pie-flex{flex-direction:column}}.hours-big-pie-svgwrap{position:relative;flex-shrink:0}.hours-big-pie-legend{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;align-content:flex-start;min-width:0;max-height:320px;overflow-y:auto}@media(max-width:1200px){.hours-big-pie-legend{grid-template-columns:1fr;max-height:none}}.hours-big-pie-legend-row{display:grid;grid-template-columns:14px 1fr auto auto;gap:6px;align-items:center;padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:4px;font-size:12px;cursor:pointer;font-family:inherit;color:#111827;text-align:left;font-feature-settings:"tnum";transition:background .1s,border-color .1s}.hours-big-pie-legend-row:hover,.hours-big-pie-legend-row-active{background:#fffbeb;border-color:#d4af37}.hours-big-pie-legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.hours-big-pie-legend-label{font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-big-pie-legend-hrs{font-weight:700;color:#16a34a}.hours-big-pie-legend-pct{font-weight:700;color:#111827;opacity:.6;min-width:44px;text-align:right}.hours-big-pie-legend-more{grid-column:1 / -1;font-size:11px;color:#111827;opacity:.6;padding:6px 8px;font-style:italic}.hours-big-pie-tip{position:absolute;background:#fff;border:2px solid #D4AF37;border-radius:10px;box-shadow:0 10px 28px #0000002e;padding:10px 14px;min-width:220px;max-width:280px;pointer-events:none;z-index:50;font-family:inherit}.hours-big-pie-tip-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.hours-big-pie-tip-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.hours-big-pie-tip-label{font-weight:800;color:#111827;font-size:14px;word-break:break-word}.hours-big-pie-tip-big{display:flex;align-items:baseline;gap:10px;padding:4px 0}.hours-big-pie-tip-hours{font-size:26px;font-weight:800;color:#111827;font-feature-settings:"tnum"}.hours-big-pie-tip-pct{font-size:16px;font-weight:700;color:#d4af37;font-feature-settings:"tnum"}.hours-big-pie-tip-sub{font-size:11px;color:#111827;opacity:.6;margin-bottom:6px}.hours-big-pie-tip-rates{border-top:1px solid #f3f4f6;padding-top:6px;margin-top:4px}.hours-big-pie-tip-sectitle{font-size:10px;font-weight:800;color:#b8872c;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.hours-big-pie-tip-rate{display:flex;justify-content:space-between;font-size:12px;color:#111827;font-feature-settings:"tnum";padding:1px 0}.hours-big-pie-tip-rate-val{font-weight:700}.hours-big-pie-tip-foot{border-top:1px solid #f3f4f6;padding-top:5px;margin-top:6px;font-size:11px;color:#111827;opacity:.75}.hours-big-pie-tip-hint{margin-top:4px;font-size:10px;color:#d4af37;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.hours-detail-bar-track,.payroll-week-dash-row-bar,.hours-pareto-bar,.hours-hero-dow-track,.payroll-week-dash-day-track{position:relative}.hours-detail-bar-track:before,.payroll-week-dash-row-bar:before,.hours-pareto-bar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,transparent calc(25% - .5px),rgba(17,24,39,.1) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),rgba(17,24,39,.13) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),rgba(17,24,39,.1) 75%,transparent calc(75% + .5px));z-index:1}.hours-detail-bar-fill,.payroll-week-dash-row-fill,.hours-pareto-fill{position:relative;z-index:2}.hours-hero-dow-track:before,.payroll-week-dash-day-track:before,.hours-dow-bar-track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to top,transparent calc(25% - .5px),rgba(17,24,39,.1) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),rgba(17,24,39,.13) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),rgba(17,24,39,.1) 75%,transparent calc(75% + .5px));z-index:1}.hours-dow-bar-track{position:relative}.hours-hero-dow-fill,.payroll-week-dash-day-fill,.hours-dow-bar-fill{position:relative;z-index:2}.hours-pareto-row+.hours-pareto-row,.payroll-week-dash-row+.payroll-week-dash-row,.hours-hero-top-row+.hours-hero-top-row,.hours-detail-bar-row+.hours-detail-bar-row{border-top:1px solid rgba(17,24,39,.06)}.hours-rate-stack-legend,.payroll-week-dash-rate-legend{border-top:1px dashed rgba(17,24,39,.12);padding-top:8px;margin-top:8px}.page-header>div:last-child{align-items:center!important}.page-header .btn-sm{padding:10px 16px!important;font-size:15px!important;font-weight:800!important;border-radius:8px!important;letter-spacing:.01em;min-height:44px}.page-header .btn-sm.btn-primary{background:linear-gradient(180deg,#f5c653,#d4af37);color:#111827;box-shadow:0 2px 6px #b8872c4d;border:1px solid #c4a030}.page-header .btn-sm.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#f5c653,#c4a030);transform:translateY(-1px);box-shadow:0 4px 10px #b8872c59}.page-header .btn-sm.btn-ghost{background:#fff;color:#111827;border:1px solid #d1d5db;font-feature-settings:"tnum"}.page-header .btn-sm.btn-ghost:hover:not(:disabled){background:#fffbeb;border-color:#d4af37;transform:translateY(-1px)}.page-header .btn-sm.btn-secondary{background:#f3f4f6;color:#111827;border:1px solid #d1d5db;opacity:.7}.payroll-jump-date,.payroll-jump-month{font-size:15px!important;font-weight:700!important;padding:9px 12px!important;border-radius:8px!important;border-width:1px!important;min-height:44px;background:#fff}.payroll-jump-date:hover,.payroll-jump-month:hover{background:#fffbeb;border-color:#d4af37}.payroll-jump-month{font-feature-settings:"tnum";cursor:pointer}.hours-hero-top-row+.hours-hero-top-row{border-top:1px solid rgba(17,24,39,.12)}.hours-big-pie-legend-row+.hours-big-pie-legend-row{border-top:1px solid rgba(17,24,39,.08)}.hours-big-pie-legend>.hours-big-pie-legend-row{border-top:1px solid rgba(17,24,39,.08)}.hours-big-pie-legend>.hours-big-pie-legend-row:first-child,.hours-big-pie-legend>.hours-big-pie-legend-row:nth-child(2){border-top:none}.hours-hero-tile{box-shadow:0 1px #1118270a}.hours-card{border-color:#1118271a}.hours-pareto-row+.hours-pareto-row{border-top:1px solid rgba(17,24,39,.1)}.hours-detail-bar-row+.hours-detail-bar-row{border-top:1px solid rgba(17,24,39,.08)}.hours-detail-entry+.hours-detail-entry{border-top:1px solid rgba(17,24,39,.06)}.hours-pie-legend-row+.hours-pie-legend-row{border-top:1px solid rgba(17,24,39,.06);padding-top:4px;margin-top:2px}.hours-rate-stack-chip+.hours-rate-stack-chip{position:relative}.hours-rate-barchart{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;padding:4px 0 0}.hours-rate-barchart-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.hours-rate-barchart-top{display:flex;flex-direction:column;align-items:center;gap:1px;min-height:30px}.hours-rate-barchart-hrs{font-size:14px;font-weight:800;color:#111827;font-feature-settings:"tnum";line-height:1}.hours-rate-barchart-pct{font-size:10px;font-weight:700;color:#111827;opacity:.6;font-feature-settings:"tnum"}.hours-rate-barchart-track{position:relative;width:100%;height:130px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column-reverse;overflow:hidden;background-image:linear-gradient(to top,transparent calc(25% - .5px),rgba(17,24,39,.1) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),rgba(17,24,39,.13) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),rgba(17,24,39,.1) 75%,transparent calc(75% + .5px))}.hours-rate-barchart-fill{width:100%;border-radius:0 0 4px 4px;background-clip:padding-box;transition:height .2s;position:relative;z-index:1}.hours-rate-barchart-label{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.hours-rate-barchart-name{font-size:13px;font-weight:800;color:#111827;font-feature-settings:"tnum"}.hours-rate-barchart-desc{font-size:10px;font-weight:700;color:#b8872c;text-transform:uppercase;letter-spacing:.05em;line-height:1.15}.hours-detail-bar-track:before,.payroll-week-dash-row-bar:before,.hours-pareto-bar:before{background-image:linear-gradient(to right,transparent calc(25% - .5px),rgba(17,24,39,.2) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),rgba(17,24,39,.28) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),rgba(17,24,39,.2) 75%,transparent calc(75% + .5px))!important}.hours-hero-dow-track:before,.payroll-week-dash-day-track:before,.hours-dow-bar-track:before,.hours-rate-barchart-track{background-image:linear-gradient(to top,transparent calc(25% - .5px),rgba(17,24,39,.2) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),rgba(17,24,39,.28) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),rgba(17,24,39,.2) 75%,transparent calc(75% + .5px))!important}.hours-hero-top-row+.hours-hero-top-row,.hours-pareto-row+.hours-pareto-row,.hours-detail-bar-row+.hours-detail-bar-row,.hours-pie-legend-row+.hours-pie-legend-row,.hours-big-pie-legend-row,.hours-detail-entry+.hours-detail-entry{border-top-color:#11182733!important}.hours-big-jobs-wrap{padding:16px 20px}.hours-big-jobs-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.hours-big-jobs-toggle{display:inline-flex;border:1px solid #d1d5db;border-radius:8px;overflow:hidden;background:#fff}.hours-big-jobs-toggle-btn{background:#fff;color:#111827;border:none;padding:8px 16px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s,color .12s}.hours-big-jobs-toggle-btn+.hours-big-jobs-toggle-btn{border-left:1px solid #d1d5db}.hours-big-jobs-toggle-btn:hover{background:#fffbeb}.hours-big-jobs-toggle-btn-active{background:linear-gradient(180deg,#f5c653,#d4af37);color:#111827}.hours-big-pie-split{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:start}@media(max-width:1200px){.hours-big-pie-split{grid-template-columns:1fr}}.hours-big-pie-svgwrap-center{position:relative;display:flex;justify-content:center}.hours-big-pie-legend{display:flex;flex-direction:column;gap:0}.hours-big-pie-legend-left,.hours-big-pie-legend-right{max-height:none}.hours-big-pie-legend-row{display:grid;grid-template-columns:32px 14px 1fr auto auto;gap:8px;align-items:center;padding:7px 10px;background:transparent;border:1px solid transparent;border-radius:4px;font-size:13px;cursor:pointer;font-family:inherit;color:#111827;text-align:left;font-feature-settings:"tnum";transition:background .1s,border-color .1s}.hours-big-pie-legend-rank{font-weight:800;color:#b8872c}.hours-big-pie-legend-label{font-weight:700;font-size:13px}.hours-big-pie-legend-hrs{font-weight:800;font-size:13px}.hours-big-bar-wrap{position:relative;display:flex;flex-direction:column;gap:2px;max-height:540px;overflow-y:auto}.hours-big-bar-row{display:grid;grid-template-columns:36px 220px 1fr 70px 60px;gap:10px;align-items:center;padding:6px 10px;background:transparent;border:1px solid transparent;border-radius:5px;font-family:inherit;font-size:13px;color:#111827;text-align:left;font-feature-settings:"tnum";cursor:pointer;transition:background .1s,border-color .1s}.hours-big-bar-row+.hours-big-bar-row{border-top:1px solid rgba(17,24,39,.15)}.hours-big-bar-row:hover,.hours-big-bar-row-active{background:#fffbeb;border-color:#d4af37!important}.hours-big-bar-rank{font-weight:800;color:#b8872c;font-size:14px}.hours-big-bar-label{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hours-big-bar-track{position:relative;background:#f3f4f6;border-radius:4px;height:22px;overflow:hidden;display:block;background-image:linear-gradient(to right,transparent calc(25% - .5px),rgba(17,24,39,.22) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),rgba(17,24,39,.3) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),rgba(17,24,39,.22) 75%,transparent calc(75% + .5px))}.hours-big-bar-fill{display:block;height:100%;border-radius:4px;position:relative;z-index:1}.hours-big-bar-hrs{text-align:right;font-weight:800;color:#16a34a;font-size:14px}.hours-big-bar-pct{text-align:right;color:#111827;opacity:.7;font-weight:700;font-size:13px}.back-to-top{position:fixed;right:20px;bottom:24px;width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(180deg,#d4af37,#b58f1f);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #0000002e,0 2px 4px #0000001a;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,box-shadow .12s ease;z-index:90}.back-to-top-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{box-shadow:0 6px 20px #00000038,0 2px 6px #0000001f;transform:translateY(-2px)}.back-to-top:active{transform:translateY(0)}.contacts-stats-bar{padding:4px 20px 14px;max-width:1100px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:10px;align-items:center}.contacts-stats-tiles{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%}.contacts-stat-tile{flex:1 1 140px;min-width:130px;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #D4AF37;border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 1px 2px #1118270a;transition:box-shadow .12s ease,transform .12s ease}.contacts-stat-tile:hover{box-shadow:0 3px 8px #11182714;transform:translateY(-1px)}.contacts-stat-icon{font-size:20px;line-height:1;opacity:.9}.contacts-stat-num{font-size:22px;font-weight:800;line-height:1;font-feature-settings:"tnum"}.contacts-stat-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-top:3px}.contacts-stats-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%}.contacts-stat-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.4;box-shadow:0 1px 2px #1118270f;-webkit-user-select:none;user-select:none}.contacts-stat-chip-label{opacity:.95}.contacts-stat-chip-num{background:#ffffff8c;padding:1px 7px;border-radius:999px;font-feature-settings:"tnum";font-weight:800}@media(max-width:768px){.contacts-stats-bar{padding:4px 12px 10px}.contacts-stat-num{font-size:18px}.contacts-stat-tile{flex-basis:110px;padding:8px 10px}.contacts-stat-icon{font-size:16px}}.contacts-alpha-bar{position:fixed;right:10px;top:88px;bottom:16px;max-height:calc(100vh - 104px);display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:10px 7px;background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #e5e7eb;border-radius:999px;box-shadow:0 4px 14px #0000001f;z-index:50;-webkit-user-select:none;user-select:none;overflow-y:auto;scrollbar-width:none}.contacts-alpha-bar::-webkit-scrollbar{display:none}.contacts-alpha-letter{background:transparent;border:none;cursor:pointer;font-size:16px;font-weight:800;color:#d4af37;width:30px;height:28px;padding:0;border-radius:999px;font-feature-settings:"tnum";letter-spacing:-.01em;transition:background 90ms ease,color 90ms ease,transform 90ms ease}.contacts-alpha-letter:hover{background:#d4af37;color:#fff;transform:scale(1.2)}.contacts-alpha-letter-disabled{color:#d1d5db;cursor:default;pointer-events:none}@media(max-width:900px){.contacts-alpha-bar{display:none}}.contact-picker-input{width:100%;font-size:15px;font-weight:600;padding:10px 14px}.contact-picker-results{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #d1d5db;border-radius:8px;max-height:480px;overflow-y:auto;box-shadow:0 8px 24px #00000024,0 2px 4px #00000014;z-index:20;padding:4px}.contact-picker-row{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;background:transparent;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;transition:background 90ms ease;color:#111827;white-space:nowrap;overflow:hidden}.contact-picker-row+.contact-picker-row{border-top:1px solid #f3f4f6}.contact-picker-row:hover,.contact-picker-row:focus-visible{background:#fdf6e3;outline:none}.contact-picker-row-name{font-size:15px;font-weight:800;color:#111827;letter-spacing:-.01em;flex-shrink:0}.contact-picker-row-title{font-size:13px;font-weight:600;color:#6b7280;font-style:italic;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.contact-picker-row-company{font-size:13px;font-weight:700;color:#374151;margin-left:auto;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;padding-left:12px}.contact-picker-row-ctype{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px;flex-shrink:0}.contact-picker-footer{padding:8px 12px;font-size:11px;color:#6b7280;font-style:italic;border-top:1px solid #f3f4f6;background:#fafafa;border-radius:0 0 6px 6px;text-align:center}
