[hidden] { display: none !important; }
.portal-shell { max-width: 1280px; margin: 0 auto; padding: 24px; }
.portal-nav { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.portal-nav button { border:1px solid #d4d8d1; background:#fff; padding:10px 15px; border-radius:10px; cursor:pointer; font:inherit; }
.portal-nav button.selected { background:#1a6b3b; border-color:#1a6b3b; color:white; }
.panel { background:white; border-radius:18px; padding:22px; box-shadow:0 4px 18px #0001; }
.section-title { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.metric { padding:18px; background:#f4f7f3; border-radius:12px; }
.metric strong { display:block; font-size:2rem; color:#1a6b3b; }
.table-wrap { overflow-x:auto; }.data-table { width:100%; border-collapse:collapse; margin-top:12px; }
.data-table th,.data-table td { padding:10px; border-bottom:1px solid #e5e9e3; text-align:left; vertical-align:top; }
.data-table td.actions { white-space:nowrap; }.data-table button { margin-right:6px; }
#notice { min-height:1.4em; }#notice.error { color:#ad2020; }#notice.success { color:#196534; }
dialog { border:0; border-radius:18px; width:min(540px,calc(100% - 24px)); padding:24px; box-shadow:0 20px 80px #0004; }dialog::backdrop { background:#152619a8; }
#editor-fields label { display:block; margin:12px 0; }#editor-fields input,#editor-fields select,#editor-fields textarea { display:block; width:100%; box-sizing:border-box; margin-top:6px; padding:10px; border:1px solid #ccd6cb; border-radius:8px; font:inherit; }
.modal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
@media(max-width:600px){.portal-shell{padding:12px}.panel{padding:14px}.topbar{display:block}.topbar-actions{margin-top:12px}}
