@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,600&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--bg:#f7f6f3;--surface:#fff;--surface-soft:#f2f1ee;--text:#1c1b19;--text-mid:#5f5a50;--text-light:#8f897d;--accent:#00b28a;--accent-dark:#007d62;--accent-soft:#dff5ee;--border:#ddd9d0;--shadow-md:0 14px 36px #11161414;--shadow-sm:0 8px 24px #1116140f;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;color:var(--text);background:radial-gradient(circle at top left, #00b28a14, transparent 28%), radial-gradient(circle at bottom right, #007d6214, transparent 24%), var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{grid-template-columns:300px 1fr;min-height:100vh;transition:grid-template-columns .25s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:64px 1fr}.sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;border-right:1px solid #ddd9d0e6;height:100vh;padding:28px 22px;transition:padding .25s;position:sticky;top:0;overflow:hidden}.sidebar--collapsed{padding:28px 12px}.sidebar-toggle{border:1px solid var(--border);width:28px;height:28px;color:var(--text-mid);cursor:pointer;z-index:1;background:#ffffffe6;border-radius:999px;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:20px;right:16px}.sidebar--collapsed .sidebar-toggle{right:50%;transform:translate(50%)}.sidebar-toggle:hover{background:var(--surface)}.sidebar-stack{flex-direction:column;height:100%;display:flex}.brand,.logo,.topbar,.topbar-controls,.metric-card-header,.room-card-top,.room-actions,.chart-header,.chat-actions,.hero-stats,.sensor-strip,.mini-row,.hotel-card-head,.hotel-card-metrics,.detail-header,.overview-header{align-items:center;display:flex}.hotel-card-head{align-items:flex-start}.brand-wrap{text-align:center;justify-content:center;width:100%;margin-bottom:28px;display:flex}.logo-block{flex-direction:column;align-items:center;width:100%;display:flex}.brand-wrap .logo-wordmark{font-size:2.8rem}.brand-wrap svg{width:56px;height:56px}.brand{gap:14px}.logo{gap:10px;text-decoration:none}.logo-wordmark{letter-spacing:-.01em;color:var(--text);align-items:baseline;font-family:DM Sans,sans-serif;font-size:1.45rem;font-weight:700;display:inline-flex}.logo-large{gap:12px}.logo-large .logo-wordmark{color:#f8f6f1;font-size:1.95rem}.logo-i{color:#00a344;display:inline-block;position:relative}.logo-i-underline{background:#00a344;border-radius:2px;width:100%;height:2.5px;position:absolute;bottom:-3px;left:0}.brand-copy strong,.section-title,.page-title,.metric-value,.room-name,.login-card h1,.panel-title,.chart-title,.hero-copy h2,.login-visual h2{font-family:Fraunces,serif}.brand-copy{text-align:center;margin-top:6px}.brand-copy span,.sidebar-label,.page-subtitle,.panel-subtitle,.section-subtitle,.room-type,.mini-row span,.chart-range,.chart-footer,.metric-meta,.login-card p,.helper-box,.insight-card p{color:var(--text-mid)}.sidebar-group{margin-bottom:28px}.sidebar-label{letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.76rem;font-weight:700}.nav-list,.form-grid,.login-highlights,.mini-list,.insight-list,.chat-messages,.chart-grid,.metrics-grid,.rooms-grid,.overview-grid,.details-grid{gap:20px;display:grid}.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.hotel-grid--3col,.hotel-grid--3col .hotel-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.hotel-grid--3col .metric-chip span{font-size:.72rem}.hotel-grid--3col .metric-chip strong{font-size:1.15rem}.nav-list{gap:10px}.nav-button,.room-button{border-radius:var(--radius-md);text-align:left;width:100%;color:var(--text-mid);background:0 0;border:1px solid #0000;padding:14px 15px;transition:all .2s}.nav-button:hover,.room-button:hover{border-color:var(--border);background:#ffffffd9}.nav-button.active,.room-button.active{color:var(--text);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#00b28a24,#007d6214);border-color:#00b28a38}.nav-button strong,.room-button strong,.mini-row strong{display:block}.nav-button span,.room-button span{color:var(--text-light);margin-top:4px;font-size:.83rem;display:block}.sidebar-footer,.panel,.metric-card,.room-status-card,.chatbot-card,.login-card,.insight-card,.chart-card{border-radius:var(--radius-xl)}.sidebar-footer{border-top:1px solid var(--border);background:var(--surface-soft);border-radius:var(--radius-md);align-items:center;gap:8px;margin-top:auto;padding:12px;display:flex}.sidebar-user{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.9rem;font-weight:700;display:flex}.sidebar-user-info{min-width:0}.sidebar-user-info strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;display:block;overflow:hidden}.sidebar-user-info span{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;display:block;overflow:hidden}.sidebar-logout{border:1px solid var(--border);width:32px;height:32px;color:var(--text-mid);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.sidebar-logout:hover{color:#ac3b21;background:#fff0eb;border-color:#ac3b2140}.primary-button,.secondary-button,.ghost-button,.danger-button{border-radius:999px;padding:12px 18px;transition:all .2s}.danger-button{color:#fff;background:#ac3b21;border:0;box-shadow:0 8px 20px #ac3b2138}.danger-button:hover{background:#8f3019}.request-pending-label{color:var(--text-mid);text-align:center;font-size:.88rem;font-style:italic}.primary-button{background:var(--accent);color:#fff;border:0;box-shadow:0 12px 24px #00b28a38}.primary-button:hover{background:var(--accent-dark)}.secondary-button,.ghost-button{border:1px solid var(--border);color:var(--text);background:0 0}.secondary-button:hover,.ghost-button:hover{background:var(--surface)}.content{padding:28px}.filter-pills{align-items:center;gap:8px;display:flex}.filter-pill{border:1px solid var(--border);cursor:pointer;color:var(--text-mid);background:0 0;border-radius:999px;padding:8px 16px;font-size:.84rem;font-weight:600;transition:all .2s}.filter-pill--good.active,.filter-pill--good:hover{background:var(--accent-soft);color:var(--accent-dark);border-color:#00b28a4d}.filter-pill--warn.active,.filter-pill--warn:hover{color:#8b6300;background:#fff3de;border-color:#e2a0194d}.filter-pill--danger.active,.filter-pill--danger:hover{color:#ac3b21;background:#fff0eb;border-color:#ac3b214d}.breadcrumb{color:var(--text-mid);align-items:center;gap:6px;margin-bottom:20px;font-size:.88rem;display:flex}.breadcrumb-sep{color:var(--text-light)}.breadcrumb-link{color:var(--text-mid);cursor:pointer;background:0 0;border:none;padding:0;font-size:.88rem}.breadcrumb-link:hover{color:var(--accent-dark);text-decoration:underline}.breadcrumb-current{color:var(--text);background:0 0;border:none;padding:0;font-size:.88rem;font-weight:600}.topbar{justify-content:space-between;gap:18px;margin-bottom:24px}.page-title{margin:0 0 6px;font-size:clamp(2rem,3vw,3rem);font-weight:400}.topbar-controls{flex-wrap:wrap;gap:12px}.active-hotel-pill{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:12px 16px;font-weight:700}.date-input,.login-card input,.chat-input textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffffe6;border-radius:999px;outline:none;padding:12px 16px}.compact-date{max-width:180px}.room-date{margin-bottom:16px}.available-date-input{display:inline-block;position:relative}.available-date-trigger{cursor:pointer;text-align:left;font:inherit}.available-date-popover{z-index:40;border:1px solid var(--border);border-radius:var(--radius-lg);width:260px;box-shadow:var(--shadow-md);background:#fffffffa;padding:14px;position:absolute;top:calc(100% + 8px);right:0}.available-date-popover-header{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.9rem;display:flex}.available-date-nav{border-radius:999px;padding:4px 10px}.available-date-weekdays,.available-date-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.available-date-weekdays span{text-align:center;color:var(--text-mid);padding-bottom:4px;font-size:.72rem}.available-date-cell{aspect-ratio:1;border-radius:var(--radius-md);color:var(--text);cursor:pointer;background:0 0;border:none;font-size:.85rem;transition:background .15s,color .15s}.available-date-cell:hover:not(:disabled){background:var(--surface-soft)}.available-date-cell:disabled{color:var(--text-mid);opacity:.35;cursor:not-allowed}.available-date-cell--empty{visibility:hidden}.available-date-cell--has-data{background:var(--accent-soft);color:var(--accent-dark);font-weight:700}.available-date-cell--has-data:hover:not(:disabled){background:#00b28a47}.available-date-cell--selected{background:var(--accent-dark)!important;color:#fff!important}.available-date-legend{color:var(--text-mid);align-items:center;gap:6px;margin-top:10px;font-size:.72rem;display:flex}.available-date-legend-dot{background:var(--accent-soft);border:1px solid var(--accent-dark);border-radius:999px;width:10px;height:10px}.panel,.metric-card,.room-status-card,.chatbot-card,.login-card,.insight-card,.chart-card{box-shadow:var(--shadow-md);background:#ffffffd1;border:1px solid #ddd9d0eb}.loading-panel,.error-panel,.empty-panel{padding:28px;font-size:1rem}.loading-panel{color:var(--text-mid)}.loading-spinner-shell{flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;min-height:320px;display:flex}.loading-spinner-ring{width:56px;height:56px;position:relative}.loading-spinner-arc{border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;width:100%;height:100%;animation:.9s linear infinite spinner-rotate}.loading-spinner-label{color:var(--text-mid);letter-spacing:.01em;font-size:.95rem}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.error-panel,.inline-error{color:#b1381b}.empty-panel{color:var(--text-light)}.inline-status,.inline-error{margin-bottom:14px;font-size:.92rem}.empty-chart{border-radius:var(--radius-lg);background:linear-gradient(180deg,#00b28a0f,#fffc), var(--surface);min-height:220px;color:var(--text-mid);place-items:center;display:grid}.structure-card{overflow:hidden}.hero-panel{grid-template-columns:1.2fr .8fr;min-height:280px;margin-bottom:24px;display:grid;overflow:hidden}.hero-copy{background:linear-gradient(135deg,#fffffff0,#ffffffdb),radial-gradient(circle at 0 0,#00b28a1a,#0000 30%);padding:34px}.cert-badge-wrap{cursor:default;align-items:center;display:inline-flex}.badge-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:2px;transition:transform .15s,opacity .15s;display:inline-flex}.badge-icon-btn:hover{opacity:.8;transform:scale(1.15)}.badge-certify-btn{cursor:pointer;color:var(--accent-dark);background:linear-gradient(135deg,#00b28a1a,#007d620f);border:1.5px solid #00b28a59;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 16px;font-size:.92rem;font-weight:600;line-height:1;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.badge-certify-btn:hover{background:linear-gradient(135deg,#00b28a2e,#007d621a);border-color:#00b28a99;box-shadow:0 4px 14px #00b28a26}.eyebrow,.status-chip{border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.eyebrow{background:var(--accent-soft);color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase}.eyebrow:before{content:"";background:var(--accent);border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 8px #00b28a1f}.hero-copy h2{margin:20px 0 14px;font-size:clamp(2rem,3vw,3rem);font-weight:400;line-height:1.05}.login-visual h2{margin:20px 0 14px;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:400;line-height:1.15}.hero-copy p,.login-visual p{max-width:580px;margin:0 0 24px}.hero-stats{gap:12px}.hero-stat,.sensor-pill,.room-metric,.mini-row,.login-highlight,.helper-box,.accounts-box,.insight-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.hero-stat{flex:1}.hero-stat strong{margin-top:8px;font-size:1.4rem;display:block}.hero-visual{color:#eaf8f3;background:linear-gradient(#1c1b19fa,#0f2d25f0);gap:18px;padding:28px;display:grid}.sensor-strip{gap:12px}.sensor-pill{background:#ffffff14;border-color:#ffffff17;flex:1}.sensor-pill span{color:#eaf8f3b8;font-size:.83rem}.sensor-pill strong{margin-top:8px;font-size:1.7rem;display:block}.sensor-chart{border-radius:var(--radius-lg);background:linear-gradient(#00b28a26,#00b28a08);padding:16px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.metric-card,.panel,.room-status-card,.chart-card,.chatbot-card{padding:22px}.metric-card-header,.chart-header,.mini-row,.room-card-top,.room-actions,.topbar{justify-content:space-between}.metric-value{margin-top:18px;font-size:2rem;line-height:1}.metric-meta{margin-top:10px;font-size:.9rem}.status-chip.good{background:var(--accent-soft);color:var(--accent-dark)}.status-chip.warn{color:#8b6300;background:#fff3de}.status-chip.danger{color:#ac3b21;background:#fff0eb}.status-chip.muted{color:var(--text-mid);background:#8f897d1f}.overview-grid{grid-template-columns:1.15fr .85fr;margin-bottom:24px}.overview-header,.hotel-card-head,.detail-header{justify-content:space-between;gap:16px}.hotel-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.hotel-card:hover{transform:translateY(-3px);box-shadow:0 20px 48px #1116141f}.hotel-title{margin-top:12px}.hotel-card-metrics{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:8px;margin-top:16px;margin-bottom:18px;display:grid}.metric-chip{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);flex:1;align-self:stretch;min-width:0;padding:12px;overflow:hidden}.metric-chip span{color:var(--text-light);font-size:.8rem;display:block}.metric-chip strong{margin-top:8px;font-size:1.2rem;display:block}.hotel-cover{border-radius:var(--radius-lg);height:220px;position:relative;overflow:hidden}.hotel-cover img{object-fit:cover;width:100%;height:100%;display:block}.hotel-cover-overlay{background:linear-gradient(#1c1b190f,#1c1b1973);position:absolute;inset:0}.hotel-cover-label{color:var(--text);letter-spacing:.06em;text-transform:uppercase;background:#ffffffe0;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700;position:absolute;bottom:16px;left:16px}.compact-insights{gap:10px;margin-top:18px}.panel-title,.section-title,.chart-title,.room-name{margin:0 0 8px;font-weight:400}.panel-subtitle,.section-subtitle{margin:0 0 18px}.rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-cover{border-radius:var(--radius-lg);height:190px;margin-bottom:18px;position:relative;overflow:hidden}.room-cover img{object-fit:cover;width:100%;height:100%;display:block}.room-cover-overlay{background:linear-gradient(#1c1b190a,#1c1b1961);position:absolute;inset:0}.room-cover-label{color:var(--text);background:#ffffffe6;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700;position:absolute;bottom:16px;left:16px}.room-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.room-metric span{color:var(--text-light);font-size:.82rem;display:block}.room-metric strong{margin-top:8px;font-size:1.2rem;display:block}.room-actions{margin-top:18px}.details-grid{grid-template-columns:1.45fr .9fr;align-items:start}.details-grid>.details-left{background:0 0;max-height:calc(100vh - 88px);padding-right:8px;overflow-y:auto}.details-grid>.details-right{height:calc(100vh - 88px);position:sticky;top:28px;overflow-y:auto}.details-right .chatbot-card{height:100%}.chart-range,.chart-footer{font-size:.84rem}.chart-shell{grid-template-columns:38px minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.chart-y-axis{color:var(--text-light);grid-template-rows:auto repeat(3,1fr);place-items:center end;padding:8px 0 22px;display:grid}.chart-y-unit{letter-spacing:.06em;text-transform:uppercase;color:var(--text-mid);font-size:.68rem;font-weight:700}.chart-y-tick{font-size:.72rem;line-height:1}.chart-main{min-width:0}.svg-chart{aspect-ratio:300/132;border-radius:calc(var(--radius-lg) - 6px);background:linear-gradient(#fffffff5,#f6f4efeb);border:1px solid #ddd9d0b8;width:100%;height:auto;display:block;overflow:visible}.chart-x-axis{color:var(--text-light);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.chart-x-tick{text-align:center;font-size:.72rem}.chart-footer{color:var(--text-light);justify-content:space-between;gap:10px;margin-top:16px;display:flex}.chatbot-card{flex-direction:column;height:100%;display:flex}.chatbot-card .chat-messages{min-height:0;overflow-y:auto}.chat-bottom{flex-shrink:0;margin-top:auto;padding-top:12px}.chat-bubble{border-radius:18px;max-width:100%;padding:14px 16px;font-size:.95rem;line-height:1.6}.chat-bubble.assistant{background:var(--surface-soft);border-top-left-radius:6px}.chat-bubble.user{background:linear-gradient(135deg,#00b28a2e,#007d6214);border-top-right-radius:6px;justify-self:end}.chat-date-divider{text-align:center;color:var(--text-light);border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);margin:4px 0;padding:8px 0;font-size:.78rem}.chat-input textarea{resize:none;border-radius:20px;min-height:72px}.chat-actions{gap:10px;margin-top:12px}.login-shell{place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{grid-template-columns:1.05fr .95fr;width:min(1080px,100%);display:grid;overflow:hidden}.login-visual{color:#f8f6f1;background:linear-gradient(135deg,#1c1b19f5,#074335f0);padding:44px}.login-logo{margin-bottom:22px}.login-visual .brand-copy span{color:#f8f6f1b8}.login-visual .login-highlight{color:#f8f6f1e6;background:#ffffff1a;border-color:#ffffff2e;box-shadow:inset 0 1px #ffffff1f}.login-form{background:#ffffffeb;padding:44px}.login-form-grid{margin-bottom:26px}.login-card h1{margin:0 0 10px;font-size:2.2rem;font-weight:400}.login-card label{color:var(--text-mid);gap:8px;font-weight:500;display:grid}.accounts-box strong,.helper-box strong{margin-bottom:10px;display:block}.accounts-box code{color:var(--accent-dark);background:#00b28a1f;border-radius:999px;margin-bottom:8px;margin-right:8px;padding:4px 8px;display:inline-block}.insight-item{align-items:flex-start;gap:10px;display:flex}.insight-dot{background:var(--accent);border-radius:999px;flex:none;width:10px;height:10px;margin-top:8px}.error-text{color:#b1381b;font-size:.92rem}@media (width<=1200px){.hero-panel,.overview-grid,.details-grid,.login-card{grid-template-columns:1fr}}@media (width<=1000px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.metrics-grid,.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.content,.sidebar,.login-form,.login-visual{padding:20px}.topbar,.topbar-controls,.room-actions,.chat-actions,.sensor-strip,.hero-stats,.hotel-card-head,.detail-header{flex-direction:column;align-items:stretch}.metrics-grid,.rooms-grid,.room-metrics,.hotel-grid{grid-template-columns:1fr}.compact-date{max-width:none}.chart-card{padding:18px}.chart-range,.chart-footer{font-size:.78rem}.chart-shell{grid-template-columns:32px minmax(0,1fr);gap:8px}.chart-y-tick,.chart-x-tick{font-size:.68rem}}.backoffice-view{max-width:1100px}.backoffice-panel{padding:0;overflow:hidden}.backoffice-table-header{background:var(--surface-soft);border-bottom:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:12px;padding:14px 22px;font-size:.78rem;font-weight:700;display:grid}.backoffice-row{border-bottom:1px solid #ddd9d099;grid-template-columns:2fr 1fr 1fr 1fr 2fr;align-items:center;gap:12px;padding:16px 22px;transition:background .15s;display:grid}.backoffice-row--4col{grid-template-columns:2fr 1.5fr 1fr 1fr}.backoffice-row--5col{grid-template-columns:2fr 1.5fr 1.5fr 1fr 1.5fr}.backoffice-row--3col{grid-template-columns:2fr 2fr 1.5fr}.qr-visits-stats-header{grid-template-columns:2fr 1.5fr .8fr .8fr 1.5fr}.qr-visits-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.qr-visits-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.qr-visits-card-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);font-size:.74rem;font-weight:700}.qr-visits-card-value{color:var(--text);font-family:Fraunces,serif;font-size:1.6rem}.qr-visits-count{color:var(--accent-dark);font-size:1.05rem}.backoffice-row:last-child{border-bottom:none}.backoffice-row:hover{background:#00b28a08}.backoffice-row--inactive{opacity:.55}.bo-user-cell{align-items:center;gap:12px;min-width:0;display:flex}.bo-avatar{flex-shrink:0;width:36px;height:36px;font-size:.92rem}.bo-username{color:var(--text);font-size:.92rem;display:block}.bo-handle{color:var(--text-light);margin-top:2px;font-size:.8rem;display:block}.bo-badge{letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.badge-admin{color:#ac3b21;background:#ac3b211a}.badge-manager{color:var(--accent-dark);background:#00b28a1f}.badge-operator{color:#3e64dc;background:#3e64dc1a}.badge-viewer{color:var(--text-mid);background:#8f897d1f}.badge-analyst{color:#8b6300;background:#8b63001a}.bo-status{border-radius:999px;align-items:center;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.bo-status--active{background:var(--accent-soft);color:var(--accent-dark)}.bo-status--inactive{color:var(--text-light);background:#8f897d1f}.bo-date{color:var(--text-mid);font-size:.84rem}.bo-actions{flex-wrap:wrap;gap:6px;display:flex}.bo-action-btn{border-radius:999px;padding:6px 12px;font-size:.82rem}.bo-action-btn--danger{color:#ac3b21!important;border-color:#ac3b2140!important}.bo-action-btn--danger:hover{background:#fff0eb!important}.bo-action-btn--success{color:var(--accent-dark)!important;border-color:#00b28a40!important}.bo-action-btn--success:hover{background:var(--accent-soft)!important}.success-status{color:var(--accent-dark);background:var(--accent-soft);border-radius:999px;padding:8px 16px;display:inline-block}.requests-panel{flex-direction:column;gap:32px;display:flex}.requests-section-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.requests-section-header .panel-title{margin:0}.requests-count{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-dark);border-radius:999px;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex}.requests-table-header{color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);grid-template-columns:2fr 1.5fr 1fr 1fr;gap:12px;padding:10px 16px;font-size:.78rem;font-weight:700;display:grid}.requests-table-header--badge{grid-template-columns:2fr 1.5fr 1fr 1fr}.requests-table-header--qr{grid-template-columns:2fr 2fr 1.5fr}.requests-table-header--qr-full{grid-template-columns:2fr 1.5fr 1.5fr 1fr 1.5fr}.requests-table-header--wallet,.backoffice-row--wallet{grid-template-columns:2fr 3fr 1.2fr 1.5fr}.algo-address{color:var(--text-mid);word-break:break-all;font-family:monospace;font-size:.78rem}.mnemonic-box{background:var(--surface2);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:8px;margin-top:16px;padding:16px;display:flex}.mnemonic-word{background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.85rem;display:flex}.mnemonic-num{color:var(--text-light);text-align:right;min-width:16px;font-size:.7rem}.archive-toggle-btn{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-mid);background:0 0;align-items:center;gap:10px;padding:12px 18px;font-size:.9rem;font-weight:600;transition:background .15s;display:flex}.archive-toggle-btn:hover{background:var(--surface)}.archive-toggle-btn .requests-count{margin-left:auto}.requests-archive-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;padding:8px 16px 4px;font-size:.76rem;font-weight:700}.requests-status-cell{align-items:center;display:flex}.backoffice-row--archived{opacity:.6}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#14141273;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border-radius:var(--radius-xl);background:#fff;width:min(520px,100%);max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 32px 80px #1116142e}.modal-card--wide{width:min(720px,100%)}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.modal-close{border:1px solid var(--border);width:32px;height:32px;color:var(--text-mid);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;display:flex}.modal-close:hover{color:#ac3b21;background:#fff0eb;border-color:#ac3b2140}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.user-form{gap:16px;display:grid}.form-field{gap:6px;display:grid}.form-label{color:var(--text-mid);font-size:.84rem;font-weight:600}.form-input{border:1px solid var(--border);width:100%;color:var(--text);box-sizing:border-box;background:#ffffffe6;border-radius:12px;outline:none;padding:10px 14px;font-size:.95rem}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00b28a1a}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238F897D' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.facility-list{gap:10px;display:grid}.facility-row{border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;transition:border-color .2s}.facility-row--assigned{background:#00b28a08;border-color:#00b28a59}.facility-row-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.facility-row-info{min-width:0}.facility-row-name{color:var(--text);margin-bottom:2px;font-size:.95rem;display:block}.facility-row-address{color:var(--text-light);font-size:.82rem;display:block}.facility-row-actions{flex-shrink:0;gap:8px;display:flex}.facility-toggle-btn,.facility-rooms-btn{border-radius:999px;padding:8px 14px;font-size:.84rem}.facility-rooms{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;display:flex}.facility-room-chip{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.room-chip-name{color:var(--text);font-size:.82rem;font-weight:600}.room-chip-type{color:var(--text-light);font-size:.76rem}.room-chip-floor{color:var(--text-light);font-size:.74rem}.qr-trigger-btn{color:#c8c4bc;border-color:#e0dbd2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;padding:0;display:flex}.qr-trigger-btn--active{color:#00b28a;background:#00b28a14;border-color:#00b28a59}.qr-modal-xl{width:min(860px,96vw)}.qr-two-col{grid-template-columns:1fr 1fr;gap:24px;padding-top:20px;display:grid}.qr-col{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;align-items:center;gap:16px;padding:28px 24px;display:flex}.qr-col--main{background:linear-gradient(135deg,#00b28a0f,#00b28a03);border-color:#00b28a33}.qr-col-image-wrap{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.qr-col-image-wrap--qr{padding:16px}.qr-col-image{object-fit:contain;width:100%;height:100%}.qr-col-label{color:var(--text);text-align:center;margin:0;font-size:1rem;font-weight:700}.qr-col-desc{color:var(--text-mid);text-align:center;word-break:break-all;flex:1;margin:0;font-size:.82rem}.qr-order-btn{border-radius:999px;margin-top:auto;padding:10px 28px;font-size:.88rem}@media (width<=600px){.qr-two-col{grid-template-columns:1fr}}.qr-visibility{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-xl);margin-top:20px;padding:18px 20px}.qr-visibility--suspended{background:#f59e0b12;border-color:#f59e0b59}.qr-visibility-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.qr-visibility-title{color:var(--text);margin:0 0 4px;font-size:.95rem;font-weight:700}.qr-visibility-state{color:var(--text-mid);align-items:center;gap:8px;margin:0;font-size:.84rem;display:flex}.qr-visibility-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.qr-visibility-dot--on{background:#00b28a}.qr-visibility-dot--off{background:#f59e0b}.qr-visibility-dates{color:var(--text-light);margin:6px 0 0;font-size:.78rem}.qr-visibility-locked{text-align:right;max-width:220px;color:var(--text-light);margin:0;font-size:.78rem;line-height:1.45}.qr-visibility .qr-order-btn{margin-top:0}.qr-susp-form{border-top:1px solid var(--border);flex-direction:column;gap:14px;margin-top:16px;padding-top:16px;display:flex}.qr-susp-intro{color:var(--text-mid);margin:0;font-size:.8rem;line-height:1.5}.qr-susp-group{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;margin:0;padding:12px 14px}.qr-susp-group legend{text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);padding:0 6px;font-size:.74rem;font-weight:700}.qr-susp-option{color:var(--text);cursor:pointer;align-items:flex-start;gap:9px;padding:5px 0;font-size:.85rem;display:flex}.qr-susp-option input{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.qr-susp-max{color:var(--text-light);font-size:.78rem;font-style:normal}.qr-susp-note{color:var(--text-mid);flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;display:flex}.qr-susp-note input{border:1px solid var(--border);border-radius:var(--radius-lg);font:inherit;background:#fff;padding:9px 12px;font-weight:400}.qr-susp-summary{border-left:3px solid var(--accent);color:var(--text-mid);background:#00b28a12;border-radius:6px;margin:0;padding:10px 12px;font-size:.8rem;line-height:1.5}.qr-susp-actions{justify-content:flex-end;gap:10px;display:flex}.qr-trigger-btn--suspended{color:#b8860b;background:#f59e0b1a;border-color:#f59e0b73}.new-facility-btn{width:100%;color:var(--accent-dark);border-style:dashed;border-color:#00b28a59;margin-bottom:14px}.new-facility-btn:hover{background:var(--accent-soft)}.new-facility-form{background:var(--surface-soft);border-radius:var(--radius-lg);border:1px solid #00b28a40;gap:12px;margin-bottom:14px;padding:18px;display:grid}.bo-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.bo-tab{color:var(--text-mid);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 22px;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s}.bo-tab:hover{color:var(--accent-dark)}.bo-tab--active{color:var(--accent-dark);border-bottom-color:var(--accent)}.group-row{border-bottom:1px solid #ddd9d099}.group-row:last-child{border-bottom:none}.group-row-head{justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 22px;transition:background .15s;display:flex}.group-row-head:hover{background:#00b28a08}.group-row-info{gap:3px;min-width:0;display:grid}.group-row-name{color:var(--text);font-size:1rem;font-weight:700}.group-row-hq{color:var(--text-light);font-size:.82rem}.group-row-desc{color:var(--text-mid);font-size:.82rem}.group-facilities-section{border-top:1px solid #ddd9d099;padding:16px 22px}.group-no-facilities{color:var(--text-light);margin:0 0 10px;font-size:.87rem}.facility-group-section{gap:8px;display:grid}.facility-group-section+.facility-group-section{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.facility-group-header{align-items:center;gap:10px;margin-bottom:6px;display:flex}.facility-group-label{letter-spacing:.07em;text-transform:uppercase;color:var(--accent-dark);font-size:.78rem;font-weight:700}.facility-group-label--ungrouped{color:var(--text-light)}.facility-group-hq{color:var(--text-light);font-size:.78rem}.facility-assign-group-btn{color:var(--accent-dark);border-color:#00b28a66;border-radius:999px;margin-left:auto;padding:5px 12px;font-size:.78rem}.facility-assign-group-btn:hover{background:var(--accent-soft)}.add-facility-inline{align-items:center;gap:8px;margin-top:4px;display:flex}.add-facility-inline .form-input{flex:1}.form-textarea{resize:vertical;min-height:72px}.add-facility-buttons{flex-wrap:wrap;gap:8px;display:flex}.add-facility-buttons .new-facility-btn{flex:1;min-width:180px;margin-bottom:0}.form-label-hint{color:var(--text-light);font-size:.78rem;font-weight:400}.sensor-id-ok{color:#0a7a52;background:#00b28a14;border:1px solid #00b28a40;border-radius:8px;margin:4px 0 0;padding:6px 10px;font-size:.82rem}.sensor-id-warning{color:#8a5f00;background:#ffc1071a;border:1px solid #ffc10766;border-radius:8px;margin:4px 0 0;padding:6px 10px;font-size:.82rem}.primary-button.bo-action-btn--danger{background:#c0392b;border-color:#c0392b}.primary-button.bo-action-btn--danger:hover{background:#a93226;border-color:#a93226}.pub-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.pub-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#ffffffd9;flex-direction:column;align-items:center;gap:6px;padding:28px 20px 20px;display:flex}.pub-logo{align-items:center;gap:10px;display:flex}.pub-logo-text{letter-spacing:.06em;color:var(--text);font-family:DM Sans,sans-serif;font-size:1.5rem;font-weight:700}.pub-header-sub{color:var(--text-mid);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem}.pub-main{flex-direction:column;flex:1;gap:14px;width:100%;max-width:480px;margin:0 auto;padding:20px 16px;display:flex}.pub-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffe6;padding:22px 20px}.pub-card--center{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;display:flex}.pub-identity{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.pub-status-badge{letter-spacing:.04em;border-radius:999px;padding:8px 24px;font-size:1rem;font-weight:700;display:inline-block}.pub-status-badge--good{color:#0a7a52;background:#00b28a1f;border:1.5px solid #00b28a4d}.pub-status-badge--warn{color:#92570a;background:#f59e0b1f;border:1.5px solid #f59e0b4d}.pub-status-badge--danger{color:#b91c1c;background:#ef44441f;border:1.5px solid #ef44444d}.pub-status-badge--muted{background:var(--surface-soft);color:var(--text-light);border:1.5px solid var(--border)}.pub-room-name{color:var(--text);margin:0;font-family:Fraunces,serif;font-size:1.6rem;font-weight:700}.pub-hotel-name{color:var(--text-mid);margin:0;font-size:.9rem}.pub-gauges{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;padding:14px 10px;display:grid;overflow:hidden}.pub-gauge{justify-content:center;min-width:0;display:flex}.pub-gauge-svg{aspect-ratio:1;width:min(100%,128px);height:auto;display:block;overflow:visible}.pub-bars{flex-direction:column;gap:20px;display:flex}.pub-metric{flex-direction:column;gap:6px;display:flex}.pub-metric-head{justify-content:space-between;align-items:baseline;display:flex}.pub-metric-label{color:var(--text);font-size:.9rem;font-weight:600}.pub-metric-value{font-size:1.05rem;font-weight:700}.pub-metric-value--good{color:#0a7a52}.pub-metric-value--warn{color:#92570a}.pub-metric-value--danger{color:#b91c1c}.pub-bar-track{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.pub-bar-fill{border-radius:999px;height:100%;transition:width .6s}.pub-bar-fill--good{background:linear-gradient(90deg,#00b28a,#00d4a6)}.pub-bar-fill--warn{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.pub-bar-fill--danger{background:linear-gradient(90deg,#ef4444,#f87171)}.pub-bar-scale{justify-content:space-between;margin-top:2px;display:flex}.pub-bar-scale span{color:var(--text-light);font-size:.7rem}.pub-suspended{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:30px 22px;display:flex}.pub-suspended-icon{color:#b8860b;opacity:.85}.pub-suspended-title{color:var(--text);margin:0;font-family:Fraunces,serif;font-size:1.15rem;font-weight:700}.pub-suspended-reason{color:#92570a;margin:0;font-size:.95rem;font-weight:600}.pub-suspended-dates{color:var(--text-mid);margin:0;font-size:.84rem}.pub-suspended-note{border-top:1px solid var(--border);color:var(--text-light);margin:8px 0 0;padding-top:14px;font-size:.8rem;line-height:1.5}.pub-footer-card{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.pub-sample-info{color:var(--text-mid);margin:0;font-size:.82rem}.pub-full-link{background:var(--accent);color:#fff;border-radius:999px;padding:11px 28px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.pub-full-link:hover{background:var(--accent-dark)}.pub-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pub-loading-text{color:var(--text-mid);font-size:.9rem}.pub-error-icon{font-size:2rem}.demo-hero{position:relative;overflow:visible}.demo-live-badge{color:var(--accent-dark);letter-spacing:.06em;background:#00b28a24;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.78rem;font-weight:700;display:inline-flex}.live-dot{background:#00b28a;border-radius:50%;width:9px;height:9px;animation:1.6s infinite live-pulse;box-shadow:0 0 #00b28a80}@keyframes live-pulse{0%{box-shadow:0 0 #00b28a8c}70%{box-shadow:0 0 0 10px #00b28a00}to{box-shadow:0 0 #00b28a00}}.demo-header-row{align-items:center;gap:14px;display:flex}.demo-settings-button{border:1px solid var(--border);width:40px;height:40px;color:var(--text-light);cursor:pointer;background:#ffffffe6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex}.demo-settings-button:hover{color:var(--text);transform:rotate(30deg)}.demo-settings-button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.demo-picker{max-width:420px;margin-top:16px;position:relative}.demo-picker-label{color:var(--text-light);margin-bottom:6px;font-size:.82rem;display:block}.demo-picker-trigger{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:#ffffffe6;border-radius:999px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.92rem;display:flex}.demo-picker-caret{color:var(--text-light);transition:transform .15s;display:inline-block;transform:rotate(90deg)}.demo-picker-caret.open{transform:rotate(270deg)}.demo-picker-menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius-md);max-height:320px;box-shadow:var(--shadow-md);background:#fff;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.demo-picker-empty{color:var(--text-light);text-align:center;padding:12px;font-size:.88rem}.demo-picker-option{border-radius:var(--radius-sm,10px);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.demo-picker-option:hover{background:var(--surface-soft)}.demo-picker-option input{accent-color:var(--accent);width:16px;height:16px}.demo-picker-option span{flex-direction:column;display:flex}.demo-picker-option strong{color:var(--text);font-size:.92rem}.demo-picker-option em{color:var(--text-light);font-size:.76rem;font-style:normal}.demo-sensor-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.demo-metric-card{background:linear-gradient(160deg,#00b28a0f,#ffffffe6);border:1px solid #00b28a40}.demo-metric-card .metric-card-header{margin-bottom:16px}.demo-metric-time{color:var(--text-light);font-size:.74rem}.demo-metric-values strong{font-size:1.4rem}.demo-chat-card{height:480px}.demo-chart-section{flex-direction:column;gap:14px;display:flex}.demo-chart-section-title{margin:0}.demo-chart-row{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1100px){.demo-chart-row{grid-template-columns:1fr}}.demo-next-comment{color:var(--text-light);white-space:nowrap;font-size:.76rem}.demo-live{flex-direction:column;gap:clamp(12px,2.2vh,28px);height:calc(100dvh - 56px);display:flex;overflow:hidden}.demo-live-topbar{flex-shrink:0;justify-content:flex-end;align-items:center;gap:16px;min-height:40px;display:flex}.demo-live-brand{flex-shrink:0;justify-content:center;display:flex}.demo-live-brand .logo-block{align-items:center;width:auto}.demo-live-brand .logo{gap:clamp(6px,1vh,10px)}.demo-live-brand .logo svg{flex-shrink:0;width:clamp(18px,3.2vh,34px);height:clamp(18px,3.2vh,34px)}.demo-live-brand .logo-wordmark{color:var(--text);font-size:clamp(1rem,2.4vh,1.7rem)}.demo-live-brand .brand-copy{display:none}.demo-live-picker{flex:1;max-width:380px}.demo-live-topbar .demo-settings-button{margin-left:auto}.demo-live-empty{text-align:center;padding:56px 24px;font-size:1.05rem}.demo-live-body{flex:1;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:clamp(16px,2vw,32px);min-height:0;display:grid}.demo-live-main{flex-direction:column;justify-content:center;gap:clamp(16px,3vh,40px);min-height:0;display:flex}.demo-live-header{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:clamp(6px,1.2vh,14px);display:flex}.demo-live-badge.is-live{color:var(--accent-dark);background:#00b28a29}.demo-live-dot{background:currentColor;border-radius:50%;width:9px;height:9px}.demo-live-badge.is-live .demo-live-dot{animation:1.8s ease-in-out infinite demo-live-pulse}@keyframes demo-live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.demo-live-room{letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.6rem,4.2vh,3.2rem);font-weight:700;line-height:1.1}.demo-live-updated{color:var(--text-light);margin:0;font-size:clamp(.78rem,1.5vh,.95rem)}.demo-live-gauges{flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"top top""left right";place-items:start center;gap:clamp(8px,1.6vh,20px) clamp(12px,2vw,32px);display:grid}.demo-live-gauges .demo-gauge:first-child{grid-area:top}.demo-live-gauges .demo-gauge:nth-child(2){grid-area:left}.demo-live-gauges .demo-gauge:nth-child(3){grid-area:right}.demo-gauge{flex-direction:column;align-items:center;width:100%;max-width:min(240px,30vh);display:flex;position:relative}.demo-live-gauges .demo-gauge:first-child{max-width:min(280px,34vh)}.demo-gauge-clickable{cursor:pointer;border-radius:var(--radius-xl);transition:transform .18s}.demo-gauge-clickable:hover,.demo-gauge-clickable:focus-visible{transform:translateY(-4px)}.demo-gauge-clickable:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}.demo-gauge-svg{width:100%;height:auto;display:block;overflow:visible}.demo-gauge-center{pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-58%)}.demo-gauge-value{font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,4.6vh,3rem);font-weight:700;line-height:1;transition:color .6s}.demo-gauge-unit{color:var(--text-light);font-size:clamp(.72rem,1.4vh,.9rem);font-weight:600}.demo-gauge-footer{flex-direction:column;align-items:center;gap:clamp(4px,.8vh,8px);margin-top:-14px;display:flex}.demo-gauge-title{color:var(--text);font-size:clamp(.85rem,1.8vh,1.05rem);font-weight:600}.demo-gauge-status{letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:3px 12px;font-size:clamp(.62rem,1.2vh,.72rem);font-weight:700}.demo-live-chat{border-radius:var(--radius-xl);height:100%;min-height:0;box-shadow:var(--shadow-md);background:#ffffffd1;border:1px solid #ddd9d0eb;flex-direction:column;gap:clamp(10px,1.4vh,16px);padding:clamp(14px,2vh,24px);display:flex}.demo-live-chat-head{border-bottom:1px solid #ddd9d0e6;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding-bottom:clamp(10px,1.4vh,16px);display:flex}.demo-live-chat-head .panel-title{margin:0}.demo-live-countdown{color:var(--text-light);white-space:nowrap;font-size:.85rem}.demo-live-countdown strong{color:var(--accent-dark);font-variant-numeric:tabular-nums}.demo-live-messages{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex;overflow-y:auto}.demo-live-messages:has(.chat-bubble:only-child){justify-content:center}.demo-live-messages .chat-bubble{flex-shrink:0}.demo-live-thinking{align-items:center;gap:10px;display:flex}.demo-live-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.demo-live-chat-input{border-top:1px solid #ddd9d0e6;flex-shrink:0;align-items:center;gap:10px;padding-top:clamp(6px,1vh,12px);display:flex}.demo-live-chat-input .form-input{flex:1;min-width:140px}.demo-chart-overlay{z-index:60;background:#1716138c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.demo-chart-modal{background:var(--surface,#fff);border-radius:var(--radius-xl);width:min(720px,100%);box-shadow:var(--shadow-md);padding:clamp(20px,3vh,32px);position:relative}.demo-chart-close{width:32px;height:32px;color:var(--text-mid);cursor:pointer;background:#ffffffe6;border:1px solid #ddd9d0e6;border-radius:50%;font-size:1.3rem;line-height:1;position:absolute;top:12px;right:12px}.demo-chart-close:hover{color:var(--text)}.demo-chart-loading{text-align:center;color:var(--text-light);padding:48px 0}@media (width<=1200px){.demo-live{gap:24px;height:auto;overflow:visible}.demo-live-body{grid-template-columns:1fr;gap:24px}.demo-live-main{justify-content:flex-start}.demo-live-chat{height:auto}.demo-live-messages{min-height:240px;max-height:420px}}@media (width<=900px){.demo-live-gauges{grid-template-columns:1fr;grid-template-areas:"top""left""right";gap:20px}.demo-live-gauges .demo-gauge:first-child{max-width:min(280px,34vh)}}.pub-error-text{color:var(--text-mid);text-align:center;font-size:.9rem}.pub-page-footer{text-align:center;color:var(--text-light);border-top:1px solid var(--border);padding:16px;font-size:.78rem}.pub-page-footer strong{color:var(--accent-dark)}@media (width<=430px){.pub-main{gap:12px;padding:16px 10px}.pub-card{padding:18px 14px}.pub-gauges{gap:2px;padding:12px 4px}.pub-gauge-svg{width:min(100%,108px)}.pub-gauge-svg text:first-of-type{font-size:16px}.pub-gauge-svg text:nth-of-type(2){font-size:10px}.pub-gauge-svg text:nth-of-type(3){font-size:9px}}.settings-page{max-width:680px;padding:40px 0}.settings-header{margin-bottom:32px}.settings-form{flex-direction:column;gap:28px;display:flex}.settings-section{border:1px solid var(--border);border-radius:var(--radius-xl);background:#ffffffd1;flex-direction:column;gap:20px;padding:28px;display:flex}.settings-section-title{color:var(--text);margin:0 0 4px;font-family:Fraunces,serif;font-size:1.05rem}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-field--full{grid-column:1/-1}.settings-label{color:var(--text-mid);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.settings-input,.settings-select{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);background:#fff;padding:10px 14px;font-family:inherit;font-size:.92rem;transition:border-color .2s}.settings-input:focus,.settings-select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #00b28a1f}.settings-select{cursor:pointer}.settings-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.settings-saved-msg{color:var(--accent-dark);font-size:.88rem;font-weight:600}.sidebar-user--btn{border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;flex:1;min-width:0;padding:6px 8px;transition:all .2s}.sidebar-user--btn:hover{border-color:var(--border);background:#ffffffd9}.sidebar-user--btn.sidebar-user--active{background:linear-gradient(135deg,#00b28a24,#007d6214);border-color:#00b28a38}.gym-shell{--gym-bg:#111214;--gym-surface:#1e2024;--gym-surface2:#2a2d32;--gym-border:#ffffff12;--gym-lime:#c8ff00;--gym-lime-dim:#c8ff001f;--gym-lime-mid:#c8ff0038;--gym-text:#f0f0f0;--gym-text-mid:#f0f0f08c;--gym-text-dim:#f0f0f04d;--gym-radius:14px;--gym-radius-sm:10px;background:var(--gym-bg);min-height:100vh;color:var(--gym-text);grid-template-columns:240px 1fr;font-family:DM Sans,sans-serif;transition:grid-template-columns .25s;display:grid}.gym-shell--collapsed{grid-template-columns:60px 1fr}.gym-sidebar{background:var(--gym-surface);border-right:1px solid var(--gym-border);flex-direction:column;width:240px;height:100vh;transition:width .25s;display:flex;position:sticky;top:0;overflow:hidden}.gym-sidebar--collapsed{width:60px}.gym-sidebar-toggle{border:1px solid var(--gym-border);background:var(--gym-surface2);width:26px;height:26px;color:var(--gym-text-mid);cursor:pointer;z-index:2;border-radius:999px;justify-content:center;align-items:center;font-size:13px;transition:border-color .15s,color .15s;display:flex;position:absolute;top:18px;right:14px}.gym-sidebar-toggle:hover{border-color:var(--gym-lime);color:var(--gym-lime)}.gym-sidebar-stack{flex-direction:column;height:100%;padding:26px 16px 20px;display:flex}.gym-brand-wrap{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:30px;display:flex}.gym-brand-wrap .logo-wordmark{color:var(--gym-text)}.gym-brand-wrap .logo-i{color:var(--gym-lime)}.gym-vertical-badge{background:var(--gym-lime-dim);color:var(--gym-lime);letter-spacing:.12em;text-transform:uppercase;border:1px solid #c8ff0040;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.gym-nav-list{flex-direction:column;flex:1;gap:4px;display:flex}.gym-nav-button{border-radius:var(--gym-radius-sm);color:var(--gym-text-mid);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:11px;width:100%;padding:11px 12px;transition:background .15s,color .15s,border-color .15s;display:flex}.gym-nav-button:hover{background:var(--gym-surface2);color:var(--gym-text)}.gym-nav-button.active{background:var(--gym-lime);color:#111;border-color:#0000;font-weight:600}.gym-nav-icon-wrap{background:var(--gym-surface2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.gym-nav-button.active .gym-nav-icon-wrap{background:#0003}.gym-nav-button.active .gym-nav-icon-wrap svg{stroke:#111}.gym-nav-text{flex-direction:column;gap:1px;display:flex}.gym-nav-text strong{font-size:.88rem;font-weight:600;line-height:1.2}.gym-nav-text span{opacity:.7;font-size:.75rem;line-height:1.2}.gym-sidebar-footer{border-top:1px solid var(--gym-border);align-items:center;gap:6px;margin-top:auto;padding-top:14px;display:flex}.gym-user-btn{border:1px solid var(--gym-border);border-radius:var(--gym-radius-sm);background:var(--gym-surface2);color:var(--gym-text-mid);cursor:pointer;text-align:left;flex:1;align-items:center;gap:9px;min-width:0;padding:8px 10px;transition:border-color .15s,color .15s;display:flex;overflow:hidden}.gym-user-btn:hover,.gym-user-btn.active{color:var(--gym-text);border-color:#c8ff004d}.gym-avatar{background:var(--gym-lime);color:#111;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:800;display:flex}.gym-user-info{flex-direction:column;gap:1px;min-width:0;display:flex}.gym-user-info strong{color:var(--gym-text);white-space:nowrap;text-overflow:ellipsis;font-size:.83rem;font-weight:600;overflow:hidden}.gym-user-info span{color:var(--gym-text-dim);white-space:nowrap;font-size:.72rem}.gym-logout-btn{border-radius:var(--gym-radius-sm);border:1px solid var(--gym-border);background:var(--gym-surface2);width:32px;height:32px;color:var(--gym-text-mid);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s,background .15s;display:flex}.gym-logout-btn:hover{color:#ff6b6b;background:#ff3c3c1a;border-color:#ff3c3c4d}.gym-main{min-height:100vh;color:var(--gym-text);overflow-y:auto}.gym-breadcrumb{color:var(--gym-text-mid);border-bottom:1px solid var(--gym-border);background:var(--gym-surface);align-items:center;gap:6px;padding:14px 28px;font-size:.86rem;display:flex}.gym-breadcrumb-link{color:var(--gym-text-mid);cursor:pointer;background:0 0;border:none;padding:0;font-size:.86rem;transition:color .15s}.gym-breadcrumb-link:hover{color:var(--gym-lime)}.gym-breadcrumb-sep{color:var(--gym-text-dim)}.gym-breadcrumb-current{color:var(--gym-text);font-weight:600}.gym-main .content{background:0 0}.gym-shell .panel,.gym-shell .metric-card,.gym-shell .room-status-card,.gym-shell .chart-card,.gym-shell .chatbot-card,.gym-shell .insight-card,.gym-shell .hero-stat,.gym-shell .sensor-pill{background:linear-gradient(135deg, #c8ff001a 0%, var(--gym-surface2) 60%)!important;color:var(--gym-text)!important;border-color:#c8ff0021!important;box-shadow:0 2px 16px #00000059!important}.gym-shell .panel-title,.gym-shell .chart-title,.gym-shell .page-title,.gym-shell .section-title,.gym-shell .metric-value,.gym-shell .room-name,.gym-shell .hotel-title{color:var(--gym-text)!important}.gym-shell .panel-subtitle,.gym-shell .section-subtitle,.gym-shell .metric-meta,.gym-shell .room-type,.gym-shell .chart-footer,.gym-shell .chart-range,.gym-shell .eyebrow-label{color:var(--gym-text-mid)!important}.gym-shell .metric-card *,.gym-shell .room-status-card *{color:inherit}.gym-shell .eyebrow{background:var(--gym-lime-dim);color:var(--gym-lime)}.gym-shell .eyebrow:before{background:var(--gym-lime);box-shadow:0 0 0 7px var(--gym-lime-dim)}.gym-shell .primary-button{background:var(--gym-lime);color:#111;box-shadow:0 8px 20px #c8ff0033}.gym-shell .primary-button:hover{background:#b8ef00}.gym-shell .nav-button,.gym-shell .room-button{color:var(--gym-text-mid);border-color:#0000}.gym-shell .nav-button:hover,.gym-shell .room-button:hover{background:var(--gym-surface2);border-color:var(--gym-border);color:var(--gym-text)}.gym-shell .nav-button.active,.gym-shell .room-button.active{background:var(--gym-lime-dim);color:var(--gym-lime);box-shadow:none;border-color:#c8ff0040}.gym-shell .status-chip.good{background:var(--gym-lime-dim);color:var(--gym-lime)}.gym-shell .status-chip.warn{color:#fbbf24;background:#ffbe001f}.gym-shell .status-chip.danger{color:#f87171;background:#ff3c3c1f}.gym-shell .status-chip.muted{background:var(--gym-surface2);color:var(--gym-text-mid)}.gym-shell .filter-pill{border-color:var(--gym-border);color:var(--gym-text-mid)}.gym-shell .filter-pill--good.active,.gym-shell .filter-pill--good:hover{background:var(--gym-lime-dim);color:var(--gym-lime);border-color:#c8ff004d}.gym-shell .badge-certify-btn{color:var(--gym-lime)!important;background:linear-gradient(135deg,#c8ff0026,#c8ff0012)!important;border-color:#c8ff0080!important}.gym-shell .badge-certify-btn:hover{border-color:var(--gym-lime)!important;background:linear-gradient(135deg,#c8ff0040,#c8ff001f)!important;box-shadow:0 4px 14px #c8ff0033!important}.gym-shell .metric-chip{background:var(--gym-surface)!important;border-color:var(--gym-border)!important}.gym-shell .hotel-card-metrics .metric-chip span{letter-spacing:.05em;text-transform:uppercase;color:var(--gym-lime)!important;font-size:.72rem!important;font-weight:700!important}.gym-shell .loading-spinner-arc{border-color:var(--gym-surface2);border-top-color:var(--gym-lime)}.gym-shell .loading-spinner-label{color:var(--gym-text-mid)}.gym-shell .date-input{background:var(--gym-surface2);border-color:var(--gym-border);color:var(--gym-text)}.gym-shell .empty-panel{color:var(--gym-text-mid)}.gym-shell .error-panel{color:#f87171}.gym-shell .empty-chart{background:var(--gym-surface2);color:var(--gym-text-mid)}.gym-shell .breadcrumb-link:hover{color:var(--gym-lime)}.gym-shell .hotel-card{cursor:pointer}.gym-shell .hotel-card:hover{border-color:#c8ff0033;box-shadow:0 4px 24px #c8ff0012}.gym-shell .recharts-cartesian-axis-tick text{fill:var(--gym-text-mid)}.gym-shell .recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--gym-surface2)!important;border-color:var(--gym-border)!important;color:var(--gym-text)!important}.gym-shell .sidebar-footer{background:var(--gym-surface2);border-color:var(--gym-border)}.gym-shell .modal-overlay .modal-card{background:var(--gym-surface)!important;border:1px solid var(--gym-border)!important;color:var(--gym-text)!important;box-shadow:0 8px 40px #0009!important}.gym-shell .modal-overlay .modal-header{border-bottom-color:var(--gym-border)!important}.gym-shell .modal-overlay .panel-title{color:var(--gym-text)!important}.gym-shell .modal-overlay .panel-subtitle{color:var(--gym-text-mid)!important}.gym-shell .modal-overlay .modal-close{background:var(--gym-surface2)!important;border:1px solid var(--gym-border)!important;color:var(--gym-text-mid)!important}.gym-shell .modal-overlay .modal-close:hover{color:var(--gym-lime)!important;border-color:#c8ff004d!important}.gym-shell .modal-overlay .qr-col--main{background:linear-gradient(135deg, #c8ff0012 0%, var(--gym-surface2) 60%)!important;border-radius:var(--gym-radius)!important;border:1px solid #c8ff001a!important}.gym-shell .modal-overlay .qr-col-image-wrap{background:var(--gym-surface2)!important;border:1px solid var(--gym-border)!important}.gym-shell .modal-overlay .qr-col-image-wrap--qr{background:#fff!important;border-radius:10px!important;padding:14px!important}.gym-shell .modal-overlay .qr-col-label{color:var(--gym-text)!important;font-weight:600!important}.gym-shell .modal-overlay .qr-col-desc,.gym-shell .modal-overlay .request-pending-label{color:var(--gym-text-mid)!important}.gym-shell .modal-overlay .primary-button.qr-order-btn{background:var(--gym-lime)!important;color:#111!important;box-shadow:0 4px 14px #c8ff0033!important}.gym-shell .modal-overlay .primary-button.qr-order-btn:hover{background:#b8ef00!important}.gym-shell .modal-overlay .secondary-button.qr-order-btn{background:var(--gym-lime-dim)!important;color:var(--gym-lime)!important;border:1px solid #c8ff004d!important}.gym-shell .modal-overlay .secondary-button.qr-order-btn:hover{background:var(--gym-lime-mid)!important;border-color:var(--gym-lime)!important}.gym-shell .modal-overlay .danger-button.qr-order-btn{color:#f87171!important;background:#ff3c3c1f!important;border:1px solid #ff3c3c4d!important}.gym-shell .modal-overlay .danger-button.qr-order-btn:hover{background:#ff3c3c33!important;border-color:#ff3c3c80!important}.resto-shell{--resto-bg:#fdf8f3;--resto-surface:#fff;--resto-surface2:#f5ede0;--resto-border:#e8d8c4;--resto-border-light:#f0e6d6;--resto-brown:#5c3317;--resto-brown-mid:#7b4b2a;--resto-brown-dim:#5c331714;--resto-brown-mid2:#5c331726;--resto-gold:#c8914a;--resto-gold-light:#e8b97a;--resto-gold-dim:#c8914a1f;--resto-text:#2c1810;--resto-text-mid:#2c18108c;--resto-text-dim:#2c18104d;--resto-radius:14px;--resto-radius-sm:10px;--resto-shadow:0 2px 16px #5c331714;--resto-shadow-hover:0 6px 24px #5c331724;background:var(--resto-bg);min-height:100vh;color:var(--resto-text);grid-template-columns:260px 1fr;font-family:DM Sans,Segoe UI,sans-serif;transition:grid-template-columns .25s;display:grid}.resto-shell--collapsed{grid-template-columns:68px 1fr}.resto-sidebar{background:var(--resto-brown);flex-direction:column;width:260px;height:100vh;transition:width .25s;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:3px 0 20px #5c33172e}.resto-sidebar--collapsed{width:68px}.resto-sidebar:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff04 2px 4px);position:absolute;inset:0}.resto-sidebar-toggle{color:#fff9;cursor:pointer;z-index:2;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;transition:border-color .15s,color .15s,background .15s;display:flex;position:absolute;top:18px;right:14px}.resto-sidebar-toggle:hover{border-color:var(--resto-gold-light);color:var(--resto-gold-light);background:#ffffff24}.resto-sidebar-stack{z-index:1;flex-direction:column;gap:0;height:100%;padding:28px 18px 22px;display:flex;position:relative}.resto-brand-wrap{flex-direction:column;gap:8px;margin-bottom:32px;padding-right:36px;display:flex}.resto-brand-wrap .oxia-logo-text,.resto-brand-wrap .oxia-logo-subtitle{color:#fff!important}.resto-brand-wrap svg circle,.resto-brand-wrap svg path{stroke:var(--resto-gold-light)!important}.resto-brand-wrap svg circle[fill]{fill:var(--resto-gold-light)!important}.resto-vertical-badge{color:var(--resto-gold-light);letter-spacing:.08em;text-transform:uppercase;text-align:center;background:#c8914a33;border:1px solid #c8914a59;border-radius:999px;justify-content:center;align-items:center;width:100%;padding:3px 10px;font-size:10px;font-weight:700;display:flex}.resto-nav-divider{background:linear-gradient(90deg,#0000,#c8914a4d,#0000);height:1px;margin:8px 0 12px}.resto-nav-list{flex-direction:column;flex:1;gap:3px;display:flex}.resto-nav-button{border-radius:var(--resto-radius-sm);color:#ffffff8c;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .15s,color .15s;display:flex}.resto-nav-button:hover{color:#ffffffd9;background:#ffffff14}.resto-nav-button.active{background:var(--resto-gold);color:#fff}.resto-nav-icon-wrap{background:#ffffff14;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:flex}.resto-nav-button.active .resto-nav-icon-wrap{background:#ffffff38}.resto-nav-text{flex-direction:column;line-height:1.2;display:flex}.resto-nav-text strong{color:#ffffffe6;font-size:13px;font-weight:600}.resto-nav-text span{color:#fff6;font-size:11px}.resto-nav-button.active .resto-nav-text strong,.resto-nav-button.active .resto-nav-text span{color:#fff}.resto-sidebar-footer{border-top:1px solid #ffffff1a;align-items:center;gap:8px;padding-top:16px;display:flex}.resto-user-btn{border-radius:var(--resto-radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:8px 10px;transition:background .15s;display:flex}.resto-user-btn:hover,.resto-user-btn.active{background:#ffffff14}.resto-avatar{background:var(--resto-gold);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 8px #0003}.resto-user-info{flex-direction:column;line-height:1.25;display:flex;overflow:hidden}.resto-user-info strong{color:#ffffffe6;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.resto-user-info span{color:#fff6;font-size:10px}.resto-logout-btn{color:#fff6;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:border-color .15s,color .15s,background .15s;display:flex}.resto-logout-btn:hover{color:#fca5a5;background:#ef44441a;border-color:#ef444480}.resto-main{flex-direction:column;min-height:100vh;display:flex;overflow-y:auto}.resto-main .content{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:28px 36px}.resto-breadcrumb{align-items:center;gap:6px;padding:16px 36px 0;font-size:13px;display:flex}.resto-breadcrumb-link{color:var(--resto-text-mid);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;transition:color .15s}.resto-breadcrumb-link:hover{color:var(--resto-brown)}.resto-breadcrumb-sep{color:var(--resto-text-dim);font-size:14px}.resto-breadcrumb-current{color:var(--resto-gold);font-weight:600}.resto-main:before{content:"";background:linear-gradient(90deg, var(--resto-brown), var(--resto-gold), var(--resto-brown-mid));height:4px;display:block}@media (width<=768px){.resto-shell{grid-template-columns:1fr}.resto-sidebar{display:none}.resto-main .content{padding:16px}}
