*{box-sizing:border-box}body{margin:0;background:#f5f7f6;color:#192725;font:14px system-ui,Microsoft YaHei,sans-serif}button{font:inherit;cursor:pointer}.layout{min-height:100vh;display:flex}aside{width:220px;flex-shrink:0;background:#172623;color:#dce8e3;padding:26px 16px}.brand{font-size:19px;font-weight:700;padding:0 10px 32px}.brand span{display:block;font-size:10px;color:#98b3a9;margin-top:5px}.nav{padding:12px 14px;margin-bottom:5px;border-radius:5px}.active{background:#315d50;color:#fff}.muted{color:#93aaa1}main{padding:36px 42px;max-width:1500px;width:100%}header,.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px}h1{font-size:25px;margin:7px 0 0}h2{font-size:16px;margin:0}.eyebrow{margin:0;color:#738781;font-size:12px}.status{color:#526b63;white-space:nowrap}.dot{display:inline-block;width:8px;height:8px;background:#c17c39;border-radius:50%;margin-right:5px}.dot.online{background:#349a6e}button{border:1px solid #c8d5cf;background:#fff;border-radius:4px;padding:6px 12px;margin-left:12px}section{margin-top:42px}.summary{display:grid;grid-template-columns:repeat(3,1fr);margin-top:17px;border-top:1px solid #dbe4df;border-bottom:1px solid #dbe4df}.summary div{padding:23px 18px 23px 0;display:flex;flex-direction:column;gap:10px}.summary span,.section-title span{color:#71857d}.summary strong{font-size:18px}.activity{border-top:1px solid #dbe4df;padding-top:22px}.empty{text-align:center;padding:75px 12px;color:#60766d}.empty-icon{font-size:30px;color:#93aaa0;margin-bottom:12px}.empty p{color:#91a29b}@media(max-width:650px){.layout{display:block}aside{width:100%;display:flex;align-items:center;gap:8px;padding:14px}.brand{padding:0;margin-right:auto;font-size:15px}.brand span,.nav.muted{display:none}.nav{margin:0}main{padding:25px 20px}header{align-items:flex-start;flex-direction:column}.summary{grid-template-columns:1fr}.summary div{border-bottom:1px solid #dbe4df}.summary div:last-child{border:0}}.btn{margin-left:0;border:1px solid #b9c9c2;background:#fff;color:#1c312c;border-radius:5px;padding:7px 14px;line-height:1.4;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){border-color:#315d50;background:#f0f5f2}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:#315d50;border-color:#315d50;color:#fff}.btn.primary:hover:not(:disabled){background:#3c7161}.btn.small{padding:3px 9px;font-size:12px;border-radius:4px}.btn-block{display:block;width:100%;margin-top:6px}.badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12px;line-height:1.5;background:#e6ece8;color:#4a5f57;white-space:nowrap;vertical-align:middle}.badge-muted{background:#eef1ef;color:#7c8f87;border:1px solid #e2e8e4}.badge-info{background:#e3f0fb;color:#2f6fa0}.badge-ok{background:#e2f2e9;color:#2c7a55}.badge-danger{background:#fbe7e4;color:#b0372b}.badge-warn{background:#fbf0de;color:#a06a17}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.verdict-stats{grid-template-columns:repeat(4,1fr)}.stat-card{background:#fbfcfb;border:1px solid #dbe4df;border-radius:7px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.stat-card .k{font-size:12px;color:#71857d}.stat-card b{font-size:23px;line-height:1}.stat-card small{font-size:12px;color:#93aaa1}.stat-card.tone-danger b{color:#c0392b}.stat-card.tone-ok b{color:#349a6e}.stat-card.tone-warn b{color:#c17c39}.card{background:#fff;border:1px solid #dbe4df;border-radius:8px;padding:20px;margin-top:14px}.form-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:4px}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:240px}.field label,.form-row label{font-weight:600;color:#334b43;font-size:13px}input[type=text],input[type=password],input[type=file],select{border:1px solid #c8d5cf;border-radius:5px;padding:8px 10px;background:#fff;color:#192725;font:inherit;width:100%}input:focus,select:focus{outline:2px solid #cfe0d8;outline-offset:0;border-color:#315d50}.form-hint{color:#71857d;font-size:12px;margin:4px 0 0;line-height:1.55}.check-row{display:flex;align-items:center;gap:8px;color:#334b43;cursor:pointer;font-size:13px;margin-top:8px}.form-actions{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.progress{height:8px;background:#e3ebe7;border-radius:5px;overflow:hidden;margin-top:10px}.progress i{display:block;height:100%;background:#315d50;transition:width .2s}.table-card{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:#f3f6f4;color:#5d7269;padding:10px 12px;font-weight:600;white-space:nowrap;border-bottom:1px solid #dbe4df}td{padding:10px 12px;border-bottom:1px solid #edf2ef;vertical-align:top}tbody tr:last-child td{border-bottom:0}.table-click tbody tr{cursor:pointer}.table-click tbody tr:hover{background:#f3f8f5}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.wrap-cell{max-width:320px;word-break:break-word}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 22px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-item .k{font-size:12px;color:#71857d}.charts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}.chart-box h3{font-size:14px;color:#334b43;margin:0 0 8px}.chart{height:260px}.empty.small{padding:34px 12px}.alert{padding:11px 14px;border-radius:6px;margin-top:14px;font-size:13px;line-height:1.55}.alert.error{background:#fdf0ee;border:1px solid #f0c8c2;color:#9c2f24}.alert.warn{background:#fdf6e6;border:1px solid #ecd9ae;color:#8a5a10}.alert.info{background:#eaf3ee;border:1px solid #cfe4d8;color:#2c6b4f}.note{color:#71857d;font-size:12px;margin:12px 0 0;line-height:1.6}.section-title h2{margin:0}.nav{cursor:pointer}.logout{margin-top:30px}.login-wrap{flex:1;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#17302b,#172623 55%,#1c322c);padding:24px}.login-card{width:100%;max-width:430px;background:#fff;border-radius:10px;padding:30px 32px;box-shadow:0 14px 40px #00000040}.login-brand{padding:0 0 18px;color:#315d50}.login-card h1{margin:0 0 8px;font-size:22px}.login-card .field{margin-top:14px}.login-card .btn-block{margin-top:18px}.login-card .address-hint{margin-top:14px}.login-card code{background:#eef2f0;border-radius:3px;padding:1px 5px}.detail-id{font-size:16px;font-weight:400}@media(max-width:980px){.stat-grid{grid-template-columns:repeat(3,1fr)}.verdict-stats{grid-template-columns:repeat(2,1fr)}.meta-grid{grid-template-columns:1fr 1fr}.charts{grid-template-columns:1fr}}@media(max-width:650px){.stat-grid,.verdict-stats{grid-template-columns:repeat(2,1fr)}.meta-grid{grid-template-columns:1fr}.login-card{padding:24px 20px}}
