*{box-sizing:border-box}
:root{--navy:#061327;--cream:#f5ecde;--line:#ead8bd;--red:#ef5b51;--blue:#4f95d8}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,sans-serif;background:#071326;color:#fff}
.script{font-family:"Great Vibes",cursive}
body.locked{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(255,140,110,.30),transparent 38%),radial-gradient(circle at 85% 95%,rgba(239,91,81,.35),transparent 32%),linear-gradient(135deg,#061327 0%,#10172b 54%,#7b2d3b 100%)}
body.locked .poster{display:none!important}
body:not(.locked) #maintenanceGate{display:none!important}
.maintenance-gate{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 75% 15%,rgba(255,150,120,.26),transparent 38%),radial-gradient(circle at 15% 20%,rgba(50,130,210,.14),transparent 32%),linear-gradient(135deg,#061327 0%,#10172b 48%,#5f2437 78%,#c66b5a 125%);color:#fff}
.maintenance-gate:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.maintenance-card{position:relative;width:min(560px,100%);padding:42px 34px 36px;border:1px solid rgba(255,255,255,.22);border-radius:28px;background:rgba(6,19,39,.42);box-shadow:0 30px 90px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.04);backdrop-filter:blur(14px);text-align:center}
.maintenance-logo{width:min(310px,82vw);height:auto;cursor:pointer;user-select:none;margin:0 auto 28px;display:block;filter:drop-shadow(0 0 14px rgba(255,86,130,.45)) drop-shadow(0 0 18px rgba(74,220,255,.34));transition:transform .18s ease,filter .18s ease}
.maintenance-logo:hover{transform:scale(1.035)}
.maintenance-card h1{margin:0;font-size:clamp(30px,5vw,48px);line-height:1.05;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.maintenance-card p{margin:16px auto 0;max-width:430px;color:rgba(255,255,255,.82);font-size:16px;line-height:1.5}
.poster{width:min(1180px,100%);min-height:auto;margin:24px auto;overflow:hidden;color:white;position:relative;background:radial-gradient(circle at 84% 10%,rgba(255,166,132,.40) 0,rgba(255,166,132,.18) 18%,transparent 40%),radial-gradient(circle at 86% 96%,rgba(255,108,82,.36) 0,transparent 30%),linear-gradient(90deg,#021a3a 0%,#06224c 13%,#1e1f47 34%,#56243c 58%,#a94c52 82%,#d3886d 100%);box-shadow:0 25px 80px rgba(0,0,0,.55)}
.noise:before{content:"";position:absolute;inset:0;opacity:.028;pointer-events:none;background-size:460px 460px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}
.header{position:relative;min-height:330px;padding:48px 56px 28px}
.header-grid{display:grid;grid-template-columns:300px 1fr;gap:38px;align-items:center}
.header-logo-wrap{min-height:240px;display:flex;align-items:center;justify-content:center}
.main-logo{width:300px;max-width:100%;height:auto;display:block;object-fit:contain;cursor:pointer;filter:drop-shadow(0 0 10px rgba(255,86,130,.45)) drop-shadow(0 0 14px rgba(74,220,255,.3))}
.title{font-size:54px;line-height:1.12;font-weight:900;letter-spacing:.065em;margin:0;text-shadow:0 3px 14px rgba(0,0,0,.22)}
.subtitle{margin-top:16px;font-size:22px;letter-spacing:.02em}
.header-features{display:flex;gap:48px;align-items:center;justify-content:flex-start;margin-top:54px}
.feature{display:flex;align-items:center;gap:14px;text-transform:uppercase;font-weight:800;font-size:11px;letter-spacing:.04em;line-height:1.18;min-width:155px}
.feature .ico{flex:0 0 42px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,108,116,.86);display:flex;align-items:center;justify-content:center;font-size:18px;color:#ff7a80}
.panel{border:1px solid rgba(255,255,255,.34);border-radius:9px;background:linear-gradient(180deg,rgba(18,29,55,.30),rgba(8,19,39,.18));box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.allergen-box{margin:0 22px;padding:24px;overflow:hidden}
.grid-legend{display:grid;grid-template-columns:138px repeat(12,1fr);gap:11px;align-items:start}
.grid-add{display:grid;grid-template-columns:155px repeat(14,minmax(52px,1fr));column-gap:4px;align-items:start;overflow:visible}
.tag-red,.tag-blue{width:145px;min-height:48px;display:flex;align-items:center;justify-content:center;padding:0 28px 0 12px;font-weight:800;letter-spacing:.04em;font-size:13px;line-height:1;clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%);white-space:nowrap;text-align:center}
.tag-red{background:linear-gradient(90deg,#913047 0%,#b54f59 100%)}
.tag-blue{background:linear-gradient(90deg,#2f5f9d 0%,#5a8ed4 100%)}
.circle{width:36px;height:36px;border-radius:999px;border:1.5px solid #ff8b8f;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:#fff}
.small-copy{font-size:9px;line-height:1.28;color:rgba(255,255,255,.9)}
.add-item{min-width:52px;padding:0 4px;text-align:center}
.add-num{font-size:18px;line-height:1;font-weight:800;margin-bottom:5px}
.add-copy{font-size:8.8px;line-height:1.18;max-width:68px;margin:0 auto;color:rgba(255,255,255,.94)}
.separator{height:1px;background:rgba(255,255,255,.25);margin:20px 0}
.content{padding:0 22px;margin-top:18px}
#tables{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
.card{background:var(--cream);color:#071326;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.card-title{height:46px;min-height:46px;background:linear-gradient(90deg,#8b263b 0%,#6f2336 34%,#2c2342 100%);color:#fff;display:flex;align-items:center;padding:0 16px;font-weight:800;letter-spacing:.08em;font-size:16px;position:relative}
.table-title-text{display:block;width:calc(100% - 76px);max-width:calc(100% - 76px);min-height:28px;line-height:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;unicode-bidi:plaintext}
table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px;margin-bottom:0;border-bottom:0}
th{height:34px;font-weight:900}
td{height:25px;font-weight:700}
th:first-child,td:first-child{text-align:left;padding-left:13px;width:40%}
th:not(:first-child),td:not(:first-child){text-align:center;border-left:1px solid var(--line)}
tr{border-bottom:1px solid var(--line)}
tbody tr:last-child,tbody tr:last-child td{border-bottom:none}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle}
.r{background:var(--red)}
.zcell{display:block;white-space:normal;overflow:visible;line-height:1.05;font-size:9px;letter-spacing:-.04em;padding:0 1px;word-break:break-word;color:#2b6fb3;font-weight:900}
.bottom-original{display:grid;grid-template-columns:350px 1fr 330px;gap:34px;align-items:center;margin-top:24px;padding:0 0 26px}
.bottom-hinweis{min-height:205px;padding:22px 24px;border-radius:14px;background:linear-gradient(180deg,rgba(6,22,48,.26),rgba(4,13,30,.18));border:1px solid rgba(255,255,255,.36)}
.bottom-title{font-weight:900;letter-spacing:.11em;font-size:18px;margin-bottom:12px}
.bottom-hinweis p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.88);margin:0;font-weight:600}
.editable-date{display:inline-block;min-width:72px}
.bottom-thanks{text-align:center;padding-top:18px}
.thanks-script{font-size:54px;line-height:.95;color:#fff;text-shadow:0 0 4px rgba(255,255,255,.45),0 0 10px rgba(255,255,255,.10);transform:rotate(-1deg)}
.thanks-line-wrap{position:relative;width:390px;height:42px;margin:0 auto}
.thanks-line{position:absolute;left:50%;translate:-50% 0;top:20px;width:320px;border-top:3px solid #ff7378;border-radius:999px;box-shadow:0 0 7px rgba(255,115,120,.45)}
.thanks-sub{margin-top:0;font-size:15px;color:rgba(255,255,255,.88);letter-spacing:.01em}
.bottom-contact{display:flex;flex-direction:column;gap:20px;justify-content:center;font-size:16px;line-height:1.25;color:rgba(255,255,255,.92);font-weight:600}
.contact-row{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center}
.contact-icon{font-size:34px;line-height:1;text-align:center;filter:drop-shadow(0 0 5px rgba(255,255,255,.15))}
.admin-toolbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9999;display:none;gap:10px;align-items:center;padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(6,19,39,.94);backdrop-filter:blur(12px);box-shadow:0 15px 50px rgba(0,0,0,.35);color:#fff;font:600 13px Inter,system-ui,sans-serif}
.admin-toolbar button{background:#ef5b51;color:#fff;border:0;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:800}
.admin-toolbar button.secondary{background:#24466d}
.admin-toolbar #addTable{background:#2f7d59}
#saveStatus.saving{color:#f6c36b}
#saveStatus.saved{color:#7ee0a1}
#saveStatus.error{color:#ff8f8f}
.admin-mode [contenteditable="true"]{outline:1.5px dashed rgba(79,149,216,.9);outline-offset:2px;cursor:text}
.admin-mode td[data-cell]{cursor:pointer}
.admin-mode td[data-cell]:hover{background:rgba(79,149,216,.16)}
.admin-hint{position:fixed;right:18px;bottom:18px;z-index:9998;display:none;max-width:300px;padding:12px 14px;border-radius:12px;background:rgba(6,19,39,.94);color:#fff;font:500 12px Inter,system-ui,sans-serif;box-shadow:0 15px 45px rgba(0,0,0,.35)}
.table-controls{display:none;gap:6px;align-items:center;margin-left:auto;flex:0 0 auto;user-select:none}
.admin-mode .table-controls{display:flex}
.table-add-btn,.table-delete-btn{appearance:none;border:1px solid rgba(255,255,255,.18);width:26px;height:26px;min-width:26px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border-radius:8px;line-height:1;font-size:16px;font-weight:900;box-sizing:border-box;overflow:hidden;flex:0 0 26px;color:#fff;cursor:pointer}
.table-add-btn{background:#2f7d59}.table-delete-btn{background:#ef5b51}
.row-actions{display:none;margin-left:7px;vertical-align:middle;user-select:none}.admin-mode .row-actions{display:inline-flex}
.row-actions button{width:19px;height:19px;border:0;border-radius:5px;color:#fff;font-size:12px;line-height:19px;font-weight:900;cursor:pointer;padding:0;background:#ef5b51}
.conflict{box-shadow:inset 0 0 0 2px #ff8f8f!important}
.print-preview #adminToolbar,.print-preview #adminHint,.print-preview .admin-toolbar,.print-preview .admin-hint,.print-preview .table-controls,.print-preview .row-actions{display:none!important;visibility:hidden!important;opacity:0!important}
.print-preview [contenteditable="true"],.print-preview .editable-text{outline:none!important;cursor:default!important}
.print-preview .poster{margin:0 auto!important;box-shadow:none!important;min-height:0!important;height:auto!important}
body.print-preview{background:#061327!important;min-height:0!important;height:auto!important}
@media screen and (max-width:900px){.poster{margin:0;border-radius:0}.header{min-height:auto;padding:28px 18px 22px}.header-grid{grid-template-columns:1fr;gap:20px;text-align:center}.header-logo-wrap{min-height:auto}.main-logo{width:260px}.title{font-size:38px;line-height:1.08}.header-features{justify-content:center;flex-wrap:wrap;gap:18px;margin-top:28px}.feature{min-width:150px;justify-content:flex-start}.allergen-box{margin:12px;padding:14px;overflow-x:auto}.grid-legend{grid-template-columns:120px repeat(12,82px);min-width:1115px}.grid-add{grid-template-columns:155px repeat(14,66px);min-width:1080px}.content{padding:0 12px}#tables{grid-template-columns:1fr 1fr;gap:12px}.bottom-original{grid-template-columns:1fr;gap:18px;padding-bottom:22px}.bottom-hinweis{min-height:auto}.bottom-contact{max-width:420px;margin:0 auto;width:100%}.admin-toolbar{left:12px;right:12px;bottom:12px;transform:none;flex-wrap:wrap;justify-content:center}.admin-hint{display:none!important}}
@media screen and (max-width:700px){.allergen-box{overflow:visible!important;margin:12px!important;padding:14px!important}.grid-legend{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important;gap:12px!important;align-items:stretch!important}.grid-legend>div:first-child{grid-column:1/-1!important}.grid-legend>div:not(:first-child){border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px 7px;background:rgba(255,255,255,.035)}.grid-legend .circle{width:34px;height:34px;font-size:17px}.grid-legend .small-copy{font-size:9px;line-height:1.25}.tag-red,.tag-blue{width:150px;max-width:100%;min-height:42px;height:42px;font-size:13px;justify-content:center}.grid-add{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important;gap:10px!important;align-items:stretch!important}.grid-add>.tag-blue{grid-column:1/-1!important;justify-self:start!important}.grid-add .add-item{min-width:0!important;border:1px solid rgba(255,255,255,.16);border-radius:9px;padding:9px 6px!important;background:rgba(255,255,255,.035)}.grid-add .add-copy{font-size:9px;line-height:1.2;max-width:none}}
@media screen and (max-width:620px){.maintenance-card{padding:34px 20px 28px;border-radius:22px}.maintenance-logo{width:min(260px,82vw)}.title{font-size:32px}#tables{grid-template-columns:1fr}table{font-size:8.2px}th:first-child,td:first-child{width:40%;padding-left:8px}.card-title{font-size:14px}.thanks-script{font-size:38px}.thanks-line-wrap{width:300px}.thanks-line{width:240px}.bottom-contact{font-size:14px}}
@media screen and (max-width:420px){.grid-legend{grid-template-columns:1fr!important}.grid-add{grid-template-columns:1fr!important}.grid-legend>div:not(:first-child),.grid-add .add-item{padding:11px 9px!important}}
@media print{@page{size:auto;margin:0}html,body{width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#061327!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.admin-toolbar,.admin-hint,.table-controls,.row-actions{display:none!important;visibility:hidden!important;opacity:0!important}[contenteditable="true"],.editable-text{outline:none!important;cursor:default!important}.poster{width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;box-shadow:none!important;page-break-after:avoid!important;break-after:avoid!important}}


.maintenance-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  user-select:none;
}
.maintenance-toggle input{
  width:16px;
  height:16px;
  accent-color:#ef5b51;
  cursor:pointer;
}
.print-preview .maintenance-toggle{display:none!important}
@media print{.maintenance-toggle{display:none!important}}

.circle.percent-circle{
  font-size:18px;
  font-weight:900;
}

.maintenance-logo{pointer-events:auto!important;cursor:pointer!important;position:relative;z-index:2}


/* Finaler Fix Wartungs-/Admin-Login */
.maintenance-logo-button{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0 auto 28px;
  display:block;
  cursor:pointer;
  position:relative;
  z-index:5;
}
.maintenance-logo-button .maintenance-logo{
  margin:0 auto;
  pointer-events:none;
}
.maintenance-gate,
.maintenance-card{
  pointer-events:auto;
}
.maintenance-gate::before{
  pointer-events:none!important;
}








/* Tabellenlayout final: kollisionssichere 3-Spalten mit normalem Dokumentfluss */
#tables{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}

.table-column{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}

#tables .card{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  width:100% !important;
  margin:0 !important;
  break-inside:avoid;
  page-break-inside:avoid;
}

.card-title{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.card-title .table-title-text{
  flex:1 1 auto;
}

.card-title .table-controls{
  flex:0 0 auto;
  margin-left:auto;
}

@media screen and (max-width:900px){
  #tables{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
  .table-column{gap:12px;}
}

@media screen and (max-width:620px){
  #tables{
    grid-template-columns:1fr !important;
  }
}

@media print{
  #tables{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
  }
  .table-column{
    gap:10px !important;
  }
  #tables .card{
    position:relative !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
}


/* PRINT REAL FINAL v6 */
#printTables{display:none;}
.print-preview .admin-toolbar,.print-preview .admin-hint,.print-preview .table-controls,.print-preview .row-actions{display:none!important;}
.print-preview [contenteditable="true"],.print-preview .editable-text{outline:none!important;}
.print-preview .poster{box-shadow:none!important;overflow:visible!important;}
.print-preview .header{text-align:center!important;}
.print-preview .header-grid{display:block!important;text-align:center!important;}
.print-preview .header-logo-wrap{justify-content:center!important;margin:0 auto 24px!important;}
.print-preview .main-logo{margin:0 auto!important;}
.print-preview .title,.print-preview .subtitle{text-align:center!important;}
.print-preview .allergen-box,.print-preview .allergen-box *{overflow:visible!important;}
.print-preview .allergen-box{margin:0 auto 30px!important;width:calc(100% - 44px)!important;padding:18px!important;}
.print-preview .grid-legend{display:grid!important;grid-template-columns:112px repeat(12,minmax(0,1fr))!important;min-width:0!important;width:100%!important;gap:6px!important;}
.print-preview .grid-add{display:grid!important;grid-template-columns:126px repeat(14,minmax(0,1fr))!important;min-width:0!important;width:100%!important;gap:3px!important;}
.print-preview .tag-red,.print-preview .tag-blue{width:120px!important;min-height:40px!important;height:40px!important;font-size:11px!important;padding:0 21px 0 8px!important;}
.print-preview .circle{width:30px!important;height:30px!important;font-size:14px!important;}
.print-preview .small-copy{font-size:6.6px!important;line-height:1.12!important;}
.print-preview .add-num{font-size:13px!important;margin-bottom:2px!important;}
.print-preview .add-copy{font-size:5.8px!important;line-height:1.06!important;max-width:none!important;}
.print-preview #tables,.print-preview .content > .bottom-original{display:none!important;}
.print-preview #printTables{display:block!important;}
.print-preview .print-page{display:block!important;min-height:0!important;height:auto!important;position:relative!important;margin-bottom:24px!important;}
.print-preview .print-page-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;width:100%!important;align-items:start!important;}
.print-preview .print-column{display:flex!important;flex-direction:column!important;gap:12px!important;min-width:0!important;}
.print-preview .print-page .card{display:block!important;width:100%!important;margin:0!important;position:relative!important;break-inside:avoid!important;page-break-inside:avoid!important;}
.print-preview .print-footer-bottom{display:block!important;width:100%!important;}
@media print{
  @page{size:A4 portrait;margin:6mm;}
  html,body{width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#061327!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  .admin-toolbar,.admin-hint,.table-controls,.row-actions,.maintenance-gate{display:none!important;visibility:hidden!important;opacity:0!important;}
  [contenteditable="true"],.editable-text{outline:none!important;cursor:default!important;}
  .poster{width:100%!important;max-width:none!important;margin:0!important;box-shadow:none!important;overflow:visible!important;}
  .header{min-height:auto!important;padding:18mm 8mm 7mm!important;text-align:center!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .header-grid{display:block!important;text-align:center!important;}
  .header-logo-wrap{min-height:auto!important;display:flex!important;justify-content:center!important;align-items:center!important;margin:0 auto 8mm!important;}
  .main-logo{width:42mm!important;margin:0 auto!important;}
  .title{font-size:25pt!important;line-height:1.06!important;text-align:center!important;margin:0 auto!important;}
  .subtitle{font-size:11pt!important;margin-top:4mm!important;text-align:center!important;}
  .header-features{display:none!important;}
  .allergen-box,.allergen-box *{overflow:visible!important;}
  .allergen-box{margin:0 auto!important;width:calc(100% - 10mm)!important;padding:5mm!important;break-inside:avoid!important;page-break-inside:avoid!important;break-after:page!important;page-break-after:always!important;}
  .grid-legend{display:grid!important;grid-template-columns:23mm repeat(12,minmax(0,1fr))!important;min-width:0!important;width:100%!important;gap:1.25mm!important;align-items:start!important;}
  .grid-add{display:grid!important;grid-template-columns:27mm repeat(14,minmax(0,1fr))!important;min-width:0!important;width:100%!important;gap:.75mm!important;align-items:start!important;}
  .tag-red,.tag-blue{width:23mm!important;min-height:8mm!important;height:8mm!important;font-size:6pt!important;padding:0 4mm 0 1.5mm!important;}
  .circle{width:7mm!important;height:7mm!important;font-size:7pt!important;}
  .small-copy{font-size:3.85pt!important;line-height:1.06!important;}
  .add-num{font-size:7pt!important;margin-bottom:.5mm!important;}
  .add-copy{font-size:3.65pt!important;line-height:1.02!important;max-width:none!important;}
  .separator{margin:3mm 0!important;}
  .content{padding:0 5mm!important;margin-top:0!important;overflow:visible!important;}
  #tables,.content > .bottom-original{display:none!important;}
  #printTables{display:block!important;}
  .print-page{display:block!important;min-height:0!important;height:auto!important;position:relative!important;break-after:auto;page-break-after:auto;}
  .print-page:not(:last-child){break-after:page!important;page-break-after:always!important;}
  .print-page-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2.4mm!important;width:100%!important;align-items:start!important;}
  .print-column{display:flex!important;flex-direction:column!important;gap:2.4mm!important;min-width:0!important;}
  .print-page .card{display:block!important;position:relative!important;width:100%!important;margin:0!important;break-inside:avoid!important;page-break-inside:avoid!important;box-shadow:none!important;border-radius:2mm!important;overflow:hidden!important;}
  .print-page .card-title{min-height:7mm!important;height:7mm!important;padding:0 2.5mm!important;font-size:7.3pt!important;letter-spacing:.04em!important;break-after:avoid!important;page-break-after:avoid!important;}
  .print-page table{font-size:4.75pt!important;width:100%!important;table-layout:fixed!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .print-page th{height:5mm!important;font-size:4.6pt!important;}
  .print-page td{height:auto!important;min-height:4.2mm!important;padding-top:.65mm!important;padding-bottom:.65mm!important;font-size:4.65pt!important;line-height:1.05!important;}
  .print-page th:first-child,.print-page td:first-child{padding-left:1.7mm!important;width:43%!important;}
  .print-page .dot{width:1.5mm!important;height:1.5mm!important;}
  .print-page .zcell{font-size:4.3pt!important;line-height:1.02!important;}
  .print-footer-spacer{display:block!important;}
  .print-footer-bottom{display:block!important;width:100%!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .print-footer-bottom .bottom-original{display:grid!important;grid-template-columns:1fr 1.15fr 1fr!important;gap:5mm!important;margin:0!important;padding:0!important;align-items:end!important;}
  .print-footer-bottom .bottom-hinweis{min-height:auto!important;padding:4mm!important;}
  .print-footer-bottom .bottom-title{font-size:9pt!important;margin-bottom:2mm!important;}
  .print-footer-bottom .bottom-hinweis p{font-size:5.8pt!important;line-height:1.28!important;}
  .print-footer-bottom .thanks-script{font-size:23pt!important;}
  .print-footer-bottom .thanks-line-wrap{width:60mm!important;height:8mm!important;}
  .print-footer-bottom .thanks-line{width:50mm!important;}
  .print-footer-bottom .thanks-sub{font-size:6.5pt!important;}
  .print-footer-bottom .bottom-contact{gap:2.5mm!important;font-size:7.2pt!important;}
  .print-footer-bottom .contact-row{grid-template-columns:8mm 1fr!important;gap:2.5mm!important;}
  .print-footer-bottom .contact-icon{font-size:12pt!important;}
}


/* ============================================================
   PRINT FOOTER GAP v8
   WICHTIG: Keine volle A4-Höhe erzwingen, sonst wandert der Footer
   wieder auf eine eigene Seite.
   Der Footer bleibt auf der letzten Tabellen-Seite und wird nur visuell
   nach unten geschoben.
   ============================================================ */

#printFooter,
.print-preview #printFooter,
.print-footer-page,
.print-footer-page.force-footer-page,
.print-preview .print-footer-page,
.print-preview .print-footer-page.force-footer-page{
  display:none !important;
}

/* Browser-Druckvorschau */
.print-preview .print-page.has-footer{
  min-height:0 !important;
  height:auto !important;
  overflow:visible !important;
}

.print-preview .print-page.has-footer .print-footer-bottom{
  display:block !important;
  width:100% !important;
  transform:translateY(72px) !important;
}

/* Echter Druck */
@media print{
  #printFooter,
  .print-footer-page,
  .print-footer-page.force-footer-page{
    display:none !important;
  }

  .print-page.has-footer{
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
    break-after:auto !important;
    page-break-after:auto !important;
  }

  .print-page.has-footer .print-footer-bottom{
    display:block !important;
    width:100% !important;
    transform:translateY(18mm) !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  .print-page.has-footer .bottom-original{
    margin:0 !important;
    padding:0 !important;
  }
}


/* ============================================================
   PRINT FOOTER BACKGROUND v11
   Basierend auf v8: Position bleibt korrekt.
   Der echte Poster-Hintergrund wird nach unten verlängert,
   statt einen Fake-Rechteck-Gradienten zu malen.
   ============================================================ */

/* Druckvorschau */
.print-preview .poster{
  padding-bottom:72px !important;
  margin-bottom:-72px !important;
  overflow:visible !important;
  background:
    radial-gradient(circle at 84% 10%, rgba(255,166,132,.40) 0, rgba(255,166,132,.18) 18%, transparent 40%),
    radial-gradient(circle at 86% 96%, rgba(255,108,82,.36) 0, transparent 30%),
    linear-gradient(90deg,#021a3a 0%,#06224c 13%,#1e1f47 34%,#56243c 58%,#a94c52 82%,#d3886d 100%) !important;
}

.print-preview .print-page.has-footer,
.print-preview .print-page.has-footer .print-footer-bottom{
  background:transparent !important;
}

.print-preview .print-page.has-footer .print-footer-bottom::before{
  content:none !important;
  display:none !important;
}

/* Echter Druck */
@media print{
  .poster{
    padding-bottom:18mm !important;
    margin-bottom:-18mm !important;
    overflow:visible !important;
    background:
      radial-gradient(circle at 84% 10%, rgba(255,166,132,.40) 0, rgba(255,166,132,.18) 18%, transparent 40%),
      radial-gradient(circle at 86% 96%, rgba(255,108,82,.36) 0, transparent 30%),
      linear-gradient(90deg,#021a3a 0%,#06224c 13%,#1e1f47 34%,#56243c 58%,#a94c52 82%,#d3886d 100%) !important;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  .print-page.has-footer,
  .print-page.has-footer .print-footer-bottom{
    background:transparent !important;
  }

  .print-page.has-footer .print-footer-bottom::before{
    content:none !important;
    display:none !important;
  }
}


/* ============================================================
   NO MAINTENANCE FLASH
   Wenn Wartungsmodus serverseitig AUS ist, wird die Wartungsseite
   schon vor JavaScript ausgeblendet.
   ============================================================ */
body.boot-public #maintenanceGate{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.boot-public .poster{
  display:block !important;
}
