.mh-frm-wrap{--mh-frm-primary:#00102e;font-family:inherit;color:#00102e}.mh-frm-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.mh-frm-header h2{font-size:34px;line-height:1.2;margin:0 0 18px;color:#00102e}.mh-frm-header p{margin:0;color:#00102e}.mh-frm-logout,.mh-primary-button{display:inline-block;background:var(--mh-frm-primary);color:#fff!important;text-decoration:none;border:0;border-radius:7px;padding:12px 18px;font-weight:600;cursor:pointer}.mh-frm-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #d0d7e2;margin-bottom:22px}.mh-frm-tab{appearance:none;border:1px solid #c5ccda;background:#f4f6fa;color:#00102e;border-radius:7px 7px 0 0;padding:13px 18px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.mh-frm-tab.is-active{background:var(--mh-frm-primary);border-color:var(--mh-frm-primary);color:#fff}.mh-frm-panel{display:none}.mh-frm-panel.is-active{display:block}.mh-frontend-table-wrap{overflow:auto}.mh-frontend-table{width:100%;border-collapse:collapse;background:#fff}.mh-frontend-table th,.mh-frontend-table td{border:1px solid #d7dce5;padding:8px;vertical-align:top;text-align:left}.mh-frontend-table th{background:#f2f4f8;color:#00102e}.mh-actions{white-space:nowrap}.mh-small-button{display:inline-block;margin:2px;padding:6px 9px;border-radius:5px;background:#00102e;color:#fff!important;text-decoration:none;font-size:12px}.mh-frontend-form-table{width:100%;border-collapse:collapse;max-width:1100px}.mh-frontend-form-table th{width:230px;text-align:left;vertical-align:top;padding:8px 12px 8px 0;color:#00102e}.mh-frontend-form-table td{padding:8px 0}.mh-frontend-form-table input,.mh-frontend-form-table textarea{width:100%;max-width:760px;box-sizing:border-box;border:1px solid #ccd0d4;border-radius:4px;padding:8px}.mh-frontend-form-table input[type=number]{max-width:120px}.mh-frontend-plan .mh-box{max-width:none}.mh-frontend-plan .button,.mh-frontend-settings .button{border:1px solid #c3c4c7;background:#f6f7f7;color:#00102e;border-radius:4px;padding:6px 12px;cursor:pointer}.mh-frontend-plan .button-primary{background:#00102e;color:#fff;border-color:#00102e}.mh-frm-login{max-width:460px}.mh-frm-login input[type=text],.mh-frm-login input[type=password]{width:100%;box-sizing:border-box}.mh-res-message{max-width:320px;white-space:normal;word-break:break-word}@media(max-width:700px){.mh-frm-header{display:block}.mh-frm-logout{margin-top:14px}.mh-frontend-form-table th,.mh-frontend-form-table td{display:block;width:auto}.mh-actions{white-space:normal}}
.mh-editor-shell{max-width:100%;overflow:auto;border:1px solid #ccd0d4;background:#f8fafc;padding:10px}.mh-plan-editor{background:#fff;overflow:hidden;border:1px solid #9aa4b2}.mh-frm-plan-bg{position:absolute;inset:0;background-size:100% 100%;background-repeat:no-repeat;background-position:center}.mh-frm-plan-pdf{position:absolute;inset:0;width:100%;height:100%;border:0}.mh-frm-seat-item{position:absolute;z-index:5;box-sizing:border-box;border:2px solid #00102e;background:rgba(255,255,255,.86);color:#00102e;font-size:11px;font-weight:700;text-align:center;white-space:pre-line;display:flex;align-items:center;justify-content:center;line-height:1.15;cursor:move;user-select:none}.mh-frm-seat-item.table_round{border-radius:999px}.mh-frm-seat-item.stool{border-radius:50%}.mh-frm-seat-item.reserviert{background:rgba(255,207,0,.85)}.mh-frm-seat-item.belegt{background:rgba(180,180,180,.9)}.mh-frm-seat-item.is-selected{outline:3px solid #ffcf00}.mh-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.mh-box label{display:inline-block;margin:8px 14px 8px 0}.mh-box input[type=number]{width:90px}.mh-keyboard-hint{font-size:13px;color:#4b5563}

/* v1.0.4: Nur Reservierungen, Schriftgröße 10px */
.mh-frm-wrap{font-size:10px!important;}
.mh-frm-header h2{font-size:18px!important;margin-bottom:6px!important;}
.mh-frm-header p,.mh-frm-logout,.mh-frontend-table,.mh-frontend-table th,.mh-frontend-table td,.mh-small-button{font-size:10px!important;}
.mh-frontend-table th,.mh-frontend-table td{padding:4px 5px!important;}
.mh-small-button{padding:3px 5px!important;border-radius:3px!important;}
.mh-frontend-table-wrap h3{font-size:14px!important;margin:0 0 8px!important;}
.mh-frm-tabs{display:none!important;}
.mh-frm-panel{display:block!important;}


/* v1.0.5 Login-Farben */
.mh-frm-login,
.mh-frm-login h2,
.mh-frm-login p,
.mh-frm-login label,
.mh-frm-login .login-remember label{
  color:#fff !important;
}
.mh-frm-login input[type=text],
.mh-frm-login input[type=password],
.mh-frm-login input[type=email]{
  color:#00102e !important;
  background:#fff !important;
}
.mh-frm-login input[type=checkbox]{
  accent-color:#00102e;
}
.mh-frm-login input[type=submit]{
  color:#fff !important;
}

/* v1.0.8 PWA-App /app */
body.page .mh-frm-wrap,
.mh-frm-wrap{
  max-width:100%;
}
@media (display-mode: standalone){
  body{overscroll-behavior-y:contain;}
}
@media(max-width:900px){
  .mh-frm-wrap{padding:14px!important;}
  .mh-frontend-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .mh-frontend-table{min-width:780px;}
  .mh-frm-header h2{font-size:20px!important;}
}

/* v1.0.9 übersichtlichere PWA-App */
body:has(.mh-frm-wrap),
body.page:has(.mh-frm-wrap){
  background:#00102e;
}
.mh-frm-wrap{
  font-size:15px!important;
  line-height:1.35!important;
  max-width:960px!important;
  margin:0 auto!important;
  padding:16px!important;
  color:#fff!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
.mh-frm-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 14px!important;
  padding:14px 16px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:18px!important;
  box-shadow:0 10px 30px rgba(0,0,0,.20)!important;
}
.mh-frm-header h2{
  font-size:22px!important;
  line-height:1.15!important;
  margin:0 0 4px!important;
  color:#fff!important;
}
.mh-frm-header p{
  font-size:13px!important;
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
}
.mh-frm-logout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#00102e!important;
  font-size:14px!important;
  font-weight:700!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.mh-frm-panel,
.mh-frontend-table-wrap{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.mh-app-titlebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}
.mh-app-titlebar h3{
  font-size:24px!important;
  margin:0 0 2px!important;
  color:#fff!important;
}
.mh-app-titlebar p{
  margin:0!important;
  color:rgba(255,255,255,.75)!important;
  font-size:13px!important;
}
.mh-app-count{
  min-width:48px;
  height:48px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ffcf00;
  color:#00102e;
  font-weight:900;
  font-size:22px;
}
.mh-app-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:0 0 14px;
}
.mh-app-stats span{
  display:block;
  padding:10px 8px;
  border-radius:14px;
  background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.86);
  text-align:center;
  font-size:13px;
}
.mh-app-stats strong{
  display:block;
  color:#fff;
  font-size:20px;
  line-height:1;
}
.mh-app-cards{
  display:grid;
  gap:12px;
}
.mh-app-card{
  background:#fff;
  color:#00102e;
  border-radius:18px;
  padding:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  border-left:7px solid #ffcf00;
}
.mh-app-card.status-bestaetigt,
.mh-app-card.status-bestatigt{
  border-left-color:#24a148;
}
.mh-app-card.status-abgelehnt{
  border-left-color:#da1e28;
}
.mh-app-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}
.mh-app-date strong{
  display:block;
  font-size:18px;
  color:#00102e;
}
.mh-app-date span{
  display:inline-block;
  margin-top:2px;
  font-size:15px;
  font-weight:800;
  color:#00102e;
}
.mh-app-status{
  padding:6px 10px;
  border-radius:999px;
  background:#eef2f7;
  color:#00102e;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.02em;
  white-space:nowrap;
}
.mh-app-mainline{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:end;
  padding-bottom:10px;
  border-bottom:1px solid #e6eaf0;
}
.mh-app-name{
  font-size:20px;
  font-weight:900;
  line-height:1.2;
  word-break:break-word;
}
.mh-app-seat{
  font-size:15px;
  font-weight:900;
  padding:7px 10px;
  border-radius:12px;
  background:#00102e;
  color:#fff;
  text-align:center;
  white-space:nowrap;
}
.mh-app-details{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:8px;
  margin-top:10px;
}
.mh-app-details div,
.mh-app-message{
  background:#f5f7fa;
  border-radius:12px;
  padding:9px 10px;
  min-width:0;
}
.mh-app-details span,
.mh-app-message span{
  display:block;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#52606d;
  margin-bottom:2px;
}
.mh-app-details strong{
  display:block;
  font-size:15px;
  color:#00102e;
  word-break:break-word;
}
.mh-app-message{
  margin-top:10px;
  color:#00102e;
  font-size:15px;
  word-break:break-word;
}
.mh-app-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.mh-app-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  border-radius:13px!important;
  font-size:14px!important;
  font-weight:900!important;
  text-decoration:none!important;
  border:0!important;
  padding:8px!important;
}
.mh-action-confirm{background:#24a148!important;color:#fff!important;}
.mh-action-reject{background:#da1e28!important;color:#fff!important;}
.mh-action-free{background:#eef2f7!important;color:#00102e!important;}
.mh-app-empty{
  background:#fff;
  color:#00102e;
  border-radius:18px;
  padding:22px;
  font-size:17px;
  font-weight:800;
  text-align:center;
}
@media(max-width:640px){
  .mh-frm-wrap{padding:10px!important;font-size:14px!important;}
  .mh-frm-header{padding:12px!important;border-radius:16px!important;}
  .mh-frm-header h2{font-size:19px!important;}
  .mh-frm-logout{min-height:36px!important;font-size:13px!important;padding:7px 10px!important;}
  .mh-app-titlebar h3{font-size:21px!important;}
  .mh-app-stats{grid-template-columns:repeat(3,1fr);gap:6px;}
  .mh-app-stats span{font-size:11px;padding:8px 4px;}
  .mh-app-stats strong{font-size:18px;}
  .mh-app-card{padding:12px;border-radius:16px;}
  .mh-app-mainline{grid-template-columns:1fr;align-items:start;}
  .mh-app-seat{justify-self:start;white-space:normal;text-align:left;}
  .mh-app-details{grid-template-columns:1fr;}
  .mh-app-actions{grid-template-columns:1fr;}
  .mh-app-button{min-height:46px!important;font-size:15px!important;}
}


/* v1.0.10 gesamtes App-Layout kompakter */
.mh-frm-wrap{
  font-size:13px!important;
  line-height:1.28!important;
  max-width:860px!important;
  padding:10px!important;
}
.mh-frm-header{
  gap:10px!important;
  margin:0 0 10px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
}
.mh-frm-header h2{font-size:18px!important;margin:0 0 2px!important;}
.mh-frm-header p{font-size:11px!important;}
.mh-frm-logout{min-height:34px!important;padding:6px 10px!important;font-size:12px!important;}
.mh-app-titlebar{gap:8px;margin:0 0 8px!important;}
.mh-app-titlebar h3{font-size:19px!important;margin:0!important;}
.mh-app-titlebar p{font-size:11px!important;}
.mh-app-count{min-width:38px!important;height:38px!important;border-radius:12px!important;font-size:18px!important;}
.mh-app-stats{gap:6px!important;margin:0 0 10px!important;}
.mh-app-stats span{padding:7px 5px!important;border-radius:11px!important;font-size:11px!important;}
.mh-app-stats strong{font-size:17px!important;}
.mh-app-cards{gap:9px!important;}
.mh-app-card{border-radius:14px!important;padding:10px!important;border-left-width:5px!important;}
.mh-app-card-head{gap:7px!important;margin-bottom:7px!important;}
.mh-app-date strong{font-size:15px!important;}
.mh-app-date span{font-size:13px!important;margin-top:1px!important;}
.mh-app-status{padding:4px 7px!important;font-size:10px!important;}
.mh-app-mainline{gap:7px!important;padding-bottom:7px!important;}
.mh-app-name{font-size:16px!important;line-height:1.15!important;}
.mh-app-seat{font-size:12px!important;padding:5px 8px!important;border-radius:9px!important;}
.mh-app-details{grid-template-columns:96px 1fr!important;gap:6px!important;margin-top:7px!important;}
.mh-app-details div,.mh-app-message{border-radius:9px!important;padding:6px 8px!important;}
.mh-app-details span,.mh-app-message span{font-size:9px!important;margin-bottom:1px!important;}
.mh-app-details strong{font-size:12px!important;}
.mh-app-message{margin-top:7px!important;font-size:12px!important;}
.mh-app-actions{gap:6px!important;margin-top:8px!important;}
.mh-app-button{min-height:34px!important;border-radius:10px!important;font-size:12px!important;padding:6px!important;}
.mh-app-empty{border-radius:14px!important;padding:16px!important;font-size:14px!important;}
@media(max-width:640px){
  .mh-frm-wrap{padding:7px!important;font-size:12px!important;}
  .mh-frm-header{padding:9px!important;border-radius:13px!important;}
  .mh-frm-header h2{font-size:16px!important;}
  .mh-frm-logout{min-height:32px!important;font-size:11px!important;padding:5px 8px!important;}
  .mh-app-titlebar h3{font-size:17px!important;}
  .mh-app-count{min-width:34px!important;height:34px!important;font-size:16px!important;}
  .mh-app-stats span{font-size:10px!important;padding:6px 3px!important;}
  .mh-app-stats strong{font-size:15px!important;}
  .mh-app-card{padding:9px!important;border-radius:13px!important;}
  .mh-app-details{grid-template-columns:1fr!important;}
  .mh-app-actions{grid-template-columns:1fr 1fr 1fr!important;}
  .mh-app-button{min-height:32px!important;font-size:11px!important;}
}
@media(max-width:430px){
  .mh-app-actions{grid-template-columns:1fr!important;}
  .mh-app-button{min-height:34px!important;}
}

/* v1.0.12: Druckauswahl ohne Popup */
.mh-print-controls{
  margin:0 0 14px;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
}
.mh-print-controls label{display:block;margin-bottom:7px;color:#fff;font-size:13px;font-weight:800}
.mh-print-controls-row{display:flex;gap:8px;align-items:center}
.mh-print-controls input[type=date]{min-height:38px;padding:6px 9px;border:0;border-radius:8px;background:#fff;color:#00102e;font-size:14px}
.mh-print-controls button{min-height:38px;padding:7px 14px;border:0;border-radius:8px;background:#ffcf00;color:#00102e;font-size:14px;font-weight:900;cursor:pointer}
#mh-print-message{margin:7px 0 0;color:#fff;font-size:12px}
.mh-print-heading{display:none}

@media print{
  @page{size:A4 landscape;margin:10mm}
  body.mh-print-mode *{visibility:hidden!important}
  body.mh-print-mode .mh-app-reservations,
  body.mh-print-mode .mh-app-reservations *{visibility:visible!important}
  body.mh-print-mode .mh-app-reservations{position:absolute;left:0;top:0;width:100%;max-width:none!important;color:#000!important;background:#fff!important}
  body.mh-print-mode .mh-app-titlebar,
  body.mh-print-mode .mh-app-stats,
  body.mh-print-mode .mh-print-controls,
  body.mh-print-mode .mh-app-actions,
  body.mh-print-mode .mh-frm-header{display:none!important}
  body.mh-print-mode .mh-print-heading{display:block!important;margin:0 0 10mm;color:#000!important}
  body.mh-print-mode .mh-print-heading h1{margin:0 0 2mm;font-size:20pt;color:#000!important}
  body.mh-print-mode .mh-print-heading p{margin:0;font-size:11pt;color:#000!important}
  body.mh-print-mode .mh-app-card.mh-print-hidden{display:none!important}
  body.mh-print-mode .mh-app-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5mm!important}
  body.mh-print-mode .mh-app-card{display:block!important;break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;border:1px solid #777!important;border-left:5px solid #777!important;border-radius:4px!important;padding:5mm!important;color:#000!important;background:#fff!important}
  body.mh-print-mode .mh-app-card *{color:#000!important;background:transparent!important}
  body.mh-print-mode .mh-app-status,.mh-app-seat{border:1px solid #777!important}
}
