/* PrintCare 配色：沿用共用版面，只換主色與側欄 */
:root {
  --primary: #3b4a8c;
  --primary-dark: #2b3570;
  --primary-light: #eceffa;
  --accent: #e0287d;
}
.sidebar { background: #2b2f4a; color: #d7d9ea; }
.sidebar .brand small { color: #a3a8cf; }
.nav a { color: #d7d9ea; }
.nav .nav-group { color: #8f94c0; }
.sidebar .user-box button { color: #d7d9ea; }
.pbar-fill { background: var(--primary); }

/* 估價明細：算式一步一步列出來 */
.calc-box { background: #f7f8fc; border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; font-size: 13.5px; }
.calc-box table { width: 100%; border-collapse: collapse; }
.calc-box td { padding: 3px 6px; border-bottom: 1px dashed var(--border); vertical-align: top; }
.calc-box td.num { text-align: right; white-space: nowrap; }
.calc-box .calc-total td { font-weight: 700; border-bottom: none; font-size: 15px; }
.calc-err { color: var(--danger); background: var(--danger-bg); border-radius: 8px; padding: 10px 12px; font-size: 13.5px; }
.calc-warn { color: var(--warn); font-size: 13px; margin-top: 6px; }
.calc-warn li { margin-left: 18px; }

/* 拼版示意：上機紙與成品排列，只是示意，比例照實際尺寸 */
.impo { display: flex; gap: 14px; align-items: flex-start; flex-wrap: wrap; margin: 8px 0; }
.impo svg { width: 200px; max-width: 100%; height: auto; background: #fff; border: 1px solid var(--border); border-radius: 6px; }
.impo .grip { fill: #fde7f1; }
.impo .pc { fill: #e3e8f8; stroke: #3b4a8c; stroke-width: 1.5; }

.fin-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 4px 12px; }
.size-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.size-chips button { border: 1px solid var(--border); background: #fff; border-radius: 14px; padding: 2px 10px; font-size: 12.5px; cursor: pointer; }
.size-chips button:hover { background: var(--primary-light); }

/* 機台排程：列是機台／外包廠，欄是日期 */
.sched-wrap { overflow-x: auto; }
.sched { border-collapse: collapse; min-width: 900px; width: 100%; font-size: 12.5px; }
.sched th, .sched td { border: 1px solid var(--border); padding: 4px; vertical-align: top; }
.sched th { background: #f4f5fa; font-weight: 600; position: sticky; top: 0; }
.sched td.rowh { font-weight: 600; white-space: nowrap; background: #fafbfd; min-width: 120px; }
.sched td.today, .sched th.today { background: #fffbea; }
.sched .load { font-size: 11px; color: var(--muted); }
.sched .load.over { color: var(--danger); font-weight: 700; }
.chip { display: block; border-left: 3px solid var(--primary); background: #fff; border-radius: 5px; padding: 3px 6px; margin: 3px 0;
  box-shadow: 0 1px 2px rgba(0,0,0,.06); cursor: pointer; line-height: 1.35; }
.chip.doing { border-left-color: var(--warn); background: #fff9ef; }
.chip.done { border-left-color: var(--ok); opacity: .6; }
.chip.late { border-left-color: var(--danger); background: #fff5f5; }
.chip.blocked { outline: 1px dashed var(--danger); }
.chip .muted { font-size: 11px; }

.step-row.done td { color: var(--muted); }
.kv.tight { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
tr.clickable { cursor: pointer; }
tr.clickable:hover td { background: var(--primary-light); }
