select{font-weight:400}
.context-bar{display:flex;flex-wrap:wrap;gap:.3rem .8rem;padding:.38rem .5rem;background:var(--sse-bg);font-size:12px}
.context-bar .context-change{margin-left:auto;text-align:right}
.accounting-transaction-form fieldset{border:1px solid var(--sse-border);border-radius:.7rem;margin:.45rem 0;padding:.55rem}
.accounting-transaction-form legend{font-size:12px;font-weight:700;padding:0 .25rem}
.accounting-entry-line,
.accounting-journal-side-line {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(7rem, 1fr) auto;
    gap: .45rem;
    align-items: end;
    margin-bottom: .45rem;
}

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

.accounting-entry-line .line-remove-button {
    justify-self: end;
}

.journal-entry-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .55rem;
}

.journal-entry-side {
    min-width: 0;
    padding: .45rem;
    border: 1px solid var(--sse-border);
    border-radius: .45rem;
}

.journal-entry-side h3 {
    margin: 0 0 .4rem;
}

.accounting-journal-side-line {
    grid-template-columns: minmax(0, 2fr) minmax(6rem, 1fr) auto;
}

.line-add-button {
    margin-top: .15rem;
}

.line-remove-button {
    width: 1.7rem;
    height: 1.7rem;
    padding: 0;
    align-self: end;
    background: #8b3030;
    font-size: 14px;
}

.journal-balance-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .35rem;
    margin-top: .55rem;
    padding: .45rem;
    background: var(--sse-bg);
    border-radius: .35rem;
    font-size: 11px;
}

.journal-balance-summary span {
    overflow-wrap: anywhere;
}

.journal-balance-summary .is-unbalanced {
    color: #9a2020;
}

.bulk-budget-dialog {
    width: min(94vw, 70rem);
    max-height: 88vh;
    padding: 0;
    overflow: hidden;
}

.bulk-budget-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem .8rem;
    background: var(--sse-bg);
    border-bottom: 1px solid var(--sse-border);
}

.bulk-budget-head h2,
.bulk-budget-head p {
    margin: 0;
}

.bulk-budget-head p {
    margin-top: .25rem;
    font-size: 11px;
}

.bulk-budget-dialog form {
    padding: .7rem .8rem;
}

.bulk-budget-table-wrap {
    max-height: 65vh;
}

.bulk-budget-table-wrap input[type="number"] {
    min-width: 8rem;
}

.bulk-budget-actions {
    display: flex;
    justify-content: flex-end;
    gap: .4rem;
    padding-top: .6rem;
}
.budget-sort-heading {
    cursor: pointer;
    touch-action: manipulation;
    user-select: none;
}

.budget-sort-heading:focus-visible {
    outline: 2px solid var(--sse-primary);
    outline-offset: -2px;
}

.payer-payee-picker {
    display: grid;
    gap: .35rem;
}

.payer-payee-picker label:last-child {
    position: relative;
}

.payer-payee-results {
    position: absolute;
    z-index: 30;
    top: calc(100% - 1.45rem);
    right: 0;
    left: 0;
    max-height: 13rem;
    overflow-y: auto;
    border: 1px solid var(--sse-border);
    border-radius: .3rem;
    background: #fff;
    box-shadow: 0 .35rem .8rem rgb(0 0 0 / 18%);
}

.payer-payee-option {
    display: block;
    width: 100%;
    padding: .4rem .5rem;
    border: 0;
    border-bottom: 1px solid var(--sse-border);
    border-radius: 0;
    background: #fff;
    color: var(--sse-dark);
    text-align: left;
}

.payer-payee-option:hover,
.payer-payee-option:focus-visible {
    background: var(--sse-bg);
    color: var(--sse-primary);
}

