:root{--bg: #0f1c17;--bg-elevated: #173028;--ink: #e8f2ec;--muted: #9bb5a8;--accent: #3d9b6e;--accent-2: #c4a35a;--danger: #d65a5a;--line: rgba(232, 242, 236, .12);--font-display: "Segoe UI", "Helvetica Neue", sans-serif;--font-body: "Segoe UI", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(61,155,110,.25),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(196,163,90,.18),transparent 50%),linear-gradient(160deg,#0b1512,#12221c 45%,#0f1c17)}a{color:var(--accent-2);text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.app-shell.public{grid-template-columns:1fr}.sidebar{padding:1.5rem 1.25rem;border-right:1px solid var(--line);background:#0a14108c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-size:1.4rem;font-weight:700;letter-spacing:.02em;margin-bottom:1.5rem}.nav a{display:block;padding:.55rem .7rem;border-radius:8px;color:var(--muted);margin-bottom:.25rem}.nav a.router-link-active{background:#3d9b6e2e;color:var(--ink)}.main{padding:1.5rem}.muted{color:var(--muted);line-height:1.5}.auth-switch{margin-top:1.25rem;text-align:center}.form-error{color:var(--danger);margin:0 0 1rem;line-height:1.45}.form-ok{color:#8fd4ae;margin:0 0 1rem;line-height:1.45}.check-steps{margin:0 0 .5rem;padding-left:1.2rem;color:var(--muted);line-height:1.55}.check-steps li{margin:.35rem 0}.auth-notice{margin:0 0 1.25rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:#3d9b6e1f}.auth-notice .form-ok,.auth-notice .check-steps{margin-bottom:.65rem}.panel{background:#173028b8;border:1px solid var(--line);border-radius:14px;padding:1.25rem}.page-title{margin:0 0 1rem;font-size:1.5rem}.booking-panel{max-width:1180px;margin:2rem auto}.app-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:grid;place-items:center;padding:1rem;background:#080e0c9e}.app-confirm-card{width:min(28rem,100%);background:var(--bg-elevated);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem 1.2rem;color:var(--ink);box-shadow:0 16px 40px #00000059}.app-confirm-message{margin:0;font-size:1rem;line-height:1.45}.app-confirm-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.app-confirm-btn{min-width:5.5rem;padding:.45rem .8rem;border-radius:8px;border:1px solid var(--line);background:#0a141073;color:var(--ink);font:inherit;cursor:pointer}.app-confirm-btn-danger{border-color:#d65a5a73;background:#d65a5a2e}.fc{--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(10, 20, 16, .35);--fc-border-color: var(--line);--fc-today-bg-color: rgba(196, 163, 90, .16);--fc-now-indicator-color: var(--accent-2);--fc-neutral-text-color: var(--muted);color:var(--ink)}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number,.fc .fc-timegrid-slot-label-cushion,.fc .fc-toolbar-title{color:var(--ink)}.fc .fc-timegrid-now-indicator-line{border-color:var(--accent-2);border-width:2px}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--accent-2)}.fc .fc-day-today{background:var(--fc-today-bg-color)!important}.fc .fc-event,.fc .fc-event .fc-event-main,.fc .fc-event .fc-event-title,.fc .fc-event .fc-event-time{cursor:pointer;-webkit-user-select:none;user-select:none}.fc .fc-timegrid-slot{height:1em}.fc .fc-timegrid-body{position:relative}.fc .fc-non-business{background:#00000052}.week-now-line{position:absolute;z-index:4;height:2px;background:var(--accent-2);pointer-events:none;box-shadow:0 0 0 1px #c4a35a40}.fc .fc-timegrid-event{margin-bottom:0;overflow:hidden}.fc .fc-timegrid-event .fc-event-main{overflow:hidden;min-height:0;height:100%}.fc .fc-event-stack{min-width:0;min-height:0;height:100%;overflow:hidden;line-height:1.25;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.fc .fc-fit-bar .fc-event-stack{display:none}.hide-now .fc-day-today{background:transparent!important}.hide-now .fc-timegrid-now-indicator-line,.hide-now .fc-timegrid-now-indicator-arrow{display:none!important}.week-now-span .fc-timeGridWeek-view .fc-timegrid-now-indicator-line,.week-now-span .fc-timeGridWeek-view .fc-timegrid-now-indicator-arrow{display:none}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.nav{display:flex;flex-wrap:wrap;gap:.35rem}}
