/* Minimal, high-contrast, mobile-friendly */
:root { --fg:#111; --bg:#fff; --muted:#666; --border:#ddd; --ok:#0a7; --bad:#c33; }

* { box-sizing:border-box; }
html, body { margin:0; padding:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:var(--fg); background:var(--bg); }

.container { max-width: 980px; margin: 0 auto; padding: 14px; }
.header { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--border); padding: 10px 0; margin-bottom: 12px; }
.h1 { font-size: 22px; font-weight: 800; margin:0; }
.small { color:var(--muted); font-size: 14px; }

.btn {
  appearance:none; border:1px solid var(--border); background:#f7f7f7;
  padding: 14px 16px; border-radius: 12px; font-size: 18px; font-weight:700;
  cursor:pointer; width:100%;
}
.btn:active { transform: translateY(1px); }
.btn.primary { background:#111; color:#fff; border-color:#111; }
.btn.danger { background:#ffecec; border-color:#f1b0b0; }
.btn.row { width:auto; padding: 10px 12px; font-size: 16px; }

.grid { display:grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 680px) { .grid.cols2 { grid-template-columns: 1fr 1fr; } }

.card { border:1px solid var(--border); border-radius: 14px; padding: 14px; background:#fff; }
.kpi { display:flex; gap: 10px; align-items:baseline; }
.kpi .num { font-size: 34px; font-weight:900; }
.kpi .label { color:var(--muted); }

.table { width:100%; border-collapse: collapse; }
.table th, .table td { border-bottom:1px solid var(--border); padding: 10px 8px; text-align:right; vertical-align: top; }
.table th { font-size: 14px; color: var(--muted); font-weight: 800; }
.badge { display:inline-block; padding: 4px 8px; border-radius: 999px; border:1px solid var(--border); font-size: 12px; }
.badge.ok { border-color: #bfe8d7; background:#e9fff6; }
.badge.bad { border-color:#f1b0b0; background:#ffecec; }

.item { display:flex; gap: 10px; align-items:flex-start; justify-content:space-between; padding: 12px; border:1px solid var(--border); border-radius: 14px; }
.item.packed { background:#e9fff6; border-color:#bfe8d7; }
.item .title { font-size: 18px; font-weight:900; margin:0 0 4px; }
.item .meta { font-size: 14px; color: var(--muted); }
.item .right { min-width: 140px; }

input, select, textarea {
  width:100%; padding: 12px; border:1px solid var(--border); border-radius: 12px;
  font-size: 18px;
}

label { display:block; font-weight:800; margin: 10px 0 6px; }
hr { border:0; border-top:1px solid var(--border); margin: 14px 0; }

@media print {
  .no-print { display:none !important; }
  .container { max-width:none; }
  body { background:#fff; }
  .card { border:none; }
}
