@font-face{font-family:Roboto;src:url("fonts/Roboto-Regular-20261021.ttf") format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Roboto;src:url("fonts/Roboto-Bold-20261021.ttf") format("truetype");font-weight:600 900;font-display:swap}body,input,select,textarea,button{font-family:Roboto,Arial,sans-serif}
/* ACH workshop workflow and TV board. Keeps the established plum palette. */
.wf-toolbar,.wf-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.wf-toolbar input{flex:1;min-width:180px}.wf-status{display:inline-block;border-radius:8px;padding:6px 9px;background:#eae2f2;color:#57415d;font-weight:600;font-size:12px}.wf-status.ready{background:#dcefe6;color:#21624b}.wf-status.hold{background:#fff0d5;color:#8b601f}.wf-task,.wf-part,.wf-event{border:1px solid var(--line,#dfd5e3);border-radius:14px;padding:14px;margin:10px 0}.wf-task h3{margin:5px 0}.wf-task small,.wf-part small{display:block}.wf-summary{background:linear-gradient(115deg,#eee4f1,#e0eeed);padding:18px;border-radius:16px;color:#503952}.wf-summary h1{margin:4px 0}.wf-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.wf-report-bars{display:flex;gap:6px;align-items:flex-end;height:180px;overflow-x:auto;padding:15px 5px 35px}.wf-bar{flex:1;min-width:28px;max-width:60px;position:relative;background:linear-gradient(#a88cba,#6b486e);border-radius:6px 6px 0 0}.wf-bar b{position:absolute;top:-22px;width:100%;text-align:center}.wf-bar small{position:absolute;top:100%;font-size:10px;white-space:nowrap;writing-mode:vertical-rl;margin-top:5px}.wf-report .fields{margin:15px 0}.wf-error{padding:16px;background:#fff0e9;color:#813b22;border-radius:10px}.wf-progress{height:6px;background:#ddd2e2;border-radius:8px;margin-top:5px;overflow:hidden}.wf-progress span{display:block;height:100%;background:#81628e}.wf-nav-display{white-space:normal}.wf-note{font-size:13px;color:var(--muted,#75667d)}.wf-photos{display:flex;gap:10px;flex-wrap:wrap}.wf-photos img{width:100px;height:80px;object-fit:cover;border-radius:10px}.wf-form textarea{min-height:90px}.wf-form .form-footer{margin-top:18px}.wf-print-link{display:inline-flex;padding:10px 14px;background:#ece2ef;border-radius:10px;color:#5a405d;text-decoration:none}.wf-tv{margin:0;background:#f3f1f6;color:#372d40;font:16px Roboto,Arial,sans-serif;min-height:100vh}.wf-tv *{box-sizing:border-box}.tv-header{padding:22px 30px 16px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#5a405d,#827095);color:white}.tv-header small{letter-spacing:2px;font-size:12px}.tv-header h1{margin:8px 0 0;font-size:clamp(22px,2.3vw,38px)}.tv-clock{text-align:right}.tv-clock b{display:block;font-size:clamp(26px,3.2vw,48px);font-variant-numeric:tabular-nums}.tv-clock span{font-size:13px}.tv-toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:10px 28px;font-size:12px}.tv-toolbar>div{display:flex;gap:7px;flex-wrap:wrap}.tv-toolbar button,.tv-toolbar a{font:inherit;background:white;border:1px solid #d6ccdd;border-radius:8px;padding:8px 12px;cursor:pointer;color:#5a405d;text-decoration:none}.tv-offline{color:#ae322f;font-weight:bold}.tv-online{color:#347056}.tv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:5px 28px 16px}.tv-stat{display:flex;justify-content:space-between;align-items:center;background:white;padding:14px 20px;border-radius:12px;border-top:4px solid #a693b9}.tv-stat b{font-size:30px}.tv-stat.progress{border-color:#7d9fb2}.tv-stat.hold{border-color:#d4ac66}.tv-stat.ready{border-color:#65a188}.tv-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0 28px 18px}.tv-lane{background:#e8e2ed;border-radius:15px;padding:12px;min-width:0}.tv-lane.progress{background:#e1ebf0}.tv-lane.hold{background:#f1eadc}.tv-lane.ready{background:#dfede5}.tv-lane h2{font-size:clamp(14px,1.25vw,21px);display:flex;justify-content:space-between;margin:4px 0 15px;gap:5px}.tv-lane h2 span{font-size:13px;background:#ffffffa8;padding:3px 7px;border-radius:6px}.tv-card{background:white;border-radius:11px;padding:12px 14px;margin-bottom:10px;overflow:hidden;box-shadow:0 4px 9px #35243906}.tv-plate{font-size:clamp(18px,1.9vw,30px);font-weight:800;letter-spacing:.5px;overflow-wrap:anywhere}.tv-model{font-size:12px;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-mechanic{margin:8px 0 5px;font-size:14px}.tv-card-foot{display:flex;align-items:center;justify-content:space-between;gap:5px}.tv-card-foot strong{font-size:clamp(17px,1.6vw,25px)}.tv-card-foot span,.tv-card>small{font-size:11px;opacity:.75}.tv-reason{font-size:11px;margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-empty{font-size:13px;text-align:center;opacity:.65;padding:20px 0}.tv-footer{display:flex;justify-content:space-between;gap:20px;padding:0 28px 18px;font-size:11px;color:#746a7c}.tv-table-wrap{margin:0 28px 20px;overflow-x:auto}.tv-table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}.tv-table th{text-align:left;background:#5a405d;color:white;font-size:13px;padding:12px}.tv-table td{padding:11px 12px;border-bottom:1px solid #eee6f0;font-size:15px}.tv-table td strong{font-size:22px}.tv-table td small{display:block;font-size:11px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ready-row{background:#e6f3eb}.tv-blink{animation:tvReady 1.8s ease-in-out infinite}@keyframes tvReady{50%{box-shadow:inset 0 0 0 3px #5b9f7a;background:#d4eedf}}@media(prefers-reduced-motion:reduce){.tv-blink{animation:none;outline:3px solid #5b9f7a}}@media(max-width:700px){.tv-header{padding:16px}.tv-toolbar{padding:10px 16px;flex-wrap:wrap}.tv-board{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px}.tv-stats{padding:5px 16px 15px;gap:8px}.tv-stat{padding:8px;font-size:11px}.tv-stat b{font-size:22px}.tv-footer{padding:0 16px 16px}.tv-table-wrap{margin:0 16px 20px}.tv-table{min-width:750px}.wf-toolbar{align-items:stretch}.wf-form .fields{grid-template-columns:1fr}}@media(min-width:1300px){.tv-card{padding:14px 18px}.tv-board{gap:22px}.tv-lane{padding:15px}.tv-card .tv-model{font-size:14px}}

.wf-jobcards{display:none}.wf-mobile-job{border:1px solid var(--line,#dfd5e3);border-radius:14px;padding:16px;margin:12px 0}.wf-mobile-job-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.wf-mobile-job h3{font-size:21px;margin:0}.wf-mobile-job>small{display:block;margin-top:6px;color:var(--muted,#75667d)}.wf-mobile-job p{font-size:14px}.wf-mobile-job .wf-mobile-job-head strong,.wf-mobile-job .wf-mobile-job-head span{font-size:12px}@media(max-width:700px){.wf-table-desktop{display:none}.wf-jobcards{display:block}.wf-mobile-job .wf-actions button:first-child{flex:1}.wf-status{max-width:100%;overflow-wrap:anywhere}}