.payer-payee-help {
    display: block;
    margin-top: .2rem;
    color: #587070;
    font-size: 11px;
    font-weight: 400;
}
.accounting-transaction-form textarea{min-height:4.5rem;resize:vertical}
.accounting-transaction-form .checkbox-label{display:flex;align-items:flex-start;gap:.4rem}
.accounting-transaction-form .checkbox-label input{flex:0 0 auto;width:auto;margin-top:.15rem}
.module-tabs,.submodule-tabs{display:flex;max-width:100%;min-width:0;gap:.25rem;overflow-x:auto;overflow-y:hidden;padding:.38rem 0}.module-tabs a,.submodule-tabs a{flex:0 0 auto;white-space:nowrap;padding:.28rem .48rem;border:1px solid var(--sse-border);border-radius:999px;text-decoration:none;color:var(--sse-dark);font-size:11px;line-height:1.2}.module-tabs a[aria-current=page],.submodule-tabs a[aria-current=page]{background:var(--sse-primary);color:#fff}
.placeholder-panel{margin-top:.65rem;padding:.65rem;border:1px dashed #9ab8b6;background:#f8fbfb}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.45rem;margin-top:.65rem}.module-grid a,.module-grid>.dashboard-pending-tile{display:grid;padding:.65rem;border:1px solid var(--sse-border);border-left:3px solid var(--sse-primary);border-radius:.3rem;text-decoration:none;color:var(--sse-dark);background:#fff;font-size:12px}
.split-layout{display:grid;min-width:0;max-width:100%;grid-template-columns:minmax(15rem,25%) minmax(0,75%);gap:.65rem}.form-panel,.table-panel{min-width:0;max-width:100%;padding:.65rem;border:1px solid var(--sse-border);border-radius:.3rem}.form-panel form>*{min-width:0}.table-wrap{max-width:100%;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.2}th,td{padding:.28rem .35rem;border-bottom:1px solid var(--sse-border);text-align:left;vertical-align:middle}th{background:var(--sse-bg);font-size:11px;font-weight:700;white-space:nowrap}td{font-size:12px;font-weight:400}td:last-child>a{display:inline-flex;padding:.18rem .38rem;border:1px solid var(--sse-border);border-radius:999px;color:var(--sse-primary);background:#fff;font-size:10px;line-height:1.15;text-decoration:none}td form{margin:0}.numeric{text-align:right}
.inline-filter,.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem}.inline-filter label{min-width:16rem}.toolbar label{margin:0}.toolbar input{max-width:22rem}.toolbar a{display:inline-flex;align-items:center;min-height:22px;padding:.2rem .42rem;border:1px solid var(--sse-border);border-radius:999px;font-size:10px;text-decoration:none}
.pagination{display:flex;align-items:center;gap:.2rem;margin:0;padding:.38rem;background:var(--sse-bg);font-size:11px}.pagination a{padding:.18rem .38rem;border:1px solid var(--sse-border);border-radius:999px;text-decoration:none}.pagination a[aria-current=page]{background:var(--sse-primary);color:#fff}
.view-dialog{width:min(90vw,45rem);max-height:85vh;overflow:auto}.dialog-close{float:right;font-size:16px;text-decoration:none}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.detail-grid div{padding:.4rem;background:var(--sse-bg)}.detail-grid dt{font-size:11px;color:#587070}.detail-grid dd{margin:.1rem 0 0;font-size:12px;font-weight:400;overflow-wrap:anywhere}.modal-actions{display:flex;align-items:end;gap:.55rem;margin-top:.55rem}.modal-actions form{flex:1}
.view-dialog.is-editing {
    width: min(94vw, 70rem);
}

.voucher-view-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .55rem;
}

.voucher-view-actions .button-link {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: .28rem .5rem;
    border: 1px solid var(--sse-primary);
    border-radius: 999px;
    color: var(--sse-primary);
    background: #fff;
    font-size: 10px;
    text-decoration: none;
}

.transaction-edit-panel {
    margin-top: .65rem;
    padding: .65rem;
    border: 1px solid var(--sse-border);
    border-radius: .4rem;
    background: var(--sse-bg);
}

.transaction-edit-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem .65rem;
}

.transaction-edit-form fieldset,
.transaction-edit-form .journal-balance-summary,
.transaction-edit-form .voucher-view-actions,
.transaction-edit-form .hint {
    grid-column: 1 / -1;
}
.subscription-warning{margin:.4rem 0;padding:.42rem .55rem;border:1px solid #e6c35a;background:#fff6cf;color:#654d00;border-radius:.3rem;font-size:12px;font-weight:400}
@media(max-width:64rem){.split-layout{grid-template-columns:1fr}.form-panel,.table-panel{min-width:0}.form-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .65rem}.form-panel form>button,.form-panel form>.hint{justify-self:start}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.module-tabs,.submodule-tabs{scrollbar-width:thin;overscroll-behavior-inline:contain}.table-wrap{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}}
@media(max-width:48rem){.form-panel form,.transaction-edit-form{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.modal-actions{display:grid}.toolbar,.inline-filter{align-items:stretch}.toolbar input,.toolbar select,.toolbar label,.inline-filter label{width:100%;max-width:none;min-width:0}.toolbar button,.toolbar a{justify-content:center}.context-bar{display:grid;gap:.2rem}.context-bar .context-change{margin-left:0;justify-self:end}.accounting-entry-line,.accounting-journal-side-line{grid-template-columns:1fr}.journal-entry-columns,.journal-balance-summary{grid-template-columns:1fr}.line-remove-button{justify-self:end}.view-dialog{width:calc(100vw - 1rem);max-height:90vh}.pagination{overflow-x:auto}.workspace-card{padding:.55rem}}
@media(max-width:40rem){.table-wrap{overflow:visible}.table-wrap table.responsive-table,.table-wrap table{display:block;width:100%}.table-wrap table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-wrap table tbody,.table-wrap table tr,.table-wrap table td{display:block;width:100%}.table-wrap table tbody{display:grid;gap:.5rem}.table-wrap table tr{padding:.28rem .45rem;border:1px solid var(--sse-border);border-radius:.35rem;background:#fff}.table-wrap table td{display:grid;grid-template-columns:minmax(7rem,38%) minmax(0,1fr);gap:.45rem;padding:.28rem 0;border-bottom:1px dashed var(--sse-border);overflow-wrap:anywhere}.table-wrap table td:last-child{border-bottom:0}.table-wrap table td::before{content:attr(data-label);font-size:11px;font-weight:700;color:#587070}.table-wrap table td[colspan]{display:block;text-align:center}.table-wrap table td[colspan]::before{content:none}.audit-filters{grid-template-columns:1fr}.module-tabs a,.submodule-tabs a{font-size:10px;padding:.24rem .4rem}}

.submodule-tabs .pending-tab {
    flex: 0 0 auto;
    padding: .28rem .48rem;
    border: 1px dashed var(--sse-border);
    border-radius: 999px;
    color: #587070;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
    cursor: not-allowed;
    opacity: .72;
}

.submodule-tabs a:hover {
    background: #e4f2f1;
    border-color: var(--sse-primary);
    color: var(--sse-primary);
}

.submodule-tabs a[aria-current="page"],
.submodule-tabs a[aria-current="page"]:hover {
    background: var(--sse-primary);
    border-color: var(--sse-primary);
    color: #fff;
}

@media (max-width: 40rem) {
    .submodule-tabs .pending-tab {
        padding: .24rem .4rem;
        font-size: 10px;
    }
}

.table-selection-column {
    width: 2.25rem;
    min-width: 2.25rem;
    max-width: 2.25rem;
    padding-inline: .3rem;
    text-align: center;
    white-space: nowrap;
}

.table-selection-column input[type="checkbox"] {
    width: .9rem;
    height: .9rem;
    margin: 0;
    vertical-align: middle;
    accent-color: var(--sse-primary);
}

.table-selection-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 40rem) {
    .table-wrap table td.table-selection-column {
        width: 100%;
        max-width: none;
        padding-block: .28rem;
        text-align: left;
    }
}

/* Keep filter controls aligned to their shared baseline. */
.audit-filters label,
.inline-filter label {
    margin: 0;
}

.audit-filters input,
.audit-filters select,
.subscription-tenant-filter select {
    min-height: 31px;
}

.audit-filters button,
.audit-filters > a,
.subscription-tenant-filter > button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    align-self: end;
}

.audit-filters > a {
    padding: .2rem .42rem;
    border: 1px solid var(--sse-border);
    border-radius: 999px;
    font-size: 10px;
    text-decoration: none;
}

.subscription-tenant-filter {
    display: grid;
    grid-template-columns: minmax(16rem, 24rem) max-content;
    align-items: end;
}

/* Long bilingual headings may wrap instead of widening the data columns. */
.table-wrap th {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
}

.table-wrap td {
    overflow-wrap: break-word;
    word-break: normal;
}

/* Context-aware result columns: short values stay compact and primary text receives the spare width. */
.result-context-table .result-column-primary {
    width: 28%;
    min-width: 12rem;
}

.result-context-table .result-column-compact,
.result-context-table .result-column-count,
.result-context-table .result-column-action,
.result-context-table .result-column-number {
    width: 1%;
}

.result-context-table .result-column-compact {
    min-width: 6.25rem;
    max-width: 8rem;
}

.result-context-table .result-column-count {
    min-width: 7rem;
    max-width: 8.5rem;
    text-align: center;
}

.result-context-table .result-column-action {
    min-width: 5.5rem;
}

.admin-dashboard-overview {
    display: grid;
    grid-template-columns: minmax(13rem, 30%) minmax(0, 70%);
    gap: .55rem;
    margin-top: .45rem;
    align-items: start;
}

.admin-health-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-top: .55rem;
    padding: .55rem .65rem;
    border: 1px solid #c48624;
    border-left: 4px solid #c48624;
    border-radius: .35rem;
    background: #fff8e8;
    color: #633e08;
    text-decoration: none;
}

.admin-summary-stack {
    display: grid;
    gap: .45rem;
}

.admin-summary-stack a,
.dashboard-pending-tile {
    display: grid;
    gap: .2rem;
    min-width: 0;
    padding: .65rem;
    border: 1px solid var(--sse-border);
    border-left: 3px solid var(--sse-primary);
    border-radius: .3rem;
    color: var(--sse-dark);
    background: #fff;
    text-decoration: none;
}

.admin-summary-stack small,
.dashboard-pending-tile small {
    font-size: 11px;
    color: #587070;
}

.admin-summary-stack strong {
    font-size: 1.45rem;
    color: var(--sse-primary);
}

.admin-subscription-panel {
    min-width: 0;
    padding: .65rem;
    border: 1px solid var(--sse-border);
    border-radius: .3rem;
}

.admin-dashboard-table-scroll {
    max-height: 70rem;
    overflow: auto;
}

.system-cleanup-warning {
    margin-bottom: .65rem;
}

.system-cleanup-warning p {
    margin: .35rem 0 0;
}

.system-cleanup-summary {
    margin-bottom: .65rem;
}

.system-cleanup-form {
    display: grid;
    gap: .55rem;
    max-width: 42rem;
}

.cleanup-acknowledgement {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    column-gap: .45rem;
}

.cleanup-acknowledgement small {
    grid-column: 2;
}

.button-danger {
    border-color: #8f1f1f;
    background: #8f1f1f;
    color: #fff;
}

.maintenance-login-notice {
    display: grid;
    gap: .25rem;
    margin-bottom: .65rem;
    padding: .65rem;
    border: 1px solid #c48624;
    border-left: 4px solid #c48624;
    border-radius: .35rem;
    background: #fff8e8;
    color: #633e08;
}

.maintenance-login-notice strong,
.maintenance-login-notice small,
.maintenance-login-notice p,
.maintenance-login-notice span {
    margin: 0;
}

.system-operation-layout {
    display: grid;
    grid-template-columns: minmax(14rem, 25%) minmax(0, 75%);
    gap: .55rem;
    align-items: start;
}

.system-operation-form,
.restore-form {
    display: grid;
    gap: .55rem;
}

.system-operation-form textarea {
    min-height: 5.5rem;
    resize: vertical;
}

.backup-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: .65rem;
}

.compact-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .3rem;
}

