:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#1f2937;background:#f3f4f6}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:230px;background:#111827;color:#fff;padding:22px;position:fixed;inset:0 auto 0 0}aside h2{margin-top:0}nav{display:grid;gap:5px}nav a{color:#d1d5db;text-decoration:none;padding:10px;border-radius:7px}nav a:hover{background:#374151;color:#fff}aside form{position:absolute;bottom:20px}main{margin-left:230px;padding:25px;width:calc(100% - 230px)}header{display:flex;justify-content:space-between;align-items:center}.card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0001}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.stats .card{display:grid}.stats strong{font-size:30px;color:#2563eb}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px}label{display:grid;align-content:start;gap:6px;font-weight:600}input,textarea,button{font:inherit;padding:10px;border:1px solid #d1d5db;border-radius:7px}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}textarea{min-height:92px;resize:vertical}label small{color:#6b7280;font-size:12px;font-weight:400;line-height:1.5}.form-tip{margin:0 0 16px;padding:10px 12px;color:#1e40af;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:6px}button{background:#2563eb;color:#fff;border:0;cursor:pointer}.danger{background:#dc2626;padding:6px}.inline{display:inline}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:9px;border-bottom:1px solid #e5e7eb;max-width:280px}.table-wrap{overflow:auto}.login{max-width:420px;margin:10vh auto}.login form{display:grid;gap:16px}.alert{color:#b91c1c;background:#fee2e2;padding:10px;border-radius:6px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}.badge-ok{color:#15803d;background:#dcfce7}.badge-warn{color:#b45309;background:#fef3c7}.form-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.form-row label{flex:0 0 200px;margin-top:8px}.form-row input,.form-row textarea{flex:1}.form-row small{display:block;margin-top:4px}.pagination{display:flex;gap:6px;align-items:center;justify-content:center;padding:14px 0;flex-wrap:wrap}.pagination a{padding:6px 12px;border:1px solid #d1d5db;border-radius:5px;text-decoration:none;color:#374151}.pagination a:hover{background:#e5e7eb}.pagination a.active{background:#2563eb;color:#fff;border-color:#2563eb}header span{color:#6b7280;font-size:14px;font-weight:400}.stats .card span{font-size:13px;color:#6b7280;font-weight:400}select{font:inherit;padding:10px;border:1px solid #d1d5db;border-radius:7px}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}@media(max-width:760px){body{display:block}aside{position:static;width:auto}aside nav{grid-template-columns:repeat(2,1fr)}aside form{position:static;margin-top:12px}main{margin:0;width:100%;padding:14px}.grid-form{grid-template-columns:1fr}header{align-items:flex-start}}
/* 工具包分组表单 */
.form-group{border:1px solid #e5e7eb;border-radius:10px;padding:16px 18px;margin-bottom:16px;background:#fafbfc}
.form-group legend{font-size:15px;font-weight:700;padding:4px 12px;color:#2563eb;background:#eff6ff;border-radius:6px;border:1px solid #bfdbfe}
.grid-form2{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;margin-top:8px}
.grid-form2 label{display:grid;align-content:start;gap:6px;font-weight:600}
.grid-form2 label[style*="grid-column:1/-1"]{grid-column:1/-1}
.checkbox-line{display:flex!important;flex-direction:row;align-items:center;gap:8px;font-weight:600}
.checkbox-line input{width:auto}
.form-actions{text-align:center;padding:10px 0}
.form-actions button{padding:12px 40px;font-size:16px}
/* 工具包表格 */
.tools-table{width:100%;font-size:14px}
.tools-table th,.tools-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;max-width:200px}
.tools-table .td-name{font-weight:600;color:#1f2937}
.tools-table .td-actions{white-space:nowrap;max-width:120px}
.tools-table .td-actions a{margin-right:8px}
.btn-edit{display:inline-block;padding:5px 12px;background:#2563eb;color:#fff;border-radius:6px;font-size:13px;text-decoration:none}
.btn-edit:hover{background:#1d4ed8;text-decoration:none}
.btn-del{background:#dc2626;color:#fff;border:0;padding:5px 12px;border-radius:6px;font-size:13px;cursor:pointer}
.badge-off{color:#6b7280;background:#f3f4f6}
/* 充值页面代码块 */
code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:13px;color:#2563eb}
@media(max-width:760px){.grid-form2{grid-template-columns:1fr}}

/* ===== 360/IE 兼容模式回退（不支持 display: grid 时自动生效） ===== */
.no-grid label{display:block;font-weight:600;margin-bottom:14px}
.no-grid label input,.no-grid label textarea,.no-grid label select{display:block;width:100%;margin-top:6px}
.no-grid label small{display:block;margin-top:4px}
.no-grid .grid-form,.no-grid .grid-form2{display:block}
.no-grid .grid-form>label,.no-grid .grid-form2>label{display:block;width:100%;margin-bottom:14px}
.no-grid .grid-form2 label[style*="grid-column:1/-1"]{display:block;width:100%}
.no-grid nav{display:block}
.no-grid nav a{display:block;margin-bottom:5px}
.no-grid .stats{display:block}
.no-grid .stats .card{display:block;width:100%;margin-bottom:15px}
.no-grid .login form{display:block}
.no-grid .login form>label{display:block;margin-bottom:14px}
.no-grid .checkbox-line{display:block!important}
.no-grid .checkbox-line input{display:inline-block;width:auto;margin-top:0}
.no-grid .checkbox-line span{display:inline;margin-left:6px}
