@import url("accessibility.css");

/*!
 * Start Bootstrap - SB Admin Bootstrap Admin Template (http://startbootstrap.com)
 * Code licensed under the Apache License v2.0.
 * For details, see http://www.apache.org/licenses/LICENSE-2.0.
 */

/* Global Styles */

body {
    margin-top: 100px;
    background-color: #222;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
}

a {
    cursor: pointer;
}

@media(min-width:768px) {
    body {
        margin-top: 50px;
    }
}

#wrapper {
    padding-left: 0;
}

#page-wrapper {
    width: 100%;
    padding: 0;
    background-color: #fff;
}

.huge {
    font-size: 50px;
    line-height: normal;
}

@media(min-width:768px) {
    #wrapper {
        padding-left: 225px;
    }

    #page-wrapper {
        padding: 10px;
    }
}

/* Keep absolutely positioned screen-reader labels inside the table scroller. */
.table-responsive {
    position: relative;
}

/* Top Navigation */

.top-nav {
    padding: 0 15px;
}

.top-nav>li {
    display: inline-block;
    float: left;
}

.top-nav>li>a {
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 20px;
    color: #999;
}

.top-nav>li>a:hover,
.top-nav>li>a:focus,
.top-nav>.open>a,
.top-nav>.open>a:hover,
.top-nav>.open>a:focus {
    color: #fff;
    background-color: #000;
}

.top-nav>.open>.dropdown-menu {
    float: left;
    position: absolute;
    margin-top: 0;
    border: 1px solid rgba(0,0,0,.15);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background-color: #fff;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
}

.top-nav>.open>.dropdown-menu>li>a {
    white-space: normal;
}

ul.message-dropdown {
    padding: 0;
    max-height: 250px;
    overflow-x: hidden;
    overflow-y: auto;
}

li.message-preview {
    width: 275px;
    border-bottom: 1px solid rgba(0,0,0,.15);
}

li.message-preview>a {
    padding-top: 15px;
    padding-bottom: 15px;
}

li.message-footer {
    margin: 5px 0;
}

ul.alert-dropdown {
    width: 200px;
}

/* Side Navigation */

@media(min-width:768px) {
    .side-nav {
        position: fixed;
        top: 51px;
        left: 225px;
        width: 225px;
        margin-left: -225px;
        border: none;
        border-radius: 0;
        overflow-y: auto;
        background-color: #222;
        bottom: 0;
        overflow-x: hidden;
        padding-bottom: 40px;
    }

    .side-nav>li>a {
        width: 225px;
    }

    .side-nav li a:hover,
    .side-nav li a:focus {
        outline: none;
        background-color: #000 !important;
    }
}

.side-nav>li>ul {
    padding: 0;
}

.side-nav>li>ul>li>a {
    display: block;
    padding: 10px 15px 10px 38px;
    text-decoration: none;
    color: #999;
}

.side-nav>li>ul>li>a:hover {
    color: #fff;
}

/* Flot Chart Containers */

.flot-chart {
    display: block;
    height: 400px;
}

.flot-chart-content {
    width: 100%;
    height: 100%;
}

/* Custom Colored Panels */

.huge {
    font-size: 40px;
}

.panel-green {
    border-color: #5cb85c;
}

.panel-green > .panel-heading {
    border-color: #5cb85c;
    color: #fff;
    background-color: #5cb85c;
}

.panel-green > a {
    color: #5cb85c;
}

.panel-green > a:hover {
    color: #3d8b3d;
}

.panel-red {
    border-color: #d9534f;
}

.panel-red > .panel-heading {
    border-color: #d9534f;
    color: #fff;
    background-color: #d9534f;
}

.panel-red > a {
    color: #d9534f;
}

.panel-red > a:hover {
    color: #b52b27;
}

.panel-yellow {
    border-color: #f0ad4e;
}

.panel-yellow > .panel-heading {
    border-color: #f0ad4e;
    color: #fff;
    background-color: #f0ad4e;
}

.panel-yellow > a {
    color: #f0ad4e;
}

.panel-yellow > a:hover {
    color: #df8a13;
}


.admin-form input {
    margin: 5px 0 5px;
}

/* Bootstrap list tools and inline setup details. */
.resource-filter .help-block { margin-bottom: 0; }
.resource-setup { min-width: 220px; max-width: 360px; white-space: normal; }
.resource-setup .well { margin: 10px 0; overflow-wrap: break-word; }
.resource-setup code { white-space: normal; }

