*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#18202a;font-family:Inter,"Microsoft YaHei",Arial,sans-serif}
header{height:64px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5%;box-shadow:0 1px 8px #0002}
.brand{font-weight:700;font-size:18px}nav{display:flex;align-items:center;gap:22px}nav a,.linkbtn{color:#dbe3ee;text-decoration:none;background:none;border:0;font-size:14px;cursor:pointer}
.container{max-width:1180px;margin:34px auto;padding:0 20px}.toolbar{display:flex;justify-content:space-between;gap:15px;margin-bottom:22px}.search{display:flex;flex:1;max-width:620px}.search input{flex:1;border-radius:10px 0 0 10px}.search button{border:0;padding:0 20px;border-radius:0 10px 10px 0}
input,textarea{width:100%;padding:12px 13px;border:1px solid #d6dce4;border-radius:9px;background:#fff;font-size:14px;outline:none}input:focus,textarea:focus{border-color:#65758b}
button,.button{border:0;border-radius:9px;padding:11px 16px;cursor:pointer;text-decoration:none;display:inline-block;font-size:14px}.primary{background:#111827;color:#fff}.full{width:100%}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px}.card,.form-card,.login-card{background:#fff;border:1px solid #e2e7ed;border-radius:14px;box-shadow:0 5px 20px #1720330a}
.card{padding:22px}.cardtop{display:flex;justify-content:space-between;gap:10px}.card h2{margin:0 0 5px;font-size:22px}.muted{color:#718096;font-size:14px}.badge{font-size:12px;background:#edf7f0;color:#287449;padding:5px 9px;border-radius:99px;height:max-content}
.meta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0;color:#5d6978;font-size:13px}.meta span{background:#f4f6f8;padding:6px 8px;border-radius:7px}
.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.power{font-weight:600}.start{background:#eaf7ef;color:#17683b}.stop{background:#fff0f0;color:#a72d2d}.reset{background:#eef2ff;color:#394da1}
.foot{border-top:1px solid #edf0f3;margin-top:18px;padding-top:14px;display:flex;justify-content:flex-end;gap:14px;font-size:13px}.foot a{color:#475569;text-decoration:none}.foot form{margin:0}.danger-link{padding:0;background:none;color:#b43a3a}
.form-card{max-width:760px;margin:auto;padding:28px}.form-card h1{margin-top:0}.form-card label,.login-card label{display:block;margin-bottom:17px;font-size:13px;font-weight:600}.form-card input,.form-card textarea,.login-card input{margin-top:7px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.login-card{max-width:400px;margin:12vh auto;padding:32px}.login-card h1{margin-bottom:5px}.login-card .muted{margin:0 0 25px}
.flash{padding:12px 15px;border-radius:9px;margin-bottom:18px}.flash.success{background:#eaf7ef}.flash.error{background:#fff0f0}
.tablewrap{background:#fff;border-radius:12px;border:1px solid #e2e7ed;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid #edf0f3}th{background:#f8fafc;font-size:13px}.ok{color:#217a49}.bad{color:#b43a3a}
.empty{padding:50px;background:#fff;border-radius:14px;text-align:center;color:#718096}.inline{display:inline}#toast{position:fixed;right:25px;bottom:25px;display:none;background:#111827;color:#fff;padding:14px 18px;border-radius:10px;box-shadow:0 8px 30px #0003}
@media(max-width:650px){header{padding:0 18px}.container{margin-top:22px}.toolbar{flex-direction:column}.search{max-width:none}.two{grid-template-columns:1fr}.grid{grid-template-columns:1fr}nav{gap:12px}.actions{grid-template-columns:1fr 1fr 1fr}}
.search-page{max-width:820px;margin:0 auto}.search-panel{background:#fff;border:1px solid #e2e7ed;border-radius:14px;padding:28px;box-shadow:0 5px 20px #1720330a}
.search-panel h1{margin-top:0}.ip-tip{background:#f8fafc;border-left:4px solid #64748b;padding:13px 15px;border-radius:7px;margin:16px 0 20px;line-height:1.8;color:#475569;font-size:14px}
.ip-tip code{background:#eef2f6;padding:2px 6px;border-radius:5px}.big-search{max-width:none}.big-search input{font-size:16px;padding:14px}.result-card{margin-top:20px}.result-message{margin-top:20px;padding:18px;background:#fff;border:1px solid #e2e7ed;border-radius:12px;text-align:center;color:#64748b}.error-box{background:#fff5f5;color:#a72d2d}
.no-margin{margin:0}.manage-actions{display:flex;gap:10px;align-items:center}.row-actions{display:flex;gap:12px;align-items:center}.row-actions form{margin:0}.row-actions a{text-decoration:none;color:#475569}
