@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Poppins:wght@200;400;700&display=swap";
:root{--navy:#1b283f;--blue:#1b283f;--ink:#000;--muted:#4e586a;--ivory:#f9f7ec;--paper:#fff;--champagne:#d4af38;--booking-slate:#323e52;--line:#1b283f24;--line-strong:#1b283f4d;--warn:#9a5a00;--success:#26704f;--shadow:0 12px 24px #1b283f14;--radius-panel:0px;--radius-control:0px}*{box-sizing:border-box}html{background:var(--ivory);min-height:100%}body{color:var(--ink);margin:0;font-family:Poppins,system-ui,sans-serif;font-size:13px;font-weight:200;line-height:24px;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.bubbleEffect{z-index:30;pointer-events:none;animation:5.8s forwards bubbleLayerFade;position:fixed;inset:0;overflow:hidden}.bubbleEffect span{width:var(--bubble-size,24px);aspect-ratio:1;opacity:0;animation:bubbleRise var(--bubble-speed,4.8s) ease-out var(--bubble-delay,0s) forwards;background:radial-gradient(circle at 30% 28%,#ffffffeb,#ffffff47 34%,#62aabc29 70%,#fff0);border:1px solid #ffffffb8;border-radius:50%;position:absolute;bottom:-80px;box-shadow:inset 0 0 12px #ffffff80,0 6px 18px #03324214}.bubbleEffect span:first-child{--bubble-size:18px;--bubble-speed:4.1s;--bubble-delay:50ms;left:8%}.bubbleEffect span:nth-child(2){--bubble-size:34px;--bubble-speed:5.2s;--bubble-delay:.3s;left:19%}.bubbleEffect span:nth-child(3){--bubble-size:22px;--bubble-speed:4.6s;--bubble-delay:.75s;left:33%}.bubbleEffect span:nth-child(4){--bubble-size:46px;--bubble-speed:5.7s;--bubble-delay:.15s;left:48%}.bubbleEffect span:nth-child(5){--bubble-size:20px;--bubble-speed:4.2s;--bubble-delay:.55s;left:62%}.bubbleEffect span:nth-child(6){--bubble-size:30px;--bubble-speed:5.1s;--bubble-delay:.9s;left:73%}.bubbleEffect span:nth-child(7){--bubble-size:16px;--bubble-speed:4s;--bubble-delay:.4s;left:84%}.bubbleEffect span:nth-child(8){--bubble-size:38px;--bubble-speed:5.4s;--bubble-delay:.2s;left:93%}@keyframes bubbleRise{0%{opacity:0;transform:translate(0,0)scale(.86)}16%{opacity:.62}72%{opacity:.44}to{transform:translate3d(var(--bubble-drift,22px), -112vh, 0) scale(1.08);opacity:0}}@keyframes bubbleLayerFade{0%,78%{opacity:1}to{opacity:0;visibility:hidden}}.bubbleEffect span:nth-child(2n){--bubble-drift:-28px}.guestPage{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(380px,.82fr);min-height:100vh;display:grid}.guestHero{flex-direction:column;gap:26px;padding:clamp(24px,5vw,64px);display:flex}.brandRow{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-bottom:18px;display:flex}.brandMark{align-items:center;min-height:58px;display:inline-flex}.brandMark img{width:clamp(170px,22vw,228px);height:auto;display:block}.brandMark.centered{justify-content:center;width:100%}.brandMark.staff img{width:172px}.quietPowered{color:#10151d75;letter-spacing:.08em;text-transform:uppercase;text-align:left;font-size:11px}.quietPowered.cardFooter{text-align:center;border-top:1px solid var(--line);width:100%;padding-top:14px}.poweredBadge strong{color:var(--navy)}.heroCopy{max-width:760px}.eyebrow{color:var(--muted);letter-spacing:normal;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:400}h1,h2,h3{color:var(--blue);margin:0;font-weight:400;line-height:1.3}h1{color:var(--muted);letter-spacing:normal;text-transform:uppercase;font-family:Poppins,system-ui,sans-serif;font-size:26px;line-height:33.8px}h2{font-family:Playfair Display,Georgia,serif;font-size:22px;line-height:28.6px}h3{font-family:Playfair Display,Georgia,serif;font-size:19px;line-height:24.7px}p{color:var(--ink);font-size:13px;font-weight:200;line-height:24px}.heroCopy p:last-child{max-width:660px;font-size:13px}.requestForm,.panel,.requestCard,.signinCard,.qrCard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow)}.requestForm{gap:18px;max-width:760px;padding:clamp(20px,4vw,32px);display:grid}.formGrid{gap:14px;display:grid}.formGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label,fieldset{color:var(--blue);gap:8px;font-size:13px;font-weight:400;display:grid}fieldset{border:0;margin:0;padding:0}legend{text-transform:uppercase;margin-bottom:8px}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-control);width:100%;color:var(--ink);background:#fff;outline:none;padding:13px 14px;font-size:13px;font-weight:200;line-height:24px}input:focus,select:focus,textarea:focus{border-color:var(--champagne);box-shadow:0 0 0 3px #b892552e}textarea{resize:vertical;min-height:96px}.pillGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pillGrid button,.actionRow button,.actionRow select{border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--blue);text-align:left;text-transform:uppercase;background:#fff;padding:13px 14px;font-size:13px;font-weight:400;line-height:18px}.pillGrid button.selected{background:var(--champagne);color:var(--blue);border-color:var(--champagne)}.finePrint{color:#4c5561;border-left:3px solid var(--champagne);margin:0;padding-left:12px;font-size:13px}.primaryAction{border:1px solid var(--blue);border-radius:var(--radius-control);background:var(--blue);color:var(--ivory);text-align:center;box-shadow:none;letter-spacing:normal;text-transform:uppercase;padding:13px 24px 12px;font-size:14px;font-weight:400;line-height:18px}.primaryAction:hover{background:#101b2e}.primaryAction:disabled{opacity:.55;cursor:wait}.notice{border-radius:var(--radius-control);border:1px solid #0000;padding:14px 16px;font-weight:700}.notice.ok{color:var(--success);background:#2f7d5a1a;border-color:#2f7d5a3d}.notice.error{color:var(--warn);background:#b76e001f;border-color:#b76e0040}.modalBackdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1b283f5c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.hotelDialog{background:linear-gradient(180deg, #fffef9 0%, var(--paper) 100%);border:1px solid #d4af3852;border-top:3px solid #d4af38c7;border-radius:0;gap:13px;width:min(500px,100%);padding:clamp(22px,4vw,32px);display:grid;box-shadow:0 18px 48px #10151d2e}.hotelDialog.error{border-top-color:#9a5a00b8}.hotelDialog.info{border-top-color:#1b283fb8}.hotelDialog .eyebrow,.hotelDialog h2,.hotelDialog p{margin:0}.referencePanel{border:1px solid var(--line);border-left:4px solid var(--champagne);background:var(--ivory);gap:4px;padding:12px 14px;display:grid}.referencePanel span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:400}.referencePanel strong{color:var(--blue);font-family:Playfair Display,Georgia,serif;font-size:22px}.guestAside{border-left:1px solid var(--line);min-height:100vh;position:relative;overflow:hidden}.guestAside img{object-fit:cover;filter:saturate(.9)contrast(1.02)}.guestAside:after{content:"";background:linear-gradient(#0332420a,#03324257);position:absolute;inset:0}.asideCard{z-index:1;border-radius:var(--radius-panel);background:#fffdf8f0;border:1px solid #ffffffa6;gap:8px;padding:20px;display:grid;position:absolute;bottom:28px;left:28px;right:28px}.asideCard strong{color:var(--blue)}.asideCard span{color:var(--muted);line-height:1.6}.staffLink{z-index:3;background:var(--blue);color:#fff;border-radius:0;padding:10px 14px;font-size:13px;font-weight:800;position:fixed;top:18px;right:18px}.signinPage{background:var(--ivory);place-items:center;min-height:100vh;padding:24px;display:grid}.signinCard{text-align:center;justify-items:center;gap:18px;width:min(700px,100%);padding:clamp(24px,5vw,46px);display:grid}.signinCard h1{font-size:26px;line-height:33.8px}.roleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.roleGrid span{border:1px solid var(--line);border-radius:var(--radius-control);color:var(--blue);text-align:left;background:#fff;padding:11px 12px;font-weight:700}.poweredBadge.wide{width:100%}.staffPage{background:var(--ivory);min-height:100vh}.staffNav{border-bottom:1px solid var(--line);background:var(--blue);z-index:2;justify-content:space-between;align-items:center;padding:16px clamp(18px,4vw,48px);display:flex;position:sticky;top:0}.staffNav span{color:var(--ivory);letter-spacing:normal;text-transform:uppercase;font-size:13px;font-weight:400}.consoleShell{gap:22px;padding:clamp(18px,4vw,44px);display:grid}.consoleHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:24px;padding-bottom:20px;display:flex}.consoleHeader h1{font-size:26px;line-height:33.8px}.consoleHeaderEnhanced{align-items:stretch}.consoleHeaderEnhanced>div:first-child{max-width:760px}.consoleStatusCard{border-radius:var(--radius-panel);border:1px solid var(--line);background:var(--paper);min-width:220px;box-shadow:var(--shadow);gap:8px;padding:18px;display:grid}.consoleStatusCard span,.consoleStatusCard small{color:var(--muted);letter-spacing:normal;text-transform:uppercase;font-size:13px;font-weight:400}.queueSignal{color:var(--success)!important;text-transform:none!important}.consoleStatusCard strong{color:var(--blue);font-family:Playfair Display,Georgia,serif;font-size:34px;line-height:1}.consoleStatusCard button,.filterTabs button,.billingRow button{border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--blue);text-transform:uppercase;background:#fff;padding:13px 24px 12px;font-size:14px;font-weight:400;line-height:18px}.consoleStatusCard button:hover,.filterTabs button.active,.filterTabs button:hover,.billingRow button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.consoleStatusCard button:disabled{opacity:.6;cursor:wait;background:var(--blue);color:#fff}.metricGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.metric{border-radius:var(--radius-panel);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:16px;position:relative;overflow:hidden}.metric:after{content:"";background:#d4af3894;border-radius:0;height:3px;position:absolute;inset:auto 14px 0}.metric.warn:after{background:#9a5a0061}.metric span{color:var(--muted);text-transform:uppercase;letter-spacing:normal;font-size:13px;font-weight:400}.metric strong{color:var(--blue);margin-top:8px;font-family:Playfair Display,Georgia,serif;font-size:30px;line-height:1.1;display:block}.metric.warn strong{color:var(--warn)}.opsMetricGrid .metric:nth-child(3){border-color:#b8925559}.opsMetricGrid .metric:nth-child(4){border-color:#26704f47}.consoleGrid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px;display:grid}.opsConsoleGrid{align-items:stretch}.panel{gap:14px;padding:20px;display:grid}.panelTitleRow{justify-content:space-between;align-items:start;gap:16px;display:flex}.panelTitleRow p{margin-bottom:0}.miniBadge{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#eee5d5;border-radius:0;padding:7px 10px;font-size:11px;font-weight:900}.manualForm input,.manualForm select,.manualForm textarea{margin-top:6px}.operationsPanel{align-content:start}.opsChecklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.opsChecklist div{border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;gap:4px;padding:14px;display:grid}.opsChecklist strong{color:var(--blue);font-size:30px;line-height:1}.opsChecklist span{color:var(--muted);font-size:13px;font-weight:700}.serviceMix{flex-wrap:wrap;gap:8px;display:flex}.serviceMix span{color:var(--blue);background:#fffaf0;border:1px solid #b8925557;border-radius:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:800;display:inline-flex}.serviceMix b{color:var(--champagne)}.reportPanel ul{color:var(--blue);margin:0;padding-left:20px;font-weight:700;line-height:1.9}.queueToolbar{border-radius:var(--radius-panel);background:#fffdf8cc;border:1px solid #ffffffb8;grid-template-columns:minmax(180px,.45fr) minmax(240px,.65fr) minmax(0,1.4fr);align-items:end;gap:14px;padding:16px;display:grid;box-shadow:0 10px 24px #0332420f}.queueToolbar h2,.queueToolbar p{margin:0}.queueToolbar small{color:var(--muted);font-size:12px;font-weight:800}.searchBox{gap:6px}.searchBox span{gap:8px;display:flex}.searchBox input{min-width:0}.searchBox button{border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--blue);background:#fff;padding:0 12px;font-weight:800}.searchBox button:hover{background:#f4ecdf}.filterTabs{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.filterTabs button{padding:11px 13px;transition:transform .16s,background .16s,color .16s}.filterTabs button:hover{transform:translateY(-1px)}.requestBoard{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.enhancedBoard{align-items:start}.requestCard{box-shadow:var(--shadow);gap:12px;padding:18px;display:grid}.requestCard.minimized{gap:9px;padding:14px}.requestCardExpanded{gap:12px}.requestDetails{gap:12px;display:grid}.requestCardEnhanced{border-top:4px solid var(--champagne);background:var(--paper);transition:transform .16s,box-shadow .16s;position:relative;overflow:hidden}.requestCardEnhanced:hover{transform:translateY(-1px);box-shadow:0 14px 26px #1b283f1a}.priorityRibbon{background:var(--ivory);color:var(--blue);border-radius:0;justify-content:space-between;align-items:center;gap:10px;margin:-4px -4px 0;padding:9px 10px;display:flex}.priorityRibbon span{background:var(--champagne);min-width:34px;height:26px;color:var(--blue);border-radius:0;place-items:center;font-size:12px;font-weight:400;display:inline-grid}.priorityRibbon strong{letter-spacing:normal;text-transform:uppercase;flex:1;font-size:13px}.minimizeButton{border:1px solid var(--line-strong);color:var(--blue);text-transform:uppercase;background:#fff;border-radius:0;padding:7px 10px;font-size:12px;font-weight:400;line-height:1}.minimizeButton:hover{background:var(--blue);color:var(--ivory)}.compactMeta{color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;font-size:12px;display:grid}.compactMeta span{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#fff;padding:5px 7px;overflow:hidden}.compactChips{gap:6px}.requestCardEnhanced.statusIssue{border-top-color:var(--warn)}.requestCardEnhanced.statusPickup{border-top-color:#b89255}.requestCardEnhanced.statusLaundry{border-top-color:#376f8b}.requestCardEnhanced.statusReturn{border-top-color:var(--success)}.requestCardEnhanced.statusComplete{border-top-color:#73808c}.requestTop,.statusLine,.actionRow,.requestIdentity{justify-content:space-between;align-items:center;gap:10px;display:flex}.requestTop span{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;background:#eee5d5;border-radius:0;padding:5px 8px;font-size:12px;font-weight:800}.requestTop strong{color:var(--muted);font-size:12px}.requestCard p{margin:0}.requestIdentity h3{font-size:19px}.requestIdentity p{color:var(--blue);font-weight:800}.statusBadge{max-width:170px;color:var(--blue);text-align:center;background:#03324214;border-radius:0;padding:8px 10px;font-size:12px;font-weight:900}.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.detailGrid span{border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted);padding:9px 10px;font-size:13px}.detailGrid b{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:11px;display:block}.serviceChips{flex-wrap:wrap;gap:8px;display:flex}.serviceChips span{color:var(--blue);background:#f4ecdf;border-radius:0;padding:7px 9px;font-size:12px;font-weight:800}.instruction{border-radius:var(--radius-control);border-left:3px solid var(--champagne);background:#f4ecdf;padding:10px}.progressStrip{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.progressStrip span{background:#10151d1f;border-radius:0;height:6px}.progressStrip span.done{background:var(--champagne)}.statusLine b{color:var(--success)}.statusLine small{color:var(--muted)}.actionRow{align-items:stretch}.actionRow button,.actionRow select{border-radius:var(--radius-control);text-align:center;flex:1}.actionRowEnhanced button{background:var(--blue);color:#fff;border-color:var(--blue)}.billingRow{grid-template-columns:.75fr 1fr 1fr auto;gap:8px;display:grid}.billingRow input,.billingRow select,.billingRow button{padding:10px;font-size:13px}.transactionLedger{gap:18px}.ledgerTable{border:1px solid var(--line);background:var(--line);gap:1px;display:grid;overflow-x:auto}.ledgerHeader,.ledgerRow{grid-template-columns:1.2fr .55fr 1fr .8fr .75fr .9fr;gap:1px;min-width:760px;display:grid}.ledgerHeader span,.ledgerRow span,.ledgerRow strong{color:var(--blue);background:#fff;padding:10px 12px;font-size:12px;line-height:18px}.ledgerHeader span{background:var(--ivory);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:400}.ledgerRow strong{font-family:Poppins,system-ui,sans-serif;font-weight:400}.emptyLedger{border:1px dashed var(--line-strong);color:var(--muted);background:#fff;padding:20px}.alertChip{color:var(--warn);background:#b76e001f;border-radius:0;width:fit-content;padding:8px 10px;font-weight:800}.emptyState{border:1px dashed var(--line-strong);border-radius:var(--radius-panel);text-align:center;color:var(--muted);background:#fff;grid-column:1/-1;padding:36px}.qrCardPage{background:var(--ivory);place-items:center;min-height:100vh;padding:32px;display:grid}.qrSheet{width:min(520px,100%)}.qrCard{text-align:center;justify-items:center;gap:18px;padding:34px;display:grid}.qrCard h1{font-size:26px;line-height:33.8px}.qrFrame{aspect-ratio:1;border:1px solid var(--line-strong);background:#fff;border-radius:0;place-items:center;width:min(286px,72vw);padding:12px;display:grid}.qrFrame img{width:100%;height:auto}@media (max-width:980px){.guestPage{grid-template-columns:1fr}.guestAside{border-left:0;order:-1;min-height:360px}.metricGrid,.requestBoard{grid-template-columns:repeat(2,minmax(0,1fr))}.consoleGrid,.queueToolbar{grid-template-columns:1fr}.filterTabs{justify-content:flex-start}}@media (max-width:640px){.brandRow,.consoleHeader,.requestTop,.statusLine,.actionRow,.requestIdentity,.panelTitleRow{flex-direction:column;align-items:stretch}.formGrid.two,.pillGrid,.metricGrid,.requestBoard,.roleGrid,.opsChecklist,.detailGrid,.billingRow{grid-template-columns:1fr}.guestHero{padding-top:72px}.requestCard.minimized .requestTop,.requestCard.minimized .requestIdentity,.requestCard.minimized .priorityRibbon{flex-direction:row;align-items:center}.requestCard.minimized .requestTop,.requestCard.minimized .requestIdentity{justify-content:space-between}.requestCard.minimized .statusBadge{max-width:none}h1{font-size:26px;line-height:33.8px}}@media print{body{background:#fff}.qrCardPage{background:#fff;padding:0}.qrSheet{width:100%}.qrCard{min-height:100vh;box-shadow:none;border:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.bubbleEffect{display:none}}
