*{box-sizing:border-box}body{margin:0;color:#07152d;background:radial-gradient(circle at 82% -10%,rgba(36,193,121,.12),transparent 30%),radial-gradient(circle at 8% 8%,rgba(20,99,255,.12),transparent 28%),#eef5fb;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.agent-login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) 440px;gap:32px;align-items:center;width:min(1280px,calc(100% - 48px));max-width:calc(100vw - 32px);margin:0 auto}.login-visual{position:relative;min-height:620px;overflow:hidden;border:1px solid #cfe0f5;border-radius:18px;background:#fff;box-shadow:0 28px 70px #081c3a14}.login-visual img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#eff7fff0,#eff7ffb8 44%,#eff7ff1f)}.login-copy{position:relative;z-index:1;max-width:560px;padding:72px}.login-copy p,.agent-topbar p{margin:0 0 12px;color:#1463ff;font-weight:800}.login-copy h1{margin:0;font-size:clamp(46px,6vw,88px);line-height:1.04;letter-spacing:0}.login-pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.login-pills span{padding:12px 18px;border:1px solid #cfe0f5;border-radius:999px;background:#fff;color:#35506f}.login-card{min-width:0;width:min(460px,100%);max-width:calc(100vw - 32px);justify-self:stretch;display:grid;gap:18px;padding:34px;border:1px solid #cfe0f5;border-radius:12px;background:#fff;box-shadow:0 28px 70px #1463ff1f}.logo-row,.brand-block{display:flex;align-items:center;gap:14px}.brand-logo{width:52px;height:52px;flex:0 0 auto;border-radius:14px;object-fit:cover;box-shadow:0 14px 30px #1463ff3d}.logo-row h2{margin:0 0 6px;font-size:25px}.logo-row p,.panel p,.message-card p{margin:0;color:#61738d;line-height:1.7}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;border:1px solid #dbe7f5;border-radius:10px;background:#f8fbff}.auth-tabs button{height:42px;border:0;border-radius:8px;background:transparent;color:#35506f;font-weight:900}.auth-tabs button.active{background:#fff;color:#1463ff;box-shadow:0 10px 24px #081c3a14}label{display:grid;gap:8px;font-weight:800}input,select,textarea{min-width:0;width:100%;padding:0 14px;border:1px solid #cfe0f5;border-radius:8px;color:#07152d;background:#fff;outline:none}input,select{height:48px}textarea{min-height:120px;padding:14px;resize:vertical;line-height:1.6}input:focus,select:focus{border-color:#1463ff;box-shadow:0 0 0 3px #1463ff1f}.primary-btn,.primary-small,.ghost-btn,.points-chip,.panel-head button,.data-table button,.modal-card footer button{border:1px solid #cfe0f5;border-radius:8px;background:#fff;color:#0d2443;font-weight:800}.primary-btn,.primary-small{border-color:#1463ff;background:#1463ff;color:#fff;box-shadow:0 14px 30px #1463ff33}.primary-btn{height:52px;font-size:18px}.primary-small,.ghost-btn,.points-chip,.panel-head button,.data-table button,.modal-card footer button{min-height:40px;padding:0 16px}.points-chip{border-color:#b8eed8;background:#ecfff6;color:#027553}.error-text{margin:0;color:#dc2626;font-weight:700}.agent-app{min-height:100vh;display:grid;grid-template-columns:minmax(230px,268px) minmax(0,1fr)}.agent-sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:20px;padding:18px;border-right:1px solid rgba(207,224,245,.78);background:linear-gradient(180deg,#fffffff5,#f8fbffe6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.agent-sidebar.collapsed{grid-template-columns:1fr}.agent-sidebar.collapsed .brand-block div,.agent-sidebar.collapsed .sidebar-account{display:none}.agent-sidebar.collapsed nav button{justify-content:center;padding:0}.agent-sidebar.collapsed nav button span{margin:0}.agent-app:has(.agent-sidebar.collapsed){grid-template-columns:88px minmax(0,1fr)}.brand-block strong{display:block;font-size:21px}.brand-block span,.sidebar-account span,td span{display:block;margin-top:4px;color:#64748b;font-size:13px}.agent-sidebar nav{display:grid;align-content:start;gap:8px}.agent-sidebar nav button{height:46px;display:flex;align-items:center;gap:10px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#20324d;text-align:left;font-weight:800}.agent-sidebar nav button span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f0f6ff;color:#1463ff;font-size:12px}.agent-sidebar nav button.active,.agent-sidebar nav button:hover{background:#eaf2ff;color:#1463ff}.mobile-menu-button,.mobile-menu-backdrop{display:none}.sidebar-account{padding:14px;border:1px solid #dbe7f5;border-radius:10px;background:#f8fbff}.sidebar-account strong{display:block;margin-top:8px}.agent-main{min-width:0;padding:22px}.agent-topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px;padding:22px 24px;border:1px solid rgba(207,224,245,.9);border-radius:16px;background:linear-gradient(120deg,#fffffffa,#f6fafff0),#fff;box-shadow:0 22px 60px #081c3a0f}.agent-topbar h1{margin:0;font-size:32px}.visual-hero{position:relative;min-height:260px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:20px;align-items:stretch;overflow:hidden;margin:0 0 22px;padding:24px;border:1px solid rgba(190,213,240,.92);border-radius:18px;background:linear-gradient(112deg,#fffffffa,#f7fbfff0 42%,#ebf6ffb3),#fff;box-shadow:0 30px 80px #081c3a14}.visual-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#fffffff5,#ffffffb8 38%,#ffffff14 68%),radial-gradient(circle at 24% 18%,rgba(20,99,255,.14),transparent 26%),radial-gradient(circle at 78% 76%,rgba(36,193,121,.12),transparent 28%);z-index:1}.visual-copy{position:relative;z-index:2;display:grid;align-content:center;gap:14px;max-width:560px;padding:12px 0 12px 6px}.visual-copy>span{color:#1463ff;font-size:14px;font-weight:900}.visual-copy h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:0}.visual-copy p{max-width:480px;margin:0;color:#52657f;font-size:17px;line-height:1.7}.visual-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.visual-metrics b{min-width:116px;padding:12px 14px;border:1px solid rgba(207,224,245,.88);border-radius:12px;background:#ffffffd1;box-shadow:0 16px 32px #081c3a0f}.visual-metrics strong,.visual-metrics small{display:block}.visual-metrics strong{color:#07152d;font-size:22px}.visual-metrics small{margin-top:4px;color:#61738d;font-size:12px;font-weight:800}.visual-media{position:absolute;inset:0 0 0 auto;width:min(68%,980px);height:100%}.visual-media img{width:100%;height:100%;object-fit:cover;object-position:center right}.device-dashboard .visual-media img{object-position:center}.top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat-card,.panel,.chart-card,.message-card,.modal-card{border:1px solid #cfe0f5;border-radius:16px;background:#fffffff5;box-shadow:0 24px 64px #081c3a12}.stat-card{position:relative;overflow:hidden;display:grid;gap:10px;padding:22px}.stat-card:before{content:"";position:absolute;left:0;top:18px;width:4px;height:46px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,#1463ff,#24c179)}.stat-card:after{content:"";position:absolute;right:-42px;top:-48px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(20,99,255,.12),transparent 68%)}.stat-card.actionable{cursor:pointer}.stat-card.actionable:hover{border-color:#1463ff;box-shadow:0 24px 56px #1463ff1f}.stat-card span{color:#64748b;font-weight:800}.stat-card strong{font-size:32px}.stat-card small{color:#7a8da8}.chart-layout,.panel-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:18px;margin-bottom:18px}.chart-card,.panel{padding:24px}.card-headline h3,.panel h3,.message-card h3,.modal-card h3{margin:0;font-size:22px}.card-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-headline p{margin:8px 0 0;color:#6b7f99}.chart-meta{min-width:96px;padding:10px 12px;border:1px solid #dbe7f5;border-radius:12px;background:#f7fbff;text-align:right}.chart-meta span{display:block;color:#7a8da8;font-size:12px;font-weight:800}.chart-meta b{display:block;margin-top:2px;color:#047857;font-size:18px}.trend-card{overflow:hidden}.trend-chart{height:292px;margin-top:16px;border:1px solid #dfe9f6;border-radius:14px;background:linear-gradient(180deg,#f9fcfffa,#fffffffa),#fff;box-shadow:inset 0 1px #ffffffe6,0 16px 44px #1463ff0a}.trend-chart svg{display:block;width:100%;height:100%}.grid-lines line{stroke:#e8f0fa;stroke-width:1}.grid-lines .axis{stroke:#cbd8e8}.y-axis text{fill:#8aa0ba;font-size:10px;font-weight:700}.trend-chart .area{fill:url(#trendArea)}.trend-chart .line{fill:none;stroke:#0f63ff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 7px 13px rgba(20,99,255,.18))}.settlement-stick line{stroke:#d3dfefb8;stroke-width:1}.settlement-stick rect{fill:url(#trendBar);opacity:.72}.settlement-stick.active rect{opacity:1;filter:drop-shadow(0 8px 14px rgba(36,193,121,.18))}.settlement-stick.empty line{stroke-dasharray:2 4}.value-callout rect{fill:#07152d;opacity:.9}.value-callout text{fill:#fff;font-size:11px;font-weight:900}.dot{fill:#fff;stroke:#0f63ff;stroke-width:2.4}.dot.active{fill:#24c179;stroke:#fff;filter:drop-shadow(0 6px 12px rgba(36,193,121,.28))}.axis-label{fill:#7487a1;font-size:10px;font-weight:700}.chart-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.chart-foot span{padding:7px 10px;border-radius:999px;background:#f1f7ff;color:#35506f;font-size:13px;font-weight:800}.status-card{display:grid;align-content:start;gap:18px;background:radial-gradient(circle at 84% 24%,rgba(36,193,121,.1),transparent 26%),#fff}.status-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-head span{padding:8px 12px;border:1px solid #dbe7f5;border-radius:999px;color:#1463ff;background:#f7fbff;font-weight:900}.status-card p{margin:-8px 0 2px;color:#52657f;line-height:1.55}.status-bars{display:grid;gap:16px;margin-top:4px}.status-bars article{display:grid;gap:9px}.status-bars article>div{display:flex;justify-content:space-between;gap:12px;color:#52657f}.status-bars b{color:#07152d}.status-bars span{font-variant-numeric:tabular-nums}.status-bars i{display:block;height:14px;overflow:hidden;border-radius:999px;background:#edf4fb;box-shadow:inset 0 1px 2px #081c3a0d}.status-bars em{display:block;min-width:0;height:100%;border-radius:inherit}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.table-count{padding:7px 10px;border-radius:999px;background:#f1f7ff;color:#52657f;font-size:13px;font-weight:800}.head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}th,td{padding:16px 10px;border-bottom:1px solid #e5edf7;text-align:left;vertical-align:middle}th{color:#7a8da8;font-weight:900;background:linear-gradient(180deg,#f9fcff,#f3f8ff);white-space:nowrap}tbody td{background:#ffffffbd}thead th:first-child{border-top-left-radius:12px}thead th:last-child{border-top-right-radius:12px}tbody tr{transition:background .18s ease,box-shadow .18s ease}tbody tr:hover,tbody tr:hover td{background:#f8fbff}td b{display:block}.data-table{min-width:920px}.records-ledger{table-layout:fixed}.records-ledger th:nth-child(1),.records-ledger td:nth-child(1){width:130px}.records-ledger th:nth-child(3),.records-ledger td:nth-child(3),.records-ledger th:nth-child(4),.records-ledger td:nth-child(4){width:150px}.records-ledger th:nth-child(5),.records-ledger td:nth-child(5){width:190px}.records-ledger.compact{min-width:420px}.records-ledger.compact th:nth-child(1),.records-ledger.compact td:nth-child(1){width:108px}.records-ledger.compact th:nth-child(3),.records-ledger.compact td:nth-child(3){width:118px}.device-ledger{min-width:1080px;table-layout:fixed}.device-ledger.compact{min-width:680px}.device-ledger .col-device{width:190px}.device-ledger.compact .col-device{width:230px}.device-ledger .col-user{width:92px}.device-ledger .col-serial{width:106px}.device-ledger .col-address{width:178px}.device-ledger .col-time,.device-ledger .col-temp{width:76px}.device-ledger .col-task,.device-ledger .col-money{width:84px}.device-ledger .col-action{width:82px}.device-ledger.compact .col-time,.device-ledger.compact .col-task,.device-ledger.compact .col-money,.device-ledger.compact .col-action{width:100px}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto;border:1px solid #e5edf7;border-radius:14px}.table-scroll::-webkit-scrollbar{height:9px}.table-scroll::-webkit-scrollbar-track{background:#edf4fb;border-radius:999px}.table-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#9ebcf0,#5d8fff);border-radius:999px}.ip-cell{max-width:230px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all}.mono-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.num-cell{text-align:right;white-space:nowrap}.panel{overflow-x:auto}.panel.table-panel{overflow:hidden}.panel::-webkit-scrollbar{height:9px}.panel::-webkit-scrollbar-track{background:#edf4fb;border-radius:999px}.panel::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#9ebcf0,#5d8fff);border-radius:999px}.income{color:#05805a;font-weight:900}.expense{color:#e65100;font-weight:900}.state{display:inline-grid;place-items:center;min-width:72px;padding:7px 8px;border-radius:999px;color:#0f172a;font-style:normal;font-weight:900;background:#edf4ff}.state.online{background:#e9fff5;color:#047857}.state.idle{background:#fff7e6;color:#b45309}.state.maintenance{background:#f1f5f9;color:#475569}.meter{width:120px;height:9px;border-radius:999px;background:#e5edf7;overflow:hidden}.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1463ff,#25c17b)}.message-grid,.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.message-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.message-board{margin-bottom:18px}.notice-list{display:grid;gap:12px}.notice-list article{display:grid;grid-template-columns:92px minmax(180px,260px) minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border:1px solid #e5edf7;border-radius:8px;background:#f8fbff}.notice-list article>span{width:max-content;padding:5px 9px;border-radius:999px;background:#eaf2ff;color:#1463ff;font-size:12px;font-weight:900}.notice-list b{font-size:16px}.notice-list p{margin:0;color:#52657f}.message-card{display:grid;gap:12px;padding:22px}.message-card span{color:#1463ff;font-weight:800}.mail-list{display:grid;gap:14px}.mail-list .message-card{grid-template-columns:46px minmax(0,1fr);align-items:start;padding:20px 22px}.mail-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1463ff,#24c179);color:#fff;font-weight:900;box-shadow:0 12px 26px #1463ff2e}.setting-row{display:flex;justify-content:space-between;margin:22px 0;padding:16px;border-radius:8px;background:#f8fbff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:22px;background:#050f1e6b}.modal-card{width:min(520px,100%);display:grid;gap:16px;padding:26px}.qr-wrap{display:grid;place-items:center;padding:18px;border:1px solid #dbe7f5;border-radius:12px;background:#f8fbff}.qr-wrap img{width:220px;height:220px}.qr-placeholder{display:grid;place-items:center;width:220px;height:220px;border-radius:12px;color:#61738d;background:#eaf2ff}.wide-modal{width:min(920px,100%)}.modal-card footer{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.date-filter{width:min(260px,100%)}.pay-box{padding:16px;border:1px solid #dbe7f5;border-radius:8px;background:#f8fbff}.pay-box p{word-break:break-word}.detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-columns>div{padding:16px;border-radius:8px;background:#f8fbff}@media(max-width:1180px){.agent-login-page,.chart-layout,.panel-grid{grid-template-columns:1fr}.visual-hero{grid-template-columns:1fr;min-height:360px}.visual-media{width:100%;opacity:.66}.visual-hero:before{background:linear-gradient(180deg,#fffffffa,#ffffffe0 48%,#ffffff47),radial-gradient(circle at 24% 18%,rgba(20,99,255,.14),transparent 26%),radial-gradient(circle at 78% 76%,rgba(36,193,121,.12),transparent 28%)}.agent-app,.agent-app:has(.agent-sidebar.collapsed){grid-template-columns:minmax(0,1fr)}.agent-sidebar{position:sticky;top:0;z-index:25;height:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;min-width:0;max-width:100vw;overflow:visible;border-right:0;border-bottom:1px solid rgba(207,224,245,.9);box-shadow:0 16px 38px #081c3a14}.login-card{width:100%}.login-visual{min-height:380px}.login-copy{padding:42px}.agent-sidebar .sidebar-account{display:none}.agent-sidebar .brand-block{display:flex;min-width:0}.agent-sidebar.collapsed .brand-block div{display:block}.agent-sidebar .brand-block strong{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.agent-sidebar .brand-logo{width:44px;height:44px;border-radius:12px}.mobile-menu-button{display:inline-flex;align-items:center;justify-content:center;min-width:84px;height:42px;border:1px solid #cfe0f5;border-radius:10px;background:#1463ff;color:#fff;font-weight:900;box-shadow:0 14px 30px #1463ff2e}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:block;border:0;background:#050f1e47}.agent-sidebar nav{position:fixed;top:76px;left:16px;right:16px;z-index:30;display:none;grid-template-columns:1fr;gap:8px;max-height:calc(100vh - 100px);overflow-y:auto;padding:12px;border:1px solid #cfe0f5;border-radius:14px;background:#fffffffa;box-shadow:0 30px 80px #081c3a33}.agent-sidebar.mobile-open nav{display:grid}.agent-sidebar nav button{width:100%;height:48px;justify-content:flex-start;white-space:nowrap;border:1px solid #dbe7f5;background:#fff}.agent-sidebar nav button.active{border-color:#1463ff;background:#eaf2ff}.top-actions .icon-only{display:none}.stats-grid,.message-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.agent-login-page{width:calc(100% - 32px);gap:18px;align-content:start;padding:16px 0 28px}.login-visual{min-height:300px;border-radius:14px}.login-copy{padding:28px 22px}.login-copy h1{font-size:48px}.login-card{width:calc(100vw - 32px);max-width:calc(100vw - 32px);padding:24px}.login-card label,.login-card .primary-btn{width:min(100%,calc(100vw - 80px))}.agent-main,.agent-sidebar{padding:16px}.agent-main,.agent-topbar,.visual-hero,.chart-card,.panel{width:100%;max-width:100%}.agent-main{overflow:hidden}.agent-topbar,.panel-head,.status-card{align-items:stretch;flex-direction:column;display:flex}.visual-hero{min-height:420px;padding:20px}.visual-copy{align-content:start;padding:6px 0}.visual-copy h2{font-size:38px}.visual-copy p{font-size:15px}.visual-metrics{display:grid;grid-template-columns:1fr}.visual-metrics b{min-width:0}.stats-grid,.message-grid,.settings-grid,.form-grid,.detail-columns{grid-template-columns:1fr}.top-actions{display:grid;grid-template-columns:1fr;justify-content:stretch;width:100%}.top-actions button,.modal-card footer button{width:100%;min-width:0;padding:0 10px}.trend-chart{height:250px}}
