/* Shared edge-state and error-page styles (Prompt 20) */
.edge-error-body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#EDEBE3;color:#262C38;font-family:'Instrument Sans',sans-serif}
.edge-error-card{max-width:440px;width:100%;background:#F4F6FA;border:1px solid #DDD9CF;border-radius:20px;padding:40px 32px;text-align:center;box-shadow:0 16px 40px rgba(35,41,54,0.10)}
.edge-error-brand{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:800;margin:0 0 20px;letter-spacing:-0.5px}
.edge-error-brand span{color:#4A9BD8}
.edge-error-card h1{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:800;margin:0 0 10px;letter-spacing:-0.4px}
.edge-error-lead{font-size:14.5px;line-height:1.55;color:#5A6373;margin:0 0 22px}
.edge-error-btn{display:inline-block;padding:13px 26px;border-radius:999px;background:#232936;color:#F4F6FA;font-weight:700;font-size:14.5px;text-decoration:none}
.edge-error-btn:hover{background:#4A9BD8;color:#F4F6FA}
.edge-error-portal .edge-error-brand span{color:#4A9BD8}
.edge-error-business .edge-error-brand span{color:#4A9BD8}
.edge-error-admin .edge-error-brand span{color:#2F6BA3}

.edge-empty{text-align:center;padding:36px 28px;background:#F4F6FA;border:1px solid #DEE4EE;border-radius:18px}
.edge-empty-title{font-family:'Bricolage Grotesque',sans-serif;font-size:20px;font-weight:800;margin:0 0 8px;letter-spacing:-0.4px}
.edge-empty-message{font-size:14px;line-height:1.55;color:#5A6373;margin:0 0 20px}
.edge-empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.edge-empty-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:14px;font-family:inherit;cursor:pointer;text-decoration:none;border:none}
.edge-empty-btn-primary{background:#4A9BD8;color:#fff}
.edge-empty-btn-primary:hover{background:#2F7AB8;color:#fff}
.edge-empty-btn-secondary{background:#fff;color:#262C38;border:1px solid #DDD9CF}
.edge-empty-btn-secondary:hover{background:#EDF1F7}
.edge-empty-icon{width:56px;height:56px;border-radius:16px;background:#E8F1FA;margin:0 auto 16px}
.edge-empty-warn .edge-empty-icon{background:#FFF9EE}
.edge-empty-muted .edge-empty-icon{background:#EDF1F7}

.bk-slot-taken{background:#FFF9EE;border:1px solid #EFE3C8;border-radius:16px;padding:18px 20px;margin-bottom:16px}
.bk-slot-taken h3{font-family:'Bricolage Grotesque',sans-serif;font-size:17px;margin:0 0 6px}
.bk-slot-taken p{font-size:14px;color:#5A6373;margin:0 0 14px;line-height:1.5}
.bk-slot-taken-options{display:flex;flex-direction:column;gap:8px}

/* Mobile touch targets (§16a) */
@media (max-width:640px){
  .bk-date-btn,.bk-slot-btn,.mplace-btn,.portal-btn,.admin-btn,.cportal-booking-row,.edge-empty-btn{min-height:44px}
  .bk-date-btn{min-width:52px}
  .bk-slot-btn{padding:14px 18px;font-size:15px}
  input,select,textarea,button{font-size:16px}
}
