:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#1c1b18;--surface:#26251f;--surface-strong:#35332b;--ink:#f2efe7;--muted:#b3ab97;--border:#4a473c;--accent:#b7ab90;--accent-ink:#c9bfa6;--on-accent:#1f1d17;--highlight:#add51e;--focus-ring:#b7ab9052;--panel:#26251ff0;--header-bg:#26251fe0;--table-heading-bg:#35332bd1;--subtle-bg:#35332b80;--row-hover-bg:#b7ab901f;--danger:#ffaa9e;--status-ok-ink:#c3e95f;--status-ok-bg:#33401a;--status-error-bg:#4d2a24;--status-loading-ink:#e8cf8a;--status-loading-bg:#4a3f20;--shell-glow:#b7ab900f;--shell-warmth:#add51e0d;color:var(--ink);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 Aptos,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#fafafa;--surface:#fff;--surface-strong:#eee;--ink:#303030;--muted:#555d66;--border:#e1ddd1;--accent:#b7ab90;--accent-ink:#6f6448;--on-accent:#000;--highlight:#add51e;--focus-ring:#6f644847;--panel:#ffffffe0;--header-bg:#ffffffc2;--table-heading-bg:#eeeeeeb8;--subtle-bg:#eeeeee73;--row-hover-bg:#b7ab902e;--danger:#8f2d1f;--status-ok-ink:#4a6413;--status-ok-bg:#eaf5cc;--status-error-bg:#fbe4de;--status-loading-ink:#6b5412;--status-loading-bg:#faeec8;--shell-glow:#b7ab9024;--shell-warmth:#add51e14}*{box-sizing:border-box}#root{min-height:100vh}body{margin:0}button,input,select,textarea{font:inherit}.app-shell{background:linear-gradient(135deg, var(--shell-glow), transparent 36%), linear-gradient(315deg, var(--shell-warmth), transparent 38%), var(--page-bg);grid-template-rows:auto 1fr;min-height:100vh;display:grid}.app-header{border-bottom:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:minmax(0,1fr) auto max-content;align-items:center;gap:24px;padding:18px 32px;display:grid;position:relative}.app-header-title{color:var(--ink);pointer-events:none;text-align:center;white-space:nowrap;margin:0;font-size:22px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app-header .app-nav{justify-self:end}.app-header-actions{justify-self:end;align-items:center;gap:12px;min-width:0;display:flex}.account-menu{position:relative}.account-menu-trigger{border:1px solid var(--border);max-width:220px;min-height:40px;color:var(--ink);background:var(--surface);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:700;display:inline-flex}.account-menu-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu-trigger:hover,.account-menu-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--surface-strong)}.account-menu-dropdown{z-index:10;border:1px solid var(--border);background:var(--surface);border-radius:8px;width:220px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #1f1d1729}.account-menu-identity{border-bottom:1px solid var(--border);gap:3px;padding:8px 10px 10px;display:grid}.account-menu-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu-identity span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.account-menu-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;margin-top:6px;padding:9px 10px;font-size:14px;font-weight:700;display:flex}.account-menu-item:hover{background:var(--surface-strong)}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{background-color:var(--ink);width:224px;max-width:100%;height:60px;display:block;-webkit-mask:url(/jlf-logo-time.svg) 50%/contain no-repeat;mask:url(/jlf-logo-time.svg) 50%/contain no-repeat}.app-nav{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:8px;min-width:0;display:flex}.nav-link{color:var(--muted);white-space:nowrap;border-radius:7px;flex:none;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.nav-link.active{color:var(--ink);background:var(--surface-strong)}.app-main{width:min(1120px,100% - 40px);margin:0 auto;padding:40px 0}.page-heading{margin-bottom:28px}.eyebrow{color:var(--accent-ink);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:700}.page-heading h1{color:var(--ink);margin:0;font-size:clamp(32px,5vw,56px);line-height:1.02}.page-heading p{max-width:720px;color:var(--muted);margin:14px 0 0}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.status-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;min-height:210px;padding:24px;box-shadow:0 18px 42px #0f172a14}.status-card h2{color:var(--ink);margin:0;font-size:22px}.status-meta{color:var(--muted);margin:8px 0 20px;font-size:14px}.status-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding-top:16px;display:flex}.status-label{color:var(--muted);font-size:14px}.status-value{color:var(--ink);text-transform:capitalize;font-weight:700}.status-pill{color:var(--status-ok-ink);background:var(--status-ok-bg);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.status-error{color:var(--danger);background:var(--status-error-bg)}.status-loading{color:var(--status-loading-ink);background:var(--status-loading-bg)}.form-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;width:min(100%,640px);max-width:640px;padding:24px;box-shadow:0 18px 42px #0f172a14}.form-panel--full-width{width:100%;max-width:none}.customer-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;display:grid}.customer-form .button-row{grid-column:1/-1;justify-content:flex-end}.user-form{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px;display:grid}.user-form .button-row{grid-column:1/-1;justify-content:flex-end}.password-control{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.password-toggle{border:1px solid var(--border);width:40px;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:7px;align-self:stretch;place-items:center;display:inline-grid}.customer-account-control{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.customer-lookup-button{border:1px solid var(--border);width:40px;color:var(--ink);background:var(--surface);cursor:pointer;border-radius:7px;align-self:stretch;place-items:center;display:inline-grid}.customer-lookup-button:disabled{cursor:not-allowed;opacity:.55}.customer-form .field-group input:disabled{cursor:not-allowed;opacity:.7}.customer-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;display:grid}.customer-detail{min-width:0}.customer-detail dt{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:700}.customer-detail dd{color:var(--ink);overflow-wrap:anywhere;margin:0}.customer-details-actions{justify-content:flex-end}.standard-task-panel{margin-inline:auto}.standard-task-actions{justify-content:flex-end}.timesheet-form-panel{width:100%;max-width:none;padding:20px}.form-title{color:var(--ink);margin:0 0 20px;font-size:28px;line-height:1.1}.timesheet-form-panel>.field-group{max-width:260px}.timesheet-top-controls{grid-template-columns:minmax(160px,.8fr) minmax(260px,1.5fr) minmax(180px,.8fr);align-items:end;gap:14px;margin-bottom:12px;display:grid}.timesheet-top-controls .field-group{margin-bottom:0}.timesheet-form-panel .timesheet-edit-line{padding:16px 0}.timesheet-form-panel .edit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 14px}.timesheet-form-panel .field-group{margin-bottom:10px}.timesheet-form-panel .button-row{justify-content:flex-end}.timesheet-form-panel .button-row .secondary-button{text-align:center}.timesheet-form-panel .field-group input,.timesheet-form-panel .field-group select,.timesheet-form-panel .field-group textarea{padding:7px 9px}.timesheet-form-panel .field-group textarea{min-height:82px}.field-group{gap:8px;margin-bottom:16px;display:grid}.field-group label{color:var(--ink);font-size:14px;font-weight:700}.field-group input,.field-group textarea,.field-group select{border:1px solid var(--border);width:100%;color:var(--ink);background:var(--surface);border-radius:7px;padding:10px 12px}.field-group textarea{resize:vertical;min-height:140px}.field-group input:focus{outline:2px solid var(--focus-ring);border-color:var(--accent)}.field-error{color:var(--danger);font-size:13px}.checkbox-row{color:var(--ink);align-items:center;gap:10px;font-weight:700;display:flex}.checkbox-row input{width:18px;height:18px}.button-row{align-items:center;gap:12px;margin-top:22px;display:flex}.auth-button-row{justify-content:flex-end}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:7px;min-height:40px;padding:9px 14px;font-weight:700;text-decoration:none}.primary-button{color:var(--on-accent);background:var(--accent)}.secondary-button{color:var(--ink);background:var(--surface-strong)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.6}.feedback{color:var(--muted);margin-top:16px;font-size:14px}.feedback-error{color:var(--danger)}.user-summary{border-top:1px solid var(--border);gap:10px;margin-top:18px;padding-top:18px;display:grid}.user-summary dl{grid-template-columns:110px 1fr;gap:8px 14px;margin:0;display:grid}.user-summary dt{color:var(--muted)}.user-summary dd{color:var(--ink);margin:0;font-weight:700}.lookup-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.lookup-toolbar .field-group{width:min(440px,100%);margin-bottom:0}.search-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:end;gap:16px;margin-bottom:18px;padding:16px;display:flex}.toolbar-actions{align-items:center;gap:8px;display:flex}.toolbar-actions .primary-button{justify-content:center;align-items:center;min-width:23ch;display:inline-flex}.icon-button{justify-content:center;align-items:center;width:40px;padding:0;display:inline-flex;position:relative}.icon-button.is-active{color:var(--on-accent);background:var(--accent)}.icon-button-badge{color:#fff;background:#8f2d1f;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:18px;position:absolute;top:-6px;right:-6px}.search-panel-fields{flex:1;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.search-panel-fields .field-group{margin-bottom:0}.table-panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;overflow:auto;box-shadow:0 18px 42px #0f172a14}.data-table{border-collapse:collapse;width:100%;min-width:900px}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 14px}.data-table th{color:var(--muted);background:var(--table-heading-bg);text-transform:uppercase;font-size:13px;font-weight:800}.data-table td{color:var(--ink);font-size:14px}.data-table tr:last-child td{border-bottom:0}.cell-primary{font-weight:800}.cell-secondary{color:var(--muted);font-size:13px}.empty-state{color:var(--muted);text-align:center;padding:28px}.loading-state{justify-content:center;align-items:center;gap:8px;display:flex}.loading-indicator{color:var(--status-loading-ink);flex:none;animation:1s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-indicator{animation:none}}.content-preview{white-space:pre-wrap;max-width:560px}.detail-section{margin-top:28px}.order-row{cursor:pointer}.order-row:hover td,.order-row.is-expanded td{background:var(--row-hover-bg)}.data-table .order-detail-cell{background:var(--subtle-bg);padding:16px}.data-table .order-row.is-expanded td{border-top:1px solid var(--accent)}.data-table .order-row.is-expanded td:first-child,.data-table .order-detail-row .order-detail-cell{border-left:1px solid var(--accent)}.data-table .order-row.is-expanded td:last-child,.data-table .order-detail-row .order-detail-cell{border-right:1px solid var(--accent)}.data-table .order-detail-row .order-detail-cell{border-bottom:1px solid var(--accent)}.order-detail{gap:16px;display:grid}.order-detail .table-panel{box-shadow:none}.row-actions{justify-content:flex-end;gap:6px;display:flex}.row-actions .icon-button{width:32px;min-height:32px}.data-table .actions-column{text-align:right;white-space:nowrap;width:1%}.data-table th.actions-column .icon-button{width:32px;min-height:32px}.order-history-actions{display:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pagination-row{border-top:1px solid var(--border);color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;padding:14px;font-size:14px;display:flex}.pagination-row>span:first-child{margin-right:auto}.pagination-page-select{align-items:center;gap:8px;display:inline-flex}.pagination-page-select select{border:1px solid var(--border);min-height:40px;color:var(--ink);background:var(--surface);border-radius:7px;padding:6px 10px}.compact-heading{margin-bottom:16px}.compact-heading h2{color:var(--ink);margin:0;font-size:28px}@media (width<=760px){.app-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:16px 20px}.brand-logo{aspect-ratio:224/60;width:min(224px,30vw);height:auto}.app-header-title{text-align:center;grid-area:2/1/auto/-1;position:static;transform:none}.app-header-actions{display:contents}.app-header .app-nav{grid-area:3/1/auto/-1;width:100%}.header-logout{flex:none}.account-menu{grid-area:1/2}.account-menu-trigger{max-width:min(220px,52vw)}.app-main{width:min(100% - 28px,1120px);padding:28px 0}.status-grid{grid-template-columns:1fr}.app-nav{width:100%;padding-bottom:4px;overflow-x:auto}.nav-link{flex:none}.lookup-toolbar{flex-direction:column;align-items:stretch}.lookup-toolbar .field-group{width:100%}.lookup-toolbar .primary-button,.lookup-toolbar .status-pill{text-align:center;justify-content:center;align-self:stretch}.search-panel{flex-direction:column;align-items:stretch}.data-table{min-width:0}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:calc(100% - 24px);margin:12px}.data-table td{border-bottom:1px solid var(--border);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:4px;min-height:42px;display:grid}.data-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.data-table td[data-label=""]:before{content:none}.data-table td:last-child{border-bottom:0}.data-table .order-history-totals td{min-height:0;padding:8px 14px}.data-table .order-history-totals td:empty{display:none}.data-table .order-history-totals td[data-label=Km]{border-bottom:0}.data-table td.actions-column{grid-template-columns:minmax(0,1fr);align-items:center;width:100%}.data-table td.actions-column:before{content:none}.data-table td.actions-column .row-actions{align-items:center;min-width:0}.data-table td.actions-column .icon-button{flex:1 1 0;width:auto;min-width:0;min-height:40px}.order-history-actions{padding:12px 12px 0;display:flex}.order-history-add{justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;display:flex}.data-table .order-detail-row{border:1px solid var(--accent);background:0 0;border-top:0;border-radius:0 0 8px 8px;width:calc(100% - 24px);margin:0 12px 12px}.data-table .order-row.is-expanded{border-color:var(--accent);border-bottom-color:var(--border);border-radius:8px 8px 0 0;margin-bottom:0}.data-table .order-row.is-expanded td,.data-table .order-row.is-expanded td:first-child,.data-table .order-row.is-expanded td:last-child{border-top:0;border-left:0;border-right:0}.orders-table-panel{background:var(--page-bg)}.orders-table-panel>.data-table>tbody>.order-row{margin:0 12px 16px;box-shadow:0 2px 8px #0000002e}.orders-table-panel>.data-table>tbody>.order-row:first-child{margin-top:12px}.orders-table-panel>.data-table>tbody>.order-row.is-expanded{margin-bottom:0}.orders-table-panel>.data-table>tbody>.order-detail-row{background:var(--surface);margin-bottom:16px;box-shadow:0 2px 8px #0000002e}.data-table .order-detail-row .order-detail-cell{background:0 0;border:0;padding:0;display:block}.data-table .order-detail-cell:before{content:none}.order-detail>.table-panel{background:0 0;border:0;border-radius:0}.pagination-row{flex-wrap:wrap;justify-content:space-between}.button-row{flex-direction:column;align-items:stretch}.auth-button-row{align-items:flex-end}.customer-form .button-row .secondary-button,.user-form .button-row .secondary-button,.customer-details-actions .primary-button,.customer-details-actions .secondary-button{text-align:center}.user-summary dl{grid-template-columns:1fr}}.timesheet-edit-line{border-top:1px solid var(--border);padding:20px 0}.timesheet-edit-line h2{color:var(--ink);margin:0 0 16px;font-size:20px}.timesheet-status-field{width:min(260px,100%)}.address-fields{border-left:3px solid var(--accent);background:var(--subtle-bg);grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;padding:10px 12px 2px;display:grid}.address-primary-with-toggle{align-items:flex-end;gap:8px;margin-bottom:0;display:flex}.address-primary-with-toggle .field-group{flex:auto;min-width:0;margin-bottom:0}.address-primary-with-toggle .address-toggle{flex:0 0 38px;align-self:auto;margin:0}.address-toggle{border:1px solid var(--border);width:38px;height:40px;color:var(--accent-ink);background:var(--surface);cursor:pointer;border-radius:7px;align-self:start;place-items:center;margin-top:25px;padding:0;font-size:20px;line-height:1;display:grid}.address-toggle:hover,.address-toggle:focus-visible{border-color:var(--accent);outline:2px solid var(--focus-ring)}.timesheet-textareas{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.hours-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0 12px;display:grid}.timesheet-identity-grid{gap:0;display:grid}.customer-address-row,.contact-email-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.contact-row-single{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-email-section{grid-column:1/-1}.customer-address-row{align-items:end;margin-bottom:10px}.customer-address-row .field-group,.address-primary-with-toggle .field-group{margin-bottom:0}.order-details-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;margin-bottom:10px;display:grid}.order-details-two{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-task-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.existing-order-materials,.timesheet-identity-grid>.empty-state{grid-column:1/-1}.existing-order-materials h4{margin-left:12px}.timesheet-form-panel .material-editor .material-entry-row{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.material-row-actions{align-items:end;gap:6px;margin-bottom:10px;display:flex}.material-editor-heading{justify-content:flex-start;align-items:center;gap:12px;display:flex}.material-editor-heading h3{margin:0}.material-editor-actions{align-items:center;gap:6px;display:flex}.danger-icon-button{color:var(--danger)}.empty-material-entry-row .add-material-button{grid-column:4}.first-material-entry-row{margin-top:12px}.add-material-button{white-space:nowrap;align-self:end;margin-bottom:10px}.existing-order-materials{grid-column:1/-1}@media (width<=760px){.customer-form,.user-form,.customer-details-grid,.edit-grid{grid-template-columns:1fr}.hours-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.customer-address-row,.order-details-row,.contact-email-row,.reference-task-row{grid-template-columns:1fr}.address-primary-with-toggle .address-toggle{margin:0}.address-fields{grid-template-columns:1fr}.timesheet-form-panel{padding:14px}.timesheet-form-panel>.field-group{max-width:none}.timesheet-top-controls{grid-template-columns:1fr;gap:0}.timesheet-form-panel .edit-grid,.timesheet-form-panel .material-editor .material-entry-row{grid-template-columns:1fr}.material-row-actions{flex-wrap:wrap}.empty-material-entry-row .add-material-button{grid-column:1}.add-material-button{justify-self:start;margin-bottom:10px}.timesheet-status-field{width:100%}.timesheet-textareas{grid-template-columns:1fr}}.contact-picker-row{align-items:stretch;gap:8px;display:flex}.contact-picker-row input,.contact-picker-row select{flex:auto;min-width:0}.contact-mode-toggle{border:1px solid var(--border);width:38px;min-height:38px;color:var(--accent-ink);background:var(--surface);cursor:pointer;border-radius:7px;flex:0 0 38px;padding:0;font-size:19px;line-height:1}.contact-mode-toggle:hover,.contact-mode-toggle:focus-visible{border-color:var(--accent);outline:2px solid var(--focus-ring)}.customer-combobox{position:relative}.customer-combobox-control{display:flex}.customer-combobox-control input{flex:auto;min-width:0}.customer-combobox-list{z-index:10;border:1px solid var(--border);background:var(--surface);border-radius:7px;max-height:280px;position:absolute;top:calc(100% - 10px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #0f172a29}.customer-combobox-option{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.customer-combobox-option:hover,.customer-combobox-option:focus-visible{background:var(--surface-strong);outline:0}.customer-combobox-option span{color:var(--muted);font-size:12px}.customer-combobox-empty{color:var(--muted);padding:14px;font-size:14px}@media (width>=761px) and (width<=1200px){.app-header{grid-template-columns:auto minmax(0,1fr)}.app-header-title{text-align:center;grid-area:2/1/auto/-1;position:static;transform:none}.app-header-actions{flex-wrap:wrap;grid-area:1/2;justify-content:flex-end}}
