/* Hotel-management chrome: brass hardware, dark walnut, readable ledgers. */
:root{--ink:#302b25;--green:#355347;--paper:#e8dfcb;--line:#c5b99f;--muted:#706959;--gold:#d5b369}body{font-family:Arial,Helvetica,sans-serif;background:#202c2a}.ui-icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0}button{border-radius:3px;background:linear-gradient(#f3ecd9,#ded2b7);border-color:#ae9a75;box-shadow:inset 0 1px #fff9,0 1px 1px #0002;color:#3c3428;font-size:11px;font-weight:600}button:hover{background:#f9edcb;border-color:#9a7742}button:disabled{opacity:.48;box-shadow:none}button.primary{background:linear-gradient(#466759,#2f4c3f);border-color:#243d32;color:#fff4d9}button.gold{background:linear-gradient(#e7cd8b,#c4a261);border-color:#927442;color:#3a2d17}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e4ac38;outline-offset:2px}header{height:72px;background:linear-gradient(#3f3d32,#292e29);border-bottom:2px solid #b9934d;padding:0 20px;box-shadow:0 2px 6px #0006;z-index:3}.hotel-brand{font-size:21px;letter-spacing:2.6px;color:#e7d0a1}.hotel-brand small{font:10px Arial;color:#bdb7a2;letter-spacing:.5px}.brand-mark{border-radius:3px;width:42px;height:45px;border:1px solid #b18b4a;box-shadow:inset 0 0 0 3px #383d32,inset 0 0 0 4px #746c4e;font-family:Georgia;font-size:20px}.metrics{gap:0;align-items:stretch}.metrics>div{padding:0 22px;border-left:1px solid #696652;border-right:1px solid #252921}.metrics>div>span{font-size:8px;color:#b9b39d;letter-spacing:1.2px}.metrics strong{font:600 22px 'Trebuchet MS',Arial,sans-serif;letter-spacing:-.5px;color:#f4e5be}.metrics .hotel-rating strong{font-size:17px;color:#d5b369}.settings-btn{display:flex;align-items:center;gap:9px;color:#e7d7b2;border-color:#6b6854;background:#34392e;box-shadow:inset 0 1px #ffffff10;font-size:10px}.settings-btn:hover{background:#4b503c}nav{height:53px;padding:0 14px;background:linear-gradient(#4b4c3e,#363c32);border-bottom:1px solid #222b24;gap:4px;box-shadow:0 2px 5px #0003;z-index:2}nav button{color:#c5c6b5;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;padding:0 15px;border:1px solid transparent;border-bottom:3px solid transparent;background:none;box-shadow:none}nav button .ui-icon{width:19px;height:19px;color:#a9b5a2}nav button.active{color:#f9ebc4;background:#242f28;border-color:#596550;border-bottom-color:#d6b56b}nav button.active .ui-icon{color:#e3c481}nav button:hover{background:#515846;color:#fff}.operations-bar{height:34px;flex-shrink:0;display:flex;align-items:center;background:#d9ceb5;border-bottom:1px solid #af9f7c;padding:0 18px;gap:22px;color:#665a43;font-size:10px}.operations-bar button{background:none;border:0;box-shadow:none;padding:4px 0;font-size:10px;font-weight:400;display:flex;gap:6px;align-items:center}.operations-bar .ui-icon{width:14px;height:14px;color:#897243}.operations-bar b{font-size:11px;color:#3f4738}.operations-bar .alert,.operations-bar .alert b{color:#9b4b2f}.op-result{margin-left:auto;white-space:nowrap}.op-result b{margin-left:8px;font-variant-numeric:tabular-nums}
.hotel-world{background:#82927d;box-shadow:inset 0 0 45px #182d2329}.world-badge{top:15px;left:18px;background:#f1e7ceb8;border-left:3px solid #8c713f;padding:8px 11px;max-width:265px;box-shadow:0 2px 7px #24332815}.world-badge>span{font:700 7px Arial;letter-spacing:1.8px;color:#6d6b50}.world-badge strong{font:600 19px Georgia;margin:4px 0;color:#3e4937}.world-badge small{font:8px Arial;color:#66715b}.hotel-objective{position:absolute;top:101px;left:18px;width:246px;background:#283b32ec;border:1px solid #a9a075;box-shadow:0 3px 9px #1a2c2a33}.objective-open{border:0;background:none!important;box-shadow:none;width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:12px;color:#f4e7c5}.objective-icon{color:#d2b16e}.objective-open>span:nth-child(2){flex:1}.objective-open small{font-size:7px;letter-spacing:1.3px;color:#aebaa2;display:block}.objective-open strong{display:block;font-size:12px;margin:5px 0}.objective-open em{font:9px/1.5 Arial;color:#c7cdb8;display:block}.objective-count{align-self:flex-start;font:10px 'Courier New',monospace;color:#d2b16e}.objective-track{display:flex;gap:3px;padding:0 12px 10px}.objective-track i{height:3px;flex:1;background:#576150}.objective-track i.done{background:#91ad7b}.objective-track i.current{background:#d4b375}.view-switch{position:absolute;right:16px;top:16px;display:flex;gap:1px;border:1px solid #4a5544;background:#27382f;padding:3px;box-shadow:0 2px 8px #0003}.view-switch button{font-size:9px;padding:7px 10px;background:transparent;color:#c5cbb6;box-shadow:none;border:0}.view-switch button[aria-pressed=true]{background:#dbc48c;color:#3a3e2e}.layer-key{position:absolute;right:16px;top:59px;background:#27382fed;color:#e1dfc4;font-size:8px;padding:8px;display:flex;align-items:center;gap:5px}.layer-key:empty{display:none}.layer-key>span{font-size:7px;margin-right:7px}.layer-key i{height:7px;width:7px;display:inline-block}.key-good{background:#6cb48a}.key-mid{background:#dbb063}.key-bad{background:#c36b58}.world-controls{left:18px;bottom:15px;gap:4px}.world-controls button{background:linear-gradient(#3f5848,#283d31);border-color:#9a946d;color:#eee3bd;box-shadow:0 2px 4px #0004;width:31px;height:31px;font-size:17px;border-radius:2px}.world-controls .label-toggle{width:auto;font-size:9px;padding:0 11px}.world-controls .label-toggle[aria-pressed=true]{color:#e4bc6c;border-color:#cfad69}.pause-label{display:none!important}.hotel-status{position:absolute;bottom:22px;right:18px;display:flex;gap:7px;align-items:center;font:8px 'Courier New',monospace;letter-spacing:.3px;background:#243b30dd;padding:8px 10px;color:#dce3c9;border:1px solid #72876b}.hotel-status>span:last-child{color:#b6c5a4;border-left:1px solid #6e8164;margin-left:6px;padding-left:9px}.status-led{width:5px;height:5px;border-radius:50%;background:#9fce83;box-shadow:0 0 6px #aedb7c}.status-led.idle{background:#d9b268;box-shadow:none}.room-selection{position:absolute;left:18px;bottom:60px;display:flex;gap:10px;align-items:center;background:#2b3c32ed;border:1px solid #989a72;padding:10px 12px;min-width:230px;max-width:275px;color:#eae6cc;box-shadow:0 3px 10px #0002}.room-selection>div{flex:1}.selection-icon{color:#b6c7a5}.room-selection small{font-size:7px;letter-spacing:1.1px;color:#b3bca3;display:block}.room-selection strong{font:600 12px Arial;display:block;margin-top:5px}.room-selection button{padding:5px;background:#3b4e3e;color:#e6d6a7;border-color:#728169;box-shadow:none}.room-selection .ui-icon{width:17px;height:17px}
aside{width:356px;padding:19px 18px;background:#e9e0cb;border-left:4px solid #6b6b50;box-shadow:-3px 0 8px #14291c25;color:#3b352a}aside h2{font:700 21px/1.2 'Trebuchet MS',Arial;letter-spacing:-.3px;margin-bottom:7px}aside h3{font:700 15px/1.25 'Trebuchet MS',Arial}aside .intro{font-size:10px;line-height:1.65;color:#706954;margin-bottom:18px}.panel-department{background:#414739;color:#c7c9b0;font-size:7px;letter-spacing:1.1px;display:flex;align-items:center;gap:8px;margin:-19px -18px 18px;padding:10px 17px;border-bottom:2px solid #a58d55}.panel-department .ui-icon{width:15px;height:15px;color:#d4b776}.section-title{font-size:8px;letter-spacing:1px;color:#7c6946}.section{margin-top:18px;padding-top:16px}.card{background:#f1e9d7;border:1px solid #c1ad85;border-radius:3px;padding:13px;box-shadow:inset 0 1px #fffc}.card.selected{border-color:#9b783b;background:#eee0bd;box-shadow:inset 0 0 0 2px #d7c195}.card p{font-size:10px;color:#6c624e}.room-art{display:block;width:100%;height:120px;margin:0 0 13px;background:#34423c;border:1px solid #737c60;image-rendering:auto}.card .room-art{object-fit:contain}.metric-box{padding:12px;background:#d8ceb5;border:1px solid #b9ab89;border-radius:2px;box-shadow:inset 0 1px #ffffff80}.metric-box strong{font:600 23px 'Trebuchet MS',Arial;letter-spacing:-.8px}.metric-box span{font-size:7px;color:#776a50}.notice{border:1px solid #b8a16b;border-left:3px solid #a57b39;background:#ded2ae;color:#5f5135;border-radius:2px;padding:11px;font-size:10px}.row{font-size:11px}.row small,.note{font-size:10px;color:#70664f}.room-summary{background:#ded2b5;border:1px solid #c1ae84;border-radius:2px}.bar{height:7px;background:#c3b89b;border:1px solid #aea382;border-radius:0}.bar>i{background:linear-gradient(#7c9b6d,#5d8055)}.bar.warn>i{background:#ad794d}.room-link{position:relative;padding-left:59px;min-height:58px}.room-link strong{font:700 12px Arial;margin-bottom:6px}.room-link small{font-size:9px;color:#766b51}.room-key{position:absolute;left:10px;top:12px;width:36px;height:31px;display:grid;place-items:center;color:#f6eedb;background:#637d59;border:1px solid #495e41;border-radius:2px;font:600 12px 'Courier New',monospace}.room-key.occupied{background:#5f7b8b;border-color:#486474}.room-key.dirty{background:#a2734b;border-color:#7c552f}.inspector-detail{border-top:1px solid #b9a57d;padding-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:10px}.inspector-detail>span{color:#7c6e50}.inspector-detail>strong{text-align:right}.inspector-detail>small{grid-column:1/-1;color:#77654a}.inspector-detail button{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:5px}.inspector-detail button .ui-icon{width:14px;height:14px}.staff-avatar{height:52px;width:46px;border-radius:3px;overflow:hidden;box-shadow:0 1px 4px #0002}.portrait{height:100%;width:100%;display:block}.person-row strong{font-size:12px}.person-row small{font-size:9px;line-height:1.6}.guest-portrait{display:flex;align-items:center;gap:10px;margin-bottom:12px}.guest-portrait .portrait{width:39px;height:39px;border-radius:3px}.guest-portrait small{display:block;font:7px 'Courier New';color:#8a7654;letter-spacing:1px}.guest-portrait span{font-size:10px;display:block;margin-top:5px}.positive{color:#386337}.negative{color:#9e4c31}input,select{border-radius:2px;background:#f8f0dc;border-color:#b7a47b;font-size:11px}.room-details button{font-size:9px}.badge{border-radius:2px;background:#cbd5b8;border:1px solid #a0b28b;font-size:8px;color:#405339}.hotel-world .placement-hint{border-radius:2px;bottom:110px;border:1px solid #d5bb79;background:#294b36;z-index:4}.log-entry{font-size:10px}.goal h3{font-size:14px}.goal>span{font:600 17px 'Courier New'}.goal.current{background:#dfd2ac;border-left-color:#a27b39}.chart{border:1px solid #b8ad8b;border-radius:2px}.modal{background:#17241bd9;backdrop-filter:blur(2px)}.modal-card{border-radius:4px;border:3px double #bb9c5d;background:#eae0c7;box-shadow:0 0 0 5px #2e392c,0 20px 70px #0008;padding:29px}.modal-card h1{font:36px Georgia;letter-spacing:.5px;text-transform:uppercase;color:#3d4936;border-bottom:2px solid #b69a5e;padding-bottom:16px}.modal-card h2{font:700 23px 'Trebuchet MS',Arial;letter-spacing:0}.scenario{border-radius:2px}.scenario strong{font:700 15px 'Trebuchet MS',Arial}.scenario.active{background:#c7c9a2;border-color:#748157}.modal-actions button{font-size:11px}.guide-grid strong{font:700 15px Arial}.guide-grid p{font-size:11px}footer{height:51px;background:linear-gradient(#3c4235,#29352a);color:#dfd9bd;border-top:2px solid #a38b53;padding:0 17px;gap:18px;z-index:3}.clock strong{font:600 12px 'Courier New',monospace;letter-spacing:-.3px}.clock span{font-size:8px;color:#b0b79d}.speed{gap:3px}.speed button{min-width:31px;min-height:30px;padding:6px 9px;color:#d9d9bb;background:#314734;border-color:#707e5f;box-shadow:inset 0 1px #ffffff10;border-radius:2px}.speed button[aria-pressed=true]{background:#cdb36b;border-color:#e4cd8b;color:#333d2a}.speed .ui-icon{width:13px;height:13px}footer p{font-size:9px;color:#b8c2a8}.hotel-world canvas{cursor:grab}#save-status{font-size:7px;color:#aab796}#toast{background:#344d38;border:1px solid #d4bd7b;border-radius:2px;color:#f1e4be}
@media(max-width:1100px){.metrics>div{padding:0 14px}.hotel-rating{display:none}nav button{padding:0 11px;gap:6px}aside{width:326px}.op-result{display:none}.operations-bar{gap:22px}.hotel-objective{width:220px}.view-switch button{padding:7px 7px}}
@media(max-width:700px){header{height:60px;padding:0 11px}.hotel-brand{font-size:14px;letter-spacing:1px}.metrics>div{padding:0 10px}.metrics strong{font-size:17px}.metrics>div>span{font-size:6px}.metrics>div:nth-child(3){display:none}.settings-btn{padding:7px}.settings-btn .ui-icon{width:17px;height:17px}nav{height:45px;padding:0 4px;gap:0}nav button{font-size:9px;padding:0 10px;gap:5px}nav button .ui-icon{width:15px;height:15px}.operations-bar{height:28px;gap:14px;padding:0 12px;overflow-x:auto;white-space:nowrap}.operations-bar button{font-size:8px}.operations-bar b{font-size:9px}.operations-bar .ui-icon{width:11px;height:11px}.world-badge{display:none}.hotel-objective{display:none}.view-switch{top:8px;right:10px;padding:2px}.view-switch button{font-size:8px;padding:5px 7px}.layer-key{top:43px;font-size:7px;right:10px}.layer-key>span{display:none}.room-selection{bottom:44px;left:10px;min-width:180px;padding:7px;max-width:225px}.room-selection small{font-size:6px}.room-selection strong{font-size:10px;margin-top:3px}.room-selection button{padding:3px}.world-controls{left:10px;bottom:9px;gap:3px}.world-controls button{width:27px;height:27px;font-size:15px}.world-controls .label-toggle{font-size:8px;padding:0 7px}.hotel-status{bottom:11px;right:10px;font-size:6px;padding:7px}.hotel-status>span:last-child{display:none}.hotel-world{min-height:210px}aside{width:100%;height:44%;padding:16px;border-left:0;border-top:3px solid #75775a}.panel-department{margin:-16px -16px 14px;padding:8px 15px}.metric-grid{grid-template-columns:1fr 1fr}.metric-box span{font-size:7px}.metric-box strong{font-size:20px}.room-art{height:115px}.modal-card{padding:22px}.modal-card h1{font-size:27px}.modal-card h2{font-size:21px}.scenarios{grid-template-columns:1fr}.scenario{padding:12px}.scenario.active{padding:11px}.scenario strong{font-size:14px;margin-bottom:4px}.scenario small{font-size:10px}footer{height:46px;padding:0 10px;gap:10px}.clock strong{font-size:10px}.speed button{min-width:30px;padding:6px 8px}}
@media(max-height:520px) and (orientation:landscape){header{height:48px}.operations-bar{display:none}nav{height:39px}.hotel-world{min-height:0}aside{height:auto;width:310px;border-top:0;border-left:3px solid #75775a;padding:16px}.hotel-objective,.world-badge{display:none}.view-switch{top:9px}.room-selection{bottom:49px;padding:7px}.hotel-status{display:none}footer{height:40px}.scenarios{grid-template-columns:repeat(3,1fr)}.modal-card h1{font-size:25px}}

@media(max-width:760px){nav,#fleet-strip{scrollbar-width:none}nav::-webkit-scrollbar,#fleet-strip::-webkit-scrollbar{display:none}#fleet-strip{overflow-y:hidden}}
