@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geologica-cyrillic-ext-400-normal-DxMis12s.woff2)format("woff2"),url(/assets/geologica-cyrillic-ext-400-normal-CbRJZfT9.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geologica-cyrillic-400-normal-DCA0aqn6.woff2)format("woff2"),url(/assets/geologica-cyrillic-400-normal-Cr1-1-Qb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geologica-greek-400-normal-BKomEDkC.woff2)format("woff2"),url(/assets/geologica-greek-400-normal-DGQkLUtM.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geologica-vietnamese-400-normal-BFVIPYJ9.woff2)format("woff2"),url(/assets/geologica-vietnamese-400-normal-Bb-UTWFP.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geologica-latin-ext-400-normal-BktKVa_3.woff2)format("woff2"),url(/assets/geologica-latin-ext-400-normal-Cnpc7zPb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geologica;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geologica-latin-400-normal-BrDgLBsW.woff2)format("woff2"),url(/assets/geologica-latin-400-normal-B0gMvrRq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geologica-cyrillic-ext-500-normal-BNRhq6NH.woff2)format("woff2"),url(/assets/geologica-cyrillic-ext-500-normal-DFN9OleI.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geologica-cyrillic-500-normal-BZELCISH.woff2)format("woff2"),url(/assets/geologica-cyrillic-500-normal-Cc_E8UQX.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geologica-greek-500-normal-BA-_MNEG.woff2)format("woff2"),url(/assets/geologica-greek-500-normal-CP_4gih_.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geologica-vietnamese-500-normal-C1cx_iFL.woff2)format("woff2"),url(/assets/geologica-vietnamese-500-normal-CUK3QztO.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geologica-latin-ext-500-normal-1D0DJuar.woff2)format("woff2"),url(/assets/geologica-latin-ext-500-normal-Cmymkpbu.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geologica;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geologica-latin-500-normal-D8VVd604.woff2)format("woff2"),url(/assets/geologica-latin-500-normal-0-efr3Ds.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geologica-cyrillic-ext-600-normal-Cw18KpRz.woff2)format("woff2"),url(/assets/geologica-cyrillic-ext-600-normal-BsUDNWed.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geologica-cyrillic-600-normal-e7NJphzh.woff2)format("woff2"),url(/assets/geologica-cyrillic-600-normal-c6WAVoKC.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geologica-greek-600-normal-Cg4F0t32.woff2)format("woff2"),url(/assets/geologica-greek-600-normal-Bc9KP4Y9.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geologica-vietnamese-600-normal-6Fs_CHlS.woff2)format("woff2"),url(/assets/geologica-vietnamese-600-normal-tVsswiH9.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geologica-latin-ext-600-normal-BKA3-JFv.woff2)format("woff2"),url(/assets/geologica-latin-ext-600-normal-BzFy6opQ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geologica;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geologica-latin-600-normal-Cy--pFh9.woff2)format("woff2"),url(/assets/geologica-latin-600-normal-DGRraGLk.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geologica-cyrillic-ext-700-normal-DcldI0qi.woff2)format("woff2"),url(/assets/geologica-cyrillic-ext-700-normal-DoxUSIis.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geologica-cyrillic-700-normal-DLxeBiMT.woff2)format("woff2"),url(/assets/geologica-cyrillic-700-normal-BbQPco9H.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geologica-greek-700-normal-Bmy4b-pm.woff2)format("woff2"),url(/assets/geologica-greek-700-normal-DFhy3_mk.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geologica-vietnamese-700-normal-vO0WjMPs.woff2)format("woff2"),url(/assets/geologica-vietnamese-700-normal-yYnmjbdF.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geologica-latin-ext-700-normal-D8srd_Xi.woff2)format("woff2"),url(/assets/geologica-latin-ext-700-normal-DLskTkbE.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geologica;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/geologica-latin-700-normal-QMRHFk9S.woff2)format("woff2"),url(/assets/geologica-latin-700-normal-NqDDPvSD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-ink:#41464c;--brand-ink-deep:#0f1217;--brand-rose:#a37866;--brand-rose-deep:#795442;--brand-wine:#0f1217;--brand-wine-deep:#41464c;--brand-blush:#ebedf2;--brand-porcelain:#ebedf2;--brand-linen:#e2e5eb;--brand-white:#fff;--martin-green-primary:var(--brand-ink);--martin-bg-paper:var(--brand-porcelain);--martin-green-deep:var(--brand-ink-deep);--martin-brown:#41464c;--martin-sage:var(--brand-blush);--martin-text:#0f1217;--martin-green-muted:#535a64;--martin-gold:var(--brand-rose);--martin-cream:var(--brand-linen);--martin-white:var(--brand-white);--color-bg:#ebedf2;--color-bg-alt:#e2e5eb;--color-surface:#fff;--color-surface-muted:#f6f7fa;--color-primary:#0f1217;--color-primary-hover:#41464c;--color-room-tile:#41464c;--color-room-tile-hover:#0f1217;--color-accent:#a37866;--color-accent-soft:#ebedf2;--color-text:#0f1217;--color-text-primary:#0f1217;--color-text-secondary:#41464c;--color-text-muted:#535a64;--color-text-on-primary:#fff;--color-border:#d1d5de;--color-border-strong:#858c99;--color-focus-ring:#795442;--color-success-bg:#edf4ee;--color-success-border:#69816c;--color-success-text:#31563a;--color-error-bg:#faeae7;--color-error-border:#aa665c;--color-error-text:#853c32;--color-warning-bg:#f4ede8;--color-warning-border:#a37866;--color-warning-text:#41464c;--font-display:"TT Drugs", "Geologica", sans-serif;--font-accent:"Geologica", sans-serif;--font-body:"Geologica", sans-serif;--text-h1:clamp(1.8rem, 4vw, 2.7rem);--text-h2:1.5rem;--text-h3:1.125rem;--text-page-title:clamp(1.8rem, 3vw, 2.4rem);--text-section:1.375rem;--text-body:1rem;--text-small:.875rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-card:none;--shadow-soft:0 6px 20px #0f121712;--shadow-header:none;--pattern-url:none;--pattern-size:auto;--pattern-opacity:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scrollbar-color:var(--color-accent) var(--color-bg-alt);scrollbar-width:thin}::selection{color:var(--brand-ink-deep);background:var(--brand-blush)}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{border:2px solid var(--color-bg-alt);background:var(--color-accent);border-radius:10px}:root{font-family:var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--color-bg);color:var(--color-text);font-synthesis:none;text-rendering:auto;font-size:16px;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);margin:0}#root{flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0;display:flex}h1,h2,h3{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.01em;margin:0;font-weight:500}p{margin:0}button,input,select,textarea{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.saga-menu{color:#0f1217;width:100%;font-family:Geologica,sans-serif}.saga-menu ::selection{color:#fff;background:#a37866}.saga-menu-intro{border-bottom:1px solid #858c99;justify-content:space-between;align-items:start;gap:40px;padding:12px 0 32px;display:flex}.saga-menu-intro h2{letter-spacing:-.025em;text-wrap:balance;margin:0 0 12px;font-size:clamp(26px,3.4vw,40px);font-weight:450;line-height:1.14}.saga-menu-intro p{color:#41464c;max-width:58ch;margin:0;font-size:15px;line-height:1.65}.saga-menu-progress{color:#41464c;flex-shrink:0;padding-top:6px;font-size:12px}.saga-menu-progress strong{font-variant-numeric:tabular-nums;color:#0f1217;margin-top:8px;font-size:32px;font-weight:400;line-height:1;display:block}.saga-menu-progress strong span{color:#41464c;font-size:18px}.saga-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;display:grid}.saga-menu-group{border:0;border-bottom:1px solid #c8ccd3;min-width:0;margin:32px 0 0;padding:0 0 24px}.saga-menu-group legend{letter-spacing:-.02em;padding:0;font-size:21px;font-weight:500;line-height:1.3}.saga-menu-group-top{justify-content:space-between;align-items:baseline;gap:12px;min-height:30px;margin:6px 0 8px;display:flex}.saga-menu-group-top p{color:#41464c;margin:0;font-size:12px;line-height:1.5}.saga-menu-clear{color:#664536;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;flex-shrink:0;min-width:44px;min-height:44px;padding:8px 0;font-size:12px;text-decoration:underline}.saga-menu-option{border-radius:4px;transition:background-color .18s ease-out}.saga-menu-option.is-selected{background:#ebedf2}.saga-menu-choice{cursor:pointer;align-items:center;gap:12px;min-height:50px;padding:10px 8px;display:flex}.saga-menu-choice input{accent-color:#41464c;cursor:pointer;flex-shrink:0;width:18px;height:18px;margin:0}.saga-menu-item-name{overflow-wrap:anywhere;flex:1;font-size:14px;line-height:1.5}.saga-menu-item-name small{color:#41464c;font-size:12px;display:block}.saga-menu-price{color:#664536;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px}.saga-menu-quantity{align-items:center;gap:14px;margin:0 8px 8px 38px;padding-bottom:6px;display:flex}.saga-menu-quantity button{color:#0f1217;cursor:pointer;background:#fff;border:1px solid #858c99;border-radius:4px;width:44px;height:44px;font-size:20px}.saga-menu-quantity output{font-variant-numeric:tabular-nums;font-size:14px}.saga-menu button:focus-visible,.saga-menu input:focus-visible{outline-offset:4px;outline:2px solid #a37866}.saga-menu input:disabled,.saga-menu-option.is-unavailable .saga-menu-choice{cursor:default}.saga-menu-option.is-unavailable .saga-menu-item-name{color:#555c66}.saga-menu button:disabled{opacity:.45;cursor:default}.saga-menu-included{background:#ebedf2;margin:32px 0 8px;padding:24px}.saga-menu-included h3{margin:0 0 6px;font-size:20px;font-weight:450}.saga-menu-included p{color:#41464c;margin:0 0 18px;font-size:13px}.saga-menu-included ul{flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none;display:flex}.saga-menu-included li{font-size:14px;line-height:1.6}.saga-menu-empty{color:#41464c;font-size:13px;line-height:1.6}@media (hover:hover){.saga-menu-option:not(.is-unavailable):hover{background:#ebedf2}.saga-menu-quantity button:not(:disabled):hover{color:#fff;background:#41464c}}@media (width<=680px){.saga-menu-intro{gap:20px;padding-bottom:24px}.saga-menu-intro h2{font-size:28px}.saga-menu-progress{max-width:95px;font-size:11px}.saga-menu-groups{grid-template-columns:1fr}.saga-menu-group{margin-top:26px;padding-bottom:20px}.saga-menu-choice{min-height:52px}.saga-menu-included{padding:20px}.saga-menu-included ul{gap:6px 18px}}@media (prefers-reduced-motion:reduce){.saga-menu-option{transition:none}}.saga-preview{background:#ebedf2;min-height:100svh}.saga-preview-header{justify-content:space-between;align-items:center;gap:24px;max-width:1320px;margin:auto;padding:12px 40px;display:flex}.saga-preview-header img{object-fit:contain;display:block}.saga-preview-header nav{flex-wrap:wrap;align-items:center;gap:28px;font-size:13px;display:flex}.saga-preview-header a{color:#41464c;text-decoration:none}.saga-preview-header a:hover{text-underline-offset:5px;text-decoration:underline}.saga-preview-language{gap:4px;display:flex}.saga-preview-language button{color:#41464c;cursor:pointer;background:0 0;border:0;min-height:40px;padding:10px}.saga-preview-language button[aria-pressed=true]{color:#fff;background:#0f1217;border-radius:4px}.saga-preview-notice{text-align:center;color:#41464c;border-block:1px solid #d1d5de;padding:10px 24px;font-size:12px}.saga-preview-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:48px;max-width:1320px;margin:auto;padding:48px 40px 64px;display:grid}.saga-preview-menu{background:#fff;border-radius:12px;padding:36px 40px}.saga-preview-summary{padding-top:12px;position:sticky;top:28px}.saga-preview-summary h2{letter-spacing:-.02em;font-size:26px;font-weight:400}.saga-preview-hours{color:#41464c;font-variant-numeric:tabular-nums;margin:8px 0 28px;font-size:14px}.saga-preview-time,.saga-preview-notes{gap:10px;font-size:13px;display:grid}.saga-preview-time select,.saga-preview-notes textarea{color:#0f1217;background:#fff;border:1px solid #858c99;border-radius:6px;width:100%;padding:14px 12px;font-size:14px}.saga-preview-notes textarea{resize:vertical}.saga-preview-selection{border-bottom:1px solid #c8ccd3;padding:24px 0}.saga-preview-selection p{color:#41464c;font-size:14px;line-height:1.65}.saga-preview-selection ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.saga-preview-selection li{justify-content:space-between;align-items:start;gap:12px;font-size:14px;line-height:1.5;display:flex}.saga-preview-selection button{color:#41464c;cursor:pointer;background:0 0;border:0;min-width:28px;font-size:23px}.saga-preview-accompaniments{color:#41464c;padding:20px 0 28px;font-size:12px;line-height:1.7}.saga-preview-total{justify-content:space-between;align-items:center;gap:16px;padding:24px 0 16px;font-size:13px;display:flex}.saga-preview-total strong{color:#795442;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:24px;font-weight:400}.saga-preview-footer{color:#41464c;font-size:12px;line-height:1.7}.saga-preview-login{color:#fff;background:#0f1217;border-radius:6px;justify-content:space-between;align-items:center;margin-top:20px;padding:16px 18px;font-size:14px;text-decoration:none;display:flex}.saga-preview-login:hover{background:#41464c}.saga-preview-end{color:#41464c;border-top:1px solid #c8ccd3;justify-content:space-between;max-width:1240px;margin:0 auto;padding:24px 0;font-size:12px;display:flex}@media (width<=1000px){.saga-preview-layout{grid-template-columns:minmax(0,1fr) 270px;gap:28px;padding:32px 24px}.saga-preview-menu{padding:28px 24px}.saga-preview-menu .saga-menu-groups{grid-template-columns:1fr}.saga-preview-end{margin-inline:24px}}@media (width<=700px){.saga-preview-header{gap:12px;padding:8px 16px}.saga-preview-header img{width:136px;height:80px}.saga-preview-header nav{justify-content:end;gap:8px 16px;font-size:11px}.saga-preview-header nav>a{display:none}.saga-preview-layout{flex-direction:column;padding:24px 16px 40px;display:flex}.saga-preview-menu{width:100%;padding:24px 20px}.saga-preview-summary{width:100%;padding:8px 4px 0;position:static}.saga-preview-end{gap:20px;margin:0 20px}}.cabinet{background-color:var(--color-bg);background-image:var(--pattern-url);background-repeat:repeat;background-size:var(--pattern-size);min-height:100vh;color:var(--color-text);font-family:var(--font-body);background:linear-gradient(180deg, #bd8c5113 0, #f7f5f200 240px), var(--color-bg);flex-direction:column;display:flex}.cabinet-header{z-index:200;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:0;box-shadow:var(--shadow-header);background:#fffefdf7;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px 20px;padding:8px clamp(16px,2.5vw,36px);display:grid;position:sticky;top:0}.cabinet-header-brand{justify-self:start;min-width:0}.cabinet-brand-home{width:max-content;max-width:100%;color:inherit;cursor:pointer;text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex}.cabinet-brand-home:hover .cabinet-subtitle{color:var(--color-primary)}.cabinet-brand-home:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:5px;border-radius:4px}.cabinet-brand-logo-frame{aspect-ratio:1612/670;width:clamp(160px,13vw,180px);display:block;position:relative;overflow:hidden}.cabinet-brand-logo{mix-blend-mode:multiply;width:110%;max-width:none;height:auto;display:block;position:absolute;top:-38.96%;left:-4.53%}.cabinet-header-date{text-align:center;justify-self:center;min-width:0}.cabinet-header-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:center;gap:12px;display:flex}.cabinet-title{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;color:var(--color-primary);margin:0;font-size:1.5rem;font-weight:500}.cabinet-subtitle{font-family:var(--font-accent);color:var(--color-text-secondary);margin:1px 0 0;font-size:1rem;font-style:normal;font-weight:500;line-height:1.1;display:block}.cabinet-role{color:var(--color-text-secondary);font-size:14px}.cabinet-main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 24px 40px}.cabinet-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:0;margin-bottom:20px;padding:24px}.cabinet-card h2{font-family:var(--font-display);color:var(--color-primary);margin:0 0 18px;font-size:1.35rem;font-weight:500}.cabinet-form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.cabinet-form-row label,.cabinet-card form>label{color:var(--color-text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.cabinet-form-row input,.cabinet-form-row textarea,.cabinet-form-row select{box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);min-width:140px;min-height:44px;color:var(--color-text);padding:10px 12px;font-size:16px}.cabinet-form-row input:focus,.cabinet-form-row textarea:focus,.cabinet-form-row select:focus,.cabinet-card textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.cabinet-form-row label input,.cabinet-form-row label select{min-width:220px}.cabinet select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:34px}.cabinet .primary,.cabinet .secondary{border-radius:10px;min-width:auto;min-height:44px;padding:11px 17px;font-size:14px;line-height:1.2}.cabinet .primary{background:var(--color-primary);color:var(--color-text-on-primary);border:none}.cabinet .secondary{background:var(--color-bg-alt);color:var(--color-text);border:1px solid var(--color-border)}.cabinet-card textarea{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:140px;color:var(--color-text);resize:vertical;border-radius:8px;padding:10px 12px;font-family:ui-monospace,monospace;font-size:13px}.cabinet-form-row textarea{width:100%}.cabinet-guests-editor{flex-direction:column;gap:12px;display:flex}.cabinet-guest-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:12px;padding:14px}.cabinet-guest-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.cabinet-guest-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.cabinet-items-editor{flex-direction:column;gap:10px;display:flex}.cabinet-limits-hint{color:var(--color-text-muted);font-size:12px}.cabinet-item-row{grid-template-columns:minmax(260px,2fr) minmax(130px,.9fr) 96px;align-items:start;gap:10px 12px;display:grid}.cabinet-item-cell{min-width:0}.cabinet-item-cell>label{color:var(--color-text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.cabinet-item-row>label,.cabinet-item-cell>label,.cabinet-item-row>label input,.cabinet-item-row>label select,.cabinet-item-cell>label input,.cabinet-item-cell>label select{width:100%;min-width:0}.cabinet-item-cell input[type=number]{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);appearance:textfield;border-radius:8px;padding:10px 12px;font-size:16px;line-height:1.2}.cabinet-item-cell input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cabinet-item-cell input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cabinet-qty-controls{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;grid-template-columns:44px 1fr 44px;align-items:center;min-height:44px;display:grid}.cabinet-qty-btn{background:var(--color-bg-alt);height:100%;color:var(--color-text);cursor:pointer;border:none;font-size:22px}.cabinet-qty-btn:disabled{opacity:.45;cursor:default}.cabinet-qty-value{text-align:center;color:var(--color-text);font-size:16px;font-weight:600}.cabinet-item-section{border:1px solid var(--color-border);background:var(--color-bg-alt);min-height:44px;color:var(--color-text-secondary);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;width:100%;padding:0 10px;font-size:13px;display:flex}.cabinet-btn-compact{white-space:nowrap;align-self:end;min-width:auto;padding:8px 12px;font-size:14px;line-height:1.2}.cabinet-item-row .cabinet-btn-compact{justify-content:center;width:100%}.cabinet-dish-select{flex-direction:column;gap:8px;display:flex;position:relative}.cabinet-dish-select-trigger{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:16px;display:flex}.cabinet-dish-caret{color:var(--color-text-muted);font-size:12px}.cabinet-dish-select-panel{z-index:40;border:1px solid var(--color-border);background:var(--color-surface);max-height:260px;box-shadow:var(--shadow-card);border-radius:10px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.cabinet-dish-group+.cabinet-dish-group{border-top:1px solid var(--color-border);margin-top:8px;padding-top:8px}.cabinet-dish-group-title{letter-spacing:.02em;color:var(--color-text-muted);margin:0 0 6px;font-size:12px;font-weight:600}.cabinet-dish-option{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 10px;font-size:14px}.cabinet-dish-option:hover{background:var(--color-bg-alt);border-color:var(--color-border)}@media (width<=900px){.cabinet-guest-header{flex-direction:column;align-items:flex-start}.cabinet-guest-actions{justify-content:flex-start}.cabinet-item-row{grid-template-columns:1fr 140px 96px}.cabinet-item-row .cabinet-btn-compact{justify-self:start}.cabinet-form-row label input,.cabinet-form-row label select{min-width:100%}}@media (width<=680px){.cabinet-item-row{grid-template-columns:1fr}}.cabinet-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.cabinet-stat{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:12px}.cabinet-stat-value{font-variant-numeric:tabular-nums;color:var(--color-primary);font-size:24px;font-weight:600}.cabinet-stat-label{color:var(--color-text-muted);margin-top:4px;font-size:14px}.cabinet-analytics-card h3.cabinet-analytics-subtitle{color:var(--color-text);margin:20px 0 10px;font-size:16px;font-weight:600}.cabinet-analytics-hint{color:var(--color-text-muted);margin:0 0 12px;font-size:13px}.cabinet-chart-legend{color:var(--color-text-secondary);flex-wrap:wrap;gap:16px;margin-bottom:10px;font-size:13px;display:flex}.cabinet-chart-legend-item{align-items:center;gap:6px;display:inline-flex}.cabinet-legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.cabinet-legend-swatch--bf{background:var(--color-primary)}.cabinet-legend-swatch--lb{background:var(--martin-sage)}.cabinet-chart-scroll{margin-bottom:4px;padding-bottom:6px;overflow-x:auto}.cabinet-chart{align-items:flex-end;gap:6px;min-height:140px;padding:8px 4px 0;display:flex}.cabinet-chart-day{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:28px;max-width:48px;display:flex}.cabinet-chart-bars{flex-direction:row;justify-content:center;align-items:flex-end;gap:4px;width:100%;height:120px;display:flex}.cabinet-chart-bars--single{gap:0}.cabinet-bar{border-radius:3px 3px 0 0;align-self:flex-end;width:9px;min-height:2px}.cabinet-bar--wide{border-radius:4px 4px 0 0;width:14px}.cabinet-chart--week{min-height:130px}.cabinet-more-stats-wrap{border-top:1px solid var(--color-border);margin-top:16px;padding-top:12px}.cabinet-more-stats-btn{width:100%;max-width:320px}.cabinet-more-stats-panel{margin-top:14px}.cabinet-more-stats-heading{color:var(--color-text-secondary);margin:18px 0 8px;font-size:14px;font-weight:600}.cabinet-error--inline{margin-top:8px;margin-bottom:0}.cabinet-serve-table{border-collapse:collapse;width:100%;max-width:420px;font-size:14px}.cabinet-serve-table th,.cabinet-serve-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px}.cabinet-serve-table th{color:var(--color-text-muted);font-size:12px;font-weight:600}.cabinet-top-dishes{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.cabinet-top-dish-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:12px}.cabinet-top-dish-cat{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:6px;font-size:13px}.cabinet-top-dish-name{color:var(--color-text);font-size:15px;font-weight:600;line-height:1.35}.cabinet-top-dish-meta{color:var(--color-text-muted);margin-top:6px;font-size:13px}.cabinet-bar--bf{background:linear-gradient(180deg, var(--color-primary), var(--color-primary))}.cabinet-bar--lb{background:linear-gradient(180deg, var(--martin-sage), var(--color-primary-hover))}.cabinet-chart-day-label{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.cabinet-tomorrow-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:12px;display:grid}.cabinet-mini-kpi{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;padding:12px}.cabinet-mini-kpi-value{font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--color-primary);font-size:1.375rem;font-weight:600}.cabinet-mini-kpi-label{color:var(--color-text-muted);margin-top:4px;font-size:12px}.cabinet-place-row{margin-top:4px}.cabinet-place-labels{color:var(--color-text-secondary);justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.cabinet-place-bar{background:var(--color-border);border-radius:6px;height:12px;display:flex;overflow:hidden}.cabinet-place-seg--room{background:linear-gradient(90deg, var(--martin-sage), var(--color-primary-hover))}.cabinet-place-seg--bar{background:linear-gradient(90deg, var(--color-accent), var(--martin-brown))}.cabinet-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:14px}.cabinet-success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-primary);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:14px}.cabinet-table{border-collapse:collapse;width:100%;font-size:14px}.cabinet-table th,.cabinet-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px}.cabinet-link{z-index:102;color:var(--color-primary);cursor:pointer;font-size:16px;font-weight:600;text-decoration:underline;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.cabinet-link:hover{color:var(--color-primary)}.cabinet-date-line{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-primary);margin:0;font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:500;line-height:1.25}.cabinet-guest-like-card{margin-top:8px}.cabinet-room-page-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cabinet-room-admin{border:1px solid var(--color-border);background:linear-gradient(160deg, color-mix(in srgb, var(--color-accent) 8%, var(--color-bg-alt)) 0%, var(--color-bg-alt) 100%);border-radius:14px;margin-bottom:20px;padding:18px}.cabinet-room-admin-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cabinet-room-admin-title{font-family:var(--font-display);color:var(--color-primary);margin:0;font-size:1.125rem;font-weight:500}.cabinet-status-pill{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.cabinet-status-pill--checked_in{background:color-mix(in srgb, var(--color-success-bg,#e8f5e9) 80%, white);border-color:color-mix(in srgb, var(--color-primary) 25%, var(--color-border));color:var(--color-primary)}.cabinet-status-pill--reserved{color:#8a5a00;background:#fff7e8;border-color:#e6c78a}.cabinet-status-pill--checked_out{color:#555;background:#f1f1f1;border-color:#d0d0d0}.cabinet-room-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.cabinet-room-stat{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:12px 14px}.cabinet-room-stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px;display:block}.cabinet-room-stat-value{font-family:var(--font-display);color:var(--color-text);overflow-wrap:anywhere;font-size:1rem;line-height:1.35}.cabinet-room-noshow{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;padding:14px;display:flex}.cabinet-room-noshow.is-active{border-color:color-mix(in srgb, #b85c38 35%, var(--color-border));background:#f9f2ef}.cabinet-room-noshow-text{flex:auto;min-width:0}.cabinet-room-noshow-title{color:var(--color-text);margin-bottom:4px;font-weight:600}.cabinet-room-noshow-hint{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.4}.cabinet-toggle-btn{border:1px solid var(--color-border);background:var(--color-surface);min-height:42px;color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:10px;flex:none;padding:10px 16px;font-size:14px;font-weight:600}.cabinet-toggle-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border))}.cabinet-toggle-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.cabinet-room-admin-stats{grid-template-columns:1fr}.cabinet-room-noshow{flex-direction:column;align-items:stretch}.cabinet-toggle-btn{width:100%}}.cabinet-room-admin-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cabinet-room-admin-row:last-child{margin-bottom:0}.cabinet-room-admin-meta{color:var(--color-text-secondary);font-size:14px}.cabinet-room-pms-guests{flex-direction:column;gap:8px;padding-top:2px;display:flex}.cabinet-room-pms-guests-head{margin-bottom:4px}.cabinet-room-pms-guests-hint{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px;line-height:1.4}.cabinet-room-pms-guest{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.cabinet-room-pms-guest.is-checked{border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 8%, white)}.cabinet-room-pms-guest input{width:18px;height:18px;accent-color:var(--color-primary)}.cabinet-room-pms-guest-name em{color:var(--color-text-muted);margin-left:6px;font-size:12px;font-style:normal}.cabinet-room-no-show-note{color:var(--color-text-secondary);margin:0;font-size:14px;font-style:italic}.cabinet-room-guest-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cabinet-guest-order:not(.is-expanded) .cabinet-room-guest-head{margin-bottom:0}.cabinet-guest-order-title-row{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.cabinet-guest-order-chevron-btn{border:2px solid var(--color-primary);background:var(--color-success-bg);width:48px;height:48px;color:var(--color-primary);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.75rem;line-height:1;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.cabinet-guest-order-chevron-btn:hover{background:color-mix(in srgb, var(--color-primary) 18%, white);transform:translateY(-1px)}.cabinet-guest-order-chevron-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cabinet-room-page-actions{justify-content:flex-end;margin-top:12px;display:flex}.cabinet-lunchbox-manual{flex-direction:column;gap:10px;display:flex}.cabinet-lunchbox-input{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:14px;display:flex}.cabinet-lunchbox-input input{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;max-width:180px;color:var(--color-text);border-radius:10px;padding:10px 12px;font-size:16px}.cabinet-guest-like-card{max-width:1100px;min-height:auto;padding:18px 18px 22px}.cabinet-guest-like-card .menu-top{gap:12px;margin-bottom:20px}.cabinet-guest-like-card .cabinet-room-admin{margin-top:4px}.cabinet-guest-like-card .menu-top-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.cabinet-guest-like-card .menu-field,.cabinet-guest-like-card .menu-block,.cabinet-guest-like-card .category-block{border-radius:14px;padding:12px 14px}.cabinet-guest-like-card .menu-label,.cabinet-guest-like-card .menu-section-subtitle{font-size:13px}.cabinet-guest-like-card .menu-value{margin-top:4px;font-size:18px}.cabinet-guest-like-card .menu-block-title,.cabinet-guest-like-card .menu-section-title,.cabinet-guest-like-card .guest-form-title{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-primary);font-size:1.45rem;font-weight:500}.cabinet-guest-like-card .guest-form{margin-top:14px;padding-top:14px}.cabinet-guest-like-card .radio-pill{gap:8px;padding:10px 12px;font-size:15px}.cabinet-guest-like-card .radio-pill input{width:18px;height:18px}.cabinet-guest-like-card .checklist{gap:8px 12px}.cabinet-guest-like-card .check-row{border-radius:10px;padding:10px 12px}.cabinet-guest-like-card .check-row input{width:20px;height:20px}.cabinet-guest-like-card .check-text{font-size:16px}.cabinet-guest-like-card .qty-controls{gap:6px}.cabinet-guest-like-card .qty-btn{width:28px;height:28px;font-size:17px}.cabinet-guest-like-card .qty-value{min-width:28px;font-size:14px}.cabinet-guest-like-card .actions{margin-top:12px}.cabinet-section-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.cabinet-room-actions{flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto;display:flex}.cabinet .cabinet-room-filter.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.cabinet-room-count{color:var(--color-text-secondary);font-size:var(--text-small);font-variant-numeric:tabular-nums;margin:0 0 18px}.cabinet-room-floors{gap:26px;display:grid}.cabinet-room-floor-title{font-family:var(--font-body);color:var(--color-text-secondary);margin:0 0 12px;font-size:1rem;font-weight:600}.cabinet-room-empty{background:var(--color-bg-alt);color:var(--color-text-secondary);border-radius:var(--radius-md);margin:0;padding:18px}.cabinet-toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.cabinet-toolbar-group{flex-wrap:wrap;gap:8px;display:flex}.cabinet-toolbar-group--date{flex:220px}.cabinet-date-picker{min-width:220px;color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.cabinet-date-picker input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:42px;color:var(--color-text);box-sizing:border-box;border-radius:10px;padding:10px 12px;font-size:15px}.cabinet-toggle-btn.is-active{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-primary)}.cabinet-room-board{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.cabinet-room-card{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);min-height:116px;color:var(--color-text);cursor:pointer;border-radius:12px;padding:16px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}.cabinet-room-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.cabinet-room-card.is-empty,.cabinet-room-card.is-vacant{background:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text-muted)}.cabinet-room-card.is-filled,.cabinet-room-card.is-all{background:var(--color-success-bg);border-color:var(--color-success-border)}.cabinet-room-card.is-partial{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.cabinet-room-card.is-none{background:var(--color-error-bg);border-color:var(--color-error-border)}.cabinet-room-card.is-not-included{background:#6c7e9e33;border-color:#4e60807a}.cabinet-room-card.is-no-show{background:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text-muted)}.cabinet-room-card.is-conflict{background:var(--color-error-bg);border-color:var(--color-error-border)}.cabinet-pms-warning{color:var(--color-error-text)}.cabinet-room-card.is-selected{outline:3px solid var(--color-focus-ring);outline-offset:2px;box-shadow:var(--shadow-soft);transform:translateY(-2px)}.cabinet-room-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.cabinet-room-card-number{font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--color-primary);font-size:1.25rem;font-weight:600}.cabinet-room-status-dot{opacity:.85;background:currentColor;border-radius:999px;width:10px;height:10px}.cabinet-room-card.is-empty .cabinet-room-status-dot,.cabinet-room-card.is-vacant .cabinet-room-status-dot{color:var(--color-text-muted)}.cabinet-room-card.is-filled .cabinet-room-status-dot,.cabinet-room-card.is-all .cabinet-room-status-dot{color:var(--color-primary)}.cabinet-room-card.is-partial .cabinet-room-status-dot{color:#b87300}.cabinet-room-card.is-none .cabinet-room-status-dot{color:var(--color-error-text)}.cabinet-room-card.is-not-included .cabinet-room-status-dot{color:#4e6080}.cabinet-room-card.is-no-show .cabinet-room-status-dot{color:var(--color-text-muted);opacity:.6}.cabinet-room-card.is-conflict .cabinet-room-status-dot{color:var(--color-error-text)}.cabinet-room-card-status{margin-bottom:6px;font-size:14px;font-weight:600}.cabinet-room-card-meta{color:var(--color-text-secondary);font-size:13px}.cabinet-stop-list-actions{flex-wrap:wrap;gap:8px;display:flex}.cabinet-stop-list-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.cabinet-stop-list-column{border:1px solid var(--color-border);background:var(--color-bg-alt);border-radius:12px;padding:14px}.cabinet-stop-list-title{color:var(--color-text);margin-bottom:10px;font-size:15px;font-weight:600}.cabinet-stop-list-items{flex-direction:column;gap:8px;display:flex}.cabinet-stop-list-item{background:var(--color-bg-alt);color:var(--color-text);border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.cabinet-stop-list-item.is-checked{background:var(--color-error-bg);color:var(--color-error-text)}.cabinet-stop-list-item.is-readonly{opacity:.9}.cabinet-stop-list-item input{margin-top:2px}.cabinet-room-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.cabinet-room-editor-shell{border-color:var(--color-border-strong)}.cabinet-inline-editor-grid{grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.cabinet-inline-panel{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:14px;padding:16px}.cabinet-inline-panel--main{min-width:0}.cabinet-inline-title{color:var(--color-text);margin:0 0 10px;font-size:18px}.cabinet-checkbox{min-height:44px;color:var(--color-text);flex-direction:row;align-items:center;gap:8px;display:inline-flex}.cabinet-checkbox input{width:18px;height:18px}@media (width<=1100px) and (width>=721px){.cabinet-header{grid-template-columns:minmax(0,1fr) auto}.cabinet-header-date{grid-area:2/1/auto/-1}.cabinet-header-actions{grid-area:1/2}}@media (width<=720px){.cabinet-header{grid-template-columns:1fr;justify-items:center;gap:6px;min-height:0;padding:8px 16px 12px;position:relative}.cabinet-header-brand{justify-self:center}.cabinet-brand-logo-frame{width:160px}.cabinet-header-date{justify-self:stretch}.cabinet-header-actions{justify-content:center;justify-self:stretch;gap:8px}.cabinet-role{display:none}.cabinet-header-actions .lang-btn{min-height:44px;padding:6px 10px;font-size:.75rem}.cabinet-main{padding:20px 14px 32px}.cabinet-card{padding:20px 16px}.cabinet-section-header{flex-direction:column;align-items:stretch}.cabinet-room-actions>button{width:100%}.cabinet-room-actions{align-items:stretch;margin-left:0}.cabinet-toolbar{flex-direction:column}.cabinet-toolbar-group--date{flex:none}.cabinet-inline-editor-grid{grid-template-columns:1fr}.cabinet-room-page-head,.cabinet-room-guest-head{flex-direction:column;align-items:stretch}}.cabinet-notes-input{resize:vertical;border:1px solid color-mix(in srgb, var(--color-border) 80%, #000 10%);width:100%;min-height:72px;font:inherit;border-radius:10px;margin-top:8px;padding:10px 12px;line-height:1.4}.cabinet-guest-passes{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.cabinet-guest-pass-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.cabinet-guest-pass-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-alt);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.cabinet-guest-pass-meta{color:var(--color-text-secondary);word-break:break-all;margin-top:4px;font-size:.85rem}.cabinet-guest-pass-actions{flex-shrink:0;gap:8px;display:flex}.cabinet-pass-modal{z-index:400;background:#302c2a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.cabinet-pass-modal-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);flex-direction:column;gap:12px;width:min(440px,100%);padding:24px;display:flex}.cabinet-pass-modal-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.cabinet-pass-modal-actions .primary,.cabinet-pass-modal-actions .secondary{flex:auto;min-width:110px}.cabinet-pass-modal-actions .cabinet-pass-copy-done{border-color:color-mix(in srgb, var(--color-success,#2f6b4f) 55%, var(--color-border));color:var(--color-success,#2f6b4f);background:color-mix(in srgb, var(--color-success,#2f6b4f) 12%, #fff)}@media print{body *{visibility:hidden!important}.cabinet-pass-print-sheet,.cabinet-pass-print-sheet *{visibility:visible!important}.cabinet-pass-print-sheet{text-align:center;background:#fff;width:100%;padding:24px;position:absolute;top:0;left:0}.cabinet-pass-print-sheet h3{margin:0 0 16px;font-size:1.25rem}.cabinet-pass-print-code{color:#000;margin-top:16px;font-size:1.15rem}.cabinet-pass-no-print{display:none!important}}.cabinet-pass-qr{border-radius:var(--radius-md);background:#fff;justify-content:center;padding:12px;display:flex}.cabinet-pass-qr img,.cabinet-pass-qr svg{width:min(220px,100%);height:auto}.app{background-color:var(--color-bg);background-image:var(--pattern-url);background-repeat:repeat;background-size:var(--pattern-size);min-height:100vh;color:var(--color-text);font-family:var(--font-body);flex-direction:column;display:flex}.app-header{padding:var(--space-4) var(--space-7) var(--space-2);align-items:flex-start;gap:var(--space-1);color:var(--color-text);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-header);background:#f8f4f1f5;flex-direction:column;display:flex}.header-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);width:100%;margin-bottom:var(--space-1);flex-wrap:nowrap;display:flex}.header-brand{align-items:center;gap:var(--space-3);flex:auto;min-width:0;display:flex}.header-brand-text{min-width:0}.header-top-start{align-items:center;min-width:48px;min-height:48px;display:flex}.header-back-btn{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);width:48px;height:48px;color:var(--color-primary);cursor:pointer;box-shadow:var(--shadow-soft);flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.header-back-btn:hover{border-color:var(--color-primary);background:var(--color-bg-alt);transform:translateY(-1px)}.header-back-icon{justify-content:center;align-items:center;width:100%;height:100%;padding-bottom:2px;font-size:1.5rem;font-weight:400;line-height:1;display:flex}.idle-warning-overlay{z-index:200;padding:var(--space-6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#efeae6e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.idle-warning-dialog{border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);background:var(--color-surface);text-align:center;width:min(100%,720px);box-shadow:var(--shadow-card);padding:clamp(2rem,5vw,3rem) clamp(1.75rem,4vw,2.75rem)}.idle-warning-title{margin:0 0 var(--space-4);font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;color:var(--color-primary);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:500;line-height:1.2}.idle-warning-body{margin:0;max-width:36em;font-family:var(--font-body);color:var(--color-text-secondary);margin-inline:auto;font-size:clamp(1.125rem,2.6vw,1.375rem);font-weight:400;line-height:1.55}.lang-switch{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:nowrap;flex:none;display:inline-flex}.lang-btn{min-width:44px;min-height:44px;padding:var(--space-2) 14px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-small);cursor:pointer;font-weight:600;transition:background .18s,border-color .18s,color .18s,transform .18s}.lang-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.lang-btn-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.welcome-screen{z-index:100;padding:var(--space-5);background-color:var(--color-bg);background-image:var(--pattern-url);background-repeat:repeat;background-size:var(--pattern-size);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.welcome-screen:after{content:"";background:linear-gradient(180deg, #efeae659 0%, #efeae6bf 55%, var(--color-bg) 100%);pointer-events:none;position:absolute;inset:0}.welcome-lang{top:20px;right:var(--space-5);left:var(--space-5);justify-content:flex-end;gap:var(--space-2);z-index:101;cursor:default;flex-wrap:wrap;display:flex;position:absolute}.welcome-content{pointer-events:none;z-index:1;max-width:520px;padding:var(--space-6) var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:0;position:relative}.welcome-brand{margin:0 0 var(--space-2);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:.875rem;font-weight:600}.welcome-title{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.01em;text-transform:uppercase;margin:0;font-size:clamp(1.75rem,5vw,2.25rem);font-weight:500;line-height:1.2}.welcome-hint{margin-top:var(--space-4);font-family:var(--font-accent);color:var(--color-text-secondary);font-size:1.125rem;font-style:italic;font-weight:400}.hotel-title{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;margin-bottom:var(--space-1);color:var(--color-primary);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:500}.subtitle{font-family:var(--font-accent);color:var(--color-text-secondary);margin-top:0;font-size:1rem;font-style:italic;font-weight:400}.current-room{margin-top:var(--space-2);align-items:center;gap:var(--space-2);padding:var(--space-2) 14px;border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-body);color:var(--color-text);display:inline-flex}.queue-banner{margin-top:var(--space-2);padding:10px var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);font-size:var(--text-small)}.guest-count{text-align:center;min-width:24px;font-weight:600}.app-main{padding:0 var(--space-5) var(--space-4);flex:1;justify-content:center;align-items:flex-start;display:flex}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);width:100%;max-width:100%;min-height:65vh;padding:var(--space-5) var(--space-5) 28px;margin-top:var(--space-2);box-shadow:var(--shadow-card);color:var(--color-text);flex-direction:column;display:flex;position:relative;overflow:hidden}.card.card-has-sticky{overflow:visible}.guest-sticky-bar{z-index:50;margin:0 0 var(--space-5);font-family:var(--font-display);color:var(--color-primary);text-align:center;letter-spacing:.01em;border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--color-accent) 22%, var(--color-border));background:linear-gradient(165deg, color-mix(in srgb, var(--color-accent) 10%, var(--color-surface)) 0%, color-mix(in srgb, var(--color-primary) 4%, var(--color-surface)) 55%, var(--color-surface) 100%);box-shadow:0 1px 0 color-mix(in srgb, var(--color-accent) 12%, transparent);flex-direction:column;gap:6px;padding:16px 18px 18px;font-size:clamp(1.28rem,3vw,1.6rem);font-weight:600;line-height:1.35;display:flex;position:sticky;top:8px}.guest-sticky-bar-line{font-family:var(--font-display);font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit}.guest-sticky-bar-room,.guest-sticky-bar-guest{font-family:var(--font-display);font-size:inherit;font-weight:inherit;color:inherit;margin-top:0}.guest-notes{margin-top:var(--space-5);flex-direction:column;gap:8px;display:flex}.guest-notes-title{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-primary);font-size:1.45rem;font-weight:500}.guest-notes-hint{color:var(--color-text-secondary);font-size:.95rem;line-height:1.4}.guest-notes-input{resize:vertical;border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;min-height:88px;font:inherit;color:var(--color-text);background:var(--color-surface);padding:12px 14px;font-size:1rem;line-height:1.4}.guest-notes-input:focus{outline:2px solid color-mix(in srgb, var(--color-accent) 55%, transparent);outline-offset:1px}.guest-list{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex;position:relative}.guest-btn{width:100%;font-family:var(--font-body);letter-spacing:0;text-align:left;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-primary);color:var(--color-text-on-primary);cursor:pointer;box-shadow:var(--shadow-soft);flex-direction:column;align-items:flex-start;gap:4px;padding:20px 22px;font-size:1.125rem;font-weight:600;transition:background .18s,transform .18s,box-shadow .18s;display:flex}.guest-btn:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-card);transform:translateY(-2px)}.guest-btn.is-unavailable,.guest-btn:disabled{background:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;opacity:.65}.guest-btn-status{font-family:var(--font-body);font-size:var(--text-small);color:var(--color-text-secondary);font-weight:600}.guest-btn.is-unavailable .guest-btn-status,.guest-btn:disabled .guest-btn-status{color:var(--color-error-text)}.card:before{content:"";background-image:var(--pattern-url);opacity:.12;pointer-events:none;background-position:100% 0;background-repeat:no-repeat;background-size:120px;width:min(280px,45%);height:120px;position:absolute;top:0;right:0}.card h2{font-size:var(--text-h2);margin-bottom:var(--space-5);color:var(--color-primary);position:relative}.rooms-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:relative}.room-floor-toggle{min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;display:inline-flex}.room-floor-toggle:hover{color:var(--color-primary)}.room-floor-chevron{flex:0 0 20px;width:20px;height:20px;transition:transform .18s ease-out}.room-floor-toggle[aria-expanded=false] .room-floor-chevron{transform:rotate(-90deg)}.room-floor .rooms-grid[hidden],.cabinet-room-floor .cabinet-room-board[hidden]{display:none}.room-btn{font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:.015em;border-radius:var(--radius-md);border:1px solid var(--color-room-tile);background:var(--color-room-tile);color:var(--color-text-on-primary);cursor:pointer;box-shadow:var(--shadow-soft);padding:40px 0;font-size:1.5rem;font-weight:600;transition:background .15s,transform .15s,box-shadow .15s}.room-btn:hover{background:var(--color-room-tile-hover);box-shadow:var(--shadow-card);transform:translateY(-1px)}.room-btn.is-unavailable,.room-btn:disabled{background:var(--color-bg-alt);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;opacity:.55}.room-btn.is-unavailable:hover,.room-btn:disabled:hover{background:var(--color-bg-alt);box-shadow:none;transform:none}.room-select-hint{margin:0 0 var(--space-4);font-size:var(--text-small);color:var(--color-text-secondary);line-height:1.45}.room-select-caption{margin:0 0 var(--space-5);font-family:var(--font-display);color:var(--color-primary);text-align:center;letter-spacing:.01em;background:linear-gradient(160deg, color-mix(in srgb, var(--color-accent) 16%, var(--color-bg-alt)) 0%, color-mix(in srgb, var(--color-primary) 6%, var(--color-bg-alt)) 100%);border:2px solid color-mix(in srgb, var(--color-accent) 40%, var(--color-border));border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:16px 18px;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:500;line-height:1.35}.guest-date-picker{margin-bottom:var(--space-4)}.guest-date-picker-label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-size:.95rem;font-weight:600}.guest-date-picker-row{flex-wrap:wrap;gap:10px;display:flex}.guest-date-pill{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-alt);min-width:108px;color:var(--color-text-primary);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 16px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.guest-date-pill:hover{border-color:var(--color-accent)}.guest-date-pill.is-active{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-bg-alt));box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 35%, transparent)}.guest-date-pill-main{font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.2}.guest-date-pill-sub{font-size:var(--text-small);color:var(--color-text-secondary)}.guest-date-pill.is-disabled,.guest-date-pill:disabled{opacity:.45;cursor:not-allowed;border-color:var(--color-border);background:var(--color-bg-alt);box-shadow:none}.guest-date-pill.is-disabled:hover,.guest-date-pill:disabled:hover{border-color:var(--color-border)}.guest-date-calendar{color:var(--color-text-primary);flex-direction:column;gap:8px;margin-top:14px;font-size:.95rem;display:flex}.guest-date-calendar input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;max-width:320px;min-height:52px;color:var(--color-text-primary);font-family:var(--font-body);box-sizing:border-box;padding:12px 14px;font-size:1rem}.guest-date-calendar input:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 35%, transparent);outline:none}.categories{margin-top:var(--space-5);flex:1}.menu-top{gap:var(--space-4);flex-direction:column;display:flex}.menu-top-row{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.menu-field{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px var(--space-4)}.menu-label{color:var(--color-text-muted);font-size:var(--text-small);text-transform:uppercase;letter-spacing:.04em}.menu-value{font-family:var(--font-body);color:var(--color-primary);margin-top:6px;font-size:1.0625rem;font-weight:600}.menu-block{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px var(--space-4)}.menu-block-title{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.03em;margin-bottom:10px;font-size:1.45rem;font-weight:500}.radio-row{flex-wrap:wrap;gap:10px;display:flex}.radio-row.time-grid,.radio-row.place-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.radio-pill{padding:var(--space-4) 18px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text);align-items:center;gap:10px;font-size:1.125rem;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.check-row:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.radio-pill:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, white);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 18%, transparent)}.radio-pill input{width:22px;height:22px;accent-color:var(--color-primary)}.menu-section{margin-top:18px}.menu-section-title{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.03em;font-size:1.45rem;font-weight:500}.menu-section-subtitle{color:var(--color-text-muted);font-size:var(--text-small);margin-top:6px}.guest-form{border-top:1px solid var(--color-border);margin-top:18px;padding-top:18px}.guest-form-title{font-family:var(--font-display);letter-spacing:.03em;color:var(--color-primary);margin-bottom:var(--space-3);font-size:1.45rem;font-style:normal;font-weight:500}.actions-right{gap:var(--space-3);align-items:center;display:flex}.checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:10px;display:grid}@media (width>=1200px){.checklist{grid-template-columns:repeat(3,minmax(0,1fr))}}.check-row{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;padding:14px;transition:border-color .15s,background .15s;display:flex}.check-row:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, white);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 18%, transparent)}.check-row input{width:24px;height:24px;accent-color:var(--color-primary)}.check-text{color:var(--color-text);flex-wrap:wrap;flex:1;align-items:center;gap:8px;font-size:1.125rem;display:inline-flex}.paid-badge{border-radius:var(--radius-sm);letter-spacing:.02em;color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.qty-controls{align-items:center;gap:var(--space-2);margin-left:auto;display:inline-flex}.qty-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-alt);width:32px;height:32px;color:var(--color-primary);cursor:pointer;font-size:1.25rem;line-height:1}.qty-btn:disabled{opacity:.45;cursor:default}.qty-value{text-align:center;min-width:32px;font-size:var(--text-body);color:var(--color-text);font-weight:600}.check-row.disabled{opacity:.4;cursor:default}.category-block{background:var(--color-bg-alt);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;padding:10px;display:flex}.category-block h3{font-family:var(--font-display);color:var(--color-primary);margin-bottom:10px;font-size:1.125rem;font-weight:500}.actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);display:flex}.actions-spaced{justify-content:space-between;align-items:center}.category-nav{gap:var(--space-3);display:flex}.category-header{justify-content:space-between;align-items:center;display:flex}.limits{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-body)}.category-steps{gap:var(--space-2);display:flex}.category-step{border-radius:var(--radius-pill);border:1px solid var(--color-border);width:32px;height:32px;font-size:var(--text-small);color:var(--color-text-muted);opacity:.75;cursor:pointer;background:var(--color-surface);justify-content:center;align-items:center;display:flex}.category-step.current{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary);opacity:1}.category-step.done{background:var(--color-success-bg);border-color:var(--color-primary);color:var(--color-primary);opacity:1}.primary,.secondary{border-radius:var(--radius-sm);min-width:190px;font-family:var(--font-body);cursor:pointer;border:none;padding:16px 26px;font-size:1.125rem;font-weight:600;transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}.primary{background:var(--color-primary);color:var(--color-text-on-primary)}.primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.primary:disabled{color:#fff;opacity:1;cursor:default;background:#c6bdb9}.secondary{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}.secondary:hover{background:var(--color-bg-alt);border-color:var(--color-primary-hover)}.primary:active:not(:disabled),.secondary:active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.primary,.secondary,.lang-btn,.check-row,.room-btn,.guest-day-chip{transition:none}}.error{margin-top:var(--space-3);color:var(--color-error-text);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-small)}.card.center{text-align:center;justify-content:center;align-items:center}.card.center p{margin-top:var(--space-2);font-family:var(--font-accent);font-style:italic;font-size:var(--text-body);color:var(--color-text-secondary)}@media (width<=900px){.rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.categories{grid-template-columns:1fr}.app-header{padding:var(--space-4) var(--space-4) var(--space-2)}.header-top{align-items:center;gap:var(--space-3)}.hotel-title{margin-bottom:2px;font-size:clamp(1.25rem,2.8vw,1.75rem)}.subtitle{font-size:.9rem}.lang-btn{padding:6px 10px;font-size:.75rem}.header-back-btn{flex-shrink:0;width:40px;height:40px}.header-back-icon{padding-bottom:1px;font-size:1.35rem}.app-main{padding:0 var(--space-4) var(--space-4)}}.site-shell{min-height:100%}.site-shell--portrait-blocked>:not(.rotate-landscape-overlay){visibility:hidden;pointer-events:none}.rotate-landscape-overlay{z-index:1000;padding:var(--space-6);background:linear-gradient(160deg, color-mix(in srgb, var(--color-primary) 88%, #000) 0%, var(--color-primary) 55%, color-mix(in srgb, var(--color-primary) 75%, var(--color-accent)) 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rotate-landscape-card{text-align:center;width:min(420px,100%);color:var(--color-text-on-primary)}.rotate-landscape-icon{margin:0 auto var(--space-5);color:var(--color-accent);animation:2.4s ease-in-out infinite rotate-hint;display:block}@keyframes rotate-hint{0%,to{transform:rotate(0)}40%{transform:rotate(90deg)}60%{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.rotate-landscape-icon{animation:none}}.rotate-landscape-title{margin:0 0 var(--space-3);font-family:var(--font-display);letter-spacing:.02em;text-wrap:balance;font-size:clamp(1.5rem,5vw,2rem);font-weight:500}.rotate-landscape-body{margin:0 0 var(--space-5);font-size:var(--text-body);color:color-mix(in srgb, var(--color-text-on-primary) 88%, transparent);text-wrap:pretty;line-height:1.45}.rotate-landscape-langs{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rotate-landscape-langs .lang-btn{border-color:color-mix(in srgb, var(--color-text-on-primary) 35%, transparent);color:var(--color-text-on-primary);background:0 0}.rotate-landscape-langs .lang-btn-active,.rotate-landscape-langs .lang-btn:hover{background:color-mix(in srgb, var(--color-text-on-primary) 16%, transparent);border-color:var(--color-accent)}@media (orientation:landscape) and (width<=1100px){.rooms-grid{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr))}.room-btn{padding:clamp(18px,4vh,32px) 0;font-size:clamp(1.25rem,3.2vw,1.85rem)}}.guest-portal{background-color:var(--color-bg);background-image:var(--pattern-url);background-repeat:repeat;background-size:var(--pattern-size);min-height:100vh;color:var(--color-text);font-family:var(--font-body);background:linear-gradient(180deg, #bd8c5113 0, #f7f5f200 220px), var(--color-bg);flex-direction:column;display:flex}.guest-portal-header{z-index:100;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:0;box-shadow:var(--shadow-header);background:#fffefdf7;justify-content:space-between;align-items:center;gap:12px 24px;padding:8px clamp(16px,2.5vw,36px);display:flex;position:sticky;top:0}.guest-portal-brand-lockup{align-items:center;gap:14px;min-width:0;display:flex}.guest-portal-hotel-logo-frame{aspect-ratio:1612/670;flex:none;width:clamp(160px,13vw,180px);display:block;position:relative;overflow:hidden}.guest-portal-hotel-logo{mix-blend-mode:multiply;width:110%;max-width:none;height:auto;display:block;position:absolute;top:-38.96%;left:-4.53%}.guest-portal-brand-divider{background:var(--color-border-strong);flex:none;width:1px;height:46px}.guest-portal-restaurant-lockup{align-items:center;gap:8px;min-width:0;display:flex}.guest-portal-restaurant-logo{object-fit:contain;mix-blend-mode:multiply;flex:none;width:52px;height:52px;display:block}.guest-portal-brand{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;font-size:1.5rem;font-weight:500;line-height:1.15}.guest-portal-brand-btn{cursor:pointer;appearance:none;background:0 0;border:none;margin:0;padding:0;line-height:0;transition:opacity .18s;display:block}.guest-portal-brand-btn:hover,.guest-portal-brand-btn:focus-visible{opacity:.72}.guest-portal-brand-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:2px}.guest-portal-sub{max-width:130px;font-family:var(--font-accent);color:var(--color-text-secondary);margin:0;font-size:.76rem;font-style:italic;font-weight:400;line-height:1.35}.guest-portal-main{min-width:0;padding:clamp(28px, 4vw, 48px) clamp(var(--space-4), 3vw, var(--space-7)) var(--space-7);flex:1;width:min(1180px,100%);margin:0 auto}.guest-portal-main:has(.guest-portal-card--login){place-items:start center;padding-top:clamp(42px,9vh,96px);display:grid}.guest-portal-card{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-card);gap:var(--space-5);border:0;flex-direction:column;padding:clamp(28px,3vw,40px);display:flex}.guest-portal-card--login{gap:18px;width:100%;max-width:720px;padding:clamp(32px,4.2vw,52px)}.guest-portal-card--login:before{content:"";border-radius:var(--radius-pill);background:var(--color-accent);width:54px;height:3px;margin-bottom:4px}.guest-portal-login-form{flex-direction:column;align-items:flex-start;gap:18px;width:100%;display:flex}.guest-portal-login-form label{color:var(--color-text-secondary);font-size:var(--text-small);font-weight:600}.guest-portal-login-form .error{margin-top:0}.guest-portal-card.center{text-align:center;align-items:center}.guest-portal-card h1{font-family:var(--font-display);color:var(--color-primary);text-wrap:balance;margin:0;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:500;line-height:1.12}.guest-portal-meta,.guest-portal-hint{color:var(--color-text-secondary);margin:0;line-height:1.55}.guest-portal-input{border-radius:var(--radius-md);border:1px solid var(--color-border-strong);letter-spacing:.14em;text-transform:uppercase;width:100%;max-width:32rem;min-height:58px;color:var(--color-text);background:#fff;padding:15px 18px;font-size:1.2rem}.guest-portal-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.guest-portal-card--login .primary{min-height:56px;margin-top:6px}.guest-portal-days{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=720px){.guest-portal-days{grid-template-columns:repeat(2,minmax(0,1fr))}}.guest-day-chip{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-bg-alt);color:var(--color-text);cursor:pointer;text-align:left;padding:16px 18px;font-size:1rem;transition:border-color .15s,background .15s,transform .15s;display:flex}.guest-day-chip:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-success-bg);transform:translateY(-1px)}.guest-day-chip.is-done{opacity:.85;cursor:pointer}.guest-day-chip.is-done.is-expanded{opacity:1;border-color:var(--color-primary);background:var(--color-success-bg)}.guest-day-chip.is-disabled{opacity:.45;cursor:not-allowed}.guest-day-status{font-family:var(--font-body);color:var(--color-primary);font-size:1rem;font-weight:600}.guest-portal-section-title,.guest-portal .menu-section-title,.guest-portal .guest-notes-title{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.03em;margin-bottom:4px;font-size:1.45rem;font-weight:500}.guest-portal .menu-block{padding:18px 20px 20px}.guest-portal .menu-block-title{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.03em;margin-bottom:16px;font-size:1.45rem;font-weight:500}.guest-portal-section-sub{color:var(--color-text-secondary);font-size:var(--text-small);margin-bottom:var(--space-3)}@media (width>=900px){.guest-portal-serve-row{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;display:grid}.guest-portal .radio-row.time-grid,.guest-portal .checklist{grid-template-columns:repeat(3,minmax(0,1fr))}}.guest-portal .radio-row.time-grid{align-items:stretch}.guest-portal .radio-row.time-grid .radio-pill{box-sizing:border-box;justify-content:flex-start;gap:8px;width:100%;height:100%;min-height:52px;padding:10px 12px;font-size:.9375rem;line-height:1.2}.guest-portal .radio-row.time-grid .radio-pill input{flex-shrink:0;width:18px;height:18px}.guest-portal .radio-row.time-grid .radio-pill span{white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden}.guest-portal-checkout{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-alt);flex-direction:column;display:flex}.guest-portal-checkout-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--color-text);font-size:1rem;display:flex}.guest-portal-checkout-row strong{font-family:var(--font-body);color:var(--color-primary);font-size:1.125rem;font-weight:600}.guest-portal-checkout-muted{color:var(--color-text-secondary);font-size:var(--text-small)}.guest-portal .radio-pill{text-align:center;justify-content:center;min-height:48px}.guest-day-block{gap:var(--space-2);flex-direction:column;display:flex}.guest-order-summary{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-alt)}.guest-order-summary-title{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.02em;margin-bottom:6px;font-size:1.5rem;font-weight:500}.guest-order-summary-meta{color:var(--color-text-secondary);margin-bottom:var(--space-2);font-size:.95rem}.guest-order-summary-items{margin:0 0 var(--space-2);color:var(--color-text);padding-left:1.2rem}.guest-order-summary-sections{gap:var(--space-3);margin-bottom:var(--space-2);flex-direction:column;display:flex}.guest-order-summary-section-title{font-family:var(--font-display);color:var(--color-primary);letter-spacing:.03em;margin-bottom:6px;font-size:1.35rem;font-weight:500}.guest-order-summary-sections .guest-order-summary-items{margin-bottom:0;font-size:.95rem}.guest-order-summary-notes{margin-top:var(--space-2);margin-bottom:var(--space-2)}.guest-order-summary-notes-text{color:var(--color-text);white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.4}.guest-order-summary-notes-empty{color:var(--color-text-secondary);margin:0;font-size:.875rem}.guest-portal-checkout-spacer{display:none}.guest-portal-sticky-bar{z-index:auto;margin:0 calc(-1 * clamp(var(--space-5), 2.5vw, var(--space-6)));margin-bottom:calc(-1 * clamp(var(--space-5), 2.5vw, var(--space-6)));padding:var(--space-4) clamp(var(--space-5), 2.5vw, var(--space-6));border-top:1px solid var(--color-border);gap:var(--space-3);background:#fffdfbf7;flex-direction:column;display:flex;position:static}.guest-portal-sticky-bar .guest-portal-checkout{margin:0}.guest-portal .lang-btn{min-width:46px;min-height:42px;padding:var(--space-2) 13px;font-size:var(--text-small)}@media (width<=900px){.guest-portal-header{min-height:0;padding:8px 18px}.guest-portal-hotel-logo-frame{width:160px}.guest-portal-restaurant-logo{width:54px;height:54px}.guest-portal-sub{display:none}}@media (width<=680px){.guest-portal-header{flex-direction:column;align-items:stretch;gap:8px;min-height:0;padding:8px 16px 12px;position:static}.guest-portal-brand-lockup{justify-content:center;gap:12px}.guest-portal-hotel-logo-frame{width:150px}.guest-portal-brand-divider{height:44px}.guest-portal-restaurant-logo{width:48px;height:48px}.guest-portal .lang-switch{justify-content:center;gap:6px}.guest-portal .lang-btn{min-width:44px;min-height:44px;padding:7px 10px}:is(.guest-portal-main,.guest-portal-main:has(.guest-portal-card--login)){width:100%;max-width:100%;padding:20px 14px max(24px, env(safe-area-inset-bottom));display:block}.guest-portal-card,.guest-portal-card--login{border-radius:14px;width:100%;max-width:100%;padding:24px 20px}.guest-portal-card h1{text-wrap:wrap;overflow-wrap:anywhere;font-size:clamp(1.65rem,8vw,2.15rem)}.guest-portal-hint{overflow-wrap:anywhere}.guest-portal-input{max-width:none}}.app .app-header{background:#fffefdf7;align-items:stretch;width:100%;max-width:none;margin:0;padding:8px clamp(16px,2.5vw,36px)}.app .header-top{align-items:center;margin-bottom:0}.terminal-brand-lockup{flex-direction:column;align-items:center;width:max-content;max-width:100%;display:flex}.terminal-header-logo-frame{aspect-ratio:1612/670;flex:none;width:clamp(160px,13vw,180px);display:block;position:relative;overflow:hidden}.terminal-header-logo{mix-blend-mode:multiply;width:110%;max-width:none;height:auto;display:block;position:absolute;top:-38.96%;left:-4.53%}.app .terminal-brand-lockup .header-brand-text{text-align:center;max-width:220px}.app .terminal-brand-lockup .subtitle{font-size:.875rem;font-style:normal;line-height:1.15}.terminal-welcome-logos{margin-bottom:var(--space-5);justify-content:center;align-items:center;gap:22px;display:flex}.terminal-welcome-hotel-logo{mix-blend-mode:multiply;width:100%;height:auto;display:block;transform:translateY(-22%)}.terminal-welcome-divider{background:var(--color-border-strong);width:1px;height:82px}.terminal-welcome-restaurant-logo{object-fit:contain;mix-blend-mode:multiply;width:clamp(82px,9vw,116px);height:clamp(82px,9vw,116px)}.app .app-main{width:min(1120px,100%);padding:var(--space-5) clamp(var(--space-4), 3vw, var(--space-7)) var(--space-7);box-sizing:border-box;margin:0 auto}.app .card{width:100%;max-width:100%;min-height:0;padding:clamp(var(--space-5), 2.5vw, var(--space-6));box-sizing:border-box;margin-left:auto;margin-right:auto}.app .card h2{font-size:var(--text-page-title);margin-bottom:var(--space-5)}.app .room-select-caption{font-size:var(--text-section);font-weight:500}.app .room-floor-list{gap:var(--space-6);margin-top:var(--space-5);display:grid}.app .room-floor-title{margin:0 0 var(--space-4);font-family:var(--font-body);color:var(--color-text-secondary);font-size:1rem;font-weight:600}.app .rooms-grid{gap:var(--space-4);grid-template-columns:repeat(6,minmax(0,1fr));margin-top:0}.app .room-btn{font-size:var(--text-section);padding:clamp(20px,3vh,32px) 0;font-weight:600}.app .menu-section-title,.app .menu-block-title,.app .guest-form-title,.app .guest-notes-title,.terminal-pass-title{font-family:var(--font-display);font-size:var(--text-section);letter-spacing:.01em;color:var(--color-primary);font-weight:500}.app .guest-list{gap:12px}.app .guest-btn{font-size:var(--text-body);padding:16px 18px}.terminal-pin-card{text-align:center;max-width:480px;margin:0 auto}.terminal-pin-input{letter-spacing:.35em;text-align:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;width:min(240px,100%);margin:12px auto 20px;padding:14px 16px;font-size:1.5rem;display:block}.terminal-pass-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-accent) 8%, #fff);text-align:center;margin:12px 0 22px;padding:18px 20px}.terminal-pass-hint{font-size:var(--text-body);color:var(--color-text-secondary);margin:6px 0 12px}.terminal-paid-ack{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-alt);font-size:var(--text-body);cursor:pointer;align-items:flex-start;gap:10px;margin:12px 0 4px;padding:12px 14px;line-height:1.35;display:flex}.terminal-paid-ack input{width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0;margin-top:2px}.terminal-checkout-bar{margin-top:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.terminal-checkout{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-alt);flex-direction:column;display:flex}.terminal-checkout-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);color:var(--color-text);font-size:1rem;display:flex}.terminal-checkout-row strong{font-family:var(--font-body);color:var(--color-primary);font-size:1.125rem;font-weight:600}.terminal-checkout-muted{color:var(--color-text-secondary);font-size:var(--text-small)}.terminal-checkout-note{color:var(--color-text-secondary);margin-top:6px;font-size:.8rem}.guest-btn.is-ordered:not(.is-unavailable),.guest-btn.is-ordered{opacity:1;cursor:pointer;background:var(--color-primary);border-color:var(--color-accent);color:var(--color-text-on-primary);pointer-events:auto}.guest-btn.is-ordered .guest-btn-status{color:#ffffffeb}.check-row.is-readonly{cursor:default;opacity:.92}.terminal-pass-code{margin:0;font-size:1.125rem}@media (width<=680px){.app .app-header{padding:8px 16px 12px}.app .header-top{flex-wrap:wrap;justify-content:center;gap:8px}.app .header-brand{flex:100%;justify-content:center}.app .lang-switch{justify-content:center;width:100%}}@media (width<=900px){.app .app-main{padding:var(--space-4) var(--space-4) var(--space-6)}.app .rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app .room-btn{padding:18px 0}}@media (orientation:landscape) and (height<=520px){.app .room-btn{padding:14px 0}.app .card{min-height:0}}.app,.guest-portal,.cabinet{background:var(--color-bg)}.app .app-header,.guest-portal-header,.cabinet-header{background:var(--color-bg);-webkit-backdrop-filter:none;backdrop-filter:none;padding-top:16px;padding-bottom:16px}.terminal-header-logo-frame,.guest-portal-hotel-logo-frame,.cabinet-brand-logo-frame{aspect-ratio:auto;width:174px;height:72px;overflow:visible}.terminal-header-logo,.guest-portal-hotel-logo,.cabinet-brand-logo{object-fit:contain;mix-blend-mode:normal;width:100%;height:100%;display:block;position:static;transform:none}.terminal-welcome-hotel-frame{width:min(360px,75vw);height:178px;overflow:visible}.terminal-welcome-hotel-logo{object-fit:contain;width:100%;height:100%;transform:none}.terminal-welcome-restaurant-logo,.terminal-welcome-divider,.guest-portal-restaurant-logo,.guest-portal-brand-divider{display:none}.app .welcome-screen{background:var(--color-bg)}.app .welcome-title{letter-spacing:-.025em;text-transform:none;text-wrap:balance;max-width:700px;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.15}.app .welcome-screen:after,.app .welcome-brand{display:none}.app .welcome-hint{color:var(--color-text-secondary);margin-top:24px;font-style:normal}.guest-portal-sub{font-style:normal}.app .card,.guest-portal-card{box-shadow:none;border-color:var(--color-border)}.guest-portal-brand{font-style:normal}button,input,select,textarea{accent-color:var(--color-primary);caret-color:var(--color-primary)}input,select,textarea{font-weight:400}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}.lang-btn{min-width:44px;min-height:44px}.cabinet-stop-list-footer{justify-content:flex-end;margin-top:20px;display:flex}.terminal-availability-warning{border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning-text);gap:16px;margin-top:20px;padding:20px;display:grid}.terminal-availability-warning button{justify-self:start;min-height:44px}.cabinet-role,.cabinet-date-line{font-variant-numeric:tabular-nums}@media (width<=600px){.terminal-header-logo-frame,.guest-portal-hotel-logo-frame,.cabinet-brand-logo-frame{width:128px;height:60px}.guest-portal-header{flex-wrap:wrap;gap:8px}.guest-portal-brand-lockup{gap:8px}.guest-portal-sub{max-width:150px;font-size:.8rem}.app .app-main{padding:20px 16px 32px}.app .card{padding:20px 16px}.cabinet-header{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
