*{box-sizing:border-box}body{margin:0;font-family:"Microsoft YaHei",Arial;background:#f5f6fa;color:#1f2937}a{text-decoration:none;color:inherit}.topbar{background:#111827;color:#fff;padding:12px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.brand{font-weight:700;font-size:19px}.nav{display:flex;gap:8px;flex-wrap:wrap;flex:1}.nav a{background:rgba(255,255,255,.09);padding:7px 9px;border-radius:8px}.who{font-size:13px;color:#d1d5db}.container{max-width:1500px;margin:20px auto;padding:0 14px}.flash{background:#fff7ed;border:1px solid #fed7aa;padding:11px 14px;border-radius:10px;margin-bottom:14px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}.stat,.option-card,.form-card,.login-card{background:white;border-radius:15px;padding:16px;box-shadow:0 5px 18px rgba(0,0,0,.06)}.stat b{font-size:27px;display:block}.stat span{color:#6b7280}.stat.ok b{color:#16a34a}.stat.warn b{color:#d97706}.stat.danger b{color:#dc2626}.stat.permanent b{color:#7c3aed}.searchbar{display:grid;grid-template-columns:1fr 170px 170px 150px 85px;gap:9px;background:white;padding:12px;border-radius:14px;margin-bottom:14px}.searchbar.simple{grid-template-columns:1fr 85px}.table-wrap{background:#fff;border-radius:14px;overflow-x:auto;box-shadow:0 5px 18px rgba(0,0,0,.06)}table{border-collapse:collapse;width:100%;min-width:1050px}th,td{padding:10px 9px;border-bottom:1px solid #eef0f4;text-align:left;vertical-align:middle}th{background:#f9fafb;color:#4b5563}.name{font-weight:700}.remark{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{padding:4px 8px;border-radius:999px;font-size:13px}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}.badge.permanent{background:#ede9fe;color:#5b21b6}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:9px;margin:5px 0 12px;background:white}button,.btn{border:0;border-radius:9px;padding:9px 12px;background:#e5e7eb;cursor:pointer;display:inline-block}.primary{background:#2563eb;color:white}.link-danger,.danger-btn{color:#991b1b;background:#fee2e2}.inline,.actions,.form-actions,.day-buttons{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline input{width:75px;margin:0}.actions form{margin:0}.form-card,.login-card{max-width:560px;margin:35px auto}.form-card label,.login-card label{font-weight:700;display:block}.check-row{display:flex!important;gap:8px;align-items:center}.check-row input{width:auto;margin:0}.hint{color:#6b7280}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.option-add,.user-add{display:grid;grid-template-columns:1fr 90px;gap:8px}.user-add{grid-template-columns:repeat(4,1fr) 90px}.option-item{display:flex;justify-content:space-between;align-items:center;background:#f9fafb;padding:10px;border-radius:9px;margin-top:8px}.empty,.empty-box{text-align:center;color:#6b7280;padding:22px}@media(max-width:850px){.cards{grid-template-columns:repeat(2,1fr)}.searchbar,.searchbar.simple,.option-grid,.user-add{grid-template-columns:1fr}.topbar{align-items:flex-start}.container{padding:0 8px}}
.user-menu {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #d1d5db;
}
.user-menu a {
    background: rgba(255,255,255,.09);
    padding: 7px 9px;
    border-radius: 8px;
}
.user-menu form { margin:0; }
.user-menu form input { display:none; }
.user-menu form button {
    background: rgba(255,255,255,.09);
    color: #fff;
    padding: 7px 9px;
    border-radius: 8px;
}
.log-tabs, .system-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.log-tabs a, .system-tabs a {
    background: white;
    border: 1px solid #e5e7eb;
    padding: 9px 14px;
    border-radius: 10px;
}
.log-tabs a.active, .system-tabs a.active {
    background: #2563eb;
    color: white;
    border-color: #2563eb;
}
.management-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(240px, 1fr));
    gap: 14px;
}
.management-card {
    background: white;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 5px 18px rgba(0,0,0,.06);
    border: 1px solid transparent;
}
.management-card:hover {
    border-color: #bfdbfe;
    transform: translateY(-1px);
}
.management-card h2 {
    margin: 0 0 8px;
    font-size: 19px;
}
.management-card p {
    color: #6b7280;
    min-height: 44px;
}
.management-card span {
    color: #2563eb;
    font-weight: 700;
}
.import-actions {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
@media(max-width:850px) {
    .management-grid { grid-template-columns: 1fr; }
    .user-menu { width:100%; }
}

.permission-guide {
    background: white;
    border-radius: 16px;
    padding: 18px;
    margin-bottom: 14px;
    box-shadow: 0 5px 18px rgba(0,0,0,.06);
}
.permission-guide h2 {
    margin-top: 0;
}
.permission-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.permission-columns > div {
    background: #f9fafb;
    border: 1px solid #eef0f4;
    border-radius: 12px;
    padding: 14px;
}
.permission-columns h3 {
    margin-top: 0;
}
@media(max-width:850px) {
    .permission-columns { grid-template-columns: 1fr; }
}

/* v15：组合筛选、排序与批量操作 */
.searchbar { grid-template-columns: minmax(230px,1fr) 150px 160px 135px 145px 85px; }
.batchbar { display:flex;align-items:center;gap:14px;background:#fff;padding:10px 12px;border-radius:12px;margin-bottom:10px;box-shadow:0 5px 18px rgba(0,0,0,.05); }
.batchbar label { display:flex;align-items:center;gap:7px;font-weight:700; }
.batchbar input,.select-col input { width:auto;margin:0; }
.batchbar .danger-btn { margin-left:auto; }
.select-col { width:58px;text-align:center; }
table { min-width:1150px; }
@media(max-width:850px) {
    .searchbar { grid-template-columns:1fr; }
    .batchbar { flex-wrap:wrap; }
    .batchbar .danger-btn { margin-left:0; }
}
