:root{--brand:#0d6efd;--brand-dark:#0b5ed7;--brand-soft:#e7f1ff;--success:#198754;--success-soft:#d1e7dd;--warning:#fd7e14;--warning-soft:#ffe5d0;--danger:#dc3545;--danger-soft:#f8d7da;--ink:#212529;--ink-soft:#6c757d;--line:#dee2e6;--bg:#f8f9fa;--surface:#fff;--surface-soft:#f8f9fa;--shadow-sm:0 .5rem 1.5rem #0000000f;--shadow-md:0 1rem 3rem #00000014}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:linear-gradient(#f5f7fb,#eef2f7);margin:0}body,button,input,select,textarea{font-family:var(--bs-font-sans-serif)}code{font-family:var(--bs-font-monospace)}.site-shell{width:min(1400px,100vw - 2rem);margin:0 auto;padding:1rem 0 2.5rem}.page-stack{gap:1.25rem;display:grid}.topbar{background:linear-gradient(135deg,#0b3d91,#0d6efd);border:1px solid #ffffff14;margin-bottom:1.25rem;padding:1rem 1.25rem}.brand-lockup{align-items:center;gap:.85rem;display:inline-flex}.brand-lockup>span:last-child{gap:.1rem;display:grid}.brand-lockup strong{color:#fff;font-size:1.05rem;line-height:1.1;display:block}.brand-lockup small{color:#ffffffd1;font-size:.86rem}.brand-pill{color:#fff;background:#ffffff24;border-radius:.9rem;place-items:center;width:2.75rem;height:2.75rem;font-weight:800;display:grid}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.viewer-chip{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;align-items:center;max-width:16rem;min-height:2.75rem;padding:.55rem .95rem;font-weight:600;display:inline-flex;overflow:hidden}.nav-links{gap:.5rem}.nav-links .nav-link{color:#ffffffe0;border-radius:999px;padding:.55rem .95rem}.nav-link-with-badge{align-items:center;gap:.5rem;display:inline-flex}.nav-badge{color:#fff;background:#dc3545;border-radius:999px;justify-content:center;align-items:center;min-width:1.35rem;min-height:1.35rem;padding:0 .35rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.nav-links .nav-link:hover{color:#fff;background:#ffffff14}.nav-links .nav-link-active{color:var(--brand-dark);background:#fff;font-weight:700}.page-hero{background:var(--surface);border-radius:1.5rem;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:1.25rem;padding:1.5rem;display:grid}.page-heading{align-content:center;gap:.75rem;display:grid}.page-heading h1{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3vw,3.25rem);line-height:1.02}.page-heading p,.hero-side p,.card p,.card li,.card small,label span,.field-card small,.provider-card span,.mini-card span{color:var(--ink-soft);line-height:1.6}.hero-side{border:1px solid var(--line);background:var(--surface-soft);border-radius:1rem;align-content:start;gap:.75rem;padding:1.25rem;display:grid}.hero-side strong,.card h2,.card h3,.card strong,.fc .fc-toolbar-title{color:var(--ink)}.hero-pills,.action-row,.legend-row,.rule-chip-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.hero-pill{font-weight:600;color:var(--ink)!important}.eyebrow{background:var(--brand-soft);width:fit-content;color:var(--brand);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.35rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.eyebrow-soft{color:#495057;background:#e9ecef}.hero-grid,.summary-grid,.calendar-shell,.booking-columns,.compact-grid,.stats-grid,.login-grid{gap:1rem;display:grid}.hero-grid{grid-template-columns:1.3fr .85fr}.compact-grid{grid-template-columns:1.15fr .85fr}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-shell{grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr);align-items:start}.stack{gap:1rem;display:grid}.gap-sm{gap:.75rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.card{border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:1.25rem;padding:1em}.spotlight,.outline,.tint,.calendar-surface,.booking-panel,.warning-card{background:var(--surface)}.tint{background:#f8fbff}.inset{background:var(--surface-soft);border-radius:1rem}.button,.button-secondary,.button-ghost,.button-danger{border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.button{background:var(--brand);color:#fff;border:1px solid var(--brand)}.button-hero{letter-spacing:.01em;gap:.55rem;padding:.85rem 1.5rem;font-size:1.06rem;font-weight:700;animation:2.2s ease-in-out infinite hero-cta-pulse;box-shadow:0 .75rem 1.75rem #0d6efd47}.button-hero-icon{font-size:.95em;transition:transform .2s}.button-hero:hover:not(:disabled){animation:none;transform:translateY(-1px);box-shadow:0 1rem 2rem #0d6efd57}.button-hero:hover .button-hero-icon{transform:translate(2px)}.cta-inline-link{color:var(--brand-dark);text-underline-offset:.2rem;font-weight:700;text-decoration:underline}.cta-inline-link:hover{color:#084298}.topbar-login-link{background:#ffffff29;border-color:#ffffff57;min-width:7rem;font-weight:700}.cta-hint{color:var(--ink-soft);margin-top:.2rem;font-weight:600;display:inline-block}@keyframes hero-cta-pulse{0%,to{box-shadow:0 .75rem 1.75rem #0d6efd47}50%{box-shadow:0 .95rem 2.2rem #0d6efd66}}.button:hover:not(:disabled){background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.button-secondary,.provider-card{color:var(--ink);border:1px solid var(--line);background:#fff}.button-secondary:hover:not(:disabled),.provider-card:hover{background:var(--surface-soft)}.button-ghost{color:#fff;background:#ffffff14;border:1px solid #ffffff40}.button-ghost:hover:not(:disabled){color:#fff;background:#ffffff24}.button-danger{background:var(--danger);color:#fff;border:1px solid var(--danger)}.button-danger:hover:not(:disabled){color:#fff;background:#bb2d3b;border-color:#b02a37}.button:disabled{opacity:.65;cursor:not-allowed}.provider-card{text-align:left;gap:.35rem;width:100%;padding:1rem;display:grid}.provider-card-head{align-items:center;gap:.75rem;display:inline-flex}.provider-logo{flex:none;width:1.4rem;height:1.4rem}.login-divider{color:var(--ink-soft);justify-content:center;align-items:center;font-size:.9rem;display:flex;position:relative}.login-divider:before{content:"";inset-inline:0;border-top:1px solid var(--line);position:absolute;top:50%}.login-divider span{background:var(--surface);padding:0 .85rem;position:relative}.login-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:1rem;gap:.25rem;padding:1rem;display:grid}.feature-list,.ordered-list,.rule-list{gap:.75rem;padding-left:0;list-style:none;display:grid}.feature-list li,.ordered-list li{border:1px solid var(--line);background:var(--surface-soft);border-radius:1rem;padding:.95rem 1rem .95rem 2.75rem;position:relative}.feature-list li:before,.ordered-list li:before{content:"";background:var(--brand);border-radius:999px;width:.85rem;height:.85rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.ordered-list{counter-reset:step}.ordered-list li:after{counter-increment:step;content:counter(step);text-align:center;color:#fff;width:.85rem;font-size:.65rem;font-weight:800;position:absolute;top:50%;left:1rem;transform:translateY(-52%)}.rule-row,.admin-user-row,.booking-card,.inline-card,.schedule-row,.field-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.booking-card,.admin-user-row,.schedule-row,.inline-card{flex-wrap:wrap}.schedule-row{border-top:1px solid var(--line);padding:.9rem 0}.schedule-row:first-child{border-top:none}.legend,.pill{border-radius:999px;justify-content:center;align-items:center;min-height:2rem;padding:.35rem .8rem;font-size:.88rem;font-weight:600;display:inline-flex}.legend-mine,.status-approved{background:var(--success-soft);color:var(--success)}.legend-busy,.status-pending{background:var(--warning-soft);color:var(--warning)}.legend-maintenance{color:#6f42c1;background:#ede7f6}.status-rejected{background:var(--danger-soft);color:var(--danger)}.status-active{background:var(--brand-soft);color:var(--brand)}.status-disabled{background:var(--warning-soft);color:#b35c00}.status-deleted{color:#495057;background:#e9ecef}.pill{background:var(--brand-soft);color:var(--brand)}.flash{border:1px solid #0000;border-radius:1rem;padding:.9rem 1rem;font-weight:600}.flash-success{background:var(--success-soft);color:#0f5132;border-color:#badbcc}.flash-error{background:var(--danger-soft);color:#842029;border-color:#f5c2c7}.form-grid,.field-card,.checkbox-row,label{gap:.55rem;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #ced4da;border-radius:.75rem;padding:.75rem .9rem}input:focus,select:focus,textarea:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd2e}.checkbox-row{grid-auto-flow:column;justify-content:start;align-items:center}.checkbox-row input{width:auto}.wide-card{max-width:28rem}.calendar-surface,.booking-panel{overflow:hidden}.booking-panel{position:sticky;top:1rem}.calendar-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.calendar-scroll{overflow-x:auto}.calendar-scroll .fc{min-width:760px}.selection-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:1rem;gap:.4rem;margin:1rem;padding:1rem;display:grid}.selection-card.muted{background:#f8f9fa}.reservation-submit{width:100%;box-shadow:var(--shadow-sm);border-radius:1rem;margin-top:.25rem;font-weight:600}.reservation-cancel{min-width:8.5rem;box-shadow:none;border-radius:999px;font-weight:600}.booking-card form{margin-left:auto}.fc{--fc-border-color:var(--line);--fc-today-bg-color:#0d6efd14;--fc-neutral-bg-color:#fff;--fc-page-bg-color:transparent;color:var(--ink)}.fc .fc-toolbar-title{font-size:1.35rem}.fc .fc-button{color:var(--ink);box-shadow:none;background:#fff;border:1px solid #ced4da;border-radius:999px}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active,.fc .fc-button-primary:hover{background:var(--brand);border-color:var(--brand);color:#fff}.fc .fc-col-header-cell,.fc .fc-timegrid-axis,.fc .fc-timegrid-slot{background:#fff}.fc .fc-col-header-cell-cushion,.fc .fc-timegrid-axis-cushion{color:var(--ink-soft);font-weight:600}.fc-event-own,.fc-event-busy,.fc-event-maintenance{cursor:pointer!important;border:none!important;border-radius:.75rem!important;padding:.15rem .25rem!important;font-weight:600!important}.fc-event-own{color:#fff!important;background:#198754!important}.fc-event-busy{color:#fff!important;background:#fd7e14!important}.fc-event-maintenance{color:#fff!important;background:#6f42c1!important}.community-filters{grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr) auto;align-items:end;gap:1rem;display:grid}.community-directory{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:1rem;display:grid}.directory-master,.directory-detail{overflow:hidden}.directory-detail{position:sticky;top:1rem}.directory-header{margin-bottom:.75rem}.directory-table th{white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.82rem}.directory-table td{vertical-align:middle}.directory-row-selected td{background:var(--brand-soft)}.directory-link{color:var(--ink);text-decoration:none}.directory-link:hover{color:var(--brand-dark)}.directory-member-row{gap:.85rem;display:grid}.directory-member-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.directory-member-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.directory-actions-grid{flex-wrap:wrap;gap:.6rem;display:flex}.directory-actions-grid form{margin:0}.directory-move-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.75rem;display:grid}.directory-note{color:var(--ink-soft);margin:.35rem 0 0}@media (max-width:1080px){.page-hero,.hero-grid,.compact-grid,.summary-grid,.calendar-shell,.booking-columns,.stats-grid,.login-grid,.community-directory,.community-filters,.directory-move-form{grid-template-columns:1fr}.topbar,.calendar-header,.rule-row,.field-row,.inline-card{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:space-between;width:100%}.page-heading h1{max-width:100%}}@media (max-width:720px){.site-shell{width:min(100vw - 1rem,100%);padding-top:.75rem}.topbar,.card{border-radius:1.25rem}.page-heading h1{font-size:2rem}.button,.button-secondary,.button-danger,.button-ghost{width:100%}.cta-hint{display:block}.nav-links{width:100%}.nav-links .nav-link{text-align:center;flex:45%}.calendar-scroll .fc{min-width:700px}}
