/* Classic floating Habbo windows; independent from the room canvas. */
main{grid-template-columns:92px minmax(0,1fr)}
.hotel-wallet{display:flex;align-items:center;gap:8px;margin-left:auto;font:12px Arial,sans-serif;color:#e9dba7}.hotel-wallet .coin{width:25px;height:25px;font-size:12px}.hotel-wallet strong{font-size:17px}.connection{margin-left:0}
#hotel-desktop{position:fixed;inset:0;pointer-events:none;z-index:20}
.hotel-window{position:absolute;pointer-events:auto;background:#e9e9df;color:#111;border:1px solid #111;border-radius:7px 7px 4px 4px;box-shadow:inset 0 0 0 1px #fff,2px 3px 0 #0005;overflow:hidden;font:12px Arial,Helvetica,sans-serif;max-width:calc(100vw - 12px);max-height:calc(100dvh - 16px)}
.hotel-window button,.hotel-window input{font:inherit}.hotel-window button{color:#111}.hotel-window h3{font:700 12px Arial;margin:0}.hotel-titlebar{position:relative;height:30px;display:flex;justify-content:center;align-items:center;background:#367d98;color:#fff;border-bottom:1px solid #1b4353;box-shadow:inset 0 1px #74a8ba;cursor:grab;user-select:none;touch-action:none;outline-offset:-3px}.hotel-titlebar strong{font-size:12px;text-shadow:0 1px #215d73}.hotel-titlebar.dragging{cursor:grabbing}.hotel-titlebar:focus-visible{outline:2px dotted #fff}.hotel-close{position:absolute;right:7px;top:5px;width:19px;height:19px;background:linear-gradient(#df5c49,#ae2116);border:1px solid #fff;border-radius:3px;box-shadow:0 0 0 1px #61261a,inset 1px 1px #f79683;color:#fff!important;font:bold 20px/14px Arial!important;padding:0;cursor:pointer}.hotel-close:hover{filter:brightness(1.2)}
.catalog-window{width:565px;height:594px;display:grid;grid-template-rows:30px 89px minmax(0,1fr)}.catalog-banner{display:flex;gap:15px;align-items:center;background:repeating-linear-gradient(90deg,#164557 0,#164557 30px,#174b5d 30px,#174b5d 32px);color:#fff;padding:12px 20px;border-bottom:4px solid #fff}.catalog-banner strong{font-size:20px}.catalog-banner p{margin:3px 0 0;line-height:1.15;max-width:450px}.catalog-book{font-size:34px;color:#e5d4ac;text-shadow:2px 2px #102e3d}.catalog-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:7px;padding:5px;min-height:0}.catalog-sidebar{display:flex;flex-direction:column;min-height:0}.hotel-window input[type=search]{height:23px;min-width:0;background:#fff;border:1px solid #8d8d8a;box-shadow:inset 1px 1px #ddd;border-radius:7px;padding:2px 7px;outline-offset:1px}.catalog-sidebar>input{width:100%;margin-bottom:4px}.catalog-sidebar #categories{flex:1;overflow-y:auto;border:1px solid #111;border-radius:7px;background:#cbcbc7;padding:6px 2px;box-shadow:inset 1px 1px #fff;display:flex;flex-direction:column;gap:1px}.catalog-sidebar #categories button{display:flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:0;text-align:left;font-weight:bold;font-size:12px;padding:5px 4px;color:#636361}.catalog-sidebar #categories button span{display:inline-grid;place-items:center;width:17px;color:#161616;font-size:16px}.catalog-sidebar #categories button:hover{background:#deded6}.catalog-sidebar #categories .selected{background:#59bedb;color:#fff}.catalog-sidebar small{font-size:10px;color:#666;padding:5px 4px}.catalog-content{display:grid;grid-template-rows:245px minmax(76px,1fr) 40px;min-height:0;gap:4px}.shop-stage{position:relative;overflow:hidden;background:#ddd;border:1px solid #aaa}.shop-stage h3{position:absolute;top:9px;left:8px;color:#fff;z-index:1;text-shadow:1px 1px #555}.shop-stage p{position:absolute;top:24px;left:8px;right:8px;font-size:11px;color:#fff;font-style:italic;margin:0;z-index:1;text-shadow:1px 1px #666}.shop-stage canvas{display:block;width:100%;height:100%;object-fit:contain}.hotel-price{position:absolute;bottom:7px;right:7px;background:#d7ba58;border:2px solid #654c0d;border-radius:5px;box-shadow:inset 1px 1px #f3e3a7;padding:4px 6px;font-weight:bold;font-size:13px}.catalog-item-area{border:1px solid #91918d;border-radius:4px;box-shadow:inset 1px 1px #fff;background:#cececa;overflow-y:auto;padding:4px;position:relative}.hotel-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));align-content:start;gap:3px}.hotel-item{position:relative;min-width:0;height:49px;background:#c9c9c5;border:1px solid #111;border-radius:6px;padding:0;overflow:hidden;box-shadow:inset 0 0 0 1px #ddd}.hotel-item canvas{width:58px;height:44px;max-width:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.hotel-item:hover{background:#deded8}.hotel-item.selected{background:#e5f4f5;border-color:#218fab;box-shadow:inset 0 0 0 2px #7fd7e9}.catalog-item-area .hotel-item{background:#e1e1d8;border-color:transparent;border-radius:1px;box-shadow:none}.catalog-item-area .hotel-item.selected{border:2px solid #66bdd4;background:#fff}.item-cost{position:absolute;right:1px;top:1px;min-width:19px;text-align:center;background:#138400;color:#fff;border:1px solid #295517;font-size:9px;line-height:10px}.item-quantity{position:absolute;right:1px;top:1px;font-size:10px;background:#fff;border:1px solid #777;border-radius:3px;padding:0 3px}.catalog-item-area #product-count{display:block;color:#696965;font-size:10px;padding:7px 1px}.catalog-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:10px}.hotel-green{height:25px;min-width:145px;background:linear-gradient(#19b900 0,#19b900 50%,#079600 50%);border:2px solid #123b04;border-radius:4px;box-shadow:inset 0 1px #7bd758;color:#fff!important;font-weight:bold!important}.hotel-green:disabled{background:#c6c6c1;border:1px solid #a7a7a1;box-shadow:none;color:#8d8d87!important;cursor:default}.hotel-button{padding:5px 8px;border:1px solid #111;border-radius:4px;background:linear-gradient(#fafaf6,#c7c7c0);box-shadow:inset 1px 1px #fff}.hotel-button:disabled{opacity:.45;cursor:default}.hotel-empty{grid-column:1/-1;font-size:12px;line-height:1.5;padding:12px;color:#62625e;margin:0}
.inventory-window{width:490px;height:340px}.inventory-body{padding:4px 11px 10px;height:calc(100% - 30px);display:flex;flex-direction:column}.hotel-tabs{display:flex;gap:0;border-bottom:1px solid #fff;padding:0 3px}.hotel-tabs button{background:#bdbdb6;border:1px solid #111;border-radius:8px 8px 0 0;padding:8px 11px;margin-bottom:-1px}.hotel-tabs button.selected{background:#e9e9df;border-bottom-color:#e9e9df}.inventory-filters{display:flex;gap:8px;align-items:center;padding:6px 0}.inventory-filters input{width:60%}.inventory-filters span{font-size:10px;color:#666;margin-left:auto}.inventory-layout{display:grid;grid-template-columns:minmax(0,1fr) 174px;gap:8px;min-height:0;flex:1}.inventory-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:42px;gap:3px;overflow-y:auto;padding-right:3px}.inventory-grid .hotel-item{height:42px;border-radius:7px}.inventory-grid .hotel-item canvas{width:52px;height:39px}.inventory-detail{display:flex;flex-direction:column;align-items:stretch;min-width:0}.inventory-detail h3{margin:4px 0 0;min-height:28px;font-size:12px;text-align:center}.inventory-detail canvas{width:174px;height:145px;image-rendering:pixelated;object-fit:contain}.inventory-detail p{font-size:10px;margin:3px 0 7px;text-align:center}.inventory-detail .hotel-button{margin-top:auto;width:100%;font-size:12px}.navigator-window{width:390px}.navigator-body{padding:12px}.navigator-body>p{font-size:12px;margin:0 0 12px}.navigator-body .room-card{font:12px Arial;padding:12px;border-radius:4px;background:#d0d0c7;border:1px solid #888;color:#222}.navigator-body .room-card small{color:#555}
@media(min-width:1500px){main{grid-template-columns:100px minmax(0,1fr)}}@media(max-width:1050px){main{grid-template-columns:75px minmax(0,1fr)}}@media(max-width:760px){main{grid-template-columns:60px minmax(0,1fr);height:calc(100dvh - 70px);min-height:560px}.rail{grid-row:auto}.game{height:100%;min-height:560px}.edition{display:none}.hotel-wallet{font-size:10px}.hotel-wallet .coin{display:none}header{gap:12px}.connection{font-size:10px}.catalog-window{width:565px;max-width:calc(100vw - 8px);height:560px;max-height:calc(100dvh - 12px)}.catalog-layout{grid-template-columns:125px minmax(0,1fr);gap:4px}.catalog-content{grid-template-rows:210px minmax(68px,1fr) 40px}.catalog-banner{padding:10px;gap:10px}.catalog-banner strong{font-size:17px}.catalog-banner p{font-size:11px}.catalog-sidebar #categories button{font-size:11px;padding:6px 2px;gap:3px}.catalog-actions{flex-direction:column;align-items:stretch;gap:2px;justify-content:center}.hotel-green{min-width:0;height:24px}.inventory-window{max-width:calc(100vw - 8px)}.inventory-layout{grid-template-columns:minmax(0,1fr) 140px}.inventory-detail canvas{width:140px;height:135px}.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hotel-tabs button{font-size:11px;padding:8px}.hotel-close{right:6px}}
.admin-window{width:min(900px,calc(100vw - 12px))}.admin-table td.muted{color:#a55}.admin-time{white-space:nowrap}.admin-body{padding:8px;display:flex;flex-direction:column;gap:6px;max-height:min(480px,calc(100dvh - 90px))}.admin-top{display:flex;gap:8px;align-items:center}.admin-top input{flex:1;padding:4px 6px;border:1px solid #111;border-radius:3px}.admin-table-wrap{overflow:auto;border:1px solid #111;background:#fff}.admin-table{width:100%;border-collapse:collapse}.admin-table th{position:sticky;top:0;background:#c7c7c0;text-align:left;padding:4px 6px;border-bottom:1px solid #111}.admin-table td{padding:3px 6px;border-bottom:1px solid #ddd;vertical-align:middle}.admin-table tr.banned td{color:#a22;text-decoration:line-through}.admin-table tr.banned .admin-actions{text-decoration:none}.admin-actions{white-space:nowrap}.admin-actions .hotel-button{width:auto;margin:0 2px 0 0;padding:2px 6px;font-size:11px}.admin-actions .danger{color:#a00}.admin-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#999;border:1px solid #333}.admin-dot.on{background:#19b900}.admin-table input{width:110px;padding:2px 4px;border:1px solid #111}
.avatar-window{width:min(640px,calc(100vw - 12px))}.avatar-body{padding:8px;max-height:calc(100dvh - 60px);overflow:auto}
.avatar-editor{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px}.ae-left{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.ae-preview{width:100%;height:auto;background:linear-gradient(#cfe3ea,#e9f1f4);border:1px solid #111;border-radius:4px;image-rendering:pixelated}
.ae-view{display:flex;gap:4px}.ae-view .hotel-button{width:auto;margin:0;padding:3px 8px}.ae-view select{flex:1;min-width:0;border:1px solid #111;border-radius:3px;padding:3px}
.ae-gender{display:flex;gap:4px}.ae-gender .hotel-button{margin:0;flex:1;padding:4px}.ae-gender .selected{background:linear-gradient(#a9d3e4,#6fb0cc);font-weight:bold}
.ae-extras{display:flex;flex-direction:column;gap:4px}.ae-extras .hotel-button{margin:0;padding:4px}
.ae-right{display:flex;flex-direction:column;gap:8px;min-width:0}.ae-tabs{flex-wrap:wrap}
.ae-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:5px;max-height:200px;overflow:auto;padding:4px;background:#fff;border:1px solid #111;border-radius:4px}
.ae-item{display:flex;align-items:center;justify-content:center;padding:2px;background:#e6e6de;border:1px solid #999;border-radius:4px;min-height:80px}.ae-item canvas{image-rendering:pixelated;max-width:100%}.ae-item.selected{border-color:#278aa5;background:#cfe9f1;box-shadow:inset 0 0 0 1px #80cce1}.ae-none{font-size:11px;color:#444}
.ae-colors{display:flex;flex-direction:column;gap:6px;max-height:110px;overflow:auto}.ae-color-group strong{display:block;margin-bottom:3px}.ae-swatches{display:flex;flex-wrap:wrap;gap:3px}
.ae-swatch{width:18px;height:18px;padding:0;border:1px solid #333;border-radius:3px}.ae-swatch.selected{outline:2px solid #fff;box-shadow:0 0 0 3px #278aa5}.ae-hint{margin:0;color:#555}
.ae-footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.ae-footer .hotel-button{width:auto;margin:0;padding:4px 14px}.ae-footer .hotel-green:disabled{filter:grayscale(1);opacity:.6;cursor:not-allowed}
@media(max-width:560px){.avatar-editor{grid-template-columns:1fr}.ae-preview{max-width:170px;align-self:center}}
/* Resizable windows, admin tabs, catalog editor, VIP */
.hotel-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;z-index:3;touch-action:none;background:linear-gradient(135deg,transparent 0 48%,#6a8896 48% 56%,transparent 56% 64%,#6a8896 64% 72%,transparent 72% 80%,#6a8896 80% 88%,transparent 88%)}
.hotel-resize:focus-visible{outline:2px dotted #000}
.admin-window{width:1040px;height:700px;display:flex;flex-direction:column}
.admin-window .admin-body{flex:1;min-height:0;max-height:none;overflow:hidden}
.admin-tabs{flex:none}.admin-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.admin-panel[hidden]{display:none}.admin-top{flex:none}
.admin-table-wrap{flex:1;min-height:0;overflow:auto}
.acat-toolbar{display:flex;gap:6px;flex:none}.acat-toolbar input{flex:1;padding:4px 6px;border:1px solid #111;border-radius:3px}.acat-toolbar .hotel-button{width:auto;margin:0;padding:3px 10px}
.acat-vip{flex:none;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:4px 8px;background:#d7d7ce;border:1px solid #999;border-radius:4px}.acat-vip label{display:flex;gap:4px;align-items:center}.acat-vip input{width:78px;padding:2px 4px;border:1px solid #111}
.acat-body{flex:1;min-height:0;display:flex;gap:8px}
.acat-cats{width:235px;flex:none;overflow:auto;border:1px solid #111;background:#fff}
.acat-cat{padding:4px 6px;border-bottom:1px solid #ddd}.acat-cat.selected{background:#cfe9f1}.acat-cat.off .acat-cat-name{text-decoration:line-through;color:#777}
.acat-cat-name{display:block;width:100%;text-align:left;margin:0;border:0;background:none;box-shadow:none;font-weight:bold;padding:2px}
.acat-cat-controls{display:flex;flex-wrap:wrap;gap:3px;align-items:center;margin-top:3px}.acat-cat-controls select{max-width:96px}.acat-visible{display:flex;align-items:center;gap:2px}
.hotel-window .acat-small{width:auto;margin:0;padding:1px 6px;font-size:11px}.hotel-window .acat-body .danger{color:#a00}
.acat-items{flex:1;min-width:0;overflow:auto;border:1px solid #111;background:#fff}
.acat-table input:not([type]),.acat-table input[type=text]{width:128px;padding:2px 4px;border:1px solid #888}.acat-table input[type=number]{width:72px;padding:2px 4px;border:1px solid #888}.acat-table select{max-width:108px}
.acat-table tr.off td{color:#888}.acat-table td.center{text-align:center}.acat-table td.empty{text-align:center;color:#666;padding:14px}
.acat-form{display:flex;flex-direction:column;gap:8px;margin-top:6px}.acat-form label{display:flex;flex-direction:column;gap:3px;color:#333}.acat-form select,.acat-form input{padding:5px;border:1px solid #888;border-radius:3px;background:#fff;color:#222}
.vip-badge{color:#ffd95a;font:bold 12px Arial;margin-right:8px;text-shadow:1px 1px #000;white-space:nowrap}
.hotel-item{position:relative}.item-vip{position:absolute;left:3px;top:0;color:#d99a00;font-size:13px;text-shadow:0 0 2px #fff}
#categories .vip-category{color:#a87400}
.hotel-item-grid .vip-plan{grid-column:span 3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:74px;height:auto;padding:6px}.vip-plan strong{font-size:13px}.vip-plan span{font-weight:bold;color:#2a6a00}.vip-plan small{color:#555}
.ae-item{position:relative}.ae-item.locked canvas{opacity:.45;filter:grayscale(.6)}.ae-lock{position:absolute;right:4px;top:3px;font-size:13px}
/* Admin catalog as a shop-like editor (categories left, content right) */
.admin-panel[data-admin-panel="catalog"]{overflow:hidden}
.acat{flex:1;min-height:0;display:flex;gap:8px}
.acat-side{width:200px;flex:none;overflow:auto;border:1px solid #111;background:#d7d7ce;padding:3px;display:flex;flex-direction:column;gap:2px}
.hotel-window .acat-entry{display:block;width:100%;margin:0;text-align:left;padding:6px 8px;border:1px solid #888;border-radius:3px;background:linear-gradient(#fafaf6,#d4d4cd);font-weight:bold;font-size:11px;line-height:1.2}
.hotel-window .acat-entry.vip{color:#8a5d00;background:linear-gradient(#fff3c4,#e9cf7a)}.hotel-window .acat-entry.selected{background:linear-gradient(#a9d3e4,#6fb0cc);border-color:#1b4353;color:#0b2a36}.hotel-window .acat-entry.off{opacity:.6;font-style:italic}.hotel-window .acat-entry.add{border-style:dashed;font-weight:normal}
.acat-main{flex:1;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px;padding-right:2px}
.acat-plans{flex:none;padding:6px 8px;background:#efe6c4;border:1px solid #b99a3a;border-radius:4px}.acat-plans h3{margin:0 0 4px}.acat-plans table{background:#fff;width:auto;min-width:420px}.acat-add-plan{width:auto;margin:6px 0 0;padding:3px 10px}
.acat-head{flex:none;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:4px 6px;background:#d7d7ce;border:1px solid #999;border-radius:4px}.acat-head h3{margin:0;font-size:14px}.acat-head-controls{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-left:auto}
.acat-hint{margin:0;color:#555;font-size:11px;flex:none}
.acat-list{flex:1;min-height:200px;display:flex;flex-direction:column;gap:4px}
.acat-bar{flex:none;display:flex;flex-wrap:wrap;gap:6px}.acat-bar input{flex:1;min-width:120px;padding:4px 6px;border:1px solid #111;border-radius:3px}
.acat-bulk{flex:none;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:3px 6px;background:#e2e2da;border:1px solid #bbb;border-radius:4px}.acat-bulk input[type=number]{width:70px;padding:2px 4px;border:1px solid #888}.acat-counter{color:#555;font-size:11px;margin-right:auto}
.acat-rows{flex:1;min-height:150px;overflow:auto;border:1px solid #111;background:#fff}
.acat-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-bottom:1px solid #ddd}.acat-row.dim{background:#f3f3ee;opacity:.78}.acat-row.off .acat-text input{text-decoration:line-through;color:#888}
.acat-member{flex:none;display:flex;align-items:center;padding:4px;cursor:pointer}.acat-member input{width:18px;height:18px}
.acat-thumb{flex:none;width:76px;height:76px;display:flex;align-items:center;justify-content:center;background:#e6e6de;border:1px solid #aaa;border-radius:4px;overflow:hidden}.acat-thumb canvas{image-rendering:pixelated;max-width:100%;max-height:100%}
.acat-text{flex:1;min-width:120px;display:flex;flex-direction:column;gap:3px}.acat-text input{width:100%;padding:3px 5px;border:1px solid #888;border-radius:3px}.acat-text input:disabled{background:#eee;color:#666}
.acat-meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:#555;font-size:11px}.acat-where{color:#8a5d00}
.acat-fields{flex:none;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;max-width:290px;justify-content:flex-end}.acat-fields input[type=number]{width:70px;padding:2px 4px;border:1px solid #888}.acat-fields input:disabled,.acat-fields select:disabled{opacity:.5}
.acat-empty{margin:0;padding:18px;text-align:center;color:#666}
.hotel-window .acat-small{width:auto;margin:0;padding:2px 8px;font-size:11px}.acat-form{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.vip-section{grid-column:1/-1;margin:6px 2px 0;font:bold 11px Arial;color:#6c4a00}.hotel-item.vip-included canvas{image-rendering:pixelated}
.ae-vip{position:absolute;left:4px;top:2px;color:#d99a00;font-size:13px;text-shadow:0 0 2px #fff}.ae-lock{font-size:11px;font-weight:bold;background:#fff8;border-radius:3px;padding:0 3px}
.admin-maintenance{padding:10px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.admin-maintenance p{margin:0;max-width:640px;line-height:1.5}.hotel-window .admin-reload{width:auto;padding:6px 16px;font-weight:bold}
/* Navigator: fixed size, resizable, list scrolls */
.hotel-window.navigator-window{width:430px;height:520px;display:flex;flex-direction:column}
.navigator-window .navigator-body{flex:1;min-height:0;max-height:none}
.navigator-window .navigator-rooms{flex:1;min-height:70px;max-height:none;overflow:auto}
/* Room rights in the room settings */
.rights-settings p{margin:0 0 6px;font-size:11px}.rights-list{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow:auto}.rights-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 6px;background:#fff;border:1px solid #bbb;border-radius:3px}.rights-row .hotel-button{width:auto;margin:0;padding:2px 8px}
.admin-server{padding:10px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.admin-server h3{margin:0}.admin-server p{margin:0;max-width:640px;line-height:1.5}.admin-server-row{display:flex;gap:14px}.admin-server-row label{display:flex;flex-direction:column;gap:3px}.admin-server input{width:110px;padding:4px 6px;border:1px solid #111;border-radius:3px}.hotel-window .admin-save{width:auto;padding:5px 18px;font-weight:bold}
.acat-row.focus{background:#fff2b8;box-shadow:inset 0 0 0 2px #e0a800}
.info-hint{display:block;margin:4px 0;color:#666;font-size:10px;line-height:1.3}
.admin-window .hotel-titlebar{background:#b0302a;border-bottom-color:#5c1410;box-shadow:inset 0 1px #e58a82}

.furniture-window{width:440px;height:360px}.furniture-body{padding:4px 11px 10px;height:calc(100% - 30px);display:flex;flex-direction:column;gap:6px}.furniture-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:3px}.furniture-row{display:flex;align-items:center;gap:4px;padding:3px 5px;background:#fff8;border:1px solid #fff}.furniture-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.furniture-row button{font-size:11px;padding:2px 6px}.furniture-empty{margin:8px;text-align:center}
.chat-history{position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 24px));z-index:6;display:flex;flex-direction:column;align-items:stretch}.chat-history-log{overflow-y:auto;overscroll-behavior:contain;background:#141d21e6;color:#eeeae0;border:0 solid #46535c;border-width:0 1px;font:12px/1.4 Arial,sans-serif;padding:0 10px}.chat-history.open .chat-history-log{padding:6px 10px;border-bottom:1px solid #46535c}.chat-history-row{margin:0 0 3px;overflow-wrap:anywhere}.chat-history-row strong{color:#e9dba7}.chat-history-row.chat-pet strong{color:#9fd4a5}.chat-history-row.chat-bot strong{color:#9cc7f0}.chat-history-handle{align-self:center;width:64px;height:16px;padding:0;background:#141d21e6;border:1px solid #46535c;border-top:0;border-radius:0 0 8px 8px;cursor:ns-resize;touch-action:none}.chat-history-handle span{display:block;width:30px;height:3px;margin:0 auto;border-top:1px solid #8a99a1;border-bottom:1px solid #8a99a1}
.command-tag{margin-left:auto;padding:1px 6px;border-radius:3px;background:#d9e7ee;color:#2a4654;font-size:10px;white-space:nowrap}

.catalog-wallet{display:flex;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;background:#0d2f3c;border:1px solid #2b6478;border-radius:4px;font:bold 14px Arial,sans-serif;color:#fff;white-space:nowrap}.catalog-wallet span:last-child{font-weight:normal;font-size:11px}.catalog-coin{width:26px;height:26px;flex:none;background:url('/assets/ui/habbo-web-sprite.png') -889px -834px;image-rendering:pixelated}.catalog-amount{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:11px}.catalog-amount[hidden]{display:none}.catalog-amount select{padding:2px 4px}

.admin-panel[data-admin-panel=rooms]{overflow:hidden}.admin-room-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.admin-room-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#e6e6de;border:1px solid #b5b5ab;border-radius:3px}.admin-room-info{flex:1;min-width:0;display:flex;flex-direction:column}.admin-room-info strong,.admin-room-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-room-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.admin-room-actions button{font-size:11px;padding:3px 7px;min-height:0;min-width:0}.admin-danger{color:#9b1c1c}

.hotel-item.sold-out{filter:grayscale(1);opacity:.55}.hotel-item.sold-out .item-cost{background:#777}.item-stock{position:absolute;left:2px;bottom:1px;padding:0 3px;font:bold 9px Arial,sans-serif;color:#fff;background:#8b5a00;border-radius:2px;pointer-events:none}.acat-stock{display:flex;align-items:center;gap:4px;font-size:11px}.acat-stock input{width:70px}.acat-sold{font-size:10px;color:#555;white-space:nowrap}.acat-sold.empty{color:#a11;font-weight:bold}

#catalog-live-toggle{width:100%;margin-bottom:6px;font-size:11px;padding:4px}#catalog-live-toggle.selected{background:#f1d479}
.catalog-live #categories{display:flex;flex-direction:column;gap:3px}.live-category{display:flex;flex-direction:column;gap:2px;padding:3px;border:1px solid #bbb;border-radius:3px;background:#eee}.live-category.selected{border-color:#1d6b88;background:#dbeef5}.live-category.hidden-category .live-category-name{opacity:.5;text-decoration:line-through}
.live-category-name{all:unset;cursor:pointer;font:bold 11px Arial,sans-serif;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-category-tools{display:flex;gap:2px;align-items:center}.live-small{min-width:20px;padding:0 3px;font-size:10px;line-height:16px}.live-audience{font-size:10px;max-width:72px}
.live-item{position:relative;cursor:pointer}.live-item.hidden-item{opacity:.5}.live-item-tools{position:absolute;top:1px;right:1px;display:flex;gap:1px}.live-remove{color:#9b1c1c}.live-add{grid-column:1/-1;font-size:11px;padding:4px}.live-clothing{font-size:9px}
.message-box.live-checklist-box{width:min(520px,calc(100vw - 24px))}.live-checklist-box .message-body{padding:10px 12px 4px}
.live-checklist{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.live-checklist input[type=search]{box-sizing:border-box;width:100%;padding:5px 8px;background:#fff;color:#222;border:1px solid #888;border-radius:3px;font:12px Arial}.live-checklist>small{color:#555}
.live-checklist-list{box-sizing:border-box;max-height:min(55vh,460px);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:1px;border:1px solid #bbb;background:#fff}
.live-check-row{display:grid;grid-template-columns:16px 40px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:32px;padding:1px 6px;background:#f7f7f2;cursor:pointer}.live-check-row:nth-child(even){background:#efefe8}.live-check-row:hover{background:#e3eef3}.live-check-row.checked{background:#dbeedb}
.live-check-row input{margin:0;width:14px;height:14px;accent-color:#2f8f1f}.live-check-row canvas{width:40px!important;height:30px!important}.live-check-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#222}.live-check-row small{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777;font-size:10px}

#tv-stage{position:fixed;left:0;top:0;width:0;height:0;overflow:visible;pointer-events:none}
.tv-player{position:fixed;left:0;top:0;width:320px;height:180px;transform-origin:0 0;pointer-events:none;background:#000}.tv-player iframe{width:100%;height:100%;border:0;display:block}
.tv-window{width:520px;height:470px}.tv-body{padding:8px 11px 10px;height:calc(100% - 30px);display:flex;flex-direction:column;gap:6px;overflow:auto}
.tv-frame{flex:1;min-height:150px;display:flex;flex-direction:column;padding:12px 12px 0;background:linear-gradient(#5b5b5f,#2c2c30);border:2px solid #111;border-radius:14px;box-shadow:inset 0 2px 0 #8a8a90,0 3px 0 #111}
.tv-screen{position:relative;flex:1;min-height:120px;background:#000;border:3px solid #111;border-radius:6px;box-shadow:inset 0 0 18px #000;overflow:hidden}.tv-window-player{position:absolute;inset:0}.tv-window-player iframe{width:100%;height:100%;border:0;display:block;pointer-events:none}.tv-screen.off{background:radial-gradient(ellipse at 50% 45%,#2b3438,#050607 70%)}
.tv-bezel{display:flex;align-items:center;justify-content:space-between;height:26px;padding:0 6px}.tv-brand{font:bold 10px Arial,sans-serif;letter-spacing:2px;color:#c9c9cf}.tv-led{width:7px;height:7px;border-radius:50%;background:#e33;box-shadow:0 0 4px #f55}
.tv-status{margin:0;font-size:11px;color:#333}.tv-audio{display:flex;align-items:center;gap:8px}.tv-audio input{flex:1}.tv-audio output{min-width:44px;text-align:right;font-size:11px}
#tv-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}#tv-controls[hidden]{display:none}.tv-form{display:flex;gap:6px;flex:1;min-width:240px}.tv-form input{flex:1;min-width:0;padding:4px 6px}.tv-form .hotel-green{width:auto;min-width:0;min-height:0;padding:4px 12px;font-size:12px}.tv-hint{color:#666}
.tv-seek{display:flex;align-items:center;gap:8px}.tv-seek input{flex:1}.tv-seek output{min-width:40px;font:11px Arial,sans-serif;color:#333;text-align:center}

/* Classic hotel TV: blue title bar, pixel bezel and tactile controls. */
.tv-window{width:540px;height:492px;border:2px solid #121b21;border-radius:7px;background:#e8e8df;box-shadow:inset 0 0 0 1px #fff,4px 4px #0005}.tv-window .hotel-titlebar{background:linear-gradient(#75bed8 0 4px,#3980a0 4px 50%,#276986 50%);border-bottom:2px solid #13242c;color:#fff;text-shadow:1px 1px #163c50}.tv-body{background:#e8e8df;padding:10px 12px;gap:8px}.tv-frame{padding:12px 12px 0;border:3px solid #111;border-radius:5px;background:linear-gradient(90deg,#777c83 0 4px,#40454d 4px calc(100% - 4px),#272c33 calc(100% - 4px));box-shadow:inset 0 3px #a1a6ab,0 3px #b6b6ae}.tv-screen{border:3px solid #15191e;border-radius:2px;box-shadow:0 0 0 2px #7c858b;min-height:150px}.tv-bezel{height:29px;gap:12px}.tv-bezel:after{content:'';width:70px;height:12px;background:repeating-linear-gradient(0deg,#1c2228 0 2px,#60656b 2px 3px);border:1px solid #252b30}.tv-brand{color:#f5d46a;font:bold 11px monospace;letter-spacing:2px;text-shadow:1px 1px #111}.tv-led{box-shadow:0 0 0 2px #181e24}.tv-audio,.tv-seek{padding:5px 7px;background:#d2d3cb;border:1px solid #aaa;border-radius:3px;box-shadow:inset 0 1px #fff}.tv-body input[type=range]{accent-color:#3984a4}.tv-body button{border:2px solid #303b40;border-radius:4px;background:linear-gradient(#fff 50%,#d5d7cf 50%);box-shadow:inset 0 1px #fff;font-weight:bold}.tv-body #tv-form button{color:white;border-color:#18400d;background:linear-gradient(#49a93a 50%,#328725 50%)}

.catalog-category-icon{width:24px;height:24px;object-fit:contain;image-rendering:pixelated;flex:none;vertical-align:middle}.catalog-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:5px;max-height:350px;overflow:auto;width:min(570px,75vw);margin-top:10px}.catalog-icon-grid button{height:44px;display:grid;place-items:center;padding:3px}.catalog-icon-grid button[aria-pressed=true]{background:#c8e8b5;border:2px solid #458529}


/* Keep category artwork at native pixel size and separate every entry clearly. */
.catalog-sidebar #categories{gap:0;padding:4px;background:#c7c9c2}
.catalog-sidebar #categories>button[data-category]{display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;flex-shrink:0;min-height:48px;padding:5px 7px;background:#d8dad2;border:1px solid transparent;border-bottom-color:#91978e;box-shadow:inset 0 1px #f8f9ef;color:#42483f;line-height:1.25}
.catalog-sidebar #categories>button[data-category]:last-child{border-bottom-color:transparent}
.catalog-sidebar #categories>button[data-category]:hover{background:#edf0e6}
.catalog-sidebar #categories>button[data-category].selected{background:linear-gradient(#62c2d9,#48acc7);border-color:#2d829a;box-shadow:inset 0 1px #a0e4ee;color:#fff}
.catalog-sidebar #categories>button[data-category]:focus-visible{outline:2px solid #275c74;outline-offset:-3px}
.catalog-sidebar #categories .catalog-category-icon{width:36px;height:36px;object-fit:scale-down;image-rendering:pixelated;display:block}
.catalog-sidebar #categories .catalog-category-label{display:block;width:auto;min-width:0;font:inherit;color:inherit;overflow-wrap:anywhere}
@media(max-width:760px){.catalog-sidebar #categories>button[data-category]{gap:5px;padding:5px 3px}}

.catalog-load-more{grid-column:1/-1;padding:12px 5px;text-align:center;color:#596057;font:11px Arial}
/* Room settings: every section in the same frame; text fields as wide as the other inputs. */
.settings-scroll fieldset.surface-settings{margin:10px 0 16px;padding:12px;border:1px solid #aaa99e;border-radius:4px}.settings-scroll .surface-settings legend{font-size:inherit;color:inherit;padding:0 5px}
.settings-scroll #room-rename-input{display:block;width:100%;margin-top:6px;border:1px solid #888;border-radius:3px;padding:7px;background:#fff;color:#222;box-sizing:border-box;font:12px Arial}
#room-rename-save{margin-top:10px}
.settings-scroll .walls-settings>p,.settings-scroll .light-settings>p{margin:0 0 4px}.settings-scroll .light-settings label:last-child{margin-top:10px}
/* Furniture settings: animation tab */
.fse-anim-modes{display:grid;gap:6px;margin:8px 0}.fse-anim-mode{display:flex!important;gap:8px;align-items:flex-start;padding:7px 8px;border:1px solid #b9b8ad;border-radius:4px;background:#f3f2ea;cursor:pointer}.fse-anim-mode:has(input:checked){border-color:#4f8fa8;background:#e3f1f6}.fse-anim-mode span{display:grid;gap:2px}.fse-anim-mode small{color:#555}
.fse-anim-list{margin:6px 0;padding-left:22px;display:grid;gap:4px}.fse-anim-row{display:flex;align-items:center;gap:5px}.fse-anim-row select{flex:1;min-width:0}.fse-anim-row input{width:70px}.fse-anim-row .hotel-button{width:auto;min-width:26px;padding:2px 6px;margin:0}
.fse-anim-steps>.hotel-button{width:auto}.fse-anim-total{display:block;margin-top:4px;color:#555}
.fse-anim-previewbox{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.fse-anim-preview{background:#d9d8cf;border:1px solid #aaa;image-rendering:pixelated}.fse-anim-previewbox .hotel-button{width:auto}
/* Bot settings window */
.message-box.bot-editor-box{width:min(660px,100%)}
.bot-editor{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;min-height:330px;text-align:left}
.bot-editor-side{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;background:linear-gradient(#3e5866,#2b414d);border:1px solid #17252c;border-radius:6px;color:#fff;box-shadow:inset 0 1px #6f8e9c}
.bot-card-art{display:grid;place-items:center;width:150px;height:150px;background:radial-gradient(ellipse at 50% 88%,#0006 0 18%,transparent 19%),linear-gradient(#5f8291,#47697a);border:1px solid #1b2c35;border-radius:5px}
.bot-card-art canvas{image-rendering:pixelated}
.bot-turns{display:flex;gap:6px}.bot-turn{width:auto!important;min-width:34px;padding:2px 8px!important;margin:0!important}
.bot-editor-name{font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bot-editor-owner{color:#bcd3dc;font-size:11px}
.bot-actions{display:grid;gap:5px;width:100%;margin-top:auto}.bot-editor-side .hotel-button{color:#111;text-shadow:none}.bot-action{width:100%!important;margin:0!important;text-align:left;font-size:12px}
.bot-editor-main{display:flex;flex-direction:column;min-width:0}.bot-editor-tabs{margin-bottom:8px}
.bot-editor-panel{display:flex;flex-direction:column;gap:10px;flex:1}
.bot-field{display:grid;gap:4px;font:bold 12px Arial;color:#24323a}.bot-field input{padding:7px;border:1px solid #888;border-radius:3px;background:#fff;color:#222;font:13px Arial}.bot-field-hint{font-weight:normal;color:#666}
.bot-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;border:1px solid #b9b8ad;border-radius:4px;background:#f3f2ea;cursor:pointer}.bot-toggle span{display:grid;gap:2px;font-size:12px}.bot-toggle small{color:#666}.bot-toggle input{width:18px;height:18px;accent-color:#62784a}
.bot-messages{list-style:none;margin:0;padding:0;display:grid;gap:5px;max-height:220px;overflow:auto}.bot-message{display:flex;gap:5px}.bot-message input{flex:1;min-width:0;padding:6px 7px;border:1px solid #888;border-radius:3px;background:#fff;color:#222}.bot-remove{width:auto!important;margin:0!important;padding:2px 8px!important}
.bot-counter{color:#555}.bot-editor-panel>.hotel-button{align-self:flex-start;width:auto}
.bot-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bot-interval{margin:0;padding:8px 10px;background:#e3f1f6;border:1px solid #9cc4d3;border-radius:4px;font-size:12px;color:#24425a}.bot-interval:empty{display:none}
.bot-error{margin:8px 0 0;padding:6px 8px;background:#fde3df;border:1px solid #c9776b;border-radius:4px;color:#7a1f12;font-size:12px}
.bot-card-info{display:flex;gap:14px;align-items:center;text-align:left}.bot-card-text{display:grid;gap:4px}.bot-card-text strong{font-size:16px}.bot-card-tag{justify-self:start;padding:1px 7px;border-radius:9px;background:#4f7fb3;color:#fff;font-size:10px;font-weight:bold}.bot-card-text p{margin:0}.bot-card-text small{color:#666}
@media (max-width:560px){.bot-editor{grid-template-columns:1fr}.bot-grid{grid-template-columns:1fr}}
.fse-light-states{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;border:1px solid #c9c8bd;border-radius:4px;padding:6px 10px}.fse-light-states legend{font:bold 11px Arial}.fse-light-hint{flex-basis:100%;color:#7a1f12}
.admin-backup{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:14px;padding-top:12px;border-top:1px solid #b9b8ad;max-width:640px}.admin-backup h3{margin:0}.admin-backup p{margin:0;line-height:1.5}.admin-backup-restore{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-backup-status{color:#245a1c;min-height:1.2em}

.inventory-window .inventory-body{min-height:0}.inventory-window .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));align-content:start}.inventory-window .inventory-detail{overflow-y:auto;padding-right:2px}.inventory-window .inventory-body>.hotel-tabs{flex-shrink:0;flex-wrap:wrap}

.inventory-detail #inventory-state{margin-top:6px;margin-bottom:5px;flex-shrink:0}

.inventory-grid [data-inventory-furniture]{touch-action:none;user-select:none;cursor:grab}.inventory-dragging,.inventory-dragging *{cursor:grabbing!important;user-select:none!important}

.message-box.catalog-icon-dialog{width:min(610px,calc(100vw - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column}.catalog-icon-dialog .message-body{min-height:0;overflow:hidden}.catalog-icon-dialog .catalog-icon-grid{width:100%;max-height:min(350px,calc(100dvh - 200px));box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.catalog-icon-dialog .message-buttons{flex-shrink:0}

.acat-save-actions{display:flex;align-items:center;gap:8px;padding:8px;flex-shrink:0}.acat-save-actions span{margin-right:auto}#admin-catalog{min-height:0}.acat-save-actions+.acat{height:calc(100% - 46px)}

.inventory-window{width:620px;height:440px;overflow:hidden}.inventory-window .inventory-body{box-sizing:border-box;overflow:hidden}.inventory-window .inventory-layout{grid-template-columns:minmax(0,1fr) 190px;overflow:hidden}.inventory-window .inventory-detail{overflow:hidden;padding:0 2px 0 6px;gap:6px}.inventory-window .inventory-detail h3{flex-shrink:0;min-height:18px;margin:0;text-wrap:balance}.inventory-window .inventory-detail canvas{display:block;box-sizing:border-box;width:100%;height:180px;max-height:42%;flex-shrink:1;min-height:90px;border:1px solid #b3b4ad;border-radius:7px;background:radial-gradient(ellipse at 50% 82%,#b8bcb448,transparent 55%),linear-gradient(#f4f4ed,#dadbd2);object-fit:contain}.inventory-window .inventory-detail p{margin:0;flex-shrink:0}.inventory-window .inventory-detail .hotel-button{margin:0;flex-shrink:0}.inventory-window .inventory-detail #inventory-state{align-self:center;width:auto;min-width:80px;font-size:11px;padding:3px 8px;height:24px}.inventory-window .inventory-detail #place-item{margin-top:auto}.inventory-window *{scrollbar-width:none}.inventory-window ::-webkit-scrollbar{display:none}.inventory-window .inventory-grid{overflow-x:hidden;overflow-y:auto}.inventory-window .inventory-filters input{min-width:0}.inventory-window .inventory-detail #inventory-catalog{font-size:11px}

.props-admin>div:first-child{display:flex;gap:10px;padding:10px}.props-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:12px;height:calc(100% - 55px);padding:0 10px 10px;min-height:0}.props-list,.props-detail{overflow:auto;min-height:0}.props-list{display:flex;flex-direction:column;gap:3px}.props-list button{text-align:left;flex-shrink:0}.props-list .selected{background:#bce2ee}.props-detail form{display:flex;flex-direction:column;gap:10px;max-width:520px}.props-detail label{display:flex;align-items:center;justify-content:space-between;gap:12px}.props-detail canvas{align-self:center;background:radial-gradient(#eef2eb,#d0d9d4);border:1px solid #aaa;border-radius:8px}.ae-left>label select{max-width:190px;display:block}
