/* Shared portal button geometry. Keep labels consistent across every screen. */
:root {
  --portal-button-width: 260px;
  --portal-button-height: 56px;
}
body :is(#booking-dashboard, .auth-card, .guide-preview) button,
body .portal-feedback-dialog :is(button,.button) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 var(--portal-button-width);
  width: var(--portal-button-width);
  max-width: 100%;
  height: var(--portal-button-height);
  min-height: var(--portal-button-height);
  margin: 0;
  padding: 10px 16px;
  border: 1px solid var(--brass);
  border-radius: 999px;
  font: 400 11.5px/1.5 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.booking-toolbar > div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.form-actions, #actions { justify-content: flex-start; gap: 12px; }
.auth-card #submit { margin-top: 22px; }

/* Brand surfaces, loaded after functional styles. Preserve all shared button dimensions. */
body :is(#booking-dashboard,.auth-card,.guide-preview,.portal-feedback-dialog) button{border-radius:999px;border-color:var(--brass);letter-spacing:.16em}
body :is(#booking-dashboard,.auth-card,.guide-preview,.portal-feedback-dialog) :is(button,.button),.control-card button,#logout{background:var(--brass);color:var(--green-deep)}
body :is(#booking-dashboard,.auth-card,.guide-preview,.portal-feedback-dialog) :is(button,.button):hover:not(:disabled){background:var(--brass-soft)}
body :is(#booking-dashboard,.auth-card,.guide-preview,.portal-feedback-dialog) :is(.secondary,.text-button){background:transparent;color:var(--cream);border-color:var(--line-strong)}
.auth-card,.booking-panel,.booking-card,.apartment-summary,.dashboard-maintenance,.control-card,.guest-documents .booking-card{background:var(--green-2);border-color:var(--line);color:var(--cream)}
body #booking-dashboard :is(h2,h3,h4,p,label,output),.auth-card :is(h2,p,label),.control-card .temperature-limits{color:inherit}
#booking-dashboard .eyebrow{color:var(--brass-soft)}#booking-dashboard .muted,.muted{color:var(--lichen)}
body .document-upload-attribution{color:var(--lichen)!important}
.booking-panel p,.booking-card p,.auth-card p,.control-card p{font-size:19px;line-height:1.5}
.booking-grid label,.door-options label,.live-areas label,.auth-card label{font-size:18px}
.apartment-stats,.management-account,.simulation-panel,.certificate-edit,.certificate-renew,.apartment-documents{border-color:var(--line)}
.management-navigation{background:var(--green-deep);border-color:var(--line)}
body #booking-dashboard .management-menu button{background:transparent;color:var(--cream);border-color:var(--line)}
body #booking-dashboard .management-menu button[aria-current="page"]{background:var(--brass)!important;color:var(--green-deep)!important;outline:none}
body #booking-dashboard .management-menu button:hover{background:var(--green-2)}
.occupancy,.booking-badge,.test-notice{background:var(--green-deep);color:var(--cream);border:1px solid var(--line)}
body #booking-dashboard .occupancy.occupied{background:var(--brass);color:var(--green-deep)}
.auth-card input:not([type=checkbox]),.booking-grid input,.booking-grid select,#booking-filter,.certificate-edit input,.certificate-renew input,.mobile-navigation select,.guest-documents-link input,.simulation-panel select{background:var(--cream);color:var(--green-deep);border-color:var(--brass);font:17px/1.4 var(--serif);padding:12px}
.auth-card code,.auth-card pre{background:var(--green-deep);color:var(--cream)}
body :is(#booking-dashboard,.auth-card,.guide-preview,.portal-feedback-dialog) :is(button,input,select,summary,a):focus-visible{outline:2px solid var(--brass-soft);outline-offset:4px}
body #booking-dashboard :is(#booking-status[data-error=true],#booking-form-status,[data-error=true]),#message[data-error=true]{color:var(--error)}
.control-card input[type=range]{accent-color:var(--brass)}
.documents-upload input[type=file]::file-selector-button,.certificate-renew input[type=file]::file-selector-button{border-radius:999px;background:var(--brass);color:var(--green-deep);border-color:var(--brass)}
#booking-dashboard .guest-documents-link,#booking-dashboard .guest-documents-link label{color:var(--cream)}
body.dashboard-open{background:var(--green);color:var(--cream)}
.management-account{color:var(--cream)}


body .portal-feedback-dialog .button{border-radius:999px}

.occupancy,.booking-badge{font:400 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:5px 12px}.auth-card input:not([type=checkbox]),.booking-grid input,.booking-grid select,.mobile-navigation select{border-radius:6px}.management-account{font-size:18px}.control-card .secondary,#logout.secondary{background:transparent;color:var(--cream);border-color:var(--line-strong)}
