.mobile-nav{display:none}
.composition-bar{height:24px;display:flex;border-radius:14px;overflow:hidden;background:#292536}
.composition-bar>div{height:100%;flex-shrink:0}
.confirmation-overlay{position:fixed;inset:0;z-index:100;background:#000b;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.confirmation-dialog{width:min(100%,490px);max-height:90vh;max-height:90dvh;overflow:auto;margin:auto;overflow-wrap:anywhere}
.confirmation-dialog h1{font-size:26px}
.confirmation-actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.confirmation-actions form{margin:0}
.confirmation-actions .btn,.confirmation-actions button{min-height:44px}
.confirmation-actions .danger{background:#bc303f;color:#fff}
.confirmation-dialog[aria-labelledby="reopen-title"] .confirmation-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.confirmation-dialog[aria-labelledby="reopen-title"] .confirmation-actions > form {
  display: flex;
}
.confirmation-dialog[aria-labelledby="reopen-title"] .event-list-action {
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
}
.audit-entry p,.audit-entry details{overflow-wrap:anywhere;word-break:normal}
.audit-entry h2{margin-bottom:8px}.audit-details{white-space:pre-wrap}
.goal-label{font-weight:750}.goal-progress{width:100%;height:20px;accent-color:#65f0ce}
.goal-progress::-webkit-progress-bar{background:#292536;border-radius:10px}
.goal-progress::-webkit-progress-value{background:#65f0ce;border-radius:10px}
@media(max-width:600px){
 body > header > .links{display:none}
 body main{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 .mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:space-around;align-items:stretch;gap:2px;background:#11121ff5;border-top:1px solid #ffffff30;padding:6px 5px calc(6px + env(safe-area-inset-bottom,0px))}
 .mobile-nav a{flex:1;display:flex;justify-content:center;align-items:center;min-height:48px;padding:7px 3px;text-align:center;font-size:12px;line-height:1.25;text-decoration:none;color:#e6dbff;overflow-wrap:anywhere}
 .mobile-nav a:focus-visible{outline:2px solid #65f0ce;outline-offset:-2px;border-radius:10px}
 .audit-entry{padding:16px}.audit-entry h2{font-size:18px}
 .confirmation-actions>*{flex:1}.confirmation-actions button{width:100%}
 .pr-result .grid{gap:0}.pr-result .grid p{margin:5px 0}
}

.logout-dialog.card {
  width: min(100%, 340px);
  padding: 18px;
  text-align: center;
}
.logout-dialog h1 { margin: 0; font-size: 22px; }
.logout-dialog p { margin: 10px 0 16px; }
.logout-dialog .confirmation-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.logout-dialog .confirmation-actions > form { display: flex; }
.logout-dialog .confirmation-actions .btn,
.logout-dialog .confirmation-actions button,
.event-list-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 14px;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
}
.logout-dialog .confirmation-actions .btn,
.logout-dialog .confirmation-actions button {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 100%;
  height: 44px;
  margin: 0;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
}
.event-list-action { border-radius: 12px; }
.event-list-settings { min-width: 0; }
.list-close-field {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding-inline: 14px;
}
.event-list-settings input[type="datetime-local"],
.card input[name="close_at"][type="datetime-local"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding-inline: 0;
  margin: 6px auto 0;
  font-size: 16px;
}
@media (max-width: 600px) {
  .event-list-action { width: 100%; }
}

@media (hover: none) and (pointer: coarse) {
  .list-close-field input[type="datetime-local"]::-webkit-date-and-time-value {
    box-sizing: border-box;
    min-width: 0;
    padding-inline: 12px;
    text-align: start;
  }
}

@media (min-width: 601px) and (hover: hover) and (pointer: fine) {
  .list-close-field {
    max-width: 320px;
    margin-inline: 0;
    padding-inline: 0;
  }
  .event-list-settings .list-close-field input[name="close_at"][type="datetime-local"] {
    padding-inline: 8px;
    text-align: start;
  }
  .list-close-field input[type="datetime-local"]::-webkit-datetime-edit {
    padding-inline-end: 8px;
    text-align: start;
  }
}

@media (max-width: 600px) {
  #door-live,
  #door-live > .scroll {
    min-width: 0;
  }
  #door-live > .scroll {
    overflow: visible;
  }
  #door-live > .scroll table,
  #door-rows {
    display: block;
  }
  #door-live > .scroll thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  #door-rows .door-guest {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid #ffffff25;
    border-radius: 14px;
    background: #11121f;
  }
  #door-rows .door-guest[hidden],
  #door-rows .door-guest td:last-child:empty {
    display: none;
  }
  #door-rows .door-guest td {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #door-rows .door-guest td:first-child {
    font-size: 16px;
    font-weight: 700;
  }
  #door-rows .door-guest td:nth-child(2)::before {
    content: "M/F: ";
  }
  #door-rows .door-guest td:nth-child(3)::before {
    content: "Lista: ";
  }
  #door-rows .door-guest td:nth-child(4)::before {
    content: "Stato: ";
  }
  #door-rows .door-guest form {
    margin: 6px 0 0;
  }
  #door-rows .door-guest button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

.door-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin-top: 10px;
}
.door-tools label { margin: 0; min-width: 0; }
#door-walkin-open[hidden], #door-walkin-dialog:not([open]) { display: none; }
#door-live > #door-guest-list {
  max-height: 55vh;
  max-height: 55dvh;
  overflow: auto;
  overscroll-behavior-y: contain;
}
#door-walkin-dialog {
  box-sizing: border-box;
  width: min(calc(100% - 32px), 420px);
  max-height: 85vh;
  max-height: 85dvh;
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 16px;
  background: #11121f;
  color: inherit;
}
#door-walkin-dialog::backdrop { background: #000b; }
#door-walkin-dialog #door-walkin { margin: 0; }
#door-walkin-dialog input[name="name"] { font-size: 16px; }
#door-walkin-dialog button { width: 100%; }
#door-walkin-cancel { margin-top: 10px; }
#door-walkin-error { color: #ffb4c0; }
@media (max-width: 600px) {
  .door-tools { grid-template-columns: minmax(0, 1fr); }
  #door-walkin-open { width: 100%; }
  #door-live > #door-guest-list { overflow-x: hidden; }
}

@media (max-width: 600px), (hover: none) and (pointer: coarse) {
  body input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),
  body textarea,
  body select {
    font-size: max(16px, 1em);
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
}
