.jd-step{color:var(--demo-text);--jd-emergency:var(--demo-error);--jd-emergency-tint:var(--demo-error-soft)}.jd-heading{margin:0 0 var(--spacing-xs);font-size:1.15rem}.jd-sub{color:var(--demo-muted);margin:0 0 var(--spacing-md);max-width:60ch}.jd-note{color:var(--demo-muted);margin:var(--spacing-md) 0 0;font-size:.85rem}.jd-reveal{opacity:0;margin-top:var(--spacing-md);transition:opacity .4s,transform .4s;transform:translateY(6px)}.jd-reveal.is-shown{opacity:1;transform:none}.jd-techs{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.jd-tech-chip{padding:var(--spacing-sm);background:var(--demo-surface-2);border:1px solid var(--demo-border);border-radius:.5rem;flex-direction:column;gap:.15rem;display:flex}.jd-tech-name{color:var(--demo-text);font-weight:700}.jd-tech-specialty{color:var(--demo-text);font-size:.8rem}.jd-tech-zone{color:var(--demo-muted);font-size:.75rem}.jd-jobs{gap:var(--spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jd-job-card{padding:var(--spacing-sm) var(--spacing-md);background:var(--demo-surface-2);border:1px solid var(--demo-border);border-radius:.5rem;flex-direction:column;gap:.3rem;display:flex}.jd-job-card.is-emergency{border-color:var(--jd-emergency);background:var(--jd-emergency-tint)}.jd-job-top{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.jd-job-customer{color:var(--demo-text);font-weight:700}.jd-job-tag{white-space:nowrap;color:var(--demo-muted);background:color-mix(in srgb, var(--demo-muted) 12%, transparent);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.jd-job-tag.is-emergency{color:var(--jd-emergency);background:var(--jd-emergency-tint)}.jd-job-type{color:var(--demo-text);font-size:.9rem}.jd-job-meta{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);display:flex}.jd-job-location{color:var(--demo-muted);font-size:.8rem}.jd-job-window{color:var(--demo-muted);white-space:nowrap;font-size:.75rem}.jd-assignments{gap:var(--spacing-xs);flex-direction:column;display:flex}.jd-assign-row{padding:var(--spacing-sm) var(--spacing-md);background:var(--demo-surface-2);border:1px solid var(--demo-border);border-radius:.5rem}.jd-assign-row.is-emergency{border-color:var(--jd-emergency);background:var(--jd-emergency-tint)}.jd-assign-match{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.jd-assign-job{color:var(--demo-text);align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.jd-assign-row.is-emergency .jd-assign-job{color:var(--jd-emergency)}.jd-assign-customer{color:var(--demo-muted);font-size:.8rem;font-weight:400}.jd-assign-arrow{color:var(--demo-accent-bright);flex:none}.jd-assign-tech{color:var(--demo-accent-bright);font-weight:700}.jd-assign-reason{color:var(--demo-muted);margin:.35rem 0 0;font-size:.85rem;line-height:1.4}.jd-routes{gap:var(--spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jd-route-card{padding:var(--spacing-md);background:var(--demo-surface-2);border:1px solid var(--demo-border);border-radius:.6rem}.jd-route-card.is-emergency{border-color:var(--jd-emergency)}.jd-route-head{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.jd-route-tech{color:var(--demo-text);font-weight:700}.jd-route-flag{color:var(--jd-emergency);background:var(--jd-emergency-tint);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.jd-route-stops{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.jd-route-stop{color:var(--demo-text);padding-left:var(--spacing-sm);border-left:2px solid var(--demo-border);font-size:.85rem}.jd-route-note{margin:var(--spacing-sm) 0 0;padding-top:var(--spacing-sm);border-top:1px solid var(--demo-border);color:var(--demo-muted);font-size:.8rem}.jd-dispatch{padding:var(--spacing-md);background:var(--demo-surface-2);border:1px solid var(--demo-border);border-radius:.6rem}.jd-dispatch-head{color:var(--demo-text);margin-bottom:var(--spacing-md);align-items:center;gap:.4rem;font-weight:700;display:flex}.jd-crew{gap:var(--spacing-xs);flex-direction:column;display:flex}.jd-crew-row{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--demo-bg);border:1px solid var(--demo-border);border-radius:.5rem;transition:border-color .3s;display:flex}.jd-crew-row.is-accepted{border-color:var(--demo-success)}.jd-crew-name{color:var(--demo-text);flex:auto;font-weight:700}.jd-crew-stops{color:var(--demo-muted);font-size:.8rem}.jd-crew-status{color:var(--demo-muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;display:inline-flex}.jd-crew-row.is-accepted .jd-crew-status{color:var(--demo-success)}.jd-dispatch-note{margin:var(--spacing-md) 0 0;color:var(--demo-muted);font-size:.85rem}.jd-notify{padding:var(--spacing-md);background:var(--demo-surface-2);border:1px solid var(--demo-border);border-radius:.6rem}.jd-notify-meta{justify-content:space-between;align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.jd-notify-to{color:var(--demo-text);font-weight:700}.jd-notify-channel{color:var(--demo-muted);font-size:.8rem}.jd-notify-message{margin:0 0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--demo-bg);border:1px solid var(--demo-border);border-left:3px solid var(--demo-accent-bright);color:var(--demo-text);border-radius:.5rem;font-size:.9rem;line-height:1.5}.jd-lifecycle{gap:var(--spacing-sm);margin:0;padding:0;list-style:none;display:flex}.jd-life{padding:var(--spacing-sm);border:1px solid var(--demo-border);color:var(--demo-muted);opacity:.5;border-radius:.5rem;flex-direction:column;flex:1 1 0;align-items:center;gap:.35rem;transition:opacity .3s,color .3s,border-color .3s;display:flex}.jd-life.is-active{opacity:1;color:var(--demo-text);border-color:var(--demo-accent-bright)}.jd-life.is-done{color:var(--demo-success);border-color:var(--demo-success)}.jd-life-icon{font-size:1.1rem}.jd-life-label{font-size:.8rem}.jd-notify-note{margin:var(--spacing-md) 0 0;color:var(--demo-success);font-size:.85rem}.jd-tally{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.jd-tally-item{padding:var(--spacing-md);background:var(--demo-surface-2);border:1px solid var(--demo-border);text-align:center;border-radius:.5rem;flex-direction:column;gap:.2rem;display:flex}.jd-tally-item-hl{border-color:var(--demo-accent-bright)}.jd-tally-num{color:var(--demo-text);font-size:1.3rem;font-weight:700}.jd-tally-item-hl .jd-tally-num{color:var(--demo-accent-bright)}.jd-tally-label{color:var(--demo-muted);font-size:.75rem}.jd-takeaway{color:var(--demo-text);max-width:65ch;margin:0;font-size:.9rem;line-height:1.5}@media (max-width:640px){.jd-techs{grid-template-columns:repeat(2,minmax(0,1fr))}.jd-jobs,.jd-routes{grid-template-columns:1fr}.jd-tally{grid-template-columns:repeat(2,minmax(0,1fr))}.jd-crew-row{flex-wrap:wrap}}
