@import url("https://fonts.googleapis.com/css2?family=Assistant:wght@400;600;700;800&display=swap");

/* Pick&Pack UI refresh - responsive, touch-friendly, app-shell ready */
:root {
  --fg:#111827;
  --bg:#f7f8fb;
  --surface:#ffffff;
  --surface-alt:#f3f5f9;
  --muted:#6b7280;
  --muted-2:#94a3b8;
  --border:#d8dee8;
  --border-strong:#c4ccd9;
  --primary:#111827;
  --primary-soft:#e8ecf4;
  --success:#0f9f6e;
  --success-soft:#e7fbf4;
  --warning:#c77700;
  --warning-soft:#fff3df;
  --danger:#cc394b;
  --danger-soft:#ffecf0;
  --info:#35508f;
  --info-soft:#eef3ff;
  --shadow:0 10px 24px rgba(15,23,42,.08);
  --shadow-soft:0 4px 12px rgba(15,23,42,.05);
  --radius:18px;
  --radius-sm:12px;
  --gap:14px;
  --safe-bottom:max(12px, env(safe-area-inset-bottom));
}

* { box-sizing:border-box; }
html, body {
  margin:0;
  padding:0;
  font-family:"Assistant", "Segoe UI", Arial, sans-serif;
  color:var(--fg);
  background:linear-gradient(180deg, #f8fafc 0%, #f5f7fb 100%);
  min-height:100%;
}
html { -webkit-text-size-adjust:100%; }
a { color:inherit; }
img { max-width:100%; display:block; }

.container { max-width:1280px; margin:0 auto; padding:18px 14px 24px; }
.app-shell { min-height:100svh; }
.small { color:var(--muted); font-size:14px; }
.hidden { display:none !important; }
.only-mobile { display:none !important; }
.only-desktop { display:block !important; }

.btn {
  appearance:none;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--fg);
  padding:12px 16px;
  border-radius:14px;
  font-size:16px;
  font-weight:800;
  font-family:inherit;
  line-height:1.25;
  cursor:pointer;
  width:100%;
  text-align:center;
  box-shadow:var(--shadow-soft);
  transition:transform .08s ease, box-shadow .12s ease, border-color .12s ease, background .12s ease;
}
.btn:hover { border-color:var(--border-strong); box-shadow:var(--shadow); }
.btn:active { transform:translateY(1px); }
.btn.primary { background:var(--primary); color:#fff; border-color:var(--primary); }
.btn.success { background:var(--success-soft); color:#07543a; border-color:#b8ead8; }
.btn.warning { background:var(--warning-soft); color:#7b4d00; border-color:#f0d09a; }
.btn.danger { background:var(--danger-soft); color:#8f2030; border-color:#f3b9c2; }
.btn.row {
  width:auto;
  min-height:42px;
  padding:10px 13px;
  font-size:14px;
  font-weight:800;
  box-shadow:none;
}

.grid { display:grid; grid-template-columns:1fr; gap:var(--gap); }
.grid.cols2 { grid-template-columns:1fr; }
.grid.cols3 { grid-template-columns:1fr; }
.grid.cols4 { grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (min-width:740px) {
  .grid.cols2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .grid.cols3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
  .grid.cols4 { grid-template-columns:repeat(4, minmax(0,1fr)); }
}

.card {
  border:1px solid rgba(210,218,230,.95);
  border-radius:var(--radius);
  padding:16px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--shadow-soft);
}
.card-head,
.section-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.section-title,
.card-title { margin:0; font-size:18px; font-weight:900; }
.card-subtitle { margin:4px 0 0; color:var(--muted); font-size:14px; }
.card-actions { display:flex; flex-wrap:wrap; gap:8px; }

.stat-card { display:flex; flex-direction:column; gap:6px; }
.stat-kicker { color:var(--muted); font-size:13px; font-weight:800; }
.stat-value { font-size:30px; font-weight:900; line-height:1; }
.stat-meta { color:var(--muted); font-size:13px; }
.kpi { display:flex; gap:10px; align-items:baseline; }
.kpi .num { font-size:34px; font-weight:900; }
.kpi .label { color:var(--muted); }

.badge,
.pp-pill,
.status-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}
.badge.ok, .status-chip-success, .pp-pill-success { border-color:#bde6d7; background:var(--success-soft); color:#0b6a49; }
.badge.bad, .status-chip-danger, .pp-pill-danger { border-color:#f1b3bf; background:var(--danger-soft); color:#922538; }
.status-chip-warning, .pp-pill-warning { border-color:#f1d097; background:var(--warning-soft); color:#915d00; }
.status-chip-info, .pp-pill-info { border-color:#cdd8f3; background:var(--info-soft); color:#35508f; }
.status-chip-neutral, .pp-pill-neutral { background:var(--surface-alt); color:#475569; }

.notice-toast {
  margin:12px 0 14px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}
.notice-success { border-color:#bde6d7; background:var(--success-soft); }
.notice-warning { border-color:#f1d097; background:var(--warning-soft); }
.notice-danger { border-color:#f1b3bf; background:var(--danger-soft); }
.notice-title { font-weight:900; }
.notice-text { font-size:14px; color:#334155; margin-top:3px; }

.progress {
  height:12px;
  background:#edf1f6;
  border:1px solid #dde3ec;
  border-radius:999px;
  overflow:hidden;
}
.progress.sm { height:8px; }
.progress-bar {
  height:100%;
  width:0;
  background:linear-gradient(90deg, #0ea76f 0%, #10b981 100%);
  border-radius:999px;
}
.progress-label { display:flex; justify-content:space-between; gap:8px; margin-top:6px; font-size:13px; color:var(--muted); }

.toolbar,
.filter-toolbar {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.toolbar-search,
.toolbar-select,
.toolbar-check {
  min-height:44px;
}
.toolbar-search { flex:1 1 240px; }
.filter-pills,
.section-tabs,
.chip-row,
.meta-row,
.pp-pills { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.section-tabs { margin:12px 0 0; }
.section-tab {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 12px;
  text-decoration:none;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface-alt);
  color:#334155;
  font-size:13px;
  font-weight:800;
}
.section-tab:hover { background:#fff; }

button, input, select, textarea {
  font-family:inherit;
}

input, select, textarea {
  width:100%;
  padding:12px 13px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  color:var(--fg);
  font-size:16px;
}
textarea { min-height:96px; resize:vertical; }
label { display:block; font-weight:800; margin:10px 0 6px; }
hr { border:0; border-top:1px solid var(--border); margin:14px 0; }

.table-wrap { overflow:auto; }
.table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.table th,
.table td {
  border-bottom:1px solid #e5eaf1;
  padding:11px 8px;
  text-align:right;
  vertical-align:top;
}
.table th {
  position:sticky;
  top:0;
  background:#f9fbfd;
  color:var(--muted);
  font-size:13px;
  font-weight:900;
  z-index:1;
}
.table tr:hover td { background:#fbfcfe; }
.draft-line-row.is-dirty td { background:#fffbeb; }
.draft-line-row.is-packed td { background:#f0fdf7; }
.data-muted { color:var(--muted); }
.data-strong { font-weight:900; }

.item,
.pack-line,
.draft-card,
.home-card {
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:15px;
  border:1px solid rgba(210,218,230,.95);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.pack-line.is-packed,
.item.packed { background:#f0fdf7; border-color:#c9efd9; }
.pack-line-head,
.pack-line-foot,
.draft-card-head,
.draft-card-foot {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.pack-line-title,
.draft-card-title,
.home-card-title { margin:0; font-size:18px; font-weight:900; }
.pack-line-meta,
.draft-card-meta,
.home-card-meta { color:var(--muted); font-size:14px; line-height:1.45; }
.pack-line-qty {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px dashed var(--border);
  border-radius:14px;
  background:var(--surface-alt);
}
.pack-line-qty .qty-num { font-size:26px; font-weight:900; }
.pack-line-actions { display:flex; gap:8px; flex-wrap:wrap; }

.pp-top {
  border-bottom:1px solid var(--border);
  padding:10px 0 14px;
  margin-bottom:12px;
}
.pp-top-grid {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  grid-template-areas:
    "vendor system tenantlogo"
    "meta meta meta";
  align-items:center;
  gap:6px 10px;
}
.pp-vendor { grid-area:vendor; display:flex; align-items:center; justify-content:flex-start; }
.pp-vendor-logo { width:28px; height:auto; opacity:.95; }
.pp-system { grid-area:system; text-align:center; }
.pp-system-title {
  display:block;
  font-size:19px;
  font-weight:900;
  line-height:1.2;
}
.pp-system-title-main,
.pp-system-title-brand {
  display:block;
  width:100%;
}
.pp-system-title-brand::before { content:'- '; }
.pp-system-subtitle { font-size:13px; color:var(--muted); margin-top:3px; }
.pp-tenant-logo-wrap { grid-area:tenantlogo; display:flex; align-items:center; justify-content:flex-end; }
.pp-tenant-logo { width:42px; height:auto; opacity:.95; }
.pp-meta-line {
  grid-area:meta;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin-top:4px;
  direction:ltr;
}
.pp-domain,
.pp-tenant {
  font-size:13px;
  color:var(--muted);
  direction:rtl;
  unicode-bidi:plaintext;
  white-space:nowrap;
}
.pp-domain { text-align:left; }
.pp-tenant { text-align:right; margin-inline-start:auto; }
.pp-tenant-label { opacity:.7; }
.pp-nav { display:flex; flex-direction:column; gap:9px; margin-bottom:12px; }
.pp-bc { font-size:14px; color:var(--muted); }
.pp-bc a { color:inherit; text-decoration:none; border-bottom:1px dotted rgba(0,0,0,.22); }
.pp-bc-sep { margin:0 6px; opacity:.55; }
.pp-bc-current { color:var(--fg); font-weight:900; }
.pp-links { display:flex; flex-wrap:wrap; gap:8px; }
.pp-page-title { font-size:22px; font-weight:900; margin:8px 0 0; }

.footer-note {
  margin-top:18px;
  padding-top:10px;
  color:#7b8797;
  font-size:13px;
  line-height:1.4;
  text-align:center;
}
.footer-note a { color:inherit; text-decoration:none; }
.powered-by { margin-top:6px; opacity:.72; font-size:12px; }

.pp-qty-controls { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pp-qty-input { width:110px; text-align:center; font-weight:900; }
.pp-mini { font-size:12px; color:var(--muted); margin-top:6px; }

.pp-savebar {
  position:sticky;
  bottom:calc(var(--safe-bottom));
  margin:14px 0 0;
  padding:10px 12px;
  border:1px solid var(--border-strong);
  border-radius:18px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  z-index:20;
}
.pp-savebar.hidden { display:none; }

.list-grid { display:grid; grid-template-columns:1fr; gap:var(--gap); }
@media (min-width:900px) { .list-grid.cols2 { grid-template-columns:repeat(2, minmax(0,1fr)); } }

.summary-strip { display:grid; gap:12px; grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (min-width:760px) { .summary-strip { grid-template-columns:repeat(4, minmax(0,1fr)); } }

.helper-note {
  border:1px dashed var(--border-strong);
  background:#fafbfe;
  border-radius:14px;
  padding:10px 12px;
  color:#475569;
  font-size:13px;
}

body.device-mobile .btn,
body.is-mobile .btn {
  font-size:17px;
  min-height:50px;
}
body.device-mobile .btn.row,
body.is-mobile .btn.row {
  min-height:42px;
  font-size:13px;
  padding:9px 11px;
}
body.device-mobile .pp-top-grid,
body.is-mobile .pp-top-grid {
  grid-template-columns:32px minmax(0,1fr) 32px;
  grid-template-areas:
    ". system ."
    "vendor . tenantlogo"
    "meta meta meta";
  gap:8px 10px;
}
body.device-mobile .pp-system,
body.is-mobile .pp-system { padding-inline:4px; }
body.device-mobile .pp-system-title,
body.is-mobile .pp-system-title {
  display:block;
  font-size:16px;
  line-height:1.16;
}
body.device-mobile .pp-system-title-main,
body.is-mobile .pp-system-title-main { display:block; width:100%; white-space:normal; }
body.device-mobile .pp-system-title-brand,
body.is-mobile .pp-system-title-brand { display:block; width:100%; white-space:normal; margin-top:2px; }
body.device-mobile .pp-system-title-brand::before,
body.is-mobile .pp-system-title-brand::before { content:''; }
body.device-mobile .pp-vendor-logo,
body.is-mobile .pp-vendor-logo { width:30px; }
body.device-mobile .pp-tenant-logo,
body.is-mobile .pp-tenant-logo { width:38px; }
body.device-mobile .pp-meta-line,
body.is-mobile .pp-meta-line { margin-top:6px; gap:10px; }
body.device-mobile .pp-domain,
body.device-mobile .pp-tenant,
body.is-mobile .pp-domain,
body.is-mobile .pp-tenant { font-size:12px; }
body.device-mobile .only-mobile,
body.is-mobile .only-mobile { display:block !important; }
body.device-mobile .only-desktop,
body.is-mobile .only-desktop { display:none !important; }
body.device-mobile .table-responsive-stack thead,
body.is-mobile .table-responsive-stack thead { display:none; }
body.device-mobile .table-responsive-stack,
body.device-mobile .table-responsive-stack tbody,
body.device-mobile .table-responsive-stack tr,
body.is-mobile .table-responsive-stack,
body.is-mobile .table-responsive-stack tbody,
body.is-mobile .table-responsive-stack tr { display:block; width:100%; }
body.device-mobile .table-responsive-stack tr,
body.is-mobile .table-responsive-stack tr {
  border:1px solid #dfe5ee;
  border-radius:18px;
  background:#fff;
  margin-bottom:12px;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
body.device-mobile .table-responsive-stack td,
body.is-mobile .table-responsive-stack td {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  width:100%;
  border-bottom:1px solid #eef2f7;
  padding:10px 12px;
}
body.device-mobile .table-responsive-stack td:last-child,
body.is-mobile .table-responsive-stack td:last-child { border-bottom:0; }
body.device-mobile .table-responsive-stack td::before,
body.is-mobile .table-responsive-stack td::before {
  content:attr(data-label);
  flex:0 0 96px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
body.device-mobile .summary-strip,
body.is-mobile .summary-strip { grid-template-columns:repeat(2, minmax(0,1fr)); }
body.device-mobile .toolbar,
body.device-mobile .filter-toolbar,
body.is-mobile .toolbar,
body.is-mobile .filter-toolbar { align-items:stretch; }
body.device-mobile .pack-line-actions .btn,
body.device-mobile .card-actions .btn,
body.is-mobile .pack-line-actions .btn,
body.is-mobile .card-actions .btn { width:100%; }

@media (min-width:761px) {
  .pp-system-title-main,
  .pp-system-title-brand { display:inline; width:auto; }
}

.mobile-table-scroll { max-width:100%; }
@media (max-width:760px) {
  .mobile-table-scroll {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .mobile-table-scroll .table {
    min-width:760px;
  }
}

@media print {
  @page {
    size:auto;
    margin:8mm;
  }

  .no-print,
  .pp-top,
  .pp-nav,
  .pp-page-title,
  .footer-note { display:none !important; }

  html, body {
    background:#fff !important;
    margin:0 !important;
    padding:0 !important;
  }

  .container {
    max-width:none !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  .card, .pack-line, .draft-card, .home-card {
    box-shadow:none !important;
    border:0 !important;
    background:transparent !important;
  }

  .print-sheet {
    margin:0 !important;
    padding:0 !important;
  }

  .print-cover-card,
  .print-table-card {
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    break-inside:auto;
    page-break-inside:auto;
  }

  .print-cover-card {
    margin-bottom:4mm !important;
    break-after:avoid-page;
    page-break-after:avoid;
  }

  .print-table-card {
    break-before:avoid-page;
    page-break-before:avoid;
  }

  .print-fill-table {
    width:100% !important;
    border-collapse:collapse !important;
    table-layout:fixed !important;
    direction:rtl;
  }

  .print-fill-table th,
  .print-fill-table td {
    border:1px solid #cbd5e1 !important;
    padding:3px 4px !important;
    font-size:12.5px !important;
    line-height:1.2 !important;
    vertical-align:top;
    word-break:normal !important;
    overflow-wrap:break-word;
  }

  .print-fill-table th {
    font-size:11.5px !important;
    font-weight:800;
    text-align:right;
    white-space:nowrap;
  }

  .print-fill-table td:nth-child(1),
  .print-fill-table td:nth-child(2),
  .print-fill-table td:nth-child(4),
  .print-fill-table td:nth-child(5),
  .print-fill-table td:nth-child(6),
  .print-fill-table td:nth-child(7),
  .print-fill-table td:nth-child(8),
  .print-fill-table td:nth-child(9),
  .print-fill-table th:nth-child(1),
  .print-fill-table th:nth-child(2),
  .print-fill-table th:nth-child(4),
  .print-fill-table th:nth-child(5),
  .print-fill-table th:nth-child(6),
  .print-fill-table th:nth-child(7),
  .print-fill-table th:nth-child(8),
  .print-fill-table th:nth-child(9) {
    white-space:nowrap;
    text-align:center;
  }

  .print-fill-table td:nth-child(10),
  .print-fill-table th:nth-child(10) {
    text-align:right;
  }

  .print-fill-table .small {
    font-size:9px !important;
    line-height:1.15 !important;
    margin-top:2px;
  }

  .print-col-check { width:4%; }
  .print-col-index { width:4%; }
  .print-col-category { width:11%; }
  .print-col-product { width:31%; }
  .print-col-pack { width:8%; }
  .print-col-required { width:5.5%; }
  .print-col-qty { width:5.5%; }
  .print-col-date { width:13%; }
  .print-col-packer { width:10%; }
  .print-col-done { width:8.5%; }
  .print-col-note { width:10%; }

  .print-filler-row { display:table-row; }
  .print-filler-row td {
    color:transparent;
    height:26px;
  }
}

.print-filler-row { display:none; }

.form-grid { display:grid; gap:12px; grid-template-columns:1fr; }
.form-grid.form-grid-2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (max-width:760px) { .form-grid.form-grid-2 { grid-template-columns:1fr; } }

.remainder-cards { display:grid; gap:14px; }
.remainder-card {
  border:1px solid var(--border-strong);
  border-radius:22px;
  background:#fff;
  padding:14px;
  box-shadow:var(--shadow-soft);
}
.remainder-card.needs-decision {
  border-color:#d9e2ee;
}
.remainder-card.is-resolved {
  border-color:#cce7db;
  background:#fcfffd;
}
.remainder-card.is-collapsed {
  padding-top:12px;
  padding-bottom:12px;
}
.remainder-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.remainder-card.is-collapsed .remainder-card-head {
  margin-bottom:0;
  align-items:center;
}
.remainder-card-head-main {
  min-width:0;
  flex:1 1 auto;
}
.remainder-card-head-meta {
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.remainder-title { margin:0; font-size:21px; line-height:1.2; }
.remainder-subtitle { margin-top:4px; color:var(--muted); font-size:13px; }
.remainder-toggle {
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d5dfeb;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  font-size:16px;
  transition:transform .15s ease, background-color .15s ease, border-color .15s ease;
}
.remainder-toggle.is-collapsed {
  transform:rotate(90deg);
}
.remainder-toggle:hover {
  background:#f8fafc;
  border-color:#c5d1de;
}
.remainder-stats {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.remainder-stat {
  border:1px solid #e3e8f1;
  background:#f8fafc;
  border-radius:16px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.remainder-stat .k {
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.55;
  margin-bottom:0;
}
.remainder-stat strong {
  display:block;
  line-height:1.45;
}
.helper-note-warning {
  border:1px solid #f4d6a0;
  background:#fff9eb;
  color:#7a5700;
}
.remainder-section + .remainder-section {
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed #dbe3ee;
}
.remainder-section-title {
  font-weight:900;
  margin-bottom:10px;
}
.remainder-choice-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
.remainder-choice {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:10px 12px;
  border:1px solid #d8e0ec;
  border-radius:16px;
  background:#fff;
  text-align:center;
  cursor:pointer;
  font-weight:800;
}
.remainder-choice input {
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.remainder-choice.is-selected,
.remainder-choice:has(input:checked) {
  border-color:var(--primary);
  background:var(--primary-soft);
  color:var(--primary-ink);
}
.remainder-inline-options {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.remainder-inline-choice {
  display:flex;
  align-items:center;
  gap:8px;
  line-height:1.4;
  padding:9px 12px;
  border:1px solid #dde5f0;
  border-radius:999px;
  background:#fff;
}
.remainder-custom-mix { margin-top:10px; }
.remainder-preview {
  border:1px solid #d9e1ec;
  background:#f8fafc;
  border-radius:16px;
  padding:12px;
  font-weight:700;
}
.remainder-preview.is-ok {
  border-color:#bde6d7;
  background:var(--success-soft);
  color:#0b6a49;
}
.remainder-preview.is-error {
  border-color:#f1b3bf;
  background:var(--danger-soft);
  color:#922538;
}
.remainder-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

@media (max-width:760px) {
  .remainder-stats,
  .remainder-choice-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .remainder-card-head,
  .remainder-actions { flex-direction:column; align-items:stretch; }
  .remainder-card-head-meta {
    justify-content:space-between;
    width:100%;
  }
  .remainder-title { font-size:20px; }
}


.card-tight { padding:12px 14px; }
.summary-strip-tight .stat-value { font-size:26px; }
.summary-strip-tight .stat-meta { min-height:0; }
.draft-sections { margin-top:12px; }
.draft-section-head { margin-bottom:10px; }
.draft-section-grid { gap:12px; }
.draft-section-grid-compact { grid-template-columns:1fr; }
@media (min-width:900px) { .draft-section-grid-compact { grid-template-columns:repeat(2, minmax(0,1fr)); } }
.draft-section-collapsible {
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  padding:12px 14px;
  box-shadow:var(--shadow-soft);
}
.draft-section-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  list-style:none;
}
.draft-section-summary::-webkit-details-marker { display:none; }
.draft-section-summary-meta { display:block; color:var(--muted); font-size:13px; margin-top:2px; }
.draft-card-condensed { padding:12px 14px; gap:10px; }
.draft-card-compact {
  padding:10px 12px;
  gap:8px;
  border-style:dashed;
  box-shadow:none;
}
.draft-card-compact .draft-card-title { font-size:16px; }
.draft-card-compact .draft-card-meta { font-size:13px; }
.draft-preview {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.preview-pill {
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  padding:4px 8px;
  border:1px dashed #d9e1ec;
  border-radius:999px;
  background:#fafbfd;
  color:#334155;
  font-size:12px;
  line-height:1.2;
}
.preview-product,
.preview-pack,
.preview-sep,
.preview-more { white-space:nowrap; }
.preview-product { font-weight:800; }
.preview-pack,
.preview-sep,
.preview-more,
.draft-preview-empty { color:var(--muted); font-size:12px; }
.draft-card-chips { margin-top:-2px; }
@media (max-width:760px) {
  .summary-strip-tight { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .draft-card-condensed { padding:11px 12px; }
  .draft-card-compact { padding:9px 11px; }
}

.report-nav-card { min-height: 188px; }
.report-filters-grid { align-items:end; }
.report-hero {
  display:flex;
  flex-direction:column;
  gap:16px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.report-hero-top {
  display:grid;
  grid-template-columns:120px 1fr 120px;
  gap:14px;
  align-items:center;
}
.report-hero-brand {
  display:flex;
  align-items:center;
  justify-content:center;
}
.report-hero-logo.vendor { max-height:58px; width:auto; }
.report-hero-logo.tenant { max-height:72px; width:auto; }
.report-hero-center { text-align:center; }
.report-hero-title { font-size:28px; font-weight:900; line-height:1.1; }
.report-hero-subtitle { margin-top:4px; color:var(--muted); font-size:15px; }
.report-hero-chips { justify-content:center; margin-top:10px; }
.report-kpis {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
}
.report-kpi {
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  padding:12px 14px;
  box-shadow:var(--shadow-soft);
}
.report-kpi-value { font-size:28px; font-weight:900; line-height:1; }
.report-kpi-label { margin-top:4px; color:var(--muted); font-size:13px; font-weight:800; }
.report-hero-actions { display:flex; justify-content:flex-start; }
.report-table-card { overflow:hidden; }
.report-table td, .report-table th { white-space:nowrap; }
.report-empty { margin-top:12px; }

@media (max-width:760px) {
  .report-hero-top { grid-template-columns:1fr; }
  .report-hero-center { order:1; }
  .report-hero-brand-right { order:2; }
  .report-hero-brand-left { order:3; }
  .report-kpis { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .report-hero-title { font-size:24px; }
}

@media print {
  .report-hero {
    border-color:#d4dae4;
    box-shadow:none;
    break-inside:avoid;
  }
  .report-kpi {
    box-shadow:none;
  }
  .report-table-card {
    box-shadow:none;
    border-color:#d4dae4;
  }
  .report-table th {
    position:static;
    background:#f3f4f6 !important;
  }
}


.priority-select {
  font-weight: 700;
}

.pp-auth-logo-row{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap}.pp-auth-logo{max-height:56px;width:auto;display:block}.pp-auth-logo.tenant{max-height:48px}.check-row{display:flex;gap:8px;align-items:center}.check-row input{width:auto;margin:0}.check-row span{font-size:.95rem}.login-card-action{display:block;text-decoration:none}

.priority-select-inline {
  min-width: 180px;
}
.priority-select option {
  font-weight: 400;
}
.priority-select option:checked,
.priority-select option[selected] {
  font-weight: 700;
}
