@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;src:url('/fonts/dm-sans-400.woff2') format('woff2');font-display:swap}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;src:url('/fonts/dm-sans-500.woff2') format('woff2');font-display:swap}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;src:url('/fonts/dm-sans-600.woff2') format('woff2');font-display:swap}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;src:url('/fonts/dm-sans-700.woff2') format('woff2');font-display:swap}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;src:url('/fonts/manrope-600.woff2') format('woff2');font-display:swap}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;src:url('/fonts/manrope-700.woff2') format('woff2');font-display:swap}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;src:url('/fonts/manrope-800.woff2') format('woff2');font-display:swap}
:root{--muted:#566477;--green:#16774e;--blue:#195bd7;--red:#b52727;--surface:#f5f7fa;--focus:#1558cb}
[hidden]{display:none!important}::selection{background:#c5dafa;color:#10283e}input,textarea{caret-color:var(--navy)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,a,select{touch-action:manipulation}button{min-height:44px}input::placeholder,textarea::placeholder{color:#687589;opacity:1}
.demo-bar{min-height:46px;display:flex;align-items:center;justify-content:flex-end;gap:16px;background:#e9eef5;color:#253b52;border-bottom:1px solid #cbd5e1;padding:7px 26px;font-size:12px;position:relative;z-index:6;flex-wrap:wrap}
.demo-bar strong{margin-right:auto}.demo-bar a{color:#154e94;text-underline-offset:3px}.demo-bar button{border:1px solid #bac7d8;border-radius:6px;background:transparent;color:inherit;padding:5px 10px;min-height:30px;font-size:12px}
.demo-mode .sidebar{top:46px}.suite-signature{color:var(--muted);font-size:12px;line-height:1.6;padding:0 13px;max-width:180px}
.sidebar .brand-mark{border-radius:8px}.sidebar .brand{font-size:19px}.sidebar{padding:30px 18px}.sidebar nav{margin-top:36px}.nav-item{min-height:48px;border-radius:8px;gap:12px}
.nav-item svg{width:20px;height:20px;flex:none}.nav-item span{display:flex}.dashboard-content{padding-top:32px}.topbar h1{font-size:28px;font-weight:700;letter-spacing:-.035em}.topbar p{font-size:14px}.live-pill{color:#176544;background:#e4f2eb}.live-pill.disconnected{color:#805800;background:#fff0cd}
.stats-grid{border-bottom:1px solid #dbe1e8;padding-bottom:24px;gap:0}.stats-grid article{border:0;background:transparent;border-radius:0;padding:8px 22px;border-right:1px solid #dbe1e8}.stats-grid article:first-child{padding-left:0}.stats-grid article:last-child{border:0}.stats-grid strong{font-variant-numeric:tabular-nums;font-weight:700;font-size:30px}.stat-icon{display:none}.stats-grid p{font-size:13px;margin-top:6px}
.request-feedback{font-size:13px;color:var(--muted);margin:18px 0 12px;min-height:20px}.request-row{border-radius:10px;box-shadow:none;grid-template-columns:44px minmax(0,1fr) 160px auto;gap:16px;padding:20px}.request-row:hover{transform:none;background:#fcfdff;box-shadow:none}.request-desc{max-width:100%;font-size:14px;margin:6px 0;color:#48586d;white-space:normal;overflow-wrap:anywhere}.request-title{font-size:15px}.request-icon{width:40px;height:40px;background:#f0f3f7;border-radius:8px}.request-icon svg,.category svg{width:22px;height:22px}.request-meta{line-height:1.6}.request-actions button{min-height:40px;padding:9px 13px;border-radius:7px;color:var(--navy)}
.status-badge,.priority-badge{font-size:12px;padding:5px 9px}.status-new{color:#194ca0;background:#e8f0fc}.status-in_progress{color:#7a5100;background:#fff1d4}.status-resolved{color:#166244;background:#e4f2eb}.status-cancelled{background:#eceff3;color:#4d5b6a}.priority-high{color:#975000;background:#fff1da}.priority-urgent{color:#a32222;background:#fdeaea}
.filter-tabs{border-radius:8px}.filter-tabs button{border-radius:6px;min-height:40px}.toolbar input,.toolbar select{border-radius:8px}.toolbar-right{flex-wrap:wrap}.top-actions{gap:9px}.icon-button{width:44px;height:44px}.primary-button{border-radius:9px;box-shadow:none}.secondary-button{border-radius:9px}.primary-button:hover{background:#144ebd}.empty-state{border-style:dashed;box-shadow:none}.empty-state span{display:none}
.settings-form{max-width:880px}.settings-form section{border-bottom:1px solid var(--line);padding:0 0 30px;margin-bottom:30px}.settings-form h2{font:700 20px Manrope,sans-serif;margin:0 0 10px}.settings-form p{color:var(--muted);line-height:1.65;max-width:65ch;margin:0 0 22px}.settings-form label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}.settings-form label span{font-weight:400;color:var(--muted)}.settings-form input,.settings-form textarea{width:100%;max-width:640px;border:1px solid #cbd4df;border-radius:8px;padding:13px 14px;background:white;display:block}.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:24px}.settings-footer p{font-size:13px;margin:0}.settings-footer button{white-space:nowrap}
.guest-services{max-width:620px;margin:20px auto;color:white;padding:0 22px}.guest-services p{font-size:15px;line-height:1.65;margin:0 0 12px}.guest-services div{display:flex;gap:10px;flex-wrap:wrap}.guest-services a{color:white;border:1px solid #7aa1c4;border-radius:7px;padding:10px 14px;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center}.guest-services a:hover{background:#ffffff12}.guest-header .brand{flex-wrap:nowrap}.guest-hero h1{font-size:44px}.guest-shell,.access-shell{background:#123c69}.guest-shell .request-card{box-shadow:none;border-radius:18px}.guest-shell .category{border-radius:9px;min-height:80px}.category:hover,.category.selected{transform:none}.category[aria-pressed=true]{border-color:var(--blue);background:#eff5ff;color:#164eae}.eyebrow{display:none}.room-card{border-radius:10px}.room-card-icon{background:#f0f3f7}.room-code{overflow-wrap:anywhere}.room-card-head{gap:10px}.room-actions{flex-wrap:wrap}.room-actions button{min-height:44px}.modal-backdrop{backdrop-filter:none;overflow-y:auto;align-items:start;padding-block:32px}.modal-card{margin:auto;max-height:calc(100dvh - 64px);overflow:auto;border-radius:14px}.modal-head{gap:15px}.modal-head h2{margin-top:0}.modal-head .icon-button{flex-shrink:0}.message-composer button{min-width:64px;width:auto;padding:8px 12px}.message{overflow-wrap:anywhere}.messages-box{overscroll-behavior:contain}.upload-box input{display:block;position:absolute;opacity:0;width:1px;height:1px}.upload-box:focus-within{outline:3px solid var(--focus);outline-offset:3px}.boot-error{max-width:600px;margin:60px auto;padding:24px}.offline-notice{position:sticky;top:0;background:#fff0cc;color:#674700;padding:12px 20px;font-size:14px;z-index:8}.staff-controls select{min-width:0}.staff-card{overflow-wrap:anywhere}
@media(max-width:1050px){.request-row{grid-template-columns:40px minmax(0,1fr) auto}.request-row>div:nth-child(3){display:block;grid-column:2;grid-row:2}.request-actions{grid-column:3;grid-row:1/3}.demo-bar{padding-inline:18px}.settings-footer{align-items:flex-start}.sidebar .nav-item{font-size:13px}}
@media(min-width:621px) and (max-width:900px){.sidebar{width:200px}.sidebar .brand span:last-child{font-size:17px}.sidebar .nav-item:not(.active){font-size:13px}.dashboard-content,.auth-screen{margin-left:200px}.nav-item{justify-content:flex-start}.sidebar .brand{justify-content:flex-start}}
@media(max-width:620px){.demo-bar{gap:8px 12px;padding:8px 14px;justify-content:flex-start}.demo-bar strong{margin-right:0}.demo-bar span{flex:1;font-size:11px}.demo-mode .sidebar{top:auto}.sidebar{height:auto;padding:6px 8px max(6px,env(safe-area-inset-bottom));background:white}.sidebar nav{gap:4px}.sidebar .nav-item{min-height:52px;flex:1;font-size:11px!important}.nav-item svg{width:20px;height:20px}.dashboard-content{padding:24px 16px 100px}.topbar{gap:14px;flex-wrap:wrap}.topbar h1{font-size:25px}.top-actions{width:100%;justify-content:flex-start}.top-actions .live-pill{display:block;margin-right:auto}.avatar{display:none}.stats-grid{margin-top:24px;padding-bottom:18px;gap:20px 0}.stats-grid article{padding:0 16px}.stats-grid article:nth-child(odd){padding-left:0}.stats-grid article:nth-child(2){border:0}.stats-grid strong{font-size:28px}.request-row{grid-template-columns:32px minmax(0,1fr);gap:10px;padding:16px}.request-icon{width:32px;height:36px}.request-actions{grid-column:2;grid-row:auto;justify-content:flex-start}.request-row>div:nth-child(3){grid-column:2;grid-row:auto}.request-title{font-size:14px}.request-desc{font-size:14px;line-height:1.5}.toolbar-right{gap:10px}.settings-footer{display:block}.settings-footer button{width:100%;margin-top:18px}.rooms-summary{flex-wrap:wrap}.rooms-summary article{min-width:0;flex:1}.rooms-summary>button{margin:0;width:100%}.rooms-grid{grid-template-columns:1fr}.guest-header{padding:20px 16px;gap:14px;flex-wrap:wrap}.guest-header-actions{margin-left:auto}.guest-hero{padding-inline:18px}.guest-hero h1{font-size:36px}.guest-shell .request-card{margin:24px 12px 0;border-radius:14px;min-height:0;padding:22px 18px}.guest-shell{padding-bottom:24px}.guest-services{padding-inline:20px}.guest-history{margin-inline:12px}.history-item{grid-template-columns:30px minmax(0,1fr)}.history-status{grid-column:2;justify-self:start}.modal-backdrop{padding:12px}.modal-card{max-height:calc(100dvh - 24px);padding:20px}.settings-form input{font-size:16px}.guest-language-picker select{font-size:16px}.auth-screen{min-height:calc(100dvh - 120px)}.access-intro h1{font-size:36px}.access-content{padding-top:30px}.access-header{padding:20px}.access-benefits{display:none}}
@media(prefers-reduced-motion:reduce){.toast{transition:none}.category,.request-row{transition:none}html{scroll-behavior:auto}}

.live-dot{font-size:12px;color:#47614e}.room-code,.message small,.request-meta,.history-item small{font-size:12px}.empty-state h2{font-size:21px;margin:12px 0 8px}.access-panel{box-shadow:none}.photo-link{border:0;background:transparent;padding:2px 4px;min-height:32px;cursor:pointer}.staff-controls select{min-height:44px}.toast{box-shadow:0 8px 24px #0002}.stat-icon.amber{color:#805300}.stat-icon.violet{color:#624095}

.service-summary{background:#fff;border:1px solid var(--line,#dce1e7);border-radius:18px;padding:24px;margin-bottom:24px;max-width:940px}.service-summary h2{margin:0 0 12px;font-size:20px}.service-summary p{line-height:1.6;overflow-wrap:anywhere}.service-summary select{padding:12px;font:inherit;border:1px solid #c4ccd8;border-radius:8px;max-width:100%;margin:8px 0 20px}.service-summary label{display:block}.auth-card input{min-width:0}.service-summary button{margin-top:8px}.auth-card [role=status]:empty{display:none}

.export-download{display:inline-block;padding:12px 16px;color:#174f9a;background:#edf3ff;border-radius:10px;font-weight:700;text-decoration:underline;min-height:44px}

.portal-pairing{margin:24px 0;padding:20px;border:1px solid var(--border,#dce1ea);border-radius:12px}.portal-pairing input{display:block;width:100%;font-size:14px;margin:10px 0;overflow-wrap:anywhere}.portal-pairing[hidden]{display:none}
