:root{--zl-bg-base: #081627;--zl-bg-elevated: linear-gradient(180deg, #0f2a49 0%, #0a1c33 100%);--zl-bg-panel: #0c1d33;--zl-bg-app: radial-gradient(ellipse 60% 55% at 16% 0%, rgba(38,135,230,.16), transparent 60%), radial-gradient(ellipse 55% 55% at 100% 100%, rgba(76,201,255,.1), transparent 62%), #081627;--zl-glass-bg: rgba(255, 255, 255, .05);--zl-glass-border: rgba(120, 205, 255, .14);--zl-glass-blur: 20px;--zl-accent-from: #4CC9FF;--zl-accent-to: #2F8FEA;--zl-accent: linear-gradient(135deg, var(--zl-accent-from) 0%, var(--zl-accent-to) 100%);--zl-glow: rgba(76, 201, 255, .55);--zl-success: #34D399;--zl-warning: #FBBF24;--zl-danger: #F87171;--zl-coach: #C084FC;--zl-room-idle: #22D3EE;--zl-room-busy: #34D399;--zl-room-reserve: #FBBF24;--zl-room-clean: #C084FC;--zl-room-off: #475569;--zl-text-1: #F8FAFC;--zl-text-2: #94A3B8;--zl-text-3: #64748B;--zl-radius: 14px;--zl-gap: 8px;--zl-divider: rgba(255, 255, 255, .06);--zl-btn-h: 44px;--zl-ease: cubic-bezier(.4, 0, .2, 1);--zl-dur-fast: .12s;--zl-dur-base: .2s;--zl-dur-state: .3s}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{background:var(--zl-bg-app, var(--zl-bg-base));background-attachment:fixed;color:var(--zl-text-1);font-family:MiSans,HarmonyOS Sans,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;color-scheme:dark}select{color-scheme:dark;background-color:#090d16e6;color:var(--zl-text-1)}select option{background-color:#101828;color:var(--zl-text-1)}select option:disabled{color:var(--zl-text-3)}.zl-page-enter-active{transition:opacity .38s var(--zl-ease),transform .38s var(--zl-ease),filter .38s var(--zl-ease)}.zl-page-leave-active{transition:opacity .15s ease}.zl-page-enter-from{opacity:0;transform:translateY(26px) scale(.985);filter:blur(6px)}.zl-page-leave-to{opacity:0}.zl-rise{opacity:0;animation:zl-rise .5s var(--zl-ease) forwards;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes zl-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.zl-num{font-variant-numeric:tabular-nums;font-weight:700}.zl-num-accent{background:var(--zl-accent);-webkit-background-clip:text;background-clip:text;color:transparent}.zl-glass{background:var(--zl-glass-bg);border:1px solid var(--zl-glass-border);border-radius:var(--zl-radius);backdrop-filter:blur(var(--zl-glass-blur));-webkit-backdrop-filter:blur(var(--zl-glass-blur));box-shadow:inset 0 1px #ffffff0d,0 10px 30px -18px #0000008c}.zl-btn-primary{position:relative;overflow:hidden;height:var(--zl-btn-h);border:none;border-radius:10px;background:var(--zl-accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 10px 26px -12px var(--zl-glow);transition:box-shadow var(--zl-dur-base) var(--zl-ease),transform var(--zl-dur-base) var(--zl-ease)}.zl-btn-primary:after{content:"";position:absolute;top:0;bottom:0;width:46%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-20deg);transition:left .6s ease}.zl-btn-primary:hover:not(:disabled){box-shadow:0 14px 32px -12px var(--zl-glow);transform:translateY(-1px)}.zl-btn-primary:hover:not(:disabled):after{left:120%}.zl-btn-primary:active{transform:scale(.98)}.zl-btn-primary:disabled{opacity:.4;cursor:not-allowed}.zl-input{width:100%;height:var(--zl-btn-h);padding:0 14px;border:1px solid var(--zl-glass-border);border-radius:10px;background:#ffffff0a;color:var(--zl-text-1);font-size:14px;outline:none;transition:border-color var(--zl-dur-base) var(--zl-ease)}.zl-input::placeholder{color:var(--zl-text-3)}.zl-input:focus{border-color:var(--zl-accent-from);box-shadow:0 0 0 3px #4cc9ff29,0 0 20px -6px var(--zl-glow)}.zl-fade-enter-active{transition:all var(--zl-dur-fast) var(--zl-ease)}.zl-fade-enter-from{opacity:0;transform:translateY(6px)}.zl-skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17,#ffffff0a 75%);background-size:200% 100%;animation:zl-skeleton-wave 1.4s ease infinite;border-radius:var(--zl-radius)}@keyframes zl-skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-track{background:transparent}
