:root{--ink:#17211b;--muted:#647068;--line:#dfe5e1;--surface:#fff;--canvas:#f4f7f5;--brand:#176b45;--brand-dark:#0d5032;--danger:#a43131;--warning:#8a5a00;--radius:12px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas)}html{scroll-padding-top:76px}*{box-sizing:border-box}.status-action{scroll-margin-top:76px}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:3px}:focus-visible{outline:3px solid #65a9e8}h1{font-size:clamp(1.75rem,4vw,2.35rem);line-height:1.15;margin:.3rem 0 1rem}h2{font-size:1.15rem;margin:0 0 .8rem}p{line-height:1.55}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--brand);font-weight:750;font-size:.75rem;margin:0}.lede{color:var(--muted);max-width:60ch;font-size:1.05rem}.stack{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);grid-gap:1rem;gap:1rem}.stack.compact{gap:.65rem}label{display:grid;grid-gap:.38rem;gap:.38rem;font-size:.875rem;font-weight:650}input,select,textarea{width:100%;border:1px solid #cbd4ce;border-radius:8px;padding:.7rem .75rem;background:#fff;color:var(--ink)}textarea{min-height:92px;resize:vertical}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--line);border-radius:8px;padding:.68rem 1rem;text-decoration:none;font-weight:700;cursor:pointer;background:#fff;color:var(--ink)}.button:hover{background:#f5f7f5}.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.button.primary:hover{background:var(--brand-dark)}.button.danger{color:var(--danger);border-color:#e5bcbc}.button.small{font-size:.82rem;padding:.45rem .7rem}.button:disabled{opacity:.55;cursor:not-allowed}.text-button{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;padding:0;text-align:left}.alert{padding:.75rem;border-radius:8px;margin:0}.alert.error{background:#fff1f1;color:#8c2525;border:1px solid #edcaca}.alert.success{background:#eaf8f0;color:#185f3d}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:#edf2ef}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(23,33,27,.1);padding:clamp(1.5rem,5vw,2.5rem);width:min(100%,430px)}.login-card .brand-mark{margin-bottom:1rem}.brand-mark{display:grid;place-items:center;background:var(--brand);color:#fff;border-radius:10px;width:44px;height:44px;font-weight:850}.brand-mark.small{width:34px;height:34px;border-radius:8px}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:248px;background:#12251c;color:#e8f0eb;padding:1.1rem;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none}.brand{display:flex;align-items:center;gap:.7rem;font-size:1.15rem;font-weight:800;margin-bottom:1.5rem}.sidebar nav{display:grid;grid-gap:.25rem;gap:.25rem;flex:1 1;min-height:0;overflow:auto}.staff-swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:99px;flex:none}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);display:grid;place-items:center;z-index:40;padding:1rem}.modal{background:white;border-radius:12px;padding:1rem;width:min(100%,32rem);max-height:90vh;overflow:auto}.settings-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.settings-nav a{padding:.45rem .75rem;border-radius:8px;text-decoration:none;background:#e7eee9;color:var(--ink)}.settings-nav a[aria-current=page]{background:var(--brand);color:#fff}.nav-link{padding:.72rem .8rem;text-decoration:none;border-radius:8px;color:#c7d5cc}.nav-link.active,.nav-link:hover{background:#254035;color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid #365045;padding-top:1rem;display:grid;grid-gap:.25rem;gap:.25rem;font-size:.84rem}.sidebar-footer span{color:#aebeb4}.sidebar-footer .sidebar-error{color:#ffd0d0}.sidebar-footer .text-button{margin-top:.5rem}.app-main{min-width:0}.topbar{height:60px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);display:flex;align-items:center;gap:1rem;padding:0 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-user{margin-left:auto;color:var(--muted)}.topbar-role{margin-left:.4rem;padding:.1rem .5rem;border-radius:999px;background:var(--surface-muted,rgba(0,0,0,.05));font-size:.8rem}.menu-button{border:0;background:transparent;font-size:1.35rem}.page-container{padding:1.25rem;max-width:1500px;margin:0 auto}.scrim{position:fixed;z-index:25;inset:0;border:0;background:rgba(0,0,0,.35)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}.toolbar{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end;margin-bottom:1rem}.toolbar label{min-width:150px;flex:1 1}.toolbar .search{flex:2 1;min-width:220px}.customer-list{display:grid;grid-gap:.75rem;gap:.75rem}.customer-card{display:grid;grid-gap:.2rem;gap:.2rem;color:inherit;text-decoration:none}.table-wrap{max-width:100%;min-width:0;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:.88rem}td,th{text-align:left;padding:.78rem .8rem;border-bottom:1px solid #e7ebe8;white-space:nowrap}th{color:#536057;background:#f8faf8;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}tbody tr:last-child td{border-bottom:0}.click-row{cursor:pointer}.click-row:hover{background:#f4faf6}.row-link{font-weight:750;color:var(--brand);text-decoration:none}.priority,.status{display:inline-flex;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:750;background:#edf1ee}.status.booked,.status.in-progress{background:#e5f0ff;color:#20588e}.status.completed{background:#e2f5e9;color:#176b45}.status.cancelled,.status.no-show{background:#f5e8e8;color:#8c2525}.priority.high,.priority.urgent{color:#8c2525;background:#fff0e7}.empty-state{text-align:center;padding:3rem 1rem;background:#fff;border:1px dashed #bcc8c0;border-radius:var(--radius);color:var(--muted)}.empty-state h2{color:var(--ink)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.form-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1/-1}.detail-grid{display:grid;grid-gap:1rem;gap:1rem}.detail-grid>*{min-width:0}.details-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.details-list div{min-width:0}.details-list dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.details-list dd{margin:.2rem 0 0;font-weight:600}.money-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.7rem;gap:.7rem}.money-grid div{padding:.8rem;background:#f6f8f6;border-radius:8px}.money-grid strong{display:block;font-size:1.1rem;margin-top:.2rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.8rem}.actions{display:flex;gap:.55rem;flex-wrap:wrap}.audit-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:.8rem;gap:.8rem}.audit-list li{border-left:3px solid #cbd8d0;padding-left:.8rem}.audit-list time{font-size:.78rem;color:var(--muted)}.line-form{background:#f7f9f7;padding:1rem;border-radius:8px;margin-bottom:1rem}.mobile-only{display:block}.loading-block{height:100px;border-radius:10px;background:linear-gradient(90deg,#eef1ef,#f8faf8,#eef1ef);background-size:200%;animation:pulse 1.4s infinite}@keyframes pulse{to{background-position:-200% 0}}@media (min-width:800px){.sidebar{transform:none}.app-main{margin-left:248px}.topbar{padding:0 1.5rem}.menu-button{display:none}.page-container{padding:1.75rem 2rem}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.mobile-only{display:none}}@media (max-width:650px){.details-list,.form-grid,.money-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-header{align-items:stretch;flex-direction:column}.page-header .button{width:100%}.toolbar{display:grid}.toolbar label{min-width:0}.hide-mobile{display:none}}.dashboard-grid{display:grid;grid-gap:.75rem;gap:.75rem}.dashboard-grid .wide{grid-column:1/-1}.dashboard-number{font-size:1.8rem;margin:.25rem 0}.job-list{list-style:none;padding:0;margin:0}.job-list a,.money{overflow-wrap:anywhere}@media (min-width:800px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cal-workspace{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0}.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem}.cal-title{font-size:1.15rem;margin:0;line-height:1}.cal-nav,.cal-toolbar .actions,.cal-view{display:flex;gap:.3rem}.cal-period{margin:0;font-weight:700}.cal-date{display:flex;align-items:center;gap:.35rem;margin:0;font-size:.85rem}.cal-date input{width:auto}.cal-summary{margin:0;font-size:.82rem;color:var(--muted)}.cal-body{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:.6rem;gap:.6rem;min-width:0}.cal-queue h2{margin:0;font-size:1rem}.cal-queue-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.cal-queue-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem;max-height:calc(100vh - 16rem);overflow:auto}.cal-queue-list button,.calendar-agenda button{display:grid;width:100%;text-align:left;grid-gap:.05rem;gap:.05rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:8px;background:#fff}.cal-staff{border:0;margin:0;padding:0;min-width:0}.cal-staff legend{font-size:.75rem;color:var(--muted)}.cal-staff-row{display:flex;gap:.45rem .8rem;overflow-x:auto;padding-bottom:.2rem}.cal-staff-row label{display:flex;align-items:center;gap:.3rem;white-space:nowrap;margin:0;font-size:.85rem}.cal-board{min-width:0;display:grid;grid-gap:.4rem;gap:.4rem;align-content:start}.cal-scroll{overflow:auto;max-height:calc(100vh - 11.5rem);max-width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.cal-timegrid{display:grid;min-width:max-content}.cal-colhead,.cal-hours span{font-size:.78rem}.cal-colhead{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.35rem .4rem;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:2}.cal-headstat{font-size:.68rem;color:var(--muted);font-weight:650}.cal-colhead button{border:0;background:transparent;font-weight:700;padding:0}.cal-hours{position:relative}.cal-hours span{display:flex;align-items:flex-start;color:var(--muted);padding-left:.25rem}.cal-col,.cal-daycol{position:relative;border-left:1px solid var(--line)}.cal-hourline{border-top:1px solid #e6ece8}.cal-hourline,.calendar-slot{position:absolute;left:0;right:0}.calendar-slot{z-index:0;color:transparent;font-size:.72rem}.calendar-slot:focus-visible,.calendar-slot:hover{color:var(--muted);background:rgba(23,107,69,.06)}.cal-block{position:absolute;z-index:1;overflow:hidden;margin:0;padding:.15rem .3rem;border:0;border-radius:6px;text-align:left;line-height:1.2;font-size:.72rem;box-shadow:inset 3px 0 0 var(--staff,#176b45)}.cal-block span,.cal-block strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-block-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-booked{background:#e7f5ee;--staff:#176b45}.status-in_progress{background:#fff4df;--staff:#8a5a00}.status-draft{background:#eef3f8;--staff:#1d4e89}.status-completed{background:#ecefee;--staff:#5c6b63}.status-cancelled,.status-no_show{background:#f8eeee;--staff:#a43131}.cal-outside{display:block;width:calc(100% - 4px);margin:2px;text-align:left;font-size:.72rem}.cal-peek-backdrop{position:fixed;inset:0;z-index:40;background:transparent}.cal-peek{position:fixed;z-index:41;top:8rem;right:.8rem;width:min(22rem,calc(100vw - 1.2rem));max-height:calc(100vh - 5.4rem);overflow:auto;background:#fff;border-radius:12px;box-shadow:0 18px 50px rgba(23,33,27,.18);padding:.9rem 1rem 1rem}.calendar-agenda h2{font-size:1rem}@media (max-width:799px){.cal-scroll{display:none}.cal-body,.cal-body-wide{display:flex;flex-direction:column}.cal-board{order:-1}}@media (min-width:1100px){.cal-body{grid-template-columns:16.5rem minmax(0,1fr);align-items:start}.cal-body-wide{grid-template-columns:minmax(0,1fr)}}@media (min-width:800px){.calendar-workspace .sidebar{width:76px;padding:.55rem .25rem}.calendar-workspace .app-main{margin-left:76px}.calendar-workspace .page-container{padding:.45rem .65rem .8rem}.calendar-workspace .topbar{height:36px}.calendar-workspace .brand{justify-content:center;font-size:0;margin-bottom:.45rem;gap:0}.calendar-workspace .nav-link{font-size:.62rem;line-height:1.15;text-align:center;padding:.38rem .1rem}.calendar-workspace .sidebar-footer span,.calendar-workspace .sidebar-footer strong{display:none}.calendar-workspace .sidebar-footer .text-button{font-size:.68rem}}.booking-warning{position:fixed;z-index:60;left:1rem;right:1rem;bottom:1rem;max-width:36rem;margin-inline:auto;box-shadow:0 16px 40px rgba(20,32,26,.2)}.cal-track{position:absolute;top:0;bottom:0}.cal-closed{position:absolute;left:0;right:0;background:#d7dbe0;z-index:0}.cal-daystat{position:relative;display:flex;flex-direction:column;gap:.1rem;margin:0;padding:.35rem .4rem .5rem;font-size:.72rem;border-top:1px solid var(--line)}.cal-weekpop{display:none;position:absolute;left:.3rem;bottom:calc(100% + .2rem);z-index:5;width:max-content;max-width:16rem;padding:.4rem .55rem;border-radius:8px;background:#17211b;color:#fff}.cal-daystat:hover .cal-weekpop{display:block}.line-mark,.peek-mark{display:inline-block;width:.7rem;height:.7rem;margin-right:.35rem;border:0;border-radius:50%;background:#e0b000;vertical-align:middle}.line-mark.done,.peek-mark.done{background:#1f7a4d}.cal-block.status-booked,.cal-block.status-draft{border-left:4px solid rgba(255,255,255,.55)}.cal-block.status-in_progress{border-left:4px solid #e0b000}.cal-block.status-completed{border-left:4px solid #8fe0b0}.cal-block.status-cancelled,.cal-block.status-no_show{opacity:.55;text-decoration:line-through}.cal-peek.cal-peek-hover{pointer-events:none}.cal-block.draggable{cursor:-webkit-grab;cursor:grab;touch-action:pan-y}.cal-block.dragging{cursor:-webkit-grabbing;cursor:grabbing;z-index:5;opacity:.85;box-shadow:0 4px 12px rgba(0,0,0,.25)}.cal-resize{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize;background:linear-gradient(transparent,rgba(255,255,255,.35))}.calendar-profile{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.calendar-profile label{display:inline-flex;align-items:center;gap:.3rem}.cal-toolbar{position:-webkit-sticky;position:sticky;top:36px;z-index:15;background:var(--bg,#f4f6f5);padding:.25rem 0}@media (max-width:799px){.cal-toolbar{top:60px}}.cal-body{align-items:start}@media (min-width:1100px){.cal-body{grid-template-columns:minmax(0,1fr)}}@media (min-width:1200px){.cal-body{grid-template-columns:16.5rem minmax(0,1fr)}.cal-body-wide{grid-template-columns:11rem minmax(0,1fr)}}.cal-queue-closed{padding:.5rem .7rem}.cal-corner{position:-webkit-sticky;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--line)}.cal-closed{display:flex;align-items:center;justify-content:center;color:#5c6670;font-size:.7rem;font-weight:650;letter-spacing:.02em;pointer-events:none}.cal-block.compact{padding:.1rem .2rem;font-size:.68rem}.cal-block .cal-lock{display:inline}.cal-block.locked{cursor:pointer}.cal-block.armed{outline:3px solid #fff;outline-offset:-3px;box-shadow:0 0 0 3px #17211b}.cal-block.limited{box-shadow:0 0 0 2px #a43131}.cal-block-limit{font-weight:700;background:#a43131;border-radius:3px;padding:0 .2rem;width:max-content}.cal-block.dragging .cal-block-time{font-weight:800;font-size:.8rem}.cal-resize{height:12px;background:transparent;touch-action:none}.cal-resize:after{content:"";position:absolute;left:50%;bottom:3px;width:28px;height:4px;margin-left:-14px;border-radius:2px;background:rgba(255,255,255,.8)}@media (pointer:coarse){.cal-resize{height:24px}.cal-resize:after{width:36px;height:5px;bottom:6px;margin-left:-18px}.cal-block.draggable{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}}.cal-peek{top:auto;right:auto}.cal-peek.cal-peek-hover{pointer-events:auto}.peek-facts{display:grid;grid-template-columns:max-content 1fr;grid-gap:.15rem .6rem;gap:.15rem .6rem;margin:.4rem 0;font-size:.86rem}.peek-facts dt{color:var(--muted);font-weight:650}.peek-facts dd{margin:0}.cal-tracklabels{display:flex;width:100%;gap:2px;margin-top:.15rem}.cal-tracklabels span{flex:1 1;min-width:0;text-align:center;font-size:.62rem;font-weight:700;color:var(--muted);border-top:3px solid;padding-top:1px;overflow:hidden}.cal-toast-slot{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:70;width:min(34rem,calc(100vw - 1.5rem));pointer-events:none}.cal-toast{pointer-events:auto;display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:10px;background:#17211b;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.25)}.cal-toast span{flex:1 1}.cal-toast.error{background:#a43131}.cal-toast.warn{background:#8a5a00}.calendar-agenda .agenda-day{display:grid;grid-gap:.45rem;gap:.45rem;margin-bottom:.8rem}.calendar-agenda .agenda-card{min-height:44px;padding:.6rem .75rem;border-left:6px solid;border-radius:10px;gap:.15rem}.agenda-reg{font-size:1.05rem}.agenda-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650}.calendar-agenda>.button{min-height:44px}.calendar-profiles-table{display:grid;grid-gap:.6rem;gap:.6rem}.calendar-profile{padding:.5rem 0;border-bottom:1px solid var(--line)}.palette{display:inline-flex;gap:.25rem}.palette button{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);padding:0}.palette button[aria-pressed=true]{box-shadow:0 0 0 2px #17211b}.sv-date-hint{display:block;font-size:.76rem;color:var(--muted);font-weight:500;min-height:1em}.sv-date-input{position:relative;display:inline-flex;align-items:center;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;min-height:2.3rem;padding:0 .6rem;border:1px solid var(--line);border-radius:8px;background:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sv-date-input input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}.sv-date-input:focus-within{outline:2px solid #176b45;outline-offset:1px}.sv-date-display{pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:.88rem}.cal-date{min-width:0}.order-status-tabs{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:1rem}.order-status-tabs a{display:inline-flex;align-items:center;gap:.4rem;padding:.8rem .7rem;white-space:nowrap;text-decoration:none;color:#536057;border-bottom:3px solid transparent;font-size:.85rem;font-weight:650}.order-status-tabs a[aria-current]{color:var(--brand);border-color:var(--brand)}.order-status-tabs a:hover{background:#f4f7f5}.order-status-tabs span{background:#eaf0ec;border-radius:4px;padding:.1rem .35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.order-list-toolbar{align-items:end}.order-column-picker{position:relative;margin-left:auto}.order-column-picker summary{list-style:none;cursor:pointer}.order-column-picker fieldset{position:absolute;right:0;z-index:10;min-width:245px;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:0 6px 18px #172a201a}.order-column-picker label{display:flex;align-items:center;gap:.6rem;padding:.3rem 0}.order-column-picker input{width:auto}.order-list-help{font-size:.8rem}.order-list-table th a{display:flex;gap:.6rem;justify-content:space-between;color:inherit;text-decoration:none}.order-list-table thead td{padding:.35rem .5rem;background:#f8faf8}.order-list-table thead input{width:100%;min-width:100px;font-size:.8rem;padding:.45rem}.order-list-table .order-row-completed,.order-list-table .order-row-invoiced,.order-list-table .order-row-plain{background:white}.order-list-table tbody tr:hover{filter:brightness(.975)}.order-job-label{display:block;color:#536057;font-size:.73rem;margin-top:.2rem}.order-amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.order-list-table a:focus-visible,.order-status-tabs a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (max-width:600px){.order-list-toolbar{gap:.6rem}.order-column-picker{margin-left:0}.order-column-picker fieldset{left:0;right:auto}}.line-quick{position:relative;margin:.5rem 0}.line-quick input{width:100%}.line-quick-results{margin-top:.25rem;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08)}.line-quick-head,.line-quick-results li{display:grid;grid-template-columns:minmax(0,1fr) 6.5rem 7.5rem;grid-gap:.5rem;gap:.5rem;padding:.35rem .6rem}.line-quick-head{font-size:.72rem;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line)}.line-quick-results ul{list-style:none;margin:0;padding:0;max-height:18rem;overflow:auto}.line-quick-results li{cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.line-quick-results li.active,.line-quick-results li:hover{background:#e8f3ec}.line-quick-head span:not(:first-child),.line-quick-results li span:not(:first-child){text-align:right}.line-quick-free{margin:0;padding:.35rem .6rem;font-size:.75rem;border-top:1px solid var(--line)}.line-totals td,.line-totals th{font-weight:700;border-top:2px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width:640px){.line-quick-head,.line-quick-results li{grid-template-columns:minmax(0,1fr) 4.5rem 5.5rem}}.cal-load{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-load-row{display:flex;justify-content:space-between;gap:.4rem;flex-wrap:wrap}.cal-load-bar{position:relative;height:.95rem;border-radius:4px;background:#e6ebe8;overflow:hidden}.cal-load-bar>span{position:absolute;inset:0 auto 0 0;background:#2f8fd8}.cal-load.high .cal-load-bar>span{background:#d08a00}.cal-load.over .cal-load-bar>span{background:#c2412d}.cal-load-bar em{position:relative;padding-left:.3rem;font-style:normal;font-size:.66rem;font-weight:700;line-height:.95rem;color:#10202a}.cal-load.closed{color:var(--muted)}.cal-load.compact{font-size:.66rem}.cal-dayload{padding:.5rem .6rem;border-top:1px solid var(--line);background:#fff}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.cal-month-head{background:#f4f6f5;padding:.35rem;font-size:.75rem;font-weight:700;text-align:center}.cal-month-day{display:flex;flex-direction:column;gap:.25rem;min-height:6.2rem;min-width:0;padding:.35rem;border:0;background:#fff;text-align:left;cursor:pointer}.cal-month-day:focus-visible,.cal-month-day:hover{background:#f1f7f3}.cal-month-day.outside{background:#fafbfa;opacity:.6}.cal-month-day.today .cal-month-date{background:#176b45;color:#fff;border-radius:999px;padding:0 .4rem}.cal-month-date{align-self:flex-end;font-weight:700;font-size:.8rem}.cal-mini{margin-bottom:.6rem}.cal-mini-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.3rem;text-transform:capitalize}.cal-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;text-align:center}.cal-mini-wd{font-size:.66rem;color:var(--muted);font-weight:700}.cal-mini-day{border:0;background:transparent;border-radius:6px;padding:.2rem 0;font-size:.75rem;cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-mini-day:hover{background:#eef3f0}.cal-mini-day.outside{color:#a3aea8}.cal-mini-day.today{font-weight:800;color:#176b45;box-shadow:inset 0 0 0 1px #176b45}.cal-mini-day.selected{background:#176b45;color:#fff}@media (max-width:799px){.cal-month-day{min-height:4.4rem}.cal-month .cal-load-row .muted,.cal-month .cal-load-row:last-child{display:none}}.cal-legend{display:flex;flex-wrap:wrap;gap:.2rem .8rem;margin:.25rem 0 0;font-size:.72rem;color:var(--muted)}.cal-load.over .cal-load-bar em{color:#fff}.cal-status-icon{font-weight:800}.cal-daycol.closed-day,.cal-daycol.closed-day .cal-colhead{background:#f1f3f2}.cal-dayload{margin-bottom:.5rem;border-top:0}@media (pointer:coarse){.cal-mini-day,.cal-mini-head .button{min-width:40px;min-height:40px}}.cal-block-handed{display:inline-block;width:-moz-fit-content;width:fit-content;padding:0 .3rem;border-radius:3px;background:rgba(255,255,255,.92);color:#10202a;font-size:.66rem;font-weight:700}.agenda-handover{font-size:.8rem;font-weight:600}.note-visibility{display:flex;flex-wrap:wrap;gap:.75rem}.note-visibility label{display:inline-flex;align-items:center;gap:.3rem;font-weight:500}.note-visibility input{width:auto}.vehicle-note{margin-top:.25rem;font-size:.85rem}.status.handed-in{background:#e6f0fb;color:#1d4e89}.handover-form input,.handover-form label{min-width:0;max-width:100%;width:100%;box-sizing:border-box}.touch-check{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;cursor:pointer}.touch-check input[type=checkbox]{width:24px;height:24px;min-width:24px;margin:0}.line-time{display:flex;flex-direction:column;gap:.15rem}.line-time-edit{display:inline-flex;align-items:center;gap:.25rem}.line-time-edit input{width:4.6rem;padding:.2rem .35rem}.line-time-missing{font-size:.72rem;color:#8a5a00}.lines-wrap{container-type:inline-size}.lines-table{width:100%}.lines-table td,.lines-table th{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.line-details{display:none;margin-top:.25rem;font-size:.8rem}.line-details dl{display:grid;grid-template-columns:auto 1fr;grid-gap:.1rem .5rem;gap:.1rem .5rem;margin:.25rem 0 0}.line-details dd{margin:0}@container (max-width: 1000px){.lines-table .col-detail{display:none}.line-details{display:block}}.line-flag{display:inline-block;margin-top:.2rem;padding:0 .35rem;border-radius:3px;background:#fff4d6;color:#7a4f00;font-size:.72rem;font-weight:700}.alert.warning{background:#fff4d6;border:1px solid #e9c46a;color:#5c3d00}.line-time-edit input{width:5.5rem;min-height:2.2rem;font-size:1rem}.line-time-steps{display:none;gap:.25rem}.line-time-error{font-size:.75rem;color:#b42318}@media (pointer:coarse){.line-time-steps{display:inline-flex}.line-time-steps .button{min-width:44px;min-height:44px}.line-quick-results li{min-height:44px;align-items:center}}.line-totals-discount{display:none;font-weight:500;font-size:.8rem}@container (max-width: 1000px){.line-totals-discount{display:block}}.order-lines-card{margin-bottom:1rem}.line-time-edit{flex-wrap:wrap;max-width:9.5rem}.lines-table td .actions{flex-direction:column;align-items:stretch;gap:.3rem}@container (max-width: 760px){.lines-table td,.lines-table th{padding-left:.4rem;padding-right:.4rem}}@container (max-width: 560px){.lines-table thead{display:none}.lines-table,.lines-table tbody,.lines-table tfoot{display:block}.lines-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.25rem .75rem;gap:.25rem .75rem;padding:.6rem .5rem;border-bottom:1px solid var(--line)}.lines-table td,.lines-table th{display:block;border:0;padding:0}.lines-table td:first-child,.lines-table th:first-child{grid-column:1/-1}.lines-table td:empty{display:none}.lines-table td[data-label]:before{content:attr(data-label);display:block;font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase}.lines-table td:last-child:not([data-label]){grid-column:1/-1}.lines-table td .actions{flex-direction:row}.line-time-edit{max-width:none}}.order-search-fields{border:0;padding:0;margin:0;min-width:0}.order-list-table{--order-number-min:148px;--order-number-width:148px;--order-reg-width:100px}.order-list-table table{width:100%;border-collapse:separate;border-spacing:0}.order-list-table th a{min-height:40px;align-items:center;padding:0 .25rem}.order-list-table thead input{min-height:40px;min-width:65px}.order-list-table th{padding:.25rem .5rem}.order-list-table td{background:#fff}.order-list-table tbody tr td:first-child{border-left:4px solid var(--order-status-color,#64736a)}.order-list-table .order-col-orderNumber{position:-webkit-sticky;position:sticky;left:0;z-index:2;width:var(--order-number-width);min-width:var(--order-number-width);max-width:var(--order-number-width)}.order-list-table .order-col-registrationNumber{position:-webkit-sticky;position:sticky;left:0;z-index:2;width:var(--order-reg-width);min-width:var(--order-reg-width);max-width:var(--order-reg-width);box-shadow:2px 0 2px #172a2010}.order-list-table.has-order-number .order-col-registrationNumber{left:var(--order-number-width)}.order-list-table thead .order-col-orderNumber,.order-list-table thead .order-col-registrationNumber{z-index:3;background:#f8faf8}.order-status-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--order-status-color);font-size:1rem;font-weight:900;margin-right:.3rem}.order-tabs-scroll{position:relative}.order-tabs-hint{display:none}@media (max-width:1024px){.order-list-table table{font-size:.8rem}.order-list-table td,.order-list-table th{padding-left:.45rem;padding-right:.45rem}.order-list-table .order-col-subtotalExVat{position:-webkit-sticky;position:sticky;right:0;z-index:2;width:100px;min-width:100px;max-width:100px;background:#fff;box-shadow:-2px 0 3px #172a2018}.order-list-table thead .order-col-subtotalExVat{z-index:3;background:#f8faf8;white-space:normal}.order-list-table th.order-col-subtotalExVat a{gap:.15rem}.order-list-table th{font-size:.68rem}.order-tabs-hint{display:flex;align-items:center;justify-content:flex-end;pointer-events:none;position:absolute;right:0;top:0;bottom:0;width:36px;font-size:1.5rem;color:var(--brand);background:linear-gradient(90deg,transparent,#f4f7f5 60%)}.order-status-tabs{padding-right:24px}}@media (max-width:600px){.order-list-table{--order-number-min:122px;--order-number-width:122px;--order-reg-width:90px}.order-list-table .order-col-subtotalExVat{width:90px;min-width:90px;max-width:90px}.order-list-table .row-link{font-size:.75rem}}.order-list-root .order-list-table th a,.order-list-root .order-list-table thead input,.order-list-root .order-list-toolbar .button,.order-list-root .order-list-toolbar input,.order-list-root .order-status-tabs a,.order-list-root .pagination .button{min-height:44px;box-sizing:border-box}.order-list-root .order-list-toolbar .button,.order-list-root .order-status-tabs a,.order-list-root .pagination .button{display:inline-flex;align-items:center}.order-list-root .pagination .button{min-width:44px;justify-content:center}.lines-toolbar{display:flex;align-items:flex-start;gap:.5rem;margin:.5rem 0}.lines-toolbar .line-quick{flex:1 1 auto;margin:0;min-width:0}.lines-toolbar .line-quick input{min-height:44px;box-sizing:border-box}.lines-toolbar .lines-add-manual{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.order-lines-card .section-header{margin-bottom:.25rem}@media (pointer:coarse){.line-details summary{min-height:44px;display:flex;align-items:center}}@media (max-width:480px){.lines-toolbar{flex-direction:column;align-items:stretch}}.lines-table .col-detail,.lines-table td:first-child,.lines-table th{white-space:normal}.billing-history{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.billing-entry{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;padding-left:.6rem;border-left:4px solid #123f1c}.billing-entry.billing-partial{border-left-color:#b45309}.billing-entry.billing-credited{border-left-color:#8a8f8b}.billing-entry ul{flex-basis:100%;list-style:none;margin:0;padding:0 0 0 .5rem}.billing-link{display:inline-flex;font-weight:600}.billing-credit,.billing-link{align-items:center;gap:.5rem;min-height:44px}.billing-credit{display:flex}.billing-status{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.75rem;font-weight:700;color:#fff;background:#123f1c}.billing-status-credited{background:#5f6661}.billing-status-credit{background:#8c3a3a}.order-head{justify-content:space-between;gap:.5rem 1rem;margin-bottom:.75rem}.order-head,.order-head-main{display:flex;flex-wrap:wrap;align-items:center}.order-head-main{gap:.35rem .85rem;min-width:0}.order-head-number{margin:0;font-size:1.35rem}.order-head-reg{font-weight:700;font-family:ui-monospace,monospace;letter-spacing:.04em}.order-head-vehicle{color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem}.order-head-main a,.order-head-time{display:inline-flex;align-items:center;min-height:44px}.order-head-time{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.order-head-jump{display:flex;flex-wrap:wrap;gap:.4rem}.order-head-jump .button{min-height:44px;display:inline-flex;align-items:center}#fakturahistorik,#orderrader{scroll-margin-top:4.5rem}.billing-status,.line-flag,.order-job-label,.priority,.status{font-size:13px}.order-list-table th{font-size:12px}.billing-status{padding:.15rem .5rem;line-height:1.4}.billing-status-paid{background:#123f1c}.billing-status-unpaid{background:#b45309}.billing-status-partpaid{background:#7a4f00}.billing-status-partial{background:#6b2d5b}.billing-entry.billing-partial{border-left-color:#6b2d5b}.alert.finance-lock{display:flex;flex-direction:column;gap:.5rem;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;font-size:max(14px,.9rem);line-height:1.45}.lines-progress{margin:.25rem 0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.work-status-select{display:block;margin:.25rem 0}.work-status-select select{min-height:44px;width:auto;min-width:9rem;font-size:14px;padding:0 .5rem}.work-status{display:inline-block;margin:.2rem 0;padding:.15rem .5rem;border-radius:4px;font-size:13px;font-weight:700;background:#edf1ee}.work-status-in_progress{background:#e5f0ff;color:#20588e}.work-status-done{background:#8fd18a;color:#10301a}body.order-modal-open{overflow:hidden}.order-modal-backdrop{position:fixed;inset:0;z-index:60;background:rgb(16 24 20/55%);display:flex;align-items:stretch;justify-content:center;padding:1.5rem}.order-modal{position:relative;width:100%;max-width:1600px;background:var(--bg,#f6f7f5);border-radius:10px;overflow:auto;padding:1rem 1.25rem 0;outline:none;display:flex;flex-direction:column}.order-modal-close{position:absolute;top:.6rem;right:.6rem;min-width:44px;min-height:44px;z-index:2}.order-modal .order-head{padding-right:3.5rem}.order-tabs{display:flex;gap:.25rem;overflow-x:auto;scroll-snap-type:x proximity;border-bottom:1px solid var(--line);margin:.5rem 0 1rem;-webkit-overflow-scrolling:touch}.order-tab{flex:0 0 auto;scroll-snap-align:start;min-height:44px;display:inline-flex;align-items:center;padding:0 .9rem;border:0;border-bottom:3px solid transparent;background:none;font:inherit;font-weight:600;color:inherit;text-decoration:none;cursor:pointer;white-space:nowrap}.order-tab[aria-selected=true]{border-bottom-color:var(--accent,#1d6b45);color:var(--accent,#1d6b45)}.order-tabs-page{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--bg,#f6f7f5)}.order-tab-section{scroll-margin-top:56px;margin-bottom:1rem}.order-tab-panel{flex:1 0 auto}.order-bottom-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem .75rem;margin:1rem -1.25rem 0;background:var(--surface,#fff);border-top:1px solid var(--line);box-shadow:0 -2px 8px rgb(0 0 0/6%)}.order-view-page .order-bottom-bar{margin:1rem 0 0;border-radius:8px 8px 0 0}.order-bottom-bar .button,.order-bottom-bar button{min-height:44px}.order-bottom-status .stack{gap:.25rem}.order-bottom-status .actions{flex-wrap:wrap}.order-bottom-actions{display:flex;gap:.5rem;margin-left:auto;flex-wrap:wrap}@media (max-width:768px){.order-modal-backdrop{padding:0}.order-modal{border-radius:0;max-width:none;height:100%;padding:.75rem .75rem 0}.order-bottom-bar{margin:1rem -.75rem 0}.order-bottom-actions{margin-left:0;width:100%}.order-bottom-actions>*{flex:1 1}}@media print{.order-modal-backdrop{position:static;padding:0;background:none}.app-shell nav,.order-bottom-bar,.order-modal-close,.order-tabs{display:none!important}.order-tab-panel[hidden]{display:block!important}}.order-modal>.order-view{display:flex;flex-direction:column;flex:1 0 auto}.order-modal>.order-view>.order-bottom-bar{margin-top:auto}.order-modal .order-tab-panel{flex:0 0 auto}.status-actions{align-items:center}.status-more{position:relative}.status-more>.button{min-height:44px}.status-more-menu{position:absolute;bottom:calc(100% + .35rem);left:0;z-index:8;display:flex;flex-direction:column;gap:.35rem;min-width:10rem;padding:.5rem;background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px rgb(0 0 0/14%)}.status-more-menu .button{min-height:44px;width:100%}@media (max-width:480px){.order-bottom-bar{gap:.35rem .5rem;padding:.4rem .5rem}.order-bottom-completed{font-size:13px;order:3;width:100%}.order-bottom-status .stack{gap:0}.order-bottom-actions{gap:.35rem}.order-bottom-actions .button{padding-left:.5rem;padding-right:.5rem;white-space:nowrap}}.order-modal>.order-view>.order-tabs-swipe{display:flex;flex-direction:column;flex:0 0 auto}@media (max-width:768px){.order-modal{height:100dvh}.order-modal,.order-modal>.order-view{min-height:100%}}.audit-diff{margin:.2rem 0 0;padding-left:1.1rem;font-size:.88rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dst-hint{display:block;font-size:.78rem;color:#8a5a00;font-weight:600;margin-top:.15rem}.cal-empty-day{margin:0 0 .5rem}.order-list-table .order-col-orderNumber,.order-list-table .order-col-orderNumber a{white-space:nowrap}.order-list-table .order-col-orderNumber .order-job-label{white-space:normal}.nowrap,td.num,th.num{white-space:nowrap}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.invoice-orders{max-width:22rem}.invoice-subtitle{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.25rem 0 0;color:var(--muted)}.invoice-status{display:inline-flex;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:750;background:#edf1ee;color:var(--ink)}.invoice-status-issued{background:#e2f5e9;color:#176b45}.invoice-status-draft{background:#eef3f8;color:#1d4e89}.invoice-summary{display:grid;grid-template-columns:minmax(12rem,1.4fr) repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem;align-items:center}.invoice-summary-total span{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.invoice-summary-total strong{display:block;font-size:1.6rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-summary .kv{display:flex;flex-direction:column;gap:.15rem}.invoice-summary .kv>span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.invoice-summary-orders p{margin:0;line-height:1.5}.invoice-note{padding:.8rem 1rem;border-left:4px solid var(--brand);background:#f6f8f6;border-radius:6px;margin:0}.invoice-address{display:flex;flex-direction:column;gap:.1rem;font-style:normal}.kv-list{display:grid;grid-gap:.35rem;gap:.35rem}.invoice-totals .kv,.kv-list .kv{display:flex;justify-content:space-between;gap:1rem}.kv-list .kv>span{color:var(--muted)}.kv-list .kv>strong{font-weight:600;text-align:right;overflow-wrap:anywhere}.invoice-lines td{vertical-align:top}.invoice-totals{display:grid;grid-gap:.35rem;gap:.35rem;margin-left:auto;width:min(100%,24rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.invoice-totals .kv>strong{white-space:nowrap}.invoice-totals-grand{border-top:2px solid var(--line);padding-top:.5rem;font-size:1.15rem}.invoice-history{list-style:none;padding:0;margin:0;display:grid;grid-gap:.35rem;gap:.35rem}.invoice-history li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.35rem}@media (max-width:900px){.invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-summary-total{grid-column:1/-1}}.invoice-panel>h2{margin:0;padding-bottom:.6rem;border-bottom:1px solid var(--line);font-size:1.1rem}.invoice-panel>p{margin:0}.invoice-panel>ul{margin:0;padding:.7rem .9rem;list-style:none;display:grid;grid-gap:.3rem;gap:.3rem;background:#f6f8f6;border-radius:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.invoice-panel fieldset{border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem;margin:0}.invoice-panel input:not([type=checkbox]):not([type=radio]),.invoice-panel select,.invoice-panel textarea{width:100%;box-sizing:border-box}.invoice-panel .card{box-shadow:none;border:1px solid var(--line)}