:root{--bg:#eef3fb;--ink:#172033;--muted:#7b8498;--glass:rgba(255,255,255,.72);--line:rgba(255,255,255,.62);--aqua:#00c7b3;--side:#262b4f;--side2:#1f2446;--danger:#ff5f72;--warn:#ffb020;--ok:#00c7a7;--blue:#5b8cff;--violet:#8b5cf6;--shadow:0 18px 45px rgba(31,45,78,.13)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#ffffff 0,#eef3fb 42%,#e9eef8 100%);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:210px;background:linear-gradient(180deg,var(--side),var(--side2));color:#cbd4ff;z-index:20;box-shadow:10px 0 35px rgba(13,18,45,.2)}.logo-block{height:72px;background:linear-gradient(135deg,#03d3bf,#20b7ff);color:white;display:flex;align-items:center;gap:8px;padding:10px 16px;position:relative}.hms-logo{font-size:35px;font-weight:900;letter-spacing:1px}.logo-block small{align-self:flex-start;margin-top:4px;font-weight:700}.menu-toggle{margin-left:auto;border:0;background:rgba(255,255,255,.18);color:white;border-radius:12px;width:32px;height:32px}nav{padding:10px 0}nav a{display:flex;align-items:center;gap:12px;padding:12px 15px;color:#cbd4ff;text-decoration:none;border-left:3px solid transparent;opacity:.92}nav a span{width:20px;text-align:center;color:#7de4ff}nav a b{font-weight:500;font-size:13px}nav a:hover,nav a.active{background:rgba(255,255,255,.06);border-left-color:var(--aqua);color:white}.main{margin-left:210px;width:calc(100% - 210px);min-height:100vh}.topbar{height:72px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(190,200,220,.55);box-shadow:0 5px 18px rgba(48,58,98,.08);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.topbar h4{margin:0;font-weight:800}.topbar small,.muted{color:var(--muted)}.userbox{text-align:right;display:flex;align-items:center;gap:12px}.userbox span{display:block;font-weight:800}.userbox a{font-size:25px;text-decoration:none;color:#536079}.content{padding:22px}.app-footer{padding:10px 22px;color:#8a93a8}.glass-card,.stat-card,.table-card,.room-card,.calendar-card{background:var(--glass);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(22px)}.glass-card{padding:18px}.glass-alert{border-radius:18px}.glass-btn,.btn-aqua{background:linear-gradient(135deg,#00c7a7,#00b7ff);border:0;color:white;border-radius:14px;font-weight:800;box-shadow:0 12px 25px rgba(0,199,179,.22)}.btn-soft{background:rgba(255,255,255,.62);border:1px solid rgba(210,218,235,.75);border-radius:13px;color:#33415f}.form-control,.form-select{border-radius:14px;border:1px solid rgba(188,199,222,.75);background:rgba(255,255,255,.72)}label{font-weight:700;margin-top:10px;margin-bottom:5px}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}.room-card{border-radius:12px;overflow:hidden;min-height:182px;position:relative}.room-top{display:flex;justify-content:space-between;padding:9px 10px;font-weight:800}.room-body{height:100px;margin:0 8px 8px;border:1px solid rgba(190,199,215,.5);display:flex;align-items:center;justify-content:center;color:#4d5873;font-size:12px;background:rgba(255,255,255,.42)}.room-actions{padding:0 10px 10px}.room-actions .btn{width:100%;border-radius:8px;font-size:12px;padding:6px}.room-card.available .room-top{color:#0b9f8f}.room-card.occupied{background:linear-gradient(180deg,rgba(231,248,255,.85),rgba(255,255,255,.62))}.room-card.dirty{background:linear-gradient(180deg,rgba(255,247,222,.88),rgba(255,255,255,.62))}.room-card.maintenance,.room-card.out_of_order{background:linear-gradient(180deg,rgba(255,230,234,.88),rgba(255,255,255,.62))}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}.stat-card{height:82px;padding:16px;position:relative;overflow:hidden}.stat-card h2{color:#36bec7;margin:0;font-size:30px}.stat-card small{font-weight:800;color:#9aa2b3;text-transform:uppercase}.stat-card:after{content:'';position:absolute;right:15px;top:14px;width:52px;height:52px;border:5px solid rgba(128,135,158,.20);border-left-color:transparent;border-radius:50%}.status-strip{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;margin-top:14px;border-radius:8px;overflow:hidden}.status-strip div{text-align:center;color:white;font-weight:800;padding:9px;font-size:12px}.bg-green{background:#06b000}.bg-yellow{background:#ffb000}.bg-red{background:#f20b18}.bg-gray{background:#8d8d8d}.bg-brown{background:#925005}.bg-purple{background:#6811ff}.table-card{padding:18px;margin-bottom:18px}.table{--bs-table-bg:transparent}.badge-glass{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:800;font-size:12px}.badge-ok{background:rgba(0,199,167,.14);color:#06947f}.badge-info{background:rgba(91,140,255,.14);color:#386cdf}.badge-live{background:rgba(0,183,255,.16);color:#0584bf}.badge-done{background:rgba(13,177,116,.16);color:#09865a}.badge-warn{background:rgba(255,176,32,.18);color:#9b6200}.badge-danger{background:rgba(255,95,114,.15);color:#d63147}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#dffcff,transparent 32%),radial-gradient(circle at 80% 20%,#e7e1ff,transparent 35%),#edf3fb}.login-shell{width:min(430px,92vw)}.login-brand{text-align:center;margin-bottom:18px;font-weight:900;color:#16213b}.brand-mark{font-size:52px;font-weight:1000;color:#09c7b8}.login-card h3{font-weight:900}.calendar-wrap{overflow:auto}.calendar-table{min-width:1000px;border-collapse:separate;border-spacing:4px}.calendar-table th{font-size:12px;color:#65708a}.calendar-table td,.calendar-table th{padding:8px;background:rgba(255,255,255,.65);border-radius:10px;text-align:center}.cal-booked{background:rgba(0,199,179,.22)!important;color:#007b71;font-weight:800}.cal-out{background:rgba(255,95,114,.14)!important}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.mini-kpi{padding:15px;border-radius:18px;background:rgba(255,255,255,.68);box-shadow:var(--shadow)}.mini-kpi h4{margin:0;font-weight:900}.mini-kpi small{color:var(--muted);font-weight:800;text-transform:uppercase}@media(max-width:900px){.sidebar{width:72px}.sidebar nav a b,.logo-block small{display:none}.main{margin-left:72px;width:calc(100% - 72px)}.hms-logo{font-size:24px}.stats-grid{grid-template-columns:repeat(2,1fr)}.status-strip{grid-template-columns:1fr 1fr}.content{padding:14px}.topbar{padding:0 14px}}@media(max-width:600px){.room-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:1fr}.userbox small{display:none}}

.nav-group{margin:4px 8px;border-radius:18px;overflow:hidden}.nav-group>button{width:100%;border:0;background:transparent;color:#cdd5f7;display:flex;gap:10px;align-items:center;padding:11px 12px;text-align:left}.nav-group>button b{font-size:13px;font-weight:650;flex:1}.nav-group>button em{font-style:normal;opacity:.65}.nav-group.open>button,.nav-group>button:hover{background:rgba(255,255,255,.08);color:#fff}.submenu{display:none;padding:0 0 8px 37px}.nav-group.open .submenu{display:block}.submenu a{display:block;color:#b9c1e7;text-decoration:none;font-size:12px;padding:7px 10px;border-left:1px solid rgba(255,255,255,.14)}.submenu a.active,.submenu a:hover{color:#fff;background:rgba(0,194,168,.18);border-radius:12px;border-left-color:#00d1b2}.side-collapsed .submenu,.side-collapsed .nav-group>button b,.side-collapsed .nav-group>button em{display:none}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.module-tile{display:block;padding:18px;border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 10px 30px rgba(30,38,80,.08);text-decoration:none;color:#1f2947;border:1px solid rgba(255,255,255,.74)}.module-tile:hover{transform:translateY(-2px);color:#0b7;box-shadow:0 15px 35px rgba(30,38,80,.13)}.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.mini-metric{padding:16px;border-radius:20px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.75)}.mini-metric h3{margin:0;color:#18b8bf}.mini-metric small{text-transform:uppercase;color:#8a90a7;font-weight:700}.pill-link{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(0,194,168,.12);text-decoration:none;color:#0a8f7d;font-weight:700;font-size:12px;margin:2px}
