.app-content { max-width: 1500px; margin: 0 auto; }
.navbar-brand { color: #146c43; font-weight: 700; }
.navbar .nav-link { color: #283d31; font-size: 14px; white-space: nowrap; }
.navbar button.nav-link { border: 0; background: transparent; }
h1 { font-size: 26px; line-height: 1.3; }
h2, legend { font-size: 19px; margin-top: 1.25rem; }
.operation-table, .operations-table { table-layout: fixed; width: 100%; min-width: 820px; }
.operation-table th, .operations-table th { font-size: 13px; background: #edf4ef; color: #274b36; vertical-align: middle; }
.operation-table td, .operations-table td { font-size: 14px; vertical-align: top; }
.operation-table th, .operations-table th, .operation-table td, .operations-table td { overflow-wrap: anywhere; }
.operation-table .form-control, .operations-table .form-control, .operation-table .form-select { min-width: 0; font-size: 14px; }
.operation-table .btn, .operations-table .btn { white-space: normal; }
.operation-form { max-width: 940px; }
.operation-summary dd { overflow-wrap: anywhere; }
.operation-totals { display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding: .8rem 0; border-block: 1px solid #dce6df; }
.text-prewrap, .preserve-lines { white-space: pre-wrap; overflow-wrap: anywhere; }
summary { color: #146c43; cursor: pointer; }
details[open] > summary { margin-bottom: .75rem; }
.permissions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1.5rem; }
.permissions-grid label { overflow-wrap: anywhere; }
@media (max-width: 575px) {
 h1 { font-size: 23px; }
 .permissions-grid { grid-template-columns: 1fr; }
 .operation-totals { gap: .6rem; flex-direction: column; }
 .app-content { padding-inline: 12px; }
}
