.security-page-body { display: grid; gap: 10px; }
.security-grid { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: 10px; }
.security-panel {
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-top: 1px solid #808080;
    border-left: 1px solid #808080;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
}
.security-panel-header {
    min-height: 34px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    background: #dfdfdf;
    border-bottom: 1px solid #b0b0b0;
}
.security-panel-header span { color: #444444; font-size: 12px; }
.security-panel-body { flex: 1 1 auto; min-height: 0; padding: 10px; overflow: auto; }
.security-field { display: grid; gap: 4px; font-size: 12px; }
.security-input {
    width: 100%;
    min-width: 0;
    height: 28px;
    color: #000000;
    background: #ffffff;
    border-top: 1px solid #808080;
    border-left: 1px solid #808080;
    border-right: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    padding: 4px 6px;
    font-family: inherit;
    font-size: 13px;
}
.security-button { margin-top: 8px; min-width: 100px; height: 24px; padding: 0 8px; font-size: 12px; line-height: 12px; }
.security-danger { color: #7a0000; }
.security-note {
    margin-top: 8px;
    padding: 8px;
    color: #000000;
    background: #ffffcc;
    border-top: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    border-right: 1px solid #a08000;
    border-bottom: 1px solid #a08000;
    font-size: 12px;
    line-height: 15px;
}
.security-list { margin: 0; padding-left: 16px; display: grid; gap: 6px; font-size: 12px; }
.security-ban-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr); gap: 10px; }
.security-table-toolbar { display: grid; grid-template-columns: 1fr 180px; gap: 8px; margin-bottom: 8px; }
.security-bans-wrap { height: 260px; min-height: 260px; }
.security-ip-detail {
    min-height: 0;
    padding: 10px;
    background: #f5f5f5;
    border-top: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    border-right: 1px solid #b0b0b0;
    border-bottom: 1px solid #b0b0b0;
}
.security-ip-detail h3 { margin: 0 0 8px; font-size: 16px; line-height: 16px; }
.security-ip-detail ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 12px; }
.security-bans-body-row.is-selected { background: #c5dcff; }
.security-table-wrap {
    min-height: 280px;
    height: 320px;
    overflow: auto;
    border-top: 2px solid #606060;
    border-left: 2px solid #606060;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
}
.security-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; line-height: 14px; }
.security-table th,
.security-table td { padding: 6px; border-bottom: 1px solid #e1e1e1; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.security-table th { position: sticky; top: 0; background: #dfdfdf; z-index: 2; }
.security-docs h4 { margin: 4px 0; font-size: 13px; }
.security-docs p { margin: 0 0 8px; font-size: 12px; line-height: 1.4; }
.security-docs pre {
    margin: 0 0 10px;
    padding: 8px;
    background: #f2f2f2;
    border: 1px solid #c0c0c0;
    overflow: auto;
    font-size: 11px;
}

@media (max-width: 980px) {
    .security-grid,
    .security-ban-grid,
    .security-table-toolbar {
        grid-template-columns: 1fr;
    }
}
