.production-board{--pb-blue:#22598c;--pb-ink:#18364e;--pb-muted:#647b90;max-width:1680px;margin:0 auto;color:var(--pb-ink)}
.pboard-heading,.pboard-toolbar,.pboard-order-heading,.pboard-task-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.pboard-heading{padding:12px 0 26px}.pboard-heading h1{margin:5px 0 10px;font-size:clamp(28px,2.7vw,40px);letter-spacing:-.055em;line-height:1.2}.pboard-heading p{margin:0;color:var(--pb-muted)}
.production-board .pboard-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--pb-blue)}
.pboard-date-title{text-align:right;display:grid;gap:8px}.pboard-date-title strong{font-size:24px;letter-spacing:-.04em}.pboard-date-title span{font-size:13px;color:var(--pb-muted)}
.pboard-toolbar{background:white;border:1px solid #dbe5ee;border-radius:12px;padding:12px 16px}.pboard-date-controls{display:flex;align-items:center;gap:8px;min-width:0}.pboard-date-controls label{min-width:0}.pboard-date-controls input{width:166px;min-width:0;font-size:15px;font-weight:700}.pboard-date-controls button{min-width:38px;min-height:38px;background:#f2f6fb;border:1px solid #d5e1ed;border-radius:7px;color:var(--pb-blue);font-weight:700;cursor:pointer}.pboard-date-controls button:first-child,.pboard-date-controls button:nth-child(3){font-size:24px;line-height:1}
.pboard-date-controls .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}.pboard-summary>div{padding:17px 22px;background:#e9f1fa;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pboard-summary>div:nth-child(3){background:#fff4db}.pboard-summary>div:nth-child(4){background:#eeeafd}.pboard-summary span{font-size:14px;font-weight:600}.pboard-summary strong{font-size:30px;letter-spacing:-.04em;line-height:1.2}.pboard-summary small{font-size:12px;margin-left:5px;font-weight:500;color:var(--pb-muted)}
.pboard-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0 0 22px}.pboard-filters label{display:grid;gap:7px;min-width:140px}.pboard-filters label>span{font-size:12px;font-weight:600;color:var(--pb-muted)}.pboard-filters select,.pboard-filters input{background:white;min-height:40px}.pboard-filters .pboard-search{flex:1;min-width:200px}.pboard-filters button{min-height:40px}.pboard-filters button[data-pboard-action=clear]{border:0;background:transparent;color:var(--pb-muted);cursor:pointer}
.pboard-orders{display:grid;gap:24px}.pboard-order{background:white;border:1px solid #d7e3ee;border-radius:16px;box-shadow:0 3px 12px #193d6007;overflow:hidden}.pboard-order-heading{padding:22px 26px;border-bottom:1px solid #e7edf3;background:#fbfdff}.pboard-order-heading h2{font-size:21px;margin:4px 0 6px;letter-spacing:-.03em}.pboard-order-heading p{margin:0;font-size:14px}.pboard-order-heading p span{color:var(--pb-muted)}.pboard-batch{display:grid;gap:6px;text-align:right}.pboard-batch strong{font-size:28px;color:var(--pb-blue)}.pboard-batch small{font-size:14px;font-weight:500}.pboard-batch>span{font-size:13px;color:var(--pb-muted)}
.pboard-order-note{margin:20px 24px 0;padding:14px 18px;background:#fff8e8;border:1px solid #f2dfb4;border-radius:10px}.pboard-order-note>strong{font-size:12px;color:#8d6220}.pboard-order-note p{margin:6px 0 0;white-space:pre-wrap;font-size:17px;line-height:1.6}
.pboard-tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;padding:24px}.pboard-task{padding:19px 21px;background:#f8fafc;border:1px solid #dce6ef;border-top:4px solid #7194af;border-radius:10px;min-width:0}.pboard-task--day{border-top-color:#d0a03c}.pboard-task--night{border-top-color:#8a77c6}.pboard-task-top{gap:10px;margin-bottom:12px}.pboard-task-index{font-size:12px;color:var(--pb-muted);font-weight:700;letter-spacing:.08em}.pboard-shift{padding:4px 10px;border-radius:5px;font-size:12px;font-weight:700;background:#e8eef5;color:var(--pb-blue)}.pboard-task--day .pboard-shift{background:#fff0c9;color:#875b12}.pboard-task--night .pboard-shift{background:#eee7ff;color:#67539a}
.pboard-task h3{font-size:23px;margin:0 0 10px;line-height:1.35;letter-spacing:-.045em}.pboard-product{font-size:21px;font-weight:700;line-height:1.4;margin:0 0 6px;color:var(--pb-blue)}.pboard-code{display:block;font-size:12px;color:var(--pb-muted);margin-bottom:15px}.pboard-task-info{display:grid;gap:10px;margin:16px 0 0}.pboard-task-info>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:baseline}.pboard-task-info dt{font-size:13px;color:var(--pb-muted)}.pboard-task-info dd{margin:0;font-size:17px;font-weight:600;white-space:pre-wrap;line-height:1.4}.pboard-task-note{border-top:1px solid #dde6ee;padding-top:13px;margin-top:16px;font-size:17px;white-space:pre-wrap;line-height:1.65}
.production-board [data-user-content]{overflow-wrap:anywhere}.pboard-details{margin:0 24px 20px;border:1px solid #dfe7ef;border-radius:9px;overflow:hidden}.pboard-details summary{padding:13px 16px;cursor:pointer;font-size:14px;font-weight:700;background:#f6f9fc}.pboard-details summary>span{color:var(--pb-muted);font-size:12px;font-weight:500;margin-left:8px}.pboard-recipes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px;padding:14px 16px}.pboard-recipes>section{min-width:0}.pboard-recipes h4{font-size:14px;margin:0 0 9px}.pboard-recipes table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.pboard-recipes th{font-size:12px;font-weight:500;color:var(--pb-muted);background:transparent}.pboard-recipes td,.pboard-recipes th{padding:10px 8px;text-align:left;border-bottom:1px solid #ebf0f5}.pboard-recipes th:nth-child(2),.pboard-recipes td:nth-child(2){width:95px;text-align:right;white-space:nowrap}.pboard-recipes th:first-child{width:42%}.pboard-recipes td>span{display:block;font-size:13px;color:var(--pb-muted);margin-top:3px}.pboard-recipes small{font-size:11px;color:var(--pb-muted)}
.pboard-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:12px;list-style:none;padding:14px 16px;margin:0}.pboard-people li{display:grid;gap:5px;padding:12px;background:#f8fafc;border-radius:7px;min-width:0}.pboard-people strong{font-size:17px}.pboard-people span,.pboard-people small{font-size:13px;color:var(--pb-muted);overflow-wrap:anywhere}.pboard-no-tasks{padding:24px;color:var(--pb-muted);font-size:14px}
.pboard-alert{background:#fff5e8;border:1px solid #edcf9b;border-radius:8px;padding:13px 17px;margin-bottom:18px;color:#855417}.pboard-empty{text-align:center;background:white;border:1px dashed #c6d7e7;border-radius:14px;padding:65px 20px;color:var(--pb-muted)}.pboard-empty>span{font-size:36px;color:#9bb2c7}.pboard-empty h2{font-size:20px;color:var(--pb-ink);margin:15px 0 8px}.pboard-empty p{font-size:14px;margin:0}
@media(min-width:1800px){.pboard-task h3{font-size:27px}.pboard-product{font-size:24px}.pboard-task-info dd,.pboard-task-note{font-size:19px}}
@media(max-width:700px){.pboard-heading{align-items:flex-start;gap:14px;flex-direction:column;padding-bottom:20px}.pboard-date-title{text-align:left;gap:4px}.pboard-date-title strong{font-size:20px}.pboard-toolbar{padding:10px;gap:8px;flex-wrap:wrap}.pboard-date-controls{gap:5px}.pboard-date-controls input{width:145px}.pboard-date-controls button{min-width:30px}.pboard-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 18px}.pboard-summary>div{padding:13px 15px}.pboard-summary strong{font-size:25px}.pboard-summary span{font-size:12px}.pboard-filters{gap:10px}.pboard-filters label{min-width:0;flex:1}.pboard-filters .pboard-search{flex-basis:100%;min-width:0}.pboard-order-heading{padding:18px;align-items:flex-start;flex-wrap:wrap;gap:12px}.pboard-order-heading h2{font-size:19px}.pboard-batch{text-align:left}.pboard-batch strong{font-size:23px}.pboard-order-note{margin:16px 14px 0;padding:12px 14px}.pboard-tasks{padding:16px 14px;gap:12px}.pboard-task{padding:16px}.pboard-details{margin:0 14px 16px}.pboard-recipes{padding:10px}.pboard-recipes td,.pboard-recipes th{padding:8px 5px}.pboard-recipes th:nth-child(2),.pboard-recipes td:nth-child(2){width:76px}.pboard-task h3{font-size:23px}.pboard-product{font-size:20px}}
@media print{.pboard-toolbar,.pboard-filters{display:none}.pboard-order,.pboard-task{break-inside:avoid;box-shadow:none}.pboard-orders{gap:16px}.pboard-details{display:block}}

.pboard-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

html.pboard-screen-active { overflow: hidden; overscroll-behavior: none; }
.pboard-screen-active #app .portal > .portal-header,
.pboard-screen-active #app .content > :not(.pboard-display) { display: none; }

.production-board.pboard-display {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: clamp(10px, .85vw, 16px);
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: 100%;
  height: 100dvh;
  margin: 0;
  padding: clamp(12px, 1.15vw, 22px) clamp(12px, 1.5vw, 30px);
  padding-bottom: max(clamp(12px, 1.15vw, 22px), env(safe-area-inset-bottom));
  overflow: hidden;
  background: #eef3f8;
}

.pboard-screen-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
}

.pboard-screen-header h1 {
  margin: 4px 0 0;
  font-size: clamp(24px, 2.6vw, 48px);
  line-height: 1.12;
  letter-spacing: -.06em;
}

.pboard-screen-header .pboard-eyebrow { margin: 0; font-size: clamp(11px, 1vw, 16px); }
.pboard-screen-date { display: flex; flex-direction: column; gap: 4px; margin-left: auto; text-align: right; }
.pboard-screen-date strong { font-size: clamp(17px, 1.55vw, 30px); }
.pboard-screen-date span { font-size: clamp(12px, 1vw, 18px); color: var(--pb-muted); }
.pboard-screen-buttons { display: flex; align-items: center; gap: 8px; }
.pboard-screen-buttons button {
  min-height: 40px;
  min-width: 40px;
  padding: 4px 12px;
  border: 1px solid #cad9e8;
  border-radius: 8px;
  background: #fff;
  color: var(--pb-blue);
  font-size: clamp(13px, 1vw, 17px);
  font-weight: 700;
  white-space: nowrap;
}
.pboard-screen-buttons button:focus-visible { outline: 2px solid var(--pb-blue); outline-offset: 2px; }
.pboard-fullscreen-exit,
html:fullscreen .pboard-fullscreen-enter { display: none; }
html:fullscreen .pboard-fullscreen-exit { display: inline; }
.pboard-display .pboard-alert { margin: 0; padding: 8px 12px; overflow-wrap: anywhere; }

.pboard-screen-viewport {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
}

.pboard-screen-track {
  column-count: 3;
  column-gap: 20px;
  column-fill: balance;
}

/* Balance the columns without a fixed content height. */
.pboard-display .pboard-order {
  display: block;
  overflow: visible;
  margin: 0 0 12px;
  box-shadow: none;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.pboard-display .pboard-order-heading {
  display: block;
  padding: 10px 18px;
  break-inside: avoid;
  break-after: avoid;
}
.pboard-display .pboard-order-heading h2 { font-size: clamp(23px, 1.75vw, 34px); }
.pboard-display .pboard-order-heading p:not(.pboard-eyebrow) { font-size: clamp(16px, 1.05vw, 20px); }
.pboard-display .pboard-batch { margin-top: 8px; text-align: left; }
.pboard-display .pboard-batch strong { display: inline; margin-right: 8px; font-size: clamp(17px, 1.3vw, 24px); }
.pboard-display .pboard-batch span { display: inline; }
.pboard-display .pboard-order-note { margin: 10px 12px 0; padding: 10px 18px; break-inside: avoid; }
.pboard-display .pboard-order-note p,
.pboard-display .pboard-task-note { font-size: clamp(18px, 1.15vw, 22px); }
.pboard-display .pboard-tasks { display: block; padding: 12px; }
.pboard-display .pboard-task {
  display: block;
  min-height: 0;
  margin: 0 0 8px;
  padding: 10px 16px;
  break-inside: avoid;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.pboard-display .pboard-task:last-child { margin-bottom: 0; }
.pboard-display .pboard-task-top { margin-bottom: 4px; break-after: avoid; }
.pboard-display .pboard-task-index { overflow-wrap: anywhere; min-width: 0; }
.pboard-display .pboard-task h3 { margin-bottom: 4px; font-size: clamp(25px, 1.85vw, 36px); break-after: avoid; }
.pboard-display .pboard-product { font-size: clamp(21px, 1.35vw, 26px); }
.pboard-display .pboard-code { margin-bottom: 4px; font-size: clamp(14px, .83vw, 16px); }
.pboard-display .pboard-task-info { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 8px 0 0; }
.pboard-display .pboard-task-info > div { display: block; max-width: 100%; }
.pboard-display .pboard-task-info dt,
.pboard-display .pboard-task-info dd { display: inline; }
.pboard-display .pboard-task-info dt { margin-right: 8px; font-size: clamp(13px, .9vw, 17px); }
.pboard-display .pboard-task-info dd { font-size: clamp(17px, 1.1vw, 21px); }
.pboard-display .pboard-task-note { margin-top: 8px; padding-top: 7px; line-height: 1.5; }
.pboard-display .pboard-details { display: block; overflow: visible; margin: 0 12px 12px; }
.pboard-screen-details h3,
.pboard-screen-details h4 { margin: 0; padding: 9px 12px; break-after: avoid; }
.pboard-screen-details h3 { font-size: clamp(17px, 1.2vw, 23px); background: #f1f6fb; }
.pboard-screen-details h3 small { color: var(--pb-muted); }
.pboard-screen-details h4 { font-size: 15px; }
.pboard-screen-recipe,
.pboard-display .pboard-people { display: block; list-style: none; margin: 0; padding: 0 10px; }
.pboard-screen-recipe li,
.pboard-display .pboard-people li {
  display: block;
  padding: 8px 4px;
  border-bottom: 1px solid #e1e9f0;
  border-radius: 0;
  background: none;
  font-size: clamp(17px, 1.05vw, 20px);
  break-inside: avoid;
}
.pboard-screen-recipe li:last-child,
.pboard-display .pboard-people li:last-child { border-bottom: 0; }
.pboard-screen-recipe p { margin: 4px 0 0; white-space: pre-wrap; }
.pboard-screen-amount { margin-left: 7px; color: var(--pb-blue); overflow-wrap: anywhere; }
.pboard-display .pboard-people strong { font-size: inherit; }
.pboard-display .pboard-people span { margin-left: 8px; font-size: inherit; }
.pboard-display .pboard-people small { display: block; font-size: clamp(14px, .9vw, 17px); white-space: pre-wrap; }
.pboard-display .pboard-empty { padding: 24px 12px; break-inside: avoid; }

@media (max-width: 1450px) {
  .pboard-screen-track { column-count: 2; }
}

@media (max-width: 1000px) {
  .pboard-screen-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 8px;
  }
  .pboard-screen-date { margin-left: 0; text-align: left; }
  .pboard-screen-view-controls { grid-column: 2; grid-row: 1; justify-content: flex-end; }
  .pboard-screen-date-controls { grid-column: 2; grid-row: 2; justify-content: flex-end; }
  .pboard-screen-buttons { gap: 4px; }
  .pboard-screen-buttons button { min-width: 34px; min-height: 36px; padding: 4px 8px; }
}

@media (max-width: 700px) {
  .pboard-screen-track { column-count: auto; }
  .pboard-screen-header h1 { font-size: clamp(20px, 5.8vw, 27px); }
  .pboard-screen-view-controls { grid-row: 1 / span 2; flex-direction: column; align-items: stretch; }
  .pboard-screen-date-controls { grid-column: 1; grid-row: 3; justify-content: flex-start; }
  .pboard-display .pboard-order-heading { padding: 10px 12px; }
  .pboard-display .pboard-order-note { margin: 8px 8px 0; padding: 8px 10px; }
  .pboard-display .pboard-tasks { padding: 8px; }
  .pboard-display .pboard-task { padding: 10px 12px; }
}
