:root{--navy:#061d35;--navy2:#0a2b4c;--cyan:#19d3df;--cyan2:#36a8ff;--mint:#44e1b7;--line:rgba(88,192,230,.2);--panel:rgba(8,37,66,.88);--text:#eaf8ff;--muted:#8fb2c7;--danger:#ff7791}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Microsoft YaHei",Inter,system-ui,sans-serif;color:var(--text);background:#06182a}body{background-image:radial-gradient(circle at 74% 5%,rgba(23,154,210,.2),transparent 33%),linear-gradient(135deg,#041627,#071d33 50%,#06172a)}button,input{font:inherit}.login-shell{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:radial-gradient(circle at 70% 25%,rgba(29,207,220,.24),transparent 30%),linear-gradient(135deg,#04182a,#073750)}.login-shell[hidden],.app-shell[hidden],.modal[hidden]{display:none!important}.login-card{width:min(440px,calc(100% - 36px));padding:38px;border:1px solid rgba(67,226,229,.32);border-radius:22px;background:rgba(5,29,51,.94);box-shadow:0 32px 80px #00101e}.login-brand,.side-brand,.profile-head>div{display:flex;align-items:center;gap:13px}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;color:#06372e;font-size:27px;font-weight:900;background:linear-gradient(145deg,#6cf6c7,#b4ff4c);box-shadow:0 0 28px rgba(76,240,194,.35)}.login-brand b{display:block;font-size:18px}.login-brand small,.side-brand small{display:block;margin-top:4px;letter-spacing:1.7px;color:#7edee5}.login-card h1{margin:30px 0 5px;font-size:29px}.login-card p{margin:0 0 24px;color:var(--muted)}label{display:block;margin:15px 0;color:#b7d2e1;font-size:13px}input{width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(104,185,218,.28);border-radius:10px;color:#fff;background:#081f36;outline:none}input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(25,211,223,.12)}button{border:0;border-radius:9px;padding:11px 17px;color:#031e30;font-weight:750;background:linear-gradient(135deg,var(--cyan),var(--mint));cursor:pointer}.login-card>button{width:100%;margin:9px 0 13px}.login-card>small{color:#779aac}.app-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}aside{position:fixed;inset:0 auto 0 0;width:235px;z-index:4;padding:22px 16px;display:flex;flex-direction:column;background:linear-gradient(180deg,#062b44,#061d34);border-right:1px solid var(--line)}.side-brand{padding:0 6px 25px}.side-brand .brand-mark{width:46px;height:46px;font-size:24px}.side-brand strong{font-size:17px}.side-brand small{font-size:9px}nav{display:grid;gap:7px}nav button{display:flex;gap:14px;align-items:center;padding:14px 15px;border:1px solid transparent;color:#b6d1df;text-align:left;background:transparent}nav button i{width:22px;text-align:center;font-style:normal;color:#52dce4}nav button:hover,nav button.active{color:#fff;border-color:rgba(47,221,223,.22);background:linear-gradient(90deg,rgba(23,167,180,.28),rgba(19,107,150,.12));box-shadow:inset 3px 0 var(--cyan)}.side-note{margin-top:28px;padding:15px;border:1px solid rgba(64,218,222,.15);border-radius:12px;background:rgba(4,24,43,.5)}.side-note b,.side-note span{display:block}.side-note b{color:#65e4dd;font-size:12px}.side-note span{margin-top:7px;color:#789bad;font-size:11px;line-height:1.65}.side-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.side-footer span{display:block;color:#5ce3c0;font-size:11px}.side-footer button{margin-top:11px;padding:8px 13px;border:1px solid var(--line);color:#9fc2d4;background:transparent}main{grid-column:2;min-width:0;padding:24px 28px 52px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}header small{color:#7196aa}header h2{margin:4px 0 0;font-size:27px;letter-spacing:1px}.header-actions{display:flex;align-items:center;gap:10px}.header-actions span{font-size:11px;color:#6f93a8}.header-actions .ghost{color:#8ddce2;border:1px solid var(--line);background:transparent}.view{display:none}.view.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.metric-grid article{position:relative;overflow:hidden;padding:19px 21px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(135deg,rgba(8,48,81,.9),rgba(6,31,55,.94));box-shadow:0 10px 30px rgba(0,9,20,.24)}.metric-grid article:first-child{background:linear-gradient(135deg,rgba(17,124,142,.8),rgba(7,48,76,.95))}.metric-grid article:after{content:"";position:absolute;width:80px;height:80px;border:1px solid rgba(68,226,229,.15);border-radius:50%;right:-25px;top:-28px}.metric-grid span,.metric-grid small{display:block;color:#91b2c3;font-size:12px}.metric-grid strong{display:block;margin:8px 0 4px;font-size:30px;color:#fff}.panel{margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(8,37,66,.94),rgba(5,28,51,.93));box-shadow:0 14px 38px rgba(0,9,20,.22);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid rgba(92,176,210,.13)}.panel-head h3{margin:0;font-size:17px}.panel-head p{margin:5px 0 0;color:#769bad;font-size:11px}.status-chip,.db-badge{padding:6px 10px;border:1px solid rgba(51,226,214,.24);border-radius:999px;color:#62e1d7;font-size:11px;background:rgba(25,184,178,.1)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.75fr);gap:16px}.chart-box{min-height:260px;padding:16px 18px}.chart-box.tall{height:330px}.chart-box svg{display:block;width:100%;height:100%}.chart-empty{height:225px;display:grid;place-items:center;color:#607f92}.ring-wrap{min-height:290px;display:grid;place-items:center;padding:20px}.ring{position:relative;width:165px;height:165px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cyan) var(--ring),rgba(40,94,124,.28) 0);box-shadow:0 0 38px rgba(25,211,223,.13)}.ring:before{content:"";position:absolute;inset:18px;border-radius:50%;background:#08233d}.ring>div{position:relative;text-align:center}.ring strong{display:block;font-size:30px}.ring span{color:#83a9bc;font-size:11px}.ring-legend{display:grid;gap:9px;margin-top:18px;color:#91b5c8;font-size:12px}.ring-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;background:var(--cyan)}.table-wrap{overflow:auto;padding:0 13px 13px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:13px 12px;border-bottom:1px solid rgba(89,163,195,.13);text-align:left;font-size:12px}th{color:#6f95aa;font-weight:500;background:rgba(15,62,91,.18)}td{color:#c3dbe7}td strong{color:#6fe5dd}.row-link{padding:7px 11px;color:#59dedf;border:1px solid rgba(67,213,220,.22);background:rgba(21,169,175,.08)}tbody tr:hover{background:rgba(27,137,167,.08)}.phone-link{color:#56dfe0;font-weight:750;cursor:pointer}.text-button{padding:0;color:#67dbdf;background:transparent}.search{display:flex;align-items:center;gap:8px;margin:0;width:230px;padding:0 12px;border:1px solid var(--line);border-radius:9px;color:#6bdce2}.search input{margin:0;padding:9px 4px;border:0;box-shadow:none;background:transparent}.back-button{margin-bottom:13px;padding:7px 0;color:#72dfe2;background:transparent}.profile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(100deg,rgba(12,76,103,.7),rgba(7,38,65,.8))}.avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#042a31;font-size:20px;font-weight:900;background:linear-gradient(135deg,#58e6db,#50aaff)}.profile-head h3{margin:3px 0;font-size:24px}.profile-head p,.profile-head small{margin:0;color:#8eb1c4;font-size:11px}.user-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.7fr);gap:16px}.hierarchy-panel{max-height:430px;overflow:auto}.farm-node{margin:12px 14px;padding:14px;border:1px solid rgba(75,181,210,.16);border-radius:10px;background:rgba(11,53,82,.5)}.farm-node h4{margin:0 0 7px;color:#67e4dd}.house-node{margin-top:9px;padding:10px;border-left:2px solid #1bc9d6;background:rgba(3,23,41,.45)}.house-node b,.house-node small{display:block}.house-node small{margin-top:4px;color:#799fb2}.batch-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.batch-tags span{padding:4px 7px;border-radius:5px;color:#9bc9d6;font-size:10px;background:rgba(29,122,153,.2)}.privacy-banner{display:flex;gap:14px;align-items:center;margin-bottom:16px;padding:15px 18px;border:1px solid rgba(57,222,211,.24);border-radius:11px;background:rgba(15,131,132,.1)}.privacy-banner b{color:#61e6d9}.privacy-banner span{color:#83a7b9;font-size:12px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.map-panel,.map-list-panel{height:calc(100vh - 165px);min-height:560px}.map-list-panel{position:static;width:auto;padding:0}.map-list-panel .panel-head{position:sticky;top:0;background:#08233e;z-index:2}#userMap{height:calc(100% - 74px);min-height:480px;background:#071c31}.map-placeholder{height:100%;display:grid;place-items:center;color:#668da1;background-image:linear-gradient(rgba(46,142,179,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(46,142,179,.08) 1px,transparent 1px);background-size:36px 36px}.leaflet-container{background:#071c31}.leaflet-tile{filter:saturate(.45) brightness(.6) hue-rotate(145deg)}.map-list-panel{overflow:auto}.location-item{padding:15px 18px;border-bottom:1px solid rgba(88,169,199,.13);cursor:pointer}.location-item:hover{background:rgba(25,160,177,.08)}.location-item b,.location-item span{display:block}.location-item b{color:#d8f2fa}.location-item span{margin-top:5px;color:#7fa3b6;font-size:11px}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:rgba(0,10,21,.72);backdrop-filter:blur(6px)}.modal-card{position:relative;width:min(900px,100%);max-height:88vh;overflow:auto;padding:26px;border:1px solid var(--line);border-radius:16px;background:#082039;box-shadow:0 30px 90px #000}.modal-close{position:absolute;right:16px;top:13px;padding:4px 10px;color:#b6d6e5;background:transparent;font-size:24px}.modal-card h2{margin-top:0}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.detail-grid div{padding:13px;border:1px solid var(--line);border-radius:9px;background:#0a2947}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{color:#7399ad;font-size:11px}.detail-grid strong{margin-top:5px}.toast{position:fixed;right:24px;bottom:24px;z-index:50;padding:12px 17px;border:1px solid rgba(71,227,213,.3);border-radius:9px;color:#d9fffb;background:#0b4558;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.empty-row td{text-align:center!important;padding:35px;color:#698da1!important}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.user-grid,.map-layout{grid-template-columns:1fr}.map-list-panel{height:auto;min-height:0}.map-panel{height:650px}}@media(max-width:760px){.app-shell{display:block}.app-shell aside{position:static;width:auto;height:auto}.side-note,.side-footer{display:none}nav{grid-template-columns:repeat(3,1fr)}nav button{justify-content:center}.side-brand{padding-bottom:12px}main{padding:18px}.header-actions span,.header-actions .ghost{display:none}.metric-grid{grid-template-columns:1fr 1fr}.user-metrics{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr 1fr}.profile-head{align-items:flex-start;gap:12px}.search{width:180px}}@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.header-actions #refreshButton{padding:9px}.panel-head{align-items:flex-start}.search{display:none}}

/* QZC_BRAND_20260919_BEGIN */
.login-brand,.side-brand{flex-direction:column;align-items:flex-start;gap:10px}
.login-brand .qzc-brand-lockup,.side-brand .qzc-brand-lockup{display:block;width:100%;height:auto;max-width:244px;aspect-ratio:1466/616;object-fit:contain;border-radius:10px;background:#fff;box-shadow:none;flex:none}
.side-brand .qzc-brand-lockup{max-width:191px}
.side-brand>div{padding-left:2px}
/* QZC_BRAND_20260919_END */