.compact-actions form {
    margin: 0;
}

.restore-warning {
    margin-top: .7rem;
}

.restore-warning p {
    margin: .25rem 0 0;
}

.restore-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: .55rem;
    padding: .7rem;
    border: 1px solid #c77777;
    border-radius: .35rem;
    background: #fffafa;
}

.restore-form > button {
    grid-column: 1 / -1;
}

.health-notifications {
    display: grid;
    gap: .4rem;
    margin-bottom: .7rem;
}

.health-alert {
    display: grid;
    grid-template-columns: minmax(10rem, .7fr) minmax(0, 2fr) max-content;
    gap: .55rem;
    padding: .55rem;
    border: 1px solid var(--sse-border);
    border-left: 4px solid #c48624;
    border-radius: .35rem;
}

.health-alert.health-critical {
    border-left-color: #9e2929;
    background: #fff4f4;
}

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

.health-check {
    min-width: 0;
    padding: .65rem;
    border: 1px solid var(--sse-border);
    border-top: 3px solid var(--sse-primary);
    border-radius: .35rem;
    background: #fff;
}

.health-check.health-warning {
    border-top-color: #c48624;
}

.health-check.health-critical {
    border-top-color: #9e2929;
}

.health-check-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .4rem;
}

.health-check h2,
.health-check p {
    margin: 0;
}

