.login-container{--login-ink: #0b1220;--login-panel: rgba(255, 255, 255, .96);--login-text: rgba(15, 23, 42, .9);--login-muted: rgba(15, 23, 42, .48);--login-line: rgba(15, 35, 60, .1);--login-accent: #2f6fed;--login-accent-hover: #2558c7;--login-input-bg: #f4f7fb;display:flex;justify-content:center;align-items:center;min-height:100vh;position:relative;overflow:hidden;padding:24px 16px;background:radial-gradient(900px 480px at 18% 0%,rgba(59,130,246,.2),transparent 55%),radial-gradient(700px 420px at 92% 88%,rgba(14,165,233,.12),transparent 50%),linear-gradient(165deg,#0b1220,#12203a 45%,#0a1428)}.login-container.is-entering .login-panel{animation:login-panel-out .4s cubic-bezier(.4,0,.2,1) both}.login-container.is-entering .login-theme-switch{opacity:0;transition:opacity .25s ease}@keyframes login-panel-out{to{opacity:0;transform:translateY(-12px) scale(.97)}}.login-container__glow{position:absolute;inset:auto auto 12% 50%;width:min(520px,80vw);height:180px;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(79,140,220,.22),transparent 70%);filter:blur(8px);pointer-events:none}.login-theme-switch{position:absolute;top:18px;right:18px;z-index:2}.login-theme-btn{width:36px!important;height:36px!important;color:#e6edf8c7!important;background:#ffffff14!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:10px!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-theme-btn:hover{color:#fff!important;background:#ffffff24!important}.login-panel{position:relative;z-index:1;width:min(392px,calc(100vw - 32px));padding:28px 28px 24px;border-radius:20px;background:var(--login-panel);border:1px solid rgba(255,255,255,.55);box-shadow:0 1px #ffffffa6 inset,0 24px 56px #00000052;animation:login-panel-in .42s cubic-bezier(.22,1,.36,1) both}@keyframes login-panel-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.login-panel__brand{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--login-line)}.login-panel__logo{width:44px;height:44px;border-radius:12px;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 1px #0f233c14,0 8px 18px #0f233c1f}.login-panel__titles{min-width:0}.login-panel__name{margin:0;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:.02em;color:var(--login-text);font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif}.login-panel__sub{margin:4px 0 0;font-size:12px;font-weight:500;letter-spacing:.18em;color:var(--login-muted)}.login-panel__form .ant-form-item{margin-bottom:16px}.login-panel__form .ant-form-item-label>label{font-size:13px;color:var(--login-muted);height:auto}.login-panel__form .ant-input-affix-wrapper,.login-panel__form .ant-input{border-radius:10px!important;background:var(--login-input-bg)!important;border-color:transparent!important;box-shadow:none!important}.login-panel__form .ant-input-affix-wrapper{padding-block:8px;padding-inline:12px}.login-panel__form .ant-input-affix-wrapper:hover,.login-panel__form .ant-input-affix-wrapper-focused,.login-panel__form .ant-input-affix-wrapper:focus-within{background:#fff!important;border-color:#2f6fed73!important;box-shadow:0 0 0 3px #2f6fed1f!important}.login-panel__form .ant-input-prefix{color:#0f172a61;margin-inline-end:8px}.login-panel__form .ant-input::placeholder{color:#0f172a52}.login-panel__submit{margin-bottom:0!important;margin-top:6px}.login-panel__btn.ant-btn-primary{height:44px;border:none!important;border-radius:11px!important;font-size:15px;font-weight:600;letter-spacing:.06em;background:linear-gradient(180deg,#3d8bfd 0%,var(--login-accent) 100%)!important;box-shadow:0 10px 22px #2f6fed47}.login-panel__btn.ant-btn-primary:not(:disabled):hover{background:linear-gradient(180deg,#4a95ff 0%,var(--login-accent-hover) 100%)!important}.login-panel__btn.ant-btn-primary:disabled{opacity:.55;box-shadow:none}.login-captcha-anchor{position:fixed;right:0;bottom:0;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.login-captcha-trigger{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.login-captcha-hint{margin:-2px 0 14px;padding:9px 12px;border-radius:9px;font-size:12px;line-height:1.5;color:#a15c00;background:#faad141f;border:1px solid rgba(250,173,20,.28)}.login-lock-hint{margin:-2px 0 14px;padding:9px 12px;border-radius:9px;font-size:12px;line-height:1.5;color:#cf1322;background:#ff4d4f14;border:1px solid rgba(255,77,79,.22)}.login-fake-404{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;text-align:center;background:radial-gradient(900px 480px at 20% 0%,rgba(59,130,246,.18),transparent 55%),linear-gradient(165deg,#0b1220,#12203a 45%,#0a1428);color:#e6edf8e0;-webkit-user-select:none;user-select:none}.login-fake-404__code{display:flex;align-items:center;justify-content:center;gap:.02em;font-size:clamp(96px,22vw,168px);font-weight:700;line-height:1;letter-spacing:.04em;color:#f5f8ffeb;text-shadow:0 8px 40px rgba(0,0,0,.35);margin-bottom:20px;animation:login-panel-in .5s cubic-bezier(.22,1,.36,1) both}.login-fake-404__zero{margin:0;padding:0 .06em;border:none;background:transparent;color:inherit;font:inherit;line-height:inherit;cursor:default;border-radius:8px}.login-fake-404__title{margin:0 0 10px;font-size:22px;font-weight:600;color:#f5f8ffeb}.login-fake-404__desc{margin:0;max-width:420px;font-size:14px;line-height:1.7;color:#c8d6e89e}html[data-theme=dark] .login-container{--login-panel: rgba(20, 27, 42, .92);--login-text: rgba(245, 248, 255, .94);--login-muted: rgba(200, 214, 232, .55);--login-line: rgba(255, 255, 255, .08);--login-input-bg: rgba(255, 255, 255, .05)}html[data-theme=dark] .login-panel{border-color:#ffffff1a;box-shadow:0 1px #ffffff0f inset,0 24px 56px #00000073}html[data-theme=dark] .login-panel__form .ant-input-affix-wrapper:hover,html[data-theme=dark] .login-panel__form .ant-input-affix-wrapper-focused,html[data-theme=dark] .login-panel__form .ant-input-affix-wrapper:focus-within{background:#ffffff14!important}html[data-theme=dark] .login-panel__form .ant-input,html[data-theme=dark] .login-panel__form .ant-input-affix-wrapper input{color:var(--login-text)}html[data-theme=dark] .login-panel__form .ant-input-prefix{color:#c8d6e873}html[data-theme=dark] .login-panel__logo{box-shadow:0 0 0 1px #ffffff1a,0 8px 18px #00000059}:root{--admin-modal-radius: 16px;--admin-modal-max-h: min(82vh, 720px);--admin-modal-hero-bg: radial-gradient(120% 140% at 0% 0%, rgba(47, 111, 237, .14), transparent 55%), linear-gradient(165deg, #f4f7fb 0%, #eef2f7 100%);--admin-modal-hero-border: rgba(15, 35, 60, .06);--admin-modal-title: rgba(15, 23, 42, .9);--admin-modal-sub: rgba(15, 23, 42, .48);--admin-modal-section-bg: #f7f9fc;--admin-modal-section-border: rgba(15, 35, 60, .05);--admin-modal-footer-bg: #fff;--admin-modal-label: rgba(15, 23, 42, .5)}html[data-theme=dark]{--admin-modal-hero-bg: radial-gradient(120% 140% at 0% 0%, rgba(59, 139, 255, .18), transparent 55%), linear-gradient(165deg, #1a2334 0%, #141b2a 100%);--admin-modal-hero-border: rgba(255, 255, 255, .06);--admin-modal-title: rgba(245, 248, 255, .94);--admin-modal-sub: rgba(200, 214, 232, .5);--admin-modal-section-bg: rgba(255, 255, 255, .04);--admin-modal-section-border: rgba(255, 255, 255, .06);--admin-modal-footer-bg: #141b2a;--admin-modal-label: rgba(200, 214, 232, .5)}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal){max-width:calc(100vw - 32px)}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-content{padding:0!important;border-radius:12px!important;overflow:hidden;max-height:min(80vh,680px);display:flex;flex-direction:column;box-shadow:0 16px 40px #0000002e}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-header{margin:0!important;padding:12px 44px 12px 16px!important;background:var(--admin-surface, #fff)!important;border-bottom:1px solid var(--admin-modal-hero-border)!important;flex-shrink:0}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-title{font-size:15px!important;font-weight:600!important;letter-spacing:0;color:var(--admin-modal-title)!important;line-height:1.35}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-close{top:10px;inset-inline-end:10px;z-index:2}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-body{flex:0 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 16px!important}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-footer{margin:0!important;padding:10px 16px 12px!important;border-top:1px solid var(--admin-modal-hero-border)!important;background:var(--admin-modal-footer-bg);flex-shrink:0}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-body .ant-form-item{margin-bottom:12px}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-body .ant-form-item-label>label{font-size:12px;color:var(--admin-modal-label);height:auto}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-body .ant-input,.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-body .ant-input-affix-wrapper,.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-body .ant-input-textarea textarea,.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-body .ant-select-selector,.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal) .ant-modal-body .ant-picker{border-radius:8px!important}.ant-modal:not(.admin-modal):not(.admin-chat-modal):not(.map-picker-modal):not(.ant-modal-confirm):not(.admin-mobile-msg-modal)[style*="520px"]{width:420px!important}.ant-modal-confirm{max-width:calc(100vw - 32px)}.ant-modal-confirm[style*="416px"]{width:380px!important}.ant-modal-confirm .ant-modal-content{border-radius:12px!important;overflow:hidden;box-shadow:0 16px 40px #0000002e;max-height:min(80vh,720px);display:flex;flex-direction:column}.ant-modal-confirm .ant-modal-body{padding:20px 44px 12px 20px!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:min(76vh,680px)}.ant-modal-confirm .ant-modal-close{top:14px;inset-inline-end:14px;z-index:10}.ant-modal-confirm .ant-modal-confirm-title{font-size:15px;font-weight:600;color:var(--admin-modal-title)}.ant-modal-confirm .ant-modal-confirm-content{font-size:13px;margin-top:6px!important;max-width:100%}.ant-modal-confirm .ant-modal-confirm-content .ant-descriptions-item-content,.ant-modal-confirm .ant-modal-confirm-content .ant-descriptions-item-label,.ant-modal .ant-descriptions-item-content,.ant-modal .ant-descriptions-item-label{word-break:break-word}.ant-modal-confirm .ant-modal-confirm-btns{margin-top:12px}.admin-modal.ant-modal .ant-modal-content{padding:0!important;max-height:var(--admin-modal-max-h);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--admin-modal-radius)!important}.admin-modal.ant-modal .ant-modal-close{top:16px;inset-inline-end:16px;z-index:10}.admin-modal.ant-modal .ant-modal-body{padding:0!important;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.admin-modal__shell{display:flex;flex-direction:column;flex:1;min-height:0;max-height:var(--admin-modal-max-h);overflow:hidden}.admin-modal__shell>.ant-spin-nested-loading{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-modal__shell>.ant-spin-nested-loading>.ant-spin-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-modal__hero{flex-shrink:0;padding:18px 48px 16px 22px;background:var(--admin-modal-hero-bg);border-bottom:1px solid var(--admin-modal-hero-border)}.admin-modal__hero-row{display:flex;align-items:center;gap:14px}.admin-modal__hero-text{min-width:0;flex:1}.admin-modal__title{margin:0;font-size:18px;font-weight:700;line-height:1.3;letter-spacing:.02em;color:var(--admin-modal-title)}.admin-modal__subtitle{margin:4px 0 0;font-size:13px;color:var(--admin-modal-sub)}.admin-modal__hero-extra{flex-shrink:0}.admin-modal__body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 20px 8px}.admin-modal__footer{flex-shrink:0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--admin-modal-hero-border);background:var(--admin-modal-footer-bg)}.admin-modal__section{margin-bottom:18px;padding:14px 14px 4px;border-radius:12px;background:var(--admin-modal-section-bg);border:1px solid var(--admin-modal-section-border)}.admin-modal__section--flush{padding-bottom:14px}.admin-modal__section--last{margin-bottom:8px;padding-bottom:10px}.admin-modal__section-title{margin-bottom:10px;font-size:13px;font-weight:650;color:var(--admin-modal-title)}.admin-modal__section-hint{margin:-4px 0 12px;font-size:12px;line-height:1.5;color:var(--admin-modal-sub)}.admin-modal__body .ant-form-item{margin-bottom:14px}.admin-modal__body .ant-form-item-label>label{font-size:12px;color:var(--admin-modal-label);height:auto}.admin-modal__body .ant-input,.admin-modal__body .ant-input-affix-wrapper,.admin-modal__body .ant-input-textarea textarea,.admin-modal__body .ant-select-selector,.admin-modal__body .ant-picker{border-radius:8px!important}.admin-chat-modal .ant-modal-content,.map-picker-modal .ant-modal-content{border-radius:var(--admin-modal-radius)!important;overflow:hidden;box-shadow:0 24px 56px #00000038;max-height:none;display:block}.admin-chat-modal .ant-modal-header,.map-picker-modal .ant-modal-header{background:var(--admin-surface)!important}.admin-chat-modal .ant-modal-body,.map-picker-modal .ant-modal-body{overflow:auto}.admin-modal.profile-modal .admin-modal__hero{padding:22px 48px 18px 22px}.profile-modal__hero-main{display:flex;align-items:center;gap:14px}.profile-modal__avatar-wrap{position:relative;flex-shrink:0}.profile-modal__avatar-wrap .ant-avatar{box-shadow:0 0 0 3px #fff,0 8px 20px #0f233c1f}.profile-modal__avatar-btn{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#2f6fed;color:#fff;cursor:pointer;box-shadow:0 2px 8px #2f6fed59}.profile-modal__avatar-btn:hover{background:#2558c7}.profile-modal__alert{margin-bottom:14px;border-radius:10px}.profile-modal__extra{font-size:12px;color:var(--admin-modal-sub)}.profile-modal__meta{margin:4px 0 12px;padding:10px 12px;border-radius:8px;background:#ffffffd9;border:1px solid rgba(15,35,60,.06)}.profile-modal__meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;font-size:13px}.profile-modal__meta-row+.profile-modal__meta-row{margin-top:4px}.profile-modal__meta-label{color:var(--admin-modal-sub);flex-shrink:0}.profile-modal__meta-value{display:inline-flex;align-items:center;gap:2px;color:var(--admin-modal-title);text-align:right}.profile-modal__collapse.ant-collapse{background:transparent;margin-bottom:6px}.profile-modal__collapse .ant-collapse-header{padding:8px 4px!important;font-size:13px;color:var(--admin-modal-title)!important}.profile-modal__collapse .ant-collapse-content-box{padding:4px 0 8px!important}.profile-modal__link-btn{width:100%;margin-top:4px;height:36px;border-radius:8px;border-style:dashed}.profile-modal__rules h4{margin:0 0 8px;font-size:14px}.profile-modal__rules ul{margin:0 0 16px;padding-left:18px;color:var(--admin-modal-sub)}html[data-theme=dark] .profile-modal__avatar-wrap .ant-avatar{box-shadow:0 0 0 3px #1a2334,0 8px 20px #00000059}html[data-theme=dark] .profile-modal__meta{background:#0000002e;border-color:#ffffff0f}.admin-chat-modal .ant-modal-content{padding:0;overflow:hidden;border-radius:16px;background:#f5f5f5}.admin-chat-modal .ant-modal-body{padding:0}.admin-chat-shell{display:flex;flex-direction:column;height:min(78vh,720px);background:#f5f5f5}.admin-chat-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:linear-gradient(180deg,#fff8f3,#fff);border-bottom:1px solid rgba(255,107,53,.1);box-shadow:0 4px 12px #1c140c0a}.admin-chat-peer{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px 6px;border-radius:12px;border:none;background:transparent;cursor:default;text-align:left}.admin-chat-peer.is-clickable{cursor:pointer}.admin-chat-peer.is-clickable:hover{background:#ff6b350f}.admin-chat-peer-avatar{flex-shrink:0;width:40px;height:40px;border:2px solid rgba(255,255,255,.95);box-shadow:0 2px 8px #1c140c1a;background:#f3f0ec}.admin-chat-peer-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.admin-chat-peer-name-row{display:flex;align-items:center;gap:8px;min-width:0}.admin-chat-peer-name{font-size:16px;font-weight:700;color:#1a1a1a;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-chat-role-badge{flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.4;border-radius:999px;border:1px solid transparent}.admin-chat-role-badge--landlord{color:#c2410c;background:#fff7ed;border-color:#ea580c38}.admin-chat-role-badge--tenant{color:#0f766e;background:#f0fdfa;border-color:#0f766e33}.admin-chat-peer-sub{font-size:12px;color:#a8a29e;line-height:1.2}.admin-chat-header-close{flex-shrink:0;width:32px;height:32px;border:none;border-radius:50%;background:#fff;color:#78716c;box-shadow:0 2px 8px #1c140c0f;cursor:pointer;font-size:18px;line-height:1}.admin-chat-header-close:hover{color:#1a1a1a;background:#fafaf9}.admin-chat-header-back{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#fff;color:#57534e;box-shadow:0 2px 8px #1c140c0f;cursor:pointer;font-size:14px}.admin-chat-header-back:hover{color:#ff6b35;background:#fff7f2}.admin-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:14px 12px 8px}.admin-chat-load-more{text-align:center;margin-bottom:10px}.admin-chat-time-divider{display:flex;justify-content:center;margin:8px 0 14px}.admin-chat-time-divider span{padding:2px 10px;font-size:11px;color:#a8a29e;background:#0000000a;border-radius:999px}.admin-chat-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;width:100%}.admin-chat-row.is-sent{flex-direction:row-reverse}.admin-chat-msg-avatar{flex-shrink:0;width:36px;height:36px;border:2px solid #fff;box-shadow:0 2px 8px #0000001a;background:linear-gradient(145deg,#ff8a4c,#ff6b35)}.admin-chat-bubble-wrap{display:flex;flex-direction:column;max-width:68%;min-width:0}.admin-chat-row.is-sent .admin-chat-bubble-wrap{align-items:flex-end}.admin-chat-row.is-received .admin-chat-bubble-wrap{align-items:flex-start}.admin-chat-bubble{position:relative;max-width:100%;padding:10px 12px;border-radius:10px;word-break:break-word;box-shadow:none}.admin-chat-row.is-sent .admin-chat-bubble{background:#ffece3;color:#3d2a1f}.admin-chat-row.is-received .admin-chat-bubble{background:#fff;color:#333}.admin-chat-bubble:after{content:"";position:absolute;top:12px;width:0;height:0;border-style:solid}.admin-chat-row.is-sent .admin-chat-bubble:after{right:-6px;border-width:6px 0 6px 6px;border-color:transparent transparent transparent #ffece3}.admin-chat-row.is-received .admin-chat-bubble:after{left:-6px;border-width:6px 6px 6px 0;border-color:transparent #ffffff transparent transparent}.admin-chat-bubble-time{margin-top:4px;font-size:11px;color:#a8a29e;line-height:1}.admin-chat-footer{flex-shrink:0;display:flex;gap:8px;align-items:flex-end;padding:10px 12px 12px;background:#fff;border-top:1px solid rgba(0,0,0,.06)}.admin-chat-footer .ant-input{border-radius:12px;background:#f5f5f5;border-color:transparent;resize:none}.admin-chat-footer .ant-input:focus,.admin-chat-footer .ant-input:hover{background:#f5f5f5;border-color:#ff6b3559;box-shadow:none}.admin-chat-footer-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.admin-chat-footer-actions .ant-btn-primary{background:linear-gradient(135deg,#ff8c5a,#ff6b35);border:none;box-shadow:none}.admin-chat-footer-actions .ant-btn-primary:not(:disabled):hover{background:linear-gradient(135deg,#ff9a6e,#ff7a4a)}.admin-chat-empty{padding:48px 0}.admin-chat-float{position:fixed;right:20px;bottom:20px;z-index:1200;width:min(400px,calc(100vw - 24px));border-radius:16px;overflow:hidden;box-shadow:0 18px 48px #0f172a3d,0 0 0 1px #0f172a0f;animation:admin-float-in .22s ease-out}.admin-chat-float.is-with-sim{right:calc(34px + min(360px,calc(100vw - 24px)))}.admin-chat-float .admin-chat-shell{height:min(70vh,640px)}@media (max-width: 900px){.admin-chat-float.is-with-sim{right:20px}}.admin-mobile-msg-modal.ant-modal{max-width:calc(100vw - 24px)}.admin-mobile-msg-modal .ant-modal-content{border-radius:28px!important;overflow:hidden;max-height:none!important;box-shadow:0 24px 64px #0f172a47;background:#f3f4f6}.admin-mobile-msg-modal .ant-modal-body{padding:0!important;overflow:hidden!important;max-height:none!important}.admin-mobile-msg-modal .ant-modal-close{top:10px;inset-inline-end:12px;z-index:10;color:#0f172a8c}.admin-mobile-msg{display:flex;flex-direction:column;height:min(78vh,720px);background:radial-gradient(120% 80% at 50% -10%,rgba(255,107,53,.12),transparent 55%),#f3f4f6}.admin-mobile-msg.is-embedded{height:100%}.admin-mobile-msg.is-embedded .admin-mobile-msg__tabs{margin-top:8px}.admin-mobile-msg__status{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;font-size:12px;font-weight:600;color:#0f172a8c;letter-spacing:.02em}.admin-mobile-msg__close{width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:#0f172a73;font-size:20px;line-height:1;cursor:pointer}.admin-mobile-msg__close:hover{background:#0000000d;color:#0f172abf}.admin-mobile-msg-float{position:fixed;right:20px;bottom:20px;z-index:1190;width:min(360px,calc(100vw - 24px));border-radius:22px;overflow:hidden;box-shadow:0 18px 48px #0f172a38,0 0 0 1px #0f172a0f;animation:admin-float-in .22s ease-out}.admin-mobile-msg-float .admin-mobile-msg{height:min(70vh,640px)}@keyframes admin-float-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 900px){.admin-mobile-msg-float.is-with-chat{display:none}}.admin-mobile-msg__tabs{flex-shrink:0;display:flex;gap:4px;margin:0 14px 10px;padding:4px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.04);box-shadow:0 4px 14px #0000000a}.admin-mobile-msg__tab{flex:1;border:none;background:transparent;border-radius:9px;padding:9px 8px;font-size:13px;color:#6b7280;cursor:pointer}.admin-mobile-msg__tab.is-active{color:#ff6b35;font-weight:650;background:#fff7f2}.admin-mobile-msg__hint{flex-shrink:0;margin:0 16px 8px;font-size:12px;color:#0f172a6b}.admin-mobile-msg__list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 16px}.admin-mobile-msg__items{display:flex;flex-direction:column;gap:8px}.admin-mobile-msg__item{position:relative;display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 12px 12px 14px;border:1px solid rgba(0,0,0,.045);border-radius:14px;background:#fff;box-shadow:0 4px 12px #1c19170a;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.admin-mobile-msg__item:hover{border-color:#ff6b3538;background:#fffaf7}.admin-mobile-msg__item.is-unread{background:linear-gradient(180deg,#fffaf5,#fff 70%)}.admin-mobile-msg__accent{position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:#ff6b35}.admin-mobile-msg__avatar{flex-shrink:0;background:#f3f0ec}.admin-mobile-msg__main{flex:1;min-width:0}.admin-mobile-msg__top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.admin-mobile-msg__name-line{display:flex;align-items:center;gap:6px;min-width:0}.admin-mobile-msg__name{font-size:14px;font-weight:650;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mobile-msg__role{flex-shrink:0;font-size:11px;line-height:1;padding:3px 6px;border-radius:999px;background:#f3f4f6;color:#6b7280}.admin-mobile-msg__role--landlord{background:#fff1e8;color:#c2410c}.admin-mobile-msg__role--tenant{background:#eef6ff;color:#1d4ed8}.admin-mobile-msg__time{flex-shrink:0;font-size:11px;color:#9ca3af;line-height:1.4}.admin-mobile-msg__phone{margin-top:2px;font-size:12px;color:#9ca3af}.admin-mobile-msg__preview{display:flex;align-items:center;gap:8px;margin-top:4px}.admin-mobile-msg__last{flex:1;min-width:0;font-size:12px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mobile-msg__item.is-unread .admin-mobile-msg__last{color:#374151;font-weight:500}.admin-mobile-msg__badge .ant-badge-count{box-shadow:none}.admin-mobile-msg__more,.admin-mobile-msg__end{border:none;background:transparent;width:100%;padding:12px 0 4px;font-size:12px;color:#9ca3af;text-align:center;cursor:pointer}.admin-mobile-msg__more:disabled{cursor:default}.mp-msg-float{position:fixed;right:20px;bottom:20px;z-index:1200;width:min(390px,calc(100vw - 24px));height:min(72vh,680px);display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#f3f4f6;box-shadow:0 20px 56px #0f172a42,0 0 0 1px #0f172a0f;animation:mp-msg-float-in .2s ease-out;pointer-events:auto}@keyframes mp-msg-float-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.mp-msg-float__drag{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:10px 10px 8px 14px;background:linear-gradient(180deg,#fff8f3,#fff);border-bottom:1px solid rgba(255,107,53,.1);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.mp-msg-float__drag:active{cursor:grabbing}.mp-msg-float__drag-title{flex:1;min-width:0;font-size:12px;font-weight:650;color:#0f172a9e;letter-spacing:.02em}.mp-msg-float__drag-hint{flex-shrink:0;font-size:11px;color:#0f172a59}.mp-msg-float__close{flex-shrink:0;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:#0f172a73;font-size:20px;line-height:1;cursor:pointer}.mp-msg-float__close:hover{background:#0000000d;color:#0f172acc}.mp-msg-float__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.mp-msg-float__body .admin-mobile-msg,.mp-msg-float__body .admin-chat-shell{height:100%;max-height:none;border-radius:0;box-shadow:none}.admin-layout{height:100vh;overflow:hidden}.admin-layout .admin-sider{height:100vh!important;overflow:hidden;background:radial-gradient(120% 80% at 0% 0%,var(--admin-sider-glow),transparent 55%),linear-gradient(180deg,var(--admin-sider-top) 0%,var(--admin-sider) 42%,var(--admin-sider-bottom) 100%)!important;border-right:1px solid var(--admin-sider-border)}.admin-layout .admin-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;overflow:hidden;background:transparent}.admin-layout .logo{flex-shrink:0;height:48px;margin:8px 6px 6px;padding:0 6px;display:flex;align-items:center;justify-content:flex-start;gap:6px;color:var(--admin-sider-text-strong);background:transparent;border-radius:8px;overflow:hidden;white-space:nowrap;min-width:0}.admin-layout .logo .logo-icon{width:28px;height:28px;border-radius:7px;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 1px var(--admin-sider-border)}.admin-layout .logo .logo-copy{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;flex:1;overflow:hidden}.admin-layout .logo .logo-text{font-size:13px;font-weight:600;line-height:1.2;letter-spacing:.01em;color:var(--admin-sider-text-strong);overflow:hidden;text-overflow:ellipsis}.admin-layout .logo .logo-sub{font-size:11px;font-weight:400;line-height:1.2;color:var(--admin-sider-text-muted);overflow:hidden;text-overflow:ellipsis}.admin-layout .logo.logo-collapsed{justify-content:center;margin:8px 6px 4px;padding:0}.admin-layout .logo.logo-collapsed .logo-icon{width:28px;height:28px}.admin-layout .sider-menu-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 0 8px}.admin-layout .sider-menu-scroll .ant-menu{border-inline-end:none!important;background:transparent!important;padding:0 2px;color:var(--admin-sider-text);font-size:var(--admin-sider-font-size)!important}.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-item,.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-submenu-title{height:40px!important;line-height:40px!important;margin-block:2px!important;margin-inline:2px!important;width:calc(100% - 4px)!important;border-radius:8px!important;padding-inline:10px!important;color:var(--admin-sider-text)!important;font-size:var(--admin-sider-font-size)!important;transition:background .18s ease,color .18s ease}.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-item .ant-menu-item-icon,.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-submenu-title .ant-menu-item-icon{font-size:var(--admin-sider-icon-size)!important;min-width:var(--admin-sider-icon-size)!important;color:inherit!important}.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-title-content{margin-inline-start:8px!important}.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-item:hover,.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-submenu-title:hover{background:var(--admin-sider-item-hover)!important;color:var(--admin-sider-text-strong)!important}.admin-layout .admin-sider .ant-menu .ant-menu-item-selected{background:var(--admin-sider-item-active)!important;color:var(--admin-sider-text-strong)!important;box-shadow:inset 3px 0 0 0 var(--admin-sider-accent)}.admin-layout .admin-sider .ant-menu .ant-menu-item-selected .ant-menu-item-icon{color:var(--admin-sider-accent-hover)!important}.admin-layout .admin-sider .ant-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--admin-sider-text-strong)!important}.admin-layout .admin-sider .ant-menu .ant-menu-submenu-arrow{color:var(--admin-sider-text-muted)!important}.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-sub.ant-menu-inline{background:var(--admin-sider-sub)!important;border-radius:var(--admin-radius-sm);margin:2px 4px 6px;padding:4px 0;box-shadow:inset 0 0 0 1px var(--admin-sider-border)}.admin-layout .admin-sider .ant-menu.ant-menu-inline .ant-menu-sub.ant-menu-inline>.ant-menu-item{height:36px!important;line-height:36px!important;margin-inline:2px!important;width:calc(100% - 4px)!important;padding-inline:32px 10px!important}.admin-layout .admin-sider-footer{flex-shrink:0;height:44px;display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 8px;border-top:1px solid var(--admin-sider-border);background:var(--admin-sider-trigger)}.admin-layout .admin-sider-footer__btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--admin-sider-text-muted);cursor:pointer;transition:color .18s ease,background .18s ease}.admin-layout .admin-sider-footer__btn:hover{color:var(--admin-sider-text-strong);background:var(--admin-sider-accent-soft)}.admin-layout .admin-sider.ant-layout-sider-collapsed .admin-sider-footer{justify-content:center;padding:0 4px}.admin-sider-appearance{width:240px;padding:4px 0 0}.admin-sider-appearance__row{margin-bottom:14px}.admin-sider-appearance__row:last-child{margin-bottom:0}.admin-sider-appearance__label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;color:var(--admin-text-secondary)}.admin-sider-appearance__value{font-variant-numeric:tabular-nums;color:var(--admin-text)}.admin-sider-appearance__actions{margin-top:12px;display:flex;justify-content:flex-end}.admin-layout .admin-main{height:100vh;overflow:hidden;display:flex;flex-direction:column;background:var(--admin-canvas)}.admin-header{flex-shrink:0;height:var(--admin-header-height)!important;line-height:var(--admin-header-height)!important;background:var(--admin-surface);padding:0 16px 0 10px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--admin-border);box-shadow:var(--admin-shadow-xs);gap:16px}.admin-header__left,.admin-header__right{display:flex;align-items:center;min-width:0;gap:8px}.admin-header__left{flex:1}.admin-header__right{flex-shrink:0;gap:4px}.admin-header__sep{width:1px;height:20px;margin:0 4px;background:var(--admin-border);flex-shrink:0}.admin-header-brand{display:flex;align-items:center;gap:8px;min-width:0}.admin-header-brand__logo{width:28px;height:28px;border-radius:7px;object-fit:cover;flex-shrink:0}.admin-header-brand__name{font-size:15px;font-weight:650;color:var(--admin-text);white-space:nowrap;letter-spacing:-.01em}.admin-header-tools{display:flex;align-items:center;gap:4px}.admin-header-actions{display:flex;align-items:center;gap:2px}.admin-header-icon-btn{color:var(--admin-text-secondary)!important;width:36px!important;height:36px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:8px!important}.admin-header-icon-btn:hover{color:var(--admin-text)!important;background:var(--admin-surface-muted)!important}.admin-header-nav-btn{color:var(--admin-text-secondary)!important;height:36px!important;padding:0 10px!important;display:inline-flex!important;align-items:center;gap:6px;border-radius:8px!important;font-weight:500}.admin-header-nav-btn:hover{color:var(--admin-text)!important;background:var(--admin-surface-muted)!important}.admin-header-nav-btn .anticon{font-size:15px}.admin-header-nav-btn__text{font-size:13px;line-height:1}.admin-header .ant-badge{line-height:1}.admin-header-user{display:inline-flex;align-items:center;gap:8px;height:36px;margin:0;padding:0 8px 0 4px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--admin-text);cursor:pointer;transition:background .15s,border-color .15s}.admin-header-user:hover{background:var(--admin-surface-muted);border-color:var(--admin-border)}.admin-header-user__name{max-width:96px;font-size:13px;font-weight:550;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-header-user__caret{font-size:10px;color:var(--admin-text-tertiary)}@media (max-width: 900px){.admin-header-brand__name,.admin-header-nav-btn__text,.admin-header-user__name{display:none}.admin-header-nav-btn{width:36px!important;padding:0!important;justify-content:center}.admin-header-user{padding:0 4px}}.page-refresh-control{display:inline-flex;align-items:stretch;height:30px;border:1px solid var(--admin-border);border-radius:8px;background:var(--admin-surface-muted);overflow:hidden;transition:border-color .2s,background .2s}.page-refresh-control:hover{border-color:var(--admin-border-strong);background:var(--admin-surface)}.page-refresh-control__btn,.page-refresh-control__interval{display:inline-flex;align-items:center;justify-content:center;margin:0;border:none;background:transparent;color:var(--admin-text-secondary);cursor:pointer;line-height:1;transition:background .15s,color .15s}.page-refresh-control__btn{padding:0 8px;font-size:14px}.page-refresh-control__interval{gap:4px;padding:0 8px 0 6px;font-size:12px}.page-refresh-control__btn:hover,.page-refresh-control__interval:hover{background:var(--admin-primary-soft);color:var(--admin-text)}.page-refresh-control__divider{width:1px;align-self:stretch;margin:5px 0;background:var(--admin-border)}.page-refresh-control__label{min-width:2.5em;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none}.page-refresh-control__arrow{font-size:10px;color:var(--admin-text-tertiary)}.admin-content{flex:1;min-height:0;overflow:auto;margin:16px 18px 18px;padding:16px 18px;background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-lg);box-shadow:var(--admin-shadow-xs)}.admin-content .bill-list-table .ant-table-cell-fix-right{background:var(--admin-surface)}.admin-content>div>div:first-child:has(>h2){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--admin-divider)}.admin-content>div>div:first-child:has(>h2)>h2{margin:0;font-size:18px;font-weight:600;line-height:1.4;color:var(--admin-text)}html[data-theme=dark] .admin-layout .admin-main{background:var(--admin-canvas)}html[data-theme=dark] .admin-header{background:var(--admin-surface);border-bottom-color:var(--admin-border);box-shadow:none}html[data-theme=dark] .admin-header-icon-btn{color:var(--admin-text)!important}html[data-theme=dark] .page-refresh-control{border-color:var(--admin-border);background:var(--admin-surface-muted)}html[data-theme=dark] .page-refresh-control:hover{border-color:var(--admin-border-strong);background:var(--admin-surface-elevated)}html[data-theme=dark] .page-refresh-control__btn,html[data-theme=dark] .page-refresh-control__interval{color:var(--admin-text-secondary)}html[data-theme=dark] .page-refresh-control__btn:hover,html[data-theme=dark] .page-refresh-control__interval:hover{background:var(--admin-primary-soft);color:var(--admin-text)}html[data-theme=dark] .page-refresh-control__divider{background:var(--admin-border)}html[data-theme=dark] .page-refresh-control__arrow{color:var(--admin-text-tertiary)}html[data-theme=dark] .admin-content{background:var(--admin-surface);border-color:var(--admin-border);box-shadow:none}html[data-theme=dark] .admin-content .bill-list-table .ant-table-cell-fix-right{background:var(--admin-surface)}html[data-theme=dark] .admin-content>div>div:first-child:has(>h2){border-bottom-color:var(--admin-divider)}html[data-theme=dark] .admin-content>div>div:first-child:has(>h2)>h2{color:var(--admin-text)}@media (max-width: 768px){.admin-layout .admin-sider{position:fixed!important;height:100vh!important;left:0;top:0;z-index:999}.admin-layout .ant-layout-sider-collapsed{transform:translate(-100%)}.admin-content{margin:16px;padding:16px}.admin-header{padding:0 16px}}@media (max-width: 576px){.admin-content{margin:8px;padding:12px}.admin-header{padding:0 12px}.admin-layout .logo{height:48px;font-size:16px;margin:8px;gap:8px}.admin-layout .logo .logo-icon{width:28px;height:28px;border-radius:6px}}.admin-list-page{display:flex;flex-direction:column;gap:0;min-width:0}.admin-list-page__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--admin-divider)}.admin-list-page__heading{min-width:0;flex:1}.admin-list-page__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}.admin-list-page__title{margin:0;font-size:18px;font-weight:650;line-height:1.35;color:var(--admin-text);letter-spacing:-.01em}.admin-list-page__title-extra{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.admin-list-page__desc{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--admin-text-tertiary)}.admin-list-page__extra{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.admin-list-page__body{min-width:0}.admin-content .ant-table-tbody>tr>td.admin-col-text,.admin-content .ant-table-thead>tr>th.admin-col-text{max-width:16em}.admin-content .admin-ellipsis-text{display:inline;word-break:break-all}.admin-content .admin-ellipsis-fluid{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;word-break:normal}.admin-content .admin-ellipsis-fluid-host{display:block!important;max-width:100%;overflow:hidden;height:auto!important;padding:0!important;line-height:inherit!important;text-align:left}.admin-content .admin-ellipsis-fluid-host>.admin-ellipsis-fluid{max-width:100%}.admin-content .ant-table-thead>tr>th.admin-col-id,.admin-content .ant-table-tbody>tr>td.admin-col-id{width:64px!important;max-width:72px!important;white-space:nowrap}.admin-content .ant-table-thead>tr>th.admin-col-tag,.admin-content .ant-table-tbody>tr>td.admin-col-tag{width:88px!important;max-width:100px!important;white-space:nowrap}.admin-content .ant-table-thead>tr>th.admin-col-status,.admin-content .ant-table-tbody>tr>td.admin-col-status{width:96px!important;max-width:110px!important;white-space:nowrap}.admin-content .ant-table-thead>tr>th.admin-col-count,.admin-content .ant-table-tbody>tr>td.admin-col-count{width:72px!important;max-width:80px!important;white-space:nowrap}.admin-content .ant-table-thead>tr>th.admin-col-phone,.admin-content .ant-table-tbody>tr>td.admin-col-phone{width:120px!important;max-width:132px!important;white-space:nowrap}.admin-content .ant-table-thead>tr>th.admin-col-person,.admin-content .ant-table-tbody>tr>td.admin-col-person{min-width:160px;width:clamp(180px,18vw,260px);max-width:clamp(180px,18vw,260px);overflow:hidden;white-space:nowrap}.admin-content .ant-table-thead>tr>th.admin-col-time,.admin-content .ant-table-tbody>tr>td.admin-col-time{width:160px!important;max-width:168px!important;white-space:nowrap}.admin-content .ant-table-thead>tr>th.admin-col-switch,.admin-content .ant-table-tbody>tr>td.admin-col-switch{width:88px!important;max-width:100px!important;white-space:nowrap}.admin-content .ant-table-tbody>tr>td.admin-col-text,.admin-content .ant-table-thead>tr>th.admin-col-text{width:160px;max-width:16em;overflow:hidden}.admin-content .ant-table-thead>tr>th.admin-col-flex,.admin-content .ant-table-tbody>tr>td.admin-col-flex{min-width:160px;overflow:hidden}.admin-content .ant-table-wrapper{background:transparent}.admin-content .ant-table-thead>tr>th{background:var(--admin-surface-muted)!important;font-weight:600;color:var(--admin-text-secondary);white-space:nowrap;border-bottom-color:var(--admin-border)!important}.admin-content .ant-table-tbody>tr>td{vertical-align:middle;border-bottom-color:var(--admin-divider)!important}.admin-content .ant-table-tbody>tr:hover>td,.admin-content .ant-table-tbody>tr.ant-table-row:hover>td,.admin-content .ant-table-tbody>tr>td.ant-table-cell-row-hover{background:var(--admin-row-hover)!important;background-color:var(--admin-row-hover)!important}.admin-content .ant-table-cell-fix-left,.admin-content .ant-table-cell-fix-right,.admin-content .ant-table-cell.admin-table-action-col{z-index:3!important;background:var(--admin-surface)!important;background-color:var(--admin-surface)!important;background-image:none!important;box-shadow:-6px 0 8px -6px #0f172a1f}.admin-content .ant-table-thead .ant-table-cell-fix-left,.admin-content .ant-table-thead .ant-table-cell-fix-right,.admin-content .ant-table-thead .ant-table-cell.admin-table-action-col{z-index:4!important;background:var(--admin-surface-muted)!important;background-color:var(--admin-surface-muted)!important}.admin-content .ant-table-tbody>tr:hover>td.ant-table-cell-fix-left,.admin-content .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right,.admin-content .ant-table-tbody>tr:hover>td.admin-table-action-col,.admin-content .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left,.admin-content .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-right,.admin-content .ant-table-tbody>tr.ant-table-row:hover>td.admin-table-action-col,.admin-content .ant-table-tbody>tr>td.ant-table-cell-row-hover.ant-table-cell-fix-left,.admin-content .ant-table-tbody>tr>td.ant-table-cell-row-hover.ant-table-cell-fix-right,.admin-content .ant-table-tbody>tr>td.ant-table-cell-row-hover.admin-table-action-col{background:var(--admin-row-hover)!important;background-color:var(--admin-row-hover)!important;background-image:none!important}.admin-content .ant-table-cell.admin-table-action-col,.admin-content .ant-table-cell-fix-right.admin-table-action-col{padding:4px 8px!important;white-space:nowrap;overflow:hidden}.admin-content .admin-table-action-col .ant-space,.admin-content .admin-table-action-col .admin-table-actions{display:inline-flex!important;flex-wrap:nowrap!important;align-items:center;column-gap:0!important;row-gap:0!important;gap:0!important}.admin-content .admin-table-action-col .ant-space-item{margin-inline-end:0!important}.admin-content .admin-table-action-col .ant-btn,.admin-content .admin-table-action-col .ant-btn-link{height:24px;min-width:auto;padding:0 4px!important;margin:0!important;font-size:12px;line-height:22px;border-radius:4px}.admin-content .admin-table-action-col .ant-btn>.anticon{font-size:12px}.admin-content .admin-table-action-col .ant-btn>.anticon+span{margin-inline-start:2px!important}.admin-content .admin-table-action-col .ant-switch{margin-inline:4px;flex-shrink:0}.admin-content .admin-table-action-col .ant-btn-link:hover{background:var(--admin-primary-soft)}.admin-content .admin-table-action-col .ant-btn-link.ant-btn-dangerous:hover{background:#ff4d4f14}.admin-content .admin-table-action-col .ant-popconfirm-message,.admin-content .admin-table-action-col .ant-dropdown-trigger{line-height:1}.admin-content .bill-list-table .ant-table-cell-fix-right{background:var(--admin-surface)!important}.admin-content .bill-list-table .ant-table-tbody>tr:hover>.ant-table-cell-fix-right{background:var(--admin-row-hover)!important}html[data-theme=dark] .admin-content .ant-table-cell-fix-right,html[data-theme=dark] .admin-content .ant-table-cell-fix-left,html[data-theme=dark] .admin-content .ant-table-cell.admin-table-action-col{box-shadow:-6px 0 8px -6px #00000073}html[data-theme=dark] .admin-content .admin-table-action-col .ant-btn-link:hover{background:var(--admin-primary-soft)}html[data-theme=dark] .admin-content .admin-table-action-col .ant-btn-link.ant-btn-dangerous:hover{background:#ff4d4f29}@media (max-width: 768px){.admin-list-page__header{align-items:flex-start}.admin-list-page__extra{width:100%;justify-content:flex-start}}.dashboard-page{display:flex;flex-direction:column;gap:12px;min-width:0}.dashboard-page__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-bottom:10px;border-bottom:1px solid var(--admin-divider)}.dashboard-page__title{margin:0;font-size:18px;font-weight:650;line-height:1.3;color:var(--admin-text)}.dashboard-page__actions{display:flex;flex-wrap:wrap;gap:8px}.dashboard-section{background:var(--admin-surface-muted);border:1px solid var(--admin-border);border-radius:var(--admin-radius);padding:12px 14px;min-width:0}.dashboard-section__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.dashboard-section__title{margin:0;font-size:13px;font-weight:600;color:var(--admin-text-secondary);letter-spacing:.01em}.dashboard-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.dashboard-metric-grid{display:grid;gap:8px}.dashboard-metric-grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-metric-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-metric-grid--7{grid-template-columns:repeat(7,minmax(0,1fr))}.dashboard-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-metric{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm);padding:10px 12px;min-width:0;transition:border-color .15s,background .15s,box-shadow .15s}.dash-metric.is-clickable{cursor:pointer}.dash-metric.is-clickable:hover{border-color:var(--admin-primary-hover);background:var(--admin-primary-soft);box-shadow:var(--admin-shadow-xs)}.dash-metric.is-accent{background:linear-gradient(180deg,var(--admin-primary-soft) 0%,var(--admin-surface) 72%)}.dash-metric__label{font-size:12px;line-height:1.2;color:var(--admin-text-tertiary);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-metric__value{display:flex;align-items:baseline;gap:4px;font-size:20px;font-weight:650;line-height:1.15;color:var(--admin-text);font-variant-numeric:tabular-nums;word-break:break-all}.dash-metric__prefix{font-size:13px;font-weight:500;color:var(--admin-text-tertiary)}.dash-metric__icon{margin-right:2px;font-size:14px;color:var(--admin-text-tertiary)}.dashboard-share-tags{display:flex;flex-wrap:wrap;gap:8px}.dashboard-share-tag{border-radius:999px!important;height:28px!important;font-size:12px!important;padding:0 10px!important}.dashboard-recharge-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}@media (max-width: 1200px){.dashboard-kpi-row,.dashboard-metric-grid--6,.dashboard-metric-grid--7{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 768px){.dashboard-kpi-row,.dashboard-split,.dashboard-recharge-summary,.dashboard-metric-grid--3,.dashboard-metric-grid--6,.dashboard-metric-grid--7{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.dashboard-kpi-row,.dashboard-split,.dashboard-recharge-summary,.dashboard-metric-grid--3,.dashboard-metric-grid--6,.dashboard-metric-grid--7{grid-template-columns:1fr}}.hl-module-stack{display:flex;flex-direction:column;gap:10px}.hl-module-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--admin-surface-muted);border:1px solid var(--admin-border);border-radius:var(--admin-radius-sm)}.hl-module-body{flex:1;min-width:0}.hl-module-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:1.4}.hl-module-title{font-weight:600;font-size:14px;color:var(--admin-text);word-break:break-word}.hl-module-desc{margin-top:6px;font-size:12px;color:var(--admin-text-secondary);line-height:1.5;word-break:break-word}.hl-module-actions{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding-top:2px}.hl-module-actions .ant-btn{padding-inline:4px}.hl-empty-slot{padding:16px 0 8px}.login-enter{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(900px 480px at 20% 0%,rgba(59,130,246,.22),transparent 55%),linear-gradient(165deg,#0b1220,#12203a 45%,#0a1428);animation:login-enter-in .38s cubic-bezier(.22,1,.36,1) both}.login-enter.is-leave{animation:login-enter-out .48s cubic-bezier(.4,0,.2,1) both;pointer-events:none}.login-enter__glow{position:absolute;width:min(480px,70vw);height:200px;left:50%;top:48%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(79,140,220,.28),transparent 70%);filter:blur(10px);pointer-events:none}.login-enter__card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;color:#f5f8fff0}.login-enter__logo-wrap{position:relative;width:72px;height:72px;margin-bottom:18px}.login-enter__logo{width:72px;height:72px;border-radius:18px;object-fit:cover;box-shadow:0 0 0 1px #ffffff24,0 16px 36px #00000059;animation:login-enter-logo 1.6s ease-in-out infinite}.login-enter__ring{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:24px;border:2px solid rgba(61,139,253,.35);animation:login-enter-ring 1.6s ease-out infinite}.login-enter__brand{margin:0;font-size:22px;font-weight:700;letter-spacing:.04em;font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif}.login-enter__status{margin:10px 0 0;font-size:15px;font-weight:600;color:#78b4fff2}.login-enter__sub{margin:6px 0 0;font-size:13px;color:#c8d6e894}.login-enter__bar{margin-top:22px;width:min(200px,56vw);height:3px;border-radius:999px;background:#ffffff1a;overflow:hidden}.login-enter__bar-fill{display:block;height:100%;width:40%;border-radius:inherit;background:linear-gradient(90deg,#3d8bfd,#69a6ff);animation:login-enter-bar 1.2s ease-in-out infinite}@keyframes login-enter-in{0%{opacity:0}to{opacity:1}}@keyframes login-enter-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}@keyframes login-enter-logo{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes login-enter-ring{0%{opacity:.7;transform:scale(.92)}to{opacity:0;transform:scale(1.2)}}@keyframes login-enter-bar{0%{transform:translate(-120%)}to{transform:translate(320%)}}.admin-content.is-login-enter>*{animation:dash-enter-in .55s cubic-bezier(.22,1,.36,1) both}@keyframes dash-enter-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:root,html[data-theme=light]{--admin-font: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--admin-primary: #1677ff;--admin-primary-hover: #4096ff;--admin-primary-active: #0958d9;--admin-primary-soft: rgba(22, 119, 255, .08);--admin-row-hover: #eef5ff;--admin-success: #52c41a;--admin-warning: #faad14;--admin-danger: #ff4d4f;--admin-canvas: #f3f5f8;--admin-surface: #ffffff;--admin-surface-elevated: #ffffff;--admin-surface-muted: #f7f8fa;--admin-sider: #eef2f7;--admin-sider-elevated: #e3e9f2;--admin-sider-top: #f5f7fb;--admin-sider-bottom: #e8edf4;--admin-sider-glow: rgba(100, 140, 190, .14);--admin-sider-accent: #4f7cac;--admin-sider-accent-hover: #3d6a96;--admin-sider-accent-soft: rgba(79, 124, 172, .14);--admin-sider-item-hover: rgba(15, 35, 60, .05);--admin-sider-item-active: rgba(79, 124, 172, .16);--admin-sider-sub: rgba(15, 35, 60, .04);--admin-sider-trigger: rgba(15, 35, 60, .04);--admin-sider-text: rgba(15, 23, 42, .72);--admin-sider-text-muted: rgba(15, 23, 42, .42);--admin-sider-text-strong: rgba(15, 23, 42, .9);--admin-sider-border: rgba(15, 35, 60, .08);--admin-sider-font-size: 13px;--admin-sider-icon-size: 14px;--admin-text: rgba(15, 23, 42, .88);--admin-text-secondary: rgba(15, 23, 42, .55);--admin-text-tertiary: rgba(15, 23, 42, .38);--admin-text-inverse: rgba(255, 255, 255, .92);--admin-border: #e8ecf1;--admin-border-strong: #d9dee7;--admin-divider: #eef1f5;--admin-shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--admin-shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);--admin-shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--admin-radius-sm: 6px;--admin-radius: 10px;--admin-radius-lg: 14px;--admin-space-1: 4px;--admin-space-2: 8px;--admin-space-3: 12px;--admin-space-4: 16px;--admin-space-5: 20px;--admin-space-6: 24px;--admin-control-height: 32px;--admin-header-height: 56px}html[data-theme=dark]{--admin-primary: #3b8bff;--admin-primary-hover: #69a6ff;--admin-primary-active: #1677ff;--admin-primary-soft: rgba(59, 139, 255, .16);--admin-row-hover: #1a2740;--admin-canvas: #0b1220;--admin-surface: #141b2a;--admin-surface-elevated: #1a2334;--admin-surface-muted: #101826;--admin-sider: #0f172a;--admin-sider-elevated: #162033;--admin-sider-top: #152033;--admin-sider-bottom: #0a101c;--admin-sider-glow: rgba(59, 139, 255, .12);--admin-sider-accent: #3b8bff;--admin-sider-accent-hover: #69a6ff;--admin-sider-accent-soft: rgba(59, 139, 255, .2);--admin-sider-item-hover: rgba(255, 255, 255, .07);--admin-sider-item-active: rgba(59, 139, 255, .22);--admin-sider-sub: rgba(0, 0, 0, .22);--admin-sider-trigger: rgba(0, 0, 0, .22);--admin-sider-text: rgba(230, 237, 248, .78);--admin-sider-text-muted: rgba(230, 237, 248, .42);--admin-sider-text-strong: rgba(245, 248, 255, .95);--admin-sider-border: rgba(255, 255, 255, .08);--admin-sider-font-size: 13px;--admin-sider-icon-size: 14px;--admin-text: rgba(255, 255, 255, .9);--admin-text-secondary: rgba(255, 255, 255, .58);--admin-text-tertiary: rgba(255, 255, 255, .38);--admin-text-inverse: rgba(255, 255, 255, .92);--admin-border: #273247;--admin-border-strong: #36445c;--admin-divider: #223049;--admin-shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--admin-shadow-sm: 0 2px 10px rgba(0, 0, 0, .35);--admin-shadow-md: 0 10px 28px rgba(0, 0, 0, .45)}html,body,#root{font-family:var(--admin-font)}body{background:var(--admin-canvas);color:var(--admin-text)}.admin-content .ant-card{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow-xs)}.admin-content .ant-card .ant-card-head{min-height:44px;padding:0 14px;border-bottom-color:var(--admin-divider);font-weight:600}.admin-content .ant-card .ant-card-head-title{padding:10px 0;font-size:14px;color:var(--admin-text)}.admin-content .ant-card .ant-card-extra{padding:10px 0}.admin-content .ant-card .ant-card-body{padding:14px}.admin-content .ant-card-bordered{border-color:var(--admin-border)}.admin-content .ant-card-hoverable:hover{border-color:var(--admin-primary-hover);box-shadow:var(--admin-shadow-sm)}.admin-content .ant-tabs-nav{margin-bottom:12px!important}.admin-content .ant-tabs-tab{padding:8px 0!important;font-size:13px}.admin-content .ant-tabs-ink-bar{height:2px;border-radius:2px}.admin-content .ant-form-vertical .ant-form-item,.admin-content .ant-form-item{margin-bottom:14px}.admin-content .ant-form-item-label>label{font-size:13px;color:var(--admin-text-secondary)}.admin-content .ant-modal .ant-form-item{margin-bottom:12px}.admin-content .ant-descriptions-bordered .ant-descriptions-item-label,.admin-content .ant-descriptions-bordered .ant-descriptions-item-content{padding:8px 12px!important}.admin-content .ant-descriptions-item-label{color:var(--admin-text-secondary)!important;background:var(--admin-surface-muted)!important;width:120px}.ant-drawer .ant-drawer-header{padding:12px 16px}.ant-drawer .ant-drawer-body{padding:16px}.admin-content .ant-btn{border-radius:var(--admin-radius-sm)}.admin-content .ant-btn-primary{box-shadow:none}.admin-content .ant-input,.admin-content .ant-input-affix-wrapper,.admin-content .ant-select-selector,.admin-content .ant-picker,.admin-content .ant-input-number{border-radius:var(--admin-radius-sm)!important}.admin-content .ant-tag{border-radius:999px;margin-inline-end:4px}.admin-content .ant-empty{margin:24px 0}.admin-content .ant-alert{border-radius:var(--admin-radius-sm)}.admin-content .ant-pagination{margin:12px 0 0!important}.admin-content>div>h2:first-child,.admin-content>div>.ant-typography h2{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--admin-text)}.admin-page-section{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:var(--admin-radius);box-shadow:var(--admin-shadow-xs);padding:12px 14px}.admin-page-section+.admin-page-section{margin-top:12px}.admin-page-section__title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--admin-text-secondary)}.admin-content .ant-list-split .ant-list-item{border-block-end-color:var(--admin-divider)!important}.admin-content a{color:var(--admin-primary)}.admin-content a:hover{color:var(--admin-primary-hover)}.admin-content .ant-alert{border-radius:var(--admin-radius)}.admin-content::-webkit-scrollbar,.admin-layout .sider-menu-scroll::-webkit-scrollbar{width:8px;height:8px}.admin-content::-webkit-scrollbar-thumb{background:#64748b59;border-radius:999px}.admin-layout .sider-menu-scroll::-webkit-scrollbar-thumb{background:var(--admin-sider-accent-soft);border-radius:999px}.admin-content::-webkit-scrollbar-track,.admin-layout .sider-menu-scroll::-webkit-scrollbar-track{background:transparent}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--admin-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--admin-canvas);color:var(--admin-text)}#root{width:100%;height:100vh}@media (max-width: 768px){.ant-table-wrapper{-webkit-overflow-scrolling:touch}.ant-card{margin-bottom:12px}.ant-space{flex-wrap:wrap}.admin-table-action-col .ant-space,.admin-table-action-col .admin-table-actions{flex-wrap:nowrap!important;gap:0!important}.ant-form-item{margin-bottom:12px}.ant-modal{max-width:95vw!important;margin:10px auto!important}.ant-drawer{width:100%!important}.admin-content{margin:10px;padding:12px}.admin-header{padding-inline:8px!important}}@media (max-width: 576px){.ant-table{font-size:12px}.ant-btn{padding:4px 8px;font-size:12px}.ant-tag{font-size:11px;padding:2px 6px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:8px 4px}}
