.inline-form{display:flex;align-items:center;gap:8px}
.qty-input{width:110px}
.need-list{margin:0;padding-left:18px;font-size:14px;line-height:1.9}
.needs-grid{grid-template-columns:1fr 1fr}
.needs-grid h3{font-size:14px;font-weight:650;margin-bottom:10px}
.form-footer form{margin:0}
@media(max-width:767px){.needs-grid{grid-template-columns:1fr}}
.table-scroll{position:relative}
.panel-heading+.table-scroll,.panel-heading+.needs-grid,.panel-heading+.muted{margin-top:16px}
.pick-select{width:auto;min-width:165px}
.stage-badge{display:inline-block;padding:4px 11px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.stage-1{background:#eeeef2;color:#4d4f5a}
.stage-2{background:#eee8fa;color:#513592}
.stage-3{background:#e4eefb;color:#1f5596}
.stage-4{background:#fdeee4;color:#8a4316}
.stage-5{background:#eef5e6;color:#3c6127}
.stage-dialog{width:min(440px,calc(100vw - 32px))}
.stage-dialog h2{margin:0 0 10px;font-size:18px}
.stage-dialog-change{margin:0;font-size:15px}
.stage-progress-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.stage-stepper{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:20px}
.stage-track{position:absolute;top:12px;left:10%;right:10%;height:6px;border-radius:999px;background:color-mix(in srgb,var(--card-ink) 10%,var(--card))}
.stage-track span{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#7a5cd0 0 25%,#3f7fd6 25% 50%,#e08a4a 50% 75%,#5a9e3c 75% 100%);clip-path:inset(0 var(--stage-rest) 0 0);animation:stage-fill .8s cubic-bezier(.22,1,.36,1)}
.step-1 .stage-track span{--stage-rest:100%}
.step-2 .stage-track span{--stage-rest:75%}
.step-3 .stage-track span{--stage-rest:50%}
.step-4 .stage-track span{--stage-rest:25%}
.step-5 .stage-track span{--stage-rest:0%}
@keyframes stage-fill{from{clip-path:inset(0 100% 0 0)}}
.stage-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 4px;color:color-mix(in srgb,var(--card-ink) 58%,var(--card))}
.s-1{--stage:#8a8d9a}.s-2{--stage:#7a5cd0}.s-3{--stage:#3f7fd6}.s-4{--stage:#e08a4a}.s-5{--stage:#5a9e3c}
.stage-dot{display:grid;place-items:center;width:30px;height:30px;padding:0;border:2px solid color-mix(in srgb,var(--card-ink) 14%,var(--card));border-radius:50%;background:var(--card);color:inherit;font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.stage-dot:disabled{cursor:default}
.stage-name{font-size:13px;font-weight:600;line-height:1.25;text-align:center}
.stage-dot:not(:disabled):hover{transform:scale(1.12);border-color:var(--stage);color:var(--stage)}
.stage-dot:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--stage) 35%,transparent)}
.stage-step.is-done .stage-dot,.stage-step.is-current .stage-dot,.stage-step.is-done .stage-dot:hover,.stage-step.is-current .stage-dot:hover{border-color:var(--stage);background:var(--stage);color:#fff}
.stage-step.is-done .stage-name{color:var(--card-ink)}
.stage-step.is-current .stage-name{color:var(--stage);font-weight:750}
.stage-step.is-current .stage-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--stage) 22%,transparent);animation:stage-pulse 2.4s ease-in-out infinite}
@keyframes stage-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--stage) 12%,transparent)}}
@media(max-width:575px){.stage-dot{width:26px;height:26px;font-size:11px}.stage-track{top:10px}.stage-name{font-size:11px}}
@media(prefers-reduced-motion:reduce){.stage-track span{animation:none}.stage-step.is-current .stage-dot{animation:none}}
.detail-nav{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.detail-nav .eyebrow{margin:0}
.detail-back{display:inline-flex;align-items:center;gap:4px;height:30px;min-height:0;padding:0 12px 0 9px;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink);border-color:color-mix(in srgb,var(--ink) 22%,var(--surface))}
.detail-back:hover{background:color-mix(in srgb,var(--ink) 6%,var(--surface));color:var(--ink);border-color:color-mix(in srgb,var(--ink) 30%,var(--surface))}
.detail-card{display:flex;align-items:center;justify-content:space-between;gap:24px}
.detail-card .history-stats{flex:1;min-width:0}
.qr-card{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;font-size:12px}
.qr-card img{display:block;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px}
.history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin:0}
.history-stats dt{font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--card-ink) 62%,var(--card))}
.history-stats dd{margin:4px 0 0;font-size:19px;font-weight:650;overflow-wrap:anywhere}
@media(max-width:575px){.history-stats{grid-template-columns:1fr 1fr}.detail-card{flex-direction:column;align-items:stretch}}
.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px;margin-bottom:18px;padding:16px 18px;background:var(--card);color:var(--card-ink);border:1px solid color-mix(in srgb,var(--card-ink) 9%,var(--card));border-radius:20px;box-shadow:0 5px 18px #17181c06}
.filter-field{display:flex;flex-direction:column;gap:6px;flex:0 1 170px;min-width:140px}
.filter-search{flex:1 1 260px}
.filter-label{font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--card-ink) 62%,var(--card))}
.filter-bar .form-control,.filter-bar .form-select{height:42px;padding-top:8px;padding-bottom:8px;font-size:14px;border-radius:12px;background-color:color-mix(in srgb,var(--card-ink) 3%,var(--card));border-color:transparent;transition:border-color .15s,background-color .15s,box-shadow .15s}
.filter-bar .form-control:hover,.filter-bar .form-select:hover{border-color:color-mix(in srgb,var(--card-ink) 16%,var(--card))}
.filter-bar .form-control:focus,.filter-bar .form-select:focus{background-color:var(--card);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.filter-bar .form-select:not(:has(option[value=""]:checked)){border-color:color-mix(in srgb,var(--accent) 55%,var(--card));background-color:color-mix(in srgb,var(--accent) 8%,var(--card))}
.filter-search-box{position:relative}
.filter-search-box .form-control{padding-left:40px}
.filter-search-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);font-size:19px;line-height:1;pointer-events:none;color:color-mix(in srgb,var(--card-ink) 55%,var(--card))}
.filter-actions{display:flex;align-items:center;gap:12px;min-height:42px}
.filter-actions{margin-left:auto}
.filter-export{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:12px;font-size:14px;font-weight:600;white-space:nowrap;color:var(--card-ink);border-color:color-mix(in srgb,var(--card-ink) 22%,var(--card))}
.filter-export:hover{background:color-mix(in srgb,var(--card-ink) 6%,var(--card));color:var(--card-ink);border-color:color-mix(in srgb,var(--card-ink) 30%,var(--card))}
.sort-link{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none;white-space:nowrap}
.sort-link:hover,.sort-link:focus-visible{color:var(--accent)}
.sort-icon{font-size:10px;opacity:.4}
.sort-icon.is-active{opacity:1;color:var(--accent)}
.filter-bar.is-live .filter-apply{display:none}
.filter-clear{padding:8px 4px;font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--accent)}
.filter-clear:hover{text-decoration:underline}
[data-list-results]{transition:opacity .15s}
[data-list-results].is-loading{opacity:.55}
@media(max-width:767px){.filter-bar{padding:14px;gap:10px}.filter-field{flex:1 1 calc(50% - 5px);min-width:0}.filter-search{flex-basis:100%}.filter-actions{flex-basis:100%;min-height:0}}
@media(prefers-reduced-motion:reduce){.filter-bar .form-control,.filter-bar .form-select,[data-list-results]{transition:none}}
.entry-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px #17181c33}
.entry-dialog::backdrop{background:#17181c66}
.entry-dialog .panel-heading{margin-bottom:18px}
.entry-dialog .validation-errors ul{margin-bottom:14px}
.entry-dialog .form-footer{margin:18px 0 0}
.entry-dialog .btn{min-width:112px}
.entry-dialog .btn-outline-secondary{color:var(--card-ink);border-color:color-mix(in srgb,var(--card-ink) 22%,var(--card))}
.entry-dialog .btn-outline-secondary:hover{background:color-mix(in srgb,var(--card-ink) 6%,var(--card));color:var(--card-ink);border-color:color-mix(in srgb,var(--card-ink) 30%,var(--card))}
.entry-dialog .form-control:focus,.entry-dialog .form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.entry-dialog .form-control,.entry-dialog .form-select{height:46px;padding-top:8px;padding-bottom:8px}
.entry-grid{gap:16px 18px}
.entry-wide{grid-column:1/-1}
.entry-wide[hidden]{display:none}
.group-code{text-transform:uppercase}
.group-root td{font-weight:600;background:color-mix(in srgb,var(--card-ink) 3%,var(--card))}
.entry-info{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--accent) 7%,var(--card))}
.entry-info[hidden]{display:none}
.entry-info dt{font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--card-ink) 62%,var(--card))}
.entry-info dd{margin:2px 0 0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.entry-hint{display:block;margin-top:6px;font-size:12px;color:color-mix(in srgb,var(--card-ink) 62%,var(--card))}
.entry-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:13px 16px;border-radius:14px;background:color-mix(in srgb,var(--card-ink) 4%,var(--card))}
.entry-summary-label{display:block;font-size:13px;font-weight:600}
.entry-summary-detail{display:block;font-size:12px;color:color-mix(in srgb,var(--card-ink) 62%,var(--card))}
.entry-summary-side{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.entry-summary strong{font-size:20px;white-space:nowrap}
.entry-change{padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#eef5e6;color:#3c6127}
.entry-change[hidden]{display:none}
.entry-change.is-up{background:#fdeee4;color:#8a4316}
@media(max-width:575px){.entry-info{grid-template-columns:1fr 1fr}.entry-summary{align-items:flex-start;flex-direction:column}.entry-summary-side{justify-content:flex-start}}