.health-check p {
    margin-top: .4rem;
}

.toolbar-group {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .55rem;
}

.toolbar-group > .toolbar {
    margin-bottom: 0;
}

.toolbar-group > .filter-toolbar {
    flex: 1 1 32rem;
}

.toolbar-group > .print-toolbar {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 48rem) {
    .admin-dashboard-overview {
        grid-template-columns: 1fr;
    }

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

    .subscription-tenant-filter {
        grid-template-columns: 1fr;
    }

    .subscription-tenant-filter > button {
        width: 100%;
    }

    .toolbar-group,
    .toolbar-group > .toolbar {
        width: 100%;
    }

    .toolbar-group > .print-toolbar button {
        width: 100%;
    }

    .system-operation-layout,
    .backup-actions-grid,
    .health-grid {
        grid-template-columns: 1fr;
    }

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

    .health-alert {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .admin-summary-stack {
        grid-template-columns: 1fr;
    }

    .result-context-table .result-column-primary,
    .result-context-table .result-column-compact,
    .result-context-table .result-column-count,
    .result-context-table .result-column-action,
    .result-context-table .result-column-number {
        width: 100%;
        min-width: 0;
        max-width: none;
        text-align: left;
    }
}

.accounting-report-filters {
    display: grid;
    grid-template-columns: minmax(12rem, 2fr) repeat(2, minmax(9rem, 1fr)) auto auto;
    align-items: end;
    gap: .45rem;
    margin-bottom: .75rem;
}

.accounting-report-filters > label {
    min-width: 0;
}

.accounting-report-filters input,
.accounting-report-filters select {
    width: 100%;
}

@media (max-width: 60rem) {
    .accounting-report-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 36rem) {
    .accounting-report-filters {
        grid-template-columns: 1fr;
    }
}

@media print {
    .accounting-reports > .context-bar,
    .accounting-reports > .subscription-warning,
    .accounting-reports > .module-tabs,
    .accounting-reports > .submodule-tabs,
    .accounting-reports > .eyebrow,
    .accounting-report-filters {
        display: none !important;
    }
}

/* Centralized Customize and cPanel-compatible Health presentation. */
.health-hosting-guide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 1.25fr);
    gap: .55rem;
    margin-top: .65rem;
    padding: .65rem;
    border: 1px solid var(--sse-border);
    border-left: 3px solid var(--sse-primary);
    border-radius: .35rem;
    background: var(--sse-bg);
}

