@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}html,body{max-width:100vw;overflow-x:hidden}#root{text-align:left;border:none;width:100%;max-width:100%;margin:0;padding:0}.screen{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#0b1628;background-image:radial-gradient(130% 55% at 50% 0,#172d52 0%,#0b1628 70%);flex-direction:column;min-height:100dvh;padding:0 28px 28px;display:flex;position:relative}.hotel-header{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:18px 0 14px;display:flex}.ornament{align-items:center;gap:14px;width:100%;max-width:420px;display:flex}.ornament-line{opacity:.55;background:linear-gradient(90deg,#0000 0%,#c9a84c 50%,#0000 100%);flex:1;height:1px}.ornament-gem{color:#c9a84c;opacity:.85;font-size:12px;line-height:1}.hotel-name{letter-spacing:.22em;color:#c9a84c;text-transform:uppercase;margin:2px 0;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(28px,3.5vw,38px);font-weight:600;line-height:1.1}.welcome-message{letter-spacing:.08em;color:#ffffffb8;margin:4px 0 0;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(14px,2.2vw,19px);font-style:italic;font-weight:300}.welcome-guest-name{color:#c9a84c;font-style:normal;font-weight:400}.services{flex-flow:row;flex:1;align-items:stretch;gap:12px;min-height:0;display:flex}.service-btn{color:#e8e0d0;cursor:pointer;background:#ffffff09;border:1px solid #c9a84c38;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:16px;min-width:0;min-height:80px;padding:20px 10px;transition:background .18s,border-color .18s,box-shadow .18s,transform .1s;display:flex;position:relative}.service-btn:hover{background:#c9a84c12;border-color:#c9a84c7a;box-shadow:0 0 28px #c9a84c1a,inset 0 0 28px #c9a84c08}.service-btn:active{background:#c9a84c1c;border-color:#c9a84c99;transform:scale(.96)}.service-btn:focus-visible{outline-offset:3px;outline:2px solid #c9a84c8c}.service-btn--dnd-blocked{opacity:.25;cursor:not-allowed;pointer-events:none}.btn-icon{color:#c9a84c;justify-content:center;align-items:center;display:flex}.btn-icon svg{width:56px;height:56px}.btn-label{letter-spacing:.08em;text-transform:uppercase;color:#e8e0d0;text-align:center;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:clamp(13px,2.2vw,18px);font-weight:700;line-height:1.25}.service-screen{align-items:center;gap:20px}.svc-header{flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;padding:14px 0 10px;display:grid}.back-btn{color:#c9a84c;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c9a84c14;border:1px solid #c9a84c8c;border-radius:10px;justify-self:start;align-items:center;gap:10px;min-height:58px;padding:14px 24px;font-family:system-ui,sans-serif;font-size:16px;font-weight:700;transition:background .15s,border-color .15s,transform .1s;display:flex}.back-btn svg{flex-shrink:0;width:20px;height:20px}.back-btn:hover{background:#c9a84c14;border-color:#c9a84c80}.back-btn:active{transform:scale(.96)}.svc-title{letter-spacing:.18em;color:#c9a84c;text-transform:uppercase;white-space:nowrap;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:24px;font-weight:700}.svc-prompt{letter-spacing:.1em;text-transform:uppercase;color:#ffffffe0;text-align:center;flex-shrink:0;margin:0;font-family:system-ui,sans-serif;font-size:18px;font-weight:700}.service-spacer{flex:1}.submit-btn{color:#c9a84c;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c9a84c1a;border:1px solid #c9a84c80;border-radius:12px;flex-shrink:0;width:100%;min-height:68px;font-family:system-ui,sans-serif;font-size:18px;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s}.submit-btn:not(:disabled):hover{background:#c9a84c2e;box-shadow:0 0 28px #c9a84c33}.submit-btn:not(:disabled):active{transform:scale(.98)}.submit-btn:disabled{opacity:.28;cursor:default}.item-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9a84c40 transparent;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow-y:auto}.item-list::-webkit-scrollbar{width:5px}.item-list::-webkit-scrollbar-thumb{background:#c9a84c4d;border-radius:3px}.item-row{border-bottom:1px solid #ffffff12;flex-shrink:0;justify-content:space-between;align-items:center;min-height:80px;padding:4px 14px;display:flex}.item-row:first-child{border-top:1px solid #ffffff12}.item-name{color:#fffffff2;font-family:system-ui,sans-serif;font-size:20px;font-weight:700}.qty-control{align-items:center;display:flex}.qty-btn{color:#c9a84c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0d;border:1px solid #c9a84c52;justify-content:center;align-items:center;width:76px;height:72px;font-size:22px;font-weight:700;line-height:1;transition:background .1s,transform 80ms;display:flex}.qty-btn:first-child{border-radius:10px 0 0 10px}.qty-btn:last-child{border-radius:0 10px 10px 0}.qty-btn:hover:not(:disabled){background:#c9a84c1a}.qty-btn:active:not(:disabled){background:#c9a84c33;transform:scale(.88)}.qty-btn:disabled{color:#c9a84c33;cursor:default}.qty-value{color:#fff9;font-variant-numeric:tabular-nums;background:#00000038;border-top:1px solid #c9a84c52;border-bottom:1px solid #c9a84c52;justify-content:center;align-items:center;min-width:72px;height:72px;font-family:system-ui,sans-serif;font-size:24px;font-weight:700;display:flex}.qty-value--active{color:#c9a84c}.category-toggle{flex-shrink:0;gap:12px;width:100%;display:flex}.category-btn{color:#e8e0d07a;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0a;border:1px solid #c9a84c33;border-radius:12px;flex:1;min-height:70px;font-family:system-ui,sans-serif;font-size:22px;font-weight:700;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.category-btn--active{color:#c9a84c;background:#c9a84c1f;border-color:#c9a84ca6;box-shadow:0 0 20px #c9a84c1f}.category-btn:hover:not(.category-btn--active){color:#e8e0d0bf;background:#c9a84c0f;border-color:#c9a84c59}.custom-field{flex-direction:column;flex-shrink:0;gap:14px;width:100%;display:flex}.custom-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf;font-family:system-ui,sans-serif;font-size:16px;font-weight:700}.custom-textarea{color:#e8e0d0;resize:none;box-sizing:border-box;background:#00000047;border:1px solid #c9a84c4d;border-radius:10px;outline:none;width:100%;min-height:80px;padding:18px 22px;font-family:system-ui,sans-serif;font-size:18px;line-height:1.6;transition:border-color .15s}.custom-textarea:focus{border-color:#c9a84c99}.custom-textarea::placeholder{color:#ffffff47}.timing-options{flex-shrink:0;gap:16px;width:100%;display:flex}.timing-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0a;border:1px solid #c9a84c33;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:140px;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:flex}.timing-btn--active{background:#c9a84c1c;border-color:#c9a84cb3;box-shadow:0 0 36px #c9a84c24}.timing-btn:hover:not(.timing-btn--active){background:#c9a84c0f;border-color:#c9a84c59}.timing-btn:active{transform:scale(.97)}.timing-label{letter-spacing:.1em;color:#c9a84c;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(30px,4vw,42px);font-weight:300;line-height:1}.timing-sub{letter-spacing:.12em;text-transform:uppercase;color:#ffffffd1;font-family:system-ui,sans-serif;font-size:16px;font-weight:600}.timing-options--three{flex-wrap:wrap}.timing-options--three .timing-btn{flex:calc(33% - 12px);min-width:120px;min-height:120px}.setup-items{flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;display:grid}.setup-item-btn{color:#e8dcc8e6;letter-spacing:.06em;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:center;background:#ffffff0a;border:1px solid #c9a84c33;border-radius:12px;padding:18px 12px;font-family:system-ui,sans-serif;font-size:16px;font-weight:600;transition:background .15s,border-color .15s,transform .1s}.setup-item-btn--active{color:#c9a84c;background:#c9a84c1c;border-color:#c9a84cb3;box-shadow:0 0 24px #c9a84c24}.setup-item-btn:active{transform:scale(.97)}.time-slots{flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;display:grid}.time-slot{color:#e8e0d0a6;letter-spacing:.05em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0a;border:1px solid #c9a84c2e;border-radius:12px;min-height:76px;font-family:system-ui,sans-serif;font-size:18px;font-weight:700;transition:background .12s,border-color .12s,color .12s,transform 80ms,box-shadow .12s}.time-slot--active{color:#c9a84c;background:#c9a84c24;border-color:#c9a84cb8;box-shadow:0 0 20px #c9a84c24}.time-slot:hover:not(.time-slot--active){color:#e8e0d0e6;background:#c9a84c12;border-color:#c9a84c59}.time-slot:active{transform:scale(.95)}.issue-chips{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:12px;width:100%;display:flex}.issue-chip{color:#e8e0d0b3;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0a;border:1px solid #c9a84c33;border-radius:10px;min-height:50px;padding:16px 36px;font-family:system-ui,sans-serif;font-size:16px;font-weight:700;transition:background .12s,border-color .12s,color .12s,transform 80ms}.issue-chip--active{color:#c9a84c;background:#c9a84c24;border-color:#c9a84cb8;box-shadow:0 0 16px #c9a84c1f}.issue-chip:hover:not(.issue-chip--active){color:#e8e0d0e6;background:#c9a84c12;border-color:#c9a84c59}.issue-chip:active{transform:scale(.96)}.issue-chip--other{color:#e8e0d08c;border-style:dashed}.issue-chip--other:hover{color:#e8e0d0d9;background:#c9a84c0f;border-color:#c9a84c59}.concierge-body{flex:1;gap:0;width:100%;min-height:0;display:flex;overflow:hidden}.concierge-col{scrollbar-width:thin;scrollbar-color:#c9a84c33 transparent;flex-direction:column;flex:1;min-width:0;padding:0 20px;display:flex;overflow-y:auto}.concierge-divider{background:#c9a84c1f;flex-shrink:0;align-self:stretch;width:1px}.col-heading{letter-spacing:.2em;text-transform:uppercase;color:#c9a84ce6;border-bottom:1px solid #c9a84c38;flex-shrink:0;margin:0 0 10px;padding-bottom:12px;font-family:system-ui,sans-serif;font-size:18px;font-weight:700}.info-row{border-bottom:1px solid #ffffff0e;flex-shrink:0;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;display:flex}.info-label{color:#ffffffad;white-space:nowrap;flex-shrink:0;font-family:system-ui,sans-serif;font-size:clamp(13px,1.8vw,16px)}.info-value{color:#ffffffe6;text-align:right;font-family:system-ui,sans-serif;font-size:clamp(13px,1.8vw,16px);font-weight:500}.info-subheading{letter-spacing:.18em;text-transform:uppercase;color:#c9a84cd9;flex-shrink:0;margin:14px 0 2px;font-family:system-ui,sans-serif;font-size:18px;font-weight:700}.concierge-loading,.concierge-info-soon{color:#fff6;margin:8px 0;font-family:system-ui,sans-serif;font-size:15px;font-style:italic}.concierge-amenities{margin:4px 0 8px}.concierge-amenity-line{color:#ffffffc7;margin:3px 0;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5}.info-row--sub{padding:10px 0}.info-row--sub .info-label{font-size:16px}.info-row--sub .info-value{color:#ffffffd1;font-size:16px;font-weight:400}.attraction-item{border-bottom:1px solid #ffffff0e;flex-direction:column;flex-shrink:0;gap:6px;padding:16px 0;display:flex}.attraction-name{color:#ffffffeb;font-family:system-ui,sans-serif;font-size:clamp(13px,1.8vw,16px);font-weight:600}.attraction-detail{color:#ffffffb3;letter-spacing:.02em;font-family:system-ui,sans-serif;font-size:clamp(13px,1.8vw,16px)}.events-section{flex-shrink:0;width:100%}.events-heading{letter-spacing:.2em;text-transform:uppercase;color:#c9a84ce6;border-bottom:1px solid #c9a84c38;margin:0 0 10px;padding-bottom:10px;font-family:system-ui,sans-serif;font-size:18px;font-weight:700}.events-list{flex-direction:column;gap:0;display:flex}.event-row{border-bottom:1px solid #ffffff0e;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.event-name{color:#ffffffeb;font-family:system-ui,sans-serif;font-size:16px;font-weight:600}.event-meta{color:#c9a84cd9;white-space:nowrap;flex-shrink:0;font-family:system-ui,sans-serif;font-size:16px}.confirm-screen{text-align:center;justify-content:center;align-items:center;gap:20px}.confirm-icon{color:#c9a84c;animation:.45s cubic-bezier(.175,.885,.32,1.275) both pop-in}.confirm-icon svg{width:96px;height:96px}@keyframes pop-in{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.confirm-service{letter-spacing:.2em;color:#c9a84c;text-transform:uppercase;margin:0;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(28px,4vw,42px);font-weight:300}.confirm-summary{letter-spacing:.02em;color:#ffffffc7;text-align:center;max-width:560px;margin:-4px 0 0;font-family:system-ui,sans-serif;font-size:clamp(20px,2.6vw,26px);line-height:1.55}.confirm-message{color:#ffffffad;max-width:560px;margin:0;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(20px,2.8vw,28px);font-style:italic;font-weight:300;line-height:1.65}.confirm-queued{color:#c9a84ca6;letter-spacing:.04em;margin:.5rem 0 0;font-size:.8rem}.confirm-responded{color:#14b8a6;letter-spacing:.03em;background:#14b8a61f;border:1px solid #14b8a673;border-radius:10px;align-items:center;gap:10px;padding:12px 24px;font-family:system-ui,sans-serif;font-size:16px;display:flex}.home-btn{color:#c9a84c;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c9a84c1a;border:1px solid #c9a84c73;border-radius:12px;min-width:280px;min-height:64px;margin-top:8px;padding:0 48px;font-family:system-ui,sans-serif;font-size:18px;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s}.home-btn:hover{background:#c9a84c2e;box-shadow:0 0 28px #c9a84c33}.home-btn:active{transform:scale(.97)}.screen-topbar{flex-shrink:0;align-items:center;gap:12px;width:100%;padding:14px 0 0;display:flex}.topbar-location{white-space:nowrap;text-overflow:ellipsis;color:#e8e0d0;letter-spacing:.04em;flex:1;min-width:0;font-family:system-ui,-apple-system,sans-serif;font-size:16px;font-weight:700;line-height:1;overflow:hidden}.topbar-divider{flex:0 160px;align-items:center;gap:8px;min-width:32px;display:flex}.topbar-line{opacity:.55;background:linear-gradient(90deg,#0000 0%,#c9a84c 50%,#0000 100%);flex:1;height:1px}.topbar-gem{color:#c9a84c;opacity:.85;flex-shrink:0;font-size:10px;line-height:1}.topbar-room{white-space:nowrap;color:#e8e0d0;letter-spacing:.04em;text-align:right;flex-shrink:0;font-family:system-ui,-apple-system,sans-serif;font-size:16px;font-weight:700;line-height:1}@media (width<=900px){.staff-dash,.metrics-screen{box-sizing:border-box;width:100%!important;max-width:100vw!important;overflow-x:hidden!important}.topbar-location,.topbar-room{font-size:14px}.topbar-divider{flex-basis:100px}.back-btn{gap:6px;margin-right:16px;min-height:40px!important;padding:8px 16px!important;font-size:13px!important}.concierge-col:first-child{flex:1.4}.col-heading,.info-subheading{letter-spacing:.08em;white-space:nowrap;font-size:13px}.info-value{white-space:nowrap}.item-row{min-height:60px;padding:6px 8px}.qty-btn{width:48px!important;height:48px!important;min-height:48px!important;font-size:20px!important}.qty-value{min-width:44px!important;height:48px!important;min-height:48px!important;font-size:18px!important}.dash-header{box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:12px 16px}.dash-hotel{letter-spacing:.16em;font-size:11px}.dash-title{letter-spacing:.1em;font-size:20px!important}.dash-date{font-size:13px}.dash-header-actions{align-self:flex-end;gap:8px;margin-top:4px;display:flex}.dash-metrics-btn,.dash-logout{letter-spacing:.06em;white-space:nowrap;min-height:38px!important;padding:8px 14px!important;font-size:13px!important}.dash-filters{box-sizing:border-box;gap:6px;width:100%;padding:10px 16px;overflow:visible;flex-wrap:wrap!important;display:flex!important}.dash-filter{flex-shrink:0;min-height:38px;padding:8px 12px;font-size:13px;margin-left:0!important}.req-list{box-sizing:border-box;width:100%;padding:12px 10px 20px;overflow-x:hidden}.req-card{box-sizing:border-box;width:100%;min-width:0;padding:14px;overflow:hidden}.req-head{flex-direction:column;gap:8px}.req-identity{overflow-wrap:break-word;flex-wrap:wrap;gap:8px;min-width:0}.req-service{white-space:normal;overflow-wrap:break-word;min-width:0;font-size:14px}.req-room{font-size:16px}.req-meta{flex-direction:row;flex-shrink:1;justify-content:flex-start;align-items:center;gap:10px}.req-actions{flex-wrap:wrap;gap:8px}.req-btn{flex:auto;min-width:0}.metrics-body{box-sizing:border-box;width:100%;padding:14px 12px 24px;overflow-x:hidden!important}.metrics-tabs{box-sizing:border-box;flex-wrap:wrap;gap:6px;width:100%;padding:10px 12px}.metrics-tab{min-height:40px;padding:8px 14px;font-size:13px}.metrics-stats-row{box-sizing:border-box;gap:10px;width:100%;grid-template-columns:1fr!important}.metric-card{box-sizing:border-box;width:100%;min-width:0;padding:20px 16px}.metric-value--service{word-break:break-word;white-space:normal;font-size:16px}.metrics-charts-row{box-sizing:border-box;gap:12px;width:100%;grid-template-columns:1fr!important}.metrics-chart-card{box-sizing:border-box;width:100%;min-width:0;padding:18px 14px 20px;overflow:hidden}.chart-title{white-space:normal;word-break:break-word;width:100%;min-width:0}.donut-wrap{flex-direction:column;align-items:center;gap:16px;width:100%}.donut-legend{width:100%;min-width:0}.donut-name{white-space:normal;word-break:break-word}.bar-row{gap:8px;grid-template-columns:minmax(70px,110px) 1fr 34px!important}.bar-label{font-size:13px}.admin-device-table{-webkit-overflow-scrolling:touch;overflow:auto hidden}.admin-device-row,.admin-staff-table .admin-device-row{min-width:700px}.admin-tabs{flex-wrap:wrap;margin:.75rem 1rem 0}.admin-tab-btn{padding:.45rem .75rem;font-size:.72rem}}.idle-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);background:#0b1628cc;justify-content:center;align-items:center;animation:.25s both idle-fade;display:flex;position:fixed;inset:0}@keyframes idle-fade{0%{opacity:0}to{opacity:1}}.idle-dialog{background:#0b1628f5;border:1px solid #c9a84c61;border-radius:16px;flex-direction:column;align-items:center;gap:32px;padding:48px 60px;animation:.25s both idle-rise;display:flex;box-shadow:0 0 60px #c9a84c12,0 24px 64px #0000008c}@keyframes idle-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.idle-message{color:#e8e0d0d1;text-align:center;letter-spacing:.04em;margin:0;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(22px,3vw,30px);font-style:italic;font-weight:300;line-height:1.45}.idle-cancel{color:#c9a84c;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c9a84c1a;border:1px solid #c9a84c7a;border-radius:12px;min-width:200px;min-height:62px;padding:0 44px;font-family:system-ui,sans-serif;font-size:clamp(15px,1.8vw,17px);font-weight:500;transition:background .15s,box-shadow .15s,transform .1s}.idle-cancel:hover{background:#c9a84c2e;box-shadow:0 0 28px #c9a84c33}.idle-cancel:active{transform:scale(.97)}.pin-screen{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#0b1628;background-image:radial-gradient(130% 55% at 50% 0,#172d52 0%,#0b1628 70%);flex-direction:column;justify-content:center;align-items:center;gap:40px;min-height:100dvh;padding:40px 24px;display:flex}.pin-brand{text-align:center}.pin-hotel{letter-spacing:.28em;text-transform:uppercase;color:#c9a84cbf;margin:0 0 10px;font-family:system-ui,sans-serif;font-size:14px}.pin-title{letter-spacing:.2em;color:#c9a84c;text-transform:uppercase;margin:0;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(32px,5vw,52px);font-weight:300}.force-pw-subtitle{color:#e8dcc8a6;text-align:center;margin:.5rem 0 0;font-size:.92rem;line-height:1.5}.pin-dots{gap:22px;display:flex}@keyframes pin-shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-7px)}80%{transform:translate(7px)}}.pin-dots--shake{animation:.55s pin-shake}.pin-dot{background:0 0;border:2px solid #c9a84c59;border-radius:50%;width:18px;height:18px;transition:background .12s,border-color .12s}.pin-dot--filled{background:#c9a84c;border-color:#c9a84c}.pin-dot--error{background:#e05252;border-color:#e05252}.pin-error-msg{color:#e05252;letter-spacing:.06em;min-height:20px;margin:-24px 0 0;font-family:system-ui,sans-serif;font-size:16px}.pin-pad{grid-template-columns:repeat(3,90px);gap:14px;display:grid}.pin-key{color:#e8e0d0;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0d;border:1px solid #c9a84c2e;border-radius:14px;justify-content:center;align-items:center;width:90px;height:90px;font-family:system-ui,sans-serif;font-size:28px;font-weight:300;transition:background .1s,border-color .1s,transform 80ms;display:flex}.pin-key:hover{background:#c9a84c1a;border-color:#c9a84c61}.pin-key:active{background:#c9a84c33;transform:scale(.88)}.pin-key--empty{cursor:default;pointer-events:none;background:0 0;border:none}.pin-key--back{color:#c9a84cb3;font-size:26px}.staff-login-form{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.staff-login-input{color:#e8e0d0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:1px solid #c9a84c40;border-radius:10px;outline:none;width:100%;padding:16px 18px;font-family:system-ui,sans-serif;font-size:18px;transition:border-color .15s}.staff-login-input:focus{border-color:#c9a84c99}.staff-login-input::placeholder{color:#e8e0d059}.staff-login-error{color:#e05252;text-align:center;margin:0;font-family:system-ui,sans-serif;font-size:15px}.staff-login-btn{letter-spacing:.1em;text-transform:uppercase;color:#0b1628;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c9a84c;border:none;border-radius:10px;width:100%;padding:16px;font-family:system-ui,sans-serif;font-size:16px;transition:opacity .15s,transform 80ms}.staff-login-btn:hover{opacity:.9}.staff-login-btn:active{transform:scale(.97)}.staff-login-btn:disabled{opacity:.5;cursor:default}body.keyboard-open .pin-screen{padding-bottom:220px;transition:padding-bottom .18s}.staff-dash{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#0d1b30;flex-direction:column;min-height:100dvh;display:flex}.dash-header{border-bottom:1px solid #c9a84c1f;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.dash-brand{flex-direction:column;gap:3px;display:flex}.dash-brand--clickable{cursor:pointer;opacity:.85;transition:opacity .15s}.dash-brand--clickable:hover{opacity:1}.feedback-back-btn{color:#c9a84c99;letter-spacing:.04em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-self:flex-start;padding:.35rem 0;font-family:system-ui,sans-serif;font-size:.82rem;transition:color .12s}.feedback-back-btn:hover{color:#c9a84c}.dash-hotel{letter-spacing:.24em;text-transform:uppercase;color:#c9a84cbf;font-family:system-ui,sans-serif;font-size:14px}.role-badge{letter-spacing:.04em;white-space:nowrap;pointer-events:none;cursor:default;border-radius:20px;padding:4px 14px;font-family:system-ui,sans-serif;font-size:13px;font-weight:600;display:inline-block}.role-badge--staff{color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff38}.role-badge--manager,.role-badge--owner{color:#c9a84c;background:#c9a84c33;border:1px solid #c9a84c66}.role-badge--platform_admin{color:#5dbd80;background:#5dbd801f;border:1px solid #5dbd8059}.dash-identity{align-items:center;gap:.35rem;display:inline-flex}.role-badge--editable{pointer-events:auto;cursor:pointer;transition:background .15s,border-color .15s}.role-badge--editable:hover{background:#c9a84c59;border-color:#c9a84c}.role-badge-edit-hint{display:none}.role-badge-name{display:inline}.role-badge--editable:hover .role-badge-name{display:none}.role-badge--editable:hover .role-badge-edit-hint{display:inline}.dash-name-input{color:#e8dcc8;background:#ffffff12;border:1px solid #c9a84c80;border-radius:6px;outline:none;width:10rem;padding:4px 8px;font-size:.82rem}.dash-name-input:focus{border-color:#c9a84c}.dash-title{letter-spacing:.16em;color:#c9a84c;text-transform:uppercase;margin:0;font-family:Cormorant Garamond,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(22px,3vw,32px);font-weight:300}.staff-qr{flex-direction:column;align-items:center;gap:6px;display:flex}.staff-qr-frame{background:#00000040;border:1px solid #c9a84c40;border-radius:8px;padding:8px;display:flex}.staff-qr-label{letter-spacing:.18em;text-transform:uppercase;color:#c9a84cb3;margin:0;font-family:system-ui,sans-serif;font-size:12px}.dash-logout{color:#ffffffa6;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #ffffff38;border-radius:8px;min-height:48px;padding:10px 22px;font-family:system-ui,sans-serif;font-size:15px;transition:border-color .15s,color .15s}.dash-logout:hover{color:#ffffffe6;border-color:#ffffff6b}.dash-logout:active{transform:scale(.97)}.dash-filters{border-bottom:1px solid #ffffff0d;flex-shrink:0;gap:8px;padding:14px 28px;display:flex}.dash-filter{color:#ffffffa6;letter-spacing:.05em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:8px 18px;font-family:system-ui,sans-serif;font-size:15px;transition:background .12s,border-color .12s,color .12s;display:flex}.dash-filter:hover{color:#ffffffe0;background:#ffffff0d}.dash-filter--active{color:#c9a84c;background:#c9a84c1c;border-color:#c9a84c7a}.filter-count{color:#c9a84c;background:#c9a84c29;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:14px;font-weight:700;display:inline-flex}.req-list{scrollbar-width:thin;scrollbar-color:#c9a84c2e transparent;flex-direction:column;flex:1;gap:12px;padding:16px 28px 28px;display:flex;overflow-y:auto}.req-list::-webkit-scrollbar{width:5px}.req-list::-webkit-scrollbar-thumb{background:#c9a84c40;border-radius:3px}.req-empty{color:#ffffff73;letter-spacing:.06em;flex:1;justify-content:center;align-items:center;font-family:system-ui,sans-serif;font-size:17px;display:flex}.req-empty p{margin:0}.req-card{background:#ffffff09;border:1px solid #ffffff12;border-left-width:3px;border-radius:12px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.req-card--pending{border-left-color:#c9a84c}.req-card--in-progress{border-left-color:#5b9cf6}.req-card--completed{opacity:.55;border-left-color:#ffffff1f}.req-card--sla-acknowledged{background:#3b82f60a;border-left-color:#3b82f6!important}.req-card--sla-completionBreached{background:#f973160f;border-left-color:#f97316!important}.req-card--sla-responseBreached{background:#dc26260f;border-left-color:#dc2626!important}.req-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.req-identity{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.req-room{color:#fff;white-space:nowrap;font-family:system-ui,sans-serif;font-size:clamp(14px,2.2vw,18px);font-weight:700}.req-service{color:#ffffffbf;font-family:system-ui,sans-serif;font-size:16px}.req-qty{color:#c9a84c;letter-spacing:.04em;background:#c9a84c21;border:1px solid #c9a84c4d;border-radius:5px;padding:2px 8px;font-family:system-ui,sans-serif;font-size:14px;font-weight:700}.req-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.req-badge{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:4px 12px;font-family:system-ui,sans-serif;font-size:13px;font-weight:700;display:inline-block}.req-badge--pending{color:#c9a84c;background:#c9a84c29}.req-badge--in-progress{color:#5b9cf6;background:#5b9cf629}.req-badge--completed{color:#ffffff61;background:#ffffff12}.req-time{color:#ffffff8c;font-family:system-ui,sans-serif;font-size:15px}.req-details{color:#ffffffd1;background:#0000002e;border-left:2px solid #c9a84c2e;border-radius:8px;margin:0;padding:10px 14px;font-family:system-ui,sans-serif;font-size:16px;line-height:1.5}.req-details--pref{color:#fffffff2;background:#c9a84c0f;border-left-color:#c9a84c99}.req-actions{align-items:center;gap:10px;display:flex}.req-btn{letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:8px;min-height:50px;padding:12px 24px;font-family:system-ui,sans-serif;font-size:15px;font-weight:700;transition:background .12s,transform 80ms}.req-btn:active{transform:scale(.96)}.req-btn--progress{color:#5b9cf6;background:#5b9cf61c;border:1px solid #5b9cf661}.req-btn--progress:hover{background:#5b9cf633}.req-btn--complete{color:#52c47e;background:#52c47e1c;border:1px solid #52c47e61}.req-btn--complete:hover{background:#52c47e33}@keyframes overdue-pulse{0%,to{box-shadow:0 0 #e5393500,inset 0 0 0 1px #e539358c}50%{box-shadow:0 0 14px 4px #e5393540,inset 0 0 0 1px #e53935d9}}.req-card--overdue{animation:2s ease-in-out infinite overdue-pulse;border-color:#e53935a6!important}.req-overdue-warning{letter-spacing:.04em;color:#ef5350;background:#e539351f;border:1px solid #e5393573;border-radius:6px;align-items:center;gap:6px;margin:4px 0 6px;padding:5px 12px;font-family:system-ui,sans-serif;font-size:14px;font-weight:700;display:inline-flex}.req-sla-banner{letter-spacing:.04em;border-radius:6px;align-items:center;gap:6px;margin:4px 0 6px;padding:5px 12px;font-family:system-ui,sans-serif;font-size:13px;font-weight:600;display:inline-flex}.req-sla-banner--new{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f659}.req-sla-banner--responseBreached{color:#ef5350;background:#e539351a;border:1px solid #e5393566}.req-sla-banner--completionBreached{color:#fb923c;background:#ff8c001a;border:1px solid #ff8c0066}.req-done{color:#52c47ecc;letter-spacing:.06em;font-family:system-ui,sans-serif;font-size:15px}.req-card--archived{opacity:.4;border-left-color:#ffffff14}.req-badge--archived{color:#ffffff4d;background:#ffffff0f;border:1px solid #ffffff1a}.dash-header-actions{align-items:center;gap:10px;display:flex}.dash-metrics-btn{color:#c9a84c;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c9a84c17;border:1px solid #c9a84c80;border-radius:8px;min-height:48px;padding:10px 22px;font-family:system-ui,sans-serif;font-size:15px;transition:background .15s,border-color .15s}.dash-metrics-btn:hover{background:#c9a84c29;border-color:#c9a84c8c}.dash-metrics-btn:active{transform:scale(.97)}.dash-metrics-btn--active{color:#c9a84c;background:#c9a84c2e;border-color:#c9a84ca6}.dash-filter--archive{margin-left:auto}.dept-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid #ffffff0d;flex-shrink:0;gap:8px;padding:10px 28px;display:flex;overflow-x:auto}.dept-filters::-webkit-scrollbar{display:none}.dept-chip{white-space:nowrap;color:#fff9;letter-spacing:.04em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #ffffff1a;border-radius:20px;align-items:center;min-height:40px;padding:7px 16px;font-family:system-ui,sans-serif;font-size:14px;transition:background .12s,border-color .12s,color .12s;display:flex}.dept-chip:hover{color:#ffffffd9;background:#ffffff0d}.dept-chip--active{color:#c9a84c;background:#c9a84c1f;border-color:#c9a84c80}.dash-date{letter-spacing:.1em;color:#fff9;margin-top:2px;font-family:system-ui,sans-serif;font-size:15px}.metrics-screen{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#0d1b30;flex-direction:column;min-height:100dvh;display:flex}.metrics-dept-badge{letter-spacing:.1em;text-transform:uppercase;color:#c9a84c;background:#c9a84c1f;border:1px solid #c9a84c66;border-radius:10px;align-self:flex-start;margin-top:2px;padding:.2rem .6rem;font-size:.65rem;font-weight:600;display:inline-block}.metrics-tabs{border-bottom:1px solid #ffffff0d;flex-shrink:0;gap:8px;padding:18px 28px;display:flex}.metrics-tab{color:#ffffffa6;letter-spacing:.06em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #ffffff26;border-radius:8px;min-height:48px;padding:10px 28px;font-family:system-ui,sans-serif;font-size:16px;transition:background .12s,border-color .12s,color .12s}.metrics-tab:hover{color:#ffffffe0;background:#ffffff0d}.metrics-tab--active{color:#c9a84c;background:#c9a84c1c;border-color:#c9a84c7a}.metrics-body{scrollbar-width:thin;scrollbar-color:#c9a84c2e transparent;flex-direction:column;flex:1;gap:18px;padding:22px 28px 32px;display:flex;overflow-y:auto}.metrics-stats-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.metric-card{text-align:center;background:#ffffff09;border:1px solid #ffffff12;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px 20px;display:flex}.metric-value{color:#c9a84c;letter-spacing:.04em;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(46px,6vw,72px);font-weight:300;line-height:1}.metric-value--service{letter-spacing:.05em;font-size:clamp(16px,2vw,24px);line-height:1.3}.metric-label{letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;font-family:system-ui,sans-serif;font-size:13px}.metrics-charts-row{grid-template-columns:1fr 300px;gap:18px;display:grid}.metrics-chart-card{background:#ffffff09;border:1px solid #ffffff12;border-radius:14px;flex-direction:column;gap:18px;padding:22px 24px 26px;display:flex}.metrics-chart-card--ring{justify-content:center;align-items:center}.chart-title{letter-spacing:.2em;text-transform:uppercase;color:#fff9;align-self:flex-start;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:17px;font-weight:300}.chart-empty-msg{color:#ffffff73;text-align:center;letter-spacing:.06em;margin:0;padding:20px 0;font-family:system-ui,sans-serif;font-size:16px}.donut-wrap{align-items:center;gap:24px;display:flex}.donut-chart-area{flex-shrink:0}.donut-svg{width:180px;height:180px}.donut-empty-wrap{flex-direction:column;align-items:center;gap:12px;display:flex}.donut-legend{flex-direction:column;flex:1;gap:9px;min-width:0;display:flex}.donut-legend-row{align-items:center;gap:9px;min-width:0;display:flex}.donut-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.donut-name{color:#ffffffbf;white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:system-ui,sans-serif;font-size:15px;overflow:hidden}.donut-pct{flex-shrink:0;font-family:system-ui,sans-serif;font-size:15px;font-weight:700}.ring-wrap{justify-content:center;align-items:center;display:flex;position:relative}.ring-svg{width:160px;height:160px}.ring-inner{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute}.ring-value{font-family:Cormorant Garamond,Georgia,serif;font-size:36px;font-weight:300;line-height:1}.ring-text{letter-spacing:.18em;text-transform:uppercase;color:#fff9;font-family:system-ui,sans-serif;font-size:12px}.bar-chart-rows{flex-direction:column;gap:13px;display:flex}.bar-row{grid-template-columns:200px 1fr 40px;align-items:center;gap:16px;display:grid}.bar-label{color:#ffffffb8;text-align:right;white-space:nowrap;text-overflow:ellipsis;font-family:system-ui,sans-serif;font-size:15px;overflow:hidden}.bar-track{background:#ffffff0f;border-radius:4px;height:8px;overflow:hidden}.bar-fill{border-radius:4px;min-width:4px;height:100%;transition:width .45s}.bar-count{text-align:right;font-family:system-ui,sans-serif;font-size:15px;font-weight:700}.my-requests-btn{color:#c9a84cf2;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c9a84c12;border:1px solid #c9a84c80;border-radius:10px;width:100%;min-height:64px;margin-top:14px;padding:18px 24px;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:18px;font-weight:700;transition:background .18s,border-color .18s,box-shadow .18s;position:relative}.my-requests-btn:hover{background:#c9a84c21;border-color:#c9a84cb3;box-shadow:0 0 24px #c9a84c1f}.my-requests-btn:active{background:#c9a84c2e}.note-dot{background:radial-gradient(circle,#fff 30%,#14b8a6 30%);border-radius:50%;width:12px;height:12px;animation:1.5s ease-in-out infinite pulse-dot;position:absolute;top:11px;right:13px;box-shadow:0 0 8px #14b8a6b3}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.4)}}.guest-requests-screen{gap:0}.guest-req-header{flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;padding:12px 0 16px;display:grid}.guest-req-title{letter-spacing:.18em;color:#c9a84c;text-transform:uppercase;text-align:center;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(22px,3vw,30px);font-weight:300}.guest-req-room{letter-spacing:.1em;text-transform:uppercase;color:#ffffff59;justify-self:end;font-family:system-ui,sans-serif;font-size:13px}.guest-req-list{flex-direction:column;flex:1;gap:24px;padding-bottom:24px;display:flex;overflow-y:auto}.guest-req-section{letter-spacing:.18em;text-transform:uppercase;color:#fff9;margin:0 0 10px;font-family:system-ui,sans-serif;font-size:13px;font-weight:600}.guest-req-row{background:#ffffff09;border:1px solid #ffffff14;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:16px 20px;display:flex}.guest-req-row--completed{background:#4caf7d08;border-left:3px solid #4caf7d8c;padding-left:17px}.guest-req-row--unseen{border-left:3px solid #c9a84c;padding-left:17px}.guest-req-info{flex-direction:column;gap:4px;display:flex}.guest-req-label{letter-spacing:.06em;color:#e8e0d0;font-family:system-ui,sans-serif;font-size:18px;font-weight:700}.guest-req-detail{color:#ffffffa6;letter-spacing:.03em;font-family:system-ui,sans-serif;font-size:14px}.guest-status-dot{letter-spacing:.08em;text-transform:uppercase;color:#0b1628;border-radius:20px;flex-shrink:0;padding:6px 16px;font-family:system-ui,sans-serif;font-size:14px;font-weight:700}.guest-req-empty{text-align:center;color:#fff9;letter-spacing:.04em;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;font-family:system-ui,sans-serif;font-size:18px;display:flex}.guest-req-empty-sub{color:#fff3;font-size:13px}@media (orientation:landscape){.services{align-items:stretch;gap:12px;display:flex;flex-flow:row!important}.service-btn{flex:1 1 0;min-width:0}}@media (orientation:portrait){.services{flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:12px;min-height:0;display:grid}.service-btn{flex:none;gap:12px;min-height:0;padding:20px 16px}.btn-icon svg{width:48px;height:48px}.service-screen{gap:16px}.concierge-body{flex-direction:column;gap:0;overflow:hidden auto}.concierge-col{flex:none;padding:0;overflow-y:visible}.concierge-col:first-child{flex:none}.concierge-divider{align-self:auto;width:100%;height:1px;margin:8px 0}.timing-options{flex-direction:row}.time-slots{grid-template-columns:repeat(2,1fr)}}@media screen and (width<=1024px){*{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}button{min-height:50px!important;font-size:16px!important;font-weight:700!important}.item-label{font-size:18px!important;font-weight:700!important}}@media (height<=520px){.screen-topbar{gap:8px;padding:8px 0 0}.topbar-location,.topbar-room{font-size:16px}.topbar-divider{flex-basis:80px;gap:5px;min-width:24px}.hotel-header{gap:4px;padding:8px 0 6px}.hotel-name{margin:0;font-size:28px}.welcome-message{margin:2px 0 0;font-size:19px}.services{gap:8px;flex-flow:row!important}.service-btn{flex:1 1 0;gap:10px;min-width:0;min-height:0;padding:14px 8px}.btn-icon svg{width:44px;height:44px}.btn-label{font-size:18px;font-weight:700}.screen{padding:0 16px 12px}.my-requests-btn{min-height:54px;margin-top:8px;font-size:17px}.svc-header{padding:6px 0 2px}.svc-title{font-size:24px}.back-btn{min-height:54px;padding:12px 20px;font-size:16px;font-weight:700}.submit-btn{min-height:60px;font-size:18px}.item-row{min-height:70px}.item-name{font-size:20px;font-weight:700}.qty-btn,.qty-value{height:64px}.qty-btn{width:68px;font-size:22px;font-weight:700}.qty-value{min-width:64px;font-size:24px;font-weight:700}.category-btn{min-height:58px;font-size:22px;font-weight:700}.timing-btn{gap:6px;min-height:90px}.timing-label{font-size:clamp(26px,3.5vw,38px)}.timing-sub{font-size:16px}.time-slots{gap:10px}.time-slot{min-height:62px;font-size:18px;font-weight:700}.issue-chip{min-height:48px;font-size:16px;font-weight:700}.guest-req-header{padding:8px 0 10px}.guest-req-title{font-size:clamp(20px,2.8vw,28px)}.guest-req-row{margin-bottom:8px;padding:12px 16px}.guest-req-label{font-size:18px;font-weight:600}.guest-req-detail{font-size:16px}.guest-status-dot{padding:6px 14px;font-size:16px}.guest-req-empty{font-size:18px}.confirm-icon svg{width:72px;height:72px}.confirm-service{font-size:clamp(24px,3.5vw,36px)}.confirm-summary{font-size:clamp(17px,2.2vw,22px)}.confirm-message{font-size:clamp(17px,2.4vw,22px)}.home-btn{min-height:56px;font-size:clamp(16px,2vw,18px)}.idle-dialog{gap:24px;padding:32px 48px}.idle-message{font-size:clamp(20px,2.6vw,26px)}.idle-cancel{min-height:56px}.back-btn{font-size:16px!important}.col-heading,.info-subheading{font-size:18px}.info-label,.info-value,.attraction-name,.attraction-detail,.event-name,.event-meta{font-size:16px}.dash-hotel{font-size:13px}.dash-date{font-size:16px}.dash-metrics-btn,.dash-logout{font-size:16px!important}.dash-filter{font-size:15px}.req-service{font-size:16px}.metrics-tab{font-size:15px}.bar-label{font-size:14px}}@media (width<=480px){.screen-topbar{gap:6px;padding:10px 0 0}.topbar-location,.topbar-room{letter-spacing:.02em;font-size:12px}.topbar-divider{flex-basis:24px;gap:4px;min-width:20px}.time-slots{padding-bottom:1.5rem}}@media (width<=768px) and (height<=430px){.screen-topbar{gap:6px;padding:6px 0 0}.topbar-location,.topbar-room{font-size:12px}.topbar-divider{flex-basis:48px;gap:4px;min-width:20px}}.room-group{margin-bottom:1.5rem}.room-group-header{border-bottom:1px solid #c9a84c40;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.room-group-label{letter-spacing:.08em;text-transform:uppercase;color:#c9a84c;font-size:.8rem;font-weight:600}.checkout-btn{letter-spacing:.06em;text-transform:uppercase;color:#c9a84c;cursor:pointer;background:0 0;border:1px solid #c9a84c73;border-radius:6px;padding:.3rem .75rem;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s}.checkout-btn:hover{background:#c9a84c14;border-color:#c9a84c}.checkout-btn:disabled{opacity:.35;cursor:not-allowed;color:#c9a84c66;border-color:#c9a84c33}.concierge-modal{background:#0b1628;border:1px solid #c9a84c66;border-radius:16px;flex-direction:column;width:90%;max-width:26rem;padding:2rem 2.25rem;display:flex}.concierge-modal-title{color:#c9a84c;text-align:center;margin:0 0 1.5rem;font-size:1.1rem;font-weight:600}.concierge-modal-section{color:#e8dcc8b3;letter-spacing:.08em;text-transform:uppercase;margin:1rem 0 .6rem;font-size:1rem;font-weight:600}.occasion-options{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.occasion-btn{color:#c9a84c;cursor:pointer;background:0 0;border:1px solid #c9a84c73;border-radius:8px;padding:.45rem .85rem;font-size:1rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.occasion-btn--active{color:#0b1628;background:#c9a84c;border-color:#c9a84c;font-weight:600}.concierge-time-input{color:#e8dcc8;box-sizing:border-box;background:#ffffff0a;border:1px solid #c9a84c4d;border-radius:8px;outline:none;width:100%;padding:.6rem .85rem;font-size:1rem;transition:border-color .15s}.concierge-time-input::placeholder{color:#e8dcc859}.concierge-time-input:focus{border-color:#c9a84cbf}.concierge-modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.concierge-modal-submit{flex:1;margin:0;padding:.65rem 1rem;font-size:1rem}.req-note{color:#c9a84cc7;border-left:2px solid #c9a84c4d;margin:0;padding:6px 10px;font-family:system-ui,sans-serif;font-size:14px;font-style:italic}.req-staff-response{color:#9ca3af;margin:0;font-family:system-ui,sans-serif;font-size:12px;line-height:1.4}.req-note-btn{color:#c9a84c8c;letter-spacing:.06em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #c9a84c38;border-radius:6px;align-self:flex-start;padding:5px 12px;font-family:system-ui,sans-serif;font-size:13px;transition:border-color .12s,color .12s}.req-note-btn:hover{color:#c9a84ce0;border-color:#c9a84c7a}.req-note-editor{align-items:center;gap:6px;display:flex}.req-note-input{color:#e8e0d0;background:#00000047;border:1px solid #c9a84c66;border-radius:6px;outline:none;flex:1;padding:8px 12px;font-family:system-ui,sans-serif;font-size:15px;transition:border-color .15s}.req-note-input:focus{border-color:#c9a84cb3}.req-note-input::placeholder{color:#ffffff47}.req-note-save,.req-note-cancel{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:700;transition:background .1s,transform 80ms;display:flex}.req-note-save{color:#52c47e;background:#52c47e1c;border:1px solid #52c47e61}.req-note-save:hover{background:#52c47e33}.req-note-save:active{transform:scale(.92)}.req-note-cancel{color:#ffffff7a;background:#ffffff0a;border:1px solid #ffffff24}.req-note-cancel:hover{background:#ffffff14}.req-note-cancel:active{transform:scale(.92)}.guest-req-note{flex-direction:column;gap:2px;margin-top:6px;display:flex}.guest-req-note-label{letter-spacing:.1em;text-transform:uppercase;color:#c9a84c;font-family:system-ui,sans-serif;font-size:11px;font-weight:600}.guest-req-note-text{color:#c9a84ce6;font-family:system-ui,sans-serif;font-size:14px}.guest-req-note--unseen .guest-req-note-text{color:#c9a84c;font-weight:600}.vk-container{z-index:10000;min-height:200px;transition:transform .18s;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.vk-container--visible{transform:translateY(0)}body.keyboard-open .screen,body.keyboard-open .staff-dash{padding-bottom:220px}body.keyboard-open .idle-overlay{padding-bottom:220px;transition:padding-bottom .18s}.vk-container .hg-theme-default{box-sizing:border-box;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#0a1628;border-top:1px solid #c9a84c47;border-radius:0;width:100%;min-height:200px;padding:12px 8px 18px;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden;box-shadow:0 -8px 32px #00000073}.vk-container .hg-row{gap:5px;margin-bottom:8px;display:flex}.vk-container .hg-row:last-child{margin-bottom:0}.vk-container .hg-button{box-sizing:border-box;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#112240;border:1px solid #c9a84c73;border-radius:10px;flex-grow:1;justify-content:center;align-items:center;height:52px;padding:5px;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:20px;font-weight:600;transition:background 80ms,border-color 80ms,transform 60ms;display:flex}.vk-container .hg-button.hg-standardBtn{width:20px}.vk-container .hg-button:active{background:#c9a84c33;border-color:#c9a84ca6;transform:scale(.91)}.vk-container .hg-button[data-skbtn="{bksp}"],.vk-container .hg-button[data-skbtn="{shift}"],.vk-container .hg-button[data-skbtn="{enter}"]{color:#c9a84c;background:#c9a84c12;border-color:#c9a84c73;flex-grow:1.6}.vk-container .hg-button[data-skbtn="{bksp}"]:active,.vk-container .hg-button[data-skbtn="{shift}"]:active,.vk-container .hg-button[data-skbtn="{enter}"]:active{background:#c9a84c38}.vk-container .hg-button[data-skbtn="{space}"]{color:#fff6;letter-spacing:.1em;flex-grow:5}.concierge-urgent{z-index:1;flex-direction:column;align-items:flex-end;gap:4px;max-width:120px;display:flex;position:absolute;top:14px;right:16px}.concierge-urgent-btn{color:#e74c3c;letter-spacing:.06em;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#c0392b26;border:1px solid #c0392b73;border-radius:20px;padding:7px 16px;font-family:system-ui,sans-serif;font-size:13px;font-weight:700;transition:background .15s,border-color .15s}.concierge-urgent-btn:hover{background:#c0392b47;border-color:#c0392ba6}.concierge-urgent-btn:active{transform:scale(.96)}.concierge-urgent-note{color:#ffffff80;text-align:right;margin:0;font-family:system-ui,sans-serif;font-size:13px;line-height:1.3}.urgent-badge{letter-spacing:.1em;color:#e74c3c;background:#c0392b33;border:1px solid #c0392b80;border-radius:20px;padding:2px 8px;font-family:system-ui,sans-serif;font-size:11px;font-weight:700;display:inline-block}.req-card--urgent{border-color:#c0392b80;animation:1.5s ease-in-out infinite urgent-pulse}@keyframes urgent-pulse{0%,to{box-shadow:0 0 #c0392b00}50%{box-shadow:0 0 0 4px #c0392b33}}.pulse-red{animation:1s infinite pulse-red-anim}@keyframes pulse-red-anim{0%,to{box-shadow:0 0 #dc262699}50%{box-shadow:0 0 0 12px #dc262600}}.pulse-teal{animation:2s infinite pulse-teal-anim}@keyframes pulse-teal-anim{0%,to{box-shadow:0 0 #14b8a680}50%{box-shadow:0 0 0 8px #14b8a600}}.admin-section{margin:1.5rem 1.5rem 0}.admin-section-title{letter-spacing:.12em;text-transform:uppercase;color:#c9a84c;margin:0 0 .75rem;font-size:.7rem;font-weight:700}.admin-device-table{border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:2px;display:flex;overflow:hidden}.admin-device-row{color:#e8dcc8;background:#ffffff08;grid-template-columns:7rem 1fr 5rem 9rem 7rem 6rem 5rem 4rem;align-items:center;gap:.75rem;padding:.7rem 1rem;font-size:.82rem;display:grid}.admin-device-row--head{letter-spacing:.08em;text-transform:uppercase;color:#c9a84cbf;background:#c9a84c14;font-size:.68rem;font-weight:700}.admin-device-row--inactive{opacity:.45}.admin-device-id{color:#c9a84c;letter-spacing:.04em;font-family:Courier New,monospace;font-size:.78rem}.admin-device-guest{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-inline-input{color:#e8dcc8;box-sizing:border-box;background:#ffffff0f;border:1px solid #c9a84c59;border-radius:6px;outline:none;width:100%;min-width:0;padding:.35rem .6rem;font-size:.82rem}.admin-inline-input:focus{border-color:#c9a84cb3}.admin-device-actions{justify-content:flex-end;gap:.4rem;display:flex}.admin-status-btn{letter-spacing:.04em;color:#e8dcc880;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:12px;padding:.3rem .65rem;font-size:.7rem;font-weight:600;transition:opacity .15s}.admin-status-btn--active{color:#5dbd80;background:#27ae601f;border-color:#27ae6080}.admin-status-btn:hover{opacity:.8}.admin-device-row--inactive .admin-status-btn:hover{filter:brightness(2.25);cursor:pointer;border-color:#fff6}.admin-device-actions .req-note-btn{color:#c9a84c;background:#c9a84c12;border-color:#c9a84ca6}.admin-device-actions .req-note-btn:hover{color:#d4b46a;cursor:pointer;background:#c9a84c26;border-color:#c9a84c}.admin-unassigned{color:#c9a84c73;font-size:.78rem;font-style:italic}.admin-qr-btn{letter-spacing:.06em;color:#4a9effe6;cursor:pointer;white-space:nowrap;background:#4a9eff14;border:1px solid #4a9eff59;border-radius:6px;padding:.28rem .55rem;font-size:.72rem;font-weight:700;transition:background .12s,border-color .12s}.admin-qr-btn:hover{background:#4a9eff26;border-color:#4a9eff99}.admin-qr-btn--disabled,.admin-qr-btn:disabled{opacity:.28;cursor:default}.qr-modal{background:#0b1628f7;border:1px solid #c9a84c4d;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;width:90vw;max-width:340px;padding:2rem 2.5rem 1.75rem;animation:.22s both idle-rise;display:flex;box-shadow:0 24px 64px #0009}.qr-modal-title{color:#e8dcc8;letter-spacing:.06em;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(20px,2.5vw,26px);font-weight:300}.qr-modal-sub{letter-spacing:.1em;text-transform:uppercase;color:#c9a84ca6;margin:-.5rem 0 0;font-size:.78rem}.qr-modal-code{border-radius:8px;width:200px;height:200px;display:block}.qr-modal-code--loading{color:#ffffff73;letter-spacing:.06em;justify-content:center;align-items:center;font-size:.85rem;display:flex}.qr-modal-url{color:#c9a84c99;word-break:break-all;text-align:center;max-width:260px;margin:0;font-family:Courier New,monospace;font-size:.72rem}.qr-modal-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.25rem;display:flex}.qr-download-btn{text-align:center;min-width:140px;text-decoration:none}.admin-tabs{border-bottom:1px solid #ffffff14;gap:2px;margin:1rem 1.5rem 0;display:flex}.admin-tab-btn{letter-spacing:.06em;text-transform:uppercase;color:#e8dcc873;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.55rem 1rem;font-size:.78rem;font-weight:600;transition:color .15s,border-color .15s}.admin-tab-btn:hover{color:#e8dcc8cc}.admin-tab-btn--active{color:#c9a84c;border-bottom-color:#c9a84c}.admin-config-form{flex-direction:column;gap:1.25rem;max-width:560px;padding-bottom:max(400px,40vh);display:flex}.admin-config-field{flex-direction:column;gap:.45rem;display:flex}.admin-config-label{letter-spacing:.1em;text-transform:uppercase;color:#c9a84ccc;font-size:.72rem;font-weight:700}.admin-config-input{color:#e8dcc8;background:#ffffff0a;border:1px solid #c9a84c40;border-radius:8px;outline:none;padding:.55rem .75rem;font-size:.88rem;transition:border-color .15s}.admin-config-input:focus{border-color:#c9a84c99}.admin-config-textarea{color:#e8dcc8;resize:vertical;background:#ffffff0a;border:1px solid #c9a84c40;border-radius:8px;outline:none;padding:.55rem .75rem;font-family:inherit;font-size:.88rem;line-height:1.5;transition:border-color .15s}.admin-config-textarea:focus{border-color:#c9a84c99}.admin-location-chips{flex-wrap:wrap;gap:.4rem;display:flex}.admin-location-chip{color:#e8dcc8;background:#c9a84c1a;border:1px solid #c9a84c4d;border-radius:20px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.82rem;display:inline-flex}.admin-chip-remove{color:#e8dcc880;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:1rem;line-height:1;transition:color .15s;display:flex}.admin-chip-remove:hover{color:#e8dcc8}.admin-location-add{align-items:center;gap:.5rem;display:flex}.admin-location-add .admin-config-input{flex:1}.admin-config-actions{align-items:center;gap:1rem;padding-top:.25rem;display:flex}.admin-config-saved{color:#5dbd80;letter-spacing:.04em;font-size:.78rem;font-weight:600}.admin-config-loading{color:#e8dcc873;margin:0;font-size:.88rem}.admin-events-list{flex-direction:column;gap:.35rem;margin-bottom:.5rem;display:flex}.admin-event-row{background:#c9a84c0f;border:1px solid #c9a84c33;border-radius:8px;align-items:center;gap:.6rem;padding:.4rem .65rem;display:flex}.admin-event-name{color:#e8dcc8;flex:1;font-size:.88rem}.admin-event-meta{color:#e8dcc880;white-space:nowrap;font-size:.78rem}.admin-event-remove{flex-shrink:0;font-size:1.1rem}.admin-event-inputs{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-event-name-input{flex:2;min-width:8rem}.admin-event-date-input,.admin-event-time-input{flex:1;min-width:6rem}.req-note-btn--update{color:#c9a84c;background:#c9a84c1f;border-color:#c9a84c8c}.req-note-btn--update:hover{color:#d4b45a;background:#c9a84c33;border-color:#c9a84cbf}.admin-event-cancel-edit{color:#e8dcc873;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:.82rem;text-decoration:underline}.admin-event-cancel-edit:hover{color:#e8dcc8bf}.admin-rs-cat-badge{letter-spacing:.06em;text-transform:uppercase;color:#c9a84cbf;border:1px solid #c9a84c4d;border-radius:4px;flex-shrink:0;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.admin-rs-form{flex-wrap:wrap}.admin-rs-price-input{flex:1;min-width:7rem}.admin-rs-add-btn{color:#c9a84c;letter-spacing:.08em;border-color:#c9a84c99;align-self:flex-end;padding:7px 18px;font-size:13px;font-weight:700}.admin-rs-add-btn:hover{color:#c9a84c;background:#c9a84c24;border-color:#c9a84c}.admin-rs-select{appearance:none;color:#e8dcc8d9;cursor:pointer;background-color:#ffffff0a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a84c' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.25rem}.item-name-group{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.item-description{color:#e8dcc880;font-size:.75rem;line-height:1.3}.item-price{color:#c9a84ccc;font-size:.8rem;font-weight:600}.log-issue-btn{letter-spacing:.04em;color:#c9a84c;cursor:pointer;background:#c9a84c1a;border:1px solid #c9a84c8c;border-radius:8px;padding:.45rem .9rem;font-size:.75rem;font-weight:700;transition:background .15s,border-color .15s}.log-issue-btn:hover{background:#c9a84c2e;border-color:#c9a84c}.log-issue-modal{background:#0d1b30;border:1px solid #c9a84c33;border-radius:16px;flex-direction:column;gap:1.25rem;width:min(440px,90vw);max-height:80vh;padding:1.5rem;display:flex;overflow-y:auto}.log-issue-header{justify-content:space-between;align-items:center;display:flex}.log-issue-title{color:#e8dcc8;letter-spacing:.02em;margin:0;font-size:1rem;font-weight:700}.log-issue-close{color:#e8dcc873;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:1.1rem;transition:color .15s}.log-issue-close:hover{color:#e8dcc8}.log-issue-source-toggle{background:#ffffff0a;border-radius:10px;gap:4px;padding:4px;display:flex}.log-issue-source-btn{color:#e8dcc880;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:.5rem;font-size:.82rem;font-weight:600;transition:background .15s,color .15s}.log-issue-source-btn--active{color:#c9a84c;background:#c9a84c26}.log-issue-field{flex-direction:column;gap:.5rem;display:flex}.log-issue-label{letter-spacing:.1em;text-transform:uppercase;color:#c9a84cbf;font-size:.7rem;font-weight:700}.log-issue-input{color:#e8dcc8;background:#ffffff0a;border:1px solid #c9a84c40;border-radius:8px;outline:none;padding:.6rem .75rem;font-size:.9rem;transition:border-color .15s}.log-issue-input:focus{border-color:#c9a84c99}.log-issue-location-grid{grid-template-columns:repeat(2,1fr);gap:.4rem;display:grid}.log-issue-location-btn{color:#e8dcc8b3;cursor:pointer;text-align:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;padding:.6rem .5rem;font-size:.82rem;transition:background .15s,border-color .15s,color .15s}.log-issue-location-btn--active{color:#c9a84c;background:#c9a84c1f;border-color:#c9a84c99}.log-issue-service-grid{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.log-issue-service-btn{color:#e8dcc8b3;cursor:pointer;text-align:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;padding:.55rem .4rem;font-size:.78rem;transition:background .15s,border-color .15s,color .15s}.log-issue-service-btn--active{color:#c9a84c;background:#c9a84c1f;border-color:#c9a84c99}.log-issue-empty{color:#e8dcc866;margin:0;font-size:.82rem;font-style:italic}.log-issue-error{color:#e05c5c;margin:0;font-size:.82rem}.log-issue-submit{color:#0d1b30;cursor:pointer;background:#c9a84c;border:none;border-radius:10px;padding:.75rem;font-size:.9rem;font-weight:700;transition:opacity .15s}.log-issue-submit:disabled{opacity:.5;cursor:not-allowed}.log-issue-submit:not(:disabled):hover{opacity:.88}.broadcast-btn{color:#c9a84c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c9a84c14;border:1px solid #c9a84c66;border-radius:8px;align-self:center;padding:.4rem .65rem;font-size:1rem;line-height:1;transition:background .15s,border-color .15s}.broadcast-btn:hover{background:#c9a84c29;border-color:#c9a84c}.broadcast-textarea{color:#e8e0d0;resize:none;box-sizing:border-box;background:#ffffff0a;border:1px solid #c9a84c4d;border-radius:8px;outline:none;width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .15s}.broadcast-textarea:focus{border-color:#c9a84ca6}.broadcast-textarea::placeholder{color:#ffffff47}.broadcast-char-count{color:#c9a84c80;letter-spacing:.04em;align-self:flex-end;margin-top:.25rem;font-size:.72rem}.broadcast-sent{text-align:center;color:#4caf7d;letter-spacing:.04em;padding:2rem 1rem;font-size:1rem;font-weight:600}.broadcast-all-rooms-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.broadcast-banner{z-index:100;flex-direction:column;gap:2px;display:flex;position:fixed;top:0;left:0;right:0}.broadcast-banner-card{background:#0f282df7;border-bottom:2px solid #14b8a699;flex-direction:column;gap:.45rem;padding:.85rem 1.1rem;display:flex}.broadcast-list{flex-direction:column;gap:.75rem;padding:1rem 1rem 0;display:flex}.broadcast-card{background:#c9a84c12;border:1px solid #c9a84c59;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.broadcast-card-header{align-items:center;gap:.5rem;display:flex}.broadcast-card-icon{flex-shrink:0;font-size:1.1rem}.broadcast-card-label{letter-spacing:.08em;text-transform:uppercase;color:#c9a84c;flex:1;font-size:.75rem;font-weight:700}.broadcast-card-time{color:#c9a84c8c;font-size:.72rem}.broadcast-card-message{color:#e8e0d0;margin:0;font-size:1rem;line-height:1.5}.broadcast-dismiss-btn{color:#c9a84cb3;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #c9a84c4d;border-radius:6px;align-self:flex-end;padding:.35rem .9rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s}.broadcast-dismiss-btn:hover{background:#c9a84c1a;border-color:#c9a84c}.public-space-badge{margin-right:.3rem;font-style:normal}.guest-notes-panel{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;padding:.75rem}.room-group .guest-notes-panel{background:#c9a84c0a;border:1px solid #c9a84c33;margin-bottom:.5rem}.guest-notes-heading{letter-spacing:.09em;text-transform:uppercase;color:#ffffff4d;margin:0 0 .5rem;font-size:.7rem}.guest-notes-empty{color:#ffffff40;margin:0 0 .5rem;font-size:.8rem;font-style:italic}.guest-notes-list{flex-direction:column;gap:.4rem;margin-bottom:.6rem;display:flex}.guest-note-row{background:#ffffff0a;border-radius:6px;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;display:flex}.guest-note-author{color:#c9a84cd9;white-space:nowrap;flex-shrink:0;padding-top:1px;font-size:.8rem;font-weight:600}.guest-note-text{color:#ffffffb8;flex:1;font-size:.82rem;line-height:1.4}.guest-note-delete{color:#ffffff40;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .1rem;font-size:.72rem;line-height:1;transition:color .15s}.guest-note-delete:hover{color:#ef5350bf}.guest-note-delete:active{transform:scale(.9)}.guest-notes-add{gap:.4rem;display:flex}.guest-notes-input{color:#ffffffd9;background:#ffffff0d;border:1px solid #ffffff1c;border-radius:6px;outline:none;flex:1;padding:.38rem .6rem;font-size:.82rem;transition:border-color .2s}.guest-notes-input:focus{border-color:#c9a84c80}.guest-notes-input::placeholder{color:#ffffff38}.guest-notes-btn{color:#c9a84c;cursor:pointer;white-space:nowrap;background:#c9a84c1a;border:1px solid #c9a84c61;border-radius:6px;padding:.38rem .75rem;font-size:.8rem;transition:background .15s}.guest-notes-btn:hover{background:#c9a84c33}.guest-notes-btn:active{transform:scale(.94)}.dnd-toggle-btn{color:#e8dcc8bf;letter-spacing:.05em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;margin-bottom:.75rem;padding:.9rem 1.25rem;font-family:system-ui,sans-serif;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.dnd-toggle-btn--active{color:#e06060;background:#dc3c3c1a;border-color:#dc3c3c8c}.dnd-toggle-state{letter-spacing:.12em;text-transform:uppercase;background:#ffffff12;border-radius:6px;padding:.2rem .55rem;font-size:.78rem;font-weight:700}.dnd-toggle-btn--active .dnd-toggle-state{color:#e06060;background:#dc3c3c2e}.dnd-room-badge{letter-spacing:.08em;text-transform:uppercase;color:#e06060;vertical-align:middle;background:#dc3c3c1f;border:1px solid #dc3c3c59;border-radius:5px;margin-left:.6rem;padding:.15rem .5rem;font-size:.72rem;font-weight:700}.req-dnd-warning{color:#e06060;letter-spacing:.03em;background:#dc3c3c14;border-left:3px solid #dc3c3c80;border-radius:0 6px 6px 0;margin:.4rem 0 .2rem;padding:.45rem .75rem;font-size:.82rem;font-weight:600}.guest-req-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.4rem;display:flex}.guest-cancel-btn{letter-spacing:.08em;text-transform:uppercase;color:#ffffff73;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #ffffff2e;border-radius:6px;padding:.25rem .6rem;font-size:.72rem;font-weight:700;transition:border-color .15s,color .15s}.guest-cancel-btn:hover{color:#e06060;border-color:#dc3c3c80}.guest-cancel-btn:active{transform:scale(.95)}.guest-req-sorry{background:#8a7a5a1a;border-left:3px solid #8a7a5a80;border-radius:0 6px 6px 0;flex-direction:column;gap:.15rem;margin-top:.3rem;padding:.45rem .6rem;display:flex}.guest-req-sorry-label{letter-spacing:.08em;text-transform:uppercase;color:#c9a84cb3;font-size:.72rem;font-weight:700}.guest-req-sorry-text{color:#e8dcc8cc;font-size:.85rem;line-height:1.4}.guest-req-row--cancelled{opacity:.55}.guest-req-row--unavailable{opacity:.75}.req-btn--unavail{color:#c9a84ca6;letter-spacing:.06em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #8a7a5a66;border-radius:8px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s}.req-btn--unavail:hover{background:#8a7a5a1a;border-color:#8a7a5a99}.req-btn--unavail:active{transform:scale(.96)}.unavail-note-row{align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.unavail-note-input{color:#e8dcc8e6;background:#ffffff0d;border:1px solid #c9a84c4d;border-radius:6px;outline:none;flex:1;padding:.45rem .7rem;font-size:.85rem;transition:border-color .2s}.unavail-note-input:focus{border-color:#c9a84c99}.unavail-note-input::placeholder{color:#ffffff40;font-style:italic}.req-done--unavail{color:#8a7a5ad9}.req-done--cancelled{color:#787d87b3}.req-badge--unavailable{color:#c9a84cbf;background:#8a7a5a24;border:1px solid #8a7a5a59}.req-badge--cancelled{color:#b4b9c3a6;background:#50555f2e;border:1px solid #50555f59}.req-card--unavailable{opacity:.8}.req-card--cancelled{opacity:.55}.admin-config-help{color:#fff6;margin:.15rem 0 .75rem;font-size:.82rem}.config-toggle-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.config-toggle-row:last-child{border-bottom:none}.config-toggle-label{color:#e8dcc8d9;font-size:.9rem;font-weight:500}.toggle-switch{flex-shrink:0;width:48px;height:26px;display:inline-block;position:relative}.toggle-switch input{display:none}.toggle-slider{cursor:pointer;background:#ffffff1a;border-radius:13px;transition:background .2s;position:absolute;inset:0}.toggle-slider:after{content:"";background:#fff9;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:4px}.toggle-switch input:checked+.toggle-slider{background:#c9a84cb3}.toggle-switch input:checked+.toggle-slider:after{background:#fff;transform:translate(22px)}.admin-staff-table .admin-device-row{grid-template-columns:1fr 10rem 6rem 9rem 6rem 10rem 7rem}.admin-displayname-cell{cursor:pointer;color:#e8dcc8d9;border-bottom:1px dashed #c9a84c4d;font-size:.875rem;display:inline-block}.admin-displayname-cell:hover{color:#c9a84c;border-bottom-color:#c9a84c99}.admin-inline-select{color:#e8dcc8;cursor:pointer;background:#ffffff0f;border:1px solid #c9a84c59;border-radius:6px;outline:none;width:100%;padding:.3rem .5rem;font-size:.82rem}.admin-inline-select:focus{border-color:#c9a84cb3}.admin-role-badge{letter-spacing:.05em;text-transform:uppercase;border:1px solid #0000;border-radius:10px;padding:.25rem .55rem;font-size:.68rem;font-weight:700;display:inline-block}.admin-role-badge--staff{color:#e8dcc899;background:#ffffff0f;border-color:#ffffff1f}.admin-role-badge--manager{color:#c9a84c;background:#c9a84c1f;border-color:#c9a84c59}.admin-role-badge--owner{color:#d4b46a;background:#c9a84c33;border-color:#c9a84c80}.admin-role-badge--platform_admin{color:#5dbd80;background:#5dbd801f;border-color:#5dbd8059}.admin-reset-badge{letter-spacing:.04em;text-transform:uppercase;color:#e07050;white-space:nowrap;background:#dc643c1f;border:1px solid #dc643c59;border-radius:8px;padding:.18rem .45rem;font-size:.62rem;font-weight:600;display:inline-block}.admin-device-actions .req-note-btn:disabled{opacity:.3;cursor:default;pointer-events:none}.admin-staff-table .admin-device-actions{gap:8px}.admin-staff-table .admin-device-actions .req-note-save{color:#fff;background:#27ae60d9;border-color:#27ae60e6;width:auto;padding:5px 14px;font-size:13px}.admin-staff-table .admin-device-actions .req-note-save:hover{background:#27ae60}.admin-staff-table .admin-device-actions .req-note-cancel{color:#fff;background:#78788280;border-color:#a0a0aa59;width:auto;padding:5px 14px;font-size:13px}.admin-staff-table .admin-device-actions .req-note-cancel:hover{background:#787882b3}.metrics-drill-pill{letter-spacing:.03em;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;padding:.3rem .75rem;font-size:.8rem;font-weight:500;transition:background .15s,border-color .15s}.metrics-drill-pill--unavailable{color:#c9a84c;background:#c9a84c1f;border:1px solid #c9a84c40}.metrics-drill-pill--unavailable:hover{background:#c9a84c33;border-color:#c9a84c73}.metrics-drill-pill--cancelled{color:#ffffff73;background:#ffffff0d;border:1px solid #ffffff1a}.metrics-drill-pill--cancelled:hover{color:#ffffffa6;background:#ffffff17;border-color:#ffffff2e}.metrics-drawer-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:0 16px;display:flex;position:fixed;inset:0}.metrics-drawer{background:#0d1b30;border:1px solid #c9a84c33;border-radius:16px;flex-direction:column;width:100%;max-width:680px;max-height:70vh;display:flex;overflow:hidden}.metrics-drawer-header{border-bottom:1px solid #ffffff12;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.metrics-drawer-title{color:#c9a84c;letter-spacing:.04em;font-size:1rem;font-weight:600}.metrics-drawer-close{color:#fff6;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.1rem;transition:color .15s}.metrics-drawer-close:hover{color:#ffffffbf}.metrics-drawer-list{flex:1;padding:.5rem 0;overflow-y:auto}.metrics-drawer-row{border-bottom:1px solid #ffffff0d;padding:.65rem 1.25rem}.metrics-drawer-row:last-child{border-bottom:none}.metrics-drawer-row-top{align-items:baseline;gap:.6rem;display:flex}.metrics-drawer-room{color:#e8dcc8;flex-shrink:0;font-size:.88rem;font-weight:600}.metrics-drawer-service{color:#e8dcc880;flex:1;font-size:.82rem}.metrics-drawer-time{color:#ffffff4d;flex-shrink:0;font-size:.75rem}.metrics-drawer-note{color:#e8dcc873;margin:.3rem 0 0;font-size:.8rem;font-style:italic;line-height:1.4}.metrics-drawer-empty{color:#ffffff4d;margin:0;padding:1.5rem 1.25rem;font-size:.88rem}.feedback-stars-row{border-top:1px solid #c9a84c1a;flex-direction:column;gap:.25rem;margin-top:.6rem;padding-top:.5rem;display:flex}.feedback-stars-prompt{color:#c9a84c99;letter-spacing:.04em;font-size:.75rem}.feedback-stars{gap:.15rem;display:flex}.feedback-star-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:.15rem .2rem;line-height:1;transition:transform .1s}.feedback-star-btn:active{transform:scale(1.2)}.feedback-thankyou{color:#c9a84ca6;margin-top:.5rem;font-size:.78rem;font-style:italic;display:block}.feedback-modal{background:#0d1b30;border:1px solid #c9a84c40;border-radius:16px;flex-direction:column;gap:1.25rem;width:min(480px,90vw);padding:2rem 1.75rem 1.5rem;display:flex}.feedback-modal-title{color:#e8dcc8f2;text-align:center;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:300}.feedback-modal-stars{justify-content:center;gap:.5rem;display:flex}.feedback-modal-star{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:.25rem;transition:transform .12s}.feedback-modal-star:active{transform:scale(1.25)}.feedback-modal-comment{color:#e8dcc8d9;resize:none;box-sizing:border-box;background:#ffffff0a;border:1px solid #c9a84c2e;border-radius:8px;width:100%;min-height:80px;padding:.65rem .85rem;font-family:system-ui,sans-serif;font-size:.95rem}.feedback-modal-comment::placeholder{color:#fff3}.feedback-modal-comment:focus{border-color:#c9a84c66;outline:none}.feedback-modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.feedback-done-msg{text-align:center;color:#c9a84cd9;padding:1rem 0;font-size:1.05rem}.feedback-panel{flex-direction:column;gap:1rem;padding:0 1rem 2rem;display:flex}.feedback-period-tabs{gap:.5rem;padding:.75rem 0 0;display:flex}.feedback-period-tab{color:#c9a84c80;cursor:pointer;letter-spacing:.05em;background:0 0;border:1px solid #c9a84c33;border-radius:20px;padding:.4rem 1rem;font-size:.82rem;transition:background .12s,color .12s,border-color .12s}.feedback-period-tab--active{color:#c9a84c;background:#c9a84c1f;border-color:#c9a84c8c}.feedback-summary{background:#ffffff08;border:1px solid #c9a84c1f;border-radius:10px;align-items:center;gap:1.25rem;padding:.75rem 1rem;display:flex}.feedback-avg-rating{color:#c9a84c;font-size:2rem;font-weight:700;line-height:1}.feedback-avg-star{color:#c9a84c;font-size:1.2rem}.feedback-total-count{color:#fff6;margin-top:.1rem;font-size:.82rem}.feedback-entry-list{flex-direction:column;gap:.5rem;display:flex}.feedback-entry{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:.25rem;padding:.65rem .9rem;display:flex}.feedback-entry--low{background:#ef53500a;border-left:3px solid #ef535099}.feedback-entry-header{align-items:center;gap:.5rem;display:flex}.feedback-entry-room{color:#ffffff80;letter-spacing:.04em;font-size:.8rem}.feedback-entry-dept{letter-spacing:.06em;text-transform:uppercase;color:#c9a84ca6;background:#c9a84c14;border:1px solid #c9a84c33;border-radius:6px;padding:.1rem .4rem;font-size:.68rem;font-weight:600}.feedback-entry-stars{color:#c9a84c;letter-spacing:.05em;font-size:.85rem}.feedback-entry-time{color:#ffffff40;margin-left:auto;font-size:.75rem}.feedback-entry-comment{color:#e8dcc899;font-size:.85rem;font-style:italic;line-height:1.4}.feedback-empty{text-align:center;color:#ffffff40;padding:2rem 0;font-size:.88rem}.screen--dnd{box-shadow:inset 0 0 0 3px #dc3c3c80}.screen--dnd:before{content:"";pointer-events:none;z-index:0;background:#b400000f;position:fixed;inset:0}.offline-bar{z-index:200;text-align:center;color:#c9a84ce6;letter-spacing:.04em;background:#0f192df2;border-top:1px solid #c9a84c4d;padding:.5rem 1rem;font-family:system-ui,sans-serif;font-size:.82rem;position:fixed;bottom:0;left:0;right:0}.welcome-bottom-row{justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}.share-feedback-btn{color:#c9a84c8c;letter-spacing:.06em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #c9a84c38;border-radius:20px;padding:.4rem 1.1rem;font-family:system-ui,sans-serif;font-size:.82rem;transition:border-color .12s,color .12s}.share-feedback-btn:hover{color:#c9a84ce0;border-color:#c9a84c7a}.dnd-welcome-btn{color:#e8dcc8d9;letter-spacing:.06em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:1px solid #ffffff47;border-radius:20px;padding:.4rem 1.1rem;font-family:system-ui,sans-serif;font-size:.82rem;transition:background .12s,border-color .12s,color .12s}.dnd-welcome-btn--active{color:#e06060;background:#dc3c3c1f;border-color:#dc3c3c99}.dnd-welcome-btn:hover{color:#e8dcc8;background:#ffffff29;border-color:#ffffff73}.dnd-welcome-btn--active:hover{color:#e57070;background:#dc3c3c33;border-color:#dc3c3ccc}
