body { font-family: system-ui, sans-serif; margin: 0; color: #1a1a1a; }
.site-header { background: #1e3a5f; padding: 12px 24px; display: flex; justify-content: space-between; align-items: center; }
.site-header nav a { color: #fff; text-decoration: none; margin-right: 20px; font-weight: 500; }
.site-header nav a.brand { font-weight: 700; font-size: 1.1em; }
.user-nav { color: #cdd8e6; font-size: 0.9em; }
.user-nav span { margin-right: 10px; }
.link-button { background: none; border: none; color: #cdd8e6; text-decoration: underline; cursor: pointer; font: inherit; font-size: 0.9em; padding: 0; }
.link-button-dark { background: none; border: none; color: #1e3a5f; text-decoration: underline; cursor: pointer; font: inherit; font-size: 0.9em; padding: 0; }
.banner-context { background: #ffe082; color: #4a3800; padding: 8px 24px; text-align: center; font-size: 0.9em; }
.banner-context .link-button { color: #4a3800; font-weight: 600; }

.container { max-width: 1100px; margin: 24px auto; padding: 0 24px; }
.site-footer { text-align: center; padding: 16px; color: #666; font-size: 0.9em; }

.credit-satura { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; color: #888; text-decoration: none; }
.credit-satura:hover { color: #1e3a5f; }
.credit-satura img { height: 16px; width: auto; opacity: 0.85; }
.credit-satura strong { color: #1e3a5f; font-weight: 600; }

.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 24px; }
.card { display: block; padding: 20px; border: 1px solid #ddd; border-radius: 8px; text-decoration: none; color: inherit; }
.card:hover { border-color: #1e3a5f; }

.data-table { width: 100%; border-collapse: collapse; margin-top: 16px; }
.data-table th, .data-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #eee; }
.data-table th { background: #f5f5f5; }
.data-table td.num, .data-table th.num { text-align: right; }

.btn { display: inline-block; padding: 8px 16px; background: #1e3a5f; color: #fff; text-decoration: none; border-radius: 4px; border: none; cursor: pointer; font: inherit; line-height: 1.4; box-sizing: border-box; }

.pagination { display: flex; align-items: center; gap: 16px; margin-top: 16px; }
.pagination a { color: #1e3a5f; text-decoration: none; font-weight: 500; }
.pagination a:hover { text-decoration: underline; }
.pagination-info { color: #666; font-size: 0.9em; }

.notice { background: #fff8e1; border: 1px solid #ffe082; padding: 10px 14px; border-radius: 4px; }

.filtre-panel { background: #f9f9f9; border: 1px solid #e5e5e5; border-radius: 6px; padding: 14px 16px; margin: 4px 0 20px; }
.buton-filtre svg { vertical-align: -2px; margin-right: 4px; }

.form-row { margin-bottom: 12px; }
.form-row label { display: block; font-weight: 600; margin-bottom: 4px; }
.form-row input, .form-row textarea { width: 100%; max-width: 500px; padding: 6px 8px; }
.form-row input[type="checkbox"], .form-row input[type="radio"] { width: auto; max-width: none; padding: 0; }

/* câmpuri numerice — aliniate la dreapta, ca-n orice tabel/formular contabil */
input[type="number"], input.zecimal { text-align: right; }

dl dt { font-weight: 600; margin-top: 12px; }
dl dd { margin-left: 0; }

fieldset { border: 1px solid #ddd; border-radius: 6px; padding: 14px 16px; margin-bottom: 16px; }
legend { font-weight: 700; padding: 0 6px; color: #1e3a5f; }

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.four-col { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 12px; }
.two-col input, .four-col input { max-width: none; width: 100%; }

label.radio-inline, label.checkbox-inline { display: inline-flex; align-items: center; gap: 6px; margin-right: 16px; font-weight: normal; }
.checkbox-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 4px; margin-top: 8px; }
.radio-block { display: block; font-weight: normal; margin-bottom: 4px; }
.radio-indent { margin-left: 24px; }
.explicativ { font-size: 0.85em; font-style: italic; color: #555; margin-top: 10px; }

.regim-table { width: 100%; border-collapse: collapse; }
.regim-table th, .regim-table td { border: 1px solid #ddd; padding: 6px; vertical-align: top; }
.regim-table textarea { width: 100%; }
.regim-table select { width: 100%; margin-bottom: 4px; }

.field-error { color: #c0392b; font-size: 0.85em; }
.row-inactiv { color: #999; font-style: italic; }
