:root{
  --maize:#FBEC5D;--accent:#dfbd25;--accent-strong:#9e7710;
  --surface:#ffffff;--surface-2:#f8f9fc;--canvas:#f0f3f8;
  --ink:#142139;--muted:#738099;--line:#e4e9f1;--shadow:0 5px 20px rgba(18,34,59,.07);
  --sidebar-top:#101c32;--sidebar-bottom:#1c3b60;--sidebar-text:#c8d4e4;
}
html[data-theme="dark"]{
  color-scheme:dark;--surface:#202b3c;--surface-2:#283549;--canvas:#131d2d;
  --ink:#f2f5fa;--muted:#aab8cb;--line:#39495f;--shadow:0 8px 28px rgba(0,0,0,.2);
  --sidebar-top:#0b1424;--sidebar-bottom:#162b47;--sidebar-text:#d1d9e6;
}
html,body{background:var(--canvas);color:var(--ink)}
body{font-family:Inter,"Segoe UI",Arial,sans-serif}
a,button,input,select{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.app-shell{align-items:stretch}
.sidebar{width:220px;background:linear-gradient(180deg,var(--sidebar-top),var(--sidebar-bottom));border:0;padding:18px 0 20px;color:#fff;z-index:10;transition:width .2s}
.sidebar .brand{font-size:17px;letter-spacing:-.03em;margin:0 15px 37px;color:#fff;gap:10px}
.brand-mark{background:linear-gradient(145deg,#fff385,#d9ad1a);color:#3c3015;border-radius:9px;box-shadow:0 4px 12px #070f2238;width:34px;height:34px;font-size:24px;flex:none}
.sidebar .brand small,.auth-header .brand small{font-size:8px;color:#a9b7ca;letter-spacing:.16em}
.nav-label{margin:0 17px 10px;color:#7f98b7;font-size:9px}
.sidebar .nav{gap:1px}
.sidebar .nav a{padding:11px 17px;color:var(--sidebar-text);border-radius:0;font-size:12px;font-weight:550;gap:12px;min-height:39px;border-left:3px solid transparent}
.sidebar .nav a:hover,.sidebar .nav a:focus,.sidebar .nav a.active{background:#ffffff15;color:#fff;border-left-color:var(--maize)}
.sidebar .nav a.active{font-weight:750}
.sidebar .nav-icon{font-size:16px;line-height:1;width:18px}
.sidebar-bottom{padding:0 15px}
.sidebar-tip{border:1px solid #ffffff20;background:#ffffff0d;border-radius:14px;padding:13px;color:#e8eef5;font-size:11px}
.sidebar-tip>span{display:block;color:var(--maize);font-size:20px}
.sidebar-tip strong{display:block;margin:5px 0}.sidebar-tip p{color:#aabbd0;line-height:1.4;margin:0}
.sidebar-collapse{background:#ffffff13;color:#cbd8e7;border:1px solid #ffffff24;border-radius:10px;padding:8px 10px;width:100%;text-align:left;margin-top:15px;font-size:13px}
.sidebar-collapse span{font-size:11px;margin-left:9px}
.sidebar-is-collapsed .sidebar{width:66px}
.sidebar-is-collapsed .sidebar .brand{margin-left:15px}
.sidebar-is-collapsed .sidebar .brand>span:last-child,.sidebar-is-collapsed .nav-label,.sidebar-is-collapsed .sidebar .nav a:not(.active){font-size:0}
.sidebar-is-collapsed .sidebar .nav a{font-size:0;justify-content:center;padding:12px 8px}
.sidebar-is-collapsed .sidebar .nav-icon{font-size:19px}
.sidebar-is-collapsed .sidebar-tip,.sidebar-is-collapsed .sidebar-collapse span{display:none}
.sidebar-is-collapsed .sidebar-collapse{text-align:center}
.topbar{height:61px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 24px;box-shadow:0 2px 9px #15243d08}
.topbar-heading strong,.topbar-heading small{display:block}
.topbar-heading strong{font-size:14px;font-weight:800}.topbar-heading small{font-size:10px;color:var(--muted);font-weight:450;margin-top:4px}
.topbar-actions{display:flex;align-items:center;gap:13px}
.live-chip{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;color:var(--ink);font-size:11px;padding:7px 10px;display:flex;align-items:center;gap:5px;font-weight:700}
.live-chip small{font-size:8px;color:var(--muted);letter-spacing:.08em;margin-left:4px}
.live-dot{width:7px;height:7px;background:#42c590;border-radius:50%;box-shadow:0 0 0 3px #42c59026}
.theme-switch{display:flex;border:1px solid var(--line);background:var(--surface-2);padding:3px;border-radius:11px;gap:2px}
.theme-switch button{border:0;background:transparent;color:var(--muted);padding:6px 8px;border-radius:8px;font-size:11px;font-weight:700}
.theme-switch button[aria-pressed="true"]{background:var(--maize);color:#3a3218;box-shadow:0 2px 5px #0001}
.profile-link{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:13px;font-size:11px;color:var(--ink)}
.profile-link:hover{color:var(--accent-strong)}
.profile-link .avatar{background:linear-gradient(145deg,#f5da58,#b88919);color:#37270c;width:33px;height:33px}
.profile-copy strong,.profile-copy small{display:block;white-space:nowrap}.profile-copy small{color:var(--muted);font-size:10px;margin-top:2px}
.content{max-width:1900px;padding:24px}
.page-heading{margin:0 0 20px}
.page-heading h1{font-size:28px;letter-spacing:-.04em}
.page-heading .eyebrow{color:var(--accent-strong)}
.muted{color:var(--muted)}
.welcome-banner{border-radius:17px;background:linear-gradient(112deg,#806817 0%,#d1ab19 42%,#f2dd4b 100%);color:#fff;padding:28px;min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 12px 28px #90722430;margin-bottom:16px}
.welcome-banner h1{font-size:24px;letter-spacing:-.04em;margin:8px 0}
.welcome-banner p{font-size:12px;margin:0;color:#fffbe7}
.banner-eyebrow{letter-spacing:.1em;font-weight:750;font-size:11px;color:#fff8ca}
.banner-actions{display:flex;align-items:center;gap:12px}
.banner-button{background:#fff9db;color:#574414;border-radius:10px;padding:11px 15px;font-size:12px;font-weight:800;white-space:nowrap}
.banner-button:hover{background:#fff;transform:translateY(-2px)}
.banner-stat{background:#ffffff27;padding:15px 20px;border-radius:12px;min-width:105px;text-align:center}
.banner-stat strong,.banner-stat span{display:block}.banner-stat strong{font-size:29px;line-height:1}.banner-stat span{font-size:10px;margin-top:7px;color:#fffbea}
.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-bottom:16px}
.metric-card{position:relative;display:flex;flex-direction:column;min-height:166px;padding:18px 17px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);color:var(--ink)}
.metric-card:hover,.panel-link:hover,.room-card:hover,.activity-row:hover{transform:translateY(-2px);box-shadow:0 9px 26px #1c2a4330}
.metric-card .metric-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;font-size:21px;font-weight:650;margin-bottom:13px}
.metric-card>strong{font-size:26px;letter-spacing:-.045em;line-height:1.1}
.metric-card>span:not(.metric-icon):not(.card-arrow){font-size:12px;color:var(--muted);margin-top:4px}
.metric-card>small{font-size:10px;color:var(--muted);margin-top:auto;padding-top:12px}
.card-arrow{position:absolute;right:16px;top:17px;color:var(--muted);opacity:0;font-size:15px}.metric-card:hover .card-arrow,.metric-card:focus-visible .card-arrow{opacity:1}
.icon-green{background:#e6f8eb;color:#239765}.icon-red{background:#fff0ef;color:#cf4c51}.icon-blue{background:#eaf5fc;color:#2587bf}.icon-purple{background:#f2ebff;color:#8d63c9}.icon-yellow{background:#fff8d8;color:#b78a08}.icon-orange{background:#fff1e4;color:#c27727}
.panel{background:var(--surface);border-color:var(--line);border-radius:15px;box-shadow:var(--shadow);padding:22px}
.panel-link{display:block;color:var(--ink)}.panel h2{font-size:19px}
.panel[data-panel-href]{cursor:pointer}.panel[data-panel-href]:hover{border-color:var(--accent)}
.panel-heading .eyebrow,.eyebrow{color:var(--accent-strong)}
.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.occupancy-track{background:var(--surface-2)}.occupancy-track span{background:linear-gradient(90deg,var(--maize),#c29916)}
.occupancy-note{border-color:var(--line);color:var(--muted)}
.big-percent{color:var(--ink)}
.legend{color:var(--muted)}.dot.olive{background:#d6b52c}.dot.maize{background:#53bd78}.dot.grey{background:#aab2bf}
.pulse-list>a{display:flex;align-items:center;gap:9px;padding:13px 11px;border:1px solid var(--line);border-radius:11px;font-size:12px;color:var(--ink);background:var(--surface-2)}
.pulse-list>a:hover{border-color:var(--accent);background:color-mix(in srgb,var(--maize) 15%,var(--surface))}
.pulse-list strong{margin-left:auto;font-size:20px}
.room-status-board{margin-bottom:16px}
.board-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}
.board-header h2{margin:5px 0 0}.board-header .eyebrow{margin:0}.board-count{font-size:11px;border-radius:99px;padding:3px 7px;background:var(--maize);color:#5b4c12;vertical-align:middle}
.board-tools{display:flex;align-items:center;gap:9px}
.search-field{border:1px solid var(--line);border-radius:9px;background:var(--surface);height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;color:var(--muted)}
.search-field span{font-size:20px}.search-field input{border:0;outline:0;background:transparent;color:var(--ink);width:205px;font-size:11px}
.search-field input::placeholder{color:var(--muted)}
.view-switch{display:flex;border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:3px;gap:2px}
.view-switch button{border:0;border-radius:6px;padding:6px 9px;color:var(--muted);background:transparent;font-size:11px;white-space:nowrap}
.view-switch button[aria-pressed="true"]{background:var(--surface);color:var(--accent-strong);box-shadow:0 2px 5px #0001}
.status-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.status-filters button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:6px 9px;border-radius:99px;font-size:10px}
.status-filters button:hover,.status-filters button[aria-pressed="true"]{border-color:var(--accent);background:color-mix(in srgb,var(--maize) 16%,var(--surface));color:var(--ink)}
.status-filters b{background:var(--surface-2);border-radius:99px;padding:2px 5px;color:var(--ink);font-size:10px}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1px solid #0002}
.status-dot.available{background:#26be58}.status-dot.occupied{background:#d8303d}.status-dot.reserved{background:#e9ca24}.status-dot.checkin{background:#258fc7}.status-dot.checkout{background:#8e68cf}.status-dot.cleaning{background:#e8792c}.status-dot.maintenance{background:#b7bec8}
.floor-section{margin-top:18px}.floor-heading{font-weight:800;color:var(--muted);font-size:10px;letter-spacing:.12em;margin-bottom:10px}.floor-heading span{font-weight:500;letter-spacing:0}
.room-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.room-card{position:relative;display:block;color:var(--ink);border:1px solid var(--line);border-top:3px solid #2cbe67;border-radius:11px;padding:13px;min-height:110px;background:var(--surface)}
.room-card.status-occupied{border-top-color:#dc4050}.room-card.status-reserved{border-top-color:#dbb51d}.room-card.status-cleaning{border-top-color:#df7d32}.room-card.status-maintenance{border-top-color:#b0b7bf}
.room-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:5px}.room-card-top strong{font-size:18px}.room-status-label{font-size:9px;color:#218656;background:#e7f7eb;border-radius:99px;padding:4px 6px;white-space:nowrap}
.status-occupied .room-status-label{background:#fce6e8;color:#b6313f}.status-reserved .room-status-label{background:#fff5cf;color:#a67900}.status-cleaning .room-status-label{background:#fff0e4;color:#b76a25}.status-maintenance .room-status-label{background:#f0f1f4;color:#75808f}
.room-card>small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.room-card-bottom{display:flex;justify-content:space-between;gap:4px;font-size:10px;color:var(--muted);margin-top:17px}.room-card-bottom span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-today{font-size:9px;font-weight:700;color:#6d590a;margin-top:7px}
.room-status-board.floor-view .room-card-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.room-status-board.floor-view .room-card{min-height:75px;padding:10px}.room-status-board.floor-view .room-card-bottom,.room-status-board.floor-view .room-today,.room-status-board.floor-view .room-card>small{display:none}.room-status-board.floor-view .room-card-top{display:block}.room-status-board.floor-view .room-status-label{display:block;width:max-content;margin-top:5px}
.lower-grid{margin-top:0}
.row-list .activity-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line);font-size:13px;color:var(--ink)}
.row-list .activity-row:first-child{border-top:0;padding-top:0}.activity-row:hover{box-shadow:none;transform:none;background:var(--surface-2)}
.row-list small{color:var(--muted)}
.empty-state{border-color:var(--line);color:var(--muted);background:var(--surface-2)}
.empty-state p{margin:8px 0 14px}.empty-state[hidden],.floor-section[hidden],.room-card[hidden],.tab-panel[hidden]{display:none!important}
.workspace-tabs{display:flex;gap:7px;overflow-x:auto;margin:0 0 17px;padding:3px 1px 7px;border-bottom:1px solid var(--line)}
.workspace-tabs button{white-space:nowrap;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-bottom:3px solid var(--accent);border-radius:10px 10px 3px 3px;padding:10px 15px;font-size:12px;font-weight:750}
.workspace-tabs button:hover,.workspace-tabs button.active{background:var(--maize);color:#382f14;border-color:var(--accent)}
.workspace-tabs span{display:inline-block;border-radius:99px;background:var(--surface-2);color:var(--muted);font-size:10px;padding:2px 6px;margin-left:5px}
.workspace-tabs button.active span{background:#ffffff9c;color:#5b4e1b}
.tab-panel{margin-bottom:20px}
.table-panel table{color:var(--ink)}.table-panel th{color:var(--muted);border-color:var(--line)}.table-panel td{color:var(--muted);border-color:var(--line)}
.table-panel td strong{color:var(--ink)}.table-panel td small{color:var(--muted)}
.table-panel tbody tr:hover{background:var(--surface-2)}.table-panel tbody tr.selected-row{background:color-mix(in srgb,var(--maize) 24%,var(--surface));outline:2px solid var(--accent);outline-offset:-2px}
.form-panel input,.form-panel select,.profile-form input,.profile-form select,.auth-card input,.status-form select{background:var(--surface);border-color:var(--line);color:var(--ink)}
.form-panel label,.profile-form label,.auth-card label{color:var(--muted)}
.button{background:var(--surface);color:var(--ink);border-color:var(--line)}.button.primary{background:var(--maize);border-color:var(--accent);color:#3d3210}
.notice{background:#eaf6e8;color:#356b3e}.profile-email{background:var(--surface-2);color:var(--ink)}.profile-note{color:var(--muted)}.profile-logout{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.account-page{background:var(--canvas)}.auth-header{padding:20px 28px}.auth-header .brand{width:max-content;margin:0;color:var(--ink)}.auth-header .brand small{color:var(--muted)}.auth-content{max-width:560px;margin:0 auto;padding:0 16px}.auth-wrap{min-height:calc(100vh - 95px)}.auth-card{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}.auth-card h1{color:var(--ink)}.auth-card .auth-emblem{background:var(--maize);color:#3d3210}
@media(max-width:1500px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.room-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.room-status-board.floor-view .room-card-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.room-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.room-status-board.floor-view .room-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:720px){.sidebar{position:static;width:100%;height:auto;padding:12px 0}.sidebar .brand{margin:0 15px 11px}.sidebar .nav{display:flex;overflow:auto;padding:0 9px}.sidebar .nav a{border-left:0;border-bottom:3px solid transparent;border-radius:8px;white-space:nowrap;padding:8px 10px;font-size:11px}.sidebar .nav a.active{border-bottom-color:var(--maize)}.sidebar .nav-icon{display:inline;font-size:15px}.sidebar .nav-label,.sidebar-bottom{display:none}.sidebar-is-collapsed .sidebar{width:100%}.sidebar-is-collapsed .sidebar .nav a{font-size:11px}.sidebar-is-collapsed .sidebar .brand>span:last-child{display:inline;font-size:17px}.topbar{height:auto;min-height:60px;padding:9px 15px}.topbar-actions{gap:6px}.live-chip{display:none}.theme-switch button span,.profile-copy{display:none}.profile-link{padding-left:7px}.content{padding:16px}.welcome-banner{padding:20px;min-height:150px;align-items:flex-start}.welcome-banner h1{font-size:20px}.banner-actions{flex-direction:column;align-items:flex-end}.banner-button{font-size:10px;padding:8px}.banner-stat{min-width:75px;padding:10px}.banner-stat strong{font-size:22px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{min-height:145px;padding:14px}.metric-card>strong{font-size:23px}.board-header{align-items:flex-start;flex-direction:column}.board-tools{width:100%;flex-wrap:wrap}.search-field{flex:1}.search-field input{width:100%}.room-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-status-board.floor-view .room-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pulse-list{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.welcome-banner{display:block}.banner-actions{flex-direction:row;align-items:center;justify-content:space-between;margin-top:17px}.room-card-grid{grid-template-columns:1fr 1fr}.status-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.status-filters button{white-space:nowrap}.pulse-list{grid-template-columns:1fr}}
html[data-theme="dark"] .icon-green{background:#234a3a;color:#8fe4aa}html[data-theme="dark"] .icon-red{background:#533139;color:#ff9aa2}html[data-theme="dark"] .icon-blue{background:#234a60;color:#8cceee}html[data-theme="dark"] .icon-purple{background:#443658;color:#c6a7f1}html[data-theme="dark"] .icon-yellow{background:#584d29;color:#ffe581}html[data-theme="dark"] .icon-orange{background:#5c402c;color:#f5b986}
html[data-theme="dark"] .status-filters b{background:#3a485c}html[data-theme="dark"] .room-status-label{background:#234d3b;color:#a2eab8}html[data-theme="dark"] .status-occupied .room-status-label{background:#58323d;color:#f6b0b7}html[data-theme="dark"] .status-reserved .room-status-label{background:#5b4e25;color:#ffe494}html[data-theme="dark"] .status-cleaning .room-status-label{background:#5c3f2a;color:#f7bf86}html[data-theme="dark"] .status-maintenance .room-status-label{background:#454c57;color:#cdd4db}
.status-tag.available{background:#e7f7eb;color:#218656}.status-tag.occupied{background:#fce6e8;color:#b6313f}.status-tag.reserved{background:#fff5cf;color:#a67900}.status-tag.maintenance{background:#f0f1f4;color:#75808f}
html[data-theme="dark"] .status-tag.available{background:#234d3b;color:#a2eab8}html[data-theme="dark"] .status-tag.occupied{background:#58323d;color:#f6b0b7}html[data-theme="dark"] .status-tag.reserved{background:#5b4e25;color:#ffe494}html[data-theme="dark"] .status-tag.maintenance{background:#454c57;color:#cdd4db}
