:root{--r24-spar:#1f4d3f;--r24-ink:#14201b;--r24-mist:#f5f7f6;--r24-surface:#ffffff;--r24-fresh:#2fa36b;--r24-amber:#d99a2b;--r24-clay:#c4453c;--r24-spar-hover:#163a30;--r24-spar-soft:#e4ecea;--r24-fresh-soft:#e3f4ec;--r24-amber-soft:#f9efdc;--r24-clay-soft:#f8e5e3;--r24-line:#dde4e1;--r24-ink-soft:#5b6b64;--r24-font-display:"Bricolage Grotesque",system-ui,sans-serif;--r24-font-body:"Instrument Sans",system-ui,sans-serif;--r24-font-mono:"IBM Plex Mono",ui-monospace,monospace;--r24-text-xs:0.75rem;--r24-text-sm:0.875rem;--r24-text-md:1rem;--r24-text-lg:1.125rem;--r24-text-xl:1.375rem;--r24-text-2xl:1.75rem;--r24-text-3xl:2.25rem;--r24-space-1:0.25rem;--r24-space-2:0.5rem;--r24-space-3:0.75rem;--r24-space-4:1rem;--r24-space-5:1.5rem;--r24-space-6:2rem;--r24-space-7:3rem;--r24-space-8:4rem;--r24-radius-sm:6px;--r24-radius-md:10px;--r24-radius-lg:16px;--r24-radius-tile:12px;--r24-shadow-sm:0 1px 2px rgba(20,32,27,0.06);--r24-shadow-md:0 4px 12px rgba(20,32,27,0.08);--r24-shadow-lg:0 12px 32px rgba(20,32,27,0.12);--r24-motion-fast:120ms;--r24-motion-base:200ms;--r24-motion-slow:400ms;--r24-ease:cubic-bezier(0.2,0,0,1)}@media (prefers-reduced-motion:reduce){:root{--r24-motion-fast:0ms;--r24-motion-base:0ms;--r24-motion-slow:0ms}}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/bricolage-grotesque-vietnamese-600-normal.12869f63.woff2) format("woff2"),url(/_next/static/media/bricolage-grotesque-vietnamese-600-normal.a516e0e7.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/bricolage-grotesque-latin-ext-600-normal.9b255612.woff2) format("woff2"),url(/_next/static/media/bricolage-grotesque-latin-ext-600-normal.bde2da5f.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/bricolage-grotesque-latin-600-normal.5e71f0cb.woff2) format("woff2"),url(/_next/static/media/bricolage-grotesque-latin-600-normal.f35850bd.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/bricolage-grotesque-vietnamese-700-normal.cf6bc2c0.woff2) format("woff2"),url(/_next/static/media/bricolage-grotesque-vietnamese-700-normal.f4c833e8.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/bricolage-grotesque-latin-ext-700-normal.a33f7d12.woff2) format("woff2"),url(/_next/static/media/bricolage-grotesque-latin-ext-700-normal.6dda0b82.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/bricolage-grotesque-latin-700-normal.98c7e45d.woff2) format("woff2"),url(/_next/static/media/bricolage-grotesque-latin-700-normal.e5623f43.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-sans-latin-ext-400-normal.0497c1b3.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-ext-400-normal.b52565c7.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/instrument-sans-latin-400-normal.34918409.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-400-normal.1d032d47.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/instrument-sans-latin-ext-500-normal.d214c3b7.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-ext-500-normal.baa9a8f2.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/instrument-sans-latin-500-normal.df2a691d.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-500-normal.2d5fb5a9.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/instrument-sans-latin-ext-600-normal.08bccc79.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-ext-600-normal.e534511e.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/instrument-sans-latin-600-normal.e08e708e.woff2) format("woff2"),url(/_next/static/media/instrument-sans-latin-600-normal.68b79c9c.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.60bbe6c8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.994c9659.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.2a0db536.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.d2ac083e.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.cd8df815.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.e53d79b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.5a49cbe3.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.f9f2cfdc.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-500-normal.dece0821.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-500-normal.2258ff2f.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}*{box-sizing:border-box}body{margin:0;background:var(--r24-mist);color:var(--r24-ink);font-family:var(--r24-font-body);font-size:var(--r24-text-md);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--r24-font-display);font-weight:600;line-height:1.15;margin:0 0 var(--r24-space-3);letter-spacing:-.01em}h1{font-size:var(--r24-text-3xl)}h2{font-size:var(--r24-text-2xl)}h3{font-size:var(--r24-text-xl)}a{color:var(--r24-spar)}.r24-data{font-family:var(--r24-font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.9375em}:focus-visible{outline:2px solid var(--r24-spar);outline-offset:2px;border-radius:var(--r24-radius-sm)}.r24-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--r24-space-2);font:600 var(--r24-text-md) var(--r24-font-body);border-radius:var(--r24-radius-md);border:1px solid transparent;padding:.625rem 1.25rem;cursor:pointer;transition:background var(--r24-motion-fast) var(--r24-ease),transform var(--r24-motion-fast) var(--r24-ease);text-decoration:none}.r24-btn:active{transform:translateY(1px)}.r24-btn:disabled{opacity:.55;cursor:not-allowed}.r24-btn--primary{background:var(--r24-spar);color:#fff}.r24-btn--primary:hover:not(:disabled){background:var(--r24-spar-hover)}.r24-btn--secondary{background:var(--r24-surface);color:var(--r24-spar);border-color:var(--r24-line)}.r24-btn--secondary:hover:not(:disabled){background:var(--r24-spar-soft)}.r24-btn--danger{background:var(--r24-clay);color:#fff}.r24-btn--ghost{background:transparent;color:var(--r24-spar)}.r24-btn--loading{position:relative;color:transparent!important}.r24-btn--loading:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:r24-spin .7s linear infinite}.r24-btn--secondary.r24-btn--loading:after{border-color:var(--r24-spar-soft);border-top-color:var(--r24-spar)}@keyframes r24-spin{to{transform:rotate(1turn)}}.r24-field{display:flex;flex-direction:column;gap:var(--r24-space-1)}.r24-field label{font-weight:600;font-size:var(--r24-text-sm)}.r24-field .r24-hint{color:var(--r24-ink-soft);font-size:var(--r24-text-sm)}.r24-field .r24-error{color:var(--r24-clay);font-size:var(--r24-text-sm)}.r24-input,.r24-select{font:400 var(--r24-text-md) var(--r24-font-body);color:var(--r24-ink);background:var(--r24-surface);border:1px solid var(--r24-line);border-radius:var(--r24-radius-md);padding:.625rem .875rem;transition:border-color var(--r24-motion-fast) var(--r24-ease)}.r24-input:focus,.r24-select:focus{border-color:var(--r24-spar);outline:none}.r24-input[aria-invalid=true]{border-color:var(--r24-clay)}.r24-card{background:var(--r24-surface);border:1px solid var(--r24-line);border-radius:var(--r24-radius-lg);padding:var(--r24-space-5);box-shadow:var(--r24-shadow-sm)}.r24-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:var(--r24-text-xs);font-weight:600;padding:.125rem .625rem;border-radius:999px}.r24-badge:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor}.r24-badge--success{background:var(--r24-fresh-soft);color:#1c7a4e}.r24-badge--warning{background:var(--r24-amber-soft);color:#8f6314}.r24-badge--danger{background:var(--r24-clay-soft);color:#9c352e}.r24-badge--neutral{background:var(--r24-spar-soft);color:var(--r24-spar)}.r24-table{width:100%;border-collapse:collapse}.r24-table th{text-align:left;font-size:var(--r24-text-sm);color:var(--r24-ink-soft);font-weight:600;padding:var(--r24-space-2) var(--r24-space-3)}.r24-table td,.r24-table th{border-bottom:1px solid var(--r24-line)}.r24-table td{padding:var(--r24-space-3)}.r24-table tr:hover td{background:var(--r24-mist)}.r24-skeleton{background:linear-gradient(90deg,var(--r24-line) 25%,var(--r24-mist) 50%,var(--r24-line) 75%);background-size:200% 100%;animation:r24-shimmer 1.4s infinite;border-radius:var(--r24-radius-sm);color:transparent}@keyframes r24-shimmer{to{background-position:-200% 0}}.r24-empty{text-align:center;padding:var(--r24-space-7) var(--r24-space-5);color:var(--r24-ink-soft)}.r24-empty h3{color:var(--r24-ink)}.r24-toast{position:fixed;bottom:var(--r24-space-5);left:50%;transform:translateX(-50%);background:var(--r24-ink);color:#fff;border-radius:var(--r24-radius-md);padding:var(--r24-space-3) var(--r24-space-5);box-shadow:var(--r24-shadow-lg);animation:r24-toast-in var(--r24-motion-base) var(--r24-ease);z-index:100}.r24-toast--success{background:var(--r24-fresh)}.r24-toast--error{background:var(--r24-clay)}@keyframes r24-toast-in{0%{opacity:0;transform:translate(-50%,.5rem)}to{opacity:1;transform:translate(-50%)}}.r24-steps{display:flex;flex-direction:column;gap:var(--r24-space-2);padding:0;margin:0}.r24-step{display:flex;align-items:center;gap:var(--r24-space-3);list-style:none}.r24-step__dot{width:1.5rem;height:1.5rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--r24-text-xs);font-weight:600;border:2px solid var(--r24-line);color:var(--r24-ink-soft);background:var(--r24-surface);flex-shrink:0}.r24-step--done .r24-step__dot{background:var(--r24-fresh);border-color:var(--r24-fresh);color:#fff}.r24-step--current .r24-step__dot{border-color:var(--r24-spar);color:var(--r24-spar)}.r24-step--current{font-weight:600}.r24-overlay{position:fixed;inset:0;background:rgba(20,32,27,.4);display:flex;align-items:center;justify-content:center;z-index:90;animation:r24-fade var(--r24-motion-base) var(--r24-ease)}.r24-modal{background:var(--r24-surface);border-radius:var(--r24-radius-lg);padding:var(--r24-space-6);max-width:32rem;width:calc(100% - 2rem);max-height:85vh;overflow-y:auto;box-shadow:var(--r24-shadow-lg)}@keyframes r24-fade{0%{opacity:0}to{opacity:1}}.r24-cal{display:flex;flex-direction:column;gap:var(--r24-space-3)}.r24-cal__head{display:flex;align-items:center;justify-content:space-between}.r24-cal__title{font-family:var(--r24-font-display);font-weight:600;font-size:var(--r24-text-lg)}.r24-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.r24-cal__dow{text-align:center;font-size:var(--r24-text-xs);color:var(--r24-ink-soft);font-weight:600;padding-bottom:var(--r24-space-1)}.r24-cal__day{aspect-ratio:1/1.05;border-radius:var(--r24-radius-tile);background:var(--r24-surface);border:1px solid var(--r24-line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:var(--r24-text-sm);cursor:pointer;transition:border-color var(--r24-motion-fast) var(--r24-ease),background var(--r24-motion-fast) var(--r24-ease);position:relative;padding:2px}.r24-cal__day:hover:not(.r24-cal__day--disabled){border-color:var(--r24-spar)}.r24-cal__day--available:after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--r24-fresh)}.r24-cal__day--booked{background:var(--r24-mist);color:var(--r24-ink-soft);cursor:not-allowed;text-decoration:line-through}.r24-cal__day--disabled{opacity:.35;cursor:default}.r24-cal__day--selected{background:var(--r24-spar);border-color:var(--r24-spar);color:#fff}.r24-cal__day--in-range{background:var(--r24-spar-soft);border-color:var(--r24-spar-soft)}.r24-cal__price{font-family:var(--r24-font-mono);font-size:.6875rem;color:var(--r24-ink-soft)}.r24-cal__day--selected .r24-cal__price{color:rgba(255,255,255,.85)}.r24-cal__legend{display:flex;gap:var(--r24-space-4);font-size:var(--r24-text-xs);color:var(--r24-ink-soft)}.portal{min-height:100dvh;display:flex;flex-direction:column}.portal-header{background:var(--r24-surface);border-bottom:1px solid var(--r24-line);position:-webkit-sticky;position:sticky;top:0;z-index:40}.portal-header__inner{max-width:72rem;margin:0 auto;padding:var(--r24-space-3) var(--r24-space-4);display:flex;align-items:center;gap:var(--r24-space-4);flex-wrap:wrap}.portal-header__logo img{height:1.75rem;display:block}.portal-header__user{margin-left:auto;display:flex;align-items:center;gap:var(--r24-space-3);font-size:var(--r24-text-sm);color:var(--r24-ink-soft)}.portal-header__user span{overflow:hidden;text-overflow:ellipsis;max-width:12rem;white-space:nowrap}.portal-nav{display:flex;gap:var(--r24-space-1);overflow-x:auto;width:100%;padding-bottom:2px;-webkit-overflow-scrolling:touch}.portal-nav a{text-decoration:none;color:var(--r24-ink-soft);font-weight:600;font-size:var(--r24-text-sm);padding:var(--r24-space-2) var(--r24-space-3);border-radius:var(--r24-radius-md);white-space:nowrap}.portal-nav a:hover{background:var(--r24-mist);color:var(--r24-ink)}.portal-nav a[aria-current=page]{background:var(--r24-spar-soft);color:var(--r24-spar)}.portal-main{width:100%;max-width:72rem;margin:0 auto;padding:var(--r24-space-5) var(--r24-space-4) var(--r24-space-8);flex:1 1}.portal-impersonation{background:var(--r24-amber-soft);color:var(--r24-ink);padding:var(--r24-space-2) var(--r24-space-4);display:flex;align-items:center;justify-content:center;gap:var(--r24-space-3);font-size:var(--r24-text-sm);border-bottom:1px solid var(--r24-line)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--r24-space-4);margin-bottom:var(--r24-space-5);flex-wrap:wrap}.page-head p{margin:var(--r24-space-1) 0 0;color:var(--r24-ink-soft)}.dash-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--r24-space-4);gap:var(--r24-space-4)}@media (min-width:720px){.dash-grid{grid-template-columns:1fr 1fr}}.dash-card h2{font-size:var(--r24-text-lg);margin-bottom:var(--r24-space-3);display:flex;align-items:baseline;gap:var(--r24-space-2)}.dash-card h2 .count{font-family:var(--r24-font-mono)}.dash-card h2 .count,.dash-quiet{font-size:var(--r24-text-sm);color:var(--r24-ink-soft)}.dash-quiet{margin:0}.dash-stat{display:flex;flex-direction:column;gap:var(--r24-space-1)}.dash-stat strong{font-family:var(--r24-font-display);font-size:var(--r24-text-3xl);line-height:1}.booking-line{display:flex;align-items:center;gap:var(--r24-space-3);padding:var(--r24-space-2) 0;border-bottom:1px solid var(--r24-line);text-decoration:none;color:inherit}.booking-line:last-child{border-bottom:none}.booking-line:hover .booking-line__guest{color:var(--r24-spar)}.booking-line__guest{font-weight:600}.booking-line__meta{color:var(--r24-ink-soft);font-size:var(--r24-text-sm)}.booking-line>.r24-badge{margin-left:auto;flex-shrink:0}.filter-bar{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--r24-space-3);gap:var(--r24-space-3);margin-bottom:var(--r24-space-4)}@media (min-width:720px){.filter-bar{grid-template-columns:repeat(4,minmax(0,1fr))}}.table-wrap{overflow-x:auto}@media (max-width:719px){.r24-table--cards thead{display:none}.r24-table--cards,.r24-table--cards tbody,.r24-table--cards td,.r24-table--cards tr{display:block;width:100%}.r24-table--cards tr{background:var(--r24-surface);border:1px solid var(--r24-line);border-radius:var(--r24-radius-md);margin-bottom:var(--r24-space-3);padding:var(--r24-space-3)}.r24-table--cards td{border:none;padding:var(--r24-space-1) 0}.r24-table--cards td[data-label]:before{content:attr(data-label) ": ";color:var(--r24-ink-soft);font-size:var(--r24-text-sm)}}.row-link{color:inherit;text-decoration:none;font-weight:600}.row-link:hover{color:var(--r24-spar)}.detail-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--r24-space-4);gap:var(--r24-space-4)}@media (min-width:860px){.detail-grid{grid-template-columns:2fr 1fr;align-items:start}}.kv{display:grid;grid-template-columns:minmax(7rem,auto) 1fr;grid-gap:var(--r24-space-2) var(--r24-space-4);gap:var(--r24-space-2) var(--r24-space-4);margin:0}.kv dt{color:var(--r24-ink-soft);font-size:var(--r24-text-sm);padding-top:2px}.kv dd{margin:0}.form-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--r24-space-4);gap:var(--r24-space-4)}@media (min-width:640px){.form-grid--2{grid-template-columns:1fr 1fr}}.form-actions{display:flex;gap:var(--r24-space-3);align-items:center;flex-wrap:wrap;margin-top:var(--r24-space-4)}.inline-error{background:var(--r24-clay-soft);color:var(--r24-clay);border-radius:var(--r24-radius-md);padding:var(--r24-space-3) var(--r24-space-4);margin:0 0 var(--r24-space-4)}.inline-success{background:var(--r24-fresh-soft)}.inline-info,.inline-success{color:var(--r24-ink);border-radius:var(--r24-radius-md);padding:var(--r24-space-3) var(--r24-space-4);margin:0 0 var(--r24-space-4)}.inline-info{background:var(--r24-spar-soft)}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--r24-space-4)}.login-card{width:100%;max-width:24rem;display:flex;flex-direction:column;gap:var(--r24-space-4)}.login-card img{height:2rem;align-self:flex-start}.board-wrap{overflow-x:auto;background:var(--r24-surface);border:1px solid var(--r24-line);border-radius:var(--r24-radius-lg)}.board{display:grid;min-width:max-content}.board__corner,.board__unit{position:-webkit-sticky;position:sticky;left:0;background:var(--r24-surface);z-index:2;border-right:1px solid var(--r24-line);padding:var(--r24-space-2) var(--r24-space-3);font-weight:600;font-size:var(--r24-text-sm);max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board__date{text-align:center;font-size:var(--r24-text-xs);color:var(--r24-ink-soft);padding:var(--r24-space-2) 0;border-bottom:1px solid var(--r24-line);min-width:2.75rem}.board__date--weekend{color:var(--r24-spar);font-weight:600}.board__cell{min-width:2.75rem;height:2.5rem;border-bottom:1px solid var(--r24-line);position:relative}.board__cell--free:after{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:var(--r24-fresh)}.board__block{margin:4px 2px;align-self:stretch;border-radius:999px;background:var(--r24-spar);color:var(--r24-surface);font-size:var(--r24-text-xs);display:flex;align-items:center;padding:0 var(--r24-space-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;z-index:1}.board__block--blocked{background:var(--r24-ink-soft)}.board__block--warning{background:var(--r24-amber);color:var(--r24-ink)}.wizard-layout{display:grid;grid-template-columns:1fr;grid-gap:var(--r24-space-5);gap:var(--r24-space-5);align-items:start}@media (min-width:960px){.wizard-layout{grid-template-columns:14rem minmax(0,1fr) 20rem}.wizard-layout>.r24-card{position:-webkit-sticky;position:sticky;top:5rem}}.preview-card{display:flex;flex-direction:column;gap:var(--r24-space-3)}.preview-card__hero{background:var(--r24-spar-soft);border-radius:var(--r24-radius-md);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;color:var(--r24-spar);font-family:var(--r24-font-display);font-weight:600;text-align:center;padding:var(--r24-space-3)}.preview-card h3{margin:0}.preview-card .muted{color:var(--r24-ink-soft);font-size:var(--r24-text-sm);margin:0}.unit-chip{display:inline-flex;align-items:center;gap:var(--r24-space-2);background:var(--r24-mist);border:1px solid var(--r24-line);border-radius:999px;padding:var(--r24-space-1) var(--r24-space-3);font-size:var(--r24-text-sm)}.season-row{display:grid;grid-template-columns:1fr;grid-gap:var(--r24-space-3);gap:var(--r24-space-3);border:1px solid var(--r24-line);border-radius:var(--r24-radius-md);padding:var(--r24-space-3)}@media (min-width:720px){.season-row{grid-template-columns:1.2fr 1fr 1fr .9fr .7fr auto;align-items:end}}.publish-success{text-align:center;padding:var(--r24-space-7) var(--r24-space-5);animation:pub-in var(--r24-motion-slow) var(--r24-ease)}.publish-success__ring{width:4.5rem;height:4.5rem;margin:0 auto var(--r24-space-4);border-radius:50%;background:var(--r24-fresh);color:var(--r24-surface);display:flex;align-items:center;justify-content:center;font-size:2rem;animation:pub-pop var(--r24-motion-slow) var(--r24-ease)}@keyframes pub-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}@keyframes pub-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}.saving-hint{color:var(--r24-ink-soft);font-size:var(--r24-text-sm);display:inline-flex;align-items:center;gap:var(--r24-space-2)}.saving-hint:before{content:"";width:.625rem;height:.625rem;border:2px solid var(--r24-line);border-top-color:var(--r24-spar);border-radius:50%;animation:r24-spin .7s linear infinite}.stack{display:flex;flex-direction:column;gap:var(--r24-space-4)}.stack--lg{gap:var(--r24-space-5)}.channel-row{display:flex;align-items:center;gap:var(--r24-space-3);padding:var(--r24-space-3) 0;border-bottom:1px solid var(--r24-line);flex-wrap:wrap}.channel-row:last-child{border-bottom:none}.channel-row strong{min-width:8rem}.channel-row .r24-btn{margin-left:auto}.cal-panel{max-width:26rem}.photo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));grid-gap:var(--r24-space-4);gap:var(--r24-space-4)}.photo-card{position:relative;border:1px solid var(--r24-line);border-radius:var(--r24-radius-md);overflow:hidden;background:var(--r24-surface);display:flex;flex-direction:column}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--r24-line)}.photo-card__badge{position:absolute;top:var(--r24-space-2);left:var(--r24-space-2);background:var(--r24-surface);color:var(--r24-ink);font-size:var(--r24-text-sm);padding:0 var(--r24-space-2);border-radius:var(--r24-radius-sm);border:1px solid var(--r24-line)}.photo-card__actions{display:flex;gap:var(--r24-space-1);padding:var(--r24-space-2);flex-wrap:wrap}.photo-card__actions .r24-btn{font-size:var(--r24-text-sm);padding:var(--r24-space-1) var(--r24-space-2)}