:root{color-scheme:light;--color-bg: #f5f6f8;--color-surface: #ffffff;--color-border: #d8dce3;--color-text: #1a1f2b;--color-text-muted: #5a6270;--color-primary: #0b5fff;--color-primary-dark: #0847c4;--color-success: #0f7a3d;--color-success-bg: #e5f6ec;--color-warning: #8a5a00;--color-warning-bg: #fff3d6;--color-danger: #b3261e;--color-danger-bg: #fbe9e7;--focus-ring: 3px solid #ffb800;--radius: 10px;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.5}a{color:var(--color-primary)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:auto;background:var(--color-surface);color:var(--color-text);padding:.75rem 1rem;border-radius:0 0 var(--radius) 0;z-index:100}.skip-link:focus{left:0;top:0}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.9rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header .brand{font-weight:700;font-size:1.1rem}.app-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1.25rem 1rem 3rem}.app-main:focus{outline:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.stack{display:flex;flex-direction:column;gap:.9rem}.field label{display:block;font-weight:600;margin-bottom:.35rem}.field input,.field select,.field textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-surface);color:var(--color-text)}.field .hint{font-size:.85rem;color:var(--color-text-muted);margin-top:.3rem}.validation-message{font-size:.9rem;color:var(--color-warning);background:var(--color-warning-bg);border-radius:8px;padding:.6rem .8rem;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.1rem;border-radius:8px;border:1px solid transparent;font-size:1rem;font-weight:600;cursor:pointer;min-height:44px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-neutral{background:#eceff3;color:var(--color-text-muted)}.stepper{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:0;list-style:none}.stepper li{font-size:.8rem;padding:.3rem .65rem;border-radius:999px;background:#eceff3;color:var(--color-text-muted)}.stepper li[aria-current=step]{background:var(--color-primary);color:#fff;font-weight:700}.stepper li[data-done=true]{background:var(--color-success-bg);color:var(--color-success);padding:0}.stepper li[data-done=true] a{display:inline-block;color:inherit;text-decoration:none;padding:.5rem .65rem}.stepper li[data-done=true] a:hover{text-decoration:underline}.list-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.list-item:last-child{border-bottom:none}.vehicle-thumb{flex-shrink:0;width:48px;height:48px;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.list-item-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.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}.table-scroll{overflow-x:auto}.queue-table{width:100%;border-collapse:collapse;font-size:.95rem}.queue-table th,.queue-table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.queue-table tbody tr:last-child td{border-bottom:none}.sort-btn{display:inline-flex;align-items:center;gap:.2rem;background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--color-text);cursor:pointer;min-height:32px}.sort-btn:hover{color:var(--color-primary)}.sort-indicator-idle{color:var(--color-text-muted);font-weight:400}.labor-bar{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem}.labor-bar-row{display:flex;align-items:center;gap:.5rem}.labor-bar-label{flex-shrink:0;width:4.5rem;font-size:.8rem;color:var(--color-text-muted)}.labor-bar-track{flex:1;height:8px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border);overflow:hidden}.labor-bar-fill{height:100%;border-radius:999px}.labor-bar-fill-entered{background:var(--color-primary)}.labor-bar-fill-benchmark{background:var(--color-text-muted)}.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--color-border)}.timeline li{padding:0 0 1rem 1rem;position:relative}.timeline li:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.help-text{color:var(--color-text-muted);font-size:.9rem}.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);background:var(--color-text);color:#fff;padding:.7rem 1.2rem;border-radius:999px;font-size:.9rem;font-weight:600;box-shadow:0 4px 16px #0003;z-index:50;max-width:calc(100% - 2rem);text-align:center}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:var(--color-border)}}@media(max-width:480px){.app-main{padding:1rem .75rem 2.5rem}}@media print{.app-header,.stepper,.skip-link,.no-print{display:none!important}body,.app-main{background:#fff;color:#000;max-width:none;padding:0;margin:0}.print-area{border:none;box-shadow:none;padding:0}.badge{border:1px solid #000;color:#000!important;background:none!important}}