.health-hosting-guide h2,
.health-hosting-guide p {
    margin: 0 0 .3rem;
}

.health-cron-command {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    padding: .55rem;
    border: 1px solid var(--sse-border);
    border-radius: .3rem;
    background: #fff;
    color: var(--sse-dark);
    white-space: nowrap;
    user-select: all;
}

.customize-form {
    display: grid;
    gap: .7rem;
}

.customize-section {
    min-width: 0;
    margin: 0;
    padding: .7rem;
    border: 1px solid var(--sse-border);
    border-radius: .4rem;
}

.customize-section legend {
    padding: 0 .3rem;
    color: var(--sse-primary);
    font-size: 13px;
    font-weight: 700;
}

.palette-options,
.visual-style-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}

.palette-option,
.visual-style-option {
    position: relative;
    display: grid;
    min-width: 0;
    gap: .4rem;
    margin: 0;
    padding: .6rem;
    border: 1px solid var(--sse-border);
    border-radius: .4rem;
    background: #fff;
    cursor: pointer;
}

.palette-option:has(input:checked),
.visual-style-option:has(input:checked) {
    border-color: var(--sse-primary);
    outline: 2px solid var(--sse-focus);
}

.palette-option input,
.visual-style-option input {
    position: absolute;
    top: .45rem;
    right: .45rem;
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: var(--sse-primary);
}

.palette-name {
    padding-right: 1.2rem;
}

.palette-strip {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    height: 24px;
    overflow: hidden;
    border-radius: .25rem;
}

.palette-strip i {
    display: block;
}

.palette-strip i:nth-child(1) { background: var(--palette-1); }
.palette-strip i:nth-child(2) { background: var(--palette-2); }
.palette-strip i:nth-child(3) { background: var(--palette-3); }
.palette-strip i:nth-child(4) { background: var(--palette-4); }
.palette-strip i:nth-child(5) { background: var(--palette-5); }
.palette-strip i:nth-child(6) { background: var(--palette-6); }
.palette-strip i:nth-child(7) { background: var(--palette-7); }