/* Compact dashboard: bounded lists and equal panels within each Bootstrap row. */
.dashboard-compact .page-header { margin-top: 15px; }
.dashboard-shortcuts { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.dashboard-metric .panel-body { padding: 12px 15px; }
.dashboard-metric-label { display: block; color: #666; }
.dashboard-metric-value { display: block; font-size: 28px; line-height: 1.3; overflow-wrap: break-word; }
.dashboard-metric > .panel-footer { display: block; padding: 8px 15px; }
.dashboard-resource-name { overflow-wrap: anywhere; }
.dashboard-storage-item { padding: 9px 0; border-top: 1px solid #eee; }
.dashboard-storage-value { float: right; margin-left: 10px; }
.dashboard-storage-item .progress { clear: both; height: 8px; margin: 6px 0 4px; }
.dashboard-events, .dashboard-activities { margin-bottom: 0; }
.dashboard-events small { display: block; }
.dashboard-activities .list-group-item { display: flex; flex-direction: column; }
.dashboard-activity-time { font-size: 12px; }
.dashboard-statistics-heading { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.dashboard-traffic-chart { height: 225px; }
@media (min-width: 768px) {
    .dashboard-metrics { display: flex; }
    .dashboard-metrics > [class*="col-"] { display: flex; min-width: 0; }
    .dashboard-metrics .panel { width: 100%; display: flex; flex-direction: column; }
    .dashboard-metrics .panel-body { flex: 1 1 auto; }
}
@media (min-width: 992px) {
    .dashboard-row { display: flex; }
    .dashboard-row > [class*="col-"] { display: flex; min-width: 0; }
    .dashboard-row .panel { width: 100%; display: flex; flex-direction: column; }
    .dashboard-row .panel-body { flex: 1 1 auto; }
}
@media (max-width: 767px) {
    .dashboard-metric .panel-body { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; justify-content: space-between; }
    .dashboard-metric-value { font-size: 24px; }
    .dashboard-shortcuts .btn { flex: 1 1 140px; }
}
.dashboard-transactions { margin-bottom: 0; }
.dashboard-transactions small { display: block; }
.dashboard-transactions td:last-child { white-space: nowrap; }
.dashboard-activities .list-group-item { overflow-wrap: anywhere; }

/* Credit top-up: Bootstrap panels with responsive payment controls. */
.credit-page .page-header { margin-top: 15px; }
.credit-balance-amount { font-size: 30px; font-weight: 600; overflow-wrap: anywhere; }
.credit-balance-amount span { font-size: 22px; }
.credit-methods { padding-top: 15px; }
.credit-presets { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 15px; }
.credit-presets [aria-pressed="true"] { background-color: #e7f1fa; border-color: #337ab7; color: #245580; }
.credit-amount-field { width: 100%; max-width: 360px; }
@media (max-width: 767px) {
    .credit-presets .btn { flex: 1 1 60px; }
    #credit-paypal-submit { width: 100%; }
    .credit-balance-amount { font-size: 26px; }
}

/* Customer subscriptions: compact Bootstrap tables and readable contract details. */
.subscription-page .page-header,
.order-status-page .page-header,
.mail-page .page-header,
.database-page .page-header,
.ftp-page .page-header,
.cronjob-page .page-header,
.settings-page .page-header,
.invoice-page .page-header,
.transactions-page .page-header,
.admin-dashboard-page .page-header,
.admin-system-page .page-header,
.admin-users-page .page-header,
.admin-mail-page .page-header,
.admin-host-page .page-header,
.admin-subscription-page .page-header,
.admin-product-page .page-header,
.admin-domain-page .page-header,
.admin-order-page .page-header,
.admin-invoice-page .page-header,
.admin-credit-page .page-header,
.finance-statistics-page .page-header,
.finance-journal-page .page-header,
.admin-logs-page .page-header,
.domain-page .page-header { margin-top: 15px; overflow-wrap: anywhere; }
.subscription-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.subscription-toolbar p { margin: 0; }
.subscription-table { margin-bottom: 10px; }
.subscription-table > tbody > tr > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.subscription-table td:first-child { min-width: 170px; }
.subscription-table td:nth-child(3) { min-width: 160px; }
.subscription-table td:nth-child(4) { min-width: 160px; }
.subscription-table small, .subscription-price small { display: block; }
.subscription-product-name { display: block; font-weight: 600; overflow-wrap: anywhere; }
.subscription-progress { height: 8px; margin: 6px 0 4px; }
.subscription-price strong { font-size: 18px; }
.subscription-facts { margin-top: 15px; }
.subscription-facts dt { margin-top: 10px; }
.subscription-facts dd { overflow-wrap: anywhere; }
.subscription-webspaces { margin-top: 12px; }
.subscription-webspaces .well { overflow-wrap: anywhere; }
.subscription-resource-links { display: flex; flex-wrap: wrap; gap: 6px; }
#subscription-cancellation { scroll-margin-top: 115px; }
@media (max-width: 767px) {
    .subscription-toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
    .subscription-page .label { display: inline-block; white-space: normal; text-align: left; }
}
.subscription-facts { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 1fr); gap: 8px 12px; }
.subscription-facts dt { margin-top: 0; }
.subscription-facts dd { margin-bottom: 0; }
@media (min-width: 992px) {
    .subscription-details { display: flex; }
    .subscription-details > [class*="col-"] { display: flex; min-width: 0; }
    .subscription-details .panel { width: 100%; }
}

/* Domains & SSL: same page rhythm as subscriptions, native Bootstrap controls. */
.domain-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.domain-toolbar p { margin: 0; }
.domain-toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
.domain-page .resource-filter > .help-block { margin-bottom: 0; }
.domain-table { margin-bottom: 10px; }
.domain-table > thead > tr > th { white-space: nowrap; }
.domain-table > tbody > tr > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.domain-table th:first-child { min-width: 180px; }
.domain-table th:nth-child(2) { width: 110px; }
.domain-table th:nth-child(3) { min-width: 175px; }
.domain-table th:nth-child(4) { min-width: 140px; }
.domain-table th:last-child { width: 180px; }
.domain-table small { display: block; margin-top: 4px; }
.domain-name { display: block; font-weight: 600; overflow-wrap: anywhere; }
.domain-row-actions { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.domain-row-actions .btn { white-space: nowrap; }
.domain-more-actions .list-group { margin: 10px 0 0; min-width: 160px; }
.domain-more-actions .list-group-item { padding: 8px 12px; font-size: 12px; }
.domain-more-actions .domain-delete-link { color: #a94442; }
.domain-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.domain-actions .btn { margin: 0; }
.domain-tab-content { padding: 20px; border: 1px solid #ddd; border-top: 0; border-radius: 0 0 4px 4px; margin-bottom: 20px; }
.domain-section-intro { margin-bottom: 20px; }
.domain-section-intro h2 { font-size: 23px; margin: 0 0 8px; }
.domain-section-intro p { margin: 0; }
.domain-tab-content h3 { font-size: 18px; }
.domain-tab-content .panel-title { font-size: 16px; }
.domain-tab-content .panel-body > :last-child { margin-bottom: 0; }
.domain-settings-form { width: 100%; max-width: 720px; margin: 0; }
.domain-wide-form { max-width: none; }
.domain-settings-form .form-group { margin-bottom: 20px; }
.domain-settings-form textarea { font-family: monospace; resize: vertical; }
.domain-page .checkbox { margin: 0 0 15px; }
.domain-form-title { font-size: 18px; margin: 0 0 15px; }
.domain-form-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 15px; margin-top: 0; border-top: 1px solid #eee; }
.domain-facts { margin: 0 0 15px; }
.domain-facts dt { margin-top: 12px; }
.domain-facts dt:first-child { margin-top: 0; }
.domain-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.domain-facts code { white-space: normal; overflow-wrap: anywhere; }
.domain-confirmation { margin-top: 20px; }
.domain-dns-table { margin-top: 20px; }
.domain-dns-table > .table > tbody > tr > td { vertical-align: middle; }
.domain-dns-value { overflow-wrap: anywhere; word-break: break-word; min-width: 140px; max-width: 360px; }
.domain-dns-edit-row > td { padding: 0 !important; border: 0 !important; }
.domain-dns-edit-row .well { margin: 15px; }
.domain-dns-edit-row h3, .domain-dns-editor h3 { margin-top: 0; margin-bottom: 20px; }
.domain-dns-editor .well { margin: 20px 0 0; }
@media (min-width: 992px) {
    .domain-panel-row { display: flex; }
    .domain-panel-row > [class*="col-"] { display: flex; min-width: 0; }
    .domain-panel-row > [class*="col-"] > .panel { width: 100%; }
}
@media (max-width: 991px) {
    .domain-form-title { margin-top: 15px; }
}
@media (max-width: 767px) {
    .domain-page .label { display: inline-block; white-space: normal; text-align: left; }
    .domain-tab-content { padding: 15px; }
    .domain-actions { min-width: 150px; }
    .domain-tab-content .btn { white-space: normal; }
    .domain-row-actions .btn { min-height: 44px; }
    .domain-more-actions .list-group-item { min-height: 44px; display: flex; align-items: center; }
}

/* E-mail management follows the subscription/domain page rhythm. */
.mail-table { margin-bottom: 10px; }
.mail-table > tbody > .mail-entry > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.mail-table th:first-child { min-width: 190px; }
.mail-table th:nth-child(3) { min-width: 190px; }
.mail-table th:nth-child(4) { min-width: 140px; }
.mail-table th:last-child { width: 180px; }
.mail-table small { display: block; margin-top: 4px; }
.mail-address { font-weight: 600; overflow-wrap: anywhere; }
.mail-forward-target { overflow-wrap: anywhere; }
.mail-row-actions { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.mail-row-actions .btn { white-space: nowrap; }
.mail-details-row > td { padding: 0 !important; border: 0 !important; }
.mail-details-body { padding: 15px; margin-bottom: 10px; background-color: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; }
.mail-details-body h2 { margin: 0 0 12px; overflow-wrap: anywhere; }
.mail-details-body > .btn { margin: 0 6px 8px 0; }
.mail-details-body .resource-setup { width: 100%; min-width: 0; max-width: none; }
.mail-details-body .resource-setup .well { margin: 0 0 12px; background-color: #fff; }
.mail-delete-link { color: #a94442; }
.mail-settings-form { width: 100%; margin: 0; }
.mail-settings-form .form-group { margin-bottom: 20px; }
.mail-form-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 15px; border-top: 1px solid #eee; }
.mail-tab-content { padding: 20px; margin-bottom: 20px; border: 1px solid #ddd; border-top: 0; border-radius: 0 0 4px 4px; }
.mail-page .panel-title { font-size: 16px; }
.mail-page .panel-body > :last-child { margin-bottom: 0; }
.mail-connection-facts dt { margin-top: 12px; }
.mail-connection-facts dt:first-child { margin-top: 0; }
.mail-connection-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.mail-connection-facts code { white-space: normal; }
.mail-provider-settings { margin: 15px 0 0; overflow-wrap: anywhere; }
@media (min-width: 992px) {
    .mail-panel-row { display: flex; }
    .mail-panel-row > [class*="col-"] { display: flex; min-width: 0; }
    .mail-panel-row > [class*="col-"] > .panel { width: 100%; }
}
@media (max-width: 767px) {
    .mail-tab-content { padding: 15px; }
    .mail-page .label { display: inline-block; white-space: normal; text-align: left; }
    .mail-address-fields > div + div { margin-top: 8px; }
}

/* Database management: compact rows and setup details below the selected entry. */
.database-table { margin-bottom: 10px; }
.database-table > tbody > .database-entry > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.database-table th:first-child { min-width: 160px; }
.database-table th:nth-child(2), .database-table th:nth-child(4) { min-width: 140px; }
.database-table th:last-child { width: 180px; }
.database-table small { display: block; margin-top: 4px; }
.database-name, .database-username { overflow-wrap: anywhere; white-space: normal; }
.database-row-actions { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.database-row-actions .btn { white-space: nowrap; }
.database-details-row > td { padding: 0 !important; border: 0 !important; }
.database-details-row .resource-setup { width: 100%; min-width: 0; max-width: none; }
.database-details-body { padding: 15px; margin-bottom: 10px; background-color: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; }
.database-details-body h2 { margin: 0 0 15px; overflow-wrap: anywhere; }
.database-delete-link { color: #a94442; }
.database-settings-form { width: 100%; margin: 0; }
.database-settings-form .form-group { margin-bottom: 20px; }
.database-form-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 15px; border-top: 1px solid #eee; }
.database-page .panel-title { font-size: 16px; }
.database-page .panel-body > :last-child { margin-bottom: 0; }
.database-facts { margin: 0 0 15px; }
.database-facts dt { margin-top: 12px; }
.database-facts dt:first-child { margin-top: 0; }
.database-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.database-facts code { white-space: normal; }
@media (min-width: 992px) {
    .database-panel-row { display: flex; }
    .database-panel-row > [class*="col-"] { display: flex; min-width: 0; }
    .database-panel-row > [class*="col-"] > .panel { width: 100%; }
}
@media (max-width: 767px) {
    .database-page .label { display: inline-block; white-space: normal; text-align: left; }
}

/* FTP management follows the shared page header, table and form rhythm. */
.ftp-table { margin-bottom: 10px; }
.ftp-table > tbody > .ftp-entry > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.ftp-table th:first-child { min-width: 170px; }
.ftp-table th:nth-child(2), .ftp-table th:nth-child(3) { min-width: 160px; }
.ftp-table th:last-child { width: 180px; }
.ftp-table small { display: block; margin-top: 4px; }
.ftp-username { font-weight: 600; overflow-wrap: anywhere; }
.ftp-directory { white-space: normal; overflow-wrap: anywhere; }
.ftp-row-actions { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.ftp-row-actions .btn { white-space: nowrap; }
.ftp-details-row > td { padding: 0 !important; border: 0 !important; }
.ftp-details-row .resource-setup { width: 100%; min-width: 0; max-width: none; }
.ftp-details-body { padding: 15px; margin-bottom: 10px; background-color: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; }
.ftp-details-body h2 { margin: 0 0 15px; overflow-wrap: anywhere; }
.ftp-delete-link { color: #a94442; }
.ftp-settings-form { width: 100%; margin: 0; }
.ftp-settings-form .form-group { margin-bottom: 20px; }
.ftp-form-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 15px; border-top: 1px solid #eee; }
.ftp-page .panel-title { font-size: 16px; }
.ftp-page .panel-body > :last-child { margin-bottom: 0; }
.ftp-facts { margin: 0 0 15px; }
.ftp-facts dt { margin-top: 12px; }
.ftp-facts dt:first-child { margin-top: 0; }
.ftp-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.ftp-facts code { white-space: normal; }
@media (min-width: 992px) {
    .ftp-panel-row { display: flex; }
    .ftp-panel-row > [class*="col-"] { display: flex; min-width: 0; }
    .ftp-panel-row > [class*="col-"] > .panel { width: 100%; }
}

/* Cronjobs: compact schedule summaries and full-width technical details. */
.cronjob-table { margin-bottom: 10px; }
.cronjob-table > tbody > .cronjob-entry > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.cronjob-table th:first-child { min-width: 220px; }
.cronjob-table th:nth-child(2), .cronjob-table th:nth-child(4) { min-width: 150px; }
.cronjob-table th:last-child { width: 110px; }
.cronjob-table small { display: block; margin-top: 4px; }
.cronjob-url { display: block; font-weight: 600; overflow-wrap: anywhere; max-width: 420px; }
.cronjob-details-row > td { padding: 0 !important; border: 0 !important; }
.cronjob-details-body { padding: 15px; margin-bottom: 10px; background-color: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; }
.cronjob-details-body h2 { margin: 0 0 15px; }
.cronjob-expression { white-space: normal; overflow-wrap: anywhere; }
.cronjob-fields { display: flex; flex-wrap: wrap; gap: 12px 30px; margin-bottom: 15px; }
.cronjob-fields dd { margin-top: 4px; overflow-wrap: anywhere; }
.cronjob-delete-link { color: #a94442; }
.cronjob-settings-form { width: 100%; margin: 0; }
.cronjob-settings-form .form-group { margin-bottom: 20px; }
.cronjob-form-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 15px; border-top: 1px solid #eee; }
.cronjob-page .panel-title { font-size: 16px; }
.cronjob-page .panel-body > :last-child { margin-bottom: 0; }
@media (min-width: 992px) {
    .cronjob-panel-row { display: flex; }
    .cronjob-panel-row > [class*="col-"] { display: flex; min-width: 0; }
    .cronjob-panel-row > [class*="col-"] > .panel { width: 100%; }
}
@media (max-width: 767px) {
    .cronjob-page .label { display: inline-block; white-space: normal; text-align: left; }
}

/* User settings: native Bootstrap tabs and consistent form panels. */
.settings-tab-content { padding: 20px; margin-bottom: 20px; border: 1px solid #ddd; border-top: 0; border-radius: 0 0 4px 4px; }
.settings-form { width: 100%; margin: 0; }
.settings-form .form-group { margin-bottom: 20px; }
.settings-form-actions, .settings-app-links { display: flex; flex-wrap: wrap; gap: 8px; }
.settings-form-actions { padding-top: 15px; border-top: 1px solid #eee; }
.settings-page .panel-title { font-size: 16px; }
.settings-page .panel-body > :last-child { margin-bottom: 0; }
.settings-facts { margin: 0 0 15px; }
.settings-facts dt { margin-top: 12px; }
.settings-facts dt:first-child { margin-top: 0; }
.settings-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.settings-facts code { white-space: normal; overflow-wrap: anywhere; }
.settings-confirmation { margin-top: 15px; }
.settings-qr { max-width: 300px; margin: 20px 0; }
.settings-qr img { margin-bottom: 15px; }
.settings-otp-input { max-width: 240px; letter-spacing: .25em; }
.settings-delete-terms { padding-left: 20px; margin: 20px 0; }
.settings-delete-terms li { margin-bottom: 12px; }
@media (min-width: 992px) {
    .settings-panel-row { display: flex; }
    .settings-panel-row > [class*="col-"] { display: flex; min-width: 0; }
    .settings-panel-row > [class*="col-"] > .panel { width: 100%; }
}
@media (max-width: 767px) {
    .settings-tab-content { padding: 15px; }
    .settings-page .label { display: inline-block; white-space: normal; text-align: left; }
}

/* Invoices: readable identifiers, aligned amounts and explicit PDF actions. */
.invoice-table { margin-bottom: 10px; }
.invoice-table > tbody > tr > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.invoice-table th:first-child { min-width: 170px; }
.invoice-table th:nth-child(2) { min-width: 110px; }
.invoice-table th:nth-child(4) { min-width: 120px; }
.invoice-table th:last-child { width: 220px; }
.invoice-number { display: block; overflow-wrap: anywhere; }
.invoice-amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.invoice-actions { display: flex; align-items: center; gap: 4px; }
.invoice-actions .btn { white-space: nowrap; }
@media (max-width: 767px) {
    .invoice-page .label { display: inline-block; white-space: normal; text-align: left; }
}

/* Transactions share the invoice table rhythm and retain stored amount signs. */
.transactions-table { margin-bottom: 10px; }
.transactions-table > tbody > tr > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.transactions-table th:first-child { min-width: 130px; }
.transactions-table th:nth-child(2), .transactions-table th:nth-child(3) { min-width: 150px; }
.transactions-table th:last-child { min-width: 130px; }
.transactions-table small { display: block; margin-top: 4px; }
.transactions-amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 767px) {
    .transactions-page .label { display: inline-block; white-space: normal; text-align: left; }
}

/* Admin dashboard: compact resource counts, bounded operational lists. */
.admin-dashboard-page .panel-title { font-size: 16px; }
.admin-dashboard-page .panel-body > :last-child { margin-bottom: 0; }
.admin-dashboard-metrics .panel-body { display: flex; flex-direction: column; gap: 6px; }
.admin-dashboard-metric-label { font-weight: 600; }
.admin-dashboard-metric-label .fa { margin-right: 4px; }
.admin-dashboard-metric-value { font-size: 30px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.admin-dashboard-logs { margin-bottom: 0; }
.admin-dashboard-logs .list-group-item { padding: 12px 15px; overflow-wrap: anywhere; }
.admin-dashboard-log-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-bottom: 8px; }
.admin-dashboard-logs p { margin: 0; }
.admin-dashboard-online { margin-bottom: 0; }
.admin-dashboard-online td { vertical-align: middle !important; padding-top: 12px !important; padding-bottom: 12px !important; }
.admin-dashboard-online td:first-child { min-width: 140px; overflow-wrap: anywhere; }
.admin-dashboard-online small { display: block; margin-top: 4px; }
.admin-dashboard-statistics-heading { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
@media (min-width: 768px) {
    .admin-dashboard-metrics { display: flex; flex-wrap: wrap; }
    .admin-dashboard-metrics > [class*="col-"] { display: flex; min-width: 0; }
    .admin-dashboard-metrics .panel { width: 100%; }
}
@media (min-width: 992px) {
    .admin-dashboard-row { display: flex; }
    .admin-dashboard-row > [class*="col-"] { display: flex; min-width: 0; }
    .admin-dashboard-row > [class*="col-"] > .panel { display: flex; flex-direction: column; width: 100%; }
    .admin-dashboard-row .panel-body { flex: 1 1 auto; }
}
@media (max-width: 767px) {
    .admin-dashboard-page .label { display: inline-block; white-space: normal; text-align: left; }
}
.admin-dashboard-priorities .panel-body { display: flex; flex-direction: column; gap: 8px; }
.admin-dashboard-priority-label { font-weight: 600; }
.admin-dashboard-priority-value { font-size: 34px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.admin-dashboard-priorities .panel { border-top: 3px solid #337ab7; }
.admin-dashboard-priorities .panel-footer a { display: flex; justify-content: space-between; align-items: center; }
.admin-dashboard-upcoming, .admin-dashboard-daemons { margin-bottom: 0; }
.admin-dashboard-upcoming td, .admin-dashboard-daemons td { vertical-align: middle !important; }
.admin-dashboard-upcoming small { display: block; margin-top: 4px; }
.admin-dashboard-hosts .list-group-item { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; overflow-wrap: anywhere; }
@media (min-width: 768px) {
    .admin-dashboard-priorities { display: flex; flex-wrap: wrap; }
    .admin-dashboard-priorities > [class*="col-"] { display: flex; min-width: 0; }
    .admin-dashboard-priorities .panel { width: 100%; display: flex; flex-direction: column; }
    .admin-dashboard-priorities .panel-body { flex: 1 1 auto; }
}

/* Admin system controls: saved state, feature changes and separate action forms. */
.admin-system-page .panel-title { font-size: 16px; }
.admin-system-page .panel-body > :last-child { margin-bottom: 0; }
.admin-system-form { width: 100%; margin: 0; }
.admin-system-features { margin: 15px 0 20px; }
.admin-system-features th { white-space: nowrap; }
.admin-system-features td { vertical-align: middle !important; padding-top: 14px !important; padding-bottom: 14px !important; }
.admin-system-features td:first-child { min-width: 240px; }
.admin-system-features .checkbox { margin: 0 0 5px; }
.admin-system-features .checkbox label { font-weight: 600; }
.admin-system-features .help-block { margin: 0 0 0 20px; }
.admin-system-form-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 15px; border-top: 1px solid #eee; }
.admin-system-facts { margin: 0 0 20px; }
.admin-system-facts dt { margin-top: 12px; }
.admin-system-facts dt:first-child { margin-top: 0; }
.admin-system-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.admin-system-section-intro { margin: 0 0 20px; }
.admin-system-section-intro h2 { margin: 0 0 8px; font-size: 23px; }
.admin-system-section-intro p { margin-bottom: 0; }
.admin-system-confirmation { margin-top: 15px; padding: 15px; border: 1px solid #ddd; border-radius: 4px; background-color: #f5f5f5; }
@media (min-width: 992px) {
    .admin-system-row, .admin-system-actions { display: flex; flex-wrap: wrap; }
    .admin-system-row > [class*="col-"], .admin-system-actions > [class*="col-"] { display: flex; min-width: 0; }
    .admin-system-row .panel, .admin-system-actions .panel { width: 100%; }
}
@media (max-width: 767px) {
    .admin-system-page .label { display: inline-block; white-space: normal; text-align: left; }
    .admin-system-confirmation { padding: 12px; }
}

/* Admin users: clear status, consistent search and full-width secondary actions. */
.admin-users-page .panel-title { font-size: 16px; }
.admin-users-search .form-group { margin-bottom: 15px; }
.admin-users-search .help-block { margin-bottom: 0; }
.admin-users-table { margin-bottom: 10px; }
.admin-users-table > tbody > .admin-user-entry > td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.admin-users-table th:first-child { min-width: 180px; }
.admin-users-table th:nth-child(2) { min-width: 110px; }
.admin-users-table th:nth-child(3) { min-width: 190px; }
.admin-users-table th:nth-child(4) { min-width: 110px; }
.admin-users-table th:last-child { width: 180px; }
.admin-users-table small { display: block; margin-top: 4px; }
.admin-user-name { display: block; font-weight: 600; overflow-wrap: anywhere; }
.admin-user-email { overflow-wrap: anywhere; }
.admin-user-row-actions { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.admin-user-row-actions .btn { white-space: nowrap; }
.admin-user-details-row > td { padding: 0 !important; border: 0 !important; }
.admin-user-details-body { padding: 15px; margin-bottom: 10px; background-color: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; }
.admin-user-details-body h2 { margin: 0 0 15px; overflow-wrap: anywhere; }
.admin-user-detail-facts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 15px; }
.admin-user-detail-facts > span { overflow-wrap: anywhere; }
.admin-users-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 15px; border-top: 1px solid #eee; }
.admin-user-delete-link { color: #a94442; }
@media (max-width: 767px) {
    .admin-users-page .label { display: inline-block; white-space: normal; text-align: left; }
}

.admin-user-tab-content { padding: 20px; margin-bottom: 20px; border: 1px solid #ddd; border-top: 0; border-radius: 0 0 4px 4px; }
.admin-user-form { width: 100%; margin: 0; }
.admin-user-form .form-group { margin-bottom: 20px; }
.admin-user-form .checkbox { margin: 0 0 15px; }
.admin-user-action-links { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-user-password-action + .admin-user-password-action { margin-top: 15px; }
.admin-user-confirmation { margin-top: 15px; padding: 15px; background: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; }
.admin-user-facts dd { margin-top: 4px; overflow-wrap: anywhere; }
.admin-user-balance { display: block; margin-top: 8px; font-size: 24px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.admin-user-subscriptions td { vertical-align: middle !important; padding-top: 14px !important; padding-bottom: 14px !important; }
.admin-user-subscriptions small { display: block; margin-top: 4px; }
.admin-user-money { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (min-width: 992px) {
    .admin-user-form-row { display: flex; }
    .admin-user-form-row > [class*="col-"] { display: flex; min-width: 0; }
    .admin-user-form-row > [class*="col-"] > .panel { width: 100%; }
}
@media (max-width: 767px) { .admin-user-tab-content { padding: 15px; } }

/* Admin mailings: shared Bootstrap layout, readable messages and bounded previews. */
.admin-mail-page .panel-title { font-size: 16px; overflow-wrap: anywhere; }
.admin-mail-section { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:20px 0 15px; }
.admin-mail-section h2 { font-size:20px; margin:0; }
.admin-mail-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; overflow-wrap:anywhere; }
.admin-mail-table small { display:block; margin-top:5px; }
.admin-mail-table td:first-child { min-width:200px; }
.admin-mail-nowrap { white-space:nowrap; }
.admin-mail-excerpt { max-width:650px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#777; margin-top:6px; }
.admin-mail-actions { min-width:180px; }
.admin-mail-form-actions { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #eee; padding-top:15px; margin-bottom:20px; }
.admin-mail-editor { resize:vertical; }
.admin-mail-message { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
.admin-mail-html-preview { display:block; width:100%; height:600px; border:1px solid #ddd; background:#fff; }
.admin-mail-preview-note { margin:15px 0 10px; }
#mail-text-preview .admin-mail-message { padding-top:15px; }
@media (max-width:767px) { .admin-mail-html-preview { height:450px; } }
.admin-mail-meta dd { overflow-wrap:anywhere; margin-bottom:10px; }
.admin-mail-page .nav-tabs { overflow-x:auto; }

/* Admin hosts: compact overview and grouped Bootstrap adapter forms. */
.admin-host-page .panel-title { font-size:16px; overflow-wrap:anywhere; }
.admin-host-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; overflow-wrap:anywhere; }
.admin-host-table small { display:block; margin-top:5px; }
.admin-host-table td:first-child { min-width:190px; }
.admin-host-actions { min-width:190px; }
.admin-host-table > tbody > .admin-host-detail-row > td { padding:0; border:0; }
.admin-host-details { padding:15px; background:#f8f9fa; border-top:1px solid #eee; }
.admin-host-details dd { margin-bottom:10px; }
.admin-host-form-actions { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #eee; padding-top:15px; margin-bottom:20px; }
.admin-host-page textarea { resize:vertical; }
.admin-host-empty { font-size:20px; }

/* Admin subscriptions: shared Bootstrap spacing and compact contract tables. */
.admin-subscription-page .panel-title { font-size:16px; }
.admin-subscription-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; overflow-wrap:anywhere; }
.admin-subscription-table small { display:block; margin-top:5px; }
.admin-subscription-table td:first-child { min-width:190px; }
.admin-subscription-actions { min-width:190px; }
.admin-subscription-table > tbody > .admin-subscription-detail-row > td { padding:0; border:0; }
.admin-subscription-details { padding:15px; background:#f8f9fa; border-top:1px solid #eee; }
.admin-subscription-form-actions { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #eee; padding-top:15px; margin-bottom:20px; }
.admin-subscription-page legend { font-size:16px; margin-top:10px; margin-bottom:10px; }

/* Admin products: compact portfolio and separate Bootstrap resource editor. */
.admin-product-page .panel-title { font-size:16px; }
.admin-product-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; overflow-wrap:anywhere; }
.admin-product-table small { display:block; margin-top:5px; }
.admin-product-table td:first-child { min-width:190px; }
.admin-product-actions { min-width:190px; }
.admin-product-table > tbody > .admin-product-detail-row > td { padding:0; border:0; }
.admin-product-details { padding:15px; background:#f8f9fa; border-top:1px solid #eee; }
.admin-product-details dd { margin-bottom:10px; }
.admin-product-form-actions { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #eee; padding-top:15px; margin-bottom:20px; }
.admin-product-tab-body { padding-top:20px; }

/* Admin domains: compact overview and separated configuration/actions. */
.admin-domain-page .panel-title { font-size:16px; overflow-wrap:anywhere; }
.admin-domain-filter { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:20px; }
.admin-domain-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; overflow-wrap:anywhere; }
.admin-domain-table small { display:block; margin-top:5px; }
.admin-domain-table td:first-child { min-width:190px; }
.admin-domain-actions { min-width:190px; }
.admin-domain-table > tbody > .admin-domain-detail-row > td { padding:0; border:0; }
.admin-domain-details { padding:15px; background:#f8f9fa; border-top:1px solid #eee; }
.admin-domain-details dd { margin-bottom:10px; overflow-wrap:anywhere; }
.admin-domain-row-actions, .admin-domain-form-actions { display:flex; flex-wrap:wrap; gap:8px; }
.admin-domain-form-actions { border-top:1px solid #eee; padding-top:15px; margin-bottom:20px; }

/* Admin orders: clear processing states and separate consequential actions. */
.admin-order-page .panel-title { font-size:16px; }
.admin-order-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; overflow-wrap:anywhere; }
.admin-order-table small { display:block; margin-top:5px; }
.admin-order-table td:first-child { min-width:190px; }
.admin-order-actions { min-width:190px; }
.admin-order-table > tbody > .admin-order-detail-row > td { padding:0; border:0; }
.admin-order-details { padding:15px; background:#f8f9fa; border-top:1px solid #eee; }
.admin-order-meta dd { margin-bottom:10px; overflow-wrap:anywhere; }
.admin-order-form-actions { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #eee; padding-top:15px; }
.admin-order-message { white-space:pre-wrap; overflow-wrap:anywhere; max-height:400px; overflow:auto; }

/* Admin invoices: document states and compact Bootstrap tables. */
.admin-invoice-page .panel-title { font-size:16px; }
.admin-invoice-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; overflow-wrap:anywhere; }
.admin-invoice-table small { display:block; margin-top:5px; }
.admin-invoice-table td:first-child { min-width:180px; }
.admin-invoice-actions { min-width:210px; }
.admin-invoice-table > tbody > .admin-invoice-detail-row > td { padding:0; border:0; }
.admin-invoice-details { padding:15px; background:#f8f9fa; border-top:1px solid #eee; }
.admin-invoice-form-actions { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid #eee; padding-top:15px; margin-bottom:20px; }

/* Admin credit: aligned currency columns and explicit account/limit state. */
.admin-credit-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; }
.admin-credit-table small { display:block; margin-top:5px; }
.admin-credit-table td:first-child { min-width:160px; }
.admin-credit-table td.text-right { white-space:nowrap; }

/* System logs: readable acknowledged entries and bounded message previews. */
.admin-logs-page .panel-title { font-size:16px; }
.admin-logs-table > tbody > tr > td { vertical-align:middle; padding-top:14px; padding-bottom:14px; }
.admin-logs-table > tbody > tr.admin-logs-acknowledged { opacity:0.5; }
.admin-logs-table small { display:block; margin-top:6px; }
.admin-logs-table td:first-child { min-width:190px; }
.admin-logs-table td:nth-child(2) { min-width:220px; }
.admin-logs-preview { white-space:pre-wrap; overflow-wrap:anywhere; max-height:3em; line-height:1.5; overflow:hidden; }
.admin-logs-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:6px; min-width:185px; }
.admin-logs-actions form { margin:0; }
.admin-logs-table > tbody > .admin-logs-detail-row > td { padding:0; border:0; }
.admin-logs-details { padding:15px; background:#f8f9fa; border-top:1px solid #eee; }
.admin-logs-message { white-space:pre-wrap; overflow-wrap:anywhere; max-height:450px; overflow:auto; }

/* Customer order status: clear outcome, readable summary and next steps. */
.order-status-page .panel-title { font-size:16px; }
.order-status-heading { display:flex; align-items:flex-start; gap:15px; }
.order-status-heading > .fa { font-size:32px; margin-top:3px; }
.order-status-heading h2 { font-size:22px; margin:0 0 10px; }
.order-status-heading p { margin-bottom:0; }
.order-status-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.order-status-product { font-size:20px; margin-top:0; overflow-wrap:anywhere; }
.order-status-meta dd { margin-bottom:10px; overflow-wrap:anywhere; }
.order-status-prices dt { color:#777; font-weight:normal; }
.order-status-prices dd { margin-bottom:15px; font-size:18px; }
.order-status-comment { white-space:pre-wrap; overflow-wrap:anywhere; max-height:250px; overflow:auto; margin-bottom:15px; }
.order-status-domain-details { padding-top:15px; }
.order-status-domain-details dd { margin-bottom:10px; overflow-wrap:anywhere; }
.order-status-secret { font-family:monospace; }
@media (max-width:767px) { .order-status-heading { gap:10px; } .order-status-heading h2 { font-size:20px; } }

/* Consistent admin breadcrumb hierarchy; Bootstrap retains spacing and styling. */
.admin-breadcrumb > li + li:before { content: ">"; }

/* Match Bootstrap dropdown links for the directly submitted logout action. */
.dropdown-menu .nav-logout-form { margin:0; }
.dropdown-menu .nav-logout-button {
    display:block;
    width:100%;
    padding:3px 20px;
    border:0;
    border-radius:0;
    background:transparent;
    color:#333;
    font:inherit;
    font-weight:400;
    line-height:1.42857143;
    text-align:left;
    white-space:normal;
}
.dropdown-menu .nav-logout-button:hover,
.dropdown-menu .nav-logout-button:focus { color:#262626; background-color:#f5f5f5; }

/* Read-only finance overview. */
.finance-year-form { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.finance-year-form label { margin:0; }
.finance-year-form .form-control { width:auto; min-width:110px; }
.finance-metrics { display:flex; flex-wrap:wrap; }
.finance-metrics > div { display:flex; }
.finance-metrics .panel { width:100%; }
.finance-metric-label { display:block; color:#666; }
.finance-metric-value { display:block; font-size:26px; line-height:1.3; margin:9px 0; overflow-wrap:anywhere; }
.finance-metric-unavailable { font-size:21px; }
.finance-metrics small { display:block; color:#777; }
.finance-chart { display:block; width:100%; height:auto; max-height:300px; }
.finance-chart-axis { font-size:12px; fill:#666; }
.finance-legend-current,.finance-legend-previous { display:inline-block; width:18px; height:3px; vertical-align:middle; background:#337ab7; }
.finance-legend-previous { background:#b4bdc7; }
.finance-table td,.finance-category-panel td { white-space:nowrap; }
.finance-table tfoot { background:#f5f5f5; font-weight:600; }
.finance-category-panel th { font-weight:400; }
.finance-facts dd { margin-bottom:12px; }
.finance-facts dt { color:#666; font-weight:400; }
@media (max-width:767px) { .finance-year-form .text-muted { flex-basis:100%; } .finance-metric-value { font-size:24px; } }


/* Expense journal and recorded receipts share the finance layout. */
.finance-journal-table { max-height:600px; overflow:auto; }
.finance-journal-table thead th { position:sticky; top:0; background:#f5f5f5; z-index:1; }
.finance-journal-table td { vertical-align:middle !important; overflow-wrap:anywhere; }
.finance-journal-table small { display:block; margin-top:5px; }
.finance-journal-page .panel-title { font-size:16px; }
.finance-expense-history { margin-top:20px; }

/* Bootstrap payment panels share consistent spacing and responsive controls. */
.autopay-page .btn { max-width: 100%; white-space: normal; }
.autopay-toolbar { margin-bottom: 20px; }
.autopay-page .panel { margin-bottom: 24px; }
.autopay-page .autopay-panel-heading { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; }
.autopay-panel-heading .panel-title { flex: 1 1 auto; min-width: 0; margin: 0; line-height: 1.4; }
.autopay-panel-heading .label { font-size: inherit; flex: 0 0 auto; align-self: center; margin-left: auto; white-space: nowrap; }
.autopay-page .panel-body { padding: 20px; }
.autopay-page .panel-body > :last-child { margin-bottom: 0; }
.autopay-method-intro { margin-bottom: 20px; }
.autopay-method-intro p { margin-bottom: 8px; }
.autopay-method-intro p:last-child { margin-bottom: 0; }
.autopay-method-name { overflow-wrap: anywhere; }
.autopay-method-name .fa { margin-right: 5px; color: #777; }
.autopay-page #autopay-change-form.collapse .autopay-setup-form { padding-top: 18px; }
.autopay-consent-box { padding: 14px 16px; margin-bottom: 16px; box-shadow: none; }
.autopay-consent-box .checkbox { margin: 0; }
.autopay-consent-box label { line-height: 1.55; }
.autopay-consent-box .help-block { margin: 10px 0 0; font-size: inherit; line-height: 1.55; }
.autopay-conditions { margin-bottom: 10px; font-size: inherit; color: #666; }
.autopay-conditions summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; color: #337ab7; cursor: pointer; list-style: none; }
.autopay-conditions summary::-webkit-details-marker { display: none; }
.autopay-conditions-link { text-decoration: underline; text-underline-offset: 2px; }
.autopay-conditions summary:hover,.autopay-conditions summary:focus { color: #23527c; }
.autopay-conditions[open] .autopay-details-chevron { transform: rotate(180deg); }
.autopay-condition-text { padding-top: 12px; line-height: 1.55; }
.autopay-condition-text p:last-child { margin-bottom: 0; }
.autopay-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.autopay-setup-hint { margin: 12px 0 0; font-size: inherit; line-height: 1.5; }
.autopay-page .panel-footer { padding: 14px 20px; }
.autopay-method-footer .help-block { margin: 10px 0 0; font-size: inherit; }
.autopay-preview-footer { color: #777; font-size: inherit; line-height: 1.5; }
.autopay-preview-footer p { margin: 0 0 6px; }
.autopay-preview-footer p:last-child { margin-bottom: 0; }
.autopay-job-info { margin-bottom: 18px; }
.autopay-job-info strong { font-size: 18px; }
.autopay-job-info p { margin: 6px 0 0; }
.autopay-table-wrap { margin-bottom: 20px; border: 0; }
.autopay-table { margin-bottom: 0; }
.autopay-table > thead > tr > th { padding: 0 8px 10px; color: #666; font-size: inherit; }
.autopay-table > tbody > tr > td { padding: 12px 8px; vertical-align: middle; }
.autopay-table th:first-child,.autopay-table td:first-child { padding-left: 0; }
.autopay-table th:last-child,.autopay-table td:last-child { padding-right: 0; white-space: nowrap; }
.autopay-table td:first-child { overflow-wrap: anywhere; }
.autopay-table td:nth-child(2) { white-space: nowrap; }
.autopay-table small { display: block; margin-top: 4px; font-size: inherit; }
.autopay-summary { margin-bottom: 0; padding: 14px 16px; box-shadow: none; }
.autopay-page .dl-horizontal { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 16px; margin-bottom: 0; }
.autopay-page .dl-horizontal dt { float: none; width: auto; white-space: normal; overflow: visible; text-align: left; font-weight: 400; }
.autopay-page .dl-horizontal dd { margin-left: 0; text-align: right; }
.autopay-summary-total { margin-top: 4px; padding-top: 12px; border-top: 1px solid #ddd; }
.autopay-page dt.autopay-summary-total { font-weight: 600; }
.autopay-page dd.autopay-summary-total { font-size: 18px; }
.autopay-payment-status { margin: 16px 0 0; }
.credit-autopay-entry { padding: 14px 16px; box-shadow: none; }
.credit-autopay-entry strong { font-weight: 500; }
.credit-autopay-entry strong .fa { margin-right: 5px; }
.credit-autopay-entry p { margin: 5px 0 0; font-size: inherit; line-height: 1.5; }
.credit-autopay-entry .btn { max-width: 100%; white-space: normal; margin-top: 12px; }
@media (max-width: 767px) {
    .autopay-page .panel-body { padding: 16px; }
    .autopay-page .panel-footer { padding: 12px 16px; }
    .autopay-consent-box { padding: 12px; }
    .autopay-form-actions { flex-direction: column; align-items: stretch; }
    .autopay-form-actions .btn { width: 100%; }
    .autopay-summary { padding: 12px; }
}

/* Keep renewal dates and amounts fully visible on narrow phones. */
@media (max-width: 479px) {
    .autopay-table-wrap { overflow: visible; }
    .autopay-table,.autopay-table tbody { display: block; width: 100%; }
    .autopay-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); }
    .autopay-table tbody tr { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 16px; padding: 12px 0; border-top: 1px solid #ddd; }
    .autopay-table > tbody > tr > td { display: block; padding: 0; border: 0; }
    .autopay-table tbody td:first-child { grid-column: 1 / -1; }
    .autopay-table tbody td:nth-child(2)::before { content: 'Verlängerung'; display: block; margin-bottom: 3px; color: #777; font-size: inherit; }
    .autopay-table tbody td:last-child::before { content: 'Betrag'; display: block; margin-bottom: 3px; color: #777; font-size: inherit; }
}

/* Reuse the locally hosted payment icons without loading external assets. */
.credit-payment-icons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 16px 0 16px; }
.credit-payment-icons > li { display: inline-flex; align-items: center; gap: 7px; padding: 0; white-space: nowrap; }
.credit-payment-icons .fa { font-size: 22px; line-height: 1; }
.credit-payment-icons .fa-cc-visa,.credit-payment-icons .fa-cc-mastercard { font-size: 28px; }

/* Order-only summary; the general balance page keeps its existing columns. */
.order-payment-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.order-payment-heading .panel-title { margin:0; font-size:16px; }
.order-payment-heading .label { font-size:inherit; white-space:normal; text-align:left; }
.order-payment-product { overflow-wrap:anywhere; }
.order-payment-product h3 { margin:8px 0 12px; font-size:22px; }
.order-payment-domain { font-size:16px; }
.order-payment-costs { padding:16px; box-shadow:none; margin:0 0 15px; }
.order-payment-costs dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 16px; margin:0; }
.order-payment-costs dt { font-weight:400; }
.order-payment-costs dd { text-align:right; white-space:nowrap; }
.order-payment-total { margin-top:4px; padding-top:12px; border-top:1px solid #ddd; }
.order-payment-costs dd.order-payment-total { font-size:22px; }
.order-payment-note { margin-bottom:0; }
.order-payment-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; }
.order-payment-actions form { margin:0; }
.order-payment-actions .btn-link { padding:0; }
@media(max-width:479px) { .order-payment-heading .label { font-size:14px; } .order-payment-costs { padding:12px; } .order-payment-costs dl { gap:10px; } .order-payment-costs dd.order-payment-total { font-size:20px; } }
