:root {
    --bg: #f5f7fb;
    --panel: #ffffff;
    --text: #172033;
    --muted: #64748b;
    --line: #e2e8f0;
    --primary: #0f5c8c;
    --primary-soft: #e8f3fa;
    --danger: #b42318;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: Inter, Segoe UI, Arial, sans-serif;
    background: var(--bg);
    color: var(--text);
}
.topbar {
    height: 72px;
    background: #0b1728;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 28px;
}
.brand { font-size: 20px; font-weight: 700; }
.subtitle { color: #b8c2d2; font-size: 13px; margin-top: 4px; }
.userbox { display: flex; gap: 16px; align-items: center; font-size: 14px; }
.userbox a { color: #c6e6ff; text-decoration: none; }
.layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    height: calc(100vh - 72px);
}
.sidebar {
    border-right: 1px solid var(--line);
    background: var(--panel);
    padding: 18px;
    overflow: auto;
}
.search {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 15px;
    outline: none;
}
.search:focus { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.count { color: var(--muted); font-size: 13px; margin: 12px 4px; }
.secret-list { display: flex; flex-direction: column; gap: 8px; }
.secret-item {
    width: 100%;
    text-align: left;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: white;
    padding: 12px;
    cursor: pointer;
}
.secret-item:hover { background: #f8fafc; border-color: #cbd5e1; }
.secret-item.active { background: var(--primary-soft); border-color: var(--primary); }
.secret-title { display: block; font-weight: 700; color: var(--text); }
.secret-meta { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.secret-tags { display: block; color: var(--primary); font-size: 12px; margin-top: 6px; }
.content { padding: 28px; overflow: auto; }
.empty-state {
    background: var(--panel);
    border: 1px dashed #cbd5e1;
    border-radius: 20px;
    padding: 50px;
    color: var(--muted);
}
.empty-state h1 { color: var(--text); margin-top: 0; }
.detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 18px;
}
.detail-header h1 { margin: 0; font-size: 28px; }
.detail-header p { margin: 6px 0 0; color: var(--muted); }
.audit-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 14px 16px;
    min-width: 260px;
    font-size: 14px;
}
.small { color: var(--muted); font-size: 12px; margin-top: 4px; }
.error {
    border: 1px solid #fecdca;
    background: #fffbfa;
    color: var(--danger);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 18px;
}
.secret-panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
.secret-panel h1, .secret-panel h2, .secret-panel h3 { margin-top: 0; }
.secret-panel table {
    border-collapse: collapse;
    width: 100%;
    margin: 12px 0 22px;
}
.secret-panel td, .secret-panel th {
    border: 1px solid #d8dee8;
    padding: 10px 12px;
    vertical-align: top;
}
.secret-panel th { background: #f1f5f9; text-align: left; }
.plain-secret {
    white-space: normal;
    line-height: 1.7;
    font-family: Consolas, Monaco, monospace;
}
@media (max-width: 900px) {
    .layout { grid-template-columns: 1fr; height: auto; }
    .sidebar { border-right: none; border-bottom: 1px solid var(--line); }
    .detail-header { flex-direction: column; }
}

.page-header {
    margin: 28px 32px 18px;
}

.page-header h1 {
    margin: 0;
    font-size: 32px;
    font-weight: 800;
    color: #172033;
}

.page-header p {
    margin: 6px 0 0;
    color: #687086;
    font-size: 15px;
}

.logs-card {
    margin: 0 32px 32px;
    background: #ffffff;
    border: 1px solid #e4e8f0;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
    overflow: hidden;
}

.logs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.logs-table thead {
    background: #f5f7fb;
}

.logs-table th {
    text-align: left;
    padding: 14px 16px;
    color: #344054;
    font-weight: 700;
    border-bottom: 1px solid #e4e8f0;
    white-space: nowrap;
}

.logs-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #eef1f6;
    color: #1f2937;
    vertical-align: middle;
}

.logs-table tbody tr:hover {
    background: #f9fbff;
}

.logs-table tbody tr:last-child td {
    border-bottom: none;
}

.secret-pill {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eef4ff;
    color: #175cd3;
    font-weight: 700;
    font-size: 13px;
}

.status-pill {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 12px;
}

.status-pill.success {
    background: #ecfdf3;
    color: #027a48;
}

.status-pill.failed {
    background: #fef3f2;
    color: #b42318;
}

.brand-row{
    display:flex;
    align-items:center;
    gap:12px;
}

.brand-logo{
    height:50px;
    padding-right: 70px;
}

.error-cell {
    color: #b42318;
    max-width: 360px;
    word-break: break-word;
}

@media (max-width: 900px) {
    .logs-card {
        overflow-x: auto;
    }

    .logs-table {
        min-width: 900px;
    }
}

.logs-toolbar {
    margin: 0 32px 16px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.log-search {
    width: 420px;
    max-width: 100%;
    padding: 12px 14px;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    font-size: 14px;
}

.export-btn,
.pagination-bar button {
    padding: 10px 14px;
    border: none;
    border-radius: 10px;
    background: #175cd3;
    color: white;
    font-weight: 700;
    cursor: pointer;
}

.export-btn:hover,
.pagination-bar button:hover {
    background: #0b4db3;
}

.pagination-bar {
    margin: 16px 32px 32px;
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: flex-end;
    color: #344054;
    font-weight: 600;
}

.masked-password {
    font-family: monospace;
    letter-spacing: 2px;
    margin-right: 12px;
}

.show-password-btn {
    border: none;
    border-radius: 8px;
    padding: 5px 10px;
    background: #175cd3;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.show-password-btn:hover {
    background: #0b4db3;
}
/* Arc Access Admin Panel */
.admin-shell {
    display: grid;
    grid-template-columns: 260px 1fr;
    min-height: calc(100vh - 72px);
    background: #f6f8fc;
}

.admin-nav {
    background: #0b1728;
    color: #d7e3f4;
    padding: 24px 18px;
    border-top: 1px solid rgba(255,255,255,0.06);
}

.admin-nav-title {
    color: #ffffff;
    font-weight: 800;
    font-size: 18px;
    margin: 4px 8px 20px;
    letter-spacing: .2px;
}

.admin-nav a {
    display: block;
    color: #cbd8ea;
    text-decoration: none;
    padding: 11px 12px;
    border-radius: 12px;
    margin: 4px 0;
    font-weight: 650;
}

.admin-nav a:hover,
.admin-nav a.active {
    background: #14365a;
    color: #ffffff;
}

.admin-nav a.disabled {
    opacity: .45;
    cursor: default;
}

.admin-content {
    padding: 28px;
    overflow: auto;
}

.admin-hero,
.admin-list-header {
    background: linear-gradient(135deg, #102641, #0f5c8c);
    color: #ffffff;
    border-radius: 24px;
    padding: 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    box-shadow: 0 20px 45px rgba(16, 38, 65, 0.18);
    margin-bottom: 24px;
}

.admin-list-header {
    background: #ffffff;
    color: #172033;
    border: 1px solid #e4e8f0;
    box-shadow: 0 10px 24px rgba(16, 24, 40, 0.06);
}

.admin-hero h1,
.admin-list-header h1 {
    margin: 4px 0 8px;
    font-size: 34px;
    line-height: 1.1;
}

.admin-hero p,
.admin-list-header p {
    max-width: 760px;
    margin: 0;
    color: inherit;
    opacity: .82;
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 12px;
    font-weight: 800;
    opacity: .72;
}

.hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.primary-link,
.secondary-link,
.primary-button,
.danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 16px;
    border-radius: 12px;
    border: none;
    text-decoration: none;
    font-weight: 800;
    cursor: pointer;
}

.primary-link,
.primary-button {
    background: #175cd3;
    color: #ffffff;
}

.primary-link:hover,
.primary-button:hover { background: #0b4db3; }

.secondary-link {
    background: rgba(255,255,255,.16);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.24);
}

.admin-list-header .secondary-link {
    background: #f2f4f7;
    color: #172033;
    border: 1px solid #e4e8f0;
}

.danger-button {
    background: #fef3f2;
    color: #b42318;
    border: 1px solid #fecdca;
}

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(180px, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.kpi-card {
    background: #ffffff;
    border: 1px solid #e4e8f0;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 8px 22px rgba(16, 24, 40, 0.05);
    position: relative;
    overflow: hidden;
}

.kpi-card:before {
    content: "";
    position: absolute;
    right: -26px;
    top: -26px;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    opacity: .14;
    background: #175cd3;
}

.kpi-card span {
    display: block;
    color: #667085;
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.kpi-card strong {
    display: block;
    font-size: 32px;
    margin: 10px 0 4px;
    color: #172033;
}

.kpi-card small { color: #667085; }
.kpi-card.green:before { background: #027a48; }
.kpi-card.amber:before { background: #b54708; }
.kpi-card.purple:before { background: #6941c6; }

.admin-grid.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 18px;
}

.admin-card {
    background: #ffffff;
    border: 1px solid #e4e8f0;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 8px 22px rgba(16, 24, 40, 0.05);
}

.admin-card.flush { padding: 0; overflow: hidden; }

.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.card-header h2 {
    margin: 0;
    font-size: 20px;
}

.card-header span,
.card-header a { color: #667085; font-size: 13px; }

.activity-bars > div {
    display: grid;
    grid-template-columns: 90px 1fr 42px;
    align-items: center;
    gap: 12px;
    margin: 14px 0;
}

.activity-bars label { color: #344054; font-weight: 700; }
.activity-bars b { text-align: right; }

.bar,
.mini-bar {
    background: #eef2f7;
    border-radius: 999px;
    height: 12px;
    overflow: hidden;
}

.bar span,
.mini-bar i {
    display: block;
    height: 100%;
    background: #175cd3;
    border-radius: 999px;
}

.bar.danger span { background: #d92d20; }

.top-list { display: grid; gap: 12px; }
.top-row {
    display: grid;
    grid-template-columns: 1fr 160px 36px;
    align-items: center;
    gap: 12px;
}
.top-row span { font-weight: 700; color: #344054; }
.top-row b { text-align: right; }
.mini-bar { height: 10px; }
.mini-bar i { background: #0f5c8c; }

.empty-mini {
    color: #667085;
    padding: 18px;
    background: #f8fafc;
    border-radius: 14px;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.admin-table th,
.admin-table td {
    text-align: left;
    padding: 14px 16px;
    border-bottom: 1px solid #eef1f6;
    vertical-align: middle;
}

.admin-table th {
    background: #f8fafc;
    color: #344054;
    font-weight: 800;
}

.admin-table tr:hover td { background: #fbfdff; }
.admin-table.compact td,
.admin-table.compact th { padding: 11px 12px; }

.status-dot {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    background: #f2f4f7;
    color: #344054;
}
.status-dot.ok { background: #ecfdf3; color: #027a48; }
.status-dot.bad { background: #fef3f2; color: #b42318; }

.table-actions a {
    color: #175cd3;
    font-weight: 800;
    text-decoration: none;
}

.admin-toolbar { margin-left: 0; margin-right: 0; }
.admin-page-header { margin-left: 0; margin-right: 0; }
.admin-logs-card { margin-left: 0; margin-right: 0; }

.admin-form { display: grid; gap: 18px; }
.tab-strip {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    background: #ffffff;
    border: 1px solid #e4e8f0;
    border-radius: 16px;
    padding: 8px;
}
.tab-strip span {
    padding: 9px 12px;
    border-radius: 12px;
    color: #667085;
    font-weight: 800;
}
.tab-strip span.active { background: #e8f3fa; color: #0f5c8c; }

.form-card {
    background: #ffffff;
    border: 1px solid #e4e8f0;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 8px 22px rgba(16, 24, 40, 0.05);
}

.form-card h2 { margin: 0 0 16px; }
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 16px;
}

.form-card label {
    display: grid;
    gap: 7px;
    color: #344054;
    font-weight: 750;
}

.form-card input,
.form-card select,
.form-card textarea {
    width: 100%;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    padding: 11px 12px;
    font-size: 14px;
    outline: none;
    background: #ffffff;
}

.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus {
    border-color: #0f5c8c;
    box-shadow: 0 0 0 3px #e8f3fa;
}

.form-card small {
    color: #667085;
    font-weight: 500;
}

.form-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

@media (max-width: 1000px) {
    .admin-shell { grid-template-columns: 1fr; }
    .admin-nav { display: flex; overflow-x: auto; gap: 6px; }
    .admin-nav-title { display: none; }
    .admin-nav a { white-space: nowrap; }
    .kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .admin-grid.two-col { grid-template-columns: 1fr; }
    .admin-hero, .admin-list-header { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
    .kpi-grid { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
    .top-row { grid-template-columns: 1fr; }
}

.required { color: #d92d20; font-weight: 900; }
.validation-summary-card {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #fda29b;
    background: #fffbfa;
    color: #7a271a;
    border-radius: 14px;
}
.validation-summary-card ul { margin: 8px 0 0 18px; }
.sticky-tabs {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #f6f8fb;
    padding-top: 4px;
}
.tab-strip a {
    color: inherit;
    text-decoration: none;
}
.muted-text {
    color: #667085;
    margin: -4px 0 16px;
}
.checkbox-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px !important;
    padding: 12px;
    border: 1px solid #e4e7ec;
    border-radius: 12px;
    background: #fcfcfd;
}
.checkbox-label input { width: auto !important; }
.section-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
.secondary-button {
    border: 1px solid #b8d7e8;
    background: #eef8fd;
    color: #0f5c8c;
    padding: 10px 13px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 800;
    white-space: nowrap;
    font-size: 12px;
}
.secondary-button:hover { background: #dff1fb; }
.dynamic-table-wrap {
    overflow-x: auto;
    border: 1px solid #e4e7ec;
    border-radius: 14px;
}
.dynamic-table {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
    font-size: 13px;
}
.dynamic-table thead { background: #f5f7fb; }
.dynamic-table th {
    text-align: left;
    padding: 11px 10px;
    border-bottom: 1px solid #e4e7ec;
    color: #344054;
}
.dynamic-table td {
    padding: 9px 8px;
    border-bottom: 1px solid #eef1f6;
    vertical-align: middle;
}
.dynamic-table input,
.dynamic-table select {
    width: 100%;
    min-width: 105px;
    border: 1px solid #d0d5dd;
    border-radius: 9px;
    padding: 8px 9px;
    font-size: 13px;
}
.dynamic-table td.center { text-align: center; }
.dynamic-table td.center input { width: auto; }
.tiny-danger {
    border: none;
    background: #fef3f2;
    color: #b42318;
    font-weight: 800;
    padding: 8px 10px;
    border-radius: 9px;
    cursor: pointer;
}
.tiny-danger:hover { background: #fee4e2; }

/* Update 4 polish: tabs, settings, credential health */
.admin-tabs,
.tab-strip.admin-tabs,
.tab-strip {
    display: flex;
    gap: 8px;
    align-items: center;
    background: #ffffff;
    border: 1px solid #e1e7f0;
    border-radius: 16px;
    padding: 8px;
    margin: 20px 0;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    overflow-x: auto;
}

.admin-tabs a,
.tab-strip a {
    display: inline-flex;
    align-items: center;
    padding: 10px 16px;
    border-radius: 12px;
    color: #526078;
    text-decoration: none;
    font-weight: 800;
    font-size: 14px;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.admin-tabs a:hover,
.tab-strip a:hover {
    background: #f1f7ff;
    color: #0f5e9c;
}

.admin-tabs a.active,
.tab-strip a.active {
    background: #e8f4ff;
    color: #075985;
}

.policy-note {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475467;
    font-size: 14px;
}

.rotation-cell {
    min-width: 170px;
}

.mini-check {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #475467;
    margin-bottom: 6px;
}

.mini-check input {
    width: auto !important;
    min-width: auto !important;
}

.kpi-card.red {
    background: linear-gradient(135deg, #fff1f3, #ffffff);
    border-color: #fecdd3;
}

.health-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.health-box {
    border-radius: 16px;
    padding: 18px;
    border: 1px solid #e4e7ec;
    background: #ffffff;
}

.health-box strong {
    display: block;
    font-size: 32px;
    line-height: 1;
    margin-bottom: 8px;
}

.health-box span {
    color: #667085;
    font-weight: 800;
    font-size: 13px;
}

.health-box.ok { background: #ecfdf3; border-color: #abefc6; color: #027a48; }
.health-box.warn { background: #fffaeb; border-color: #fedf89; color: #b54708; }
.health-box.bad { background: #fef3f2; border-color: #fecdca; color: #b42318; }

.success-card {
    margin: 0 0 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #ecfdf3;
    color: #027a48;
    border: 1px solid #abefc6;
    font-weight: 800;
}

.settings-form .form-card small {
    display: block;
    margin-top: 6px;
    color: #667085;
    font-size: 12px;
}

/* Update 5: compact credential card lists and modal editor */
.credential-card-list {
    display: grid;
    gap: 14px;
}

.credential-card {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 16px;
    border: 1px solid #e4e7ec;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.credential-main { min-width: 0; flex: 1; }

.credential-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.credential-title-row h3 {
    margin: 0;
    font-size: 18px;
    color: #172033;
}

.credential-subtitle {
    color: #667085;
    font-weight: 700;
    margin-bottom: 12px;
    word-break: break-word;
}

.credential-meta-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.credential-meta-grid span {
    display: block;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    color: #344054;
    font-size: 13px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.credential-meta-grid strong {
    display: block;
    color: #667085;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: 3px;
}

.credential-actions {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-shrink: 0;
}

.type-pill {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 999px;
    background: #e8f4ff;
    color: #075985;
    font-weight: 800;
    font-size: 12px;
}

.type-pill.muted {
    background: #f2f4f7;
    color: #475467;
}

.empty-state-card {
    padding: 18px;
    border-radius: 16px;
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    color: #667085;
    font-weight: 800;
    text-align: center;
}

.modal-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.58);
    z-index: 9999;
    padding: 32px;
    overflow-y: auto;
}

.modal-backdrop.show {
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-panel {
    width: min(760px, 100%);
    background: #ffffff;
    border-radius: 22px;
    border: 1px solid #e4e7ec;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.28);
    padding: 24px;
}

.modal-wide { width: min(960px, 100%); }

.modal-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.modal-header h2 { margin: 3px 0 0; color: #172033; }

.modal-close {
    border: none;
    background: #f2f4f7;
    color: #344054;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.modal-grid label {
    color: #344054;
    font-weight: 800;
    font-size: 14px;
}

.modal-grid input,
.modal-grid select,
.modal-grid textarea {
    width: 100%;
    margin-top: 7px;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    padding: 11px 12px;
    font-size: 14px;
    box-sizing: border-box;
}

.modal-check {
    margin-top: 23px;
}

.modal-span-2 { grid-column: span 2; }

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
}

body.modal-open { overflow: hidden; }

@media (max-width: 980px) {
    .credential-card { flex-direction: column; }
    .credential-actions { justify-content: flex-end; }
    .credential-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .modal-backdrop { padding: 14px; }
    .modal-grid { grid-template-columns: 1fr; }
    .modal-span-2 { grid-column: span 1; }
    .credential-meta-grid { grid-template-columns: 1fr; }
}

/* Update 6 modal validation and destructive actions */
.modal-validation {
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid #fecaca;
    border-radius: 12px;
    background: #fef2f2;
    color: #991b1b;
    font-size: 14px;
}
.modal-validation ul {
    margin: 8px 0 0 18px;
    padding: 0;
}
.modal-help {
    margin: 10px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f8fafc;
    color: #64748b;
    font-size: 13px;
}
.danger-button.outline {
    background: #ffffff;
    color: #b42318;
    border: 1px solid #fecdca;
}
.danger-button.outline:hover {
    background: #fef3f2;
}
.required {
    color: #b42318;
    font-weight: 800;
}

/* Update 6.1 credential reveal controls */
.secret-edit-field {
    border: 1px solid #e4e7ec;
    border-radius: 14px;
    padding: 12px;
    background: #fbfdff;
}

.secret-edit-field > label {
    display: block;
    margin-bottom: 7px;
    color: #344054;
    font-weight: 800;
    font-size: 14px;
}

.secret-reveal-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f2f6fb;
}

.secret-mask {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    letter-spacing: 1.5px;
    color: #172033;
    font-weight: 800;
    word-break: break-all;
}

.secret-empty .secret-mask {
    font-family: inherit;
    letter-spacing: 0;
    color: #98a2b3;
    font-weight: 700;
}

.secret-edit-field input {
    width: 100%;
}

.tiny-button {
    border: none;
    border-radius: 9px;
    padding: 6px 10px;
    background: #175cd3;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.tiny-button:hover {
    background: #0b4db3;
}

/* Update 7+8: inventory pages and dashboard v2 */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.filter-toolbar {
    align-items: center;
    flex-wrap: wrap;
}

.filter-select {
    min-width: 180px;
    padding: 12px 14px;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    font-size: 14px;
    background: #ffffff;
    color: #172033;
}

.inventory-table td small {
    color: #667085;
    font-size: 12px;
}

.mono-cell {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    overflow-wrap: anywhere;
}

.health-pill {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    background: #f2f4f7;
    color: #344054;
    white-space: nowrap;
}

.health-pill.healthy {
    background: #ecfdf3;
    color: #027a48;
}

.health-pill.expiring-soon {
    background: #fffaeb;
    color: #b54708;
}

.health-pill.expired {
    background: #fef3f2;
    color: #b42318;
}

.compact-health .health-box strong {
    font-size: 28px;
}

.expiring-list {
    display: grid;
    gap: 10px;
}

.expiring-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid #e4e7ec;
    border-radius: 14px;
    background: #fbfdff;
}

.expiring-row strong {
    display: block;
    color: #172033;
}

.expiring-row span {
    color: #667085;
    font-size: 13px;
}

.admin-nav a.disabled {
    display: none;
}

@media (max-width: 1400px) {
    .kpi-grid {
        grid-template-columns: repeat(3, minmax(120px, 1fr));
    }
}

@media (max-width: 768px) {
    .kpi-grid {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }
}

/* Update 9.1: enterprise status badges, job logs, expired credential enforcement */
.arc-status-badge,
.health-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
    white-space: nowrap;
    border: 1px solid transparent;
}

.arc-status-badge .status-icon,
.health-pill .status-icon {
    font-weight: 900;
    font-size: 12px;
}

.arc-status-badge.compliant,
.health-pill.healthy {
    background: #e8f4ff;
    color: #075985;
    border-color: #cfe8ff;
}

.arc-status-badge.review-required,
.health-pill.expiring-soon {
    background: #eef2f7;
    color: #475569;
    border-color: #d9e2ec;
}

.arc-status-badge.action-required,
.health-pill.expired {
    background: #fdecec;
    color: #991b1b;
    border-color: #facaca;
}

.status-hover-card {
    position: relative;
    cursor: default;
}

.status-hover-card .hover-detail {
    display: none;
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    z-index: 50;
    min-width: 320px;
    max-width: 460px;
    background: #ffffff;
    border: 1px solid #d9e2ec;
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
    padding: 12px;
    color: #172033;
    text-align: left;
}

.status-hover-card:hover .hover-detail {
    display: block;
}

.hover-detail strong {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
}

.hover-detail ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 5px;
    font-size: 12px;
    color: #475569;
}

.credential-card.action-required,
.secret-edit-field.action-required {
    border-color: #facaca;
    background: #fff7f7;
    box-shadow: inset 0 0 0 1px rgba(153, 27, 27, 0.04);
}

.credential-card.review-required,
.secret-edit-field.review-required {
    border-color: #d9e2ec;
    background: #f8fafc;
}

.expired-block-message {
    display: none;
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #fdecec;
    color: #991b1b;
    font-size: 12px;
    font-weight: 800;
}

.secret-edit-field.action-required .expired-block-message {
    display: block;
}

.secret-edit-field.action-required .tiny-button {
    opacity: .55;
    cursor: not-allowed;
}

.job-status-badge {
    display: inline-flex;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.job-status-badge.job-success {
    background: #e8f4ff;
    color: #075985;
}

.job-status-badge.job-failed {
    background: #fdecec;
    color: #991b1b;
}

.job-status-badge.job-running {
    background: #eef2f7;
    color: #475569;
}

.error-cell {
    max-width: 380px;
    overflow-wrap: anywhere;
}

/* Read-only mode for non-admin users */
.readonly-banner {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid #d7dee8;
    border-radius: 14px;
    background: #f7f9fc;
    color: #334155;
}

.readonly-banner strong {
    font-size: 14px;
    font-weight: 800;
}

.readonly-banner span {
    font-size: 13px;
    color: #64748b;
}

button.disabled,
button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    cursor: not-allowed;
}

.admin-form input:disabled,
.admin-form select:disabled,
.admin-form textarea:disabled,
.modal-panel input:disabled,
.modal-panel select:disabled,
.modal-panel textarea:disabled {
    background: #f8fafc;
    color: #64748b;
    border-color: #d7dee8;
}

.admin-write-action:disabled {
    opacity: 0.48;
    box-shadow: none;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    z-index: 1000;
    overflow-y: auto;
}

.modal-backdrop[aria-hidden="false"] {
    display: flex;
}

.modal-panel {
    width: min(920px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    background: #fff;
    border-radius: 18px;
}

.modal-wide {
    width: min(1100px, 100%);
}
/* Update 13.1 - secure reveal copy UX */
.icon-button {
    min-width: 34px;
    width: 34px;
    height: 34px;
    padding: 0;
    align-items: center;
    justify-content: center;
}

.icon-button svg {
    display: block;
}

.copy-secret-button {
    display: none;
    margin-left: 6px;
}

.secret-watermark {
    display: none;
    margin-top: 6px;
    font-size: 11px;
    color: #64748b;
    line-height: 1.35;
}

.copy-toast {
    display: none;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 700;
    color: #075985;
}

.inline-action-panel {
    margin-top: 12px;
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #f8fafc;
}

.inline-action-buttons {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

/* Arc Access custom dialogs */
.app-dialog-backdrop {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.46);
    z-index: 2500;
}

.app-dialog-backdrop.show {
    display: flex;
}

.app-dialog-panel {
    width: min(520px, 100%);
    background: #ffffff;
    border: 1px solid #dbe3ef;
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
    overflow: hidden;
}

.app-dialog-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 20px 22px 12px;
    border-bottom: 1px solid #eef2f7;
}

.app-dialog-header h2 {
    margin: 4px 0 0;
    font-size: 20px;
    line-height: 1.25;
}

.app-dialog-body {
    padding: 18px 22px 8px;
}

.app-dialog-body p {
    margin: 0 0 14px;
    color: #475569;
    line-height: 1.5;
}

.app-dialog-input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 18px;
    letter-spacing: 4px;
    text-align: center;
}

.app-dialog-input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

.app-dialog-error {
    min-height: 18px;
    margin-top: 8px;
    color: #991b1b;
    font-size: 13px;
}

.app-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 22px 22px;
}

/* ---- Site Access (user <-> site assignment) ---- */
.info-banner,
.warn-banner {
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 14px;
    border: 1px solid var(--line);
}
.info-banner { background: var(--primary-soft); color: var(--primary); border-color: #bfe0f0; }
.warn-banner { background: #fef3f2; color: var(--danger); border-color: #fecdca; }

.pick-list {
    max-height: 360px;
    overflow-y: auto;
    border: 1px solid var(--line);
    border-radius: 10px;
    margin-top: 12px;
}
.pick-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-bottom: 1px solid var(--line);
    cursor: pointer;
    font-size: 14px;
}
.pick-row:last-child { border-bottom: none; }
.pick-row:hover { background: var(--bg); }
.pick-main { color: var(--text); font-weight: 500; }
.pick-sub { color: var(--muted); font-size: 12px; }

.form-actions {
    display: flex;
    justify-content: flex-end;
    margin: 16px 0 24px;
}

.assignment-list { display: flex; flex-direction: column; gap: 14px; padding: 4px 0; }
.assignment-user { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
.assignment-user-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.assignment-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.assignment-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--primary-soft);
    color: var(--primary);
    border: 1px solid #bfe0f0;
    border-radius: 999px;
    padding: 3px 6px 3px 12px;
    font-size: 13px;
}
.chip-remove-form { display: inline; margin: 0; }
.assignment-chip button {
    border: none;
    background: transparent;
    color: var(--primary);
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    padding: 0 4px;
    border-radius: 999px;
}
.assignment-chip button:hover { background: rgba(15, 92, 140, 0.15); color: var(--danger); }

/* ---- Server-side table: fit to width (no horizontal scroll), sortable headers, pager ---- */
/* Tables fill the available width and wrap long content instead of scrolling sideways. */
.table-scroll { width: 100%; overflow-x: hidden; }
.table-scroll table { width: 100%; table-layout: auto; }
.table-scroll th,
.table-scroll td { white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.table-scroll .mono-cell { word-break: break-all; }

th.sort-th { cursor: pointer; user-select: none; white-space: nowrap; }
th.sort-th:hover { color: var(--primary); }
.sort-ind { display: inline-block; width: 1em; color: var(--primary); font-size: 11px; }

.table-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--line);
    flex-wrap: wrap;
}
.pager-info { color: var(--muted); font-size: 13px; }
.pager-controls { display: flex; align-items: center; gap: 8px; }
.pager-current { color: var(--muted); font-size: 13px; min-width: 92px; text-align: center; }
.pager-btn {
    border: 1px solid var(--line);
    background: var(--panel);
    color: var(--text);
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 13px;
    cursor: pointer;
}
.pager-btn:hover:not(:disabled) { border-color: var(--primary); color: var(--primary); }
.pager-btn:disabled { opacity: 0.45; cursor: default; }

/* Audit log error cell: keep the column compact; clamp to 2 lines, full text via title tooltip. */
.log-error {
    max-width: 200px;
    overflow-wrap: anywhere;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    cursor: help;
}

/* Multi-line hover tooltip for Job Logs "Sent"/"Skipped" cells (native title newlines are unreliable). */
.table-scroll.tip-host { overflow: visible; }
.cell-tip { position: relative; cursor: help; border-bottom: 1px dotted var(--primary); }
.cell-tip-pop {
    position: absolute; left: 0; top: calc(100% + 6px); z-index: 60;
    display: none; min-width: 220px; max-width: 360px; max-height: 260px; overflow-y: auto;
    background: #0b1728; color: #e8eef7; border: 1px solid rgba(255,255,255,0.14);
    border-radius: 8px; padding: 10px 12px; box-shadow: 0 10px 28px rgba(0,0,0,0.4);
    font-size: 12px; line-height: 1.5; white-space: normal; text-align: left; font-weight: 400;
}
.cell-tip-pop strong { display: block; margin-bottom: 6px; color: #9db4d6; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.cell-tip-pop span { display: block; overflow-wrap: anywhere; padding: 1px 0; }
.cell-tip:hover .cell-tip-pop,
.cell-tip:focus .cell-tip-pop,
.cell-tip:focus-within .cell-tip-pop { display: block; }

/* Two-line email cells: domain drops below the local part, muted. */
.email-domain { color: var(--muted, #64748b); }

/* Trusted Devices: clickable 30-day audit count with a status-breakdown popover (native <details>). */
.audit-details { position: relative; display: inline-block; }
.audit-details > summary {
    list-style: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    min-width: 26px; height: 22px; padding: 0 8px; border-radius: 999px;
    background: rgba(37,99,235,0.12); color: var(--primary); font-weight: 600; font-size: 12px;
    border: 1px solid rgba(37,99,235,0.25); user-select: none;
}
.audit-details > summary::-webkit-details-marker { display: none; }
.audit-details > summary:hover { background: rgba(37,99,235,0.2); }
.audit-zero { color: var(--muted, #94a3b8); font-size: 12px; }
.audit-pop {
    position: absolute; right: 0; left: auto; top: calc(100% + 6px); z-index: 60;
    /* Audit popup: ~30% wider than the original 230/320. */
    min-width: 300px; max-width: 416px; max-height: 280px; overflow-y: auto;
    background: #0b1728; color: #e8eef7; border: 1px solid rgba(255,255,255,0.14);
    border-radius: 8px; padding: 10px 12px; box-shadow: 0 10px 28px rgba(0,0,0,0.4); text-align: left;
}
/* Secrets popup: ~100% wider (secret names are long). */
.audit-pop.secrets-pop { min-width: 460px; max-width: 640px; }
.audit-col { min-width: 92px; }
.secrets-col { min-width: 96px; }
.agent-col { min-width: 96px; }
.audit-pop strong { display: block; margin-bottom: 8px; color: #9db4d6; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.audit-pop ul { list-style: none; margin: 0; padding: 0; }
.audit-pop li { display: flex; justify-content: space-between; gap: 16px; padding: 3px 0; font-size: 12px; line-height: 1.4; border-bottom: 1px solid rgba(255,255,255,0.06); }
.audit-pop li:last-child { border-bottom: none; }
.audit-pop-status { overflow-wrap: anywhere; }
.audit-pop-count { font-weight: 700; color: #fff; }
/* The popover is absolutely positioned; let it escape the flush card's overflow:hidden while open
   (rounded-corner clipping is preserved at rest). */
.admin-card:has(.audit-details[open]) { overflow: visible; }

/* Global loading overlay (server-side ops: page navigations + AJAX table loads). */
.app-loading-overlay { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; flex-direction: column; gap: 14px; background: rgba(11,23,40,0.45); backdrop-filter: blur(2px); }
.app-loading-overlay.show { display: flex; }
.app-loading-spinner { width: 46px; height: 46px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.35); border-top-color: #fff; animation: appspin .8s linear infinite; }
.app-loading-text { color: #fff; font-weight: 600; font-size: 14px; }
@keyframes appspin { to { transform: rotate(360deg); } }

/* ==========================================================
   ARC ACCESS EXACT DARK CONTROL CENTER THEME v3
   Target: tasarim.png visual parity
   ========================================================== */
:root{
  --bg:#060c16;
  --bg2:#08111f;
  --nav:#08131f;
  --panel:#0b1828;
  --panel2:#0d1d31;
  --panel3:#0f2035;
  --line:#20344d;
  --line2:#2a4262;
  --text:#f8fbff;
  --muted:#a7b4c7;
  --muted2:#718096;
  --blue:#2563eb;
  --blue2:#3b82f6;
  --green:#22c55e;
  --amber:#f59e0b;
  --red:#ef4444;
  --shadow:0 18px 44px rgba(0,0,0,.34);
}
html,body{min-height:100%;}
body{
  font-family:"Inter","Segoe UI",system-ui,sans-serif!important;
  background:radial-gradient(circle at 80% -10%,rgba(37,99,235,.16),transparent 34%),linear-gradient(180deg,#070e19 0%,#050a13 100%)!important;
  color:var(--text)!important;
  font-size:14px;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(56,104,168,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(56,104,168,.045) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 70%);z-index:-1;}
main{min-height:calc(100vh - 72px);background:transparent!important;}
a{color:#60a5fa;}
/* Top bar */
.topbar.security-topbar{height:72px!important;background:rgba(5,12,22,.96)!important;border-bottom:1px solid rgba(43,65,96,.75);padding:0 24px!important;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(16px);}
.topbar-product{min-width:360px;padding-left:0;}
.topbar-title{font-size:20px;font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.02em;}
.topbar-subtitle{font-size:12px;color:#8d99ac;margin-top:6px;}
.topbar-actions{display:flex;align-items:center;gap:18px;}
.topbar-search{height:40px;width:260px;border:1px solid var(--line);border-radius:8px;background:#091424;color:#8794a8;display:flex;align-items:center;gap:10px;padding:0 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.topbar-search svg{width:16px;height:16px;color:#8fa3bd}.topbar-search span{flex:1}.topbar-search kbd{font-size:12px;color:#cbd5e1;background:transparent;border:0}
.topbar-separator{width:1px;height:32px;background:#22354f;}
.topbar-icon-btn{position:relative;width:36px;height:36px;border:0;background:transparent;color:#cbd5e1;border-radius:999px;display:grid;place-items:center;cursor:pointer}.topbar-icon-btn svg{width:20px;height:20px}.topbar-icon-btn:hover{background:rgba(255,255,255,.06)}.notification-btn b{position:absolute;top:3px;right:2px;background:#ef4444;color:#fff;border-radius:999px;min-width:16px;height:16px;font-size:10px;display:grid;place-items:center;border:2px solid #07111f;}
.topbar-user{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:#fff!important}.topbar-user strong{display:block;font-size:13px;font-weight:700}.topbar-user em{display:block;font-size:12px;font-style:normal;color:#8d99ac;margin-top:2px}.topbar-user svg{width:14px;height:14px;color:#8d99ac}
.avatar-pill{width:42px;height:42px;border-radius:999px;border:1px solid #1d4ed8;background:#082044;color:#fff!important;display:grid;place-items:center;text-decoration:none!important;font-weight:800;position:relative}.avatar-pill span{position:absolute;right:2px;bottom:2px;width:8px;height:8px;border-radius:999px;background:#22c55e;border:2px solid #07111f;}
.brand-row,.userbox{display:none!important;}
/* App shell */
.admin-shell{display:grid!important;grid-template-columns:244px minmax(0,1fr)!important;min-height:calc(100vh - 72px)!important;background:transparent!important;}
.admin-content{padding:24px 28px 42px!important;overflow:auto;background:transparent!important;}
/* Sidebar */
.admin-nav.security-nav{position:relative;background:linear-gradient(180deg,#081521 0%,#07111d 100%)!important;border-right:1px solid #22354f!important;padding:0 14px 110px!important;overflow:auto;min-height:calc(100vh - 72px);}
.nav-product-lockup{height:72px;display:flex;align-items:center;gap:12px;margin:0 -14px 22px;padding:0 18px;border-bottom:1px solid #22354f;}
.nav-shield{width:34px;height:34px;color:#2563eb}.nav-shield svg{width:34px;height:34px;filter:drop-shadow(0 0 18px rgba(37,99,235,.45))}.nav-product-name{font-size:21px;font-weight:800;letter-spacing:.03em;color:#fff;}
.admin-nav-title{font-size:12px!important;font-weight:800!important;letter-spacing:.18em!important;text-transform:uppercase;color:#c7d2e3!important;margin:0 8px 16px!important;}
.admin-nav a{height:44px!important;display:flex!important;align-items:center!important;gap:13px!important;padding:0 14px!important;margin:6px 0!important;border-radius:8px!important;color:#d6deea!important;text-decoration:none!important;font-weight:600!important;font-size:14px!important;border:1px solid transparent!important;transition:all .16s ease;}
.admin-nav a svg{width:20px!important;height:20px!important;stroke-width:2!important;color:#d9e3f2!important;flex:0 0 auto;}
.admin-nav a:hover{background:rgba(255,255,255,.05)!important;border-color:rgba(96,165,250,.12)!important;}
.admin-nav a.active{background:linear-gradient(90deg,#1d4ed8,#2563eb)!important;color:#fff!important;border-color:#2f6cf4!important;box-shadow:0 10px 28px rgba(37,99,235,.28),inset 3px 0 0 #60a5fa!important;}
.admin-nav a.active svg{color:#fff!important;}
.nav-divider{height:1px;background:#1e3a5a;margin:18px 12px;}
.nav-system-status{position:absolute;left:14px;right:14px;bottom:18px;min-height:68px;border:1px solid #223953;border-radius:8px;background:rgba(8,22,38,.86);display:flex;align-items:center;gap:12px;padding:12px 14px;color:#cbd5e1;}
.nav-system-status svg{width:22px;height:22px;color:#22c55e;flex:none}.nav-system-status strong{display:block;font-size:12px;color:#fff;font-weight:700}.nav-system-status span{display:block;font-size:12px;color:#8c98aa;margin-top:4px}.nav-system-status b{width:6px;height:6px;border-radius:999px;background:#22c55e;margin-left:auto;}
/* Hero */
.admin-hero,.page-hero,.admin-page-header{border:1px solid #254163!important;border-radius:8px!important;background:radial-gradient(circle at 80% 50%,rgba(37,99,235,.22),transparent 32%),linear-gradient(135deg,#081525 0%,#0b1a2d 56%,#0d2b57 100%)!important;box-shadow:var(--shadow)!important;padding:32px!important;margin:0 0 14px!important;position:relative;overflow:hidden;}
.admin-hero::before,.page-hero::before,.admin-page-header::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(59,130,246,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.07) 1px,transparent 1px);background-size:64px 64px;opacity:.45;pointer-events:none;}
.admin-hero>*{position:relative;z-index:1}.admin-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:28px!important;}
.eyebrow{color:#3b82f6!important;font-size:12px!important;letter-spacing:.12em!important;font-weight:800!important;text-transform:uppercase!important;margin-bottom:12px;}
.admin-hero h1,.page-hero h1,.admin-page-header h1{font-size:36px!important;line-height:1.05!important;letter-spacing:-.045em!important;color:#fff!important;font-weight:800!important;margin:0 0 14px!important;}
.admin-hero p,.page-hero p,.admin-page-header p{color:#d7deea!important;font-size:15px!important;line-height:1.55!important;max-width:560px;margin:0!important;}
.hero-actions{position:relative;z-index:1}.hero-actions a,.primary-link,.secondary-link{height:44px!important;min-width:160px;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;border-radius:8px!important;text-decoration:none!important;font-weight:800!important;font-size:14px!important;box-shadow:none!important;}
.primary-link{background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;color:#fff!important;border:1px solid #2f6df7!important;box-shadow:0 12px 30px rgba(37,99,235,.22)!important}.secondary-link,.primary-link.secondary-dark{background:rgba(7,15,27,.72)!important;color:#f8fafc!important;border:1px solid #3a506c!important}.hero-actions svg{width:18px;height:18px;}
/* Cards */
.kpi-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:14px!important;margin:14px 0!important;}
.kpi-card,.admin-card,.form-card,.logs-card,.secret-panel,.audit-card,.empty-state,.validation-summary-card,.success-card{background:linear-gradient(180deg,rgba(15,31,52,.92),rgba(9,20,35,.96))!important;border:1px solid var(--line)!important;border-radius:8px!important;color:var(--text)!important;box-shadow:0 14px 32px rgba(0,0,0,.2)!important;}
.kpi-card{min-height:150px!important;padding:22px 20px!important;position:relative!important;display:grid!important;grid-template-columns:52px 1fr!important;grid-template-rows:auto auto auto!important;column-gap:16px!important;align-items:center!important;overflow:visible!important;}
.kpi-card::after{display:none!important}.kpi-icon{grid-row:1 / span 3;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.12);color:#dbeafe;align-self:start;}.kpi-icon svg{width:32px;height:32px}.kpi-card span{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:800!important;color:#dce5f2!important;margin:0!important;}.kpi-card strong{font-size:32px!important;line-height:1!important;color:#fff!important;letter-spacing:-.04em!important;font-weight:800!important;margin:8px 0 6px!important;}.kpi-card small{font-size:14px!important;line-height:1.35!important;color:#d8e0ed!important}.kpi-card small::before{content:"";display:inline-block;width:7px;height:7px;border-radius:999px;background:#2563eb;margin-right:8px}.kpi-card.blue small::before{background:#22c55e}.kpi-card.red{background:linear-gradient(180deg,rgba(55,22,33,.82),rgba(11,19,31,.96))!important;border-color:rgba(239,68,68,.46)!important}.kpi-card.red .kpi-icon{color:#ef4444;background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.22)}.kpi-card.red strong{color:#ff5b5b!important}.kpi-card.amber.status-hover-card{border-color:rgba(245,158,11,.42)!important}.kpi-card.amber.status-hover-card .kpi-icon{color:#f59e0b;background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.25)}
/* Section cards */
.admin-grid.two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin:14px 0!important;}.admin-card{padding:22px!important;}.card-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin:0 0 16px!important}.card-header h2{font-size:18px!important;line-height:1.1!important;color:#fff!important;margin:0!important;text-transform:uppercase!important;font-weight:800!important;letter-spacing:-.02em!important}.card-header a,.card-header span{font-size:14px;color:#93c5fd!important;}
.health-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.health-box{min-height:118px!important;border:1px solid #243d5c!important;border-radius:8px!important;background:rgba(8,19,33,.58)!important;padding:18px!important;color:#fff!important;position:relative!important;overflow:hidden!important}.health-box>svg{position:absolute;left:18px;top:22px;width:30px;height:30px;color:#dbe7f5}.health-box strong{display:block!important;font-size:30px!important;line-height:1!important;font-weight:800!important;letter-spacing:-.04em!important;margin-left:48px!important;margin-bottom:7px!important;color:#fff!important}.health-box span{display:block!important;font-size:13px!important;color:#fff!important;margin-left:48px!important;font-weight:600!important}.health-box small{display:block;text-align:center;color:#d0d8e5;font-size:12px;margin-top:10px}.health-progress{height:5px;border-radius:999px;background:#26384e;margin-top:16px;overflow:hidden}.health-progress b{display:block;height:100%;border-radius:999px;background:#2563eb}.health-box.ok{border-color:rgba(34,197,94,.38)!important;background:linear-gradient(180deg,rgba(10,67,55,.44),rgba(9,20,35,.82))!important}.health-box.ok>svg,.health-box.ok strong{color:#22c55e!important}.health-box.ok .health-progress b{background:#22c55e}.health-box.warn{border-color:rgba(245,158,11,.45)!important}.health-box.warn>svg,.health-box.warn strong{color:#f59e0b!important}.health-box.warn .health-progress b{background:#f59e0b}.health-box.bad{border-color:rgba(239,68,68,.45)!important}.health-box.bad>svg,.health-box.bad strong{color:#ef4444!important}.health-box.bad .health-progress b{background:#ef4444}.compact-health .health-box strong,.compact-health .health-box span{margin-left:48px!important;}
/* lists */
.top-list{display:flex!important;flex-direction:column!important;gap:9px!important}.top-row{display:grid!important;grid-template-columns:minmax(0,1fr) 260px 34px!important;gap:18px!important;align-items:center!important;color:#fff!important}.top-row span{display:flex!important;align-items:center!important;gap:9px!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#eef4ff!important}.top-row span svg{width:15px;height:15px;color:#d9e3f2;flex:none}.top-row b{font-weight:800;color:#fff;text-align:right}.mini-bar,.bar{height:6px!important;border-radius:999px!important;background:#1c2c40!important;overflow:hidden!important}.mini-bar i,.bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#3b82f6)!important}.empty-mini,.muted-text,.small{color:#9aa8ba!important}.job-summary p,.job-summary small{color:#fff!important}.expiring-row{background:rgba(255,255,255,.04)!important;border:1px solid #243d5c!important;color:#fff!important}.activity-bars label,.activity-bars b{color:#e2e8f0!important}
.user-activity-block{display:flex;flex-direction:column;gap:9px;padding-bottom:11px;border-bottom:1px solid #1c2c40}
.user-activity-block:last-child{border-bottom:none;padding-bottom:0}
.user-activity-head{display:flex!important;grid-template-columns:none!important;justify-content:space-between!important;align-items:center!important}
.user-activity-head span{font-weight:800!important;color:#eef4ff!important}
.user-activity-head b{color:#fff!important}
.user-activity-secret span{padding-left:22px;font-weight:600!important;color:#9aa8ba!important}
.user-activity-secret span svg{color:#7f8ea3!important}
.doc-list{display:flex;flex-direction:column;gap:8px}
.doc-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #1c2c40;border-radius:10px;background:rgba(255,255,255,.03);color:#eef4ff!important;text-decoration:none}
a.doc-row:hover{border-color:#2563eb;background:rgba(37,99,235,.12)}
.doc-row svg{width:16px;height:16px;color:#9aa8ba;flex:none}
.doc-name{font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.doc-site,.doc-type,.doc-size{color:#9aa8ba!important;font-size:.85em;white-space:nowrap}
.doc-delete{margin-left:auto;margin-bottom:0}
.doc-upload-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.credential-pick-list{display:flex;flex-direction:column;gap:10px;margin:6px 0 4px}
.credential-pick-btn{justify-content:flex-start!important;text-align:left;width:100%}
.cred-count-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:rgba(37,99,235,.18);border:1px solid #2563eb;color:#bfd4ff!important;font-size:.72em;font-weight:700;vertical-align:middle}
/* Tables and all non-dashboard pages: remove white components */
.page-header{margin:24px 32px 18px!important}.page-header h1{color:#fff!important}.page-header p{color:#a7b4c7!important}.logs-toolbar,.admin-toolbar,.filters,.filter-row{background:transparent!important}.log-search,.search,input[type="text"],input[type="email"],input[type="number"],input[type="date"],input[type="password"],input[type="url"],textarea,select,.filter-select,.app-dialog-input{background:#071323!important;color:#f8fafc!important;border:1px solid #263e5d!important;border-radius:8px!important;min-height:44px!important;box-shadow:none!important}input::placeholder,textarea::placeholder{color:#6e7d92!important}select option{background:#071323!important;color:#fff!important}.log-search:focus,.search:focus,input:focus,textarea:focus,select:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(37,99,235,.18)!important}.logs-table,.admin-table{background:transparent!important;color:#e6edf7!important;border-collapse:collapse!important}.logs-table thead,.admin-table thead{background:#071323!important}.logs-table th,.admin-table th{background:#071323!important;color:#cfd8e7!important;border-bottom:1px solid #263e5d!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:12px!important}.logs-table td,.admin-table td{background:#0b1828!important;color:#e7edf7!important;border-bottom:1px solid #1e3048!important}.logs-table tbody tr:hover td,.admin-table tbody tr:hover td{background:#10233a!important}.admin-card.flush{padding:0!important;overflow:hidden}.secret-item{background:#0b1828!important;border-color:#20344d!important;color:#fff!important}.secret-item:hover,.secret-item.active{background:#10233a!important;border-color:#3b82f6!important}.secret-title{color:#fff!important}.secret-meta{color:#8d99ac!important}.error{background:rgba(239,68,68,.1)!important;border-color:rgba(239,68,68,.35)!important;color:#fecaca!important}.success-card{border-color:rgba(34,197,94,.35)!important;color:#bbf7d0!important}.status-pill.success,.arc-status-badge.compliant,.job-status-badge.job-success{background:#dff3ff!important;color:#075985!important}.status-pill.failed,.arc-status-badge.action-required{background:#fee2e2!important;color:#991b1b!important}.arc-status-badge.review-required{background:#ffedd5!important;color:#9a3412!important}.primary-button,button.primary-button,.btn-primary{background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;color:#fff!important;border:1px solid #2f6df7!important;border-radius:8px!important}.secondary-button,button.secondary-button,.btn-secondary{background:#071323!important;color:#f8fafc!important;border:1px solid #334966!important;border-radius:8px!important}.modal-content,.modal-panel,.app-dialog-panel{background:#0b1828!important;color:#fff!important;border:1px solid #263e5d!important}.modal-header,.app-dialog-header{border-color:#263e5d!important}.modal-grid label,.form-grid label,label{color:#cdd6e5!important}.readonly-modal-grid input:disabled,input:disabled,select:disabled,textarea:disabled{background:#091424!important;color:#9ca9bc!important;border-color:#20344d!important;opacity:1!important}
/* Keep original top logo hidden everywhere */
.brand-logo{display:none!important;}
/* responsive */
@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)!important}.admin-grid.two-col{grid-template-columns:1fr!important}.topbar-search{display:none}.topbar-product{min-width:220px}.top-row{grid-template-columns:minmax(0,1fr) 160px 34px!important}}
@media (max-width:900px){.admin-shell{grid-template-columns:1fr!important}.admin-nav.security-nav{min-height:auto;position:relative;padding-bottom:18px!important}.nav-system-status{position:static;margin-top:22px}.admin-content{padding:18px!important}.admin-hero{flex-direction:column!important;align-items:stretch!important}.kpi-grid{grid-template-columns:1fr!important}.health-grid{grid-template-columns:1fr!important}.topbar-user span,.topbar-separator{display:none}.topbar-actions{gap:8px}.topbar.security-topbar{padding:0 14px!important}.admin-hero h1{font-size:28px!important}}

/* ==========================================================
   ARC ACCESS EXACT MATCH PATCH v4
   Fixes: brand in topbar, local icons, active nav style,
   dark list headers/components, exact tasarim.png behavior.
   ========================================================== */
.topbar.security-topbar{
  display:grid!important;
  grid-template-columns:244px minmax(0,1fr) auto!important;
  gap:24px!important;
  padding:0!important;
}
.topbar-brand{
  height:72px!important;
  padding:0 22px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-right:1px solid #22354f!important;
  font-size:21px!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
  white-space:nowrap!important;
}
.topbar-brand svg{width:34px!important;height:34px!important;color:#2563eb!important;filter:drop-shadow(0 0 18px rgba(37,99,235,.42));}
.topbar-product{min-width:0!important;padding-left:0!important;}
.topbar-actions{padding-right:24px!important;}

.admin-nav.security-nav{padding-top:28px!important;}
.nav-product-lockup{display:none!important;}

/* selected menu must be subtle like tasarim.png, not bright neon */
.admin-nav a.active{
  background:linear-gradient(90deg,#0d2a5f 0%,#123b8c 100%)!important;
  color:#fff!important;
  border-color:#1f5ad8!important;
  box-shadow:inset 3px 0 0 #2f7cff,0 8px 22px rgba(37,99,235,.16)!important;
}
.admin-nav a.active svg{color:#dbeafe!important;}
.admin-nav a:hover{background:rgba(37,99,235,.10)!important;border-color:rgba(96,165,250,.18)!important;}

/* make every SVG icon visible and sized consistently */
svg.lucide{width:1em;height:1em;display:inline-block;vertical-align:middle;flex:0 0 auto;}
.topbar-icon-btn svg{width:20px!important;height:20px!important;}
.hero-actions svg{width:18px!important;height:18px!important;}
.admin-nav a svg{width:20px!important;height:20px!important;}
.kpi-icon svg{width:32px!important;height:32px!important;}
.health-box>svg{width:30px!important;height:30px!important;}
.top-row span svg{width:15px!important;height:15px!important;}

/* dashboard: ensure KPI icons appear and circles are not empty */
.kpi-card .kpi-icon{opacity:1!important;visibility:visible!important;}
.kpi-card .kpi-icon svg{opacity:1!important;color:currentColor!important;}
.kpi-card.blue .kpi-icon{color:#dbeafe!important;}
.kpi-card.green .kpi-icon{color:#dbeafe!important;}
.kpi-card.amber .kpi-icon{color:#dbeafe!important;}
.kpi-card.purple .kpi-icon{color:#dbeafe!important;}

/* non-dashboard pages: remove remaining white hero/header surfaces */
.admin-list-header,
.admin-page-header,
.page-hero,
.page-header-panel,
.content-header,
.form-header,
.settings-header{
  border:1px solid #254163!important;
  border-radius:8px!important;
  background:radial-gradient(circle at 84% 45%,rgba(37,99,235,.22),transparent 32%),linear-gradient(135deg,#081525 0%,#0b1a2d 56%,#0d2b57 100%)!important;
  color:#fff!important;
  box-shadow:var(--shadow)!important;
  padding:32px!important;
  margin:0 0 24px!important;
  position:relative!important;
  overflow:hidden!important;
}
.admin-list-header::before,
.admin-page-header::before,
.page-hero::before,
.page-header-panel::before,
.content-header::before,
.form-header::before,
.settings-header::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(59,130,246,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.07) 1px,transparent 1px);
  background-size:64px 64px;
  opacity:.45;
  pointer-events:none;
}
.admin-list-header>*{position:relative;z-index:1;}
.admin-list-header h1,
.admin-page-header h1,
.page-hero h1,
.form-header h1,
.settings-header h1{color:#fff!important;font-size:36px!important;font-weight:800!important;letter-spacing:-.045em!important;margin:0 0 12px!important;}
.admin-list-header p,
.admin-page-header p,
.page-hero p,
.form-header p,
.settings-header p{color:#d7deea!important;max-width:760px!important;font-size:15px!important;line-height:1.55!important;}
.export-btn{height:44px!important;min-width:132px!important;background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;color:#fff!important;border:1px solid #2f6df7!important;border-radius:8px!important;font-weight:800!important;box-shadow:0 12px 30px rgba(37,99,235,.22)!important;}

/* more aggressive dark cleanup for pages that still show white components */
.admin-content,
.admin-shell,
.table-scroll,
.table-card,
.table-wrapper,
.table-container,
.pager,
.pagination,
.card,
.panel,
.form-section,
.form-panel,
.detail-card,
.edit-card,
.modal-body,
.dropdown-menu{
  background-color:transparent!important;
  color:#e7edf7!important;
}
.admin-card,
.form-card,
.logs-card,
.secret-panel,
.audit-card,
.table-card,
.table-wrapper,
.form-section,
.form-panel,
.detail-card,
.edit-card,
.panel,
.card{
  background:linear-gradient(180deg,rgba(15,31,52,.92),rgba(9,20,35,.96))!important;
  border:1px solid var(--line)!important;
  color:#e7edf7!important;
}
.table-scroll table,
table,
.admin-table,
.logs-table{background:#0b1828!important;color:#e7edf7!important;}
.table-scroll th,
table th,
.admin-table th,
.logs-table th{background:#071323!important;color:#cfd8e7!important;border-color:#263e5d!important;}
.table-scroll td,
table td,
.admin-table td,
.logs-table td{background:#0b1828!important;color:#e7edf7!important;border-color:#1e3048!important;}
.table-scroll tr:nth-child(even) td,
table tr:nth-child(even) td,
.admin-table tr:nth-child(even) td,
.logs-table tr:nth-child(even) td{background:#10213a!important;}
.table-scroll tr:hover td,
table tr:hover td,
.admin-table tr:hover td,
.logs-table tr:hover td{background:#132943!important;}

/* controls/selects must never render white */
input,select,textarea,.filter-select,.log-search,.search,.page-size-select,.form-control{
  background:#071323!important;
  color:#f8fafc!important;
  border-color:#263e5d!important;
}
select option{background:#071323!important;color:#fff!important;}

/* retain dark nav/footer system status like target */
.nav-system-status{background:rgba(8,22,38,.86)!important;border-color:#223953!important;}
.nav-system-status strong{color:#fff!important;}
.nav-system-status span{color:#8c98aa!important;}

@media (max-width:900px){
  .topbar.security-topbar{grid-template-columns:1fr auto!important;padding-left:0!important;}
  .topbar-brand{display:none!important;}
  .topbar-product{padding-left:16px!important;}
}

/* ==========================================================
   ARC ACCESS EXACT MATCH PATCH v5
   User requested fixes: tooltip, KPI alignment/progress, sidebar
   status location/text, topbar title/email, bell routing, dark forms.
   ========================================================== */

/* #1 Hover detail / tooltip must never render as a white card */
.status-hover-card .hover-detail,
.tooltip,
.popover,
.tippy-box,
[role="tooltip"]{
  background:linear-gradient(180deg,#0e1c30,#091424)!important;
  color:#e7edf7!important;
  border:1px solid #284565!important;
  border-radius:10px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.42)!important;
}
.status-hover-card .hover-detail{
  left:12px!important;
  right:12px!important;
  top:calc(100% + 8px)!important;
  z-index:20!important;
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
  padding:12px 14px!important;
}
.status-hover-card .hover-detail strong{color:#fff!important;letter-spacing:.02em!important;}
.status-hover-card .hover-detail span,
.status-hover-card .hover-detail li,
.status-hover-card .hover-detail ul{color:#cbd5e1!important;}

/* #2 KPI card descriptions must start from the card's left content edge, not cramped into the right column */
.kpi-card{
  grid-template-columns:56px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto auto!important;
  align-content:start!important;
  row-gap:0!important;
}
.kpi-card small{
  grid-column:1 / -1!important;
  display:block!important;
  margin-top:10px!important;
  padding-left:0!important;
  text-align:left!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
}
.kpi-card small::before{vertical-align:middle!important;}
.kpi-progress{
  grid-column:1 / -1!important;
  height:5px!important;
  border-radius:999px!important;
  background:#25364b!important;
  overflow:hidden!important;
  margin-top:16px!important;
  width:100%!important;
}
.kpi-progress b{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:#2563eb!important;
}
.kpi-progress.success b{background:#22c55e!important;}
.kpi-progress.warn b{background:#f59e0b!important;}
.kpi-progress.danger b{background:#ef4444!important;}

/* #3 Sidebar operational status belongs below Trusted Devices, not pinned to the hidden bottom */
.admin-nav.security-nav{
  padding-bottom:28px!important;
}
.nav-system-status{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin:18px 4px!important;
  min-height:58px!important;
  padding:10px 12px!important;
  border-radius:8px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.nav-system-status svg{width:22px!important;height:22px!important;}
.nav-system-status strong{font-size:12px!important;line-height:1.25!important;}
.nav-system-status span{font-size:11px!important;line-height:1.3!important;}
.nav-system-status b{display:none!important;}

/* #4 dashboard topbar title uses Secure Access Portal from Razor; keep exact typography */
.topbar-title{font-size:20px!important;font-weight:800!important;color:#fff!important;}

/* #5 user email under company; prevent long email from breaking layout */
.topbar-user span{max-width:260px!important;min-width:0!important;}
.topbar-user em{
  max-width:240px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* #13 notification bell is a simple audit-log shortcut; no badge/counter */
.notification-btn b{display:none!important;}
.notification-btn{text-decoration:none!important;}

/* #10-#12: global dark fix for white checkbox/toggle/boolean rows across Settings and Agent Settings */
.checkbox-label,
.form-grid .checkbox-label,
label.checkbox-label,
.inline-action-panel,
.boolean-field,
.toggle-field,
.switch-field,
.setting-row,
.settings-row,
.check-row,
.option-card,
.form-check,
.form-switch{
  background:rgba(8,19,33,.72)!important;
  border:1px solid #263e5d!important;
  color:#d8e2ef!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.checkbox-label,
.form-grid .checkbox-label,
label.checkbox-label{
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px 16px!important;
  font-weight:700!important;
}
.checkbox-label input[type="checkbox"],
.form-check input[type="checkbox"],
.form-switch input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  accent-color:#2563eb!important;
  flex:none!important;
}
.checkbox-label:hover,
.form-grid .checkbox-label:hover,
.inline-action-panel:hover{
  background:rgba(15,31,52,.86)!important;
  border-color:#315379!important;
}
.inline-action-panel{
  padding:18px!important;
}
.inline-action-panel strong{color:#f8fbff!important;}
.inline-action-panel p,.inline-action-panel .muted-text{color:#9facbf!important;}

/* ensure disabled/readonly text on dark form components is still readable */
.checkbox-label:has(input:disabled),
.form-check:has(input:disabled),
.form-switch:has(input:disabled){
  opacity:.72!important;
}

/* remove residual white surfaces in every form/card section */
.form-card *,
.admin-card *,
.inline-action-panel *,
.checkbox-label *{
  border-color:inherit;
}
.form-card .muted-text,
.form-card small{color:#8f9caf!important;}

/* Keep selected menu subtle, matching tasarim.png more closely */
.admin-nav a.active{
  background:linear-gradient(90deg,#0b2a62 0%,#123b8c 100%)!important;
  border-color:#235bd5!important;
  box-shadow:inset 3px 0 0 #2f7cff,0 8px 20px rgba(37,99,235,.14)!important;
}

/* ==========================================================
   ARC ACCESS EXACT MATCH PATCH v6
   Notes batch: compact premium tooltips, user area, no search,
   user manual, site/modal white-surface cleanup, buttons, dialog.
   ========================================================== */

/* Topbar: remove search, simplify user profile, sign out as single icon */
.topbar-actions{gap:18px!important;}
.topbar-search{display:none!important;}
.compact-user{cursor:default!important;text-decoration:none!important;padding:0!important;background:transparent!important;border:none!important;}
.compact-user:hover{background:transparent!important;border:none!important;}
.compact-user strong{display:block!important;color:#fff!important;font-weight:800!important;line-height:1.15!important;}
.compact-user em{display:flex!important;align-items:center!important;gap:7px!important;color:#9aa6ba!important;font-style:normal!important;font-size:13px!important;}
.online-dot{display:inline-block!important;width:8px!important;height:8px!important;min-width:8px!important;border-radius:999px!important;background:#22c55e!important;box-shadow:0 0 0 2px rgba(34,197,94,.14),0 0 10px rgba(34,197,94,.45)!important;}
.avatar-pill{display:none!important;}
.signout-btn svg{width:20px!important;height:20px!important;}
.signout-btn:hover{color:#fff!important;border-color:#ef4444!important;background:rgba(239,68,68,.10)!important;}
.topbar-icon-btn{color:#cbd5e1!important;}
.topbar-icon-btn:hover{color:#fff!important;background:rgba(37,99,235,.10)!important;border-color:#315379!important;}

/* Sidebar: operational status must be footer after Job Logs */
.admin-nav.security-nav{display:flex!important;flex-direction:column!important;min-height:calc(100vh - 72px)!important;}
.nav-footer-status{margin-top:22px!important;margin-bottom:10px!important;order:999!important;}
.nav-footer-status + *{order:1000!important;}
.admin-nav a[href*="UserManual"]{margin-top:0!important;}

/* Premium compact status popovers. No giant callout cards. */
.status-hover-card{overflow:visible!important;}
.status-hover-card .hover-detail{
  left:auto!important;
  right:10px!important;
  top:calc(100% + 10px)!important;
  width:260px!important;
  min-width:0!important;
  max-width:260px!important;
  padding:14px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(15,31,52,.98),rgba(7,16,30,.98))!important;
  border:1px solid rgba(96,165,250,.36)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 0 1px rgba(37,99,235,.08)!important;
  color:#dbe7f6!important;
  backdrop-filter:blur(12px)!important;
}
.status-hover-card .hover-detail::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(circle at top right,rgba(37,99,235,.14),transparent 45%);
}
.status-hover-card .hover-detail strong{
  position:relative;display:flex!important;align-items:center!important;gap:8px!important;
  margin:0 0 8px!important;color:#fff!important;font-size:13px!important;font-weight:900!important;
  letter-spacing:.04em!important;text-transform:uppercase!important;
}
.status-hover-card.red .hover-detail{border-color:rgba(239,68,68,.42)!important;}
.status-hover-card.red .hover-detail::before{background:radial-gradient(circle at top right,rgba(239,68,68,.15),transparent 45%);}
.status-hover-card.amber .hover-detail{border-color:rgba(245,158,11,.42)!important;}
.status-hover-card.amber .hover-detail::before{background:radial-gradient(circle at top right,rgba(245,158,11,.14),transparent 45%);}
.status-hover-card .hover-detail ul{position:relative;margin:0!important;padding:0!important;list-style:none!important;display:grid!important;gap:8px!important;}
.status-hover-card .hover-detail li{position:relative;color:#cbd5e1!important;font-size:12px!important;line-height:1.45!important;padding-left:16px!important;}
.status-hover-card .hover-detail li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:999px;background:#3b82f6;}
.status-hover-card.red .hover-detail li::before{background:#ef4444;}
.status-hover-card.amber .hover-detail li::before{background:#f59e0b;}
.status-hover-card.amber .hover-detail ul:empty::after,
.status-hover-card.amber .hover-detail:not(:has(li))::after{
  content:"No credentials currently require review.";position:relative;color:#cbd5e1;font-size:12px;line-height:1.45;
}

/* KPI descriptions and progress bars: left aligned, full width */
.kpi-card small{justify-self:stretch!important;align-self:start!important;line-height:1.35!important;}
.kpi-card small br{display:none!important;}
.kpi-card .kpi-progress{align-self:end!important;}

/* Site detail: zero white surfaces */
.admin-tabs,.tab-strip.admin-tabs,.tab-strip,
.policy-note,.empty-state-card,
.credential-card,.credential-meta-grid>div,
.expiring-row,.empty-mini,.modal-help,
.dynamic-table-wrap,.validation-summary-card{
  background:linear-gradient(180deg,rgba(15,31,52,.95),rgba(8,18,34,.96))!important;
  border:1px solid #284567!important;
  color:#dbe7f6!important;
  box-shadow:none!important;
}
.admin-tabs a,.tab-strip a{color:#aebbd0!important;background:transparent!important;}
.admin-tabs a.active,.tab-strip a.active{
  background:linear-gradient(180deg,rgba(37,99,235,.28),rgba(29,78,216,.22))!important;
  color:#fff!important;border:1px solid rgba(96,165,250,.35)!important;
}
.policy-note a{color:#60a5fa!important;}
.empty-state-card{border-style:dashed!important;color:#aebbd0!important;}
.credential-card strong,.credential-card h3,.credential-card h4,.expiring-row strong{color:#fff!important;}
.credential-card span,.credential-card small,.credential-meta-grid span,.expiring-row span{color:#9facbf!important;}
.credential-meta-grid>div{border-radius:12px!important;padding:10px 12px!important;}

/* Buttons: all pages align to enterprise dark theme */
.primary-button,.btn-primary,.action-button,.export-btn,button.primary-button,a.primary-button{
  background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;
  border:1px solid rgba(96,165,250,.42)!important;
  color:#fff!important;border-radius:10px!important;font-weight:900!important;
  box-shadow:0 10px 26px rgba(37,99,235,.20)!important;
}
.secondary-button,.btn-secondary,button.secondary-button,a.secondary-button,
.table-actions a,.table-actions button{
  background:rgba(8,19,33,.92)!important;
  border:1px solid #284567!important;
  color:#e5edf7!important;border-radius:10px!important;font-weight:900!important;
  text-decoration:none!important;
}
.secondary-button:hover,.table-actions a:hover,.table-actions button:hover{background:rgba(37,99,235,.16)!important;border-color:#3b6da2!important;color:#fff!important;}
.danger-button,.btn-danger,.tiny-danger,button.danger-button,a.danger-button,
.danger-button.outline{
  background:rgba(239,68,68,.12)!important;
  border:1px solid rgba(239,68,68,.42)!important;
  color:#ff8b8b!important;border-radius:10px!important;font-weight:900!important;
}
.danger-button:hover,.tiny-danger:hover{background:rgba(239,68,68,.20)!important;color:#fff!important;}
.tiny-button{background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;border:1px solid rgba(96,165,250,.36)!important;color:#fff!important;border-radius:9px!important;}

/* Form and modal secret fields: dark reveal cards on Edit/View VPN/Server */
.modal-backdrop{background:rgba(1,8,18,.72)!important;backdrop-filter:blur(6px)!important;}
.modal-panel,.modal-wide{
  background:linear-gradient(180deg,rgba(13,28,50,.98),rgba(8,18,34,.98))!important;
  border:1px solid rgba(96,165,250,.34)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.62),0 0 0 1px rgba(37,99,235,.08)!important;
  color:#e7edf7!important;
}
.modal-header h2,.modal-grid label{color:#e7edf7!important;}
.modal-close{
  background:rgba(226,232,240,.10)!important;color:#e5edf7!important;border:1px solid rgba(226,232,240,.16)!important;
}
.modal-close:hover{background:rgba(239,68,68,.14)!important;border-color:rgba(239,68,68,.38)!important;color:#fff!important;}
.secret-edit-field,
.secret-edit-field.action-required,
.secret-edit-field.review-required{
  background:linear-gradient(180deg,rgba(10,22,39,.96),rgba(6,14,26,.96))!important;
  border:1px solid rgba(52,88,130,.58)!important;
  border-radius:14px!important;color:#e7edf7!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}
.secret-edit-field.action-required{border-color:rgba(239,68,68,.50)!important;background:linear-gradient(180deg,rgba(44,16,25,.82),rgba(9,18,32,.96))!important;}
.secret-edit-field > label{color:#dce7f5!important;}
.secret-reveal-row{
  background:rgba(15,31,52,.92)!important;
  border:1px solid rgba(52,88,130,.46)!important;
  color:#dbe7f6!important;
}
.secret-mask{color:#e7edf7!important;}
.secret-empty .secret-mask{color:#91a0b6!important;}
.secret-edit-field input,.secret-edit-field textarea{background:#071323!important;color:#f8fafc!important;border:1px solid #263e5d!important;}
.expired-block-message,.modal-validation,.error,.validation-summary-card{
  background:rgba(239,68,68,.10)!important;
  border:1px solid rgba(239,68,68,.36)!important;
  color:#ff9b9b!important;
}

/* Confirmation dialog readability + premium modal effect */
.app-dialog-backdrop.show{background:rgba(1,8,18,.72)!important;backdrop-filter:blur(8px)!important;}
.app-dialog-panel{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(13,28,50,.98),rgba(8,18,34,.98))!important;
  border:1px solid rgba(96,165,250,.38)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.62),0 0 0 1px rgba(37,99,235,.10)!important;
  color:#e7edf7!important;
}
.app-dialog-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top right,rgba(37,99,235,.18),transparent 38%);}
.app-dialog-header,.app-dialog-body,.app-dialog-actions{position:relative;}
.app-dialog-header h2{color:#fff!important;}
.app-dialog-body p{color:#cbd5e1!important;line-height:1.55!important;}
.app-dialog-input{background:#071323!important;color:#fff!important;border:1px solid #284567!important;}

/* User manual page */
.user-manual-page{display:grid;gap:18px;}
.manual-hero{align-items:center!important;}
.manual-hero-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #284567;border-radius:12px;background:rgba(8,19,33,.86);color:#dbe7f6;font-weight:900;}
.manual-hero-badge svg{width:22px;height:22px;color:#22c55e;}
.manual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.manual-card,.manual-section{
  background:linear-gradient(180deg,rgba(15,31,52,.95),rgba(8,18,34,.96));
  border:1px solid #284567;border-radius:16px;padding:18px;color:#dbe7f6;
}
.manual-card svg{width:28px;height:28px;color:#60a5fa;margin-bottom:10px;}
.manual-card h2,.manual-section h2{margin:0 0 8px;color:#fff;}
.manual-card p{margin:0;color:#9facbf;line-height:1.55;}
.manual-list{display:grid;gap:10px;}
.manual-list div{padding:12px 14px;border:1px solid rgba(52,88,130,.58);border-radius:12px;background:rgba(8,19,33,.70);}
.manual-list strong{display:block;color:#fff;margin-bottom:4px;}
.manual-list span{display:block;color:#9facbf;line-height:1.45;}
.admin-only-manual{border-color:rgba(37,99,235,.46);}
.danger-guidance{border-color:rgba(239,68,68,.32);}
@media(max-width:1100px){.manual-grid{grid-template-columns:1fr;}}

/* Dashboard (#13): right-hand stack next to User Activity — cards keep natural height */
.dash-side-stack{display:grid;gap:14px;align-content:start;min-width:0;}

/* What's New / Version History page (#14) — reuses the manual card styles */
.whatsnew-date{margin-left:10px;font-size:.66em;font-weight:700;color:#8d99ac;letter-spacing:.04em;}
.manual-list span.wn-badge{display:inline-block;padding:2px 10px;margin-right:6px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#dbe7f6;border:1px solid #284567;background:rgba(8,19,33,.7);}
.manual-list span.wn-badge.new{background:rgba(34,197,94,.16);border-color:rgba(34,197,94,.5);color:#bbf7d0;}
.manual-list span.wn-badge.improved{background:rgba(37,99,235,.18);border-color:rgba(59,130,246,.55);color:#bfd4ff;}
.manual-list span.wn-badge.fixed{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.5);color:#fde68a;}
.manual-list span.wn-badge.admin{background:rgba(148,163,184,.14);border-color:rgba(148,163,184,.4);color:#cbd5e1;}

/* final no-white guardrails for common remnants */
[style*="background: white"],[style*="background:#fff"],[style*="background: #fff"],
[style*="background-color: white"],[style*="background-color:#fff"],[style*="background-color: #fff"]{
  background:linear-gradient(180deg,rgba(15,31,52,.95),rgba(8,18,34,.96))!important;
  color:#e7edf7!important;
}

/* ==========================================================
   ARC ACCESS EXACT MATCH PATCH v7
   Pixel QA pass from user screenshots: KPI baselines, no-white
   surface cleanup, nav footer, popovers, inventory buttons.
   ========================================================== */

/* #14 Premium in-card KPI popovers: compact, dark, does not cover lower cards */
.status-hover-card{overflow:hidden!important;}
.status-hover-card .hover-detail{
  left:12px!important;
  right:12px!important;
  top:auto!important;
  bottom:12px!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  max-height:calc(100% - 24px)!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,rgba(12,27,48,.98),rgba(6,15,28,.98))!important;
  border:1px solid rgba(96,165,250,.32)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.04)!important;
  backdrop-filter:blur(12px)!important;
  overflow:auto!important;
}
.status-hover-card.red .hover-detail{border-color:rgba(239,68,68,.44)!important;}
.status-hover-card.amber .hover-detail{border-color:rgba(245,158,11,.42)!important;}
.status-hover-card .hover-detail strong{
  font-size:12px!important;
  line-height:1.1!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  margin-bottom:8px!important;
}
.status-hover-card .hover-detail span,
.status-hover-card .hover-detail li{
  font-size:12px!important;
  line-height:1.35!important;
  color:#cbd5e1!important;
}
.status-hover-card .hover-detail ul{gap:6px!important;}

/* #24 Secret Health labels must all be exactly two lines and visually balanced */
.compact-health .health-box span{
  min-height:34px!important;
  line-height:1.18!important;
  white-space:normal!important;
}
.compact-health .health-box{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.compact-health .health-box>svg{top:22px!important;}

/* #25 KPI card baseline alignment: fixed vertical tracks for icon/title/value/copy/progress */
.kpi-card{
  min-height:172px!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  grid-template-rows:44px 42px 38px 1fr 12px!important;
  align-items:start!important;
  row-gap:0!important;
  padding:20px 18px 22px!important;
}
.kpi-card .kpi-icon{grid-column:1!important;grid-row:1 / span 2!important;align-self:start!important;}
.kpi-card>span:not(.status-icon){grid-column:2!important;grid-row:1!important;align-self:center!important;line-height:1.12!important;min-height:28px!important;}
.kpi-card>strong{grid-column:2!important;grid-row:2!important;align-self:start!important;margin:0!important;line-height:1!important;}
.kpi-card>small{grid-column:1 / -1!important;grid-row:3 / span 2!important;align-self:start!important;margin:8px 0 0!important;line-height:1.35!important;min-height:38px!important;}
.kpi-card>.kpi-progress{grid-column:1 / -1!important;grid-row:5!important;align-self:end!important;margin:0!important;width:100%!important;height:6px!important;}
.kpi-card small br{display:none!important;}

/* #26 Sidebar divider spacing should be compact, especially before User Manual and footer status */
.nav-divider,
.nav-divider.compact{
  height:1px!important;
  margin:8px 12px!important;
  background:rgba(59,130,246,.24)!important;
  opacity:.75!important;
}
.admin-nav.security-nav{display:flex!important;flex-direction:column!important;padding-bottom:18px!important;}
.nav-footer-status{margin:8px 4px 0!important;}
.nav-footer-status span{line-height:1.35!important;}

/* #27 Expiring Credentials should span Last Health Check + Access Activity height */
.expiring-credentials-card{grid-row:span 2!important;min-height:100%!important;}
.expiring-credentials-card .expiring-list{height:calc(100% - 48px);display:grid!important;align-content:start!important;gap:12px!important;}
.expiring-credentials-card .expiring-row{min-height:72px!important;}

/* #28 Site > Servers and VPN metadata boxes: no light surfaces */
.credential-meta-grid span,
.credential-meta-grid > span,
.credential-meta-grid > div,
.credential-card .meta-card,
.credential-card .info-card{
  background:linear-gradient(180deg,rgba(11,25,43,.95),rgba(7,17,31,.96))!important;
  border:1px solid rgba(52,88,130,.56)!important;
  color:#e7edf7!important;
  border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.credential-meta-grid strong,
.credential-card .meta-card strong,
.credential-card .info-card strong{color:#8fb1d9!important;letter-spacing:.10em!important;text-transform:uppercase!important;}
.credential-meta-grid span:not(strong){color:#dbe7f6!important;}

/* #29/#30 Connect is primary action in every inventory/grid row, but with controlled glow */
button.primary-button,
a.primary-button,
.primary-button,
button[onclick*="connect"],
button[onclick*="Connect"]{
  background:linear-gradient(180deg,#2f6df6,#1d4ed8)!important;
  border:1px solid rgba(96,165,250,.44)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
button.primary-button:hover,
a.primary-button:hover,
.primary-button:hover,
button[onclick*="connect"]:hover,
button[onclick*="Connect"]:hover{
  background:linear-gradient(180deg,#3b82f6,#2563eb)!important;
  box-shadow:0 10px 24px rgba(37,99,235,.24)!important;
}

/* #17/#19/#20 aggressive no-white cleanup for site detail, edit/view VPN/server modals */
.secret-edit-field,
.secret-edit-field.action-required,
.secret-edit-field.review-required,
.secret-reveal-row,
.secret-saved-value,
.secret-value-row,
.reveal-card,
.reveal-box,
.credential-reveal-card,
.credential-secret-card,
.modal-panel .credential-card,
.modal-panel .credential-meta-grid span,
.modal-panel .credential-meta-grid > div,
.vpn-modal .secret-edit-field,
.server-modal .secret-edit-field{
  background:linear-gradient(180deg,rgba(10,22,39,.96),rgba(6,14,26,.98))!important;
  border:1px solid rgba(52,88,130,.58)!important;
  color:#e7edf7!important;
  border-radius:14px!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}
.secret-edit-field.action-required,
.secret-edit-field.review-required{
  background:linear-gradient(180deg,rgba(44,16,25,.82),rgba(9,18,32,.96))!important;
  border-color:rgba(239,68,68,.50)!important;
}
.secret-edit-field label,
.secret-edit-field > label,
.secret-edit-field strong{color:#dce7f5!important;}
.secret-reveal-row,
.secret-edit-field .secret-reveal-row,
.secret-edit-field .secret-mask,
.secret-edit-field .secret-empty{
  background:rgba(15,31,52,.92)!important;
  color:#dbe7f6!important;
}
.secret-edit-field input,
.secret-edit-field textarea{background:#071323!important;color:#f8fafc!important;border:1px solid #263e5d!important;}
.expired-block-message,
.secret-edit-field .expired-block-message{
  background:rgba(239,68,68,.11)!important;
  border:1px solid rgba(239,68,68,.36)!important;
  color:#ff9b9b!important;
}

/* #21 Confirmation popups: readable, separated from dark background, danger accent */
.app-dialog-panel{
  background:radial-gradient(circle at 88% 0%,rgba(37,99,235,.18),transparent 34%),linear-gradient(180deg,rgba(13,28,50,.99),rgba(7,16,30,.99))!important;
  border:1px solid rgba(96,165,250,.40)!important;
  box-shadow:0 30px 110px rgba(0,0,0,.70),0 0 0 1px rgba(37,99,235,.12),0 0 45px rgba(37,99,235,.10)!important;
}
.app-dialog-body p{color:#d7e1ef!important;font-size:16px!important;line-height:1.55!important;}
.app-dialog-header h2{color:#fff!important;}
.app-dialog-backdrop.show{background:rgba(1,8,18,.76)!important;backdrop-filter:blur(8px)!important;}

/* #10/#17 Site page tabs and empty/info boxes must not be white */
.admin-tabs,
.tab-strip,
.policy-note,
.empty-state-card,
.empty-mini,
.readonly-banner,
.validation-summary-card{
  background:linear-gradient(180deg,rgba(15,31,52,.95),rgba(8,18,34,.96))!important;
  border:1px solid #284567!important;
  color:#dbe7f6!important;
}
.admin-tabs a.active,
.tab-strip a.active{background:rgba(37,99,235,.20)!important;color:#fff!important;border-color:rgba(96,165,250,.35)!important;}
.admin-tabs a,
.tab-strip a{color:#cbd5e1!important;}
.policy-note a{color:#60a5fa!important;}

/* #31 Sidebar status content uses real Health Check timestamp; make it compact and readable */
.nav-system-status strong{font-size:12px!important;line-height:1.20!important;}
.nav-system-status span{font-size:11px!important;line-height:1.30!important;color:#93a4ba!important;}

/* final guardrails: any remaining light panels/buttons in dark UI */
.admin-content [class*="white"],
.admin-content [class*="light"],
.modal-panel [class*="white"],
.modal-panel [class*="light"]{
  background:linear-gradient(180deg,rgba(15,31,52,.95),rgba(8,18,34,.96))!important;
  color:#e7edf7!important;
  border-color:#284567!important;
}

/* ==========================================================
   ARC ACCESS EXACT MATCH PATCH v8
   Pixel QA: health baseline alignment, inventory simplification,
   table actions, site/server detail dark metadata.
   ========================================================== */

/* Credential Health: force identical vertical tracks so progress bars align */
.health-grid:not(.compact-health) .health-box{
  display:grid!important;
  grid-template-columns:48px 1fr!important;
  grid-template-rows:42px 42px 26px 22px!important;
  align-items:start!important;
  min-height:150px!important;
}
.health-grid:not(.compact-health) .health-box>svg{
  position:static!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  align-self:start!important;
  width:34px!important;
  height:34px!important;
  margin-top:3px!important;
}
.health-grid:not(.compact-health) .health-box>strong{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  align-self:start!important;
}
.health-grid:not(.compact-health) .health-box>span{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  line-height:1.12!important;
  align-self:start!important;
  min-height:34px!important;
}
.health-grid:not(.compact-health) .health-box>.health-progress{
  grid-column:1 / -1!important;
  grid-row:3!important;
  margin:0!important;
  align-self:end!important;
  width:100%!important;
}
.health-grid:not(.compact-health) .health-box>small{
  grid-column:1 / -1!important;
  grid-row:4!important;
  margin:8px 0 0!important;
  text-align:center!important;
}

/* Secret Health: keep labels exactly two lines and progress positions stable */
.compact-health .health-box{
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  grid-template-rows:38px 40px 24px 20px!important;
  align-items:start!important;
}
.compact-health .health-box>svg{position:static!important;grid-column:1!important;grid-row:1 / span 2!important;margin-top:3px!important;}
.compact-health .health-box>strong{grid-column:2!important;grid-row:1!important;margin:0!important;align-self:start!important;}
.compact-health .health-box>span{grid-column:2!important;grid-row:2!important;margin:0!important;line-height:1.12!important;min-height:34px!important;}
.compact-health .health-box>.health-progress{grid-column:1 / -1!important;grid-row:3!important;margin:0!important;align-self:end!important;}
.compact-health .health-box>small{grid-column:1 / -1!important;grid-row:4!important;margin:8px 0 0!important;text-align:center!important;}

/* Inventory tables: give compressed columns more room and make actions look intentional */
.inventory-table th:last-child,
.admin-table th:last-child{ text-align:center!important; }

.table-actions{
  display:table-cell!important;
  vertical-align:middle!important;
  text-align:center!important;
  min-width:118px!important;
}

.table-actions > a,
.table-actions > button{
  display:inline-flex!important;
  width:96px!important;
  height:36px!important;
  margin:4px auto!important;
}

.table-actions a,
.table-actions button,
.table-action-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  min-width:112px!important;
  padding:0 16px!important;
  border-radius:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.table-actions .secondary-button,
.table-action-button.secondary-button,
a.table-action-button{
  background:rgba(8,19,33,.84)!important;
  border:1px solid rgba(96,165,250,.34)!important;
  color:#edf4ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.table-actions .secondary-button:hover,
a.table-action-button:hover{
  background:rgba(37,99,235,.14)!important;
  border-color:rgba(96,165,250,.58)!important;
}
.table-actions .primary-button{
  min-width:112px!important;
}
.admin-table td small{
  color:#7f8da3!important;
  line-height:1.25!important;
}
.admin-table td strong + br + small,
.admin-table td .mono-cell small{
  margin-top:3px!important;
}
.compact-pill,
.type-pill.compact-pill{
  min-width:0!important;
  max-width:110px!important;
  height:auto!important;
  min-height:28px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  line-height:1.05!important;
  white-space:normal!important;
  text-align:center!important;
  font-size:12px!important;
}

/* Sites table after REGION removal: actions column, better wrapping */
#sitesTable td:last-child{ text-align:center!important; }
#sitesTable td:first-child{min-width:220px!important;}
#sitesTable td:nth-child(2){min-width:130px!important;}

/* VPN table after column merging: use freed width for readable fields */
#vpnAccountsTable td:first-child{min-width:160px!important;}
#vpnAccountsTable td:nth-child(2){min-width:200px!important;}
#vpnAccountsTable td:nth-child(3){min-width:120px!important;}
#vpnAccountsTable td:nth-child(4){min-width:160px!important;}
#vpnAccountsTable td:last-child{text-align:center!important;}

/* Server inventory after column merging */
#serversTable td:first-child{min-width:190px!important;}
#serversTable td:nth-child(2){min-width:190px!important;}
#serversTable td:nth-child(4){min-width:150px!important;}
#serversTable td:last-child{text-align:center!important;}

/* Site detail server metadata: eliminate remaining white boxes completely */
.server-card .credential-meta-grid > *,
.server-card [class*="meta"],
.site-server-card .credential-meta-grid > *,
.site-server-card [class*="meta"],
.detail-card,
.info-chip-card,
.metadata-card{
  background:linear-gradient(180deg,rgba(11,25,43,.95),rgba(7,17,31,.98))!important;
  border:1px solid rgba(52,88,130,.56)!important;
  color:#e7edf7!important;
  border-radius:12px!important;
}
.server-card .credential-meta-grid strong,
.site-server-card .credential-meta-grid strong,
.detail-card strong,
.metadata-card strong{
  color:#8fb1d9!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

/* Any remaining light badges/cards within site details or modals get darkened unless explicitly status pills */
.admin-content .credential-card :is(div,span):not(.arc-status-badge):not(.status-dot):not(.type-pill):not(.primary-button):not(.secondary-button),
.modal-panel .credential-card :is(div,span):not(.arc-status-badge):not(.status-dot):not(.type-pill):not(.primary-button):not(.secondary-button){
  border-color:rgba(52,88,130,.45);
}

/* v9.1 Pixel QA fixes from design review */
/* Remove decorative KPI pseudo glow/bubble completely */
.kpi-card::before,
.kpi-card::after{
  display:none!important;
  content:none!important;
}

/* Sidebar density: slightly tighter item spacing without losing readability */
.admin-nav.security-nav a{
  height:42px!important;
  margin:3px 0!important;
  gap:12px!important;
}
.admin-nav-title{margin-bottom:10px!important;}
.nav-divider,
.nav-divider.compact{
  margin:7px 12px!important;
}

/* Topbar identity/signout grouping */
.session-separator{
  display:block!important;
  margin-left:14px!important;
  margin-right:14px!important;
}

/* Sites table: requested labels and wider type column */
#sitesTable .site-type-col,
#sitesTable th:nth-child(4),
#sitesTable td:nth-child(4){
  min-width:138px!important;
  width:138px!important;
}
#sitesTable td:last-child,
#sitesTable th:last-child{
  min-width:126px!important;
}

/* VPN type/protocol: protocol lives inside the FortiClient pill */
.type-pill.vpn-type-pill,
.vpn-type-pill{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  min-width:104px!important;
  max-width:132px!important;
  padding:7px 12px!important;
  line-height:1.05!important;
}
.vpn-type-pill span{
  display:block!important;
  font-weight:800!important;
  color:inherit!important;
}
.vpn-type-pill small{
  display:block!important;
  margin:0!important;
  color:rgba(219,234,254,.82)!important;
  font-size:10.5px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

/* Remove weird action-cell square/backplate; only the button itself should be visible */
.table-actions,
.table-actions::before,
.table-actions::after,
.inventory-actions,
.inventory-actions::before,
.inventory-actions::after{
  background:transparent!important;
  box-shadow:none!important;
}
.admin-table td.table-actions{
  background:#0b1828!important;
}
.admin-table tbody tr:hover td.table-actions{
  background:#10233a!important;
}
.table-actions .secondary-button,
.table-action-button.secondary-button,
a.table-action-button{
  background:linear-gradient(180deg,rgba(13,29,49,.98),rgba(8,19,33,.98))!important;
}

/* Download Agent page: left-aligned, equal typography, equal button geometry */
.admin-card .modal-actions{
  justify-content:flex-start!important;
}
.download-btn,
a.download-btn{
  min-width:238px!important;
  min-height:58px!important;
  height:58px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 24px!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1!important;
  border-radius:14px!important;
  text-decoration:none!important;
}
.download-btn.secondary-button{
  color:#dbeafe!important;
  border-color:rgba(96,165,250,.45)!important;
}

/* KPI card alignment + VPN account breakdown */
.kpi-card{
  grid-template-rows:30px 38px 48px 8px!important;
  min-height:174px!important;
}
.kpi-card>strong{
  align-self:start!important;
}
.kpi-card>small.vpn-breakdown{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  min-height:44px!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}
.kpi-card>small.vpn-breakdown::before{display:none!important;content:none!important;}
.vpn-breakdown span{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  line-height:1.1!important;
  font-weight:700!important;
}
.vpn-breakdown span::before{
  content:"";
  width:7px;height:7px;border-radius:999px;display:inline-block;flex:none;
}
.vpn-shared{color:#3b82f6!important;}
.vpn-shared::before{background:#3b82f6!important;}
.vpn-personal{color:#7dd3fc!important;}
.vpn-personal::before{background:#7dd3fc!important;}
.kpi-stacked-progress{
  display:flex!important;
  gap:0!important;
  background:#1c2f48!important;
}
.kpi-stacked-progress b{
  display:block!important;
  height:100%!important;
  border-radius:0!important;
}
.kpi-stacked-progress b:first-child{border-radius:999px 0 0 999px!important;}
.kpi-stacked-progress b:last-child{border-radius:0 999px 999px 0!important;}
.kpi-stacked-progress .seg-shared{background:#2563eb!important;}
.kpi-stacked-progress .seg-personal{background:#7dd3fc!important;}

/* Credential/Secret Health: equal inner metric card heights and aligned bars */
.health-grid .health-box,
.health-grid.compact-health .health-box{
  min-height:158px!important;
  height:158px!important;
}
.health-grid:not(.compact-health) .health-box,
.compact-health .health-box{
  grid-template-rows:38px 40px 24px 20px!important;
}
.health-grid:not(.compact-health) .health-box>.health-progress,
.compact-health .health-box>.health-progress{
  grid-row:3!important;
  align-self:end!important;
}
.health-grid:not(.compact-health) .health-box>small,
.compact-health .health-box>small{
  grid-row:4!important;
}

/* Filters: keep VPN/Servers controls in one compact row and narrow search */
.filter-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}
.filter-toolbar .log-search{
  flex:0 0 300px!important;
  width:300px!important;
  min-width:240px!important;
}
.filter-toolbar .filter-select{
  flex:0 0 auto!important;
  min-width:138px!important;
  max-width:180px!important;
}
#vpnPageSize,
#serverPageSize,
#logPageSize,
#jobPageSize{
  min-width:116px!important;
  max-width:130px!important;
}
/* VPN and Servers have several filters; keep them extra compact */
#vpnSearch,
#serverSearch{
  width:260px!important;
  flex-basis:260px!important;
}
#siteFilter,#typeFilter,#accessTypeFilter,#healthFilter{
  min-width:132px!important;
}

/* Audit Logs / Job Logs: page size selector sits immediately after search */
.admin-content .logs-toolbar.filter-toolbar{
  justify-content:flex-start!important;
  column-gap:8px!important;
  row-gap:8px!important;
}
#logSearch,#jobSearch{
  width:320px!important;
  flex-basis:320px!important;
}
#logPageSize,#jobPageSize{
  margin-left:0!important;
}
.logs-toolbar .export-btn{
  margin-left:auto!important;
}

@media (max-width:1100px){
  .filter-toolbar{flex-wrap:wrap!important;}
  .filter-toolbar .log-search,#vpnSearch,#serverSearch,#logSearch,#jobSearch{flex:1 1 260px!important;width:auto!important;}
  .logs-toolbar .export-btn{margin-left:0!important;}
}

/* ==========================================================
   ARC ACCESS EXACT MATCH PATCH v10
   Final table/action/expires cleanup from QA.
   ========================================================== */

/* Inventory action cells: stop rendering the legacy square/backplate behind View/Edit. */
.admin-table td.table-actions,
.inventory-table td.table-actions,
#vpnAccountsTable td.table-actions,
#serversTable td.table-actions,
#sitesTable td.table-actions{
  display:table-cell!important;
  vertical-align:middle!important;
  text-align:center!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  min-width:104px!important;
  width:104px!important;
  padding:10px 8px!important;
  overflow:visible!important;
}
.admin-table td.table-actions::before,
.admin-table td.table-actions::after,
.inventory-table td.table-actions::before,
.inventory-table td.table-actions::after{
  display:none!important;
  content:none!important;
}
.admin-table tbody tr:hover td.table-actions,
.inventory-table tbody tr:hover td.table-actions{
  background:transparent!important;
  background-color:transparent!important;
}

/* Buttons must fit inside the table column and look like real buttons, not text links. */
.admin-table td.table-actions > a,
.admin-table td.table-actions > button,
.inventory-table td.table-actions > a,
.inventory-table td.table-actions > button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:96px!important;
  min-width:96px!important;
  max-width:96px!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 10px!important;
  margin:4px auto!important;
  border-radius:11px!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-align:center!important;
  text-decoration:none!important;
}
.admin-table td.table-actions .primary-button,
.inventory-table td.table-actions .primary-button{
  background:linear-gradient(180deg,#2f6df6,#1d4ed8)!important;
  color:#fff!important;
  border:1px solid rgba(96,165,250,.44)!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important;
}
.admin-table td.table-actions .secondary-button,
.admin-table td.table-actions a.table-action-button,
.inventory-table td.table-actions .secondary-button,
.inventory-table td.table-actions a.table-action-button{
  background:linear-gradient(180deg,rgba(13,29,49,.98),rgba(8,19,33,.98))!important;
  border:1px solid rgba(96,165,250,.34)!important;
  color:#edf4ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}

/* Expires columns: show only days in grid; exact date is available in native hover tooltip. */
.expires-days{
  display:inline-block!important;
  color:#e7edf7!important;
  font-weight:600!important;
  line-height:1.15!important;
  cursor:help!important;
}
#vpnAccountsTable td:nth-child(7),
#serversTable td:nth-child(5){
  white-space:nowrap!important;
}

/* VPN Accounts table: keep action column from clipping at right edge. */
#vpnAccountsTable th:last-child,
#vpnAccountsTable td:last-child{
  min-width:112px!important;
  width:112px!important;
  max-width:112px!important;
}
#vpnAccountsTable{
  table-layout:auto!important;
}
#vpnAccountsTable td:nth-child(3){
  min-width:116px!important;
  width:116px!important;
}

/* Credential Health: ensure all three progress bars share the same vertical baseline. */
.health-grid:not(.compact-health) .health-box{
  grid-template-rows:42px 44px 34px 24px!important;
  min-height:158px!important;
  height:158px!important;
}
.health-grid:not(.compact-health) .health-box>.health-progress{
  grid-row:3!important;
  align-self:end!important;
  margin-top:0!important;
}
.health-grid:not(.compact-health) .health-box>small{
  grid-row:4!important;
  align-self:start!important;
  margin-top:8px!important;
}

.health-box {
    display: flex !important;
    flex-direction: column !important;
   min-height: 165px !important;
    padding: 18px !important;
    overflow: hidden !important;
}

.health-box .health-progress {
    margin-top: auto !important;
    flex-shrink: 0 !important;
}

.health-box small {
    margin-top: 10px !important;
    display: block !important;
    line-height: 1.2 !important;
    flex-shrink: 0 !important;
}

/* ==========================================================
   ARC ACCESS v11 HOTFIX
   Fix 1: Health metric cards use one grid track system for
   Credential Health and Secret Health so bars/text align.
   Fix 2: table-actions cells participate in odd/even row colors
   instead of showing a constant dark block.
   ========================================================== */
.health-grid:not(.compact-health) .health-box,
.health-grid.compact-health .health-box,
.compact-health .health-box{
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  grid-template-rows:38px 40px 24px 20px!important;
  min-height:158px!important;
  height:158px!important;
  padding:18px!important;
  box-sizing:border-box!important;
  align-items:start!important;
  overflow:hidden!important;
}

.health-grid:not(.compact-health) .health-box>svg,
.health-grid.compact-health .health-box>svg,
.compact-health .health-box>svg{
  position:static!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:34px!important;
  height:34px!important;
  margin:2px 0 0 0!important;
  align-self:start!important;
  justify-self:center!important;
}

.health-grid:not(.compact-health) .health-box>strong,
.health-grid.compact-health .health-box>strong,
.compact-health .health-box>strong{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  align-self:start!important;
  line-height:1!important;
}

.health-grid:not(.compact-health) .health-box>span,
.health-grid.compact-health .health-box>span,
.compact-health .health-box>span{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  align-self:start!important;
  line-height:1.12!important;
  min-height:0!important;
}

.health-grid:not(.compact-health) .health-box>.health-progress,
.health-grid.compact-health .health-box>.health-progress,
.compact-health .health-box>.health-progress{
  grid-column:1 / -1!important;
  grid-row:3!important;
  align-self:end!important;
  width:100%!important;
  margin:0!important;
  flex-shrink:0!important;
}

.health-grid:not(.compact-health) .health-box>small,
.health-grid.compact-health .health-box>small,
.compact-health .health-box>small{
  grid-column:1 / -1!important;
  grid-row:4!important;
  align-self:end!important;
  display:block!important;
  margin:0!important;
  line-height:1.15!important;
  text-align:center!important;
  color:#cbd5e1!important;
  flex-shrink:0!important;
}

/* Row striping must include the action cell. Do not leave it transparent,
   because the table background shows through as a constant dark block. */
.admin-table tbody tr:nth-child(odd) td.table-actions,
.inventory-table tbody tr:nth-child(odd) td.table-actions,
.table-scroll tbody tr:nth-child(odd) td.table-actions,
#vpnAccountsTable tbody tr:nth-child(odd) td.table-actions,
#serversTable tbody tr:nth-child(odd) td.table-actions,
#sitesTable tbody tr:nth-child(odd) td.table-actions{
  background:#0b1828!important;
  background-color:#0b1828!important;
}

.admin-table tbody tr:nth-child(even) td.table-actions,
.inventory-table tbody tr:nth-child(even) td.table-actions,
.table-scroll tbody tr:nth-child(even) td.table-actions,
#vpnAccountsTable tbody tr:nth-child(even) td.table-actions,
#serversTable tbody tr:nth-child(even) td.table-actions,
#sitesTable tbody tr:nth-child(even) td.table-actions{
  background:#10213a!important;
  background-color:#10213a!important;
}

.admin-table tbody tr:hover td.table-actions,
.inventory-table tbody tr:hover td.table-actions,
.table-scroll tbody tr:hover td.table-actions,
#vpnAccountsTable tbody tr:hover td.table-actions,
#serversTable tbody tr:hover td.table-actions,
#sitesTable tbody tr:hover td.table-actions{
  background:#132943!important;
  background-color:#132943!important;
}

td.table-actions{
  display:table-cell!important;
  vertical-align:middle!important;
  text-align:center!important;
  box-shadow:none!important;
}

td.table-actions::before,
td.table-actions::after{
  display:none!important;
  content:none!important;
}

/* ==========================================================
   ARC ACCESS v12 HOTFIX
   - Sidebar grouping: Site Access + Trusted Devices belong with Settings group.
   - Keep action-cell zebra color on row hover; only the button changes on hover.
   ========================================================== */

/* Preserve action-cell row striping even when the row is hovered. */
.admin-table tbody tr:nth-child(odd):hover td.table-actions,
.inventory-table tbody tr:nth-child(odd):hover td.table-actions,
.table-scroll tbody tr:nth-child(odd):hover td.table-actions,
#vpnAccountsTable tbody tr:nth-child(odd):hover td.table-actions,
#serversTable tbody tr:nth-child(odd):hover td.table-actions,
#sitesTable tbody tr:nth-child(odd):hover td.table-actions{
  background:#0b1828!important;
  background-color:#0b1828!important;
}

.admin-table tbody tr:nth-child(even):hover td.table-actions,
.inventory-table tbody tr:nth-child(even):hover td.table-actions,
.table-scroll tbody tr:nth-child(even):hover td.table-actions,
#vpnAccountsTable tbody tr:nth-child(even):hover td.table-actions,
#serversTable tbody tr:nth-child(even):hover td.table-actions,
#sitesTable tbody tr:nth-child(even):hover td.table-actions{
  background:#10213a!important;
  background-color:#10213a!important;
}

/* Hover feedback belongs to the action button itself, not to the table cell. */
td.table-actions > a:hover,
td.table-actions > button:hover,
td.table-actions .secondary-button:hover,
td.table-actions a.table-action-button:hover{
  background:linear-gradient(180deg,rgba(37,99,235,.24),rgba(15,39,75,.96))!important;
  border-color:rgba(96,165,250,.70)!important;
  color:#fff!important;
  box-shadow:0 0 0 1px rgba(96,165,250,.16),0 10px 24px rgba(37,99,235,.20)!important;
  transform:none!important;
}

td.table-actions .primary-button:hover{
  background:linear-gradient(180deg,#3b82f6,#2563eb)!important;
  border-color:rgba(147,197,253,.65)!important;
  box-shadow:0 10px 26px rgba(37,99,235,.30)!important;
}

/* Slightly tighter sidebar rhythm after regrouping. */
.admin-nav.security-nav a{
  margin:2px 0!important;
}
.nav-divider,
.nav-divider.compact{
  margin:6px 12px!important;
}

/* Time-boxed site access: an assignment about to lapse should read as a warning, not as detail. */
.assignment-chip small { margin-left: 6px; font-size: 11px; }
.assignment-chip small.expiring-soon { color: #b45309; font-weight: 600; }

/* Browser RDP: its own teal identity so it never reads as a second Connect, and wide enough that
   the label never clips. Placed last so it wins the table-action cascade above. */
td.table-actions a.browser-rdp-button,
a.table-action-button.browser-rdp-button{
  background:linear-gradient(180deg,#0f766e,#0d5f58)!important;
  border:1px solid rgba(45,212,191,.55)!important;
  color:#ecfeff!important;
  white-space:nowrap!important;
  min-width:150px!important;
  padding:0 12px!important;
  font-size:12.5px!important;
}
td.table-actions a.browser-rdp-button:hover,
a.table-action-button.browser-rdp-button:hover{
  background:linear-gradient(180deg,#14998e,#0f766e)!important;
  border-color:rgba(94,234,212,.8)!important;
  color:#fff!important;
  box-shadow:0 0 0 1px rgba(45,212,191,.25),0 10px 24px rgba(13,148,136,.25)!important;
}

/* ---- v2 additions: sign-in / standalone pages (v1 had no login page — Entra redirect) ---- */
.standalone-shell{min-height:calc(100vh - 72px);display:flex;align-items:flex-start;justify-content:center;padding:48px 20px;background:var(--bg);}
.standalone-card{width:100%;max-width:460px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px 30px;box-shadow:0 18px 40px rgba(15,23,42,.08);}
.standalone-card h1{margin:0 0 6px;font-size:24px;}
.standalone-card p.lead{margin:0 0 20px;color:var(--muted);font-size:14px;}
.standalone-card .provider-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:8px 0;padding:12px 16px;border-radius:10px;border:1px solid var(--primary);background:var(--primary);color:#fff;font-weight:600;text-decoration:none;font-size:15px;}
.standalone-card .provider-button:hover{filter:brightness(1.08);}
.standalone-card fieldset{border:1px solid var(--line);border-radius:12px;padding:14px 16px 16px;margin:14px 0 0;}
.standalone-card legend{padding:0 6px;font-weight:600;color:var(--muted);font-size:13px;}
.standalone-card label{display:block;font-size:13px;font-weight:600;margin:8px 0 4px;}
.standalone-card input[type=text],.standalone-card input[type=password]{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:15px;}
.standalone-card .divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:18px 0 6px;}
.standalone-card .divider::before,.standalone-card .divider::after{content:"";flex:1;height:1px;background:var(--line);}
.standalone-card .error{margin:0 0 14px;}
.topbar-brand img{width:28px;height:28px;border-radius:6px;}
.doc-row-admin .doc-name{color:var(--text);text-decoration:none;}
.doc-row-admin .doc-name:hover{text-decoration:underline;}

/* ---- v2 additions: licence page + licence banner (WP8) ---- */
.detail-grid{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:0;font-size:14px;}
.detail-grid dt{color:var(--muted);font-weight:600;}
.detail-grid dd{margin:0;}
.status-dot.warn{background:#fffaeb;color:#b54708;}
.meter{height:10px;border-radius:6px;background:var(--line);overflow:hidden;}
.meter-fill{display:block;height:100%;background:var(--primary);border-radius:6px;}
.meter-fill.over{background:var(--danger);}
.muted-note{color:var(--muted);font-size:13px;margin:12px 0 0;}
.license-banner{margin:0 0 16px;}
.license-banner a{color:inherit;font-weight:600;}
