/* ============================================================================
   scene-prep.css · Store Manager "Prep sheet" (demand → prep/par).
   Driver chips + a prep table (order column highlighted, confidence pills,
   risk rows) + an AI read / watch-out callout. Reuses exec-* + shared tokens.
   ========================================================================== */
.prep { flex: 1; min-width: 0; min-height: 0; overflow-y: auto; background: var(--softer); padding: 20px 24px 40px; }
#prepRoot { max-width: 1080px; margin: 0 auto; }

.prep__head { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.prep__title h2 { font-family: var(--font-display); font-weight: 800; font-size: clamp(20px, 1.2rem + .8vw, 28px); letter-spacing: -.02em; }
.prep__title p { font-size: 12.5px; color: var(--text-soft); margin-top: 2px; max-width: 640px; line-height: 1.45; }
.prep__ctrls { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

.prep__load { display: flex; align-items: center; gap: 10px; padding: 13px 16px; margin-bottom: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md); box-shadow: var(--shadow-sm); font-size: 13px; color: var(--text-2); }
.prep__spin .mi { width: 16px; height: 16px; color: var(--mint-700); animation: nlq-spin 1s linear infinite; }

.prep__drivers { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.prep__drivers-lab { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-mono); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-soft); }
.prep__drivers-lab .mi { width: 14px; height: 14px; }
.prep-driver { display: inline-flex; align-items: baseline; gap: 6px; padding: 5px 11px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); font-size: 12px; }
.prep-driver b { font-weight: 700; color: var(--text-1); }
.prep-driver i { font-style: normal; color: var(--mint-ink); font-family: var(--font-mono); font-size: 11px; font-weight: 600; }

.prep-table__wrap { overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); }
.prep-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; }
.prep-table thead th { text-align: left; font-family: var(--font-mono); font-size: 9.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-soft); padding: 11px 14px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.prep-table td { padding: 11px 14px; border-bottom: 1px solid var(--line-soft); color: var(--text-2); vertical-align: middle; }
.prep-table tbody tr:last-child td { border-bottom: 0; }
.prep-table tbody tr:hover { background: var(--softer); }
.prep-td__item { font-weight: 600; color: var(--text-1); }
.prep-td__item i { font-style: normal; color: var(--text-soft); font-family: var(--font-mono); font-size: 11px; }
.prep-td__note { color: var(--text-soft); font-size: 12px; max-width: 240px; }
.prep-num { text-align: right; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.prep-dim { color: var(--text-soft); }
.prep-order { color: var(--mint-ink); font-weight: 700; }
.prep-table th.prep-order { color: var(--mint-ink); }
.prep-table tbody tr.is-risk { background: var(--danger-soft); }
.prep-table tbody tr.is-risk:hover { background: var(--danger-soft); }
.prep-table tbody tr.is-risk .prep-td__item { color: #b42318; }

.prep-conf { display: inline-block; font-family: var(--font-mono); font-size: 9.5px; font-weight: 700; letter-spacing: .03em; padding: 3px 9px; border-radius: 999px; }
.prep-conf--high { background: var(--mint-tint); color: var(--mint-ink); }
.prep-conf--med { background: var(--warn-soft); color: #92590b; }
.prep-conf--low { background: var(--danger-soft); color: #b42318; }

.prep__sum { display: flex; flex-direction: column; gap: 9px; margin-top: 14px; }
.prep-sum__read, .prep-sum__risk { display: flex; gap: 9px; align-items: flex-start; padding: 11px 14px; border-radius: var(--r-md); font-size: 13px; line-height: 1.55; }
.prep-sum__read { background: var(--mint-tint-2); border-left: 3px solid var(--mint); color: var(--text-1); }
.prep-sum__read .mi { width: 16px; height: 16px; flex: none; margin-top: 1px; color: var(--mint-700); }
.prep-sum__risk { background: var(--danger-soft); border-left: 3px solid var(--danger); color: var(--text-1); }
.prep-sum__risk .mi { width: 16px; height: 16px; flex: none; margin-top: 1px; color: #b42318; }
.prep-sum__risk b { color: #b42318; }
.prep__empty { color: var(--text-soft); font-size: 13.5px; line-height: 1.7; text-align: center; padding: 44px 20px; }

@media (max-width: 720px) { .prep { padding: 14px; } .prep__ctrls { width: 100%; } }
