.garage-tools{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px}.garage-tools label{display:grid;gap:7px;font-weight:800}.garage-tools input,.garage-tools select{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--border,#d8d2df);border-radius:10px;background:var(--surface,#fff);color:inherit;font:inherit}.garage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.garage-card{border:1px solid var(--border,#d8d2df);border-radius:16px;padding:20px;background:var(--surface,#fff);box-shadow:0 8px 22px rgba(32,18,44,.08)}.garage-card h2{margin:4px 0 10px;font-size:1.25rem}.garage-card p{margin:.45rem 0}.garage-card .garage-code{font-weight:900;color:#6b3b8f;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.garage-card .garage-address,.garage-card .garage-hours{font-weight:800}.garage-card .garage-category{display:inline-block;padding:4px 8px;border-radius:999px;background:#f2c14e;color:#21172a;font-size:.8rem;font-weight:900}.garage-status{font-weight:700}.garage-status:empty{display:none}.garage-meta-card{display:grid;gap:20px}.garage-meta-row h2{margin:.65rem 0 0}.garage-contact{margin:0;font-weight:700;line-height:1.5}.garage-contact a{color:inherit;text-decoration:underline;text-underline-offset:2px}html.garage-dialog-open,body.garage-dialog-open{overflow:hidden!important;overscroll-behavior:none!important}body.garage-dialog-open{position:fixed!important;left:0;right:0;width:100%}.garage-join-dialog{width:min(760px,calc(100vw - 24px));max-width:760px;max-height:92dvh;padding:0;border:1px solid var(--border,#d8d2df);border-radius:18px;background:var(--surface,#fff);color:inherit;box-shadow:0 24px 70px rgba(0,0,0,.35);overflow:hidden;overscroll-behavior:contain}.garage-join-dialog::backdrop{background:rgba(0,0,0,.55)}.garage-join-form{display:flex;flex-direction:column;width:100%;min-width:0;max-height:92dvh;overflow:hidden}.garage-join-header{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:20px;border-bottom:1px solid var(--border,#d8d2df);background:var(--surface,#fff)}.garage-join-header>div{min-width:0}.garage-join-header .button{width:auto!important;min-width:0;white-space:nowrap;align-self:start}.garage-join-header h2{margin:.2rem 0 .4rem;max-width:100%;font-size:clamp(1.55rem,5vw,2.15rem);line-height:1.12;overflow-wrap:normal;word-break:normal}.garage-join-header p{margin:.25rem 0;max-width:58ch;line-height:1.45;overflow-wrap:normal;word-break:normal}.garage-join-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;min-height:0;padding:20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.garage-join-grid label{display:grid;gap:6px;min-width:0;font-weight:800}.garage-join-grid input,.garage-join-grid textarea{width:100%;min-width:0;box-sizing:border-box;padding:11px 12px;border:1px solid var(--border,#d8d2df);border-radius:10px;background:var(--surface,#fff);color:inherit;font:inherit}.garage-join-grid textarea{resize:vertical}.garage-join-wide{grid-column:1/-1}.garage-optional{font-size:.8rem;font-weight:600;opacity:.7}.garage-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.garage-join-actions{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid var(--border,#d8d2df);background:var(--surface,#fff)}.garage-join-status{margin:0;line-height:1.4;font-weight:700}.garage-join-actions button:disabled{opacity:.65;cursor:not-allowed}.garage-join-success{display:grid;gap:14px;padding:28px;max-width:620px}.garage-join-success .eyebrow{margin:0}.garage-join-success h2{margin:0;line-height:1.15}.garage-join-success p{margin:0;line-height:1.55}.garage-join-success .button{justify-self:start}.garage-hours-editor{display:grid;gap:12px;padding:16px;border:1px solid var(--border,#d8d2df);border-radius:12px;background:color-mix(in srgb,var(--surface,#fff) 94%,#6b3b8f 6%)}.garage-hours-editor>div:first-child>strong{font-size:1.05rem}.garage-hours-editor p{margin:.25rem 0 0;line-height:1.45}.garage-hours-days{display:grid;gap:10px}.garage-hours-day{display:grid;gap:10px;padding:12px;border:1px solid var(--border,#d8d2df);border-radius:10px;background:var(--surface,#fff)}.garage-day-choice{display:flex!important;align-items:center;gap:10px!important;font-weight:900!important;cursor:pointer}.garage-day-choice input[type="checkbox"]{width:20px!important;height:20px!important;min-width:20px;padding:0!important;accent-color:#6b3b8f}.garage-day-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-left:30px}.garage-day-times[hidden]{display:none!important}.garage-day-times label{font-size:.9rem}.garage-day-times input[type="time"]{min-height:44px}@media(max-width:650px){.garage-tools{grid-template-columns:1fr}.garage-grid{grid-template-columns:1fr}.garage-join-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}.garage-join-form{max-height:calc(100dvh - 16px)}.garage-join-header{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px}.garage-join-header h2{font-size:clamp(1.5rem,7vw,1.9rem);line-height:1.12}.garage-join-header p{font-size:.95rem;line-height:1.45}.garage-join-header .button{padding:8px 10px!important;font-size:.9rem!important}.garage-join-grid{grid-template-columns:1fr;padding:16px}.garage-join-wide{grid-column:auto}.garage-join-actions{padding:14px 16px}.garage-join-actions .button,.garage-join-success .button{width:100%}.garage-join-success{padding:22px 16px}.garage-hours-editor{padding:12px}.garage-day-times{grid-template-columns:1fr 1fr;padding-left:0}.garage-join-grid input,.garage-join-grid textarea{font-size:16px}}@media(max-width:420px){.garage-join-header{grid-template-columns:1fr}.garage-join-header .button{justify-self:start}.garage-day-times{grid-template-columns:1fr}}

@page{size:letter;margin:.35in}
@media print{
  html,body{background:#fff!important;color:#111!important;font-size:9.5pt!important}
  .portal-header,.portal-footer,.hero-actions,.garage-tools,.garage-join-dialog{display:none!important}
  .portal-shell,main,.page-hero,.section,.garage-list-section{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
  .page-hero{background:none!important;color:#111!important;min-height:0!important}
  .page-hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:start!important;margin:0 0 10px!important}
  .page-hero .eyebrow{display:none!important}
  #garage-title{margin:0 0 3px!important;font-size:18pt!important;line-height:1.05!important;color:#111!important}
  #garage-description{margin:0!important;max-width:6.5in!important;font-size:9pt!important;line-height:1.25!important;color:#333!important}
  .garage-meta-card{display:block!important;min-width:2.6in!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:#111!important}
  .garage-meta-card .tag{display:none!important}
  .garage-meta-row h2{margin:0!important;font-size:11pt!important;line-height:1.15!important;color:#111!important}
  .garage-contact{margin:4px 0 0!important;font-size:8.5pt!important;line-height:1.2!important;color:#111!important}
  .garage-status{display:none!important}
  .garage-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;align-items:start!important}
  .garage-card{break-inside:avoid!important;page-break-inside:avoid!important;margin:0!important;padding:7px 8px!important;border:1px solid #aaa!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important;color:#111!important}
  .garage-card h2{margin:1px 0 3px!important;font-size:10pt!important;line-height:1.1!important;color:#111!important}
  .garage-card p{margin:2px 0!important;font-size:8.2pt!important;line-height:1.18!important}
  .garage-card .garage-code{font-size:7pt!important;color:#444!important;letter-spacing:.03em!important}
  .garage-card .garage-category{padding:1px 4px!important;border:1px solid #999!important;border-radius:4px!important;background:none!important;color:#111!important;font-size:7pt!important}
}