.palette-preview-teal {
    --palette-1: #eef8f7; --palette-2: #c8e8e5; --palette-3: #9ed8d3;
    --palette-4: #68c1ba; --palette-5: #2ca8a1; --palette-6: #008080; --palette-7: #174646;
}

.palette-preview-red {
    --palette-1: #fee5d9; --palette-2: #fcbba1; --palette-3: #fc9272;
    --palette-4: #fb6a4a; --palette-5: #ef3b2c; --palette-6: #cb181d; --palette-7: #99000d;
}

.palette-preview-blue {
    --palette-1: #eff3ff; --palette-2: #c6dbef; --palette-3: #9ecae1;
    --palette-4: #6baed6; --palette-5: #4292c6; --palette-6: #2171b5; --palette-7: #084594;
}

.palette-preview-green {
    --palette-1: #edf8e9; --palette-2: #c7e9c0; --palette-3: #a1d99b;
    --palette-4: #74c476; --palette-5: #41ab5d; --palette-6: #238b45; --palette-7: #005a32;
}

.palette-preview-black-white {
    --palette-1: #fff; --palette-2: #f5f5f5; --palette-3: #d9d9d9;
    --palette-4: #a6a6a6; --palette-5: #666; --palette-6: #1a1a1a; --palette-7: #000;
}

.palette-preview-charcoal-sand {
    --palette-1: #fff; --palette-2: #f3eee3; --palette-3: #d8cbb3;
    --palette-4: #b7a487; --palette-5: #7a6c58; --palette-6: #1e1e1c; --palette-7: #11110f;
}

.visual-preview {
    display: grid;
    grid-template-columns: .7fr 1fr;
    grid-template-rows: .45fr 1fr;
    gap: .25rem;
    height: 70px;
    padding: .45rem;
    background: var(--sse-bg);
    border: 1px solid var(--sse-border);
    border-radius: .35rem;
}

.visual-preview i,
.visual-preview b,
.visual-preview em {
    display: block;
    border-radius: .2rem;
    background: var(--sse-soft);
}

.visual-preview i {
    grid-column: 1 / -1;
    background: var(--sse-primary);
}

.visual-preview em {
    background: #fff;
}

