:root{--navy:#16304a;--navy-2:#1f3f61;--gold:#c9a227;--gold-light:#e0b94a;--bg:#f2f4f7;--card:#fff;--text:#1f2a37;--text-2:#6b7280;--border:#e5e7eb;--green:#16a34a;--green-bg:#e7f6ec;--red:#dc2626;--red-bg:#fdecec;--orange:#ea580c;--orange-bg:#fef3e7;--blue:#2563eb;--blue-bg:#e8f0fe}page{background:var(--bg);color:var(--text);font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:28px}.login-page{background:linear-gradient(180deg,#16304a,#1f3f61 55%,#2a4d72);box-sizing:border-box;min-height:100vh;padding:160px 60px 60px;position:relative}.lang-switch{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);border-radius:30px;color:#fff;font-size:28px;padding:8px 20px;position:absolute;right:40px;top:40px}.login-logo{color:#fff;margin-bottom:80px;text-align:center}.login-logo .t1{color:#e0b94a;font-size:52px;font-weight:700;letter-spacing:4px}.login-logo .t2{color:hsla(0,0%,100%,.6);font-size:24px;letter-spacing:2px;margin-top:14px}.login-card{background:#fff;border-radius:24px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:50px 40px}.form-item{margin-bottom:30px}.form-item .label{color:#6b7280;font-size:26px;margin-bottom:12px}.form-item .input{border:2px solid #e5e7eb;border-radius:14px;font-size:30px;height:88px;line-height:88px;padding:0 24px}.btn-main{background:#c9a227;border-radius:14px;color:#1f2a37;font-size:32px;font-weight:600;height:92px;line-height:92px;text-align:center}.btn-main.disabled{opacity:.6}.login-tip{color:#9ca3af;font-size:22px;line-height:1.8;margin-top:30px;text-align:center}.addr-link{color:#2563eb;font-size:24px;margin-top:24px;text-align:center}.app-shell{display:flex;flex-direction:column;height:100vh}.app-body{flex:1;overflow-y:auto;padding-bottom:130px}.app-tabbar{background:#fff;border-top:1px solid #e5e7eb;bottom:0;display:flex;height:110px;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:100}.tab-item{align-items:center;color:#6b7280;display:flex;flex:1;flex-direction:column;font-size:22px;justify-content:center}.tab-item.active{color:#1f3f61;font-weight:600}.tab-item .ico{font-size:42px;margin-bottom:4px}.card{background:#fff;border-radius:20px;box-shadow:0 2px 10px rgba(22,48,74,.06);margin:20px 24px;padding:26px 28px}.card-title{align-items:center;display:flex;font-size:30px;font-weight:600;justify-content:space-between;margin-bottom:20px}.stat-row{display:flex;gap:16px;margin:20px 24px}.stat-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(22,48,74,.06);flex:1;padding:20px 0;text-align:center}.stat-card .num{color:#16304a;font-size:40px;font-weight:700}.stat-card .lb{color:#6b7280;font-size:22px;margin-top:6px}.floor-group{margin:24px}.floor-title{border-left:6px solid #c9a227;color:#16304a;font-size:26px;font-weight:600;margin-bottom:18px;padding-left:16px}.room-grid{display:flex;flex-wrap:wrap;gap:18px}.room-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;box-sizing:border-box;padding:18px 14px;width:calc(33.333% - 12px)}.room-card.occ{background:#f6fdf8;border-left:8px solid #16a34a}.room-card.empty{border-left:8px solid #c9a227}.room-card.cleaning{background:#fffaf3;border-left:8px solid #ea580c}.room-card.maintenance{opacity:.6}.room-card .no{font-size:32px;font-weight:700}.room-card .type{color:#6b7280;font-size:20px;margin-top:6px}.room-card .st{font-size:20px;margin-top:10px}.room-card .guest{color:#1f3f61;font-size:20px;font-weight:500;margin-top:6px}.tag{border-radius:20px;display:inline-block;font-size:20px;font-weight:500;padding:2px 14px}.tag-green{background:#e7f6ec;color:#16a34a}.tag-red{background:#fdecec;color:#dc2626}.tag-orange{background:#fef3e7;color:#ea580c}.tag-blue{background:#e8f0fe;color:#2563eb}.tag-gray{background:#eef0f3;color:#6b7280}.field{margin-bottom:28px}.field taro-label-core{color:#6b7280;display:block;font-size:26px;margin-bottom:12px}.field .input,.field .picker-wrap{background:#fff;border:2px solid #e5e7eb;border-radius:14px;font-size:28px;height:84px;line-height:84px;padding:0 40px 0 24px}.grid-2{display:flex;gap:20px}.grid-2 .field{flex:1}.btn-row{display:flex;gap:20px;margin-top:10px}.btn{border-radius:14px;flex:1;font-size:28px;font-weight:600;height:84px;line-height:84px;text-align:center}.btn-primary{background:#1f3f61;color:#fff}.btn-gold{background:#c9a227;color:#1f2a37}.btn-danger{background:#dc2626;color:#fff}.btn-ghost{background:#fff;border:2px solid #e5e7eb;color:#1f2a37}.mask{align-items:center;background:rgba(15,23,42,.5);display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.modal{background:#fff;border-radius:24px;box-sizing:border-box;padding:40px 36px;width:82%}.modal-title{font-size:32px;font-weight:600;margin-bottom:30px;text-align:center}.risk-block{background:#fdecec;border:2px solid #f3b4b4;border-radius:16px;margin:20px 24px;padding:24px}.risk-block .rt{color:#dc2626;font-size:28px;font-weight:600;margin-bottom:14px}.risk-block .item{color:#7f1d1d;font-size:24px;padding:6px 0}.risk-warn{background:#fef3e7;border:2px solid #fbd3a5;border-radius:16px;color:#7c2d12;font-size:24px;margin:20px 24px;padding:20px}.success-box{background:#f6fdf8;border-left:8px solid #16a34a}.order-item{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(22,48,74,.06);margin:16px 24px;padding:24px}.order-item .row{display:flex;font-size:26px;justify-content:space-between;margin-bottom:10px}.order-item .kv{color:#6b7280}.empty{color:#9ca3af;font-size:26px;padding:80px 0;text-align:center}.money{color:#16304a;font-weight:600}.hint{color:#9ca3af;font-size:22px;line-height:1.7}.admin-layout{display:flex;height:100vh;overflow:hidden;width:100%}.admin-sidebar{background:linear-gradient(180deg,#16304a,#1f3f61);display:flex;flex-direction:column;height:100vh;min-width:220PX;width:220PX}.admin-logo{border-bottom:1px solid hsla(0,0%,100%,.1);padding:20PX 18PX;text-align:center}.admin-logo-text{color:#fff;display:block;font-size:24PX;font-weight:700;letter-spacing:2PX}.admin-logo-sub{color:hsla(0,0%,100%,.6);display:block;font-size:14PX;margin-top:4PX}.admin-menu{display:flex;flex:1;flex-direction:column;height:calc(100vh - 110PX);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.admin-menu::-webkit-scrollbar{display:none;width:0}.admin-menu-item{align-items:center;border-left:4px solid transparent;cursor:pointer;display:flex;justify-content:flex-start;min-height:36PX;padding:5PX 20PX;transition:all .2s}.admin-menu-item:hover{background:hsla(0,0%,100%,.08)}.admin-menu-item.active{background:rgba(201,162,39,.15);border-left-color:#c9a227}.admin-menu-icon{font-size:24PX;margin-right:14PX;text-align:center;width:30PX}.admin-menu-label{color:hsla(0,0%,100%,.97);font-size:22PX;font-weight:600;letter-spacing:1PX}.admin-menu-item.active .admin-menu-label{color:#c9a227;font-weight:700}.admin-main{background:#f2f4f7;display:flex;flex:1;flex-direction:column;height:100vh;overflow:hidden}.admin-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16PX 24PX}.admin-header-title{color:#1f2a37;font-size:24PX;font-weight:600}.admin-content{flex:1;height:calc(100vh - 60PX);padding:20PX 24PX}@media (max-width:768px){.admin-sidebar{display:none}}.admin-content{font-size:15PX}.admin-content .card{border-radius:12px;box-shadow:0 1px 6px rgba(22,48,74,.05);margin:12px 0;padding:18px 20px}.admin-content .card-title{font-size:18PX;font-weight:600;margin-bottom:14px}.admin-content .stat-row{gap:12px;margin:12px 0}.admin-content .stat-card{border-radius:12px;padding:14px 0}.admin-content .stat-card .num{font-size:28PX;font-weight:700}.admin-content .stat-card .lb{font-size:14PX;margin-top:4px}.admin-content .floor-group{margin:16px 0}.admin-content .floor-title{border-left:4px solid #c9a227;font-size:16PX;font-weight:600;margin-bottom:12px;padding-left:10px}.admin-content .room-grid{gap:12px}.admin-content .room-card{border:1px solid #e5e7eb;border-radius:10px;padding:14px 12px;width:calc(33.333% - 8px)}.admin-content .room-card.cleaning,.admin-content .room-card.occ{border-left:5px solid #16a34a}.admin-content .room-card.empty{border-left:5px solid #c9a227}.admin-content .room-card.cleaning{border-left-color:#ea580c}.admin-content .room-card .no{font-size:20PX;font-weight:700}.admin-content .room-card .guest,.admin-content .room-card .st,.admin-content .room-card .type{font-size:13PX;margin-top:4px}.admin-content .tag{border-radius:12px;font-size:13PX;padding:2px 10px}.admin-content .field{margin-bottom:16px}.admin-content .field taro-label-core{font-size:14PX;margin-bottom:8px}.admin-content .field .input,.admin-content .field .picker-wrap,.admin-content .input{border:1px solid #e5e7eb;border-radius:8px;font-size:15PX;height:40PX;line-height:40PX;padding:0 30px 0 12px}.admin-content .grid-2{gap:14px}.admin-content .btn-row{gap:12px;margin-top:8px}.admin-content .btn{border-radius:8px;font-size:15PX;font-weight:600;height:40PX;line-height:40PX}.admin-content .btn-sm{font-size:13PX;height:32PX;line-height:32PX}.admin-content .modal{border-radius:14px;max-width:90%;padding:24px;width:480px}.admin-content .modal-title{font-size:20PX;font-weight:600;margin-bottom:18px}.admin-content .risk-block{border:1px solid #f3b4b4;border-radius:10px;margin:12px 0;padding:16px}.admin-content .risk-block .rt{font-size:16PX;font-weight:600;margin-bottom:10px}.admin-content .risk-block .item{font-size:14PX;padding:4px 0}.admin-content .risk-warn{border-radius:10px;font-size:14PX;margin:12px 0;padding:14px}.admin-content .order-item{border-radius:10px;margin:10px 0;padding:16px}.admin-content .order-item .row{font-size:15PX;margin-bottom:8px}.admin-content .empty{font-size:15PX;padding:40px 0}.admin-content .hint{font-size:13PX;line-height:1.6}.admin-content .money{font-size:16PX}