:root{--brand:#0d7547;--brand-dark:#123e2d;--brand-deep:#0b2e22;--brand-light:#e9f5ed;--page:#f3f8f4;--ink:#173c29;--muted:#63786b;--line:#dfe9e2;--bs-body-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";--bs-body-color:var(--ink);--bs-body-bg:var(--page);--bs-border-color:var(--line);--bs-border-radius:.5rem;--bs-primary-rgb:13,117,71}
body{min-width:320px;font-size:16px;-webkit-font-smoothing:antialiased}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #85ce9f;outline-offset:3px}.btn{font-size:16px;font-weight:500;min-height:38px;padding:.48rem 1rem;box-shadow:none!important}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:#095b36;--bs-btn-hover-border-color:#095b36;--bs-btn-active-bg:#06492b;--bs-btn-active-border-color:#06492b;--bs-btn-disabled-bg:#76a68c;--bs-btn-disabled-border-color:#76a68c}.btn-primary-soft{--bs-btn-bg:#e8f3ec;--bs-btn-color:#0b7546;--bs-btn-border-color:#e8f3ec;--bs-btn-hover-bg:#d7eadd;--bs-btn-hover-color:#075b35;--bs-btn-hover-border-color:#d7eadd}.btn-light{--bs-btn-bg:#f3f6f3;--bs-btn-border-color:#edf1ed;--bs-btn-hover-bg:#e7eee8;--bs-btn-hover-border-color:#e2eae3;--bs-btn-color:#627268}.btn-outline-secondary{--bs-btn-border-color:#dfe7e1;--bs-btn-color:#54665b;--bs-btn-hover-bg:#f0f5f1;--bs-btn-hover-border-color:#c5d7ca;--bs-btn-hover-color:#204a33}.form-control,.form-select{font-size:16px;min-height:39px;border-color:#dfe8e1;background-color:#fff;color:#294134}.form-control::placeholder{color:#9ca89f}.form-control:focus,.form-select:focus{border-color:#66ac80;box-shadow:0 0 0 3px #e0f0e6}.form-label{font-weight:500;color:#496053;font-size:16px;margin-bottom:8px}.form-text{font-size:14px;line-height:1.6;color:#849187}.text-secondary{color:#7a8b80!important}.boot-screen{min-height:100dvh;display:flex;gap:16px;align-items:center;justify-content:center;color:#677c6c}.spinner-border{width:22px;height:22px;border-width:2px}.skip-link{position:fixed;z-index:9999;padding:12px;background:#fff}.brand-lockup,.sidebar-brand{display:flex;align-items:center;gap:12px}.brand-symbol{background:#b0ef87;color:#143e2c;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:31px;font-weight:800;border-radius:12px;line-height:1;flex-shrink:0}.brand-name{font-size:25px;font-weight:700;letter-spacing:-1.1px;line-height:1.1;display:block}.brand-caption{font-size:11px;letter-spacing:2px;margin-top:7px;color:#a6c5b3;display:block}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.7px;color:#71927d;margin-bottom:10px}.internal-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:#edf5ee;color:#6e8c78;padding:5px 9px;border-radius:5px;font-size:12px;font-weight:500;letter-spacing:1px}.internal-badge>span{width:5px;height:5px;border-radius:50%;background:#6fbb86}
.login-screen{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-brand{padding:44px 64px;background:var(--brand-dark);color:white;display:flex;flex-direction:column;overflow:hidden}.login-intro{margin:auto 0;padding:65px 0}.login-intro .eyebrow{color:#a4c8b0;margin-bottom:20px}.login-intro h1{font-size:44px;line-height:1.55;letter-spacing:1px;font-weight:500;margin-bottom:18px}.login-intro p{max-width:310px;color:#a4c4ae;font-size:16px;line-height:1.9}.login-brand-footer{font-size:12px;color:#729d81;letter-spacing:1px}.login-panel{display:flex;align-items:center;justify-content:center;padding:50px 35px;background:#f7fbf7}.login-card{width:100%;max-width:370px}.login-card h2{font-size:29px;font-weight:600;margin:24px 0 12px;letter-spacing:.5px}.login-card>.text-secondary{font-size:16px;line-height:1.7}.login-card .form-control-lg{font-size:16px;height:49px;padding:12px 16px}.login-card .btn-lg{height:49px;font-size:16px;display:flex;align-items:center;justify-content:center;gap:15px}.login-note{font-size:12px;text-align:center;color:#96a398;margin:22px 0 0}.login-illustration{position:relative;margin-top:38px;height:210px;width:310px}.illustration-card{position:relative;border:1px solid #537c60;border-radius:14px;width:250px;padding:23px;background:#254e38;transform:rotate(-4deg)}.mini-mark{width:31px;height:31px;background:#b5ee9a;border-radius:50%;display:grid;place-items:center;color:#1e4f2d;font-weight:bold;margin-bottom:18px}.illustration-line{display:block;width:65px;height:5px;background:#558063;border-radius:8px;margin-bottom:10px}.illustration-line.long{width:120px;background:#a0bfa5;height:7px}.illustration-row{display:flex;gap:12px;align-items:center;margin-top:15px}.illustration-row i{width:21px;height:21px;background:#3b6649;border-radius:5px}.illustration-row span{width:85px;height:5px;background:#648b6a;border-radius:6px}.illustration-row b{font-weight:normal;color:#9bd68d;margin-left:auto}.illustration-tag{position:absolute;right:0;top:120px;padding:15px 22px;background:#dcf0cb;color:#436844;border-radius:9px;font-size:14px;box-shadow:0 8px 25px #061c2130;transform:rotate(4deg)}
.sidebar{--bs-offcanvas-width:260px;width:260px!important;background:var(--brand-dark)!important;color:#d7e7dc;border:none!important;display:flex!important;flex-direction:column}.sidebar-brand{padding:31px 23px 29px}.workspace-label{display:flex;align-items:center;gap:8px;margin:0 18px 20px;padding:12px 13px;border:1px solid #3a6249;border-radius:7px;font-size:12px;color:#c4dfcd}.workspace-dot{width:6px;height:6px;background:#b4e887;border-radius:50%}.workspace-label-end{margin-left:auto;color:#729e82;font-size:12px}.sidebar-navigation{padding:0 13px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#40654f transparent}.nav-group-title{padding:16px 17px 9px;color:#6d987c;font-size:12px;letter-spacing:1.7px;font-weight:500}.nav-item-button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#a7c6b1;text-align:left;padding:12px 15px;margin:3px 0;font-size:16px;border-radius:7px;transition:background-color .15s,color .15s}.nav-item-button svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;opacity:.9;flex-shrink:0}.nav-item-button:hover{background:#234e38;color:#fff}.nav-item-button.active{background:#2b5940;color:#d9efc7}.nav-item-button.active:after{content:"";width:5px;height:5px;border-radius:50%;background:#b2e486;margin-left:auto}.sidebar-footer{padding:22px 29px;border-top:1px solid #274e37;margin-top:16px}.sidebar-footer .internal-badge{background:#214933;color:#89b194}.sidebar-footer p{font-size:12px;color:#658f75;margin:11px 0 0;letter-spacing:1px}.main-shell{min-height:100dvh}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb-root,.breadcrumb-separator{font-size:14px;color:#9aaa9e}.breadcrumb-separator{margin:0 3px}#breadcrumb-current{font-size:14px;color:#54725d}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-divider{width:1px;height:20px;background:var(--line);margin:0 10px}.user-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eaf3ed;color:#3d7453;font-size:12px;font-weight:600}.current-user{font-size:14px;color:#63776a;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{color:#819385;min-height:auto;padding:5px 9px;font-size:12px}.logout-button:hover{color:#244d36;background:#f2f6f2}.icon-button{width:36px;padding:6px}.icon-button svg,.refresh-button svg{height:15px;width:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.workspace{padding:34px 36px 22px;max-width:1680px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading .eyebrow{margin-bottom:9px;font-size:12px;letter-spacing:1px}.page-heading h1{font-size:26px;font-weight:600;margin:0 0 10px;letter-spacing:.3px;outline:none}.page-heading p{font-size:14px;color:#8b9c90;margin:0;line-height:1.8}.page-heading .btn{margin-top:4px}.button-icon{font-size:18px;line-height:12px;vertical-align:-1px;margin-right:7px}.data-panel{background:#fff;border:1px solid #e3ede4;border-radius:11px;box-shadow:0 3px 13px #21433203;overflow:hidden}.panel-heading{padding:21px 23px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h2{font-size:16px;font-weight:600;margin:0}.count-badge{font-size:12px;background:#eef6ef;color:#65866b;padding:3px 7px;border-radius:4px;font-variant-numeric:tabular-nums;min-width:22px;text-align:center}.panel-note{font-size:12px;color:#9bab9e}.table-toolbar{padding:0 23px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.search-form{display:flex;align-items:center;gap:8px;min-width:0}.search-field{width:132px}.search-input{width:210px}.refresh-button{display:flex;align-items:center;gap:7px;font-size:14px;flex-shrink:0}.table-region{position:relative;min-height:260px}.data-table{width:100%;vertical-align:middle;white-space:nowrap}.data-table thead th{background:#f6f9f6;color:#839888;font-size:12px;font-weight:500;padding:15px 20px;border-bottom:1px solid #e9f0e9}.data-table td{padding:17px 20px;font-size:14px;color:#52675a;border-bottom:1px solid #f0f4f0;max-width:240px;overflow:hidden;text-overflow:ellipsis;height:64px}.data-table td:first-child,.data-table th:first-child{padding-left:23px}.data-table tbody tr:hover td{background:#fbfdfb}.data-table tbody tr:last-child td{border-bottom:0}.data-table .primary-cell{font-weight:500;color:#385940}.data-table .mono{font-variant-numeric:tabular-nums;letter-spacing:.15px}.data-table .actions-cell{text-align:right;position:sticky;right:0;background:#fff;padding-right:20px;min-width:158px;max-width:none}.data-table thead .actions-cell{background:#f6f9f6}.row-action{border:0;background:transparent;font-size:12px;color:#448763;padding:4px 7px;border-radius:4px;min-height:28px}.row-action:hover{background:#eaf5ec;color:#16592e}.row-action.danger{color:#bd8c7b}.row-action.danger:hover{background:#fcf0eb;color:#b45030}.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;font-size:12px;padding:4px 7px;background:#edf5ef;color:#5b9170;font-weight:400}.status-badge:before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%}.status-badge.neutral{color:#8b9990;background:#f1f4f1}.status-badge.warning{color:#b89a4c;background:#fbf7e9}.status-badge.danger{color:#b87965;background:#fcf0eb}.table-state{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;color:#9aad9e;gap:10px}.table-state svg{width:45px;height:45px;stroke:#9abb9e;stroke-width:1.1;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:7px}.table-state strong{font-weight:500;color:#6e8875;font-size:16px}.table-state p{font-size:12px;margin:0;color:#9bac9f;text-align:center}.table-footer{padding:17px 23px;border-top:1px solid #edf2ed;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:12px;min-height:71px}.pagination-controls{display:flex;gap:11px;align-items:center;white-space:nowrap}.pagination-controls .form-select{width:85px;min-height:31px;font-size:12px;padding-top:4px;padding-bottom:4px}.pagination-controls .btn{min-height:29px;width:28px;padding:2px;font-size:18px;background:#fff}.pagination-controls .btn:disabled{color:#bbc8bd;border-color:#f1f4f1}.pagination-controls #page-position{font-size:12px;color:#78917c;min-width:32px;text-align:center;font-variant-numeric:tabular-nums}.workspace-footer{display:flex;justify-content:space-between;color:#a8b7aa;font-size:12px;letter-spacing:.3px;padding-top:22px}
.modal-content{border:1px solid #dce9df;border-radius:12px;box-shadow:0 20px 80px #0c362c18}.modal-header{padding:23px 25px;border-color:#edf3ee}.modal-description{color:#92a097;font-size:12px;margin-top:8px;line-height:1.7}.record-form{display:flex;flex-direction:column;overflow:hidden}.record-form .modal-body{padding:22px 25px;overflow-y:auto}.modal-footer{padding:16px 25px;border-color:#edf3ee}.modal-footer .btn{min-width:80px}.required-mark{font-size:14px;color:#bb7a64;margin-left:4px}.field-label-row{display:flex;align-items:center;gap:8px;justify-content:space-between;min-height:27px}.field-label-row .form-label{margin-bottom:7px}.secret-note{color:#7d9b85;font-size:12px;margin-bottom:7px}.json-field{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.7;min-height:116px;resize:vertical}.sensitive-field{-webkit-text-security:disc}.record-form .form-control:disabled,.record-form .form-select:disabled{background:#f7faf7;color:#809086;border-color:#edf2ed}.readonly-json{white-space:pre-wrap;word-break:break-word;max-height:280px;overflow:auto;margin:0;padding:12px;background:#f7faf7;border:1px solid #edf2ed;border-radius:6px;font-size:14px;color:#718478}.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}.form-check-input:focus{box-shadow:0 0 0 3px #e0f0e6;border-color:#66ac80}.field-description{display:block;color:#9aa69e;font-size:12px;margin-top:7px;line-height:1.7}.alert{font-size:14px;border-radius:7px;line-height:1.7}.swal2-popup{font-family:var(--bs-body-font-family);border-radius:12px!important}.swal2-title{font-size:20px!important;font-weight:600!important;color:#284936!important}.swal2-html-container{font-size:16px!important;color:#7a8f81!important}.swal2-actions{gap:10px!important}.swal2-toast .swal2-title{font-size:16px!important}.swal2-container{z-index:2000!important}
@media(min-width:992px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1030;visibility:visible!important}.main-shell{margin-left:260px}.sidebar.offcanvas-lg{background-color:var(--brand-dark)!important}}
@media(min-width:1500px){.workspace{padding-top:42px}.data-table td{height:68px}.page-heading{margin-bottom:31px}}
@media(max-width:1199.98px){.workspace{padding:26px 22px 20px}.topbar{padding:0 22px}.search-input{width:175px}.table-toolbar{align-items:flex-start}.login-brand{padding:38px}.login-intro h1{font-size:36px}}
@media(max-width:991.98px){.topbar{height:66px}.sidebar-brand{padding-top:26px}.workspace{padding:26px 22px}.page-heading h1{font-size:23px}.login-brand{padding:30px}.login-intro h1{font-size:31px}.login-illustration{width:240px}.illustration-card{width:210px}.illustration-tag{right:-7px;font-size:12px;padding:11px 15px}.brand-name{font-size:22px}.topbar .internal-badge{font-size:11px}.sidebar-footer{padding-bottom:26px}}
@media(max-width:767.98px){.login-screen{display:block}.login-brand{padding:25px 28px}.login-intro,.login-brand-footer{display:none}.login-panel{padding:44px 28px;min-height:calc(100dvh - 88px);align-items:flex-start}.login-card{max-width:440px}.workspace{padding:24px 16px}.topbar{padding:0 14px;gap:8px}.topbar-actions{gap:6px}.current-user{max-width:66px}.topbar-divider{display:none}.breadcrumb-root,.breadcrumb-separator{display:none}.page-heading{gap:12px;margin-bottom:22px}.page-heading h1{font-size:22px}.page-heading p{max-width:220px;font-size:12px}.page-heading .btn{white-space:nowrap;padding:9px 12px;font-size:14px}.panel-heading{padding:18px 17px 15px}.table-toolbar{padding:0 16px 17px;flex-wrap:wrap;gap:10px}.search-form{flex-wrap:wrap;width:100%;gap:7px}.search-field{width:113px}.search-input{width:calc(100% - 120px)}.search-form>.btn{padding:7px 17px}.refresh-button{margin-left:auto;margin-top:-48px}.table-footer{padding:15px 16px;flex-wrap:wrap;row-gap:13px}.pagination-controls{margin-left:auto;gap:8px}.pagination-controls>label{display:none}.data-table td{padding:15px 16px;height:59px}.data-table thead th{padding:14px 16px}.data-table .actions-cell{min-width:145px}.panel-note{font-size:11px}.record-form .modal-body{padding:18px}.modal-header{padding:20px 18px}.modal-footer{padding:14px 18px}.workspace-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Bootstrap typography and table density follow the reference admin console. */
body { font-size: 1rem; line-height: 1.5; }
.btn { min-height: auto; font-size: 1rem; font-weight: 400; padding: .375rem .75rem; line-height: 1.5; }
.btn-sm { font-size: .875rem; padding: .25rem .5rem; }
.form-control, .form-select { min-height: auto; font-size: 1rem; border-color: #ccdacf; }
.form-control-sm, .form-select-sm { font-size: .875rem; }
.form-control::placeholder { color: #7f9185; }
.form-label { font-size: 1rem; font-weight: 400; margin-bottom: .5rem; color: #344f3f; }
.form-text, .text-secondary { color: var(--muted) !important; }
.nav-group-title { color: #a0c1ab; font-size: .75rem; letter-spacing: .06em; }
.nav-item-button { padding: .75rem .9rem; margin-bottom: .35rem; font-size: 1rem; border-radius: .75rem; color: #c4dacc; }
.nav-item-button.active { color: #effbe8; }
.sidebar-footer p { color: #a0bfa9; }
.workspace-label-end { color: #a4c8b1; }
.brand-caption { color: #b1cdbb; }
.topbar { height: auto; min-height: 72px; padding: 1rem 1.5rem; }
.breadcrumb-root, .breadcrumb-separator { color: var(--muted); font-size: .875rem; }
#breadcrumb-current { font-size: 1rem; font-weight: 600; color: var(--ink); }
.current-user { font-size: .875rem; max-width: 120px; }
.logout-button { color: #ac453e; border: 1px solid #d9aba6; padding: .25rem .5rem; font-size: .875rem; }
.logout-button:hover { color: #fff; background: #ac453e; border-color: #ac453e; }
.workspace { max-width: none; padding: 1.5rem; }
.page-heading { margin-bottom: 1.25rem; }
.page-heading h1 { font-size: 1.5rem; margin-bottom: .4rem; }
.page-heading p { font-size: .875rem; color: var(--muted); }
.page-heading .btn { flex-shrink: 0; }
.data-panel, .table-card { background: #fff; border: 0; border-radius: 1.1rem; min-width: 0; overflow: hidden; box-shadow: 0 .125rem .25rem #143b2310; }
.panel-heading { padding: 1rem 1rem .75rem; }
.panel-heading h2 { font-size: 1rem; font-weight: 600; }
.panel-note { font-size: .75rem; color: var(--muted); }
.count-badge { font-size: .75rem; color: #386849; }
.table-toolbar { padding: 0 1rem 1rem; flex-wrap: wrap; align-items: center; }
.search-form { flex-wrap: wrap; }
.search-field { width: 140px; }
.search-input { width: 220px; }
.refresh-button { font-size: 1rem; white-space: nowrap; margin-top: 0; }
.table-region { min-height: 220px; }
.data-table thead th { background: #f6faf7; color: #2f513c; font-size: 1rem; font-weight: 600; padding: .65rem .75rem; border-bottom-color: #dce8df; }
.data-table td { padding: .65rem .75rem; height: auto; font-size: 1rem; color: #294635; border-bottom-color: #e6ede8; }
.data-table td:first-child, .data-table th:first-child { padding-left: 1rem; }
.data-table tbody tr:hover td { background: #f6faf7; }
.data-table .actions-cell { padding-right: 1rem; min-width: 166px; }
.data-table thead .actions-cell { background: #f6faf7; }
.row-action { border: 1px solid transparent; font-size: .875rem; padding: .25rem .5rem; border-radius: .375rem; min-height: 31px; color: #0b7546; }
.row-action.danger { color: #b1443c; }
.row-action.danger:hover { background: #fbecea; color: #a02c24; }
.status-badge { font-size: .75rem; padding: .3rem .45rem; color: #246b3d; background: #e4f4e9; font-weight: 500; }
.status-badge.neutral { color: #526859; background: #ecf1ed; }
.status-badge.warning { color: #846014; background: #fff5d9; }
.status-badge.danger { color: #a43a30; background: #fcebe8; }
.table-state { min-height: 220px; padding: 2rem; }
.table-state strong { font-size: 1rem; color: #526f5b; }
.table-state p { font-size: .875rem; color: var(--muted); }
.table-footer { padding: 1rem; font-size: .875rem; min-height: auto; flex-wrap: wrap; }
.pagination-controls .form-select { width: 90px; font-size: .875rem; }
.pagination-controls .btn { width: 32px; min-height: 31px; }
.pagination-controls #page-position { font-size: .875rem; color: var(--muted); }
.workspace-footer { color: var(--muted); font-size: .75rem; padding-top: 1.25rem; }

/* Configuration groups and items share one master/detail page. */
.config-split { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); gap: 1rem; align-items: start; }
.config-group-list { max-height: calc(100vh - 330px); min-height: 160px; overflow: auto; padding: 2px; }
.config-group-item { border: 1px solid #dce6df; border-radius: .8rem; padding: .75rem .85rem; margin-bottom: .55rem; background: #fff; }
.config-group-item:hover { border-color: #99ceab; }
.config-group-item.active { border-color: var(--brand); background: #edf6f0; }
.group-select { display: block; width: 100%; padding: 0; border: 0; background: transparent; text-align: left; color: var(--ink); overflow-wrap: anywhere; }
.group-select .small { color: var(--muted); }
.group-actions { display: flex; gap: .2rem; margin-top: .5rem; justify-content: flex-end; flex-wrap: wrap; }
.group-actions .btn { font-size: .8125rem; padding: .2rem .4rem; }
.config-split .table-toolbar { align-items: flex-start; }
.config-split .search-form { flex: 1 1 100%; }
.config-split .search-input { flex: 1 1 160px; width: 160px; }
.config-split .refresh-button { margin-left: auto; }
.config-split .panel-heading { align-items: flex-start; flex-wrap: wrap; }
.color-dot { width: 12px; height: 12px; border-radius: 999px; display: inline-block; border: 1px solid #234b3126; vertical-align: middle; }
.cell-val { max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* SweetAlert owns all record forms and confirmation dialogs. */
.record-form { text-align: left; }
.record-dialog-description { color: var(--muted); font-size: .875rem; line-height: 1.6; margin: 0 0 1.25rem; }
.field-label-row { align-items: baseline; }
.secret-note { font-size: .75rem; color: #4f735c; }
.field-description { font-size: .75rem; color: var(--muted); }
.json-field, .readonly-json { font-size: .8125rem; line-height: 1.5; }
.swal2-container { z-index: 2100 !important; }
.swal2-popup { border-radius: .9rem !important; }
.swal2-title { font-size: 1.5rem !important; color: var(--ink) !important; }
.swal2-html-container { font-size: 1rem !important; color: var(--muted) !important; }
.swal2-toast .swal2-title { font-size: .875rem !important; }
.record-swal { max-width: calc(100vw - 2rem); padding-bottom: 1.25rem; }
.record-swal .swal2-title { padding: 1.25rem 1.5rem .25rem; text-align: left; font-size: 1.25rem !important; }
.record-swal .record-dialog-content { margin: 1rem 1.5rem 0; padding: 0; text-align: left; max-height: 65vh; overflow-y: auto; overflow-x: hidden; }
.record-swal .record-form { padding: 0 .25rem .25rem; }
.record-swal .swal2-actions { width: calc(100% - 3rem); justify-content: flex-end; margin: 1.25rem 1.5rem 0; padding-top: 1rem; border-top: 1px solid var(--line); }
.record-swal .swal2-close { color: var(--muted); font-size: 1.75rem; }
.record-swal .swal2-validation-message { margin: 1rem 1.5rem 0; border-radius: .5rem; font-size: .875rem; }

@media (max-width: 1199.98px) {
  .config-split { grid-template-columns: 240px minmax(0, 1fr); }
  .config-split .search-field { width: 100%; }
}
@media (max-width: 991.98px) {
  .config-split { grid-template-columns: 1fr; }
  .config-group-list { max-height: 280px; min-height: 0; }
  .config-split .search-field { width: 140px; }
}
@media (max-width: 767.98px) {
  .workspace { padding: 1.25rem 1rem; }
  .topbar { min-height: 66px; padding: .8rem 1rem; }
  .current-user { max-width: 85px; }
  .page-heading h1 { font-size: 1.25rem; }
  .page-heading .btn { font-size: .875rem; }
  .page-heading p { max-width: none; font-size: .875rem; }
  .search-field, .config-split .search-field { width: 120px; }
  .search-input { flex: 1 1 150px; width: 150px; }
  .refresh-button { margin-left: auto; margin-top: 0; }
  .data-table .actions-cell { min-width: 150px; }
  .panel-heading { flex-wrap: wrap; }
  .record-swal { max-width: calc(100vw - 1rem); }
  .record-swal .swal2-title { padding-left: 1rem; padding-right: 1rem; }
  .record-swal .record-dialog-content { margin: .75rem 1rem 0; max-height: 62vh; }
  .record-swal .swal2-actions { width: calc(100% - 2rem); margin: 1rem 1rem 0; }
}

