:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#243735;background:#f3f6f5;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:224px;position:fixed;inset:0 auto 0 0;background:#132f2c;color:#fff;padding:32px 26px;display:flex;flex-direction:column}.brand{font-size:24px;font-weight:700}.brand small{display:block;color:#81aaa2;font-size:9px;letter-spacing:3px;margin:10px 0 50px}nav{font-size:15px;color:#d2ebe4}nav span{display:block;font-size:13px;color:#85a69f;margin-top:28px}.local{margin-top:auto;color:#89d4b7;line-height:1.8}.local small{color:#8ea9a2}main{margin-left:224px;padding:40px 48px;width:calc(100% - 224px);max-width:1700px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:#71958b}h1{font-size:32px;margin:12px 0}h2{font-size:18px;margin:0 0 10px}p{color:#748780;line-height:1.7;margin:8px 0 22px}section{background:#fff;border:1px solid #e0e9e5;border-radius:12px;padding:26px;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;background:none;border:0;padding:0}.metrics article{background:white;border:1px solid #e0e9e5;border-radius:10px;padding:24px}.metrics span{color:#71877e}.metrics strong{display:block;font-size:32px;margin-top:12px;font-weight:600}.sectionTitle{display:flex;justify-content:space-between;align-items:center}.grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:18px}label{display:flex;flex-direction:column;gap:8px;color:#516c60;font-size:12px}input,select{border:1px solid #d5e1dc;border-radius:6px;background:white;padding:10px 12px;min-width:0;color:#243735;font:inherit;outline:none}input:focus,select:focus{border-color:#33846c;box-shadow:0 0 0 2px #e7f2ed}button{border:0;border-radius:6px;background:#25735d;color:white;padding:11px 18px;cursor:pointer;font:inherit;align-self:end}button:hover{filter:brightness(.92)}button:disabled{opacity:.5;cursor:wait}.quiet{background:#eaf2ee;color:#295e4d}.danger{background:#faece8;color:#a64c39}form#loginForm{max-width:400px;display:grid;gap:18px}#login{max-width:700px}.filters{display:flex;gap:12px;margin:15px 0}.filters input{width:320px}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;font-weight:500;background:#f4f7f5;color:#72837c;padding:14px 12px}td{padding:17px 12px;border-bottom:1px solid #edf1ee}td small{display:block;margin-top:6px;color:#839087}td button{font-size:12px;margin:2px;padding:7px 10px}.pill{display:inline-block;border-radius:20px;padding:4px 9px;background:#e5f2eb;color:#31765a}.pill.off{background:#faece8;color:#aa6550}.empty{padding:35px;color:#9baaa2;text-align:center}#notice{border-radius:6px;color:#a44832;line-height:1.6;margin-bottom:18px}#keyBox{background:#eef7f2;padding:20px;margin-top:20px;border-radius:8px}#activationKey{width:70%;font-family:monospace}#events{max-height:250px;overflow:auto;font-size:12px;color:#73867c}#events div{border-bottom:1px solid #edf1ee;padding:10px 0}footer{color:#87988f;font-size:12px;text-align:center;margin:35px 0}[hidden]{display:none!important}@media(max-width:1000px){aside{width:175px;padding:28px 18px}main{margin-left:175px;padding:25px;width:calc(100% - 175px)}.grid{grid-template-columns:repeat(2,1fr)}.metrics{gap:10px}.metrics article{padding:15px}}@media(max-width:650px){aside{display:none}main{margin:0;width:100%;padding:18px}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}
:root .keyEye{display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;padding:5px}
.keyEye svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none}
.keyEye:disabled{cursor:not-allowed}
dialog{border:1px solid #d5e1dc;border-radius:12px;width:min(520px,calc(100% - 32px));padding:28px;color:#243735;box-shadow:0 20px 70px #102c2930}
dialog::backdrop{background:#102c2960}
#revealForm{display:grid;gap:18px}#revealError{color:#a44832}#revealedKey{font-family:monospace;width:100%}#closeReveal{margin-top:12px}
:root nav a{display:block;color:#d2ebe4;text-decoration:none;margin:0 0 24px;padding:6px 0}nav a:hover{color:white}
.listSection{scroll-margin-top:20px}.listSection .sectionTitle{gap:20px;align-items:flex-start}.listSection .sectionTitle p{margin-bottom:8px;font-size:12px}
.listFilters{flex-wrap:wrap;align-items:center;gap:10px}.listFilters input[type=search]{flex:1 1 260px;width:auto}.listFilters select{max-width:210px}.listFilters button{align-self:center}
.listCount{font-size:12px;margin:10px 0;color:#638073;line-height:1.6}.listTable{max-height:520px;border:1px solid #edf1ee;border-radius:6px}.listTable th{position:sticky;top:0;z-index:1}.listTable td{padding:11px 12px}.listTable small{font-size:11px}.listTable .empty{padding:20px}
.customerName{max-width:190px;overflow:hidden;text-overflow:ellipsis}.customerName small{overflow:hidden;text-overflow:ellipsis}.customerLink{display:block;max-width:180px;padding:0!important;margin:0!important;color:#25735d;background:transparent;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.customerLink:hover{text-decoration:underline;filter:none}
.fingerprint{font-family:Consolas,monospace;cursor:help}.rowActions{display:flex;flex-wrap:wrap;gap:3px;max-width:250px;min-width:170px}.rowActions button{margin:0;padding:6px 8px}.deviceStatus{color:#748780}.deviceStatus.live{color:#248257;font-weight:600}.deviceStatus.online{color:#2a7869}.deviceStatus.disabled{color:#aa6550}
.scopeChip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#eef7f2;border-radius:6px;padding:9px 12px;margin:10px 0;color:#295e4d;font-size:12px}.scopeChip button{padding:5px 9px;align-self:center}
.pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:12px;color:#6b8176}.pager label{display:flex;flex-direction:row;align-items:center;gap:8px}.pager label:first-child{margin-right:auto}.pager button{align-self:center;padding:8px 12px}.pager input{width:65px;padding:7px}.pager select{padding:7px 9px}.pager button:disabled{cursor:not-allowed}
.helpNote{font-size:12px;color:#748780;margin-top:18px}.helpNote summary{cursor:pointer}.helpNote p{margin:12px 0 0}.createPanel{background:white;border:1px solid #e0e9e5;border-radius:12px;margin-bottom:22px;scroll-margin-top:20px}.createPanel>summary{padding:20px 26px;cursor:pointer;font-size:17px;font-weight:600;color:#295e4d}.createPanel>summary small{font-size:12px;font-weight:400;color:#839087;margin-left:12px}.createPanel>section{border:0;margin:0}.createPanel[open]>summary{border-bottom:1px solid #edf1ee}
@media(max-width:650px){.listFilters select{max-width:100%;flex:1 1 130px}.listSection .sectionTitle{gap:10px}.pager{gap:7px}.pager label:first-child{margin-right:0}.createPanel>summary small{display:block;margin:8px 0 0}}
.listSection .sectionTitle>button{flex-shrink:0;white-space:nowrap}
.checkLabel input[type=checkbox]{width:20px;height:20px;align-self:flex-start}.checkLabel small{font-weight:400;color:#73867c}#mailForm{display:grid;gap:16px}#mailClose{margin-top:12px}#mailStatus,#emailSettingsStatus,#emailTestStatus{overflow-wrap:anywhere}
#updateForm{grid-template-columns:repeat(2,minmax(0,1fr))}#updateForm label:nth-child(3),#updateForm label:nth-child(4){grid-column:1/-1}#updateForm textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit;padding:12px;border:1px solid #d8e3de;border-radius:6px;background:#fbfdfc;color:#243735}#updateForm input[type=checkbox]{width:20px;height:20px;align-self:flex-start}#updateStatus{overflow-wrap:anywhere}@media(max-width:650px){#updateForm{grid-template-columns:1fr}}
:root .metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}:root .metrics article{padding:20px}
@media(max-width:1000px){:root .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){:root .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
