:root{--enos-red:#c91423;--enos-red-dark:#b51d28;--enos-copper:#a87a3c;--enos-copper-soft:#ecdcc4;--enos-field:#f8f6f0;--enos-field-2:#f1ede4;--enos-paper:#ffffff;--enos-ink:#15181c;--enos-ink-2:#3a3e46;--enos-muted:#6b6f78;--enos-border:rgba(20,24,28,0.08);--enos-border-strong:rgba(20,24,28,0.16);--font-display:"DM Sans",system-ui,sans-serif;--font-body:"Manrope",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--shadow-sm:0 1px 0 rgba(0,0,0,.03),0 4px 14px -8px rgba(15,18,22,.08);--shadow-md:0 1px 0 rgba(0,0,0,.03),0 14px 36px -14px rgba(15,18,22,.12);--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-pill:999px;--ok:#2f7d4f;--ok-soft:#e6f2ea;--warn:#9a6a12;--warn-soft:#fbf1dc;--danger:#a3342a;--danger-soft:#f7e7e5;--info:#40505f;--info-soft:#eceff2;--kind-preventive:#2f6f8f;--kind-corrective:#b0602a;--kind-installation:#6a4c9c;--kind-calibration:#2f7d6b;--kind-inspection:#7d7420;--kind-training:#a0507a}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--enos-field);color:var(--enos-ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;margin:0}h1{font-size:26px}h1,h2{font-weight:600}h2{font-size:17px}h3{font-size:14px}.eyebrow,h3{font-weight:600}.eyebrow{font-family:var(--font-display);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--enos-copper)}.mono{font-family:var(--font-mono);font-size:12px}.muted{color:var(--enos-muted)}.shell{max-width:1280px;margin:0 auto;padding:0 24px 64px}.topbar{background:var(--enos-paper);border-bottom:1px solid var(--enos-border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar-inner{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:24px}.brand{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;font-size:15px}.brand span{color:var(--enos-red)}.nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(88px,1fr);grid-gap:4px;gap:4px;flex:1 1;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{display:flex;align-items:center;justify-content:center;padding:6px 11px;border-radius:var(--radius-pill);text-decoration:none;color:var(--enos-ink-2);font-weight:500;font-size:13px;white-space:nowrap}.nav a:hover{background:var(--enos-field-2)}.nav a:focus-visible{outline:2px solid var(--enos-copper);outline-offset:-2px}.nav a.active{background:var(--enos-ink);color:var(--enos-paper)}.card{background:var(--enos-paper);border:1px solid var(--enos-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:18px 20px}.card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}.grid{display:grid;grid-gap:16px;gap:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat .n{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em}.stat .l{font-size:12px;color:var(--enos-muted)}.badge.absence-vacation{background:var(--ok-soft);color:var(--ok)}.badge.absence-off{background:var(--enos-field-2);color:var(--enos-ink-2)}.badge.absence-leave{background:var(--warn-soft);color:var(--warn)}.badge.absence-sick{background:var(--danger-soft);color:var(--danger)}.absence-remove form .form-row{display:none}.absence-remove .btn{padding:4px 10px;font-size:12px;background:none;color:var(--enos-ink-2);border:1px solid var(--enos-border-strong)}.absence-remove .btn+span{display:block;margin:4px 0 0!important}.calendar-card{overflow:hidden;background:var(--enos-paper);border:1px solid var(--enos-border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:16px;gap:16px;min-height:64px;padding:10px 16px;border-bottom:1px solid var(--enos-border-strong)}.calendar-toolbar-actions{display:flex;align-items:center;gap:6px}.calendar-nav-button,.calendar-today-button{display:inline-flex;align-items:center;justify-content:center;height:34px;color:var(--enos-ink-2);text-decoration:none;border:1px solid var(--enos-border-strong);border-radius:var(--radius-pill);background:var(--enos-paper)}.calendar-nav-button{width:34px;padding:0}.calendar-today-button{padding:0 14px;font-size:12px;font-weight:600}.calendar-nav-button:hover,.calendar-today-button:hover{background:var(--enos-field-2)}.calendar-event:focus-visible,.calendar-nav-button:focus-visible,.calendar-today-button:focus-visible{outline:2px solid var(--enos-copper);outline-offset:2px}.calendar-month-title{text-transform:capitalize;text-align:center}.calendar-visit-count{justify-self:end;font-size:12px}.calendar-scroll{overflow-x:auto}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:770px}.calendar-weekday{padding:8px 10px;color:var(--enos-muted);font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.08em;text-align:center;border-right:1px solid var(--enos-border);background:var(--enos-field)}.calendar-weekday abbr{text-decoration:none}.month-calendar>:nth-child(7n){border-right:0}.calendar-day{min-height:126px;padding:7px;border-top:1px solid var(--enos-border);border-right:1px solid var(--enos-border);background:var(--enos-paper)}.calendar-day.outside-month{background:color-mix(in srgb,var(--enos-field) 58%,white)}.calendar-day.outside-month .calendar-day-number,.calendar-day.outside-month .calendar-event{opacity:.46}.calendar-day-number{display:flex;align-items:center;justify-content:center;width:25px;height:25px;margin-left:auto;color:var(--enos-ink-2);font-family:var(--font-display);font-size:11px;font-weight:600;border-radius:50%}.calendar-day-number.today{background:var(--enos-ink);color:var(--enos-paper)}.calendar-events{display:grid;grid-gap:5px;gap:5px;margin-top:4px}.calendar-event{display:grid;grid-template-columns:auto 1fr;grid-gap:0 5px;gap:0 5px;min-width:0;padding:5px 6px;overflow:hidden;color:var(--enos-ink-2);font-size:10px;line-height:1.35;text-decoration:none;border-left:3px solid var(--enos-copper);border-radius:4px;background:var(--info-soft)}.calendar-event.status-planned{border-left-style:dashed}.kind-preventive{--kind:var(--kind-preventive)}.kind-corrective{--kind:var(--kind-corrective)}.kind-installation{--kind:var(--kind-installation)}.kind-calibration{--kind:var(--kind-calibration)}.kind-inspection{--kind:var(--kind-inspection)}.kind-training{--kind:var(--kind-training)}.calendar-event[class*=kind-]{border-left-color:var(--kind);background:color-mix(in srgb,var(--kind) 11%,white)}.kind-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:10px 16px;list-style:none;border-top:1px solid var(--enos-border);font-size:11px;color:var(--enos-ink-2)}.kind-legend li{display:inline-flex;align-items:center;gap:6px}.kind-swatch{width:12px;height:12px;border-radius:3px;border-left:3px solid var(--kind);background:color-mix(in srgb,var(--kind) 11%,white)}.calendar-event>span:not(.calendar-event-model){grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-model{color:var(--enos-muted);font-family:var(--font-mono)}.calendar-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-empty,.calendar-event-engineer{color:var(--enos-muted)}.calendar-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:12px;border-top:1px solid var(--enos-border);background:var(--enos-field)}.calendar-empty strong{color:var(--enos-ink-2)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-family:var(--font-display);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--enos-muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--enos-border-strong);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--enos-border);vertical-align:top}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--enos-field)}td a{color:var(--enos-ink);text-decoration:none;border-bottom:1px solid var(--enos-copper-soft)}td a:hover{border-bottom-color:var(--enos-copper)}.badge{display:inline-block;padding:2px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;white-space:nowrap;background:var(--info-soft);color:var(--info)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}label{display:block;font-size:12px;font-weight:600;margin-bottom:5px;color:var(--enos-ink-2)}input,select,textarea{width:100%;padding:8px 11px;font:inherit;font-size:13px;border:1px solid var(--enos-border-strong);border-radius:var(--radius-md);background:var(--enos-paper);color:var(--enos-ink)}input:focus,select:focus{outline:2px solid var(--enos-copper);outline-offset:1px;border-color:transparent}.btn{display:inline-block;padding:8px 16px;font:inherit;font-size:13px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;background:linear-gradient(180deg,var(--enos-red),var(--enos-red-dark));color:#fff}.btn:hover{filter:brightness(1.06)}.btn.ghost{background:none;color:var(--enos-ink-2);border:1px solid var(--enos-border-strong)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;align-items:end}.form-row .form-wide{grid-column:1/-1}.form-row .form-section{grid-column:1/-1;margin:8px 0 -4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--enos-muted)}.role-picker{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 14px;padding:0;border:0}.role-picker legend{float:left;margin-right:14px;padding:0;font-size:12px;font-weight:600;color:var(--enos-ink-2)}.role-picker label{display:inline-flex;align-items:center;gap:5px;margin:0}.role-picker input{width:auto}.action-message{margin-left:12px;font-size:13px;font-weight:600}.action-message.ok{color:var(--ok)}.action-message.error{color:var(--danger)}.user-card-head{align-items:flex-start}.user-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.user-status-action{margin-top:14px;padding-top:14px;border-top:1px solid var(--enos-border)}.user-status-action .form-row{display:none}.user-status-action .btn{background:none;color:var(--enos-ink-2);border:1px solid var(--enos-border-strong)}.user-password-action{margin-top:14px;padding-top:14px;border-top:1px solid var(--enos-border)}.temporary-password-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.temporary-password-row input{flex:1 1 200px;width:auto}.temporary-password-form .action-message{display:block;margin:8px 0 0}.row-actions{white-space:nowrap}.row-actions a+a{margin-left:12px}.admin-page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:28px 0 20px}.admin-add-button{display:inline-flex;align-items:center;gap:7px;text-decoration:none}.admin-modal-layer{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px}.admin-modal-scrim{position:absolute;inset:0;background:rgba(21,24,28,.48);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-modal-panel{position:relative;width:min(760px,100%);max-height:min(760px,calc(100vh - 48px));overflow-y:auto;scrollbar-gutter:stable;padding:22px;background:var(--enos-paper);border:1px solid var(--enos-border-strong);border-radius:var(--radius-xl);box-shadow:0 24px 80px rgba(15,18,22,.24)}.admin-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-modal-head .eyebrow{margin-bottom:4px}.admin-modal-head p{margin:5px 0 0;font-size:12px}.admin-modal-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;color:var(--enos-ink-2);border:1px solid var(--enos-border-strong);border-radius:50%;text-decoration:none}.admin-modal-close:hover{background:var(--enos-field-2)}.admin-add-option:focus-visible,.admin-modal-close:focus-visible{outline:2px solid var(--enos-copper);outline-offset:2px}.admin-add-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-add-option{display:flex;align-items:center;gap:12px;padding:14px;color:var(--enos-ink);border:1px solid var(--enos-border);border-radius:var(--radius-lg);text-decoration:none;background:var(--enos-field)}.admin-add-option:hover{border-color:var(--enos-border-strong);background:var(--enos-field-2)}.admin-add-option-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;color:var(--enos-copper);border-radius:var(--radius-md);background:var(--enos-copper-soft)}.admin-add-option small,.admin-add-option strong{display:block}.admin-add-option small{margin-top:2px;color:var(--enos-muted);font-size:11px}.user-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.form-field{min-width:0}.field-help{min-height:16px;margin-top:5px;color:var(--enos-muted);font-size:11px}.user-create-roles{margin:20px 0 0;padding:16px 0 0;border:0;border-top:1px solid var(--enos-border)}.user-create-roles legend{padding:0;color:var(--enos-ink-2);font-size:12px;font-weight:600}.user-create-role-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.user-create-role-options label{display:flex;align-items:flex-start;gap:9px;min-width:0;margin:0;padding:11px 12px;cursor:pointer;border:1px solid var(--enos-border-strong);border-radius:var(--radius-md);background:var(--enos-field)}.user-create-role-options label:hover{background:var(--enos-field-2)}.user-create-role-options label:has(input:checked){border-color:var(--enos-copper);box-shadow:inset 0 0 0 1px var(--enos-copper);background:color-mix(in srgb,var(--enos-copper-soft) 42%,white)}.user-create-role-options input{width:auto;margin:3px 0 0;flex:none}.user-create-role-options small,.user-create-role-options strong{display:block}.user-create-role-options strong{color:var(--enos-ink);font-size:12px}.user-create-role-options small{margin-top:2px;color:var(--enos-muted);font-size:10px;font-weight:400}.user-create-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--enos-border)}.user-create-actions .action-message{margin-left:0}@media (max-width:620px){.admin-modal-layer{padding:12px}.admin-modal-panel{max-height:calc(100vh - 24px);padding:18px}.admin-add-options,.user-create-grid,.user-create-role-options{grid-template-columns:1fr}}.note{border-left:3px solid var(--enos-copper);padding:10px 14px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:13px;color:var(--enos-ink-2)}.model-figure,.note{background:var(--enos-field-2)}.model-figure{position:relative;border:1px solid var(--enos-border);border-radius:var(--radius-md);overflow:hidden}.model-figure img{object-fit:contain}.model-thumb{width:84px;aspect-ratio:4/3;flex:none}.model-hero{width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg)}.model-figure.empty{display:flex;align-items:center;justify-content:center;color:var(--enos-muted);font-size:11px;text-align:center;padding:6px}.parts-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,200px) auto;align-items:end;grid-gap:12px;gap:12px;margin-bottom:14px}.parts-search-control{display:flex;align-items:center;gap:8px;padding-left:11px;border:1px solid var(--enos-border-strong);border-radius:var(--radius-md);background:var(--enos-paper);color:var(--enos-muted)}.parts-search-control:focus-within{outline:2px solid var(--enos-copper);outline-offset:1px;border-color:transparent}.parts-search-control svg{flex:none}.parts-search-control input{padding-left:0;border:0;background:none}.parts-search-control input:focus{outline:none}.parts-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px}.parts-result-head .muted{font-size:11px}.parts-table-card{padding:6px 8px}.parts-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:46ch;margin-top:3px;font-size:11px;line-height:1.4}.part-source{font-size:11px;line-height:1.4;white-space:nowrap}.part-source+.part-source{margin-top:5px}.part-source span{display:block;color:var(--enos-muted);font-family:var(--font-mono);font-size:10px}.badge.part-kind-spare{background:var(--enos-copper-soft);color:var(--enos-copper)}.badge.part-kind-consumable{background:var(--info-soft);color:var(--info)}.badge.part-kind-kit{background:var(--enos-field-2);color:var(--enos-ink-2)}.visit-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px 0 20px}.visit-heading p{margin:6px 0 0}.inline-link{text-decoration:none;border-bottom:1px solid var(--enos-copper-soft)}.inline-link:hover{border-bottom-color:var(--enos-copper)}.visit-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start}.visit-details{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:8px 16px;gap:8px 16px;margin:0;font-size:13px}.visit-details dt{color:var(--enos-muted)}.visit-details dd{margin:0}.order-form{display:grid;grid-gap:16px;gap:16px}.order-form textarea,textarea.order-reason{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--enos-border-strong);border-radius:var(--radius-md);background:var(--enos-paper);color:var(--enos-ink)}.order-checks{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;border:0}.order-checks label{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13px}.order-cell input,.order-checks input{width:auto}.order-checks legend{float:left;margin-right:12px;padding:0;font-size:12px;font-weight:600;color:var(--enos-ink-2)}.order-assign{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:end;margin-bottom:16px}.order-inline-button{display:inline-flex;align-items:center;gap:6px}.order-matrix td,.order-matrix th{white-space:nowrap}.order-day-head{display:inline-flex;align-items:center;gap:6px}.order-day-head input{width:150px}.order-cell{text-align:center}.order-form-actions{display:flex;align-items:center;gap:12px}@media (max-width:760px){.order-assign{grid-template-columns:1fr}}.order-history{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.order-history li{display:grid;grid-gap:3px;gap:3px;padding-bottom:12px;border-bottom:1px solid var(--enos-border)}.order-history li:last-child{padding-bottom:0;border-bottom:none}.visit-record-card,.visit-record-note{margin-top:16px}.visit-record-card .card-head p{margin:5px 0 0;font-size:12px}.visit-part-rows{display:grid;grid-gap:10px;gap:10px}.visit-part-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.2fr) 110px minmax(0,1.6fr) auto;align-items:end;grid-gap:12px;gap:12px;margin:0;padding:14px;border:1px solid var(--enos-border);border-radius:var(--radius-lg);background:var(--enos-field)}.visit-part-row legend{padding:0 6px;color:var(--enos-muted);font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.visit-part-row input,.visit-part-row select{background:var(--enos-paper)}.visit-part-quantity input{font-family:var(--font-mono)}.visit-part-remove{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;color:var(--enos-ink-2);cursor:pointer;border:1px solid var(--enos-border-strong);border-radius:var(--radius-md);background:var(--enos-paper)}.visit-part-remove:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.visit-part-remove:disabled{opacity:.4;cursor:not-allowed}.visit-part-remove:focus-visible{outline:2px solid var(--enos-copper);outline-offset:2px}.visit-parts-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--enos-border)}.visit-parts-actions .btn.ghost{display:inline-flex;align-items:center;gap:7px}.visit-parts-actions .action-message{margin-left:0}@media (max-width:900px){.visit-layout{grid-template-columns:1fr}.visit-part-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.visit-part-row .visit-part-notes,.visit-part-row .visit-part-select{grid-column:1/-1}.visit-part-remove{justify-self:end}}@media (max-width:620px){.parts-filters{grid-template-columns:1fr}.visit-heading{flex-direction:column;gap:12px}.visit-part-row,.visit-parts-actions{grid-template-columns:1fr}}.org-switcher{position:relative}.org-switcher summary{list-style:none;cursor:pointer}.org-switcher summary::-webkit-details-marker{display:none}.org-switcher nav{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:180px;display:flex;flex-direction:column;padding:6px;background:var(--enos-paper);border:1px solid var(--enos-border-strong);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.08)}.org-switcher nav a{padding:7px 10px;border-radius:6px;text-decoration:none;color:var(--enos-ink)}.org-switcher nav a:hover{background:rgba(0,0,0,.04)}.org-switcher nav a[aria-current]{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.view-switch{display:inline-flex;gap:2px;padding:3px;background:var(--enos-field-2)}.view-switch,.view-switch a{border-radius:var(--radius-pill)}.view-switch a{padding:5px 14px;font-size:12px;font-weight:600;text-decoration:none;color:var(--enos-ink-2)}.view-switch a[aria-current=page]{background:var(--enos-ink);color:var(--enos-paper)}.view-switch a:focus-visible{outline:2px solid var(--enos-copper);outline-offset:2px}.board-scroll{overflow-x:auto}.dispatch-board{border-collapse:separate;border-spacing:0;font-size:11px;table-layout:fixed}.dispatch-board td,.dispatch-board th{border-bottom:1px solid var(--enos-border);border-right:1px solid var(--enos-border)}.dispatch-board tbody tr:hover{background:none}.dispatch-board .board-engineer{position:-webkit-sticky;position:sticky;left:0;z-index:1;width:170px;min-width:170px;padding:6px 10px;background:var(--enos-paper);text-align:left;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--enos-ink);white-space:normal}.dispatch-board .board-unassigned .board-engineer{color:var(--enos-muted);font-style:italic}.dispatch-board .board-unassigned td{background:var(--enos-field)}.board-date{width:74px;min-width:74px;padding:4px 2px;text-align:center}.board-date span{display:block;font-size:9px}.board-date time{font-size:12px;color:var(--enos-ink-2)}.board-date.today time{display:inline-block;min-width:22px;padding:1px 4px;border-radius:var(--radius-pill);background:var(--enos-ink);color:var(--enos-paper)}.dispatch-board .weekend{background:color-mix(in srgb,var(--enos-field) 70%,white)}.board-cell{height:44px;padding:3px;vertical-align:top}.board-cell.absent{background:repeating-linear-gradient(135deg,var(--absence) 0 5px,transparent 5px 10px);background-color:color-mix(in srgb,var(--absence) 30%,white)}.absence-vacation{--absence:var(--ok-soft)}.absence-off{--absence:var(--enos-field-2)}.absence-leave{--absence:var(--warn-soft)}.absence-sick{--absence:var(--danger-soft)}.board-absence-label{display:block;font-size:9px;font-weight:700;color:var(--enos-ink-2);white-space:nowrap}.absence-swatch{width:12px;height:12px;border-radius:3px;background:repeating-linear-gradient(135deg,var(--absence) 0 3px,transparent 3px 6px);background-color:color-mix(in srgb,var(--absence) 30%,white);border:1px solid var(--enos-border-strong)}.board-chip{display:flex;align-items:center;gap:3px;margin-top:2px;padding:2px 4px;font-size:10px;line-height:1.3;color:var(--enos-ink-2);border-left:3px solid var(--kind);border-radius:3px;background:color-mix(in srgb,var(--kind) 14%,white)}.board-chip a{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:inherit;text-decoration:none}.board-chip a:focus-visible{outline:2px solid var(--enos-copper);outline-offset:1px}.board-chip input{width:11px;height:11px;margin:0;padding:0;flex:none;accent-color:var(--enos-ink)}.board-chip.status-planned{border-left-style:dashed}.board-chip:not(.status-planned):not(.status-assigned):not(.status-confirmed){opacity:.6}.board-chip.selected{outline:2px solid var(--enos-ink);outline-offset:-1px}.dispatch-bar{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(auto-fit,minmax(170px,1fr));align-items:end;grid-gap:12px;gap:12px;padding:12px 16px;border-top:1px solid var(--enos-border-strong);background:var(--enos-field)}.dispatch-bar-count{display:grid;font-size:12px}.dispatch-bar-reason{grid-column:span 2}.dispatch-bar-actions{display:flex;gap:8px}.dispatch-bar-result{grid-column:1/-1;margin:0;font-size:13px;font-weight:600}.dispatch-bar-result.ok{color:var(--ok)}.dispatch-bar-result.error{color:var(--danger)}.dispatch-bar-warning{display:block;color:var(--warn);font-weight:500}.feedback-dialog{width:min(560px,calc(100vw - 32px));padding:22px;border:1px solid var(--enos-border-strong);border-radius:var(--radius-xl);background:var(--enos-paper);color:var(--enos-ink);box-shadow:0 24px 80px rgba(15,18,22,.24)}.feedback-dialog::-webkit-backdrop{background:rgba(15,18,22,.35)}.feedback-dialog::backdrop{background:rgba(15,18,22,.35)}.feedback-dialog h2{margin:2px 0 0}.feedback-kinds{display:flex;gap:16px;margin:0 0 12px;padding:0;border:0}.feedback-kinds legend{font-size:12px;font-weight:600;margin-bottom:5px;color:var(--enos-ink-2)}.feedback-kinds label{display:flex;align-items:center;gap:6px;margin:0;font-weight:500;font-size:13px;color:var(--enos-ink)}.feedback-kinds input{width:auto}.feedback-preview{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:12px}.feedback-preview img{width:160px;height:auto;max-height:100px;object-fit:contain;border:1px solid var(--enos-border);border-radius:var(--radius-md)}.feedback-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}