.preview-skeuomorphism .visual-preview {
    background: linear-gradient(145deg, #fff, var(--sse-soft));
    box-shadow: inset 1px 1px 2px #fff, inset -2px -2px 4px #0002;
}

.preview-liquid-glass .visual-preview,
.preview-glassmorphism .visual-preview {
    background: linear-gradient(135deg, #ffffffb8, var(--sse-soft));
    box-shadow: 0 .4rem 1rem #0002;
}

.preview-liquid-glass .visual-preview {
    border-radius: 1rem .35rem 1rem .35rem;
}

.customize-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
}

body.theme-style-skeuomorphism .workspace-card,
body.theme-style-skeuomorphism .auth-card,
body.theme-style-skeuomorphism .form-panel,
body.theme-style-skeuomorphism .table-panel {
    background: linear-gradient(145deg, #fff, var(--sse-bg));
    box-shadow: inset 1px 1px 1px #fff, .35rem .5rem 1rem #0002;
}

body.theme-style-skeuomorphism button,
body.theme-style-skeuomorphism .button-secondary {
    background: linear-gradient(to bottom, var(--sse-accent), var(--sse-primary));
    box-shadow: inset 0 1px 0 #ffffff88, 0 2px 3px #0003;
}

body.theme-style-liquid-glass .workspace-card,
body.theme-style-liquid-glass .auth-card,
body.theme-style-liquid-glass .form-panel,
body.theme-style-liquid-glass .table-panel {
    background: linear-gradient(135deg, #ffffffd9, #ffffff91);
    border-color: #ffffffcc;
    border-radius: 1.1rem .45rem 1.1rem .45rem;
    backdrop-filter: blur(18px) saturate(135%);
    box-shadow: 0 .8rem 2rem #0002, inset 0 1px 0 #fff;
}

body.theme-style-glassmorphism .workspace-card,
body.theme-style-glassmorphism .auth-card,
body.theme-style-glassmorphism .form-panel,
body.theme-style-glassmorphism .table-panel {
    background: #ffffffb5;
    border-color: #ffffffd9;
    border-radius: .8rem;
    backdrop-filter: blur(14px);
    box-shadow: 0 .65rem 1.6rem #0002;
}

@media (max-width: 48rem) {
    .health-hosting-guide {
        grid-template-columns: 1fr;
    }

    .palette-options,
    .visual-style-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 40rem) {
    .palette-options,
    .visual-style-options {
        grid-template-columns: 1fr;
    }

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

    .customize-actions button {
        width: 100%;
    }
}

.email-settings-layout {
    display: grid;
    grid-template-columns: minmax(15rem, 28%) minmax(0, 72%);
    gap: .75rem;
    align-items: start;
}

.email-status-grid {
    display: grid;
    gap: .45rem;
    margin: .55rem 0 .75rem;
}

.email-status-grid > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid var(--sse-border);
}

.email-status-grid dt,
.email-status-grid dd {
    margin: 0;
}

.email-status-grid dd {
    text-align: right;
}

.email-settings-form .form-grid.two-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem .75rem;
    margin-bottom: .7rem;
}

.email-settings-form label {
    min-width: 0;
}

.email-enabled-field {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem;
    border: 1px solid var(--sse-border);
    border-radius: .3rem;
    background: var(--sse-bg);
}

.email-enabled-field input {
    width: auto;
}

.email-managed-notice {
    padding: .55rem;
    border-left: 3px solid var(--sse-primary);
    background: var(--sse-bg);
}

.financial-year-option-group {
    display: grid;
    gap: .35rem;
    margin: .65rem 0;
    padding: .55rem;
    border: 1px solid var(--sse-border);
    border-radius: .3rem;
}

.financial-year-option-group legend {
    padding: 0 .25rem;
    color: var(--sse-primary);
}

.financial-year-option-group label {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .1rem .4rem;
}

.financial-year-option-group label input {
    grid-row: 1 / span 2;
    width: auto;
    margin: 0;
}

.financial-year-option-group .hint {
    margin: 0 0 .25rem 1.35rem;
}

.financial-year-layout .form-panel form > button {
    align-self: start;
    justify-self: start;
}

@media (max-width: 64rem) {
    .financial-year-layout .form-panel form > button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 48rem) {
    .financial-year-layout .form-panel form {
        grid-template-columns: 1fr;
    }
}

.opening-balance-table input,
.opening-balance-table select {
    min-width: 7rem;
}

.opening-balance-table tfoot th {
    background: var(--sse-bg);
}

.opening-balances-page form > button {
    margin-top: .65rem;
}

@media (max-width: 60rem) {
    .email-settings-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .email-settings-form .form-grid.two-columns {
        grid-template-columns: 1fr;
    }

    .email-status-grid > div {
        grid-template-columns: 1fr;
    }

    .email-status-grid dd {
        text-align: left;
    }
}

.cash-only-notice {
    margin: .45rem 0 .65rem;
    padding: .45rem .55rem;
    border-left: 3px solid var(--sse-primary);
    background: var(--sse-bg);
}

.accounting-party-form textarea {
    min-height: 4.25rem;
    resize: vertical;
}

.party-account-opener {
    margin-top: .7rem;
    padding-top: .55rem;
    border-top: 1px solid var(--sse-border);
}

.party-account-opener summary {
    color: var(--sse-primary);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.party-account-opener form {
    margin-top: .55rem;
}

.party-statement-dialog {
    width: min(96vw, 78rem);
}

.party-reverse-form {
    display: flex;
    align-items: center;
    gap: .3rem;
}

.party-reverse-form input {
    min-width: 10rem;
}

@media (max-width: 48rem) {
    .party-reverse-form {
        align-items: stretch;
        flex-direction: column;
    }

    .party-reverse-form input {
        min-width: 0;
        width: 100%;
    }
}

@media print {
    .accounting-party-page .context-bar,
    .accounting-party-page .subscription-warning,
    .accounting-party-page .module-tabs,
    .accounting-party-page .submodule-tabs,
    .accounting-party-page .eyebrow,
    .accounting-party-page .cash-only-notice,
    .accounting-party-page .form-panel,
    .accounting-party-page .toolbar-group,
    .accounting-party-page .table-selection-column {
        display: none !important;
    }

    .accounting-party-page .split-layout {
        display: block;
    }

    .accounting-party-page .table-panel {
        border: 0;
        padding: 0;
    }
}
