:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#18202a;background:#eef2f6;--border:#d7dde5;--muted:#697586;--surface:#fff;--accent:#244f78;--accent2:#17365d;--danger:#a32828}
*{box-sizing:border-box}body{margin:0;background:#eef2f6;color:#18202a}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px 22px;background:#17365d;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.15)}.topbar h1{font-size:20px;margin:0}.topbar p{margin:3px 0 0;font-size:13px;opacity:.82}.offline-badge{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:800}.container{max-width:1280px;margin:0 auto;padding:20px}.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:0 2px 10px rgba(32,46,61,.05)}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.section-head h2,.backup-card h2{margin:2px 0 4px;font-size:19px}.section-head p,.backup-card p{margin:0;color:var(--muted);line-height:1.45}.kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#526174}.form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}label{display:grid;gap:6px;font-size:13px;font-weight:750}label small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #c9d1db;border-radius:10px;padding:10px 11px;font:inherit;background:#fff;color:#17202b}textarea{min-height:170px;resize:vertical;line-height:1.45}.notice,.status,.live-feedback{margin-top:12px;padding:12px 13px;border-radius:12px;background:#f4f7fa;border:1px solid #d8e0e9;font-size:13px;line-height:1.45}.status.ok{background:#eef7f1;border-color:#bedbc8}.status.error{background:#fff0f0;border-color:#efc6c6;color:#812323}.saved-info{margin-top:9px;color:var(--muted);font-size:12px}.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#edf1f5;border:1px solid #d4dae2;font-size:11px;font-weight:850;white-space:nowrap}.pill.good{background:#e9f6ee;border-color:#bddfc8;color:#225c36}.pill.warn{background:#fff4df;border-color:#ecd6a8;color:#765315}.feedback-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.badges,.aliases{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.badges span,.aliases span{padding:5px 8px;border-radius:8px;background:#fff;border:1px solid #dce2e8;font-size:11px}.aliases b{margin-right:4px}.actions,.file-row,.print-options{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.btn,.file-button{appearance:none;border:1px solid #bec8d3;border-radius:10px;padding:9px 13px;background:#fff;color:#1b2836;font:inherit;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none}.btn.primary{background:var(--accent2);border-color:var(--accent2);color:#fff}.btn.secondary:hover,.file-button:hover{background:#f3f6f9}.btn:disabled{opacity:.5;cursor:not-allowed}.file-button{display:inline-flex!important;align-items:center}.file-button input{display:none}details{margin-top:10px}summary{cursor:pointer;color:#425064;font-weight:750;font-size:13px}.backup-card{display:flex;justify-content:space-between;gap:18px;align-items:center}.print-options label{display:inline-flex;grid-template-columns:auto auto;align-items:center;gap:7px}.print-options input{width:auto}.layout-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin-top:14px}.layout-card{min-height:98px;display:grid;grid-template-rows:42px auto auto;gap:3px;text-align:left;padding:10px;border:1px solid var(--border);border-radius:14px;background:#fff;color:#18202a;cursor:pointer}.layout-card:hover{border-color:#526f8e}.layout-card.active{border:2px solid #244f78;padding:9px;box-shadow:0 0 0 2px rgba(36,79,120,.08)}.layout-card strong{font-size:13px}.layout-card small{color:var(--muted);line-height:1.25}.layout-mini{display:block;height:40px;border:1px solid #b8bdc6;border-radius:7px;background-color:#fff;overflow:hidden}.mini-rows{background-image:repeating-linear-gradient(to bottom,#e8ebef 0 2px,transparent 2px 6px),repeating-linear-gradient(to right,transparent 0 10px,#d8dce2 10px 11px)}.mini-columns{background-image:repeating-linear-gradient(to right,#eef0f3 0 8px,transparent 8px 10px),repeating-linear-gradient(to bottom,transparent 0 3px,#d7dbe1 3px 4px)}.mini-two{background:linear-gradient(to right,#edf0f4 0 48%,transparent 48% 52%,#edf0f4 52% 100%)}.mini-quarter{background:linear-gradient(to right,#eef1f4 0 31%,transparent 31% 34%,#eef1f4 34% 65%,transparent 65% 68%,#eef1f4 68% 100%)}.mini-leisure{background:linear-gradient(90deg,#fff 0 8%,#d9f0e4 8% 30%,#fff 30% 42%,#d9f0e4 42% 72%,#fff 72% 80%,#d9f0e4 80% 100%)}.mini-yeargrid{background-image:linear-gradient(to right,transparent 24%,#cfd4db 24% 25%,transparent 25% 49%,#cfd4db 49% 50%,transparent 50% 74%,#cfd4db 74% 75%,transparent 75%),linear-gradient(to bottom,transparent 32%,#cfd4db 32% 34%,transparent 34% 65%,#cfd4db 65% 67%,transparent 67%)}.mini-doublemonth{background:linear-gradient(to right,#eef1f4 0 48%,transparent 48% 52%,#eef1f4 52% 100%);border-top:5px solid #d7dbe1}.layout-info{margin-top:10px;min-height:18px;font-size:12px;color:var(--muted)}.print-hint{margin-top:8px;font-size:12px;color:var(--muted);line-height:1.45}.vorschau-huelle{overflow-x:auto;padding-bottom:12px}.e-U{background:#dcebd8}.e-FS{background:#dceee7}.e-SU,.e-BU{background:#eee1f7}.e-GT{background:#ddf2ed}.e-KR{background:#f3d5d5}.e-ZT{background:#efe4c8}.e-AFZ{background:#dce2eb}.e-ST{background:#e3e3e3}
@media(max-width:760px){.container{padding:12px}.form-grid{grid-template-columns:1fr}.section-head,.backup-card{flex-direction:column}.topbar{padding:13px 14px}.layout-gallery{grid-template-columns:1fr 1fr}}
/* SchichtKalender – druck.css
 * Zwei Jahresdruckvarianten (1-seitig / 4-seitig), jeweils DIN A4 quer.
 */
:root {
  --p-line:#b8bcc6;
  --p-line-2:#6b7280;
  --p-text:#111318;
  --p-muted:#6b7280;
  --p-free:#e8f6ef;
  --p-free-edge:#a9d2bd;
  --p-holiday:#ffecec;
  --p-sunday:#fff4f4;
}

.print-area { width:max-content; min-width:100%; }
.sheet {
  width:297mm;
  height:210mm;
  padding:8mm;
  margin:0 auto 16px;
  background:#fff;
  color:var(--p-text);
  box-shadow:0 2px 18px rgba(0,0,0,.18);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  box-sizing:border-box;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.sheet-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:2.5mm; flex:0 0 auto; }
.sheet-title { font-size:13pt; font-weight:800; letter-spacing:-.2px; }
.sheet-sub { font-size:7.5pt; color:var(--p-muted); }
.sheet-meta { text-align:right; }

/* Matrix: Monat als Zeile, Kalendertag als Spalte. */
.year-grid {
  display:grid;
  grid-template-columns:16mm repeat(31, 1fr);
  border-top:.3mm solid var(--p-line-2);
  border-left:.3mm solid var(--p-line-2);
  flex:0 0 auto;
}
.yg-cell {
  border-right:.2mm solid var(--p-line);
  border-bottom:.2mm solid var(--p-line);
  text-align:center;
  overflow:hidden;
  position:relative;
  box-sizing:border-box;
  background:#fff;
}
.yg-head { font-weight:800; font-size:7.5pt; background:#eee; display:flex; align-items:center; justify-content:center; }
.yg-monthname { font-weight:800; font-size:8pt; text-align:left; padding-left:1.2mm; background:#eee; display:flex; align-items:center; }
.yg-empty { background:#f5f5f5; }

.layout-compact .yg-cell { height:11.55mm; }

.day-print { display:grid; grid-template-rows:auto auto 1fr auto; align-items:center; padding:.35mm .15mm; line-height:1.05; }
.dp-date { min-height:2.1mm; display:flex; align-items:center; justify-content:center; gap:.45mm; white-space:nowrap; }
.dp-number { font-size:5.7pt; font-weight:900; color:#111318; }
.dp-weekday { font-size:5.7pt; font-weight:800; color:#4b5563; }
.dp-holiday { font-size:4.4pt; line-height:1.05; font-weight:750; color:#a23b3b; min-height:2.6mm; overflow-wrap:anywhere; }
.dp-entry { align-self:center; font-weight:900; font-size:8.4pt; line-height:1; }
.dp-shift { min-height:2mm; font-size:5.3pt; font-weight:800; color:#374151; }

.yg-sun { background-color:var(--p-sunday); }
.yg-holiday { background-color:var(--p-holiday); }
.yg-holiday::after {
  content:""; position:absolute; top:0; right:0;
  border-width:0 1.5mm 1.5mm 0; border-style:solid;
  border-color:transparent #b86b6b transparent transparent;
}

/* Freizeitblock. */
.yg-free-block {
  background-color:var(--p-free);
  box-shadow:inset 0 .18mm 0 #c9e4d7, inset 0 -.18mm 0 #c9e4d7;
}
.yg-free-start { box-shadow:inset .28mm 0 0 var(--p-free-edge), inset 0 .18mm 0 #c9e4d7, inset 0 -.18mm 0 #c9e4d7; }
.yg-free-end { box-shadow:inset -.28mm 0 0 var(--p-free-edge), inset 0 .18mm 0 #c9e4d7, inset 0 -.18mm 0 #c9e4d7; }
.yg-free-start.yg-free-end { box-shadow:inset .28mm 0 0 var(--p-free-edge), inset -.28mm 0 0 var(--p-free-edge), inset 0 .18mm 0 #c9e4d7, inset 0 -.18mm 0 #c9e4d7; }

/* Blockbeginn nach tatsaechlich gefahrener NS: nur untere Haelfte fuellen. */
.yg-half-after-ns,
.yg-free-block.yg-half-after-ns {
  background:linear-gradient(to bottom,
    #fff 0 calc(50% - .25mm),
    var(--p-free-edge) calc(50% - .25mm) calc(50% + .25mm),
    var(--p-free) calc(50% + .25mm) 100%);
}
.yg-holiday.yg-half-after-ns,
.yg-sun.yg-half-after-ns {
  background:linear-gradient(to bottom,
    var(--p-holiday) 0 calc(50% - .25mm),
    var(--p-free-edge) calc(50% - .25mm) calc(50% + .25mm),
    var(--p-free) calc(50% + .25mm) 100%);
}
.yg-entry { font-weight:800; }

/* Detailmodus: 3 Monatskalender nebeneinander. */
.detail-months { display:grid; grid-template-columns:repeat(3, 1fr); gap:3mm; flex:1 1 auto; min-height:0; }
.detail-month { min-width:0; display:flex; flex-direction:column; }
.detail-month-title { font-size:10pt; font-weight:850; text-align:center; margin-bottom:1.5mm; }
.detail-grid {
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  grid-template-rows:7mm repeat(6, 1fr);
  border-top:.3mm solid var(--p-line-2);
  border-left:.3mm solid var(--p-line-2);
  flex:1 1 auto;
  min-height:0;
}
.detail-head {
  border-right:.2mm solid var(--p-line); border-bottom:.2mm solid var(--p-line);
  background:#eee; display:flex; align-items:center; justify-content:center;
  font-size:7pt; font-weight:850;
}
.detail-day {
  position:relative; min-width:0; overflow:hidden; padding:.7mm;
  border-right:.2mm solid var(--p-line); border-bottom:.2mm solid var(--p-line);
  display:grid; grid-template-rows:auto auto 1fr auto; box-sizing:border-box;
}
.detail-empty { background:#f5f5f5; }
.detail-top { display:flex; justify-content:flex-start; align-items:baseline; gap:1mm; }
.detail-weekday { font-size:6.3pt; font-weight:850; color:#4b5563; }
.detail-number { font-size:7.2pt; font-weight:850; }
.detail-holiday { font-size:5.4pt; line-height:1.08; font-weight:750; color:#9f3434; min-height:6mm; overflow-wrap:anywhere; }
.detail-entry { align-self:center; justify-self:center; font-size:12pt; line-height:1; font-weight:900; }
.detail-shift { justify-self:center; min-height:3mm; font-size:6.5pt; font-weight:850; }

/* Legende/Fuss. */
.legend { display:flex; flex-wrap:wrap; gap:1.5mm 4mm; margin-top:2.5mm; font-size:6.8pt; flex:0 0 auto; }
.legend-item { display:inline-flex; align-items:center; gap:1mm; }
.legend-box {
  width:5mm; height:3.7mm; border:.2mm solid var(--p-line-2); display:inline-flex;
  align-items:center; justify-content:center; font-size:6pt; font-weight:850; position:relative; overflow:hidden;
}
.sheet-foot { margin-top:1.5mm; font-size:6pt; color:var(--p-muted); display:flex; justify-content:space-between; flex:0 0 auto; }

/* Druckerfreundlich/Graustufen: Aussage bleibt ueber Rahmen und Halbfuellung erhalten. */
.print-bw { --p-free:#f0f0f0; --p-free-edge:#777; --p-holiday:#e5e5e5; --p-sunday:#f5f5f5; }
.print-bw .dp-holiday,
.print-bw .detail-holiday { color:#222; }
.print-bw .yg-holiday::after { border-color:transparent #555 transparent transparent; }

@page { size:A4 landscape; margin:0; }
@media print {
  html, body { margin:0; padding:0; background:#fff; }
  .app-header, .bottom-nav, .no-print { display:none !important; }
  .container { max-width:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
  .vorschau-huelle { overflow:visible !important; padding:0 !important; }
  .print-area { width:auto; min-width:0; }
  .sheet {
    width:297mm; height:210mm; margin:0; box-shadow:none;
    break-after:page; page-break-after:always; break-inside:avoid; page-break-inside:avoid;
  }
  .sheet:last-child { break-after:auto; page-break-after:auto; }
  * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* ── Jahreskalender im klassischen 12-Spalten-Stil ─────────────── */
.layout-poster {
  padding:7mm 8mm 6mm;
  background:#fffdf8;
}
.poster-head,
.shiftlist-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8mm;
  margin-bottom:3mm;
  flex:0 0 auto;
}
.poster-title,
.shiftlist-title { font-size:16pt; font-weight:900; letter-spacing:.8px; }
.poster-sub,
.poster-meta,
.shiftlist-sub { font-size:7pt; color:#667085; }
.poster-meta { text-align:right; }
.poster-months {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1.4mm;
  flex:1 1 auto;
  min-height:0;
}
.poster-month {
  min-width:0;
  border-left:.18mm dotted #c8c2b6;
  padding-left:.7mm;
  display:flex;
  flex-direction:column;
}
.poster-month:first-child { border-left:0; }
.poster-month-name { text-align:center; text-transform:uppercase; font-size:7.1pt; font-weight:900; letter-spacing:.25px; }
.poster-month-year { text-align:center; font-size:5.4pt; color:#777; margin:.2mm 0 1mm; }
.poster-days { display:grid; grid-template-rows:repeat(31,1fr); flex:1 1 auto; min-height:0; }
.poster-day {
  display:grid;
  grid-template-columns:4.2mm 4.4mm 1fr;
  align-items:center;
  min-height:0;
  border-top:.12mm solid #d8d4cb;
  font-size:5.2pt;
  line-height:1;
  overflow:hidden;
}
.poster-day-empty { border-top-color:transparent; }
.poster-date { font-weight:900; text-align:right; padding-right:.7mm; }
.poster-weekday { font-size:4.6pt; font-weight:750; color:#4f5663; text-transform:uppercase; }
.poster-status {
  min-width:0;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:4.8pt;
  font-weight:900;
  border-left:.15mm solid rgba(0,0,0,.08);
}
.poster-sunday .poster-date,.poster-sunday .poster-weekday { color:#a13b3b; }
.poster-holiday { box-shadow:inset 0 0 0 .25mm #efb0ac; }
.status-TS { background:#d6e4ef; color:#1f3546; }
.status-NS { background:#d6e4ef; color:#1f3546; }
.status-U { background:#789a76; color:#111827; }
.status-FS { background:#b9d2c7; color:#27483e; }
.status-SU { background:#d9c4ef; color:#4b2b69; }
.status-KR { background:#e8b6b6; color:#6d2020; }
.status-ZT { background:#d6c49b; color:#4d3a10; }
.status-GT { background:#c7e7df; color:#155e55; }
.status-AFZ { background:#bfc9d7; color:#26364d; }
.status-ST { background:#c9c9c9; color:#222; }
.status-free { background:#f4f1e9; color:#666; }
.status-off { background:transparent; }
.poster-legend {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:1.6mm 4mm;
  margin-top:2.4mm;
  font-size:6pt;
  flex:0 0 auto;
}
.poster-legend-item { display:inline-flex; align-items:center; gap:1mm; }
.poster-legend-box { width:7mm; height:4mm; display:inline-flex; align-items:center; justify-content:center; font-size:5.5pt; font-weight:900; border:.15mm solid rgba(0,0,0,.14); }

/* ── Analyse Blatt 4 / Schichtliste als Einzeldruck ─────────────── */
.layout-shiftlist {
  width:210mm;
  height:297mm;
  padding:8mm;
}
.shiftlist-months {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(4,minmax(0,1fr));
  gap:3mm 4mm;
  flex:1 1 auto;
  min-height:0;
}
.shiftlist-month { min-height:0; overflow:hidden; }
.shiftlist-month-name {
  display:flex; justify-content:space-between;
  border-bottom:.35mm solid #555;
  margin-bottom:.6mm; padding-bottom:.5mm;
  font-size:7.4pt; font-weight:900;
}
.shiftlist-month-name span { color:#6b7280; font-weight:750; }
.shiftlist-row {
  display:grid;
  grid-template-columns:12mm 6mm 8mm minmax(0,1fr);
  gap:.8mm;
  align-items:center;
  padding:.38mm .7mm;
  border-bottom:.12mm solid #e1e3e7;
  font-size:6.2pt;
  line-height:1.05;
}
.shiftlist-row strong,.shiftlist-row b { text-align:right; }
.shiftlist-row span,.shiftlist-row strong,.shiftlist-row b { min-width:0; white-space:nowrap; }
.shiftlist-row.is-holiday { background:#ffecec; }
.shiftlist-row.is-entry { background:#f0f3f7; }
.shiftlist-note {
  margin-top:2.2mm;
  padding:1.5mm 2mm;
  font-size:6.2pt;
  line-height:1.35;
  color:#5f6672;
  background:#f7f8fa;
  border-left:.7mm solid #5b9bd5;
  flex:0 0 auto;
}
.print-bw .status-TS,.print-bw .status-NS,.print-bw .status-U,.print-bw .status-FS,
.print-bw .status-SU,.print-bw .status-KR,.print-bw .status-ZT,.print-bw .status-AFZ,
.print-bw .status-ST,.print-bw .status-free { background:#eee; color:#111; border:.12mm solid #777; }

/* H-01: Druckdialog-Hinweis nur in der Bildschirmvorschau. */
.druck-dialog-hinweis { display:block; margin-top:4px; }
@media print { .druck-dialog-hinweis { display:none !important; } }

/* Standalone - erweiterte Grundlayouts */
.simple-print-head {
  align-items:center;
  margin-bottom:1.2mm;
  padding-bottom:1.2mm;
  border-bottom:.25mm solid #d4d7dd;
}
.print-person,.print-group { font-size:8pt; font-weight:850; color:#343943; }
.print-layout-title { text-align:center; font-size:11pt; font-weight:900; margin:0 0 2mm; flex:0 0 auto; }

.layout-halfyear .yg-cell { height:22.4mm; }
.layout-halfyear .dp-number,.layout-halfyear .dp-weekday { font-size:7pt; }
.layout-halfyear .dp-entry { font-size:11pt; }
.layout-halfyear .dp-shift { font-size:6.8pt; }
.layout-halfyear .dp-holiday { font-size:5.4pt; min-height:4mm; }

.layout-leisure .yg-cell { height:11.55mm; }
.layout-leisure .yg-free-block { background:#d8f2e4; box-shadow:inset 0 .3mm 0 #89b99f,inset 0 -.3mm 0 #89b99f; }
.layout-leisure .e-U,.layout-leisure .e-FS,.layout-leisure .e-AFZ,.layout-leisure .e-ZT { outline:.45mm solid rgba(62,113,83,.45); outline-offset:-.6mm; }
.layout-leisure .dp-shift { opacity:.72; font-size:4.9pt; }

.timeline-quarters { display:grid; grid-template-rows:repeat(4,1fr); gap:3mm; flex:1 1 auto; min-height:0; }
.timeline-quarter { min-height:0; display:grid; grid-template-rows:5mm 1fr; }
.timeline-label { font-size:7pt; font-weight:900; display:flex; align-items:center; }
.timeline-days { display:grid; grid-auto-flow:column; grid-auto-columns:1fr; min-height:0; border:.25mm solid #9ea4ad; }
.band-day { position:relative; min-width:0; border-left:.12mm solid #d7dae0; display:grid; grid-template-rows:auto auto 1fr; align-items:center; justify-items:center; padding:.35mm .05mm; overflow:visible; font-size:4.3pt; }
.band-day.month-start { border-left:.6mm solid #5e6570; }
.band-day.month-start::before { content:attr(data-month); position:absolute; top:-4.2mm; left:.2mm; font-size:4.4pt; font-weight:900; white-space:nowrap; color:#4b5260; }
.band-num { font-weight:900; font-size:4.8pt; }
.band-weekday { font-size:3.9pt; font-weight:750; color:#59606b; }
.band-code { align-self:center; font-size:5.3pt; }
.band-holiday-name { display:none; }
.band-sunday { box-shadow:inset 0 0 0 .25mm #dba0a0; }
.band-holiday { outline:.35mm solid #c96363; outline-offset:-.45mm; }
.band-free { background:var(--p-free); }
.band-free-strong { background:#ccebdc; box-shadow:inset 0 0 0 .3mm #90bda5; }

.weeks-grid { display:grid; grid-template-columns:9mm repeat(53,minmax(0,1fr)); grid-template-rows:7mm repeat(7,1fr); flex:1 1 auto; min-height:0; border:.25mm solid #969ca5; overflow:hidden; }
.weeks-corner,.weeks-head,.weeks-row-head { display:flex; align-items:center; justify-content:center; background:#eceef1; border-right:.12mm solid #cdd1d7; border-bottom:.12mm solid #cdd1d7; font-weight:900; }
.weeks-head { font-size:4.4pt; writing-mode:vertical-rl; transform:rotate(180deg); }
.weeks-row-head { font-size:6pt; }
.week-day { min-width:0; position:relative; display:grid; grid-template-rows:auto 1fr; align-items:center; justify-items:center; border-right:.12mm solid #d7dae0; border-bottom:.12mm solid #d7dae0; padding:.25mm 0; overflow:hidden; }
.week-day span { font-size:4.2pt; font-weight:800; }
.week-day b { font-size:5pt; }
.week-sunday { box-shadow:inset 0 0 0 .25mm #dba0a0; }
.week-holiday { outline:.35mm solid #c96363; outline-offset:-.45mm; }
.week-free { background:var(--p-free); }
.outside-year { background:#f0f0f0; }

/* Standalone – €“ einheitliche Arbeits-/Freizeitmarkierung in Spalten und Wochenmatrix */
.layout-poster .status-TS,.layout-poster .status-NS,
.layout-weeks .status-TS,.layout-weeks .status-NS { background:#d6e4ef; color:#1f3546; }
.layout-poster .status-free,.layout-weeks .status-free { background:#d8f2e4; color:#28543f; }

/* Neue Grundlayouts */
.layout-yeargrid .overview-months { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:2mm; flex:1 1 auto; min-height:0; }
.layout-yeargrid .detail-month { min-height:0; }
.layout-yeargrid .detail-month-title { font-size:6pt; padding:.5mm; }
.layout-yeargrid .detail-day { min-height:0; padding:.15mm; }
.layout-yeargrid .detail-number,.layout-yeargrid .detail-weekday { font-size:4.2pt; }
.layout-yeargrid .detail-holiday { font-size:3.3pt; min-height:2.6mm; }
.layout-yeargrid .detail-entry { font-size:5pt; }
.layout-yeargrid .detail-shift { font-size:4pt; }

.layout-doublemonth .overview-months { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4mm; flex:1 1 auto; min-height:0; }
.layout-doublemonth .detail-day { min-height:19mm; }
.layout-doublemonth .detail-month-title { font-size:11pt; }
.layout-doublemonth .detail-number,.layout-doublemonth .detail-weekday { font-size:7pt; }
.layout-doublemonth .detail-holiday { font-size:5.6pt; }
.layout-doublemonth .detail-entry { font-size:10pt; }
.layout-doublemonth .detail-shift { font-size:6.5pt; }

.layout-monthpage .overview-months { grid-template-columns:1fr; flex:1 1 auto; min-height:0; }
.layout-monthpage .detail-day { min-height:26mm; }
.layout-monthpage .detail-month-title { font-size:14pt; }
.layout-monthpage .detail-number,.layout-monthpage .detail-weekday { font-size:9pt; }
.layout-monthpage .detail-holiday { font-size:7pt; }
.layout-monthpage .detail-entry { font-size:14pt; }
.layout-monthpage .detail-shift { font-size:8pt; }

@media print {
  .layout-halfyear,.layout-timeline,.layout-weeks,.layout-leisure,.layout-yeargrid,.layout-doublemonth,.layout-monthpage { width:297mm; height:210mm; }
}

/* Standalone – €“ Feedback #50 Monatsspalten */
.layout-poster .poster-free-block { background:#4f765f; }
.layout-poster .poster-free-block .poster-date,
.layout-poster .poster-free-block .poster-weekday { color:#fff; }
.layout-poster .poster-free-block .poster-status.status-free { background:#4f765f; color:#fff; }
.layout-poster .poster-sick-day { background:#f1cccc; }
.layout-poster .poster-sick-day .poster-date,
.layout-poster .poster-sick-day .poster-weekday { color:#6d2020; }
.layout-poster .poster-sick-day .poster-status { background:#e8b6b6; color:#6d2020; }
.layout-poster .poster-specialday .poster-weekday { color:#b42323; font-weight:900; }

/* Standalone – €“ Feedback #55: Jahresraster sicher innerhalb DIN A4 */
@media print {
  .layout-yeargrid{width:287mm !important;height:200mm !important;max-width:287mm !important;max-height:200mm !important;overflow:hidden !important;box-sizing:border-box !important;}
  .layout-yeargrid .overview-months{gap:1.2mm !important;}
  .layout-yeargrid .legend{margin-top:.6mm !important;}
}
@media print{body{background:#fff}.no-print{display:none!important}.container{max-width:none!important;width:auto!important;margin:0!important;padding:0!important}.vorschau-huelle{overflow:visible!important;padding:0!important}.print-area{width:auto!important;min-width:0!important}}

/* Standalone Multi-Employee UI */
.simple-app{max-width:1180px}.simple-topbar{position:sticky;top:0;z-index:20}.privacy-note{max-width:1180px;margin:16px auto 0;padding:12px 16px;border:1px solid rgba(148,163,184,.25);border-radius:14px;background:rgba(15,23,42,.7);font-size:.92rem}.simple-controls,.calendar-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.calendar-controls{grid-template-columns:2fr 1fr 1.3fr}.compact-row{margin-top:10px}.main-action{margin-top:14px}.import-result{margin-top:14px;padding:14px;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:rgba(2,6,23,.38)}.mode-banner{font-weight:800;font-size:1.05rem}.mode-banner.good{color:#86efac}.mode-banner.warn{color:#fbbf24}.single-preview{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:10px;padding:12px;border-radius:12px;background:rgba(15,23,42,.55)}.single-preview strong{font-size:1.05rem}.identity{display:block;margin-top:4px;opacity:.78}.identity.exact{color:#86efac}.identity.warn{color:#fbbf24}.table-scroll{overflow:auto;margin-top:12px;border-radius:12px;border:1px solid rgba(148,163,184,.2)}.preview-table{width:100%;border-collapse:collapse;min-width:930px;background:rgba(15,23,42,.42)}.preview-table th,.preview-table td{padding:8px 9px;border-bottom:1px solid rgba(148,163,184,.14);text-align:left;vertical-align:middle}.preview-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.preview-table select,.preview-table input{min-width:80px}.preview-table .cell-input{min-width:160px}.warning-box{margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25)}.link-button{margin-top:8px;border:0;background:transparent;color:#93c5fd;text-decoration:underline;cursor:pointer}.more-panel>summary{display:flex;justify-content:space-between;gap:18px;align-items:center;cursor:pointer;list-style:none}.more-panel>summary span{font-size:.9rem;opacity:.65}.dashboard-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.dashboard-mini>div{padding:12px;border-radius:12px;background:rgba(15,23,42,.5);display:flex;flex-direction:column}.dashboard-mini b{font-size:1.1rem}.dashboard-mini span{font-size:.78rem;opacity:.65}.manage-list{display:grid;gap:8px}.manage-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:12px}.manage-row div{display:flex;flex-direction:column}.manage-row small{opacity:.68}.btn.danger{background:#7f1d1d;border-color:#991b1b;color:white}.btn.small{padding:7px 10px;font-size:.82rem}.danger-zone{margin-top:22px;padding-top:16px;border-top:1px solid rgba(239,68,68,.25)}.aliases-more{margin-top:18px}.calendar-controls label,.simple-controls label{min-width:0}@media(max-width:760px){.simple-controls,.calendar-controls,.dashboard-mini{grid-template-columns:1fr}.more-panel>summary{align-items:flex-start;flex-direction:column;gap:2px}.topbar.simple-topbar{position:relative}.privacy-note{margin:10px 10px 0}}

/* v1.1 – konsistentes, helles Standalone-Design */
.topbar-right{display:flex;align-items:center;gap:8px}.version-badge{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);font-size:11px;font-weight:800}.privacy-note{color:#243140;background:#f8fafc;border-color:#d8e0e9}.import-result{background:#f8fafc;border-color:#d8e0e9}.mode-banner.good{color:#21623a}.mode-banner.warn{color:#8a5a00}.single-preview{background:#fff;border:1px solid #d8e0e9}.identity.exact{color:#21623a}.identity.warn{color:#8a5a00}.table-scroll{border-color:#d8e0e9}.preview-table{background:#fff}.preview-table th,.preview-table td{border-bottom-color:#e3e8ee}.warning-box{background:#fff8e8;border-color:#ead6a5;color:#604a16}.link-button{color:#244f78}.dashboard-mini>div{background:#f7f9fb;border:1px solid #dfe5ec}.manage-row{border-color:#dfe5ec;background:#fff}.more-panel>summary span,.dashboard-mini span,.manage-row small{color:#697586;opacity:1}.more-panel{background:#fff}.aliases-more .aliases span{background:#f8fafc}.simple-controls select,.simple-controls input,.calendar-controls select{background:#fff}.simple-app textarea{background:#fff}.simple-app .btn.primary{box-shadow:0 1px 2px rgba(0,0,0,.08)}

/* v1.4 – zusätzliche DIN-A4-/DIN-A5-Jahresdrucke */
.layout-yearstats .overview-months{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:1.4mm;
  flex:1 1 auto;
  min-height:0;
}
.layout-yearstats .detail-month{min-height:0}
.layout-yearstats .detail-month-title{font-size:5.7pt;margin-bottom:.4mm}
.layout-yearstats .detail-grid{grid-template-rows:3.5mm repeat(6,1fr)}
.layout-yearstats .detail-head{font-size:4.1pt}
.layout-yearstats .detail-day{padding:.08mm;min-height:0}
.layout-yearstats .detail-top{gap:.3mm}
.layout-yearstats .detail-number,.layout-yearstats .detail-weekday{font-size:3.7pt}
.layout-yearstats .detail-holiday{display:none}
.layout-yearstats .detail-entry{font-size:4.6pt}
.layout-yearstats .detail-shift{font-size:3.6pt;min-height:1.4mm}
.yearstats-bottom{display:grid;grid-template-columns:1.45fr .75fr;gap:3mm;margin-top:1.5mm;flex:0 0 auto}
.annual-stats{border:.2mm solid #cbd2da;border-radius:1.4mm;background:#f8fafc;padding:1.4mm 2mm}
.annual-stats-title{font-size:6.4pt;font-weight:900;margin-bottom:1mm;color:#17365d}
.annual-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8mm 2mm}
.annual-stats-grid>div{display:grid;grid-template-columns:6mm 1fr auto;gap:1mm;align-items:center;font-size:5.4pt;min-width:0}
.stats-code{display:inline-flex;align-items:center;justify-content:center;height:4mm;border-radius:.8mm;font-size:5pt}
.annual-stats-grid strong{font-size:6pt}
.yearstats-notes{display:grid;grid-template-rows:auto repeat(3,1fr);gap:.8mm;border:.2mm solid #cbd2da;border-radius:1.4mm;padding:1.4mm 2mm;font-size:6pt}
.yearstats-notes strong{color:#17365d}
.yearstats-notes span{border-bottom:.18mm solid #cbd2da}
.annual-stats-compact{padding:.8mm 1.2mm;margin-top:.8mm}
.annual-stats-compact .annual-stats-title{font-size:5pt;margin-bottom:.5mm}
.annual-stats-compact .annual-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5mm}
.annual-stats-compact .annual-stats-grid>div{grid-template-columns:4mm 1fr auto;font-size:4pt;gap:.4mm}
.annual-stats-compact .stats-code{height:3mm;font-size:4pt}
.annual-stats-compact .annual-stats-grid strong{font-size:4.4pt}

/* DIN A5 quer – 12 Monate auf einer Seite */
.layout-a5yeargrid,
.layout-a5halfyear,
.layout-a5cycles{
  width:210mm;
  height:148mm;
  padding:5mm;
}
.layout-a5yeargrid .simple-print-head,
.layout-a5halfyear .simple-print-head,
.layout-a5cycles .simple-print-head{margin-bottom:.6mm;padding-bottom:.6mm}
.layout-a5yeargrid .print-person,.layout-a5yeargrid .print-group,
.layout-a5halfyear .print-person,.layout-a5halfyear .print-group,
.layout-a5cycles .print-person,.layout-a5cycles .print-group{font-size:5pt}
.layout-a5yeargrid .print-layout-title,
.layout-a5halfyear .print-layout-title,
.layout-a5cycles .print-layout-title{font-size:7pt;margin-bottom:1mm}
.layout-a5yeargrid .overview-months{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:1mm;
  flex:1 1 auto;
  min-height:0;
}
.layout-a5yeargrid .detail-month-title{font-size:4.6pt;margin-bottom:.25mm}
.layout-a5yeargrid .detail-grid{grid-template-rows:2.5mm repeat(6,1fr)}
.layout-a5yeargrid .detail-head{font-size:3.2pt}
.layout-a5yeargrid .detail-day{padding:.02mm;min-height:0}
.layout-a5yeargrid .detail-top{gap:.15mm}
.layout-a5yeargrid .detail-number{font-size:3.2pt}
.layout-a5yeargrid .detail-weekday,.layout-a5yeargrid .detail-holiday{display:none}
.layout-a5yeargrid .detail-entry{font-size:3.9pt}
.layout-a5yeargrid .detail-shift{font-size:2.9pt;min-height:1mm}
.layout-a5yeargrid .sheet-foot{margin-top:.5mm;font-size:4pt}
.layout-a5yeargrid .annual-stats-compact{margin-top:.6mm}

/* DIN A5 quer – Halbjahr auf zwei Seiten */
.layout-a5halfyear .overview-months{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:1.8mm;
  flex:1 1 auto;
  min-height:0;
}
.layout-a5halfyear .detail-month-title{font-size:6pt;margin-bottom:.5mm}
.layout-a5halfyear .detail-grid{grid-template-rows:3.4mm repeat(6,1fr)}
.layout-a5halfyear .detail-head{font-size:4pt}
.layout-a5halfyear .detail-day{padding:.18mm;min-height:0}
.layout-a5halfyear .detail-number,.layout-a5halfyear .detail-weekday{font-size:4pt}
.layout-a5halfyear .detail-holiday{font-size:2.8pt;min-height:1.8mm}
.layout-a5halfyear .detail-entry{font-size:5.8pt}
.layout-a5halfyear .detail-shift{font-size:3.5pt;min-height:1.5mm}
.layout-a5halfyear .legend{margin-top:.8mm;font-size:4.1pt;gap:.5mm 1.4mm}
.layout-a5halfyear .legend-box{width:3.8mm;height:2.7mm;font-size:3.6pt}
.layout-a5halfyear .sheet-foot{margin-top:.4mm;font-size:4pt}

/* DIN A5 quer – 13 echte 28-Tage-Zyklen */
.cycles-grid{display:grid;grid-auto-rows:minmax(0,1fr);gap:.4mm;flex:1 1 auto;min-height:0}
.cycle-row{display:grid;grid-template-columns:24mm 1fr;gap:1mm;min-height:0}
.cycle-label{display:flex;flex-direction:column;justify-content:center;padding:.3mm .7mm;border:.15mm solid #d4d9df;border-radius:.8mm;background:#f8fafc;min-width:0}
.cycle-label b{font-size:4.5pt;color:#17365d}
.cycle-label span{font-size:3.5pt;color:#697586;white-space:nowrap}
.cycle-days{display:grid;grid-template-columns:repeat(28,minmax(0,1fr));border:.15mm solid #b8c0c9;min-height:0}
.cycle-day{display:grid;grid-template-rows:auto 1fr;align-items:center;justify-items:center;min-width:0;padding:.08mm 0;border-right:.08mm solid #d9dde2;overflow:hidden;background:#fff}
.cycle-day:last-child{border-right:0}
.cycle-day span{font-size:2.7pt;font-weight:700;color:#4b5563;line-height:1}
.cycle-day b{font-size:3.7pt;line-height:1}
.cycle-day.status-TS{background:#d9effb}.cycle-day.status-NS{background:#2f68a1;color:#fff}
.cycle-day.status-NS span{color:#e8f2fb}.cycle-day.status-free{background:#edf0f2}
.cycle-day.status-FS{background:#bce8bd}.cycle-day.status-U{background:#ffe16c}.cycle-day.status-ST{background:#ffb06b}
.cycle-day.cycle-sunday{box-shadow:inset 0 0 0 .15mm #df9f9f}.cycle-day.cycle-holiday{outline:.2mm solid #c65f5f;outline-offset:-.2mm}
.cycle-day.outside-year{opacity:.35;filter:grayscale(.4)}
.layout-a5cycles .annual-stats-compact{margin-top:.7mm}
.layout-a5cycles .sheet-foot{margin-top:.3mm;font-size:4pt}

/* DIN A5 hoch – Jahresübersicht mit Notizen */
.layout-a5notes{
  width:148mm;
  height:210mm;
  padding:5mm;
}
.layout-a5notes .simple-print-head{margin-bottom:.6mm;padding-bottom:.6mm}
.layout-a5notes .print-person,.layout-a5notes .print-group{font-size:5pt}
.layout-a5notes .print-layout-title{font-size:7.2pt;margin-bottom:1mm}
.layout-a5notes .overview-months{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(4,minmax(0,1fr));
  gap:1.1mm;
  flex:1 1 auto;
  min-height:0;
}
.layout-a5notes .detail-month-title{font-size:4.9pt;margin-bottom:.3mm}
.layout-a5notes .detail-grid{grid-template-rows:2.7mm repeat(6,1fr)}
.layout-a5notes .detail-head{font-size:3.2pt}
.layout-a5notes .detail-day{padding:.02mm;min-height:0}
.layout-a5notes .detail-number{font-size:3.2pt}.layout-a5notes .detail-weekday,.layout-a5notes .detail-holiday{display:none}
.layout-a5notes .detail-entry{font-size:3.9pt}.layout-a5notes .detail-shift{font-size:2.8pt;min-height:1mm}
.a5-notes{display:grid;grid-template-columns:15mm repeat(4,1fr);align-items:end;gap:1.5mm;margin-top:1.2mm;padding:1.2mm 1.5mm;border:.2mm solid #cbd2da;border-radius:1.2mm;font-size:5pt;flex:0 0 auto}
.a5-notes strong{color:#17365d}.a5-notes span{border-bottom:.18mm solid #cbd2da;height:5mm}
.layout-a5notes .sheet-foot{font-size:4pt;margin-top:.6mm}

@media print{
  .layout-yearstats{width:297mm;height:210mm}
  .layout-a5yeargrid,.layout-a5halfyear,.layout-a5cycles{width:210mm !important;height:148mm !important;margin:0 !important}
  .layout-a5notes{width:148mm !important;height:210mm !important;margin:0 !important}
}

/* v1.5 – Druckoptionen / Demo / Farbschemata */
.print-customizer{margin-top:14px;border:1px solid #d8e0e9;border-radius:14px;background:#f8fafc;overflow:hidden}
.print-customizer>summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;list-style:none;color:#243140}
.print-customizer>summary::-webkit-details-marker{display:none}
.print-customizer>summary span{font-size:12px;font-weight:600;color:#697586}
.print-customizer[open]>summary{border-bottom:1px solid #dfe5ec;background:#fff}
.customizer-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:12px;padding:14px 14px 0}
.customizer-title small{font-size:11px;color:#697586;font-weight:500}
.option-toggles{display:flex;flex-wrap:wrap;gap:8px 14px;padding:12px 14px}
.option-toggles label{display:inline-flex;grid-template-columns:auto auto;align-items:center;gap:7px;padding:6px 9px;border:1px solid #dfe5ec;border-radius:9px;background:#fff;font-size:12px}
.option-toggles input{width:auto;margin:0}
.color-customizer{margin:0 14px 12px;padding:12px;border:1px solid #d8e0e9;border-radius:12px;background:#fff}
.color-customizer>strong{display:block;margin-bottom:9px;color:#17365d;font-size:12px}
.color-grid{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:8px}
.color-grid label{font-size:11px}
.color-grid input[type=color]{height:34px;padding:2px;border-radius:8px}
.customizer-actions{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:0 14px 14px}
.customizer-actions span{font-size:11px;color:#697586}
.demo-pill{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;background:#e7f0fa;color:#244f78;font-size:10px;vertical-align:middle}
.demo-lock{font-size:11px;font-weight:800;color:#526174;padding:5px 8px;border:1px solid #d8e0e9;border-radius:999px;background:#f8fafc}

.print-head-meta{display:flex;align-items:flex-end;gap:2.4mm;min-width:0;flex-wrap:wrap;justify-content:flex-end}
.print-counts-mini{font-size:5.4pt;color:#526174;font-weight:800;white-space:nowrap}
.empty-print-head{display:none!important}
.print-layout-title.has-custom-title{display:flex;align-items:baseline;justify-content:space-between;gap:3mm;min-width:0}
.print-layout-title.has-custom-title strong{font:inherit;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.print-layout-title.has-custom-title small{font-size:.7em;font-weight:650;color:#697586;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}
.opt-no-legend .legend,.opt-no-legend .poster-legend{display:none!important}
.opt-no-stats .annual-stats{display:none!important}
.opt-no-stats .yearstats-bottom{grid-template-columns:1fr}
.opt-no-footer .sheet-foot{display:none!important}

/* Einheitliche frei wählbare Druckfarben. */
.print-area{--custom-ts:#bfe7fb;--custom-ns:#2f68a1;--custom-f:#edf0f2;--custom-fs:#bce8bd;--custom-u:#ffe16c;--custom-st:#ffb06b}
.print-area:not(.print-bw) .status-TS,.print-area:not(.print-bw) .cycle-day.status-TS{background:var(--custom-ts)!important;color:#16324a!important}
.print-area:not(.print-bw) .status-NS,.print-area:not(.print-bw) .cycle-day.status-NS{background:var(--custom-ns)!important;color:#fff!important}
.print-area:not(.print-bw) .status-free,.print-area:not(.print-bw) .cycle-day.status-free{background:var(--custom-f)!important;color:#46515e!important}
.print-area:not(.print-bw) .status-FS,.print-area:not(.print-bw) .cycle-day.status-FS{background:var(--custom-fs)!important;color:#173f2a!important}
.print-area:not(.print-bw) .status-U,.print-area:not(.print-bw) .cycle-day.status-U{background:var(--custom-u)!important;color:#3d3100!important}
.print-area:not(.print-bw) .status-ST,.print-area:not(.print-bw) .cycle-day.status-ST{background:var(--custom-st)!important;color:#3a1d00!important}
.print-area:not(.print-bw) .e-FS{background:color-mix(in srgb,var(--custom-fs) 62%,white)!important}
.print-area:not(.print-bw) .e-U{background:color-mix(in srgb,var(--custom-u) 58%,white)!important}
.print-area:not(.print-bw) .e-ST{background:color-mix(in srgb,var(--custom-st) 50%,white)!important}

/* Safe-area-Regeln: Zusatzoptionen dürfen kein Layout über die Papierkante drücken. */
.sheet{max-width:100%;max-height:100%}
.layout-a5yeargrid .print-head-meta,.layout-a5halfyear .print-head-meta,.layout-a5cycles .print-head-meta,.layout-a5notes .print-head-meta{gap:1mm}
.layout-a5yeargrid .print-counts-mini,.layout-a5halfyear .print-counts-mini,.layout-a5cycles .print-counts-mini,.layout-a5notes .print-counts-mini{font-size:3.6pt}
.layout-a5yeargrid .print-layout-title.has-custom-title small,.layout-a5halfyear .print-layout-title.has-custom-title small,.layout-a5cycles .print-layout-title.has-custom-title small,.layout-a5notes .print-layout-title.has-custom-title small{font-size:3.8pt;max-width:38%}
.layout-a5yeargrid .print-layout-title.has-custom-title strong,.layout-a5halfyear .print-layout-title.has-custom-title strong,.layout-a5cycles .print-layout-title.has-custom-title strong,.layout-a5notes .print-layout-title.has-custom-title strong{font-size:6.5pt}

@media(max-width:760px){
  .customizer-grid{grid-template-columns:1fr}
  .color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .customizer-actions{align-items:flex-start;flex-direction:column}
  .print-customizer>summary{align-items:flex-start;flex-direction:column;gap:3px}
}
@media print{
  .print-customizer{display:none!important}
  .sheet{box-shadow:none!important}
}

.seto-back{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;text-decoration:none;font-size:.82rem;font-weight:800}.seto-back:hover{background:#f8fafc;border-color:#94a3b8}
