.settings-workspace { padding:0; overflow:hidden; border:1px solid #dfe7df; border-radius:18px; background:#fff; color:#34583b; }
.settings-page-heading { padding:28px 32px 24px; border-bottom:1px solid #e5ebe1; }
.settings-page-heading h2 { margin:0 0 12px; font-size:25px; }
.settings-page-heading p { margin:0 0 10px; color:#687e70; line-height:1.9; }
.settings-page-heading small { color:#829085; font-size:11px; }
.settings-body { display:grid; gap:24px; padding:26px 32px 32px; }
.settings-card-grid,.settings-lookup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.settings-card { min-width:0; padding:24px; border:1px solid #dfe7d9; border-radius:12px; background:#fff; }
.settings-card-heading { margin-bottom:22px; }
.settings-card-heading h3 { margin:0; font-size:18px; }
.settings-card-heading p { margin:9px 0 0; color:#718273; font-size:13px; line-height:1.9; }
.settings-heading-row { display:flex; justify-content:space-between; align-items:start; gap:18px; flex-wrap:wrap; }
.settings-workspace label,.settings-dialog label { display:grid; gap:9px; color:#4f704c; font-size:14px; min-width:0; }
.settings-workspace input:not([type="file"]),.settings-workspace select,.settings-workspace textarea,.settings-dialog input,.settings-dialog select { width:100%; min-width:0; min-height:46px; margin:0; padding:11px 13px; border:1px solid #cbdcc3; border-radius:9px; background:#fbfdf9; color:#315538; font:inherit; font-size:14px; line-height:1.7; }
.settings-workspace textarea { min-height:160px; resize:vertical; }
.settings-workspace .field-note,.settings-dialog .field-note { margin:14px 0 0; color:#7b8e71; font-size:12px; line-height:1.9; }
.settings-workspace .form-error,.settings-dialog .form-error { margin:14px 0 0; color:#a3413b; font-size:13px; line-height:1.9; }
.settings-form { display:grid; gap:20px; }
.settings-workspace .settings-button,.settings-dialog .settings-button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:10px 16px; margin:0; border:1px solid #cbdcc3; border-radius:9px; background:#fff; color:#527448; font:inherit; font-size:13px; font-weight:500; line-height:1.75; text-align:center; cursor:pointer; box-shadow:none; }
.settings-workspace .settings-primary,.settings-dialog .settings-primary { background:#306e4e; border-color:#306e4e; color:#fff; }
.settings-workspace .settings-button:not(:disabled):hover,.settings-dialog .settings-button:not(:disabled):hover { transform:none; background:#f1f6ed; border-color:#a9c39a; }
.settings-workspace .settings-primary:not(:disabled):hover,.settings-dialog .settings-primary:not(:disabled):hover { background:#285f43; border-color:#285f43; }
.settings-workspace .settings-danger,.settings-dialog .settings-danger { color:#9d443d; background:#fff7f5; border-color:#e4c7bf; }
.settings-workspace .settings-danger:not(:disabled):hover,.settings-dialog .settings-danger:not(:disabled):hover { background:#fbece7; border-color:#ceaaa0; }
.settings-workspace .settings-button:disabled,.settings-dialog .settings-button:disabled,.settings-file-button[aria-disabled="true"] { opacity:.5; cursor:not-allowed; }
.settings-actions { display:flex; align-items:stretch; flex-wrap:wrap; gap:12px; }
.settings-actions > .settings-button { flex:0 1 180px; }
.settings-workspace .settings-table-scroll { width:100%; max-width:100%; overflow:auto; border:1px solid #e2e9dd; border-radius:10px; }
.settings-table { min-width:430px; width:100%; border-collapse:collapse; }
.settings-table th,.settings-table td { padding:14px 16px; text-align:start; font-size:13px; line-height:1.9; }
.settings-table th { background:#f8faf4; color:#66805a; font-size:12px; font-weight:500; }
.settings-table td { color:#3d5e42; }
.settings-table td:first-child { font-weight:550; }
.settings-table th:last-child,.settings-table td:last-child { width:110px; }
.settings-table .settings-button { min-height:36px; padding:6px 12px; font-size:12px; }
.settings-status { display:inline-block; padding:3px 11px; border:1px solid #e0e8d8; border-radius:7px; background:#edf3e8; color:#637c53; font-size:11px; white-space:nowrap; }
.settings-status--inactive { background:#f4f4f0; color:#8a8d7f; border-color:#e8e8df; }
.settings-lookup-form { display:flex; flex-direction:column; align-items:stretch; min-width:0; padding:20px; border:1px solid #e2e9dd; border-radius:11px; background:#fafcf7; }
.settings-lookup-form h4 { margin:0 0 20px; font-size:16px; }
.settings-lookup-form .settings-actions { padding-top:20px; margin-top:auto; }
.settings-details { margin:22px 0 0; padding:18px; border:1px solid #e0e8d9; border-radius:10px; background:#fafcf8; font-size:13px; line-height:1.9; }
.settings-details > summary { color:#607a52; cursor:pointer; font-size:14px; }
.settings-details[open] > summary { margin-bottom:18px; }
.settings-details .settings-lookup-form { margin-top:18px; background:#fff; }
.settings-storage-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.settings-storage-summary article { display:grid; gap:10px; padding:20px; border:1px solid #dce7d4; border-radius:11px; background:#f8fbf4; }
.settings-storage-summary span,.settings-storage-summary small { color:#6b805f; font-size:12px; }
.settings-storage-summary strong { color:#315e41; font-size:20px; font-weight:550; overflow-wrap:anywhere; }
.settings-backup-actions { margin-top:22px; }
.settings-backup-actions > .settings-button { flex-basis:220px; }
.settings-workspace .settings-file-button { position:relative; overflow:hidden; }
.settings-file-input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.settings-file-button:focus-within { outline:3px solid rgba(81,144,171,.52); outline-offset:2px; }
.settings-backup-preview { margin-top:24px; padding:22px; border:1px solid #b9cfad; border-radius:12px; background:#f7fbf2; font-size:13px; line-height:1.9; }
.settings-backup-preview h4 { margin:0 0 14px; font-size:17px; }
.settings-backup-preview .settings-actions { margin-top:22px; }
.settings-storage-status { margin:16px 0 0; color:#527448; font-size:13px; line-height:1.9; }
.settings-storage-status:empty { display:none; }
.settings-backup-list,.settings-audit-list { list-style:none; padding:0; margin:0; }
.settings-backup-list > li { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 0; border-top:1px solid #e4eadf; }
.settings-backup-list > li:first-child { border-top:0; }
.settings-backup-list p,.settings-audit-list p { margin:8px 0 0; color:#7b8e71; font-size:12px; }
.settings-audit-list { margin-top:20px; }
.settings-audit-list > li { padding:18px 0; border-top:1px solid #e4eadf; }
.settings-audit-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; }
.settings-audit-heading strong { font-size:13px; font-weight:550; }
.settings-audit-heading time { color:#7b8e71; font-size:11px; }
.settings-audit-technical { margin-top:14px; font-size:11px; color:#819276; overflow-wrap:anywhere; }
.settings-audit-technical summary { cursor:pointer; }
.settings-empty { margin:0; padding:16px 0; color:#7b8e71; font-size:13px; }
.settings-reset-section { background:#fffaf8; border-color:#ecd9d1; }
.settings-reset-section > summary { color:#9d6258; }
.settings-reset-section > p { color:#8d756d; margin:0 0 20px; }
dialog.settings-dialog { width:min(620px,calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); padding:0; overflow:hidden; border:1px solid #dce5d7; border-radius:18px; color:#34583b; background:#fff; box-shadow:0 24px 70px #193d2a30; }
dialog.settings-dialog::backdrop { background:#17312655; backdrop-filter:blur(3px); }
.settings-dialog form { display:flex!important; flex-direction:column; max-height:calc(100dvh - 34px); margin:0; gap:0!important; padding:0; }
.settings-dialog header { flex:none; padding:26px 30px 24px; border-bottom:1px solid #e1e8db; background:#fafcf7; }
.settings-dialog h2 { margin:0 0 10px; font-size:23px; }
.settings-dialog header p { margin:0; color:#73876a; font-size:13px; line-height:1.9; }
.settings-form-body { display:grid; gap:22px; min-height:0; padding:26px 30px; overflow-y:auto; overflow-x:hidden; }
.settings-form-body > p,.settings-form-body > .field-note,.settings-form-body > .settings-details { margin:0; font-size:13px; line-height:1.9; }
.settings-dialog .settings-actions { flex:none; flex-wrap:nowrap; justify-content:flex-start; flex-direction:row-reverse; padding:20px 30px; border-top:1px solid #e0e8d9; background:#fff; }
.settings-dialog .settings-actions .settings-button { flex:0 1 180px; font-size:14px; min-height:46px; }
.settings-confirmation { padding:14px 16px; border:1px solid #e8d4cc; border-radius:9px; background:#fff8f4; color:#9d443d; }
@media(max-width:900px) { .settings-card-grid { grid-template-columns:1fr; } .settings-lookup-grid { gap:16px; } }
@media(max-width:680px) {
  .settings-page-heading,.settings-body { padding:22px 18px; }
  .settings-body { gap:18px; }
  .settings-card { padding:19px; }
  .settings-lookup-grid,.settings-storage-summary { grid-template-columns:1fr; }
  .settings-lookup-form,.settings-backup-preview,.settings-details { padding:16px; }
  .settings-actions > .settings-button { flex:1 1 0; }
  .settings-backup-actions { flex-direction:column; }
  .settings-backup-actions > .settings-button { flex-basis:auto; }
  .settings-heading-row > .settings-button { width:100%; }
  .settings-dialog header,.settings-form-body { padding:22px 20px; }
  .settings-dialog .settings-actions { padding:18px 20px; }
  .settings-dialog .settings-actions .settings-button { flex:1 1 0; }
}
