/* Gemeinsames Layout fuer Buchungskalender / Strato-Webhosting */
:root{
  --page-max-width: 1200px;
  --page-padding: clamp(12px, 2.5vw, 28px);
  --border-color:#d8dee4;
  --card-bg:#fff;
  --muted-bg:#f6f8fa;
  --text:#222;
  --primary:#0d6efd;
  --danger:#dc3545;
}
*{box-sizing:border-box;}
html{font-size:16px;}
body{
  width:auto !important;
  max-width:var(--page-max-width) !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:var(--page-padding) !important;
  color:var(--text);
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.45;
  background:#f4f6f8;
}
body > h1, body > h2, body > h3{text-align:center;}
.container,.form-container,.login-container,.calendar-container{
  width:100% !important;
  max-width:var(--page-max-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.form-container,.login-container,.content-box,.calendar-container{
  background:var(--card-bg);
  border:1px solid var(--border-color);
  border-radius:10px;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
  padding:clamp(16px,2vw,28px);
}
table{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border-collapse:collapse;
}
th,td{word-break:break-word;vertical-align:top;}
input,select,textarea,button{max-width:100%;font:inherit;}
input[type="text"],input[type="email"],input[type="password"],input[type="date"],input[type="number"],select,textarea{
  border:1px solid var(--border-color);
  border-radius:6px;
  padding:8px 10px;
}
button,.button,input[type="submit"]{
  border:0;
  border-radius:6px;
  padding:8px 14px;
  cursor:pointer;
}
a{color:var(--primary);}
img,iframe{max-width:100%;}
iframe{width:100%;border:0;}
.actions, form[style*="display:inline"]{display:inline-flex !important;gap:6px;align-items:center;flex-wrap:wrap;}
.responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media (min-width:1400px){:root{--page-max-width:1320px;}}
@media (max-width:780px){
  body{padding:10px !important;}
  table{display:block;overflow-x:auto;white-space:nowrap;}
  th,td{padding:8px;}
  label{display:block !important;width:auto !important;margin-top:8px;}
  input[type="text"],input[type="email"],input[type="password"],input[type="date"],input[type="number"],select,textarea,button{
    width:100% !important;
  }
  form[style*="display:inline"],.password-form,.delete-form{display:block !important;margin:6px 0;}
}
