/* PHASE 150 — VFX Shot Tracker styles */
#vfx-app { background:#f8f7f4; }
.v150-wrap { padding:18px 20px 60px; max-width:1400px; margin:0 auto; }
.v150-head { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
.v150-title { font-weight:900; font-size:1.25rem; color:#111827; }
.v150-sub { font-weight:600; font-size:.72rem; color:#9ca3af; margin-left:8px; letter-spacing:.04em; }
.v150-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.v150-search { border:1px solid #d1d5db; border-radius:8px; padding:7px 10px; font-size:.82rem; min-width:210px; background:#fff; }
.v150-seg { display:flex; border:1px solid #d1d5db; border-radius:8px; overflow:hidden; background:#fff; }
.v150-segbtn { border:none; background:none; padding:7px 12px; font-size:.78rem; font-weight:700; color:#6b7280; cursor:pointer; }
.v150-segbtn.on { background:#111827; color:#fff; }
.v150-btn { border:1px solid #d1d5db; background:#fff; border-radius:8px; padding:7px 12px; font-size:.8rem; font-weight:700; color:#374151; cursor:pointer; }
.v150-btn:hover { border-color:#9ca3af; }
.v150-primary { background:#b5871f; border-color:#b5871f; color:#fff; }
.v150-primary:hover { background:#a1761a; border-color:#a1761a; }

.v150-stats { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; margin-bottom:14px; }
.v150-kpis { display:flex; gap:26px; flex-wrap:wrap; margin-bottom:8px; }
.v150-kpi-n { font-weight:900; font-size:1.3rem; color:#111827; }
.v150-kpi-l { font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#9ca3af; }
.v150-progress { height:6px; background:#f3f4f6; border-radius:4px; overflow:hidden; margin-bottom:10px; }
.v150-progress-bar { height:100%; background:linear-gradient(90deg,#b5871f,#10b981); border-radius:4px; transition:width .3s; }
.v150-chips { display:flex; gap:6px; flex-wrap:wrap; }
.v150-chip { --c:#6b7280; border:1px solid #e5e7eb; background:#fff; border-radius:999px; padding:4px 11px; font-size:.72rem; font-weight:700; color:#4b5563; cursor:pointer; }
.v150-chip b { color:var(--c); }
.v150-chip.on { background:#111827; color:#fff; border-color:#111827; }
.v150-chip.on b { color:#fbbf24; }

.v150-tablewrap { background:#fff; border:1px solid #e5e7eb; border-radius:12px; overflow-x:auto; }
.v150-table { width:100%; border-collapse:collapse; font-size:.8rem; min-width:1080px; }
.v150-table th { text-align:left; font-size:.64rem; letter-spacing:.07em; text-transform:uppercase; color:#9ca3af; padding:10px 8px; border-bottom:1px solid #e5e7eb; background:#fafaf8; position:sticky; top:0; }
.v150-table td { padding:4px 6px; border-bottom:1px solid #f3f4f6; vertical-align:middle; }
.v150-table tr:hover td { background:#fcfbf7; }
.v150-in { width:100%; border:1px solid transparent; background:transparent; border-radius:6px; padding:6px 7px; font-size:.8rem; color:#111827; }
.v150-in:hover { border-color:#e5e7eb; background:#fff; }
.v150-in:focus { border-color:#b5871f; background:#fff; outline:none; }
.v150-code { font-weight:800; min-width:88px; color:#92400e; }
.v150-desc { min-width:220px; }
.v150-num { max-width:88px; text-align:right; }
.v150-ver { max-width:64px; }
.v150-date { max-width:130px; }
.v150-status { font-weight:700; color:var(--c); min-width:118px; }
.v150-rowbtns { white-space:nowrap; }
.v150-ic { border:1px solid #e5e7eb; background:#fff; border-radius:6px; width:26px; height:26px; font-size:.8rem; cursor:pointer; color:#374151; }
.v150-ic:hover { border-color:#b5871f; color:#b5871f; }
.v150-del:hover { border-color:#dc2626; color:#dc2626; }

.v150-board { display:flex; gap:10px; overflow-x:auto; padding-bottom:14px; align-items:flex-start; }
.v150-col { min-width:215px; max-width:215px; background:#f1f0ec; border-radius:12px; padding:8px; }
.v150-col-head { font-size:.72rem; font-weight:800; letter-spacing:.04em; color:var(--c); padding:4px 6px 8px; }
.v150-col-body { display:flex; flex-direction:column; gap:8px; min-height:36px; }
.v150-col-empty { text-align:center; color:#c4c0b8; font-size:.8rem; padding:8px 0; }
.v150-card { background:#fff; border:1px solid #e5e7eb; border-left:3px solid var(--c); border-radius:10px; padding:9px 10px; }
.v150-card-top { display:flex; justify-content:space-between; margin-bottom:4px; }
.v150-card-code { font-weight:800; font-size:.72rem; color:#92400e; }
.v150-card-bid { font-size:.7rem; font-weight:700; color:#6b7280; }
.v150-card-desc { font-size:.78rem; color:#111827; line-height:1.4; margin-bottom:4px; }
.v150-card-scene { font-size:.66rem; color:#9ca3af; text-transform:uppercase; letter-spacing:.03em; margin-bottom:3px; }
.v150-card-vendor { font-size:.7rem; color:#4b5563; margin-bottom:4px; }
.v150-card-btns { display:flex; gap:6px; justify-content:flex-end; }

.v150-empty { background:#fff; border:1px dashed #d1d5db; border-radius:14px; padding:44px 20px; text-align:center; color:#6b7280; font-size:.86rem; }

@media (max-width:720px){
  .v150-wrap { padding:12px 10px 80px; }
  .v150-head { flex-direction:column; align-items:stretch; }
  .v150-tools { justify-content:stretch; }
  .v150-search { flex:1; min-width:0; }
}
