/* SoftDL 后台管理样式 */
:root{--adm-blue:#0b2f5e;--adm-blue2:#164a86;--adm-orange:#ff7a00;--adm-line:#e3e8ef;--adm-bg:#f2f5f9}
*{box-sizing:border-box}
body{margin:0;font:14px/1.7 -apple-system,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#333;background:var(--adm-bg)}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0}
table{border-collapse:collapse;width:100%}
.adm-top{background:var(--adm-blue);color:#fff;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.adm-top a{color:#c9dcf0;margin-left:16px}
.adm-top a:hover{color:#fff}
.adm-top-r span{margin-left:16px;color:#c9dcf0}
.adm-wrap{display:flex;min-height:calc(100vh - 92px)}
.adm-side{width:180px;background:#fff;border-right:1px solid var(--adm-line);flex:0 0 180px}
.adm-side ul{padding:8px 0}
.adm-side li a{display:block;padding:9px 20px;color:#48545f;font-size:14px}
.adm-side li a:hover{background:#f5f8fc;color:var(--adm-orange)}
.adm-side li a.on{background:var(--adm-blue2);color:#fff}
.adm-main{flex:1;padding:18px 22px;min-width:0}
.adm-title{font-size:18px;margin-bottom:14px;color:var(--adm-blue);padding-left:10px;border-left:4px solid var(--adm-orange)}
.adm-foot{text-align:center;color:#8a96a3;font-size:12px;padding:14px;border-top:1px solid var(--adm-line);background:#fff}
.panel{background:#fff;border:1px solid var(--adm-line);border-radius:6px;margin-bottom:16px}
.panel-hd{padding:10px 16px;border-bottom:1px solid var(--adm-line);font-weight:600;color:var(--adm-blue);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.panel-bd{padding:16px}
.panel-bd.nopad{padding:0}
.tb{width:100%;font-size:13px}
.tb th,.tb td{padding:9px 12px;border-bottom:1px solid var(--adm-line);text-align:left;vertical-align:middle}
.tb th{background:#f7f9fc;color:#55606e;white-space:nowrap}
.tb tr:hover td{background:#fafbfd}
.tb td.nowrap{white-space:nowrap}
.btn{display:inline-block;padding:6px 14px;border:1px solid var(--adm-line);background:#fff;border-radius:4px;cursor:pointer;font-size:13px;color:#333}
.btn:hover{border-color:var(--adm-orange);color:var(--adm-orange)}
.btn-primary{background:var(--adm-orange);border-color:var(--adm-orange);color:#fff}
.btn-primary:hover{background:#ff8f28;color:#fff}
.btn-blue{background:var(--adm-blue2);border-color:var(--adm-blue2);color:#fff}
.btn-blue:hover{background:var(--adm-blue);color:#fff}
.btn-danger{background:#e34d4d;border-color:#e34d4d;color:#fff}
.btn-danger:hover{background:#c93c3c;color:#fff}
.btn-sm{padding:3px 9px;font-size:12px}
.btn-group .btn{margin-right:6px}
.input,.select,.textarea{width:100%;padding:7px 10px;border:1px solid var(--adm-line);border-radius:4px;font-size:13px;outline:none;background:#fff;font-family:inherit}
.input:focus,.select:focus,.textarea:focus{border-color:var(--adm-orange)}
.textarea{min-height:110px;resize:vertical}
.form-table th{width:120px;text-align:right;font-weight:500;color:#55606e;padding:9px 12px;vertical-align:top;white-space:nowrap}
.form-table td{padding:9px 12px}
.tip{color:#8a96a3;font-size:12px;margin-top:4px}
.label{display:inline-block;padding:1px 7px;border-radius:3px;font-size:12px;background:#eef2f7;color:#55606e}
.label-green{background:#e6f7ee;color:#1c7a4d}
.label-red{background:#fdeaea;color:#c0392b}
.label-orange{background:#fff2e3;color:#c86a12}
.label-blue{background:#e8f1fb;color:#1a5490}
.alert{padding:9px 14px;border-radius:4px;font-size:13px;margin-bottom:12px}
.alert-ok{background:#e6f7ee;color:#1c7a4d;border:1px solid #bfe6d0}
.alert-err{background:#fdeaea;color:#c0392b;border:1px solid #f3c2c2}
.alert-info{background:#e8f1fb;color:#1a5490;border:1px solid #c6dcf2}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:12px 16px;border-bottom:1px solid var(--adm-line);background:#fcfdff}
.filters .input,.filters .select{width:auto;min-width:120px}
.pager{display:flex;gap:6px;align-items:center;justify-content:center;padding:14px;flex-wrap:wrap}
.pager .pg{padding:4px 10px;border:1px solid var(--adm-line);background:#fff;border-radius:4px;font-size:13px}
.pager .pg.active{background:var(--adm-orange);color:#fff;border-color:var(--adm-orange)}
.pager .pg-info{margin-left:8px;color:#8a96a3;font-size:12px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.stat-box{background:#fff;border:1px solid var(--adm-line);border-radius:6px;padding:16px 18px}
.stat-box b{display:block;font-size:24px;color:var(--adm-blue);font-weight:600}
.stat-box span{color:#8a96a3;font-size:13px}
.stat-box .sb-ft{font-size:12px;color:#a0aab5;margin-top:4px}
.login-box{width:400px;margin:80px auto;background:#fff;border:1px solid var(--adm-line);border-radius:8px;padding:28px}
.login-box h2{text-align:center;color:var(--adm-blue);margin-bottom:18px;font-size:20px}
.code-area{width:100%;min-height:90px;font-family:Consolas,Monaco,monospace;font-size:12px;padding:8px;border:1px solid var(--adm-line);border-radius:4px}
@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.adm-side{display:none}}
