:root {
    color-scheme: light;
    --bg: #f5f7fb;
    --panel: #ffffff;
    --ink: #1d2433;
    --muted: #667085;
    --line: #d9e0ea;
    --accent: #0f766e;
    --accent-dark: #115e59;
    --danger: #b42318;
}

.module-admin-list { display: grid; gap: 0; }
.module-admin-row { display: grid; grid-template-columns: minmax(0, 1fr) 220px 88px; gap: 20px; align-items: center; padding: 18px 0; border-top: 1px solid #dbe3ed; }
.module-admin-copy { display: grid; gap: 4px; min-width: 0; }
.module-admin-copy span, .module-admin-copy small, .module-admin-state small { color: #64748b; }
.module-admin-state { display: grid; justify-items: start; gap: 5px; }
@media (max-width: 720px) {
  .module-admin-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .module-admin-state { grid-column: 1; }
  .module-admin-row form { grid-column: 2; grid-row: 1 / span 2; }
}

/* OVH VPS management */
.ovh-management-grid,
.ovh-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.ovh-management-grid > .panel { margin: 0; min-width: 0; }
.ovh-vps-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    border-top: 4px solid var(--accent);
}
.ovh-vps-summary h2,
.ovh-eyebrow { margin: 0; }
.ovh-eyebrow {
    color: var(--accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ovh-summary-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(100px, 1fr));
    gap: 12px;
}
.ovh-summary-facts span { padding: 10px 12px; border-radius: 10px; background: #f8fafc; }
.ovh-summary-facts small,
.ovh-summary-facts strong { display: block; overflow-wrap: anywhere; }
.ovh-summary-facts small { margin-bottom: 4px; color: var(--muted); }
.ovh-operations-grid,
.ovh-secondary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.ovh-operations-grid > .panel,
.ovh-secondary-grid > .panel { min-width: 0; margin: 0; }
.ovh-snapshot-form,
.ovh-properties-form {
    display: grid;
    gap: 10px;
    align-items: end;
}
.ovh-snapshot-form {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #f8fafc;
}
.ovh-snapshot-form label,
.ovh-properties-form label {
    display: grid;
    gap: 7px;
    min-width: 0;
    font-weight: 700;
}
.ovh-snapshot-form button { width: 100%; }
.ovh-properties-form {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    max-width: 680px;
    margin-top: 22px;
}
.ovh-properties-form button {
    min-width: 154px;
    white-space: nowrap;
}
.ovh-danger-actions {
    justify-content: flex-end;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}
.ovh-power-actions { align-items: stretch; }
.ovh-power-actions form,
.ovh-power-actions button { min-height: 44px; }
.ovh-refresh-feedback { min-height: 24px; margin: 12px 0 0; color: var(--muted); }
.ovh-refresh-feedback.is-error { color: var(--danger); }
.ovh-pmta-linked { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.ovh-draft-list { margin-top: 18px; border-top: 1px solid var(--line); }
.ovh-draft-row {
    display: grid;
    grid-template-columns: minmax(170px, .55fr) minmax(0, 2.45fr);
    gap: 24px;
    align-items: end;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
}
.ovh-draft-kind { align-self: center; min-width: 0; }
.ovh-draft-kind h3 { margin: 4px 0 0; }
.ovh-draft-form {
    display: grid;
    gap: 14px;
    align-items: end;
    min-width: 0;
}
.ovh-draft-form-pmta,
.ovh-draft-form-pbx { grid-template-columns: minmax(150px, .8fr) minmax(220px, 1.5fr) auto; }
.ovh-draft-form > * { min-width: 0; }
.ovh-draft-form button { min-height: 48px; white-space: nowrap; }
.ovh-domain-combobox { position: relative; display: block; margin-top: 6px; }
.ovh-domain-control { position: relative; display: block; }
.ovh-domain-control input { width: 100%; padding-right: 48px; margin: 0; }
.ovh-domain-toggle {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 46px;
    min-height: calc(100% - 2px) !important;
    padding: 0;
    border: 0;
    border-left: 1px solid var(--line);
    border-radius: 0 7px 7px 0;
    background: #f8fafc;
    color: var(--text);
    font-size: 18px;
}
.ovh-domain-menu {
    position: absolute;
    z-index: 60;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    display: grid;
    max-height: 320px;
    overflow-y: auto;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .16);
}
.ovh-domain-menu[hidden] { display: none; }
.ovh-domain-menu [data-domain-option] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 44px;
    padding: 9px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--text);
    text-align: left;
}
.ovh-domain-menu [data-domain-option]:hover,
.ovh-domain-menu [data-domain-option]:focus { background: #e6f6f3; }
.ovh-domain-menu [data-domain-option] small { color: var(--muted); font-weight: 600; }
.ovh-domain-empty { padding: 12px; color: var(--muted); font-weight: 500; }
.ovh-draft-linked { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; }
.ovh-draft-linked span,
.ovh-draft-linked strong,
.ovh-draft-linked small { display: block; min-width: 0; overflow-wrap: anywhere; }
.ovh-draft-linked small,
.ovh-draft-unavailable { color: var(--muted); }
.ovh-draft-unavailable { align-self: center; margin: 0; }
.ovh-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
.ovh-section-head h2 { margin-bottom: 6px; }
.ovh-section-head p { margin: 0; color: var(--muted); }
.ovh-danger-actions { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.ovh-power-state { margin: -4px 0 14px; color: var(--muted); }
.ovh-power-button-enabled {
    background: #087f73;
    color: #fff;
    box-shadow: 0 1px 2px rgba(8, 127, 115, .2);
}
.ovh-power-button-enabled:hover { background: #06685f; }
.ovh-power-button-disabled,
.ovh-power-button-disabled:hover {
    background: #e4e7ec;
    color: #667085;
    box-shadow: none;
    opacity: 1;
}
.ovh-snapshot-current {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}
.ovh-snapshot-current > div {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #f8fafc;
}
.ovh-snapshot-current small,
.ovh-snapshot-current strong { display: block; overflow-wrap: anywhere; }
.ovh-snapshot-current small { margin-bottom: 5px; color: var(--muted); }
.danger-outline {
    color: #b42318;
    background: #fff;
    border: 1px solid #f3a6a0;
}
.danger-outline:hover { color: #fff; background: #b42318; border-color: #b42318; }
.ptr-current {
    display: inline-block;
    max-width: 320px;
    padding: 6px 10px;
    border-radius: 8px;
    color: #243b53;
    background: #eef4ff;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    overflow-wrap: anywhere;
}
.ptr-current.is-empty { color: var(--muted); background: #f2f4f7; font-family: inherit; }
.ovh-dialog {
    width: min(560px, calc(100vw - 32px));
    padding: 0;
    border: 0;
    border-radius: 16px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
}
.ovh-dialog-wide { width: min(820px, calc(100vw - 32px)); }
.ovh-dialog::backdrop { background: rgba(15, 23, 42, .58); backdrop-filter: blur(2px); }
.ovh-dialog > form { padding: 24px; }
.ovh-dialog-head,
.ovh-dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ovh-dialog-head h2 { margin: 0; }
.dialog-close { padding: 4px 10px; color: var(--muted); background: transparent; font-size: 28px; }
.ovh-dialog-actions { justify-content: flex-end; margin-top: 22px; }

@media (max-width: 760px) {
    .ovh-management-grid,
    .ovh-snapshot-grid,
    .ovh-operations-grid,
    .ovh-secondary-grid { grid-template-columns: 1fr; }
    .ovh-vps-summary { display: grid; }
    .ovh-summary-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ovh-power-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .ovh-power-actions form,
    .ovh-power-actions button { width: 100%; }
    .ovh-pmta-linked { align-items: flex-start; flex-direction: column; }
    .ovh-draft-row,
    .ovh-draft-form-pmta,
    .ovh-draft-form-pbx { grid-template-columns: 1fr; }
    .ovh-draft-row { gap: 12px; align-items: stretch; }
    .ovh-draft-form button,
    .ovh-draft-linked .button { width: 100%; }
    .ovh-draft-linked { align-items: stretch; flex-direction: column; }
    .ovh-snapshot-current { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ovh-section-head { display: grid; }
    .ovh-ptr-table thead { display: none; }
    .ovh-ptr-table,
    .ovh-ptr-table tbody,
    .ovh-ptr-table tr,
    .ovh-ptr-table td { display: block; width: 100%; }
    .ovh-ptr-row { padding: 12px; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 12px; }
    .ovh-ptr-table td { padding: 8px 0; border: 0; }
    .ovh-ptr-table td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
    .ovh-ptr-table .actions { display: grid; grid-template-columns: 1fr; }
    .ovh-ptr-table .actions input,
    .ovh-ptr-table .actions button { width: 100%; }
}

/* Separate, scalable Mautic identity console. */
.mautic-users-page{display:grid;gap:20px}.mautic-users-hero,.mautic-users-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.mautic-users-hero h2,.mautic-users-section-head h2,.mautic-users-emergency h2{margin:5px 0}.mautic-users-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.mautic-users-summary article{display:grid;gap:7px;padding:16px;border:1px solid var(--line,#d8e0ea);border-radius:12px;background:var(--panel,#fff)}.mautic-users-summary span{color:var(--muted,#64748b)}.mautic-users-summary strong{font-size:1.55rem}.mautic-users-assign-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.mautic-users-assign-form label,.mautic-users-filters label,.mautic-users-emergency form label{display:grid;gap:7px;font-weight:700}.mautic-users-assign-form input,.mautic-users-assign-form select,.mautic-users-assign-form textarea,.mautic-users-filters input,.mautic-users-filters select,.mautic-users-emergency input{width:100%}.mautic-users-assign-form small{font-weight:400;color:var(--muted,#64748b)}.mautic-users-wide{grid-column:1/-1}.mautic-users-emergency{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);gap:24px}.mautic-users-emergency form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mautic-users-secret,.mautic-users-emergency form>button,.mautic-users-emergency form>p{grid-column:1/-1}.mautic-users-secret>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.mautic-users-filters{display:grid;grid-template-columns:2fr 1fr 1fr .7fr auto;gap:10px;align-items:end;margin:18px 0}.mautic-users-table-wrap{overflow-x:auto;border:1px solid var(--line,#d8e0ea);border-radius:12px}.mautic-users-table{width:100%;min-width:980px;border-collapse:collapse}.mautic-users-table th,.mautic-users-table td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#d8e0ea)}.mautic-users-table th{background:#f8fafc;color:#64748b;font-size:.78rem;text-transform:uppercase}.mautic-users-table td>strong,.mautic-users-table td>span,.mautic-users-table td>small{display:block;overflow-wrap:anywhere}.mautic-users-table td>span,.mautic-users-table td>small{margin-top:4px;color:var(--muted,#64748b)}.mautic-users-actions{display:flex;flex-wrap:wrap;gap:8px}.mautic-users-actions form{margin:0}.mautic-users-actions button{width:auto;white-space:nowrap}.mautic-users-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}.mautic-users-pagination .is-disabled{opacity:.5;pointer-events:none}
@media(max-width:980px){.mautic-users-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.mautic-users-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.mautic-users-filters button{grid-column:1/-1}}
@media(max-width:760px){.mautic-users-hero,.mautic-users-section-head{align-items:stretch;flex-direction:column}.mautic-users-hero .button-row,.mautic-users-hero .button-row a{width:100%}.mautic-users-summary,.mautic-users-assign-form,.mautic-users-emergency,.mautic-users-emergency form,.mautic-users-filters{grid-template-columns:1fr}.mautic-users-wide,.mautic-users-secret,.mautic-users-emergency form>button,.mautic-users-emergency form>p,.mautic-users-filters button{grid-column:auto}.mautic-users-table-wrap{overflow:visible;border:0}.mautic-users-table{display:block;min-width:0}.mautic-users-table thead{display:none}.mautic-users-table tbody{display:grid;gap:14px}.mautic-users-table tr[data-mautic-child-user-row]{display:block;padding:14px;border:1px solid var(--line,#d8e0ea);border-radius:12px;background:#fff}.mautic-users-table td{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:8px;width:100%;padding:9px 0;border:0}.mautic-users-table td::before{content:attr(data-label);color:var(--muted,#64748b);font-size:.76rem;font-weight:800;text-transform:uppercase}.mautic-users-table td:last-child{display:block;margin-top:6px;padding-top:12px;border-top:1px solid var(--line,#d8e0ea)}.mautic-users-table td:last-child::before{display:block;margin-bottom:9px}.mautic-users-actions{display:grid;grid-template-columns:1fr}.mautic-users-actions form,.mautic-users-actions button{width:100%}.mautic-users-pagination{justify-content:space-between}.mautic-users-pagination .button{padding-inline:12px}}

@media (max-width: 420px) {
    .ovh-summary-facts,
    .ovh-power-actions { grid-template-columns: 1fr; }
}

.pmta-identities {
    border: 1px solid var(--line, #d8e0ea);
    border-radius: 12px;
    padding: 14px;
}

.pmta-identities legend {
    font-weight: 700;
    padding: 0 6px;
}

.pmta-identity-list {
    display: grid;
    gap: 12px;
}

.pmta-identity-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.pmta-identity-row {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr 1.2fr .7fr;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line, #d8e0ea);
    border-radius: 10px;
    background: #fbfcfe;
}

@media (max-width: 760px) {
    .pmta-identity-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
    .pmta-identity-row { grid-template-columns: 1fr; }
}

/* App Installer */
.app-installer-hero,
.app-installer-toolbar,
.app-installer-operation-head,
.app-installer-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.app-installer-hero h2,
.app-installer-operation-head h2 { margin: 5px 0 6px; }
.app-installer-hero p,
.app-installer-operation-head p { margin: 0; color: var(--muted); }
.app-installer-operation-head-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.app-installer-head-actions { flex-wrap: wrap; justify-content: flex-end; }
.app-installer-groups { display: grid; gap: 1px; margin-bottom: 20px; overflow: hidden; border: 1px solid var(--border); border-radius: 6px; background: var(--border); }
.app-installer-group { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 2fr); gap: 24px; padding: 22px 24px; background: var(--panel); }
.app-installer-group h2 { margin: 0 0 5px; font-size: 20px; }
.app-installer-group p { margin: 0; color: var(--muted); line-height: 1.45; }
.app-installer-recipe-list { display: flex; align-items: center; align-content: center; flex-wrap: wrap; gap: 8px; }
.recipe-badge { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 7px 10px; border: 1px solid #cfdbe8; border-radius: 5px; color: var(--text); background: #f5f8fb; font-size: 14px; font-weight: 700; }
.recipe-badge small { color: var(--muted); font-size: 11px; font-weight: 600; text-transform: uppercase; }
.recipe-badge-ready { border-color: #9eddd3; background: #eaf9f5; }
.recipe-badge-preparing { border-color: #efdca6; background: #fff9e9; }
.app-installer-section-head { align-items: center; }
.app-installer-section-head h2 { margin-bottom: 4px; }
.app-installer-table td > small { display: block; margin-top: 5px; color: var(--muted); }
.app-installer-table td:last-child { width: 1%; white-space: nowrap; text-align: right; }
.app-installer-host-panel { position: relative; z-index: 2; }
.app-installer-host-table-wrap { overflow: visible; }
.host-action-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; min-width: 250px; }
.host-action-links .button-small { white-space: nowrap; text-decoration: none; }
.host-action-links .action-menu-disabled { white-space: nowrap; }
.host-deployment-links { display: grid; gap: 5px; min-width: 180px; }
.host-deployment-links a { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--text); text-decoration: none; }
.host-deployment-links a:hover, .app-installer-host-link:hover { color: var(--accent); text-decoration: underline; }
.host-deployment-links span { color: var(--muted); font-size: 12px; }
.app-installer-host-link { color: var(--text); font-weight: 700; text-decoration: none; }
.app-installer-host-deployment-table { table-layout: fixed; }
.app-installer-host-deployment-table th:nth-child(1), .app-installer-host-deployment-table td:nth-child(1) { width: 38%; }
.app-installer-host-deployment-table th:nth-child(2), .app-installer-host-deployment-table td:nth-child(2) { width: 15%; }
.app-installer-host-deployment-table th:nth-child(3), .app-installer-host-deployment-table td:nth-child(3) { width: 14%; }
.app-installer-host-deployment-table th:nth-child(4), .app-installer-host-deployment-table td:nth-child(4) { width: 14%; }
.app-installer-host-deployment-table th:nth-child(5), .app-installer-host-deployment-table td:nth-child(5) { width: 19%; }
.app-installer-host-deployment-table td { vertical-align: middle; }
.app-installer-host-deployment-table .app-installer-url { overflow-wrap: anywhere; }
.app-installer-host-deployment-table td:last-child { width: auto; white-space: nowrap; text-align: right; }
.host-action-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; min-width: 250px; }
.host-action-links .button-small { white-space: nowrap; text-decoration: none; }
.host-action-links .action-menu-disabled { white-space: nowrap; }
.action-menu { position: relative; display: inline-block; text-align: left; }
.action-menu summary { cursor: pointer; list-style: none; padding: 9px 12px; border-radius: 5px; background: var(--soft); font-weight: 700; }
.action-menu summary::-webkit-details-marker { display: none; }
.action-menu > div { position: absolute; z-index: 20; right: 0; top: calc(100% + 6px); display: grid; width: 190px; padding: 7px; border: 1px solid var(--border); border-radius: 6px; background: var(--panel); box-shadow: 0 12px 32px rgba(15, 23, 42, .14); }
.action-menu a { padding: 9px 10px; border-radius: 4px; color: var(--text); text-decoration: none; }
.action-menu a:hover { background: var(--soft); }
.app-installer-form { display: grid; gap: 22px; }
.app-installer-workflow-note { border-left: 4px solid var(--accent); }
.app-installer-workflow-note h3 { margin: 7px 0 5px; }
.app-installer-workflow-note p { margin: 0; }
.app-installer-planned-app { border-top: 3px solid var(--accent); }
.app-installer-planned-app h3 { margin: 7px 0 5px; }
.app-installer-planned-app p { margin: 0 0 18px; }
.app-installer-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.app-installer-form-grid label { display: grid; gap: 7px; min-width: 0; font-weight: 700; }
.app-installer-field-wide { grid-column: 1 / -1; }
.app-installer-form .form-actions { display: flex; justify-content: flex-end; padding-top: 20px; border-top: 1px solid var(--border); }
.app-installer-metrics strong { overflow-wrap: anywhere; }
.app-installer-runtime-strip { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(280px, 1.5fr) minmax(220px, 1fr); gap: 18px; }
.app-installer-runtime-strip > div { display: grid; align-content: start; gap: 6px; min-width: 0; padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: #f8fafc; }
.app-installer-runtime-strip span { color: var(--muted); font-size: 13px; font-weight: 700; text-transform: uppercase; }
.app-installer-runtime-strip strong { overflow-wrap: anywhere; }
.app-installer-runtime-strip small { color: var(--muted); }
.app-installer-heartbeat-warning { margin-bottom: 20px; border-color: #f1cf75; color: #92400e; background: #fffbeb; }
.app-installer-operation-list { display: grid; }
.app-installer-operation-list > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; padding: 14px 0; border-top: 1px solid var(--border); color: var(--text); text-decoration: none; }
.app-installer-operation-list > a:first-child { border-top: 0; }
.app-installer-operation-list span { color: var(--muted); }
.app-installer-operation-result { display: grid; gap: 5px; margin-top: 18px; padding: 13px 15px; border: 1px solid #abefc6; border-radius: 6px; background: #ecfdf3; color: #067647; }
.app-installer-operation-result strong { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.app-installer-operation-issues { display: grid; gap: 12px; margin-top: 18px; }
.app-installer-operation-issues h3 { margin: 0; }
.app-installer-operation-issues article { display: grid; gap: 10px; padding: 16px; border: 1px solid #fedf89; border-radius: 8px; background: #fffaeb; }
.app-installer-operation-issues article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.app-installer-operation-issues article > div span { color: #b54708; font-size: 13px; font-weight: 700; }
.app-installer-operation-issues dl { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 7px 12px; margin: 0; }
.app-installer-operation-issues dt { color: var(--muted); font-weight: 700; }
.app-installer-operation-issues dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.app-installer-operation-issues p { margin: 0; color: #7a2e0e; }
.app-installer-result-warning { border-color: #f0d78d; background: #fffaf0; color: #8a5100; }
.app-installer-technical-result details > summary { cursor: pointer; font-weight: 700; }
.app-installer-technical-result details > summary small { margin-left: 8px; color: var(--muted); font-weight: 500; }
.app-installer-technical-result pre { max-height: 360px; margin: 14px 0 0; padding: 14px; overflow: auto; border-radius: 6px; background: #101827; color: #f4f7fb; white-space: pre-wrap; overflow-wrap: anywhere; }
.app-installer-profile-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: end; margin: 20px 0 8px; }
.app-installer-profile-form label:not(.check) { display: grid; gap: 7px; min-width: 0; font-weight: 700; }
.app-installer-profile-form .check { display: flex; align-items: center; gap: 8px; min-height: 42px; }
.app-installer-profile-form button { width: 100%; }
.app-installer-profile-list,
.app-installer-backup-list { display: grid; margin-top: 18px; border-top: 1px solid var(--border); }
.app-installer-profile-list article,
.app-installer-backup-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--border); }
.app-installer-profile-list article > div:first-child,
.app-installer-backup-list article > div:first-child { display: grid; gap: 4px; min-width: 0; }
.app-installer-profile-list article span,
.app-installer-profile-list article small,
.app-installer-backup-list article span,
.app-installer-backup-list article small { color: var(--muted); overflow-wrap: anywhere; }
.app-installer-profile-list .button-row { flex-wrap: wrap; justify-content: flex-end; }
.app-installer-profile-list form { margin: 0; }
.app-installer-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 20px; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; background: var(--border); }
.app-installer-action-grid form { display: flex; min-height: 178px; padding: 18px; flex-direction: column; gap: 8px; background: var(--panel); }
.app-installer-action-grid form > strong { font-size: 17px; }
.app-installer-action-grid form > span { flex: 1; color: var(--muted); line-height: 1.45; }
.app-installer-action-grid button { width: 100%; }
.app-installer-wizard { display: grid; gap: 20px; border-top: 4px solid var(--primary); }
.app-installer-wizard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.app-installer-wizard-heading h2 { margin: 5px 0 6px; }
.app-installer-step { color: var(--primary); font-size: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.app-installer-confirm-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.app-installer-confirm-summary > div,
.app-installer-network-summary > div { display: grid; align-content: start; gap: 7px; min-width: 0; padding: 15px; border: 1px solid var(--border); border-radius: 10px; background: #f8fafc; }
.app-installer-confirm-summary span,
.app-installer-network-summary span,
.app-installer-network-summary small { color: var(--muted); }
.app-installer-confirm-summary strong,
.app-installer-network-summary strong { overflow-wrap: anywhere; }
.app-installer-network-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.app-installer-network-primary { grid-column: span 2; }
.app-installer-ip-list { display: flex; flex-wrap: wrap; gap: 6px; }
.app-installer-ip-list code { max-width: 100%; padding: 5px 7px; border-radius: 5px; color: #1e40af; background: #e8eefc; overflow-wrap: anywhere; }
.app-installer-ip-list em { color: var(--muted); font-style: normal; }
.app-installer-warning-list { display: grid; gap: 8px; margin: 0; padding: 14px 16px 14px 36px; border: 1px solid #f1cf75; border-radius: 10px; color: #92400e; background: #fffbeb; }
.app-installer-wizard-notice { padding: 14px 16px; border: 1px solid #bae6fd; border-radius: 10px; color: #0c4a6e; background: #f0f9ff; }
.app-installer-wizard-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.app-installer-wizard-actions form { margin: 0; }
.app-installer-wizard-progress { display: grid; gap: 9px; }
.app-installer-wizard-progress progress { width: 100%; height: 14px; accent-color: var(--primary); }
.app-installer-wizard-progress span { color: var(--muted); }
.app-installer-progress-value { font-size: 28px; }
@media (max-width: 900px) {
    .app-installer-confirm-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .app-installer-network-summary { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .app-installer-wizard-heading { align-items: stretch; flex-direction: column; }
    .app-installer-confirm-summary,
    .app-installer-network-summary { grid-template-columns: 1fr; }
    .app-installer-network-primary { grid-column: auto; }
    .app-installer-wizard-actions { display: grid; grid-template-columns: 1fr; }
    .app-installer-wizard-actions form,
    .app-installer-wizard-actions .button,
    .app-installer-wizard-actions button { width: 100%; }
    .app-installer-runtime-strip { grid-template-columns: 1fr; }
}
.app-installer-stage-list { display: grid; }
.app-installer-stage-list > div { display: grid; grid-template-columns: minmax(0, 1fr) 140px 70px; gap: 16px; padding: 13px 0; border-top: 1px solid var(--border); }
.app-installer-stage-list > div:first-child { border-top: 0; }
.app-installer-stage-list em { color: var(--muted); font-style: normal; text-align: right; }
.app-installer-danger-zone { border-color: #efb4ae; }
.app-installer-dialog { width: min(520px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 6px; background: var(--panel); box-shadow: 0 24px 70px rgba(15, 23, 42, .3); }
.app-installer-dialog::backdrop { background: rgba(15, 23, 42, .55); }
.app-installer-dialog form > div { display: grid; gap: 14px; max-height: min(65vh, 560px); overflow-y: auto; padding: 24px; }
.app-installer-dialog h2,
.app-installer-dialog p { margin: 0; }
.app-installer-dialog label { display: grid; gap: 7px; font-weight: 700; }
.app-installer-dialog footer { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 24px; border-top: 1px solid var(--border); background: #f8fafc; }
.app-installer-row-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; min-width: 220px; }
.app-installer-row-actions .button-small,
.app-installer-row-actions button { white-space: nowrap; }
.app-installer-delete-summary { display: grid; gap: 6px; padding: 12px; border: 1px solid var(--border); border-radius: 6px; background: #f8fafc; }
.app-installer-delete-summary span { overflow-wrap: anywhere; }

/* Application administration dashboard */
.app-admin-shell { display: grid; gap: 20px; }
.app-admin-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; overflow: hidden; border-top: 4px solid var(--primary); }
.app-admin-hero h2 { margin: 5px 0 6px; font-size: clamp(24px, 3vw, 34px); }
.app-admin-hero p { margin: 0; color: var(--muted); }
.app-admin-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.app-admin-hero-actions { display: flex; max-width: 520px; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.app-admin-hero-actions form { margin: 0; }
.app-admin-external { box-shadow: 0 6px 14px rgba(15, 118, 110, .16); }
.app-admin-nav { position: sticky; z-index: 50; top: 0; display: flex; flex-wrap: nowrap; gap: 8px; max-width: 100%; min-width: 0; margin: 0; padding: 10px; overflow-x: auto; overflow-y: hidden; border-color: rgba(207, 219, 232, .95); background: rgba(255, 255, 255, .96); box-shadow: 0 8px 20px rgba(15, 23, 42, .08); scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; backdrop-filter: blur(10px); }
.app-admin-nav::-webkit-scrollbar { display: none; width: 0; height: 0; }
.app-admin-nav a { flex: 0 0 auto; padding: 9px 11px; border-radius: 5px; color: var(--ink); background: #eef2f6; font-size: 13px; font-weight: 800; text-align: center; text-decoration: none; white-space: nowrap; }
.app-admin-nav a:hover, .app-admin-nav a:focus-visible, .app-admin-nav a[aria-current="location"] { color: #fff; background: var(--accent); }
.app-admin-anchor { scroll-margin-top: 86px; }
.app-admin-snapshot { padding: 24px; border: 1px solid rgba(207, 219, 232, .9); border-radius: 12px; background: linear-gradient(135deg, #f8fbff 0%, #f2f8f7 100%); box-shadow: 0 10px 26px rgba(15, 23, 42, .05); }
.app-admin-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 0 2px; }
.app-admin-section-heading h2 { margin: 3px 0 0; }
.app-admin-section-heading small { padding: 7px 10px; border: 1px solid #d5e2ec; border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.72); font-size: 12px; }
.app-admin-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 20px; margin-bottom: 0; }
.app-admin-metric-card { display: grid; align-content: space-between; min-width: 0; min-height: 94px; padding: 16px; border: 1px solid #d9e4ed; border-radius: 10px; background: rgba(255,255,255,.9); box-shadow: 0 4px 12px rgba(15, 23, 42, .04); }
.app-admin-metric-card > span { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.app-admin-metrics strong { margin-top: 10px; color: var(--ink); font-size: 24px; line-height: 1.15; overflow-wrap: anywhere; }
.app-admin-metrics strong small { color: var(--muted); font-size: 14px; font-weight: 700; }
.app-admin-metric-card.is-primary { border-color: #9eddd3; background: linear-gradient(145deg, #f0fcf9, #fff); }
.app-admin-metric-tls { grid-column: span 2; }
.app-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.app-admin-card,
.app-admin-wide-card { min-width: 0; margin: 0; }
.app-admin-card .section-heading,
.app-admin-wide-card .section-heading { align-items: flex-start; }
.app-admin-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 18px 0; border: 1px solid var(--border); border-radius: 6px; background: var(--border); }
.app-admin-details > div { display: grid; gap: 5px; padding: 13px 14px; background: var(--panel); }
.app-admin-details dt { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.app-admin-details dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.app-admin-details-wide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.app-admin-form { display: grid; gap: 12px; padding-top: 16px; border-top: 1px solid var(--border); }
.app-admin-form label,
.app-admin-inline-form label { display: grid; gap: 6px; min-width: 0; font-weight: 700; }
.app-admin-inline-form { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)) auto; gap: 12px; align-items: end; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border); }
.app-admin-inline-form button { min-height: 42px; }
.app-admin-grow { grid-column: span 2; }
.app-admin-table-wrap { width: 100%; margin-top: 16px; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; }
.app-admin-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.app-admin-table th { padding: 11px 13px; color: var(--muted); background: #f7f9fc; font-size: 12px; text-align: left; text-transform: uppercase; letter-spacing: .04em; }
.app-admin-table td { padding: 13px; border-top: 1px solid var(--border); vertical-align: middle; }
.app-admin-table form { margin: 0; }
.app-admin-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.app-admin-row-actions details { position: relative; }
.app-admin-row-actions summary { cursor: pointer; list-style: none; padding: 9px 11px; border-radius: 5px; background: var(--soft); font-weight: 700; white-space: nowrap; }
.app-admin-popover { position: absolute; z-index: 30; top: calc(100% + 7px); right: 0; display: grid; width: min(340px, calc(100vw - 48px)); gap: 14px; padding: 15px; border: 1px solid var(--border); border-radius: 7px; background: var(--panel); box-shadow: 0 16px 42px rgba(15, 23, 42, .18); }
.app-admin-popover form { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--border); }
.app-admin-popover form:first-child { padding-top: 0; border-top: 0; }
.app-admin-popover label { display: grid; gap: 5px; font-weight: 700; }
.app-admin-management-dialog { width: min(720px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); padding: 0; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: var(--panel); box-shadow: 0 24px 70px rgba(15, 23, 42, .28); }
.app-admin-management-dialog::backdrop { background: rgba(15, 23, 42, .56); }
.app-admin-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--border); }
.app-admin-dialog-head h3 { margin: 3px 0 0; overflow-wrap: anywhere; }
.app-admin-dialog-body { display: grid; gap: 18px; max-height: calc(100vh - 150px); padding: 22px; overflow-y: auto; }
.app-admin-dialog-body form { display: grid; gap: 10px; margin: 0; padding: 18px; border: 1px solid var(--border); border-radius: 7px; background: #f9fbfd; }
.app-admin-dialog-body label { display: grid; gap: 6px; font-weight: 700; }
.app-admin-impact { display: grid; gap: 5px; padding: 13px; border-left: 4px solid #d6a62e; background: #fff8df; }
.app-admin-impact span { color: var(--muted); }
.app-admin-dialog-body .app-admin-confirm-check { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 9px; }
.app-admin-confirm-check input { margin-top: 3px; }
.app-admin-dns-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.app-admin-dns-grid article { display: grid; align-content: start; gap: 7px; min-width: 0; padding: 13px; border: 1px solid var(--border); border-radius: 6px; background: #f9fbfd; }
.app-admin-dns-grid code { overflow-wrap: anywhere; user-select: all; }
.app-admin-list { display: grid; margin-top: 14px; }
.app-admin-list article,
.app-admin-list > a { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-width: 0; padding: 13px 0; border-top: 1px solid var(--border); color: var(--text); text-decoration: none; }
.app-admin-list article:first-child,
.app-admin-list > a:first-child { border-top: 0; }
.app-admin-list article > div { display: grid; gap: 4px; min-width: 0; }
.app-admin-list span { color: var(--muted); overflow-wrap: anywhere; }
.app-admin-list code { overflow-wrap: anywhere; }
.app-admin-greylisting-card { grid-column: 1 / -1; display: grid; gap: 16px; }
.app-admin-greylisting-copy { max-width: 880px; margin: 0; color: var(--muted); }
.app-admin-greylisting-form { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid #b9ded8; border-radius: 10px; background: #f2fbf9; }
.app-admin-greylisting-switch { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 11px; cursor: pointer; }
.app-admin-greylisting-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.app-admin-greylisting-switch span { position: relative; width: 46px; height: 26px; border-radius: 999px; background: #94a3b8; transition: background .18s ease; }
.app-admin-greylisting-switch span::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(15, 23, 42, .28); transition: transform .18s ease; }
.app-admin-greylisting-switch input:checked + span { background: var(--accent); }
.app-admin-greylisting-switch input:checked + span::after { transform: translateX(20px); }
.app-admin-greylisting-switch input:focus-visible + span { outline: 3px solid rgba(13, 148, 136, .28); outline-offset: 2px; }
.app-admin-greylisting-switch input:disabled ~ * { opacity: .58; cursor: not-allowed; }
@media (max-width: 700px) { .app-admin-greylisting-form { align-items: stretch; flex-direction: column; } .app-admin-greylisting-form button { width: 100%; } }
.app-admin-secret { display: grid; gap: 8px; margin: 14px 0; }
.app-admin-secret code { display: block; padding: 10px; border-radius: 5px; color: var(--text); background: #fff; overflow-wrap: anywhere; user-select: all; }
.app-admin-secret .app-admin-revealed-secret { grid-template-columns: minmax(0, 1fr) auto auto; }
.app-admin-list .app-admin-credential { display: grid; align-items: stretch; gap: 12px; padding: 18px 0; }
.app-admin-credential header { display: grid; gap: 3px; min-width: 0; }
.app-admin-credential header strong { overflow-wrap: anywhere; }
.app-admin-credential-row { display: grid; gap: 6px; min-width: 0; }
.app-admin-credential-row > label { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.app-admin-copy-field { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; min-width: 0; }
.app-admin-copy-field input { min-width: 0; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.app-admin-password-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.app-admin-password-actions button { flex: 1 1 190px; }
.app-webmail-domain-panel { display: grid; gap: 20px; }
.app-webmail-domain-heading { align-items: flex-start; }
.app-webmail-primary-urls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.app-webmail-primary-urls a { display: grid; gap: 5px; min-width: 0; padding: 15px; border: 1px solid #b9ded8; border-radius: 8px; color: var(--text); background: #f2fbf9; text-decoration: none; }
.app-webmail-primary-urls a:hover { border-color: var(--accent); }
.app-webmail-primary-urls span { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.app-webmail-primary-urls strong { overflow-wrap: anywhere; }
.app-webmail-primary-form { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.app-webmail-primary-form form { display: flex; align-items: end; flex: 1 1 420px; gap: 10px; }
.app-webmail-primary-form label { display: grid; flex: 1; gap: 7px; font-weight: 700; }
.app-webmail-domain-table { min-width: 1040px; table-layout: fixed; }
.app-webmail-domain-col-domain { width: 28%; }
.app-webmail-domain-col-dns { width: 27%; }
.app-webmail-domain-col-provider { width: 11%; }
.app-webmail-domain-col-tls { width: 13%; }
.app-webmail-domain-col-role { width: 10%; }
.app-webmail-domain-col-actions { width: 190px; min-width: 190px; }
.app-webmail-domain-table td { height: auto; vertical-align: middle; overflow-wrap: anywhere; }
.app-webmail-domain-table th:last-child,
.app-webmail-domain-table td:last-child { width: 190px; min-width: 190px; }
.app-webmail-domain-table td small { display: block; margin-top: 5px; color: var(--muted); }
.app-webmail-domain-actions { display: grid; justify-content: stretch; gap: 7px; min-width: 164px; }
.app-webmail-domain-actions form,
.app-webmail-domain-actions button { width: 100%; margin: 0; }
.app-webmail-domain-actions button { white-space: nowrap; }
.app-webmail-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #f1f5f9; font-size: 12px; font-weight: 800; }
.app-webmail-status.is-verified { color: #067647; background: #ecfdf3; }
.app-webmail-status.is-mismatch, .app-webmail-status.is-missing { color: #b42318; background: #fef3f2; }
.app-admin-active-jobs { margin: 0; border-left: 4px solid #d6a62e; }
.app-admin-independence { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin: 0; border-left: 4px solid #d6a62e; }
.app-admin-independence.is-verified { border-left-color: #159f86; background: linear-gradient(135deg, #f3fcf9, #fff); }
.app-admin-independence-copy { min-width: 0; }
.app-admin-independence-copy h2 { margin: 5px 0 8px; }
.app-admin-independence-copy p { margin: 0; color: var(--muted); }
.app-admin-independence-facts { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; }
.app-admin-independence-facts span { color: var(--muted); }
.app-admin-independence-facts strong { color: var(--ink); }
.app-admin-independence-issues { margin: 14px 0 8px; padding-left: 20px; }
.app-admin-independence-issues code { overflow-wrap: anywhere; }
.app-admin-independence-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; flex: 0 0 auto; }
.app-admin-active-jobs > a { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-top: 1px solid var(--border); color: var(--text); text-decoration: none; }
.app-admin-active-jobs > a span { color: var(--muted); }
.app-admin-shell button:disabled { cursor: not-allowed; opacity: .52; }
.mautic-dashboard{display:grid;gap:20px}.mautic-dashboard-heading{align-items:flex-start}.mautic-dashboard-heading h2,.mautic-dashboard-card h3,.mautic-dashboard-operations h3{margin:4px 0 6px}.mautic-dashboard-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mautic-dashboard-summary article{display:grid;gap:5px;min-width:0;padding:15px;border:1px solid #d9e4ed;border-radius:11px;background:#f8fafc}.mautic-dashboard-summary span,.mautic-dashboard-summary small,.mautic-dashboard-card span{color:var(--muted)}.mautic-dashboard-summary strong{font-size:1.18rem;overflow-wrap:anywhere}.mautic-dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mautic-dashboard-card{min-width:0;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff}.mautic-dashboard-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;margin:15px 0;border:1px solid var(--border);border-radius:9px;background:var(--border)}.mautic-dashboard-facts>div{display:grid;gap:4px;padding:12px;background:#f8fafc}.mautic-dashboard-facts dt{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.mautic-dashboard-facts dd{margin:0;font-weight:750;overflow-wrap:anywhere}.mautic-dashboard-domain-list,.mautic-dashboard-provider-list,.mautic-dashboard-pools,.mautic-dashboard-operations{display:grid;gap:9px}.mautic-dashboard-domain-list>div,.mautic-dashboard-provider-list>div,.mautic-dashboard-pools>div,.mautic-dashboard-operations>a{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;text-decoration:none}.mautic-dashboard-domain-list span,.mautic-dashboard-provider-list span,.mautic-dashboard-pools span,.mautic-dashboard-operations span{text-align:right}.mautic-dashboard-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.mautic-dashboard-counts span{display:grid;gap:3px;padding:10px;border-radius:9px;background:#f1f5f9}.mautic-dashboard-counts strong{color:var(--ink);font-size:1.25rem}.mautic-dashboard-operations{padding-top:18px;border-top:1px solid var(--border)}
@media(max-width:900px){.mautic-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.mautic-dashboard-columns{grid-template-columns:1fr}}
@media(max-width:650px){.mautic-dashboard-heading{align-items:stretch;flex-direction:column}.mautic-dashboard-heading .button-row,.mautic-dashboard-heading .button-row a{width:100%}.mautic-dashboard-summary,.mautic-dashboard-facts,.mautic-dashboard-counts{grid-template-columns:1fr}.mautic-dashboard-domain-list>div,.mautic-dashboard-provider-list>div,.mautic-dashboard-pools>div,.mautic-dashboard-operations>a{align-items:flex-start;flex-direction:column}.mautic-dashboard-domain-list span,.mautic-dashboard-provider-list span,.mautic-dashboard-pools span,.mautic-dashboard-operations span{text-align:left}}
.mautic-routing-editor{display:grid;gap:18px;padding-top:20px;border-top:1px solid var(--border)}.mautic-routing-editor h3,.mautic-routing-editor h4{margin:4px 0 6px}.mautic-routing-editor .status-badges{display:flex;flex-wrap:wrap;gap:8px}.mautic-routing-pool-grid{display:grid;gap:12px}.mautic-routing-pool{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff}.mautic-routing-pool>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer;background:#f8fafc}.mautic-routing-pool>summary span{color:var(--muted)}.mautic-routing-pool>form{display:grid;gap:15px;padding:17px;border-top:1px solid var(--border)}.mautic-routing-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.mautic-routing-ip-list{overflow:hidden;border:1px solid var(--border);border-radius:10px}.mautic-routing-ip-head,.mautic-routing-ip-row{display:grid;grid-template-columns:56px minmax(180px,1fr) 80px 120px 120px;align-items:center;gap:10px;padding:10px 12px}.mautic-routing-ip-head{background:#f1f5f9;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.mautic-routing-ip-row+.mautic-routing-ip-row{border-top:1px solid var(--border)}.mautic-routing-ip-row label{margin:0}.mautic-routing-ip-row input[type=number]{width:100%}.mautic-routing-quotas{grid-template-columns:repeat(4,minmax(0,1fr))}.checkbox-line{display:flex!important;align-items:center;gap:8px}.checkbox-line input[type=checkbox]{width:auto}.warning-confirm{padding:11px;border-radius:9px;background:#fff8e8}.mautic-routing-rules{display:grid;gap:10px}.mautic-routing-rules>article{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:10px}.mautic-routing-rules>article>div{display:flex;flex-wrap:wrap;gap:8px}.mautic-routing-rules>article>form{display:flex;gap:8px}.mautic-routing-rule-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;align-items:end;gap:10px;padding:15px;border:1px dashed var(--border);border-radius:10px;background:#f8fafc}.mautic-routing-apply{display:flex;align-items:end;justify-content:flex-end;gap:12px;padding-top:15px;border-top:1px solid var(--border)}.mautic-routing-apply form{display:flex;align-items:end;gap:10px}.mautic-routing-apply label{margin:0}.mobile-only{display:none}
@media(max-width:900px){.mautic-routing-fields,.mautic-routing-quotas{grid-template-columns:repeat(2,minmax(0,1fr))}.mautic-routing-rule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.mautic-routing-rules>article{grid-template-columns:1fr}.mautic-routing-rules>article>form{justify-content:flex-start}.mautic-routing-apply{align-items:stretch;flex-direction:column}.mautic-routing-apply form{align-items:stretch;flex-direction:column}.mautic-routing-apply button{width:100%}}
@media(max-width:650px){.mautic-routing-fields,.mautic-routing-quotas,.mautic-routing-rule-form{grid-template-columns:1fr}.mautic-routing-ip-head{display:none}.mautic-routing-ip-row{grid-template-columns:1fr 1fr;padding:14px}.mautic-routing-ip-row>code{grid-column:1/-1;font-size:.8rem;overflow-wrap:anywhere}.mautic-routing-ip-row label{display:flex;align-items:center;gap:8px}.mautic-routing-ip-row label:nth-of-type(n+3){align-items:stretch;flex-direction:column}.mautic-routing-rules>article>form{align-items:stretch;flex-direction:column}.mautic-routing-rules>article button{width:100%}.mobile-only{display:inline}}
.mautic-strategy-help{display:block;min-height:1.35em;margin-top:5px;color:var(--muted);line-height:1.35}
.mautic-routing-save-bar{position:sticky;bottom:12px;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%)}
.mautic-routing-save-bar .text-danger{margin-right:auto;color:#b42318}
.mautic-routing-save-bar button{min-width:180px}
@media(max-width:650px){.mautic-routing-save-bar{align-items:stretch;flex-direction:column}.mautic-routing-save-bar button{width:100%}}

.mautic-integrations{display:grid;gap:18px;padding-top:22px;border-top:1px solid var(--border)}
.mautic-integrations>.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.mautic-integrations>.section-heading h3{margin:4px 0 6px}
.mautic-integration-instructions{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 20px;padding:14px 16px;border:1px solid #b8e0db;border-radius:12px;background:#effbf8}
.mautic-integration-instructions>strong{color:var(--text);white-space:nowrap}
.mautic-integration-instructions>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:14px}
.mautic-integration-summary-grid{display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(3,minmax(90px,.7fr));gap:8px;min-width:0}
.mautic-integration-summary-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 10px;border:1px solid rgba(20,125,113,.14);border-radius:8px;background:rgba(255,255,255,.72)}
.mautic-integration-summary-item span{color:var(--muted);font-size:13px;white-space:nowrap}
.mautic-integration-summary-item code,.mautic-integration-summary-item strong{min-width:0;overflow-wrap:anywhere;text-align:right}
.mautic-integration-setup{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#fff}
.mautic-integration-setup summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style-position:outside}
.mautic-integration-setup summary span{color:var(--muted);font-size:14px;font-weight:400}
.mautic-integration-setup-grid{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:14px;margin-top:14px}
.mautic-integration-guide-card{min-width:0;padding:14px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}
.mautic-integration-guide-card h4{margin:0 0 10px}
.mautic-integration-guide-examples{display:grid;align-content:start;gap:12px;min-width:0}
.mautic-integration-settings{display:grid;gap:0;margin:0}
.mautic-integration-settings>div{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}
.mautic-integration-settings>div:last-child{border-bottom:0}
.mautic-integration-settings dt{color:var(--muted);font-weight:600}
.mautic-integration-settings dd{min-width:0;margin:0;overflow-wrap:anywhere;text-align:right}
.mautic-integration-code{max-width:100%;margin:0;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#0f172a;color:#e2e8f0;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.6}
.mautic-integration-code code{color:inherit;background:transparent;padding:0;font:inherit}
.mautic-integration-code-lines>code>span{display:block}
.mautic-integration-security-note{display:flex;align-items:flex-start;gap:12px;margin:14px 0 0;padding:11px 13px;border-left:3px solid #0f8f83;border-radius:7px;background:#f2f7f7;color:var(--muted)}
.mautic-integration-security-note strong{flex:0 0 auto;color:var(--text)}
.mautic-integration-list{display:grid;gap:14px}
.mautic-integration-card{display:grid;gap:15px;padding:17px;border:1px solid var(--border);border-radius:12px;background:#fff}
.mautic-integration-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.mautic-integration-card>header div{display:grid;gap:4px;min-width:0}
.mautic-integration-card>header small{color:var(--muted);overflow-wrap:anywhere}
.mautic-integration-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.mautic-integration-card dl>div{display:grid;gap:5px;min-width:0;padding:12px;border-radius:9px;background:#f8fafc}
.mautic-integration-card dt{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}
.mautic-integration-card dd{margin:0;overflow-wrap:anywhere}
.mautic-integration-health{border:1px solid var(--border);border-radius:10px;background:#f8fafc;padding:12px 14px}
.mautic-integration-health summary{cursor:pointer}
.mautic-integration-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.mautic-integration-health-grid>div{display:grid;gap:3px;padding:10px;border-left:3px solid #d0d8e3;background:#fff}
.mautic-integration-health-grid>div.is-ready{border-left-color:#15967d}.mautic-integration-health-grid>div.is-warning{border-left-color:#d97706}
.mautic-integration-health-grid span{color:var(--muted);font-size:.86rem}
.mautic-integration-credential{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(220px,1.25fr) auto auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}
.mautic-integration-credential input{min-width:0;width:100%}
.mautic-integration-actions{display:flex;flex-wrap:wrap;gap:9px}
.mautic-integration-actions form{margin:0}
.mautic-integration-dialog{width:min(860px,calc(100vw - 28px));max-width:860px}
.mautic-integration-dialog>form{display:grid;gap:16px}
@media(max-width:900px){.mautic-integration-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.mautic-integration-credential{grid-template-columns:minmax(0,1fr) auto auto}.mautic-integration-credential input:first-child{grid-column:1/-1}.mautic-integration-instructions{grid-template-columns:1fr}.mautic-integration-instructions>p{grid-column:1}.mautic-integration-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mautic-integration-summary-item.is-wide{grid-column:1/-1}.mautic-integration-setup-grid{grid-template-columns:1fr}}
@media(max-width:650px){.mautic-integrations>.section-heading,.mautic-integration-card>header{align-items:stretch;flex-direction:column}.mautic-integrations>.section-heading>button{width:100%}.mautic-integration-instructions,.mautic-integration-setup{padding:12px}.mautic-integration-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mautic-integration-summary-item.is-wide{grid-column:1/-1}.mautic-integration-setup summary{align-items:flex-start;flex-direction:column;gap:3px}.mautic-integration-card dl,.mautic-integration-health-grid,.mautic-integration-setup-grid{grid-template-columns:1fr}.mautic-integration-security-note{flex-direction:column;gap:4px}.mautic-integration-credential{grid-template-columns:1fr 1fr}.mautic-integration-credential input{grid-column:1/-1}.mautic-integration-credential button{width:100%}.mautic-integration-actions,.mautic-integration-actions form{display:grid;grid-template-columns:1fr;width:100%}.mautic-integration-actions button{width:100%}.mautic-integration-dialog{margin:14px auto}.mautic-integration-dialog .form-grid{grid-template-columns:1fr}}
@media(max-width:420px){.mautic-integration-summary-grid{grid-template-columns:1fr}.mautic-integration-summary-item.is-wide{grid-column:1}.mautic-integration-settings>div{grid-template-columns:1fr;gap:3px}.mautic-integration-settings dd{text-align:left}}

.app-admin-ad { display: grid; gap: 20px; }
.app-admin-ad-heading,
.app-admin-ad-card-heading,
.app-admin-ad-plan-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.app-admin-ad-heading h2,
.app-admin-ad-card-heading h3 { margin: 3px 0 0; }
.app-admin-ad-heading-status { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.app-admin-ad-status-badge,
.app-admin-ad-managed { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.app-admin-ad-status-badge.is-ready { color: #0f766e; background: #d9f5ef; }
.app-admin-ad-status-badge.is-warning { color: #9a6700; background: #fff1c7; }
.app-admin-ad-status-badge.is-muted { color: #64748b; background: #eef2f7; }
.app-admin-ad-managed { color: #075985; background: #e0f2fe; }
.app-admin-ad-step { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #0f766e; background: #e7f6f3; font-size: 12px; font-weight: 800; }
.app-admin-ad-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.app-admin-ad-status > div { display: grid; gap: 5px; min-width: 0; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: #f8fafc; }
.app-admin-ad-status span,
.app-admin-ad-status small,
.app-admin-ad-help { color: var(--muted); font-size: 12px; }
.app-admin-ad-status span { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.app-admin-ad-status strong { min-width: 0; font-size: 16px; overflow-wrap: anywhere; }
.app-admin-ad-code { display: block; min-width: 0; overflow-wrap: anywhere; word-break: break-word; white-space: pre-wrap; }
.app-admin-ad-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 20px; }
.app-admin-ad-card { min-width: 0; margin: 0; padding: 20px; border: 1px solid var(--border); border-radius: 12px; background: var(--panel); }
.app-admin-ad-fields-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.app-admin-ad-field { display: grid; gap: 7px; min-width: 0; font-weight: 700; }
.app-admin-ad-field input,
.app-admin-ad-field textarea { width: 100%; min-width: 0; }
.app-admin-ad-check { display: flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 700; }
.app-admin-ad-check input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }
.app-admin-ad-actions { display: grid; gap: 10px; margin-top: 18px; }
.app-admin-ad-actions form,
.app-admin-ad-actions button { width: 100%; margin: 0; }
.app-admin-ad-actions button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; text-align: left; }
.app-admin-ad-actions button small { color: rgba(255,255,255,.78); font-size: 11px; font-weight: 500; }
.app-admin-ad-plan { display: grid; gap: 13px; margin-top: 20px; padding: 16px; border: 1px solid #f0d78d; border-radius: 10px; background: #fffaf0; }
.app-admin-ad-plan-heading strong { display: block; margin-top: 3px; }
.app-admin-ad-apply { display: grid; gap: 10px; padding-top: 13px; border-top: 1px solid #f0d78d; }
.app-admin-ad-table-wrap { overflow-x: auto; margin-top: 16px; border: 1px solid var(--border); border-radius: 10px; }
.app-admin-ad-table-wrap table { width: 100%; min-width: 850px; border-collapse: collapse; }
.app-admin-ad-table-wrap th { padding: 11px 12px; color: var(--muted); background: #f8fafc; font-size: 11px; text-align: left; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.app-admin-ad-table-wrap td { padding: 12px; border-top: 1px solid var(--border); vertical-align: middle; white-space: nowrap; }

@media (max-width: 760px) {
    .app-admin-management-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
    .app-admin-dialog-head { align-items: stretch; flex-direction: column; padding: 16px; }
    .app-admin-dialog-head button { width: 100%; }
    .app-admin-dialog-body { max-height: calc(100vh - 165px); padding: 14px; }
    .app-admin-secret .app-admin-revealed-secret { grid-template-columns: 1fr; }
    .app-admin-list article { align-items: stretch; flex-direction: column; }
    .app-admin-copy-field { grid-template-columns: 1fr 1fr; width: 100%; }
    .app-admin-copy-field input { grid-column: 1 / -1; }
    .app-admin-password-actions,
    .app-admin-password-actions button { width: 100%; }
    .app-webmail-primary-urls { grid-template-columns: 1fr; }
    .app-webmail-primary-form, .app-webmail-primary-form form { align-items: stretch; flex-direction: column; }
    .app-webmail-primary-form button, .app-webmail-domain-actions, .app-webmail-domain-actions form, .app-webmail-domain-actions button { width: 100%; }
    .app-webmail-domain-table-wrap { overflow: visible; border: 0; }
    .app-webmail-domain-table { display: block; min-width: 0; table-layout: auto; }
    .app-webmail-domain-table colgroup,
    .app-webmail-domain-table thead { display: none; }
    .app-webmail-domain-table tbody,
    .app-webmail-domain-table tr,
    .app-webmail-domain-table td { display: block; width: 100%; min-width: 0; }
    .app-webmail-domain-table tbody { display: grid; gap: 14px; }
    .app-webmail-domain-table tr { padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
    .app-webmail-domain-table td { display: grid; grid-template-columns: minmax(105px, .72fr) minmax(0, 1.28fr); gap: 12px; padding: 8px 0; border: 0; }
    .app-webmail-domain-table td::before { content: attr(data-label); color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
    .app-webmail-domain-table td:last-child { display: block; width: 100%; min-width: 0; padding-top: 12px; border-top: 1px solid var(--border); }
    .app-webmail-domain-table td:last-child::before { display: block; margin-bottom: 8px; }
    .app-admin-hero,
    .app-admin-section-heading { align-items: stretch; flex-direction: column; }
    .app-admin-hero-actions { display: grid; max-width: none; grid-template-columns: 1fr; }
    .app-admin-hero-actions .button,
    .app-admin-hero-actions form,
    .app-admin-hero-actions button { width: 100%; justify-content: center; }
    .app-admin-nav { position: sticky; top: 0; display: flex; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
    .app-admin-nav a { flex: 0 0 auto; text-align: center; }
    .app-admin-snapshot { padding: 18px; }
    .app-admin-grid,
    .app-admin-metrics,
    .app-admin-details,
    .app-admin-details-wide,
    .app-admin-inline-form,
    .app-admin-dns-grid { grid-template-columns: 1fr; }
    .app-admin-metric-tls { grid-column: auto; }
    .app-admin-ad-heading,
    .app-admin-ad-card-heading,
    .app-admin-ad-plan-heading { flex-direction: column; }
    .app-admin-ad-heading-status { justify-content: flex-start; }
    .app-admin-ad-status,
    .app-admin-ad-grid,
    .app-admin-ad-fields-two { grid-template-columns: 1fr; }
    .app-admin-ad-card { padding: 16px; }
    .app-admin-ad-actions button { align-items: flex-start; flex-direction: column; gap: 3px; }
    .app-admin-grow { grid-column: auto; }
    .app-admin-inline-form button { width: 100%; }
    .app-admin-list article,
    .app-admin-list > a,
    .app-admin-active-jobs > a { align-items: stretch; flex-direction: column; }
    .app-admin-independence { flex-direction: column; gap: 18px; }
    .app-admin-independence-actions { width: 100%; justify-content: stretch; }
    .app-admin-independence-actions form, .app-admin-independence-actions button { width: 100%; }
    .app-admin-list article form,
    .app-admin-list article button { width: 100%; }
    .app-admin-row-actions { align-items: stretch; flex-direction: column; }
    .app-admin-row-actions > form,
    .app-admin-row-actions > details,
    .app-admin-row-actions button,
    .app-admin-row-actions summary { width: 100%; }
    .app-admin-popover { position: static; width: 100%; margin-top: 7px; box-shadow: none; }
    .app-installer-hero,
    .app-installer-toolbar,
    .app-installer-operation-head,
    .app-installer-danger-zone { align-items: stretch; flex-direction: column; }
    .app-installer-operation-head-actions { justify-content: flex-start; width: 100%; }
    .app-installer-head-actions,
    .app-installer-head-actions .button,
    .app-installer-toolbar form,
    .app-installer-toolbar button { width: 100%; }
    .app-installer-head-actions { display: grid; grid-template-columns: 1fr; }
    .app-installer-head-actions .button { justify-content: center; }
    .app-installer-group { grid-template-columns: 1fr; gap: 14px; padding: 18px; }
    .app-installer-form-grid { grid-template-columns: 1fr; }
    .app-installer-field-wide { grid-column: auto; }
    .app-installer-form .form-actions,
    .app-installer-form .form-actions button { width: 100%; }
    .app-installer-table thead { display: none; }
    .app-installer-table,
    .app-installer-table tbody,
    .app-installer-table tr,
    .app-installer-table td { display: block; width: 100%; }
    .app-installer-table tr { padding: 10px 0; border-top: 1px solid var(--border); }
    .app-installer-table tr:first-child { border-top: 0; }
    .app-installer-table td { display: grid; grid-template-columns: minmax(105px, .7fr) minmax(0, 1.3fr); gap: 12px; padding: 7px 0; border: 0; text-align: left; white-space: normal; }
    .app-installer-table td::before { content: attr(data-label); color: var(--muted); font-weight: 700; }
    .app-installer-table td:last-child { width: 100%; text-align: left; }
    .app-installer-deployment-table { table-layout: auto; }
    .app-installer-deployment-table td:last-child .button { width: 100%; }
    .action-menu,
    .action-menu summary { width: 100%; }
    .action-menu > div { position: static; width: 100%; margin-top: 6px; box-shadow: none; }
    .host-action-links { justify-content: flex-start; min-width: 0; width: 100%; }
    .host-action-links .button-small { flex: 1 1 120px; text-align: center; }
    .app-installer-action-grid { grid-template-columns: 1fr; }
    .app-installer-action-grid form { min-height: 0; }
    .app-installer-profile-form { grid-template-columns: 1fr; }
    .app-installer-profile-form .check { min-height: 0; }
    .app-installer-profile-list article,
    .app-installer-backup-list article { grid-template-columns: 1fr; align-items: stretch; }
    .app-installer-profile-list .button-row { display: grid; grid-template-columns: 1fr; width: 100%; }
    .app-installer-profile-list .button-row form,
    .app-installer-profile-list .button-row button,
    .app-installer-backup-list form,
    .app-installer-backup-list button { width: 100%; }
    .app-installer-stage-list > div { grid-template-columns: minmax(0, 1fr) auto; }
    .app-installer-stage-list em { grid-column: 1 / -1; text-align: left; }
    .app-installer-operation-issues article > div { align-items: flex-start; flex-direction: column; }
    .app-installer-operation-issues dl { grid-template-columns: 1fr; }
    .app-installer-dialog footer { display: grid; grid-template-columns: 1fr; }
    .app-installer-dialog footer button { width: 100%; }
    .app-installer-row-actions { justify-content: flex-start; min-width: 0; width: 100%; }
    .app-installer-row-actions .button-small,
    .app-installer-row-actions button { flex: 1 1 130px; text-align: center; }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

a {
    color: var(--accent-dark);
    text-decoration: none;
}

.shell {
    min-height: 100vh;
    display: flex;
}

.sidebar {
    width: 260px;
    padding: 22px;
    background: #101828;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.brand {
    color: #fff;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 800;
}

.brand-mark {
    width: 36px;
    height: 36px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: var(--accent);
}

.nav {
    display: grid;
    gap: 8px;
}

.nav a,
.logout button {
    color: #d0d5dd;
    border: 0;
    background: transparent;
    border-radius: 8px;
    padding: 10px 12px;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.nav a:hover,
.logout button:hover {
    background: #1d2939;
    color: #fff;
}

.logout {
    margin-top: auto;
}

.main {
    flex: 1;
    padding: 28px;
}

.topbar {
    margin-bottom: 24px;
}

.topbar h1,
.login-box h1 {
    margin: 0;
    font-size: 28px;
}

.topbar p,
.login-box p {
    margin: 4px 0 0;
    color: var(--muted);
}

.panel,
.stats article,
.login-box {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.panel {
    padding: 20px;
    margin-bottom: 18px;
}

.panel h2 {
    margin: 0 0 14px;
    font-size: 20px;
}

.grid {
    display: grid;
    gap: 16px;
}

.stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.stats article {
    padding: 18px;
}

.stats span {
    display: block;
    color: var(--muted);
    font-size: 14px;
}

.stats strong {
    display: block;
    margin-top: 8px;
    font-size: 30px;
}

.login-panel {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.login-box {
    width: min(420px, 100%);
    padding: 28px;
    display: grid;
    gap: 12px;
}

label {
    display: grid;
    gap: 6px;
    color: #344054;
    font-weight: 650;
}

input,
select,
textarea {
    width: 100%;
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 8px 10px;
    font: inherit;
    color: var(--ink);
    background: #fff;
}

textarea {
    resize: vertical;
}

button,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 14px;
    border: 0;
    border-radius: 8px;
    background: var(--accent);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

button:hover,
.button:hover {
    background: var(--accent-dark);
    color: #fff;
}

.button-small {
    min-height: 34px;
    padding: 6px 10px;
    font-size: 14px;
}

.pmta-delete-modal[hidden] { display: none; }
body.pmta-modal-open { overflow: hidden; }
.pmta-delete-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 20px;
}
.pmta-delete-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .58);
}
.pmta-delete-dialog {
    position: relative;
    z-index: 1;
    width: min(460px, 100%);
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--panel);
    box-shadow: 0 24px 80px rgba(15, 23, 42, .28);
}
.pmta-delete-dialog h3 { margin: 0 0 8px; }
.pmta-delete-dialog label { display: block; margin-top: 16px; font-weight: 700; }
.pmta-delete-dialog input { width: 100%; margin-top: 8px; }
.pmta-delete-target { padding: 10px 12px; border-radius: 10px; background: var(--bg); }
.pmta-delete-error { color: var(--danger); margin: 8px 0 0; }
.pmta-delete-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }

.danger {
    background: var(--danger);
}

.alert {
    padding: 12px 14px;
    border-radius: 8px;
    margin-bottom: 16px;
}

.alert-error {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: #912018;
}

.alert-ok {
    background: #ecfdf3;
    border: 1px solid #abefc6;
    color: #067647;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
}

.form-grid-compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.stack-form {
    display: grid;
    gap: 14px;
}

.ssh-control-list {
    display: grid;
    gap: 14px;
}

.ssh-control-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.ssh-password-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.ssh-password-actions button {
    white-space: nowrap;
}

.check {
    display: flex;
    align-items: center;
    gap: 8px;
}

.check input {
    width: auto;
    min-height: auto;
}

.muted {
    color: var(--muted);
}

.mt-16 {
    margin-top: 16px;
}

.status-badge {
    display: inline-flex;
    min-width: 88px;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 800;
    color: #344054;
    background: #eef2f6;
}

.status-running {
    color: #854a0e;
    background: #fffaeb;
}

.status-completed {
    color: #067647;
    background: #ecfdf3;
}

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

.table-wrap {
    overflow-x: auto;
}

.app-installer-table-wrap { overflow: visible; }
.app-installer-deployment-table { table-layout: fixed; }
.app-installer-deployment-table th:nth-child(1), .app-installer-deployment-table td:nth-child(1) { width: 29%; }
.app-installer-deployment-table th:nth-child(2), .app-installer-deployment-table td:nth-child(2) { width: 13%; }
.app-installer-deployment-table th:nth-child(3), .app-installer-deployment-table td:nth-child(3) { width: 36%; }
.app-installer-deployment-table th:nth-child(4), .app-installer-deployment-table td:nth-child(4) { width: 12%; }
.app-installer-deployment-table th:nth-child(5), .app-installer-deployment-table td:nth-child(5) { width: 10%; }
.app-installer-deployment-table td { vertical-align: middle; }
.app-installer-deployment-table td:nth-child(3) a { display: block; overflow-wrap: anywhere; }
.app-installer-deployment-table td:last-child { width: auto; white-space: normal; text-align: right; }
.app-installer-deployment-table td:last-child .button { width: 100%; white-space: nowrap; }
.app-installer-deployment-table:has(th:nth-child(6)) th:nth-child(1), .app-installer-deployment-table:has(th:nth-child(6)) td:nth-child(1) { width: 25%; }
.app-installer-deployment-table:has(th:nth-child(6)) th:nth-child(2), .app-installer-deployment-table:has(th:nth-child(6)) td:nth-child(2) { width: 20%; }
.app-installer-deployment-table:has(th:nth-child(6)) th:nth-child(3), .app-installer-deployment-table:has(th:nth-child(6)) td:nth-child(3) { width: 12%; }
.app-installer-deployment-table:has(th:nth-child(6)) th:nth-child(4), .app-installer-deployment-table:has(th:nth-child(6)) td:nth-child(4) { width: 25%; }
.app-installer-deployment-table:has(th:nth-child(6)) th:nth-child(5), .app-installer-deployment-table:has(th:nth-child(6)) td:nth-child(5) { width: 10%; }
.app-installer-deployment-table:has(th:nth-child(6)) th:nth-child(6), .app-installer-deployment-table:has(th:nth-child(6)) td:nth-child(6) { width: 8%; }
.action-menu-disabled { display: block; padding: 9px 10px; color: var(--muted); font-size: 13px; font-weight: 700; }

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

th {
    color: #344054;
    font-weight: 750;
}

code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
}

.split-head,
.actions {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.actions {
    justify-content: flex-end;
    flex-wrap: wrap;
}

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

.app-install-options,
.app-language-list {
    display: grid;
    gap: 12px;
}

.app-install-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.app-install-option,
.app-language-row {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 12px;
}

.app-install-option {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(150px, 1fr);
    gap: 12px;
    align-items: end;
}

.app-language-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.app-language-row > div {
    display: grid;
    gap: 4px;
}

.app-language-row form {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) auto;
    gap: 8px;
    align-items: center;
    width: min(100%, 390px);
}

.log-box {
    display: grid;
    gap: 8px;
}

.log-row {
    display: grid;
    grid-template-columns: 170px 120px minmax(0, 1fr);
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.log-row p {
    margin: 0;
    overflow-wrap: anywhere;
}

.row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.row-actions form {
    margin: 0;
}

.log-error {
    border-color: #fecdca;
    background: #fef3f2;
}

.log-warning {
    border-color: #fedf89;
    background: #fffaeb;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

@media (max-width: 980px) {
    .shell {
        display: block;
    }

    .sidebar {
        width: auto;
    }

    .form-grid,
    .form-grid-compact,
    .checkbox-grid {
        grid-template-columns: 1fr;
    }

    .ovh-properties-form {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .ovh-properties-form button,
    .ovh-danger-actions button { width: 100%; }

    .ovh-danger-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

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

    .split-head,
    .log-row {
        display: grid;
        grid-template-columns: 1fr;
    }
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 10px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: middle;
}

th {
    color: #475467;
    font-size: 13px;
    text-transform: uppercase;
}

code {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 6px;
    background: #eef4ff;
    color: #3538cd;
}

.split-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

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

.code-box {
    width: 100%;
    min-height: 320px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    font: 14px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: var(--ink);
    background: #f8fafc;
}

.generated-preview,
.generated-google-form {
    display: grid;
    gap: 14px;
}

.generated-google-form {
    max-width: 560px;
}

.generated-google-form h2 {
    margin: 0 0 4px;
}

.generated-google-form form {
    display: grid;
    gap: 14px;
}

.public-form-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.public-form-wrap {
    width: min(640px, 100%);
    padding: 24px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
}

@media (max-width: 900px) {
    .shell {
        display: block;
    }

    .sidebar {
        width: auto;
    }

    .stats,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .main {
        padding: 18px;
    }
}

.admin-hero {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-end;
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.admin-hero h2 {
    margin: 0;
    font-size: 26px;
}

.eyebrow {
    margin: 0 0 4px;
    color: var(--accent-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.button-secondary,
.button.secondary {
    background: #eef2f6;
    color: #344054;
}

.button-secondary:hover,
.button.secondary:hover {
    background: #d9e0ea;
    color: #1d2433;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.metric-grid article {
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.metric-grid span {
    display: block;
    color: var(--muted);
    font-size: 13px;
}

.metric-grid strong {
    display: block;
    margin-top: 6px;
    font-size: 22px;
}

.section-tabs,
.tab-list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.section-tabs a,
.tab-list label {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 6px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: #344054;
    font-weight: 750;
    cursor: pointer;
}

.pmta-admin-tabs,
.cloudflare-admin-tabs {
    display: grid;
    gap: 0;
}

.tab-input {
    position: absolute;
    left: 0;
    width: 1px; /* keep radio tabs from widening the page */
    height: 1px;
    min-height: 0;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

.tab-panel {
    display: none;
}

#pmta-tab-general:checked ~ .tab-list label[for="pmta-tab-general"],
#pmta-tab-server-form:checked ~ .tab-list label[for="pmta-tab-server-form"],
#pmta-tab-assets:checked ~ .tab-list label[for="pmta-tab-assets"],
#pmta-tab-jobs:checked ~ .tab-list label[for="pmta-tab-jobs"],
#cloudflare-tab-accounts:checked ~ .tab-list label[for="cloudflare-tab-accounts"],
#cloudflare-tab-zones:checked ~ .tab-list label[for="cloudflare-tab-zones"],
#cloudflare-tab-templates:checked ~ .tab-list label[for="cloudflare-tab-templates"],
#cloudflare-tab-logs:checked ~ .tab-list label[for="cloudflare-tab-logs"] {
    border-color: var(--accent);
    background: var(--accent);
    color: #fff;
}

#pmta-tab-general:checked ~ #pmta-panel-general,
#pmta-tab-server-form:checked ~ #pmta-panel-server-form,
#pmta-tab-assets:checked ~ #pmta-panel-assets,
#pmta-tab-jobs:checked ~ #pmta-panel-jobs,
#cloudflare-tab-accounts:checked ~ #cloudflare-panel-accounts,
#cloudflare-tab-zones:checked ~ #cloudflare-panel-zones,
#cloudflare-tab-templates:checked ~ #cloudflare-panel-templates,
#cloudflare-tab-logs:checked ~ #cloudflare-panel-logs {
    display: block;
}

.template-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    padding: 16px;
}

.template-card h3 {
    margin: 0 0 6px;
}

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

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

.detail-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.detail-list div {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 12px;
    align-items: baseline;
}

.detail-list dt {
    color: var(--muted);
    font-weight: 750;
}

.detail-list dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.warmup-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0 20px;
}

.warmup-status-grid div {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #f8fafc;
}

.warmup-status-grid dt {
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.warmup-status-grid dd {
    margin: 6px 0 0;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.warmup-settings-form {
    margin-top: 4px;
}

.warmup-action-row {
    display: flex;
    margin-top: 14px;
}

.credential-grid {
    display: grid;
    gap: 16px;
}

.credential-group {
    display: grid;
    gap: 10px;
}

.credential-group h3 {
    margin: 0;
    font-size: 16px;
}

.dns-records-panel {
    margin-top: 18px;
}

.dns-records-table {
    overflow-x: visible;
}

.dns-records-table table {
    table-layout: fixed;
}

.dns-records-table code {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.dns-records-table td {
    vertical-align: top;
}

.dns-value-long {
    display: grid;
    gap: 8px;
}

.dns-value-preview {
    display: block;
    max-height: 4.8em;
    overflow: hidden;
    line-height: 1.6;
}

.dns-value-long[open] .dns-value-preview {
    display: none;
}

.dns-value-long summary {
    cursor: pointer;
    color: var(--accent);
    font-weight: 750;
    list-style-position: inside;
}

.dns-value-full {
    display: none;
}

.dns-value-long[open] .dns-value-full {
    display: block;
    padding: 8px;
    line-height: 1.55;
}

.dns-col-type {
    width: 8%;
}

.dns-col-name {
    width: 23%;
}

.dns-col-value {
    width: 38%;
}

.dns-col-status {
    width: 12%;
}

.dns-col-note {
    width: 19%;
}

.secret-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.secret-field input {
    min-height: 34px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
}

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

.component-pill {
    min-height: 68px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8fafc;
}

.component-pill span,
.component-pill strong {
    display: block;
}

.component-pill strong {
    margin-top: 4px;
    color: var(--muted);
    font-size: 13px;
}

.component-on {
    border-color: #abefc6;
    background: #ecfdf3;
}

.component-on strong {
    color: #067647;
}

.status-pending {
    color: #475467;
    background: #eef2f6;
}

@media (max-width: 1100px) {
    .metric-grid,
    .component-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-grid {
        grid-template-columns: 1fr;
    }

    .warmup-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .app-install-options,
    .app-install-option,
    .app-language-row form {
        grid-template-columns: 1fr;
    }

    .app-language-row {
        align-items: stretch;
        flex-direction: column;
    }
    .admin-hero,
    .detail-list div,
    .secret-field,
    .form-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .metric-grid,
    .component-grid,
    .warmup-status-grid {
        grid-template-columns: 1fr;
    }

    .ssh-control-row,
    .ssh-password-actions {
        grid-template-columns: 1fr;
    }

    .dns-records-table table,
    .dns-records-table thead,
    .dns-records-table tbody,
    .dns-records-table tr,
    .dns-records-table th,
    .dns-records-table td {
        display: block;
    }

    .dns-records-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .dns-records-table tr {
        padding: 10px 0;
        border-bottom: 1px solid var(--line);
    }

    .dns-records-table td {
        display: grid;
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 10px;
        padding: 7px 0;
        border-bottom: 0;
        align-items: start;
    }

    .dns-records-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: 12px;
        font-weight: 750;
        text-transform: uppercase;
    }
}

/* Responsive polish for dense admin tools */
html {
    min-width: 320px;
}

body {
    overflow-x: hidden;
}

.main {
    min-width: 0;
    max-width: 1680px;
    width: 100%;
}

.panel {
    min-width: 0;
}

.panel > :last-child {
    margin-bottom: 0;
}

.topbar h1 {
    overflow-wrap: anywhere;
}

.topbar p,
.panel p,
.muted {
    overflow-wrap: anywhere;
}

button,
.button,
input,
select,
textarea {
    max-width: 100%;
}

button,
.button {
    white-space: normal;
    text-align: center;
}

form {
    min-width: 0;
}

table {
    min-width: 760px;
}

td,
th {
    overflow-wrap: anywhere;
}

td .actions,
td .row-actions {
    justify-content: flex-start;
}

code {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.table-wrap {
    width: 100%;
    border-radius: 8px;
    -webkit-overflow-scrolling: touch;
}

.table-wrap table {
    background: #fff;
}

.deliverability-form {
    display: grid;
    grid-template-columns: minmax(240px, 360px) auto;
    align-items: end;
    gap: 10px;
}

.deliverability-form label {
    display: grid;
    gap: 6px;
}

.deliverability-options {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
}

.deliverability-form .deliverability-option {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 700;
}

.deliverability-option input {
    width: auto;
    margin: 0;
}

.deliverability-placement-form {
    display: grid;
    grid-template-columns: minmax(120px, 150px) minmax(140px, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-width: 360px;
}

#deliverability-ab .code-block {
    max-width: 560px;
    max-height: 220px;
    margin: 8px 0 0;
    padding: 10px;
    overflow: auto;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #f7f9fc;
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-wrap;
}

.source-picker {
    display: grid;
    gap: 8px;
    position: relative;
}

.source-picker-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    font-weight: 750;
}

.source-picker-head a {
    font-size: 14px;
    font-weight: 650;
}

.source-combobox {
    position: relative;
    display: grid;
    gap: 8px;
}

.source-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #c8eadf;
    border-radius: 8px;
    background: #e6f6f3;
    color: var(--text);
    text-align: left;
}

.source-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    display: grid;
    gap: 2px;
    max-height: 520px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.16);
}

.source-menu[hidden] {
    display: none;
}

.source-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--text);
    text-align: left;
}

.source-option:hover,
.source-option.is-selected {
    background: #e6f6f3;
    color: var(--primary-strong);
}

.source-option-title {
    min-width: 0;
    font-weight: 750;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.source-option-meta {
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 13px;
}

.source-empty {
    padding: 12px;
    color: var(--muted);
}

.actions,
.row-actions,
.form-actions {
    min-width: 0;
}

.actions form,
.row-actions form {
    display: inline-flex;
    min-width: 0;
}

.split-head > * {
    min-width: 0;
}

.admin-hero {
    min-width: 0;
}

.admin-hero > div {
    min-width: 0;
}

.admin-hero .actions {
    flex: 0 0 auto;
}

.metric-grid article,
.stats article {
    min-width: 0;
}

.metric-grid strong,
.stats strong {
    overflow-wrap: anywhere;
}

.form-grid,
.form-grid-compact {
    align-items: start;
}

.form-grid > *,
.form-grid-compact > *,
.stack-form > * {
    min-width: 0;
}

.tab-list {
    align-items: center;
}

.tab-list label {
    white-space: nowrap;
}

.detail-list dd a,
.credential-group a {
    overflow-wrap: anywhere;
}

.secret-field {
    min-width: 0;
}

.secret-field input {
    min-width: 0;
}

.log-box {
    min-width: 0;
}

.log-row {
    grid-template-columns: minmax(132px, 170px) minmax(92px, 120px) minmax(0, 1fr);
    min-width: 0;
}

.log-row > * {
    min-width: 0;
}

.component-pill {
    min-width: 0;
}

.component-pill span {
    overflow-wrap: anywhere;
}

@media (min-width: 1280px) {
    .main {
        padding: 32px;
    }

    .panel {
        padding: 22px;
    }

    .admin-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

@media (max-width: 1180px) {
    .sidebar {
        width: 230px;
        padding: 18px;
    }

    .main {
        padding: 22px;
    }

    .form-grid-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .shell {
        display: block;
    }

    .sidebar {
        position: static;
        width: 100%;
        padding: 14px 16px;
        gap: 14px;
    }

    .brand {
        justify-content: flex-start;
    }

    .nav {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 2px;
        -webkit-overflow-scrolling: touch;
    }

    .nav a,
    .logout button {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .logout {
        margin-top: 0;
    }

    .main {
        padding: 18px;
    }

    .topbar {
        margin-bottom: 18px;
    }

    .topbar h1,
    .login-box h1 {
        font-size: 25px;
    }

    .admin-hero {
        align-items: flex-start;
    }

    .metric-grid,
    .stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-grid {
        grid-template-columns: 1fr;
    }

    .component-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tab-list {
        min-width: 0;
        max-width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
    }

    .pmta-admin-tabs,
    .cloudflare-admin-tabs,
    .tab-panel {
        min-width: 0;
        max-width: 100%;
    }

    .tab-list label {
        flex: 0 0 auto;
    }
}

@media (max-width: 760px) {
    .main {
        padding: 14px;
    }

    .panel,
    .admin-hero,
    .metric-grid article,
    .stats article,
    .public-form-wrap,
    .login-box {
        padding: 14px;
    }

    .panel {
        margin-bottom: 14px;
    }

    .panel h2 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .split-head,
    .admin-hero,
    .form-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .admin-hero {
        align-items: stretch;
    }

    .admin-hero h2 {
        font-size: 22px;
    }

    .actions,
    .row-actions,
    .form-actions {
        justify-content: stretch;
    }

    .actions > *,
    .row-actions > *,
    .actions form,
    .row-actions form,
    .form-actions > * {
        flex: 1 1 150px;
    }

    .actions button,
    .actions .button,
    .row-actions button,
    .row-actions .button,
    .form-actions button,
    .form-actions .button {
        width: 100%;
    }

    .form-grid,
    .form-grid-compact,
    .checkbox-grid {
        grid-template-columns: 1fr;
    }

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

    .detail-list div,
    .secret-field {
        grid-template-columns: 1fr;
    }

    .detail-list div {
        gap: 3px;
        padding: 8px 0;
        border-bottom: 1px solid var(--line);
    }

    .detail-list div:last-child {
        border-bottom: 0;
    }

    .secret-field button {
        width: 100%;
    }

    .log-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .table-wrap {
        overflow-x: visible;
    }

    .table-wrap table:has(td[data-label]) {
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0 10px;
        background: transparent;
    }

    .table-wrap table:has(td[data-label]) thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .table-wrap table:has(td[data-label]) tbody,
    .table-wrap table:has(td[data-label]) tr,
    .table-wrap table:has(td[data-label]) td {
        display: block;
        width: 100%;
    }

    .table-wrap table:has(td[data-label]) tr {
        padding: 10px 12px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    }

    .table-wrap table:has(td[data-label]) td {
        display: grid;
        grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
        gap: 10px;
        padding: 8px 0;
        border-bottom: 1px solid #eef2f6;
        vertical-align: top;
    }

    .table-wrap table:has(td[data-label]) td:last-child {
        border-bottom: 0;
    }

    .table-wrap table:has(td[data-label]) td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .deliverability-form,
    .deliverability-placement-form {
        grid-template-columns: 1fr;
        min-width: 0;
        width: 100%;
    }

    .deliverability-form button,
    .deliverability-placement-form button {
        width: 100%;
    }

    #deliverability-ab .code-block {
        max-width: 100%;
    }

    #deliverability-ab table {
        width: 100%;
        table-layout: fixed;
    }

    #deliverability-ab td,
    #deliverability-ab code,
    #deliverability-ab .muted {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .dns-records-table table {
        table-layout: auto;
    }

    .dns-records-table tr {
        padding: 10px 12px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #fff;
    }

    .dns-records-table td {
        grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
        padding: 8px 0;
        border-bottom: 1px solid #eef2f6;
    }

    .dns-records-table td:last-child {
        border-bottom: 0;
    }

    table:not(:has(td[data-label])) {
        min-width: 640px;
    }
}

.wp-manager-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.wp-manager-summary > div,
.wp-manager-summary > a {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.wp-manager-summary span,
.wp-site-row .muted {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
}

.wp-manager-summary strong {
    font-size: 24px;
}

.wp-manager-filters {
    display: grid;
    grid-template-columns: minmax(220px, 2fr) repeat(2, minmax(150px, 1fr)) auto;
    gap: 10px;
    align-items: end;
    margin: 18px 0;
}

.wp-manager-grid {
    display: grid;
    gap: 8px;
}

.wp-site-row {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(110px, 1fr)) auto;
    gap: 14px;
    align-items: center;
    padding: 13px 0;
    border-top: 1px solid var(--border);
}

.wp-site-main {
    min-width: 0;
}

.wp-site-main a {
    display: block;
    overflow-wrap: anywhere;
}

@media (max-width: 1050px) {
    .wp-manager-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .wp-site-row {
        grid-template-columns: minmax(220px, 2fr) repeat(2, minmax(110px, 1fr)) auto;
    }

    .wp-site-row > div:nth-child(4) {
        grid-column: 2;
    }
}

@media (max-width: 760px) {
    .wp-manager-summary,
    .wp-manager-filters,
    .wp-site-row {
        grid-template-columns: 1fr;
    }

    .wp-site-row > div:nth-child(4) {
        grid-column: auto;
    }

    .wp-site-row .button {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .main {
        padding: 12px;
    }

    .sidebar {
        padding: 12px;
    }

    .brand-mark {
        width: 32px;
        height: 32px;
    }

    .topbar h1,
    .admin-hero h2 {
        font-size: 21px;
    }

    .metric-grid,
    .stats,
    .component-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .metric-grid strong,
    .stats strong {
        font-size: 20px;
    }

    .status-badge {
        min-width: 0;
        width: fit-content;
        max-width: 100%;
    }

    .table-wrap table:has(td[data-label]) td,
    .dns-records-table td {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .actions > *,
    .row-actions > *,
    .actions form,
    .row-actions form {
        flex-basis: 100%;
    }

    .button-small {
        min-height: 38px;
    }
}

/* Operations dashboard and application shell */
:root {
    --bg: #f3f6fa;
    --panel: #ffffff;
    --ink: #172033;
    --muted: #64748b;
    --line: #dbe3ed;
    --line-soft: #edf1f6;
    --accent: #0f8177;
    --accent-dark: #0b625c;
    --accent-soft: #e7f5f2;
    --nav: #111b2e;
    --nav-soft: #1b2940;
    --danger: #b42318;
    --warning: #a15c07;
    --success: #087a55;
}

body {
    background: var(--bg);
    color: var(--ink);
}

.shell {
    align-items: flex-start;
}

.sidebar {
    position: sticky;
    top: 0;
    z-index: 50;
    flex: 0 0 252px;
    width: 252px;
    height: 100vh;
    padding: 18px 14px 14px;
    gap: 22px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    background: var(--nav);
    border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.sidebar:hover,
.sidebar:focus-within {
    scrollbar-color: rgba(148, 163, 184, 0.42) transparent;
}

.sidebar::-webkit-scrollbar {
    width: 4px;
}

.sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: transparent;
}

.sidebar:hover::-webkit-scrollbar-thumb,
.sidebar:focus-within::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.42);
}

.sidebar-head,
.brand,
.sidebar-user,
.topbar,
.topbar-user,
.mobile-menu-button,
.section-head,
.dashboard-command-bar,
.dashboard-metric,
.operation-row,
.server-row,
.job-row,
.tool-shortcuts a {
    display: flex;
    align-items: center;
}

.sidebar-head {
    justify-content: space-between;
    min-height: 42px;
    padding: 0 8px;
}

.brand {
    min-width: 0;
}

.brand-mark {
    flex: 0 0 36px;
    border-radius: 7px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.brand-copy,
.sidebar-user-copy,
.topbar-user span,
.operation-copy,
.server-identity,
.job-row > span:first-child,
.tool-shortcuts a div {
    display: grid;
    min-width: 0;
}

.brand-copy strong {
    font-size: 15px;
}

.brand-copy small,
.sidebar-user-copy small,
.topbar-user small {
    color: #8fa0b7;
    font-size: 11px;
    font-weight: 600;
}

.sidebar-close {
    display: none;
    min-width: 36px;
    min-height: 36px;
    padding: 0;
    background: transparent;
    color: #cbd5e1;
    font-size: 26px;
}

.nav {
    display: grid;
    gap: 20px;
}

.nav-group {
    display: grid;
    gap: 4px;
}

.nav-label {
    padding: 0 12px 5px;
    color: #73839b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.nav .nav-link {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 40px;
    padding: 7px 10px;
    border-radius: 7px;
    color: #c4cedc;
    font-size: 14px;
    font-weight: 650;
}

.nav .nav-link:hover {
    background: var(--nav-soft);
    color: #fff;
}

.nav .nav-link.is-active {
    background: #183c45;
    color: #fff;
    box-shadow: inset 3px 0 0 #2fb7a8;
}

.nav-mark {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.07);
    color: #aebbd0;
    font-size: 11px;
    font-weight: 850;
}

.nav-link.is-active .nav-mark {
    background: rgba(47, 183, 168, 0.18);
    color: #71ded2;
}

.sidebar-user {
    gap: 10px;
    margin-top: auto;
    padding: 12px 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.user-avatar {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: #dff4f1;
    color: var(--accent-dark);
    font-size: 13px;
    font-weight: 850;
}

.sidebar-user-copy {
    flex: 1;
}

.sidebar-user-copy strong {
    color: #f8fafc;
    font-size: 13px;
}

.logout {
    margin: 0;
}

.logout button {
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    text-align: center;
}

.main {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-height: 100vh;
    padding: 0 30px 34px;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    justify-content: space-between;
    gap: 16px;
    min-height: 78px;
    margin: 0 -30px 26px;
    padding: 14px 30px;
    border-bottom: 1px solid rgba(219, 227, 237, 0.9);
    background: rgba(243, 246, 250, 0.94);
    backdrop-filter: blur(10px);
}

.topbar-copy {
    min-width: 0;
}

.topbar h1 {
    font-size: 25px;
    line-height: 1.2;
}

.topbar p {
    margin-top: 3px;
    font-size: 13px;
}

.topbar-user {
    gap: 9px;
    flex: 0 0 auto;
}

.topbar-user strong {
    font-size: 13px;
}

.topbar-user small {
    color: var(--muted);
}

.mobile-menu-button {
    display: none;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 9px;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    background: #fff;
    border: 1px solid var(--line);
}

.mobile-menu-button span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 1px;
    background: var(--ink);
}

.app-backdrop {
    display: none;
}

.page-content {
    width: min(1480px, 100%);
    margin: 0 auto;
}

.panel,
.stats article,
.metric-grid article,
.login-box,
.admin-hero {
    border-color: var(--line);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.panel {
    padding: 20px;
}

.panel h2,
.section-head h2 {
    font-size: 18px;
    line-height: 1.35;
}

input,
select,
textarea {
    border-color: #cfd9e6;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

input:focus,
select:focus,
textarea:focus {
    border-color: #2a9c91;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(15, 129, 119, 0.13);
}

button,
.button {
    border-radius: 7px;
}

.dashboard-command-bar {
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
    padding: 20px 22px;
    border: 1px solid #cde5e1;
    border-left: 4px solid var(--accent);
    border-radius: 8px;
    background: #fff;
}

.dashboard-command-bar > div:first-child {
    min-width: 0;
}

.dashboard-command-bar h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.3;
}

.dashboard-command-bar p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 14px;
}

.command-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.dashboard-metric {
    min-width: 0;
    gap: 12px;
    padding: 15px 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.metric-icon {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 7px;
    background: #eef2f7;
    color: #475569;
    font-size: 13px;
    font-weight: 850;
}

.dashboard-metric > div {
    display: grid;
    min-width: 0;
}

.dashboard-metric > div > span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 650;
}

.dashboard-metric strong {
    display: flex;
    gap: 7px;
    align-items: baseline;
    margin-top: 2px;
    font-size: 23px;
    line-height: 1.2;
}

.dashboard-metric strong small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 650;
}

.metric-primary .metric-icon {
    background: var(--accent-soft);
    color: var(--accent-dark);
}

.metric-warning .metric-icon {
    background: #fff4dc;
    color: var(--warning);
}

.metric-danger .metric-icon {
    background: #fef0ee;
    color: var(--danger);
}

.dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(330px, 0.85fr);
    gap: 18px;
    align-items: start;
}

.dashboard-main-column,
.dashboard-side-column {
    display: grid;
    min-width: 0;
    gap: 18px;
}

.dashboard-layout .panel {
    margin: 0;
}

.section-head {
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.section-head > div {
    min-width: 0;
}

.section-head h2 {
    margin: 0;
}

.section-head p {
    margin: 3px 0 0;
    font-size: 13px;
}

.text-link {
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 750;
}

.count-badge {
    display: grid;
    min-width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 850;
}

.count-danger {
    background: #fef0ee;
    color: var(--danger);
}

.operation-list,
.server-list,
.job-list,
.tool-shortcuts {
    display: grid;
}

.operation-row,
.server-row,
.job-row,
.tool-shortcuts a {
    min-width: 0;
    color: var(--ink);
    border-top: 1px solid var(--line-soft);
}

.operation-row:first-child,
.server-row:first-child,
.job-row:first-child,
.tool-shortcuts a:first-child {
    border-top: 0;
}

.operation-row {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 11px;
    padding: 12px 3px;
}

.operation-row:hover,
.server-row:hover,
.job-row:hover,
.tool-shortcuts a:hover {
    background: #f8fafc;
}

.operation-state {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #fef0ee;
    color: var(--danger);
    font-weight: 900;
}

.operation-copy strong,
.server-identity strong,
.job-row strong,
.tool-shortcuts strong {
    overflow: hidden;
    color: var(--ink);
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.operation-copy small,
.server-identity small,
.job-row small,
.tool-shortcuts small {
    overflow: hidden;
    color: var(--muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.server-row {
    display: grid;
    grid-template-columns: 10px minmax(180px, 1fr) minmax(120px, 0.55fr) auto;
    gap: 12px;
    padding: 13px 3px;
}

.server-state {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #94a3b8;
}

.status-dot-completed { background: #16a174; }
.status-dot-running { background: #d68a13; }
.status-dot-failed { background: #d14336; }
.status-dot-warning { background: #d68a13; }

.server-job {
    display: grid;
    min-width: 0;
}

.server-job small {
    color: var(--muted);
    font-size: 11px;
}

.server-job strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.status-warning {
    color: #8a4b08;
    background: #fff4dc;
}

.live-indicator {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    color: var(--success);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.live-indicator i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #16a174;
    box-shadow: 0 0 0 3px rgba(22, 161, 116, 0.13);
}

.live-indicator.is-idle {
    color: var(--muted);
}

.live-indicator.is-idle i {
    background: #94a3b8;
    box-shadow: none;
}

.job-row {
    justify-content: space-between;
    gap: 12px;
    padding: 12px 2px;
}

.tool-shortcuts a {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 14px;
    gap: 10px;
    padding: 11px 2px;
}

.tool-shortcuts a > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 7px;
    background: #edf2f7;
    color: #475569;
    font-size: 11px;
    font-weight: 850;
}

.tool-shortcuts a b {
    color: #94a3b8;
    font-size: 20px;
    font-weight: 400;
}

.empty-state {
    display: grid;
    justify-items: start;
    gap: 7px;
    padding: 22px 4px 4px;
    color: var(--muted);
}

.empty-state.compact {
    padding: 16px 3px 3px;
}

.empty-state strong {
    color: #475569;
    font-size: 14px;
}

.empty-state span {
    font-size: 13px;
}

@media (max-width: 1180px) {
    .dashboard-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-layout {
        grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.8fr);
    }
}

@media (max-width: 900px) {
    body.menu-open {
        overflow: hidden;
    }

    .shell {
        display: block;
    }

    .sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(292px, 86vw);
        height: 100vh;
        padding: 16px 13px;
        gap: 20px;
        transform: translateX(-104%);
        transition: transform 0.2s ease;
        box-shadow: 18px 0 40px rgba(15, 23, 42, 0.24);
    }

    .sidebar.is-open {
        transform: translateX(0);
    }

    .sidebar-close {
        display: inline-flex;
    }

    .nav {
        display: grid;
        gap: 20px;
        overflow: visible;
        padding: 0;
    }

    .nav .nav-link {
        white-space: normal;
    }

    .app-backdrop {
        position: fixed;
        inset: 0;
        z-index: 45;
        display: block;
        width: 100%;
        height: 100%;
        min-height: 0;
        padding: 0;
        border-radius: 0;
        background: rgba(15, 23, 42, 0.48);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease, visibility 0.2s ease;
    }

    .app-backdrop.is-visible {
        opacity: 1;
        visibility: visible;
    }

    .main {
        padding: 0 20px 28px;
    }

    .topbar {
        min-height: 68px;
        margin: 0 -20px 20px;
        padding: 11px 20px;
        justify-content: flex-start;
    }

    .mobile-menu-button {
        display: flex;
        flex: 0 0 40px;
    }

    .topbar-copy {
        flex: 1;
    }

    .topbar-user {
        display: none;
    }

    .dashboard-layout {
        grid-template-columns: 1fr;
    }

    .dashboard-side-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .main {
        width: auto;
        padding: 0 14px 22px;
    }

    .table-wrap {
        overflow-x: auto;
    }

    .table-wrap:has(td[data-label]),
    .dns-records-table {
        overflow-x: visible;
    }

    .topbar {
        min-height: 62px;
        margin: 0 -14px 16px;
        padding: 9px 14px;
    }

    .topbar h1 {
        font-size: 20px;
    }

    .topbar p {
        display: none;
    }

    .dashboard-command-bar {
        display: grid;
        gap: 16px;
        padding: 17px;
    }

    .dashboard-command-bar h2 {
        font-size: 19px;
    }

    .command-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .command-actions .button:first-child:last-child,
    .command-actions .button:nth-child(3) {
        grid-column: 1 / -1;
    }

    .dashboard-metrics {
        gap: 9px;
    }

    .dashboard-metric {
        align-items: flex-start;
        gap: 9px;
        padding: 13px;
    }

    .dashboard-metric strong {
        display: grid;
        gap: 1px;
        font-size: 20px;
    }

    .dashboard-side-column {
        grid-template-columns: 1fr;
    }

    .operation-row {
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .operation-row .status-badge {
        grid-column: 2;
    }

    .server-row {
        grid-template-columns: 10px minmax(0, 1fr) auto;
        gap: 9px;
    }

    .server-job {
        display: none;
    }

    .operation-copy small,
    .server-identity small,
    .job-row small,
    .tool-shortcuts small {
        white-space: normal;
    }
}

@media (max-width: 520px) {
    .dashboard-metrics,
    .metric-grid,
    .stats,
    .component-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-metric {
        min-height: 76px;
        align-items: flex-start;
    }

    .dashboard-metric strong {
        display: grid;
    }

    .command-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .command-actions .button:first-child {
        grid-column: 1 / -1;
    }

    .command-actions .button:nth-child(3) {
        grid-column: auto;
    }

    .metric-grid article,
    .stats article {
        min-height: 92px;
        padding: 13px;
    }

    .metric-grid strong,
    .stats strong {
        font-size: 19px;
    }

    .component-pill {
        min-height: 64px;
    }

    .section-head {
        align-items: flex-start;
    }

    .server-row {
        grid-template-columns: 9px minmax(0, 1fr);
    }

    .server-row .status-badge {
        grid-column: 2;
    }

    .job-row {
        align-items: flex-start;
    }
}

@media (max-width: 360px) {
    .dashboard-metrics,
    .metric-grid,
    .stats,
    .component-grid {
        grid-template-columns: 1fr;
    }

    .command-actions {
        grid-template-columns: 1fr;
    }

    .command-actions .button:first-child {
        grid-column: auto;
    }
}

.system-job-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.system-job-filters .actions {
    align-self: end;
}

.system-jobs-table code {
    overflow-wrap: anywhere;
}

.system-jobs-table .is-active-job {
    background: #f0fdfa;
}

.job-error-compact {
    max-width: 360px;
    margin: 6px 0 0;
    overflow: hidden;
    color: #b42318;
    font-size: 13px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.system-job-actions {
    justify-content: flex-end;
}

.system-job-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.system-job-error pre,
.system-job-log-list pre,
.json-block {
    margin: 0;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.system-job-error pre {
    margin-top: 8px;
}

.system-job-log-list {
    display: grid;
    gap: 8px;
    max-height: 720px;
    overflow-y: auto;
}

.system-job-log-list .job-log-row {
    display: grid;
    grid-template-columns: 170px 180px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
}

.system-job-log-list .job-log-warning {
    border-color: #f4c95d;
    background: #fffbeb;
}

.system-job-log-list .job-log-error {
    border-color: #f3b0aa;
    background: #fff5f4;
}

@media (max-width: 900px) {
    .system-job-filters,
    .system-job-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .system-job-filters,
    .system-job-detail-grid {
        grid-template-columns: 1fr;
    }

    .system-job-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .system-job-log-list .job-log-row {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .job-error-compact {
        max-width: 100%;
    }
}
.wp-restore-form { display: grid; grid-template-columns: minmax(12rem, 1fr) auto; gap: .5rem; align-items: center; }
.wp-operation-list { display: grid; gap: .5rem; }
.wp-operation-list > a { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--border-color, #dbe3ee); }
.wp-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-block: 1rem; }
.wp-action-grid .panel { margin: 0; }
.wp-action-grid form { display: grid; gap: .75rem; }
.wp-action-grid #updates { grid-column: 1 / -1; }
.wp-action-grid .wp-plugin-site-panel { grid-column: 1 / -1; }

.wp-plugin-install-form {
    display: grid;
    gap: 1rem;
}

.wp-plugin-library {
    min-width: 0;
}

.wp-plugin-tabs {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--line);
}

.wp-plugin-tabs button {
    width: auto;
    min-height: 42px;
    padding: .65rem .1rem;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
}

.wp-plugin-tabs button:hover,
.wp-plugin-tabs button:focus-visible {
    background: transparent;
    color: var(--ink);
}

.wp-plugin-tabs button.is-active {
    border-bottom-color: var(--accent);
    color: var(--accent-dark);
}

.wp-plugin-library [data-wp-plugin-tab-panel] > form {
    display: grid;
    gap: 1rem;
}

.wp-plugin-library-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.wp-plugin-library-field {
    min-width: 0;
    margin: 0;
    padding: .85rem;
    border: 1px solid var(--line);
    border-radius: 6px;
}

.wp-plugin-library-field legend {
    padding: 0 .25rem;
    font-weight: 700;
}

.wp-plugin-library-search {
    display: grid;
    gap: .4rem;
    margin: 0 0 .65rem;
}

.wp-plugin-library-list {
    display: grid;
    grid-auto-rows: max-content;
    align-content: start;
    max-height: 24rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--panel);
}

.wp-plugin-library-list-compact {
    max-height: 18rem;
}

.wp-plugin-library-row {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr) minmax(7rem, auto);
    gap: .75rem;
    align-items: center;
    min-height: 3.75rem;
    margin: 0;
    padding: .65rem .75rem;
    border-bottom: 1px solid var(--line);
    cursor: pointer;
}

.wp-plugin-library-row:last-child {
    border-bottom: 0;
}

.wp-plugin-library-row:hover {
    background: var(--line-soft);
}

.wp-plugin-library-row[hidden] {
    display: none;
}

.wp-plugin-library-row > input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
}

.wp-plugin-library-name,
.wp-plugin-library-name strong,
.wp-plugin-library-name small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.wp-plugin-library-name small {
    margin-top: .15rem;
    color: var(--muted);
}

.wp-plugin-library-meta {
    justify-self: end;
    color: var(--muted);
    font-size: .875rem;
    text-align: right;
    overflow-wrap: anywhere;
}

.wp-plugin-library-row.is-invalid {
    color: var(--danger);
    cursor: not-allowed;
    opacity: .78;
}

.wp-plugin-picker-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.wp-plugin-picker-grid fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.wp-plugin-picker-grid legend {
    margin-bottom: .65rem;
    font-weight: 700;
}

.wp-picker-search {
    display: grid;
    gap: .4rem;
}

.wp-picker-list {
    max-height: 23rem;
    margin-top: .65rem;
    overflow-y: auto;
    border-block: 1px solid var(--border);
}

.wp-picker-list-compact {
    max-height: 16rem;
}

.wp-picker-row {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    gap: .7rem;
    align-items: center;
    min-height: 3.5rem;
    padding: .65rem .25rem;
    border-bottom: 1px solid var(--border);
    cursor: pointer;
}

.wp-picker-row:last-child {
    border-bottom: 0;
}

.wp-picker-row:hover {
    background: var(--surface-muted);
}

.wp-picker-row[hidden] {
    display: none;
}

.wp-picker-row span,
.wp-picker-row strong,
.wp-picker-row small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.wp-picker-row small {
    margin-top: .15rem;
    color: var(--muted);
}

.wp-picker-row.is-invalid {
    color: var(--danger);
    cursor: not-allowed;
}

.wp-plugin-options {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
}

.wp-update-head {
    align-items: flex-start;
}

.wp-update-head form {
    display: block;
}

.wp-component-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.wp-component-search {
    margin: 0;
}

.wp-component-list {
    display: grid;
    grid-auto-rows: max-content;
    align-content: start;
    max-height: 430px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--panel);
}

.wp-component-row {
    display: grid;
    grid-template-columns: 32px minmax(220px, 1fr) minmax(90px, .35fr) minmax(100px, .35fr) 112px;
    gap: 12px;
    align-items: center;
    min-height: 64px;
    margin: 0;
    padding: 10px 12px;
    border-bottom: 1px solid var(--line);
    cursor: default;
}

.wp-component-row:last-child {
    border-bottom: 0;
}

.wp-component-row.has-update {
    cursor: pointer;
}

.wp-component-row:hover {
    background: var(--bg);
}

.wp-component-row[hidden] {
    display: none;
}

.wp-component-row strong,
.wp-component-row small {
    display: block;
    overflow-wrap: anywhere;
}

.wp-component-row small {
    color: var(--muted);
    font-size: 12px;
}

.wp-component-select input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.check-line {
    display: flex;
    gap: 9px;
    align-items: flex-start;
}

.check-line input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    min-height: 18px;
    margin: 2px 0 0;
}

.button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.button-row form {
    display: inline-flex;
    margin: 0;
}

.button-row button,
.button-row .button {
    min-height: 40px;
    white-space: nowrap;
}

.wp-connector-reinstall-form {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(220px, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-top: 18px;
}

.wp-connector-reinstall-form button {
    min-height: 46px;
    white-space: nowrap;
}

@media (max-width: 920px) {
    .wp-connector-reinstall-form {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 620px) {
    .wp-connector-reinstall-form {
        grid-template-columns: 1fr;
    }
}

.wp-pipeline-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.wp-pipeline-step {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 10px;
    align-items: center;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface-soft, #f7faf9);
}

.wp-pipeline-step strong {
    overflow-wrap: anywhere;
    text-transform: capitalize;
}

.wp-pipeline-step small {
    grid-column: 1 / -1;
    color: var(--muted);
}

.wp-health-gates details pre {
    max-height: 220px;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 620px) {
    .wp-pipeline-grid {
        grid-template-columns: 1fr;
    }
}

.wp-site-hero {
    scroll-margin-top: 18px;
}

.wp-site-hero-head {
    align-items: flex-start;
}

.wp-site-actions {
    flex: 0 0 auto;
    max-width: 680px;
}

.wp-site-tabs {
    display: flex;
    max-width: 100%;
    gap: 4px;
    margin: 18px 0 0;
    padding: 9px 0;
    overflow-x: auto;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    scrollbar-width: thin;
}

.wp-site-tabs a {
    flex: 0 0 auto;
    padding: 6px 9px;
    color: var(--muted);
    font-size: 14px;
    font-weight: 750;
    white-space: nowrap;
}

.wp-site-tabs a:hover,
.wp-site-tabs a:focus-visible {
    color: var(--accent-dark);
    background: #edf8f6;
    border-radius: 6px;
}

.wp-site-metrics {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin: 16px 0 0;
}

.wp-site-metrics > div {
    min-width: 0;
    padding: 4px 14px;
    border-right: 1px solid var(--border);
}

.wp-site-metrics > div:first-child {
    padding-left: 0;
}

.wp-site-metrics > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.wp-site-metrics dt {
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.wp-site-metrics dd {
    min-width: 0;
    margin: 0;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.wp-action-grid > .panel {
    scroll-margin-top: 18px;
}

.wp-settings-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 18px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.wp-settings-grid > div {
    min-width: 0;
    padding: 14px 16px;
    border-right: 1px solid var(--border);
}

.wp-settings-grid > div:nth-child(4n),
.wp-settings-grid > div:last-child {
    border-right: 0;
}

.wp-settings-grid span,
.wp-settings-grid small {
    display: block;
    color: var(--muted);
}

.wp-settings-grid strong {
    display: block;
    margin: 4px 0;
    overflow-wrap: anywhere;
}

.wp-operation-result {
    margin: 18px 0;
    border-block: 1px solid var(--border);
}

.wp-operation-result summary {
    padding: 12px 0;
    font-weight: 700;
    cursor: pointer;
}

.wp-operation-result pre {
    max-height: 420px;
    margin: 0 0 14px;
    padding: 14px;
    overflow: auto;
    border-radius: 6px;
    background: #101827;
    color: #f4f7fb;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.wp-foundation-preview {
    display: grid;
    gap: 8px;
}

.wp-foundation-preview details {
    border-bottom: 1px solid var(--border);
}

.wp-foundation-preview summary {
    padding: 13px 0;
    font-weight: 700;
    cursor: pointer;
}

.wp-foundation-preview .managed-content-preview {
    max-width: 900px;
    padding: 4px 0 18px;
    overflow-wrap: anywhere;
}

.wp-backup-table td,
.wp-backup-table th {
    vertical-align: top;
}

.wp-manager-section .table-wrap {
    max-width: 100%;
}

.wp-telegram-profile-form,
.wp-site-settings-grid .panel form {
    display: grid;
    gap: 12px;
}

.wp-profile-fields {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.wp-telegram-profile-list {
    display: grid;
    gap: 10px;
    max-height: 680px;
    margin-top: 18px;
    overflow-y: auto;
}

.wp-telegram-profile-item {
    padding: 14px 0;
    border-top: 1px solid var(--border);
}

.wp-profile-summary,
.wp-profile-badges,
.wp-profile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.wp-profile-summary {
    justify-content: space-between;
}

.wp-profile-summary strong,
.wp-profile-summary span {
    display: block;
}

.wp-profile-summary span,
.wp-profile-meta dt {
    color: var(--muted);
}

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

.wp-profile-meta div,
.wp-profile-meta dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.wp-profile-meta dt {
    margin-bottom: 3px;
    font-size: 12px;
    font-weight: 700;
}

.wp-profile-actions {
    justify-content: flex-start;
}

.wp-profile-test-summary {
    margin: 8px 0;
}

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

.wp-site-settings-grid > .panel {
    min-width: 0;
    margin: 0;
}

.wp-site-settings-grid .two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wp-capability-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 6px;
}

.wp-capability-list legend {
    padding: 0 6px;
    font-weight: 750;
}

.wp-site-settings-save {
    width: 100%;
    margin: 14px 0 18px;
}

@media (max-width: 1050px) {
    .wp-profile-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .wp-site-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 14px;
    }

    .wp-site-metrics > div:nth-child(3n) {
        border-right: 0;
    }

    .wp-site-metrics > div:nth-child(4) {
        padding-left: 0;
    }

    .wp-settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wp-settings-grid > div:nth-child(4n) {
        border-right: 1px solid var(--border);
    }

    .wp-settings-grid > div:nth-child(2n) {
        border-right: 0;
    }
}

@media (max-width: 700px) {
  .wp-restore-form { grid-template-columns: 1fr; }
  .wp-operation-list > a { align-items: flex-start; flex-direction: column; }
  .wp-action-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .wp-plugin-library-grid {
        grid-template-columns: 1fr;
    }

    .wp-plugin-tabs {
        gap: 1rem;
    }

    .wp-plugin-tabs button {
        flex: 1 1 0;
    }

    .wp-plugin-library-row {
        grid-template-columns: 1.25rem minmax(0, 1fr);
        gap: .4rem .7rem;
    }

    .wp-plugin-library-meta {
        grid-column: 2;
        justify-self: start;
        text-align: left;
    }

    .wp-plugin-picker-grid {
        grid-template-columns: 1fr;
    }

    .wp-plugin-options {
        display: grid;
        grid-template-columns: 1fr;
    }
    .wp-action-grid,
    .wp-action-grid form,
    .wp-component-name,
    .wp-component-row > span {
        min-width: 0;
    }

    .wp-update-head,
    .wp-component-toolbar {
        display: grid;
        grid-template-columns: 1fr;
    }

    .wp-update-head form,
    .wp-update-head button {
        width: 100%;
    }

    .wp-component-row {
        grid-template-columns: 28px minmax(0, 1fr);
        gap: 8px 10px;
    }

    .wp-component-row > .wp-component-select {
        grid-column: 1;
        grid-row: 1;
    }

    .wp-component-row > .wp-component-name {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
    }

    .wp-component-row > span:nth-child(3),
    .wp-component-row > span:nth-child(4) {
        grid-column: 2;
        display: grid;
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 8px;
    }

    .wp-component-row > span:nth-child(3) {
        grid-row: 2;
    }

    .wp-component-row > span:nth-child(4) {
        grid-row: 3;
    }

    .wp-component-row > .status-badge {
        grid-column: 2;
        grid-row: 4;
        justify-self: start;
        max-width: 100%;
        white-space: normal;
    }

    .wp-action-grid .check-line {
        min-width: 0;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .wp-profile-fields,
    .wp-site-settings-grid,
    .wp-site-settings-grid .two-col {
        grid-template-columns: 1fr;
    }

    .wp-profile-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wp-profile-actions,
    .wp-profile-actions form,
    .wp-profile-actions button {
        width: 100%;
    }
    .wp-manager-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wp-overview-head {
        display: grid;
        grid-template-columns: 1fr;
    }

    .wp-site-hero-head {
        display: grid;
        grid-template-columns: 1fr;
    }

    .wp-site-actions,
    .wp-overview-actions {
        display: grid;
        width: 100%;
        max-width: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wp-site-actions > *,
    .wp-overview-actions > * {
        width: 100%;
    }

    .wp-site-actions > :last-child,
    .wp-overview-actions > :last-child {
        grid-column: 1 / -1;
    }

    .wp-site-actions button,
    .wp-site-actions .button,
    .wp-overview-actions button,
    .wp-overview-actions .button {
        width: 100%;
        white-space: normal;
    }

    .wp-site-tabs {
        margin-top: 14px;
    }

    .wp-site-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wp-site-metrics > div,
    .wp-site-metrics > div:nth-child(3n),
    .wp-site-metrics > div:nth-child(4) {
        padding: 6px 12px;
        border-right: 1px solid var(--border);
    }

    .wp-site-metrics > div:nth-child(odd) {
        padding-left: 0;
    }

    .wp-site-metrics > div:nth-child(even) {
        padding-right: 0;
        border-right: 0;
    }

    .wp-settings-grid {
        grid-template-columns: 1fr;
    }

    .wp-settings-grid > div,
    .wp-settings-grid > div:nth-child(2n),
    .wp-settings-grid > div:nth-child(4n) {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .wp-settings-grid > div:last-child {
        border-bottom: 0;
    }

    .wp-action-grid .panel,
    .wp-manager-section,
    .wp-foundation-preview {
        min-width: 0;
    }

    .wp-backup-table {
        min-width: 720px;
    }
}

/* PBX Server */
.pbx-summary,
.pbx-metric-grid,
.pbx-operation-metrics,
.pbx-settings-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.pbx-summary > div,
.pbx-summary-card,
.pbx-metric-grid > div,
.pbx-operation-metrics > div,
.pbx-settings-strip > div {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--panel);
}

.pbx-summary-card {
    position: relative;
    overflow: hidden;
}

.pbx-summary-card::after {
    position: absolute;
    right: 14px;
    bottom: 12px;
    width: 28px;
    height: 3px;
    border-radius: 3px;
    background: var(--accent-soft);
    content: "";
}

.pbx-summary span,
.pbx-metric-grid span,
.pbx-operation-metrics span,
.pbx-settings-strip span,
.pbx-server-row > div > span {
    display: block;
    color: var(--muted);
    font-size: 13px;
}

.pbx-summary strong,
.pbx-metric-grid strong,
.pbx-operation-metrics strong,
.pbx-settings-strip strong {
    display: block;
    margin-top: 6px;
    overflow-wrap: anywhere;
    font-size: 22px;
}

.pbx-metric-grid,
.pbx-operation-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pbx-settings-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pbx-metric-grid small,
.pbx-settings-strip small {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.pbx-index-head,
.pbx-server-hero,
.pbx-operation-hero {
    align-items: center;
}

.pbx-server-hero,
.pbx-operation-hero {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.pbx-server-hero h2,
.pbx-operation-hero h2 {
    margin: 6px 0;
}

.pbx-install-confirmation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.pbx-install-confirmation h2,
.pbx-setup-status h2 {
    margin: 6px 0 0;
}

.pbx-install-confirmation p,
.pbx-setup-status p {
    margin: 8px 0 0;
}

.pbx-filter-grid {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(2, minmax(160px, 1fr)) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 18px;
}

.pbx-filter-grid button {
    min-width: 84px;
}

.pbx-server-grid,
.pbx-operation-list,
.pbx-phase-list {
    display: grid;
    gap: 8px;
}

.pbx-server-row {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) repeat(4, minmax(100px, .75fr)) auto;
    gap: 14px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}

.pbx-server-row:last-child {
    border-bottom: 0;
}

.pbx-server-identity {
    min-width: 0;
}

.pbx-server-identity strong,
.pbx-server-identity > span:last-child {
    display: block;
    overflow-wrap: anywhere;
}

.pbx-server-identity strong {
    margin: 3px 0;
    font-size: 17px;
}

.pbx-server-actions {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.pbx-destructive-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.pbx-destructive-actions form,
.pbx-destructive-actions button,
.pbx-destructive-actions input {
    min-width: 0;
}

.pbx-server-actions .pbx-destructive-actions button {
    width: 100%;
    padding: 8px 10px;
}

.pbx-demo-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 9px;
    border: 1px solid #92d9cf;
    border-radius: 999px;
    background: #e8f8f5;
    color: #08695f;
    font-size: 12px;
    font-weight: 800;
}

.pbx-demo-notice {
    display: flex;
    gap: 10px 18px;
    align-items: center;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid #92d9cf;
    border-radius: 6px;
    background: #f0fbf9;
}

.pbx-demo-notice span {
    color: var(--muted);
}

.pbx-operation-list > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    padding: 12px;
    color: var(--text);
    text-decoration: none;
    border: 1px solid var(--border);
    border-radius: 6px;
}

.pbx-operation-list > a:hover {
    border-color: var(--accent);
    background: var(--soft);
}

.pbx-operation-list > a > span:first-child {
    min-width: 0;
}

.pbx-operation-list strong,
.pbx-operation-list small {
    display: block;
    overflow-wrap: anywhere;
}

.pbx-operation-list small {
    margin-top: 3px;
    color: var(--muted);
}

.pbx-wizard-steps {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
    margin: 16px 0 24px;
    list-style: none;
}

.pbx-wizard-steps li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-weight: 700;
    font-size: 13px;
}

.pbx-wizard-steps li span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    color: #fff;
    background: var(--accent);
}

.pbx-create-form {
    display: grid;
    gap: 18px;
}

.pbx-create-form fieldset {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 6px;
}

.pbx-create-form legend {
    padding: 0 7px;
    font-weight: 800;
}

.pbx-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pbx-guidance {
    display: grid;
    gap: 4px;
    align-content: center;
    padding: 12px;
    border-left: 3px solid var(--accent);
    background: var(--soft);
}

.pbx-guidance span {
    color: var(--muted);
}

.pbx-confirm-strip,
.pbx-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.pbx-confirm-strip {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--soft);
}

.pbx-confirm-strip span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
}

.pbx-detail-grid,
.pbx-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.pbx-detail-grid > .panel,
.pbx-profile-grid > .panel {
    min-width: 0;
    margin: 0;
}

.pbx-kv-list {
    display: grid;
    gap: 0;
    margin: 0 0 16px;
}

.pbx-kv-list > div {
    display: grid;
    grid-template-columns: minmax(120px, .75fr) minmax(0, 1.25fr);
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid var(--border);
}

.pbx-kv-list dt {
    color: var(--muted);
    font-weight: 700;
}

.pbx-kv-list dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.pbx-secret-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.pbx-secret-row input {
    width: 100%;
    min-width: 0;
}

.pbx-component-list {
    max-height: 560px;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: 6px;
    scrollbar-width: thin;
}

.pbx-component-row {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto minmax(120px, auto);
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
}

.pbx-component-row:last-child {
    border-bottom: 0;
}

.pbx-component-row small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
}

.pbx-component-row time {
    color: var(--muted);
    font-size: .875rem;
    text-align: right;
}

.pbx-component-select {
    display: grid;
    place-items: center;
    min-height: 24px;
}

.pbx-component-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}

.pbx-password-reset {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-top: 18px;
}

.pbx-password-reset label {
    min-width: 0;
}

.pbx-inline-action,
.pbx-profile-test {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-top: 10px;
}

.pbx-table {
    min-width: 920px;
}

.pbx-restore-form {
    display: flex;
    gap: 6px;
}

.pbx-danger-zone {
    border-color: #f4b8b1;
}

.pbx-danger-zone form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pbx-danger-zone > .pbx-destructive-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    width: auto;
}

.pbx-danger-zone > .pbx-destructive-actions form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pbx-danger-zone > .pbx-destructive-actions .check-line {
    max-width: 210px;
}

.pbx-danger-zone > .pbx-destructive-actions button {
    width: auto;
    min-width: 132px;
    white-space: nowrap;
}

.pbx-progress-track {
    height: 10px;
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 5px;
    background: var(--soft);
}

.pbx-progress-track > span {
    display: block;
    height: 100%;
    background: var(--accent);
}

.pbx-phase-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 16px;
}

.pbx-phase-list > div {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 6px;
}

.pbx-phase-list > div.is-complete {
    border-color: #9bd8bd;
    background: #effaf4;
}

.pbx-log-scroll {
    max-height: 520px;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--border);
    border-radius: 6px;
}

.pbx-log-scroll > div {
    padding: 14px;
    border-bottom: 1px solid var(--border);
}

.pbx-log-scroll > div:last-child {
    border-bottom: 0;
}

.pbx-log-scroll pre {
    margin: 8px 0 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font: 13px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.pbx-log-error {
    color: var(--danger);
    background: #fff6f5;
}

@media (max-width: 1180px) {
    .pbx-server-row {
        grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(100px, 1fr)) auto;
    }

    .pbx-server-row > div:nth-child(4),
    .pbx-server-row > div:nth-child(5) {
        display: none;
    }

    .pbx-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .pbx-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pbx-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pbx-filter-grid > label:first-of-type {
        grid-column: 1 / -1;
    }

    .pbx-filter-grid button {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .pbx-install-confirmation {
        align-items: stretch;
        flex-direction: column;
    }

    .pbx-install-confirmation form,
    .pbx-install-confirmation button {
        width: 100%;
    }

    .pbx-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pbx-summary > div:last-child {
        grid-column: 1 / -1;
    }

    .pbx-metric-grid,
    .pbx-operation-metrics,
    .pbx-settings-strip,
    .pbx-detail-grid,
    .pbx-profile-grid,
    .pbx-form-grid,
    .pbx-phase-list,
    .pbx-filter-grid {
        grid-template-columns: 1fr;
    }

    .pbx-wizard-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pbx-component-row {
        grid-template-columns: 24px minmax(0, 1fr) auto;
    }

    .pbx-component-row time {
        grid-column: 2 / -1;
        text-align: left;
    }

    .pbx-component-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .pbx-component-actions button {
        width: 100%;
    }

    .pbx-index-head,
    .pbx-server-hero,
    .pbx-operation-hero,
    .pbx-confirm-strip,
    .pbx-danger-zone {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pbx-server-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 14px;
        border: 1px solid var(--border);
        border-radius: 6px;
    }

    .pbx-server-row > .pbx-server-identity,
    .pbx-server-row > .pbx-server-actions {
        grid-column: 1 / -1;
    }

    .pbx-server-row > div:nth-child(4),
    .pbx-server-row > div:nth-child(5) {
        display: block;
    }

    .pbx-server-row > .pbx-server-actions,
    .pbx-server-row > .pbx-server-actions > a,
    .pbx-server-hero .button-row,
    .pbx-operation-hero .button-row,
    .pbx-confirm-strip button,
    .pbx-danger-zone form,
    .pbx-danger-zone input,
    .pbx-danger-zone button,
    .pbx-profile-item .button-row,
    .pbx-profile-item form,
    .pbx-profile-item button {
        width: 100%;
    }

    .pbx-operation-list > a {
        align-items: flex-start;
        flex-direction: column;
    }

    .pbx-kv-list > div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .pbx-restore-form,
    .pbx-danger-zone form,
    .pbx-danger-zone > .pbx-destructive-actions,
    .pbx-danger-zone > .pbx-destructive-actions form {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pbx-password-reset {
        grid-template-columns: 1fr;
    }

    .pbx-log-scroll {
        max-height: 420px;
    }
}

@media (max-width: 620px) {
    .pbx-summary,
    .pbx-filter-grid {
        grid-template-columns: 1fr;
    }

    .pbx-summary > div:last-child,
    .pbx-filter-grid > label:first-of-type {
        grid-column: auto;
    }

    .pbx-demo-notice {
        display: grid;
    }

    .pbx-index-head .button-row,
    .pbx-index-head .button-row .button {
        width: 100%;
    }
}
.wp-security-grid { display: grid; gap: 12px; margin-top: 18px; }
.wp-security-item { border: 1px solid var(--border, #d7e0ea); border-left: 4px solid #d69a2d; padding: 16px; background: #fff; border-radius: 6px; min-width: 0; }
.wp-security-item.severity-critical { border-left-color: #bd2b20; }
.wp-security-item header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.wp-security-item header > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.wp-security-item details pre { max-height: 240px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.wp-security-actions form { display: flex; align-items: center; gap: 8px; }
@media (max-width: 720px) {
    .wp-security-item header, .wp-security-item header > div, .wp-security-actions, .wp-security-actions form { align-items: stretch; flex-direction: column; }
    .wp-security-actions button, .wp-security-actions select { width: 100%; }
}
.wp-safety-panel { border-left: 4px solid #64748b; }
.wp-safety-panel.status-safe { border-left-color: #15803d; }
.wp-safety-panel.status-attention { border-left-color: #b45309; }
.wp-safety-panel.status-danger { border-left-color: #b42318; }
.wp-safety-findings { margin-top: 16px; }
.wp-safety-findings h3 { margin: 0 0 10px; }
.wp-safety-finding { padding: 12px 0; border-top: 1px solid var(--border); }
.wp-safety-finding > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.wp-safety-finding strong { overflow-wrap: anywhere; }
.wp-safety-finding p { margin: 6px 0; color: var(--muted); }
.wp-safety-actions { margin-top: 16px; }
.wp-malware-findings { display: grid; gap: 12px; }
.wp-malware-finding { border: 1px solid var(--border, #d8e0ea); padding: 16px; border-radius: 6px; min-width: 0; }
.wp-malware-finding code { overflow-wrap: anywhere; }
@media (max-width: 720px) {
    .wp-safety-finding > div, .wp-safety-actions { align-items: stretch; flex-direction: column; }
    .wp-safety-actions, .wp-safety-actions form, .wp-safety-actions .button, .wp-safety-actions button { width: 100%; }
    .wp-malware-finding { padding: 12px; }
}

/* Telesale App */
.telesale-metrics > div {
    min-width: 0;
    min-height: 92px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--panel);
}

.telesale-metrics > div > span {
    display: block;
    color: var(--muted);
    font-size: 13px;
}

.telesale-metrics > div > strong {
    display: block;
    margin-top: 7px;
    font-size: 24px;
    line-height: 1.15;
}

.telesale-index-head {
    align-items: flex-start;
}

.telesale-index-actions {
    flex: 0 0 auto;
}

.telesale-filter-grid {
    grid-template-columns: minmax(240px, 2fr) minmax(180px, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.telesale-filter-grid button {
    min-width: 82px;
}

.telesale-server-list { display: grid; }
.telesale-server-row { display: grid; grid-template-columns: minmax(260px,2fr) minmax(280px,1fr) auto; gap: 20px; align-items: center; padding: 18px 0; border-top: 1px solid var(--border); }
.telesale-server-row:first-child { border-top: 0; }
.telesale-server-identity { min-width: 0; }
.telesale-server-identity h3 { margin: 4px 0; }
.telesale-server-identity a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.telesale-server-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; min-width: 0; }
.telesale-server-state { display: grid; gap: 6px; }
.telesale-server-label { display: block; color: var(--muted); font-size: 13px; line-height: 1.35; }
.telesale-server-action { justify-self: end; }
.status-badge { display: inline-flex; width: fit-content; padding: 5px 10px; border-radius: 999px; background: #edf2f6; font-size: 13px; line-height: 1.2; }
.status-installed,.status-completed,.status-healthy { color: #067647; background: #e8f8ef; }
.status-failed,.status-critical,.status-unhealthy { color: #b42318; background: #fff0ee; }
.status-running,.status-pending,.status-preflight_completed { color: #8a5100; background: #fff6df; }
.telesale-plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.telesale-plan-item { display: grid; gap: 7px; min-width: 0; padding: 14px 16px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.telesale-plan-component { display: block; color: var(--muted); font-size: 13px; line-height: 1.35; }
.telesale-plan-action { display: block; overflow-wrap: anywhere; }
.telesale-technical { margin-top: 16px; }
.telesale-technical pre { max-height: 320px; overflow: auto; }
.telesale-operation-list { display: grid; }
.telesale-operation-list > a { display: grid; grid-template-columns: minmax(0,1fr) 64px auto; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--border); color: inherit; text-decoration: none; }
.telesale-operation-list > a:first-child { border-top: 0; }
.telesale-operation-name { display: grid; gap: 4px; min-width: 0; }
.telesale-operation-message { display: block; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.telesale-operation-progress { text-align: right; font-variant-numeric: tabular-nums; }

.telesale-operation-panel .section-head { margin-bottom: 0; }
.telesale-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.telesale-action-group {
    display: flex;
    min-width: 0;
    min-height: 238px;
    padding: 20px;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    border-left: 1px solid var(--border);
}
.telesale-action-group:first-child { border-left: 0; }
.telesale-action-group h3 { margin: 5px 0 6px; font-size: 18px; }
.telesale-action-group p { margin: 0; line-height: 1.5; }
.telesale-action-buttons { display: grid; grid-template-columns: 1fr; gap: 8px; }
.telesale-action-buttons form,
.telesale-action-buttons button,
.telesale-action-buttons .button { width: 100%; min-width: 0; }
.telesale-action-buttons .button { justify-content: center; }
.telesale-action-empty { padding: 10px 0; }

.telesale-danger-zone { border-color: #f2c8c4; }
.telesale-danger-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(140px, 190px);
    align-items: center;
    gap: 0 24px;
    border-top: 1px solid var(--border);
}
.telesale-danger-grid > div,
.telesale-danger-grid > button { margin-top: 0; }
.telesale-danger-grid > div { display: grid; gap: 4px; padding: 16px 0; }
.telesale-danger-grid > div:nth-of-type(2) { border-top: 1px solid var(--border); }
.telesale-danger-grid > button { width: 100%; }
.secondary-danger { color: var(--danger); background: #fff; border: 1px solid #efb4ae; }
.secondary-danger:hover:not(:disabled) { background: #fff4f2; }

.telesale-confirm-dialog {
    width: min(520px, calc(100vw - 32px));
    padding: 0;
    border: 0;
    border-radius: 6px;
    color: var(--text);
    background: var(--panel);
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
}
.telesale-confirm-dialog::backdrop { background: rgba(15, 23, 42, .55); }
.telesale-confirm-dialog form { margin: 0; }
.telesale-dialog-body { padding: 24px; }
.telesale-dialog-body h2 { margin: 6px 0 10px; }
.telesale-dialog-body p { margin: 0 0 18px; color: var(--muted); line-height: 1.55; }
.telesale-dialog-body label { display: grid; gap: 7px; }
.telesale-backup-choice { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; border: 0; }
.telesale-backup-choice legend { margin-bottom: 8px; color: var(--text); font-weight: 700; }
.telesale-backup-option { grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: #f8fafc; cursor: pointer; }
.telesale-backup-option input[type="radio"] { width: 18px; min-height: 18px; margin: 2px 4px 0 0; padding: 0; accent-color: var(--accent); }
.telesale-backup-option span { display: grid; gap: 3px; }
.telesale-backup-option small { color: var(--muted); font-weight: 500; line-height: 1.45; }
.telesale-backup-option-danger { border-color: #efb4ae; background: #fff4f2; }
.telesale-backup-option-danger small { color: var(--danger); }
.telesale-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 24px;
    border-top: 1px solid var(--border);
    background: #f8fafc;
}

.telesale-setup-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.telesale-setup-head h2 { margin: 5px 0; }
.telesale-setup-head p { margin: 0; color: var(--muted); }
.telesale-setup-form { display: grid; gap: 0; }
.telesale-setup-section {
    display: grid;
    grid-template-columns: minmax(210px, .75fr) minmax(0, 2fr);
    gap: 28px;
    padding: 24px 0;
    border-top: 1px solid var(--border);
}
.telesale-setup-section:first-of-type { border-top: 0; padding-top: 0; }
.telesale-setup-section h3 { margin: 0 0 6px; }
.telesale-setup-section p { margin: 0; color: var(--muted); line-height: 1.55; }
.telesale-setup-section .field { display: grid; gap: 7px; min-width: 0; }
.telesale-setup-section .field small { color: var(--muted); }
.telesale-setup-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.telesale-setup-fields .field-wide { grid-column: 1 / -1; }
.telesale-checklist ol { margin: 0; padding-left: 22px; }
.telesale-checklist li { margin-bottom: 9px; line-height: 1.5; }
.telesale-setup-form .form-actions { display: flex; justify-content: flex-end; padding-top: 20px; border-top: 1px solid var(--border); }

@media (max-width: 720px) {
    .metric-grid.telesale-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 14px;
    }

    .telesale-metrics > div {
        min-height: 82px;
        padding: 13px;
    }

    .telesale-metrics > div > strong {
        font-size: 22px;
    }

    .telesale-index-head {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .telesale-index-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .telesale-index-actions .button {
        width: 100%;
        min-width: 0;
        justify-content: center;
        padding-inline: 10px;
        white-space: normal;
        text-align: center;
    }

    .telesale-filter-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .telesale-filter-grid button {
        width: 100%;
    }

    .telesale-server-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .telesale-server-identity,
    .telesale-server-meta,
    .telesale-server-action,
    .telesale-server-action .button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .telesale-server-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .telesale-server-action { justify-self: stretch; }
    .telesale-plan-grid { grid-template-columns: 1fr; }
    .telesale-operation-list > a { grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
    .telesale-operation-progress { display: none; }
    .telesale-operation-message { white-space: normal; }

    .telesale-action-grid { grid-template-columns: 1fr; }
    .telesale-action-group { min-height: 0; padding: 18px 0; border-left: 0; border-top: 1px solid var(--border); }
    .telesale-action-group:first-child { border-top: 0; }
    .telesale-action-buttons { grid-template-columns: 1fr; }
    .telesale-action-buttons button,
    .telesale-action-buttons .button { height: 100%; white-space: normal; text-align: center; }

    .telesale-danger-grid { grid-template-columns: 1fr; gap: 0; }
    .telesale-danger-grid > div { padding-bottom: 10px; }
    .telesale-danger-grid > div:nth-of-type(2) { margin-top: 18px; padding-top: 18px; }
    .telesale-danger-grid > button { margin-bottom: 2px; }
    .telesale-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .telesale-dialog-actions button { width: 100%; }

    .telesale-setup-head { align-items: stretch; flex-direction: column; }
    .telesale-setup-head .button { width: 100%; justify-content: center; }
    .telesale-setup-section { grid-template-columns: 1fr; gap: 16px; }
    .telesale-setup-fields { grid-template-columns: 1fr; }
    .telesale-setup-fields .field-wide { grid-column: auto; }
    .telesale-setup-form .form-actions,
    .telesale-setup-form .form-actions button { width: 100%; }
}

@media (max-width: 420px) {
    .telesale-index-actions {
        grid-template-columns: 1fr;
    }

    .telesale-server-meta {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .telesale-action-buttons,
    .telesale-dialog-actions { grid-template-columns: 1fr; }
}
.identity-rate-bulk .table-wrap { max-height: 36rem; overflow: auto; }
.identity-rate-bulk table { min-width: 980px; }
.identity-rate-bulk td code { white-space: nowrap; }
.deliverability-panel .app-deliverability-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.app-deliverability-form{display:inline-flex;align-items:center;gap:8px}
.app-deliverability-table-wrap{overflow-x:auto;border:1px solid var(--border,#d8e0ea);border-radius:12px}
.app-deliverability-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}
.app-deliverability-table th:nth-child(1),.app-deliverability-table td:nth-child(1){width:10%}
.app-deliverability-table th:nth-child(2),.app-deliverability-table td:nth-child(2){width:21%}
.app-deliverability-table th:nth-child(3),.app-deliverability-table td:nth-child(3){width:28%}
.app-deliverability-table th:nth-child(4),.app-deliverability-table td:nth-child(4){width:19%}
.app-deliverability-table th:nth-child(5),.app-deliverability-table td:nth-child(5){width:13%}
.app-deliverability-table th:nth-child(6),.app-deliverability-table td:nth-child(6){width:9%}
.app-deliverability-table td:nth-child(5){font-size:.86rem}
.app-deliverability-provider{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.78rem;font-weight:800}
.app-deliverability-provider-cloudflare{color:#075985;background:#e0f2fe}
.app-deliverability-provider-other{color:#475569;background:#f1f5f9}
.app-deliverability-addresses{display:flex;flex-wrap:wrap;gap:6px}
.app-deliverability-addresses code{display:inline-flex;padding:5px 8px;border-radius:7px;background:#eef4ff;color:#183b72;overflow-wrap:anywhere}
.app-deliverability-table th,.app-deliverability-table td{padding:14px 12px;border-bottom:1px solid var(--border,#d8e0ea);text-align:left;vertical-align:top}
.app-deliverability-table th{background:#f7f9fc;color:#52647d;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.app-deliverability-value{display:block;width:100%;min-width:260px;resize:vertical;border:1px solid #cbd6e4;border-radius:8px;padding:8px;background:#fff;color:#17243b;font:inherit}
.app-deliverability-table code{overflow-wrap:anywhere;white-space:pre-wrap}
.app-deliverability-observed-code{display:block;max-height:calc(1.55em * 4);overflow:hidden;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.app-deliverability-observed-code.is-expanded{max-height:none;overflow:visible}
.app-deliverability-observed-toggle{margin-top:8px}
.copy-button{display:block;margin-top:7px;border:0;border-radius:7px;padding:6px 9px;background:#eaf0f6;color:#18324d;cursor:pointer;font-weight:600}
@media (max-width:700px){.deliverability-panel .app-deliverability-toolbar{display:grid;grid-template-columns:1fr}.app-deliverability-form{width:100%;display:flex;flex-wrap:wrap}.app-deliverability-form button,.app-deliverability-form select{width:100%;min-height:42px}.app-deliverability-table{min-width:760px}.app-deliverability-table td{padding:11px 9px}}
.smtp-relay-panel{display:grid;gap:24px}
.smtp-relay-heading,.smtp-relay-section-head,.smtp-relay-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.smtp-relay-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.smtp-relay-summary>div{padding:16px;border:1px solid var(--border,#d8e0ea);border-radius:12px;background:#f8fafc}
.smtp-relay-summary span,.smtp-relay-provider-main span,.smtp-relay-provider-main small,.smtp-relay-provider-limits span{display:block;color:#64748b}
.smtp-relay-summary strong{display:block;margin-top:7px;line-height:1.35}
.smtp-relay-config,.smtp-relay-history{border:1px solid var(--border,#d8e0ea);border-radius:12px;padding:16px}
.smtp-relay-config summary,.smtp-relay-history summary{cursor:pointer;font-weight:800}
.smtp-relay-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.smtp-relay-form-grid label{display:grid;gap:7px;font-weight:700}
.smtp-relay-form-grid label small{font-weight:400;color:#64748b}
.smtp-relay-form-grid input,.smtp-relay-form-grid select,.smtp-relay-form-grid textarea,.smtp-relay-route-form input,.smtp-relay-route-form select,.smtp-relay-test-strip input{width:100%}
.smtp-relay-field-wide,.smtp-relay-form-grid>button{grid-column:1/-1}
.smtp-relay-pools{display:grid;gap:16px}
.smtp-relay-pool-card{border:1px solid var(--border,#d8e0ea);border-radius:14px;overflow:visible;background:#fff}
.smtp-relay-pool-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;background:#f8fafc;border-radius:14px 14px 0 0}
.smtp-relay-pool-header-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.smtp-relay-pool-card h3{margin:5px 0}
.smtp-relay-port{font-size:.78rem;font-weight:800;color:#087f73;background:#e5f7f3;border-radius:999px;padding:5px 9px}
.smtp-relay-provider-list{padding:0 18px}
.smtp-relay-provider-row{display:grid;grid-template-columns:minmax(220px,1.4fr) auto minmax(150px,.7fr) minmax(210px,auto);align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--border,#d8e0ea)}
.smtp-relay-provider-row:last-child{border-bottom:0}
.smtp-relay-provider-main{min-width:0;overflow-wrap:anywhere}
.smtp-relay-provider-limits{font-size:.86rem}
.smtp-relay-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
.smtp-relay-actions form,.smtp-relay-inline-form{display:inline-flex;margin:0}
.smtp-relay-actions button{white-space:nowrap;width:auto}
.smtp-relay-secret-form{display:grid!important;grid-template-columns:minmax(150px,1fr) auto auto;gap:8px;width:min(100%,430px)}
.smtp-relay-secret-form input{min-width:0;width:100%}
.smtp-relay-dialog{width:min(760px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:0;border-radius:16px;padding:24px;box-shadow:0 24px 70px #0f172a55}
.smtp-relay-dialog::backdrop{background:#0f172a88}
.smtp-relay-dialog>form{display:grid;gap:16px}
.smtp-relay-dialog>form>label{display:grid;gap:7px;font-weight:700}
.smtp-relay-delete-warning{display:grid;gap:6px;padding:14px 16px;border:1px solid #fecaca;border-radius:12px;background:#fff1f2;color:#991b1b}
.smtp-relay-delete-warning span{color:#b42318}
.smtp-relay-delete-target,.smtp-relay-delete-stats>div{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--border,#d8e0ea);border-radius:12px;background:#f8fafc}
.smtp-relay-delete-target span,.smtp-relay-delete-stats span{font-size:.82rem;color:#64748b}
.smtp-relay-delete-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.smtp-relay-danger-zone{display:grid!important;gap:12px;margin:18px 0 0!important;padding:16px;border:1px solid #fecaca;border-radius:12px;background:#fff1f2}
.smtp-relay-danger-zone>label{display:grid;gap:7px;font-weight:700}
.smtp-relay-danger-zone .danger{width:100%}
.smtp-relay-check{display:flex!important;align-items:center;gap:9px}
.smtp-relay-check input{width:auto!important}
.smtp-relay-table-wrap{overflow-x:auto;border:1px solid var(--border,#d8e0ea);border-radius:12px}
.smtp-relay-table{width:100%;min-width:720px;border-collapse:collapse}
.smtp-relay-table th,.smtp-relay-table td{padding:13px;text-align:left;border-bottom:1px solid var(--border,#d8e0ea)}
.smtp-relay-table th{font-size:.78rem;text-transform:uppercase;color:#64748b;background:#f8fafc}
.smtp-relay-route-form{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr 100px auto;gap:10px;align-items:end}
.smtp-relay-test-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border-radius:14px;background:#f0fdfa;border:1px solid #99f6e4}
.smtp-relay-test-strip form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px}
.smtp-relay-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:16px}
@media(max-width:980px){.smtp-relay-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.smtp-relay-provider-row{grid-template-columns:minmax(0,1fr) auto}.smtp-relay-provider-limits,.smtp-relay-actions{grid-column:1/-1}.smtp-relay-actions{justify-content:flex-start}.smtp-relay-route-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.smtp-relay-heading,.smtp-relay-section-head,.smtp-relay-pool-card>header,.smtp-relay-test-strip{align-items:stretch;flex-direction:column}.smtp-relay-heading .button-row,.smtp-relay-heading .button-row form,.smtp-relay-heading button,.smtp-relay-pool-header-actions,.smtp-relay-pool-header-actions button{width:100%}.smtp-relay-summary,.smtp-relay-form-grid,.smtp-relay-provider-row,.smtp-relay-route-form,.smtp-relay-test-strip form,.smtp-relay-history-grid,.smtp-relay-delete-stats{grid-template-columns:1fr}.smtp-relay-field-wide,.smtp-relay-form-grid>button{grid-column:auto}.smtp-relay-actions{display:grid;grid-template-columns:1fr}.smtp-relay-actions form,.smtp-relay-actions button{width:100%}.smtp-relay-secret-form{grid-template-columns:1fr 1fr;width:100%}.smtp-relay-secret-form input{grid-column:1/-1}.smtp-relay-secret-form button{width:100%}.smtp-relay-dialog{padding:18px}.smtp-relay-danger-zone{margin-top:14px!important}}
.mail-security-panel{display:grid;gap:22px}
.mail-security-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.mail-security-heading h2,.mail-security-runtime h3{margin:5px 0}
.mail-security-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mail-security-summary>div,.mail-security-runtime>article{display:grid;gap:6px;padding:16px;border:1px solid var(--border,#d8e0ea);border-radius:13px;background:#f8fafc;min-width:0}
.mail-security-summary span,.mail-security-summary small{color:#64748b}
.mail-security-summary strong{overflow-wrap:anywhere}.mail-security-summary .is-ok{color:#087f5b}.mail-security-summary .is-warning{color:#b45309}
.mail-security-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:16px;align-items:start}
.mail-security-config,.mail-security-tools>details{border:1px solid var(--border,#d8e0ea);border-radius:13px;padding:16px;background:#fff}
.mail-security-config summary,.mail-security-tools summary{cursor:pointer;font-weight:800}
.mail-security-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.mail-security-form label,.mail-security-secret-grid label{display:grid;gap:7px;font-weight:700}.mail-security-form label small{font-weight:400;color:#64748b}
.mail-security-form input,.mail-security-form select,.mail-security-inline-form input,.mail-security-inline-form select,.mail-security-secret-grid input{width:100%}
.mail-security-wide{grid-column:1/-1}.mail-security-check{display:flex!important;align-items:center;gap:9px}.mail-security-check input{width:auto!important}
.mail-security-runtime,.mail-security-tools{display:grid;gap:14px}.mail-security-runtime .button-row{margin-top:8px}.mail-security-runtime article p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0}
.mail-security-secret-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.mail-security-secret-grid form{display:grid;gap:10px}
.mail-security-dqs-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:16px}.mail-security-dqs-heading p{margin:8px 0 0;color:#64748b}.mail-security-dqs-heading a{white-space:nowrap}.mail-security-dqs-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font-weight:800}.mail-security-dqs-status.is-active{background:#dcfce7;color:#166534}.mail-security-dqs-status.is-warning,.mail-security-dqs-status.is-saved{background:#fef3c7;color:#92400e}.mail-security-dqs-status.is-error{background:#fee2e2;color:#b91c1c}.mail-security-dqs-guide{margin-top:14px;padding:14px 16px;border:1px solid #bae6fd;border-radius:11px;background:#f0f9ff;color:#0c4a6e}.mail-security-dqs-guide ol{margin:9px 0;padding-left:21px}.mail-security-dqs-guide small{display:block;color:#475569}.mail-security-dqs-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.mail-security-dqs-actions form{margin:0}
.mail-security-inline-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) auto;gap:10px;margin-top:14px;align-items:end}
.mail-security-quarantine-list{display:grid;gap:10px;margin-top:14px}.mail-security-quarantine-list>article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid var(--border,#d8e0ea);border-radius:11px;background:#f8fafc}.mail-security-quarantine-list>article>div:first-child{display:grid;gap:4px;min-width:0}.mail-security-quarantine-list strong,.mail-security-quarantine-list span,.mail-security-quarantine-list small{overflow-wrap:anywhere}.mail-security-quarantine-list span,.mail-security-quarantine-list small{color:#64748b}.mail-security-quarantine-list .button-row{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}.mail-security-quarantine-list form{margin:0}
.mail-security-technical pre{max-height:260px;overflow:auto;margin:14px 0 0;padding:14px;border-radius:10px;background:#0f172a;color:#e2e8f0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:980px){.mail-security-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-security-columns{grid-template-columns:1fr}}
@media(max-width:700px){.mail-security-heading,.mail-security-dqs-heading{align-items:stretch;flex-direction:column}.mail-security-heading form,.mail-security-heading button,.mail-security-dqs-actions,.mail-security-dqs-actions form,.mail-security-dqs-actions button{width:100%}.mail-security-summary,.mail-security-form,.mail-security-secret-grid,.mail-security-inline-form{grid-template-columns:1fr}.mail-security-wide{grid-column:auto}.mail-security-runtime .button-row,.mail-security-runtime .button-row form,.mail-security-runtime .button-row button{width:100%}.mail-security-secret-grid .app-admin-copy-field{grid-template-columns:1fr 1fr}.mail-security-secret-grid .app-admin-copy-field input{grid-column:1/-1}.mail-security-quarantine-list>article{align-items:stretch;flex-direction:column}.mail-security-quarantine-list .button-row,.mail-security-quarantine-list .button-row form,.mail-security-quarantine-list .button-row button{width:100%}}
.app-admin-subpanel{margin:0 0 18px;padding:18px;border:1px solid #d9e2ec;border-radius:14px;background:#f8fafc}.app-admin-subpanel h4{margin:4px 0 6px}.app-admin-subpanel form{display:grid;gap:12px}.app-admin-check-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:12px;border:1px solid #d9e2ec;border-radius:10px;background:#fff}.app-admin-check-list label{display:flex;align-items:center;gap:8px;margin:0}.app-admin-check-list input{width:auto;margin:0}
.app-direct-sending-list{display:grid;gap:16px}.app-direct-sending-card{border:1px solid #d9e2ec;border-radius:14px;background:#f8fafc;overflow:hidden}.app-direct-sending-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #d9e2ec;background:#fff}.app-direct-sending-card>header div{display:grid;gap:3px}.app-direct-sending-card>header span{color:var(--muted)}.app-direct-sending-card form{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:16px;padding:18px}.app-direct-sender-scope{grid-column:1/-1;margin:0}.app-direct-sending-ips{align-self:end}.app-direct-sending-ips>[data-direct-ip-row]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.app-direct-sending-ips [data-direct-ip-row]>span:first-child{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.app-direct-sending-ips [data-direct-ip-row] small{color:var(--muted)}.app-direct-ip-primary{display:flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;color:#087f5b}.app-direct-ip-priority{display:flex;align-items:center;gap:.4rem;margin-left:auto;font-size:.82rem;color:var(--muted)}.app-direct-ip-priority input{width:5.5rem;min-height:2.25rem;padding:.35rem .5rem}.app-direct-sending-ips .is-unavailable{opacity:.62}.app-direct-policy-summary{grid-column:1/-1;border:1px solid #b8e5dc;border-radius:10px;background:#effbf8;padding:.75rem 1rem;color:#0b6253}.app-direct-sending-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-direct-sending-actions .app-admin-confirm-check{margin:0}.app-direct-sending-actions button{min-width:230px}.app-deliverability-route-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.app-deliverability-route-summary>div{display:grid;gap:6px;border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc;padding:14px}.app-deliverability-route-summary small{color:var(--muted);line-height:1.45}@media(max-width:760px){.app-direct-sending-card form,.app-deliverability-route-summary{grid-template-columns:1fr}.app-direct-sending-actions{align-items:stretch;flex-direction:column}.app-direct-sending-actions button{width:100%;min-width:0}.app-direct-ip-priority{width:100%;margin-left:1.65rem;justify-content:flex-start}}

/* App Installer responsive deployment cards and application navigation. */
.app-admin-nav {
    top: 78px;
    z-index: 20;
}

.app-admin-anchor {
    scroll-margin-top: 150px;
}

@media (max-width: 900px) {
    .app-admin-nav {
        top: 68px;
    }

    body.menu-open .app-admin-nav {
        visibility: hidden;
        pointer-events: none;
    }
}

@media (max-width: 760px) {
    .app-admin-nav {
        top: 62px;
        z-index: 20;
        display: flex;
        flex-wrap: nowrap;
        max-width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .app-admin-anchor {
        scroll-margin-top: 132px;
    }

    .app-installer-deployment-table-wrap {
        overflow: visible;
    }

    .app-installer-deployment-table {
        display: block;
        width: 100%;
        min-width: 0;
        table-layout: auto;
    }

    .app-installer-deployment-table thead {
        display: none;
    }

    .app-installer-deployment-table tbody {
        display: grid;
        width: 100%;
        gap: 14px;
    }

    .app-installer-deployment-table tr {
        display: block;
        width: 100%;
        padding: 14px;
        border: 1px solid var(--line);
        border-radius: 10px;
        background: var(--panel);
    }

    .app-installer-deployment-table td,
    .app-installer-deployment-table:has(th:nth-child(6)) td:nth-child(n) {
        display: grid;
        grid-template-columns: minmax(92px, .7fr) minmax(0, 1.3fr);
        width: 100%;
        min-width: 0;
        padding: 8px 0;
        border: 0;
        text-align: left;
        white-space: normal;
    }

    .app-installer-deployment-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .app-installer-deployment-table td a {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .app-installer-deployment-table td:last-child {
        display: block;
        width: 100%;
        padding-top: 12px;
        border-top: 1px solid var(--line);
    }

    .app-installer-deployment-table td:last-child::before {
        display: block;
        margin-bottom: 8px;
    }

    .app-installer-deployment-table .app-installer-row-actions {
        display: grid;
        grid-template-columns: 1fr;
        min-width: 0;
        width: 100%;
    }

    .app-installer-deployment-table .app-installer-row-actions .button-small,
    .app-installer-deployment-table .app-installer-row-actions button {
        width: 100%;
    }

    .app-installer-deployment-table td.empty-state {
        display: block;
        padding: 10px 0;
    }

    .app-installer-deployment-table td.empty-state::before {
        display: none;
    }
}
.app-installer-ssh-source-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.app-installer-ssh-source-summary>div,.app-installer-ssh-host-form,.app-installer-ssh-temporary,.app-installer-ssh-rollout{padding:16px;border:1px solid var(--border,#d8e1ec);border-radius:12px;background:#f8fafc}.app-installer-ssh-source-summary small,.app-installer-ssh-source-summary strong{display:block}.app-installer-ssh-source-summary small{color:#64748b;margin-bottom:6px}.app-installer-ssh-source-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.app-installer-ssh-actions{margin:16px 0}.app-installer-ssh-disable{display:flex;gap:8px}.app-installer-ssh-temporary>form{display:grid;grid-template-columns:1fr 150px 1.5fr auto;gap:10px}.app-installer-ssh-grant,.app-installer-ssh-global-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--border,#d8e1ec)}.app-installer-ssh-global-form{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:end;gap:12px}.app-installer-ssh-global-list article span{display:block;color:#64748b;margin-top:4px}.app-installer-ssh-rollout{margin-top:18px}.app-installer-ssh-rollout-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border,#d8e1ec)}.app-installer-ssh-rollout-row span,.app-installer-ssh-rollout-row small{display:block}@media(max-width:760px){.app-installer-ssh-source-summary{grid-template-columns:1fr 1fr}.app-installer-ssh-source-row,.app-installer-ssh-temporary>form,.app-installer-ssh-global-form{grid-template-columns:1fr}.app-installer-ssh-grant,.app-installer-ssh-global-list article{align-items:flex-start;flex-direction:column}.app-installer-ssh-disable{flex-direction:column;width:100%}}
.mautic-capacity-editor{border:1px solid var(--border);border-radius:12px;overflow:hidden}.mautic-capacity-editor>summary{display:flex;justify-content:space-between;gap:12px;padding:15px;background:#f8fafc;cursor:pointer}.mautic-capacity-editor>summary span{color:var(--muted)}.mautic-capacity-editor>form{padding:15px}.mautic-capacity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:15px}.mautic-capacity-grid article{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:9px}@media(max-width:760px){.mautic-capacity-editor>summary{display:grid}.mautic-capacity-grid{grid-template-columns:1fr}}
.mautic-send-control{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px;border:1px solid #d7e2ee;border-left:5px solid #64748b;border-radius:14px;background:#fff;margin:18px 0}.mautic-send-control.is-enabled{border-left-color:#0f8b7d}.mautic-send-control.is-applying{border-left-color:#d99a19}.mautic-send-control form{display:grid;gap:10px;min-width:260px}.mautic-send-control form label{display:grid;gap:5px;font-weight:700}.mautic-send-control small{display:block;margin-top:4px}.mautic-send-control-notice{margin-top:12px;padding:11px 13px;border:1px solid #f4c879;border-radius:9px;background:#fff8e8;color:#8a5200}.mautic-send-control-notice strong{display:block}.mautic-send-control-notice ul{margin:6px 0;padding-left:20px}.mautic-send-control-notice span{display:block}.mautic-send-control code{font-size:.9em}@media(max-width:720px){.mautic-send-control{display:block}.mautic-send-control form{min-width:0;margin-top:14px}}
.mautic-outbound-health {
    display: grid;
    grid-template-columns: minmax(240px, .8fr) minmax(0, 2fr);
    gap: 20px;
    margin: 20px 0;
    padding: 20px;
    border: 1px solid #f1c46b;
    border-radius: 14px;
    background: #fffaf0;
}
.mautic-outbound-health.is-ready { border-color: #92ddc9; background: #f2fcf8; }
.mautic-outbound-health h3 { margin: 4px 0 8px; }
.mautic-outbound-gates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mautic-outbound-gates > div { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border-radius: 10px; background: #fff; }
.mautic-outbound-gates .is-passed { border-left: 4px solid #11967f; }
.mautic-outbound-gates .is-failed { border-left: 4px solid #c83227; }
.mautic-outbound-gates span { color: #62718b; font-size: .9rem; }
.mautic-integration-archive{margin-top:18px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.mautic-integration-archive>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:#f8fafc;cursor:pointer}.mautic-integration-archive>summary span:first-child{display:grid;gap:4px}.mautic-integration-archive>summary small{color:var(--muted);font-weight:400}.mautic-integration-archive-list{padding:0 18px}.mautic-integration-archive-list>article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--border)}.mautic-integration-archive-list>article>div:first-child{display:grid;gap:5px;min-width:0}.mautic-integration-archive-list small{color:var(--muted);overflow-wrap:anywhere}.mautic-integration-pagination{display:flex;flex-wrap:wrap;gap:7px;padding:15px 18px}.mautic-integration-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border:1px solid var(--border);border-radius:8px;text-decoration:none}.mautic-integration-pagination a.is-current{background:#0f8b7d;color:#fff;border-color:#0f8b7d}@media(max-width:720px){.mautic-integration-archive-list>article{align-items:stretch;flex-direction:column}.mautic-integration-archive-list .button-row{display:grid;grid-template-columns:1fr}.mautic-integration-archive-list button{width:100%}}
@media (max-width: 760px) {
    .mautic-outbound-health, .mautic-outbound-gates { grid-template-columns: 1fr; }
}
.pmta-dns-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.pmta-dns-summary > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
    padding: 14px;
    border: 1px solid var(--border, #d9e2ec);
    border-radius: 10px;
    background: var(--surface-muted, #f7fafc);
}
.pmta-dns-summary small { color: var(--muted, #64748b); }
.pmta-dns-summary strong { font-size: 1.25rem; }
.pmta-dns-conflicts { margin-top: 16px; }
.pmta-dns-conflicts summary { cursor: pointer; font-weight: 700; }
.pmta-dns-conflicts li { margin-top: 10px; overflow-wrap: anywhere; }
