@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Outfit-SemiBold.ttf) format("truetype")}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Outfit-Bold.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/DMSans-Regular.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/DMSans-Medium.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/DMSans-Bold.ttf) format("truetype")}:root{color-scheme:light dark;--font-display: Outfit, system-ui, sans-serif;--font-sans: "DM Sans", system-ui, sans-serif;--font-ui: var(--font-sans);--surface-100: #F7FBFB;--surface-200: #E6F4F5;--ink: #0B2A3A;--ink-muted: #4A6572;--brand: #0E7C86;--on-brand: #FFFFFF;--accent: #FF6B4A;--on-accent: #0B2A3A;--lagoon: #2FC4C9;--sun: #FFC857;--deep: #0B3B4F;--on-deep: #FFFFFF;--line: #CFE3E6;--success: #17754A;--danger: #C73E3E;--paper: var(--surface-100);--surface: var(--surface-200);--ink-2: var(--ink-muted);--ink-3: var(--ink-muted);--control-border: var(--ink-muted);--focus-ring: var(--brand);--open-fg: var(--success);--open-bg: color-mix(in srgb, var(--success) 12%, transparent);--full-fg: var(--danger);--full-bg: color-mix(in srgb, var(--danger) 10%, transparent);--locked-fg: var(--ink-muted);--locked-bg: var(--surface-200);--attn-fg: var(--on-accent);--attn-bg: color-mix(in srgb, var(--sun) 35%, transparent);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-5: var(--space-6);--space-7: var(--space-12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 32px;--radius-pill: 9999px;--radius-control: var(--radius-sm);--radius-button: var(--radius-md);--radius-card: var(--radius-lg);--radius-hero: var(--radius-xl);--shadow-card: 0 2px 8px rgba(11,42,58,.1);--shadow-ticket: 0 8px 24px rgba(11,42,58,.16);--shadow-overlay: var(--shadow-ticket);--type-display-lg-size: 56px;--type-display-lg-line: 58px;--type-display-lg-weight: 700;--type-display-lg-tracking: -.02em;--type-display-md-size: 40px;--type-display-md-line: 44px;--type-display-md-weight: 700;--type-display-md-tracking: -.02em;--type-headline-size: 28px;--type-headline-line: 34px;--type-headline-weight: 600;--type-headline-tracking: -.01em;--type-title-size: 20px;--type-title-line: 28px;--type-title-weight: 600;--type-body-lg-size: 18px;--type-body-lg-line: 28px;--type-body-lg-weight: 400;--type-body-size: 16px;--type-body-line: 24px;--type-body-weight: 400;--type-caption-size: 13px;--type-caption-line: 18px;--type-caption-weight: 500;--type-label-size: 12px;--type-label-line: 16px;--type-label-weight: 700;--type-label-tracking: .06em}@media (prefers-color-scheme: dark){:root{--surface-100: #0A2230;--surface-200: #12384A;--ink: #EAF6F6;--ink-muted: #9DBBC6;--brand: #4CC9D1;--on-brand: #06222B;--deep: #1E6A86;--line: #24505F;--success: #4CD08A;--danger: #FF8A80;--shadow-card: 0 2px 8px rgba(0, 0, 0, .35);--shadow-ticket: 0 8px 24px rgba(0, 0, 0, .45)}}html[data-theme=light]{color-scheme:light;--surface-100: #F7FBFB;--surface-200: #E6F4F5;--ink: #0B2A3A;--ink-muted: #4A6572;--brand: #0E7C86;--on-brand: #FFFFFF;--accent: #FF6B4A;--on-accent: #0B2A3A;--lagoon: #2FC4C9;--sun: #FFC857;--deep: #0B3B4F;--on-deep: #FFFFFF;--line: #CFE3E6;--success: #17754A;--danger: #C73E3E;--shadow-card: 0 2px 8px rgba(11,42,58,.1);--shadow-ticket: 0 8px 24px rgba(11,42,58,.16)}html[data-theme=dark]{color-scheme:dark;--surface-100: #0A2230;--surface-200: #12384A;--ink: #EAF6F6;--ink-muted: #9DBBC6;--brand: #4CC9D1;--on-brand: #06222B;--accent: #FF6B4A;--on-accent: #0B2A3A;--lagoon: #2FC4C9;--sun: #FFC857;--deep: #1E6A86;--on-deep: #FFFFFF;--line: #24505F;--success: #4CD08A;--danger: #FF8A80;--shadow-card: 0 2px 8px rgba(0, 0, 0, .35);--shadow-ticket: 0 8px 24px rgba(0, 0, 0, .45)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-weight:400;font-size:var(--type-body-size);line-height:var(--type-body-line);font-variant-numeric:tabular-nums}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--focus-ring)}@media (prefers-reduced-motion: no-preference){.transition-fade{transition:opacity .15s ease,background-color .15s ease,border-color .15s ease}}*{box-sizing:border-box}.page{max-width:960px;margin:0 auto;padding:var(--space-4)}.page-narrow{max-width:420px}.page-meta{color:var(--ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:500}h1{font-family:var(--font-display);font-weight:var(--type-headline-weight);font-size:var(--type-headline-size);line-height:var(--type-headline-line);letter-spacing:var(--type-headline-tracking, -.01em);margin:0 0 var(--space-3);color:var(--ink)}h1.display{font-size:var(--type-display-md-size);line-height:var(--type-display-md-line);font-weight:var(--type-display-md-weight);letter-spacing:var(--type-display-md-tracking, -.02em)}h2{font-family:var(--font-display);font-weight:var(--type-title-weight);font-size:var(--type-title-size);line-height:var(--type-title-line);margin:0 0 var(--space-2);color:var(--ink)}h3{font-family:var(--font-sans);font-weight:700;font-size:var(--type-body-size);line-height:var(--type-body-line);margin:0 0 var(--space-2);color:var(--ink)}a{color:var(--brand)}.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.wordmark{display:inline-flex;align-items:center;gap:.3em;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none;line-height:1}.wordmark img{display:block;width:1.25em;height:1.25em}.wordmark-divider{opacity:.3;margin:0 .2em}.wordmark .company-logo{border-radius:4px;object-fit:contain}.brand-tagline{margin:0;font-size:var(--type-body-lg-size);line-height:var(--type-body-lg-line);font-weight:400;color:var(--ink-muted)}.brand-motif{width:100%;height:160px;overflow:hidden;pointer-events:none}.brand-motif svg{display:block;width:100%;height:100%}.hero-image{width:100%;aspect-ratio:640 / 360;border-radius:var(--radius-hero);overflow:hidden;background:var(--surface-200)}.hero-image img{display:block;width:100%;height:100%;object-fit:cover}.form-screen{min-height:100vh;background:var(--paper)}.form-screen-inner{max-width:420px;margin:0 auto;padding:var(--space-4) var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}.form-screen-inner.with-motif{padding-top:var(--space-6)}.venue-icon{width:56px;height:56px;border-radius:10px;object-fit:contain;flex-shrink:0;background:var(--surface-200);padding:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-button);font-family:var(--font-sans);font-weight:700;font-size:16px;line-height:1;border:1px solid transparent;cursor:pointer}.btn:disabled{background:var(--surface)!important;color:var(--ink-muted)!important;border-color:var(--line)!important;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover:not(:disabled){filter:brightness(.95)}.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--control-border)}.btn-secondary:hover:not(:disabled){background:var(--surface)}.btn-quiet{background:transparent;color:var(--brand);height:auto;min-height:0;padding:var(--space-1) var(--space-2)}.btn-quiet:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 12%,transparent)}.btn-quiet:disabled{background:transparent!important;border-color:transparent!important}.btn-destructive{background:var(--danger);color:var(--on-brand)}.btn-destructive:hover:not(:disabled){filter:brightness(.95)}.btn-block{width:100%}label{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-sans);font-weight:500;font-size:16px;line-height:24px;margin-bottom:var(--space-3);color:var(--ink)}input,select,textarea{height:44px;padding:0 var(--space-3);font:400 16px/24px var(--font-sans);border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--paper);color:var(--ink)}textarea{height:auto;min-height:88px;padding:var(--space-2) var(--space-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand)}input[type=checkbox]{height:auto;width:20px}.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-control);font-family:var(--font-sans);font-weight:700;font-size:var(--type-label-size);line-height:1;letter-spacing:var(--type-label-tracking, .06em);text-transform:uppercase}.chip-open{background:var(--open-bg);color:var(--open-fg)}.chip-full{background:var(--full-bg);color:var(--full-fg)}.chip-locked{background:var(--locked-bg);color:var(--locked-fg)}.chip-brand{background:var(--brand);color:var(--on-brand)}.message{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);padding-left:calc(var(--space-3) + 4px);border-radius:var(--radius-control);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:500;margin:0 0 var(--space-3);color:var(--ink);background:var(--surface);position:relative;overflow:hidden}.message:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-control) 0 0 var(--radius-control)}.message svg{flex-shrink:0;margin-top:1px}.message-error{background:var(--full-bg)}.message-error:before,.message-error svg{color:var(--danger);background:var(--danger)}.message-error svg{background:transparent}.message-attention{background:var(--attn-bg)}.message-attention:before{background:var(--on-accent)}.message-attention svg{color:var(--on-accent)}.message-info{background:var(--open-bg)}.message-info:before{background:var(--success)}.message-info svg{color:var(--success)}.top-nav{display:flex;flex-direction:column;gap:var(--space-3);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--deep);color:var(--on-deep);min-height:64px}.top-nav-brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--on-deep);text-decoration:none}.top-nav-brand img{width:28px;height:28px;display:block}.top-nav-workspace{font-family:var(--font-sans);font-weight:500;font-size:14px;opacity:.85}.top-nav nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}.top-nav nav a{display:inline-flex;align-items:center;height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--on-deep);text-decoration:none;font-weight:700;font-size:14px;opacity:.85}.top-nav nav a:hover{opacity:1;background:color-mix(in srgb,var(--on-deep) 12%,transparent)}.top-nav nav a[aria-current=page]{background:color-mix(in srgb,var(--on-deep) 18%,transparent);color:var(--on-deep);opacity:1}.top-nav-user{display:flex;align-items:center;gap:var(--space-3);font-size:14px;color:color-mix(in srgb,var(--on-deep) 85%,transparent)}.top-nav .btn-quiet{color:var(--on-deep)}.top-nav .btn-quiet:hover:not(:disabled){background:color-mix(in srgb,var(--on-deep) 12%,transparent)}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.month-nav h1{margin:0;font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight)}.month-nav .btn{min-width:44px;padding:0 var(--space-3)}.calendar-grid{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-card)}.calendar-grid th{font:700 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:var(--space-2);text-align:center;background:color-mix(in srgb,var(--surface-200) 70%,var(--paper))}.calendar-cell{border:1px solid var(--line);height:56px;vertical-align:top;padding:0;background:var(--paper)}.calendar-cell-empty{border-color:transparent;background:transparent}.calendar-cell a{display:flex;flex-direction:column;height:100%;min-height:44px;padding:var(--space-2);text-decoration:none;color:var(--ink);gap:2px}.calendar-day-number{font:700 14px/1 var(--font-sans);font-variant-numeric:tabular-nums}.calendar-day-today .calendar-day-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--brand);color:var(--on-brand)}.calendar-day-status{display:inline-flex;align-items:center;gap:3px;font:700 11px/14px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;margin-top:auto}.calendar-day-furthest{font:700 11px/14px var(--font-sans);text-decoration:underline;color:var(--ink-muted)}.calendar-cell-open{background:var(--open-bg)}.calendar-cell-open .calendar-day-status{color:var(--open-fg)}.calendar-cell-full{background:var(--full-bg)}.calendar-cell-full .calendar-day-status{color:var(--full-fg)}.calendar-cell-locked{background:var(--locked-bg)}.calendar-cell-locked .calendar-day-status{color:var(--locked-fg)}.calendar-cell-past{background:var(--paper)}.calendar-cell-past .calendar-day-number{color:var(--ink-muted)}.calendar-cell-unknown,.calendar-cell-none{background:var(--paper)}.calendar-legend{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.calendar-legend-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.calendar-legend p{margin:0;color:var(--ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.pass-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.pass-card{display:flex;gap:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface);box-shadow:var(--shadow-card)}.pass-card-logo{width:56px;height:56px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--paper)}.pass-card-meta{display:flex;align-items:center;gap:var(--space-1);color:var(--ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:500;margin:2px 0}.pass-card-meta svg{flex-shrink:0}.pass-card-reason{display:flex;align-items:center;gap:var(--space-1);color:var(--ink-muted);font-size:var(--type-caption-size)}.reservation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.reservation-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface);box-shadow:var(--shadow-card)}.reservation-row-date{font-weight:700;font-family:var(--font-display)}.empty-state{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.empty-state h2{margin:0}.empty-state p{margin:0;color:var(--ink-muted)}.settings-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.settings-hint{margin:0 0 var(--space-3)}.sign-in-actions{display:flex;flex-direction:column;gap:var(--space-2)}.sign-in-links{display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-3);font-weight:700;text-decoration:none}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;margin-bottom:var(--space-4);box-shadow:var(--shadow-card)}thead{background:color-mix(in srgb,var(--surface-200) 80%,var(--paper))}th{text-align:left;font:700 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:var(--space-3) var(--space-4)}td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);font-size:15px}tr{min-height:64px}.confirm-dialog{border:none;border-radius:var(--radius-card);padding:var(--space-6);max-width:420px;width:calc(100vw - 32px);box-shadow:var(--shadow-ticket);background:var(--surface);color:var(--ink)}.confirm-dialog::backdrop{background:color-mix(in srgb,var(--deep) 55%,transparent)}.confirm-dialog h2{font-family:var(--font-display);font-size:22px;margin-bottom:var(--space-2)}.confirm-dialog-body{color:var(--ink-muted);margin-bottom:var(--space-4)}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.skeleton{background:var(--surface);border-radius:var(--radius-control)}.skeleton-text{height:16px;width:60%}@media (min-width: 700px){.page{padding:var(--space-6)}.top-nav{flex-direction:row;align-items:center;justify-content:space-between;margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-6);padding:var(--space-3) var(--space-6)}.calendar-cell{height:80px}.calendar-day-number{font-size:16px}}.top-nav-brand .wordmark{color:inherit}.settings-section{margin:var(--space-5) 0}.settings-section h2{margin-bottom:var(--space-2)}.logo-preview{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--stroke-subtle);border-radius:8px;background:var(--surface-100)}.logo-preview img{border:1px solid var(--stroke-subtle);border-radius:8px;background:#fff;padding:var(--space-2)}.logo-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.logo-upload{display:flex;flex-direction:column;gap:var(--space-2)}
