/* 中科鑫光后台管理样式 */
*{box-sizing:border-box}
body{margin:0;font-family:"Microsoft YaHei","PingFang SC",sans-serif;background:#f0f2f5;min-width:1100px;color:#333}
a{text-decoration:none}
.admin-wrap{display:flex;min-height:100vh}
.admin-sidebar{width:220px;background:#002E4B;color:#fff;flex-shrink:0;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0}
.admin-logo{padding:20px 18px;font-size:18px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.12);text-align:center}
.admin-logo span{color:#EF7C1B}
.admin-nav{flex:1;padding:12px 0}
.admin-nav .nav-item{padding:12px 22px;cursor:pointer;color:rgba(255,255,255,.85);border-left:3px solid transparent;transition:all .2s;font-size:14px}
.admin-nav .nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.admin-nav .nav-item.active{background:rgba(239,124,27,.15);color:#EF7C1B;border-left-color:#EF7C1B}
.admin-sidebar .admin-user{padding:14px 18px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:rgba(255,255,255,.8)}
.admin-sidebar .admin-user a{color:#EF7C1B;cursor:pointer;margin-left:10px}
.admin-main{margin-left:220px;flex:1;padding:20px 24px;overflow-x:auto;min-height:100vh}
.page-title{font-size:18px;font-weight:600;margin-bottom:16px;color:#0D0E1D}
.card{background:#fff;border-radius:8px;padding:18px 20px;box-shadow:0 1px 3px rgba(0,0,0,.08);margin-bottom:16px}
.card h3{font-size:15px;margin:0 0 12px;color:#002E4B;border-left:3px solid #EF7C1B;padding-left:8px}
table.list{width:100%;border-collapse:collapse;font-size:13px}
table.list th{background:#f7f8fa;padding:10px 12px;text-align:left;font-weight:600;border-bottom:2px solid #e8e8e8;white-space:nowrap}
table.list td{padding:9px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}
table.list tr:hover td{background:#fafbfc}
.btn{display:inline-block;padding:6px 14px;border-radius:4px;cursor:pointer;border:none;font-size:13px;transition:all .2s;text-decoration:none;line-height:1.6}
.btn-primary{background:#EF7C1B;color:#fff}
.btn-primary:hover{background:#d46600}
.btn-blue{background:#246CAF;color:#fff}
.btn-blue:hover{background:#1a5a94}
.btn-gray{background:#e8e8e8;color:#333}
.btn-gray:hover{background:#ddd}
.btn-danger{background:#e5484d;color:#fff}
.btn-danger:hover{background:#c93a3f}
.btn-green{background:#2fa84f;color:#fff}
.btn-green:hover{background:#258a41}
.btn-sm{padding:4px 10px;font-size:12px}
.btn-block{width:100%;padding:10px}
.form-group{margin-bottom:12px}
.form-group label{display:block;font-size:13px;color:#555;margin-bottom:5px;font-weight:600}
.form-group input[type=text],.form-group input[type=password],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px;outline:none;transition:border .2s;font-family:inherit}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#EF7C1B}
.form-group textarea{min-height:80px;resize:vertical}
.form-row{display:flex;gap:14px}
.form-row .form-group{flex:1}
.muted{color:#999;font-size:12px}
.tree-item{border:1px solid #eef0f2;border-radius:6px;margin-bottom:6px;overflow:hidden}
.tree-item .tree-head{display:flex;align-items:center;padding:9px 12px;background:#fafbfc;cursor:pointer;flex-wrap:wrap;gap:4px}
.tree-item .tree-head:hover{background:#f2f4f6}
.tree-children{margin-left:28px;margin-top:6px;border-left:2px solid #eee;padding-left:12px}
.tag{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;margin-left:8px}
.tag-on{background:#e8f5e9;color:#2e7d32}
.tag-off{background:#fdecea;color:#c62828}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#002E4B,#1a5276)}
.login-box{width:400px;background:#fff;border-radius:10px;padding:36px 34px;box-shadow:0 10px 40px rgba(0,0,0,.2)}
.login-box h2{text-align:center;margin:0 0 6px;color:#002E4B}
.login-box .sub{text-align:center;color:#999;font-size:13px;margin-bottom:24px}
.login-tabs{display:flex;margin-bottom:20px;border-bottom:2px solid #eee}
.login-tabs .tab{flex:1;text-align:center;padding:10px 0;cursor:pointer;font-size:14px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}
.login-tabs .tab.active{color:#EF7C1B;border-bottom-color:#EF7C1B;font-weight:600}
.back-home{text-align:center;margin-top:16px}
.back-home a{color:#246CAF;font-size:13px}
.pager{display:flex;gap:6px;align-items:center;margin-top:12px;font-size:13px}
.pager button{padding:4px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}
.pager button:disabled{opacity:.4;cursor:not-allowed}
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:999;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:40px 20px}
.modal{background:#fff;border-radius:8px;width:680px;max-width:100%;padding:22px 24px;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.modal h3{margin:0 0 16px;font-size:16px;color:#002E4B;border-left:3px solid #EF7C1B;padding-left:8px}
.modal .modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.flex-between{display:flex;justify-content:space-between;align-items:center}
.empty{padding:30px;text-align:center;color:#999;font-size:13px}
.toast{position:fixed;top:20px;right:20px;z-index:10000;padding:12px 18px;border-radius:6px;color:#fff;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.toast.success{background:#2e7d32}
.toast.error{background:#c62828}
.select-wrap{position:relative}
.img-preview{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid #eee}
.opt-row{display:flex;gap:4px;margin-bottom:4px;align-items:center}
