:root{font-family:Arial,Helvetica,sans-serif;color:#1f2933;background:#f4f6f8}body{margin:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:#102a43;color:white}.brand{font-weight:700;color:white;text-decoration:none}.topbar nav{display:flex;align-items:center;gap:14px}.topbar a{color:white}.topbar form{margin:0}.topbar button,.button,button{background:#008000;color:white;border:0;border-radius:6px;padding:9px 13px;font-weight:700;text-decoration:none;cursor:pointer}.button.secondary{background:#52606d}.page{max-width:1280px;margin:0 auto;padding:26px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.section-head h1{margin:0 0 4px;font-size:30px}.section-head p{margin:0;color:#52606d}.source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:18px}.source-card{display:grid;grid-template-columns:150px 1fr;background:white;border:1px solid #d9e2ec;border-left:7px solid #9fb3c8;border-radius:8px;overflow:hidden}.source-card.status-ok{border-left-color:#008000}.source-card.status-warning{border-left-color:#f0b429}.source-card.status-error{border-left-color:#d64545}.source-card.status-running{border-left-color:#2f80ed}.source-card.status-disabled{border-left-color:#9aa5b1}.card-media{background:#e4e7eb;min-height:150px}.card-media img,.detail-image{width:100%;height:100%;object-fit:cover}.placeholder{height:100%;display:grid;place-items:center;color:#627d98}.card-body{padding:16px}.row{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e4e7eb;color:#102a43;font-size:12px;font-weight:700;text-transform:uppercase}.facts{display:grid;grid-template-columns:130px 1fr;gap:5px 12px;font-size:14px}.facts.wide{grid-template-columns:210px 1fr}.facts dt{font-weight:700;color:#334e68}.facts dd{margin:0;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.actions form{margin:0}.table-wrap{overflow:auto;background:white;border:1px solid #d9e2ec;border-radius:8px}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e4e7eb;text-align:left;vertical-align:top}th{background:#f0f4f8;cursor:pointer}.thumb{width:62px;height:42px;object-fit:cover;border-radius:4px}.filters{display:flex;gap:12px;margin-bottom:14px}.filters input,.filters select,input,select,textarea{padding:10px;border:1px solid #bcccdc;border-radius:6px;background:white}fieldset{border:1px solid #d9e2ec;background:white;border-radius:8px;margin:0 0 18px;padding:18px}legend{font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px}label{display:flex;flex-direction:column;gap:6px;font-weight:700}.full{grid-column:1/-1}.check{flex-direction:row;align-items:center}.hint{color:#52606d}.detail-layout{display:grid;grid-template-columns:260px 1fr;gap:22px}.detail-layout aside{background:white;border:1px solid #d9e2ec;border-radius:8px;padding:14px}.detail-image{height:180px;border-radius:6px;margin-bottom:12px}.logbox{background:#102a43;color:#d9e2ec;padding:14px;border-radius:8px;overflow:auto;max-height:430px}.login-page{min-height:100vh;display:grid;place-items:center;background:#102a43}.login-card{width:min(420px,calc(100vw - 30px));background:white;padding:28px;border-radius:10px;box-shadow:0 15px 40px #0005}.login-card h1{margin-top:0}.error{color:#b42318;font-weight:700}.progress{height:12px;background:#d9e2ec;border-radius:999px;overflow:hidden}.progress span{display:block;width:15%;height:100%;background:#008000;transition:width .3s}.job-panel{background:white;border:1px solid #d9e2ec;border-radius:8px;padding:18px}@media(max-width:760px){.source-card,.detail-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.topbar,.section-head{align-items:flex-start;flex-direction:column}}

.source-strip{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:start;background:white;border:1px solid #d9e2ec;border-radius:8px;padding:14px;margin-bottom:16px}.source-strip img{width:160px;height:110px;object-fit:cover;border-radius:6px}.badge.small{font-size:11px;margin:0 3px 3px 0}.muted{color:#627d98;font-size:12px}.mini-details{min-width:320px;font-size:12px}.mini-details span{overflow-wrap:anywhere}.item-actions{display:flex;flex-direction:column;gap:6px;min-width:150px}.item-actions form{margin:0}.item-actions button{width:100%;padding:6px 8px}.bulk-actions{margin-bottom:10px}.item-table-wrap{max-height:72vh}.viewer{max-height:none;white-space:pre-wrap}.hint{font-size:13px}@media(max-width:760px){.source-strip{grid-template-columns:1fr}.source-strip img{width:100%;height:160px}}

.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.compare-grid section,.notice{background:white;border:1px solid #d9e2ec;border-radius:8px;padding:16px}.notice{border-left:6px solid #008000}@media(max-width:900px){.compare-grid{grid-template-columns:1fr}}

.image-source-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 16px}.image-source-tabs label{flex-direction:row;align-items:center;background:#f0f4f8;border:1px solid #bcccdc;border-radius:6px;padding:8px 10px}.image-mode{margin-bottom:14px}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-height:420px;overflow:auto;border:1px solid #d9e2ec;border-radius:8px;padding:12px;background:#f8fafc}.image-choice{gap:8px;border:2px solid #d9e2ec;border-radius:8px;background:white;padding:8px;cursor:pointer;min-height:178px}.image-choice:has(input:checked){border-color:#008000;box-shadow:0 0 0 2px #00800022}.image-choice input{align-self:flex-start}.image-choice img{width:100%;height:104px;object-fit:contain;background:#f0f4f8;border-radius:6px;padding:6px;box-sizing:border-box}.image-choice span{font-size:12px;font-weight:700;overflow-wrap:anywhere}.image-preview-panel{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px;margin-top:12px}.image-preview-panel img{width:220px;max-height:180px;object-fit:contain;background:white;border:1px solid #d9e2ec;border-radius:6px;padding:8px;box-sizing:border-box}.image-preview-panel img[hidden]{display:none}.image-preview-panel a{overflow-wrap:anywhere}@media(max-width:760px){.image-preview-panel{grid-template-columns:1fr}.image-preview-panel img{width:100%}}

.source-card{grid-template-columns:112px 1fr}.source-grid{grid-template-columns:repeat(auto-fit,minmax(520px,1fr));gap:14px}.source-card .card-media{min-height:112px}.source-card .card-body{padding:12px}.source-card h2{font-size:18px;margin:0}.dashboard-facts{grid-template-columns:92px 1fr 72px 1fr;gap:4px 10px;font-size:13px}.source-card .actions{gap:6px;margin-top:10px}.source-card .actions button,.source-card .actions .button{padding:7px 9px;font-size:12px}.source-card .badge{font-size:11px;padding:3px 7px}@media(max-width:760px){.source-grid{grid-template-columns:1fr}.dashboard-facts{grid-template-columns:110px 1fr}.source-card{grid-template-columns:1fr}.source-card .card-media{height:130px}}

.button.danger,button.danger{background:#b42318}.image-preview-panel form{margin:0}.image-preview-panel button:disabled{background:#9aa5b1;cursor:not-allowed}

.term-add-row{display:grid;grid-template-columns:1fr auto;gap:8px}.term-add-row button{padding:9px 12px}.term-picker textarea{font-family:Arial,Helvetica,sans-serif;min-height:76px}.term-picker datalist{display:none}

.discovery-picker{display:flex;flex-direction:column;gap:10px}.discovery-tools{display:grid;grid-template-columns:repeat(4,auto) minmax(220px,1fr);gap:8px;align-items:center}.discovery-tools input{width:100%;box-sizing:border-box}.discovery-status{font-size:13px;color:#52606d}.discovery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;max-height:360px;overflow:auto;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:10px}.discovery-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;border:1px solid #d9e2ec;border-radius:6px;background:white;padding:7px 8px;font-size:12px;line-height:1.25;cursor:pointer}.discovery-row:has(input:checked){border-color:#008000;background:#f3fbf3}.discovery-row input{margin-top:2px}.discovery-picker textarea:disabled{background:#eef2f5;color:#52606d}@media(max-width:760px){.discovery-tools{grid-template-columns:1fr 1fr}.discovery-tools input{grid-column:1/-1}.discovery-list{grid-template-columns:1fr}}

.collapsible-section{padding:0;overflow:hidden}.collapsible-section>legend{float:left;width:100%;box-sizing:border-box;padding:0}.collapsible-section>legend+*{clear:both}.section-toggle{display:flex;align-items:center;gap:10px;width:100%;background:#3f4a56;color:white;border:0;border-radius:8px 8px 0 0;padding:15px 18px;text-align:left;font-size:16px;font-weight:800}.section-toggle:hover{background:#2f3943;color:white}.section-toggle-icon::before{content:"▾";display:inline-block;width:1em;transition:transform .15s ease}.collapsible-section.is-collapsed .section-toggle{border-radius:8px}.collapsible-section.is-collapsed .section-toggle-icon::before{transform:rotate(-90deg)}.collapsible-section.is-collapsed>*:not(legend){display:none}.collapsible-section>div,.collapsible-section>.image-source-tabs,.collapsible-section>.image-mode,.collapsible-section>.image-preview-panel,.collapsible-section>.hint{margin-left:18px;margin-right:18px}.collapsible-section>.form-grid{margin:18px}.collapsible-section>label{margin:0 18px 14px}.collapsible-section:not(.is-collapsed){padding-bottom:18px}.collapsible-section:not(.is-collapsed)>legend{border-bottom:1px solid #d9e2ec;margin-bottom:18px}

.required-mark{color:#b42318}.derived-path{display:flex;flex-direction:column;gap:6px;border:1px solid #d9e2ec;border-radius:6px;background:#f8fafc;padding:10px}.derived-path span{font-weight:700}.derived-path code{font-family:Consolas,Monaco,monospace;overflow-wrap:anywhere;color:#102a43}.derived-path small{color:#52606d}
.label-title{display:inline;font-weight:700}.required-mark{display:inline}

.thesaurus-choice-grid{align-items:start}.thesaurus-choice-panel{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}.thesaurus-choice-panel h3{margin:0 0 10px;font-size:15px;color:#102a43}.choice-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;overflow-x:hidden}.choice-list.compact{padding-right:4px}.choice-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;border:1px solid #d9e2ec;border-radius:6px;background:white;padding:7px 8px;font-size:13px;line-height:1.25;cursor:pointer;font-weight:600}.choice-row:has(input:checked){border-color:#008000;background:#f3fbf3}.choice-row input{margin-top:1px}.optional-geonetwork-fields{margin-top:14px}.optional-geonetwork-fields small{font-weight:400;color:#52606d}
.choice-search{width:100%;box-sizing:border-box;margin:0 0 10px}

.thesaurus-intro{margin:18px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}.thesaurus-intro h3{margin:0 0 4px;font-size:16px;color:#102a43}.thesaurus-intro p{margin:0;color:#52606d;font-size:13px}
.thesaurus-choice-panel:has(.choice-search) .choice-list{max-height:220px}

.progress-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:8px;color:#334e68}.progress{height:16px;background:#d9e2ec;border-radius:999px;overflow:hidden}.progress span{display:block;width:0;height:100%;background:#f59e0b;transition:width .35s ease,background-color .25s ease}.job-panel[data-status="finished"] .progress span{background:#008000}.job-panel[data-status="error"] .progress span{background:#d64545}.job-panel[data-phase="download"] .progress span,.job-panel[data-phase="processing"] .progress span,.job-panel[data-status="running"] .progress span{background:#f59e0b}.job-panel[data-status="queued"] .progress span{background:#9aa5b1}




.station-symbol-panel{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}.station-symbol-panel h3{margin:0 0 4px;font-size:15px;color:#102a43}.station-symbol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}.station-symbol-choice{display:grid;grid-template-columns:auto 30px 1fr;gap:8px;align-items:center;border:2px solid #d9e2ec;border-radius:8px;background:white;padding:9px;cursor:pointer;font-weight:700}.station-symbol-choice:has(input:checked){border-color:#008000;background:#f3fbf3}.station-symbol-choice input{margin:0}.station-symbol-icon{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#808080;border:2px solid #fff;opacity:.8;box-shadow:0 0 0 1px rgba(0,0,0,.28)}.station-symbol-icon-gnss{background:#000}.station-symbol-icon-slr{background:#00A676}.station-symbol-icon-doris{background:#F28C28}.station-symbol-icon-vlbi{background:#8E44AD}.station-symbol-icon-tide-gauge{background:#1E88E5}.station-symbol-icon-gravimeter{background:#8B5A2B}.station-symbol-icon-ggos-core-sites{background:#C62828}.station-symbol-icon-default{background:#808080}

.time-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.detail-actions-block{margin:22px 0 18px;padding:14px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.detail-actions-block h2{margin:0 0 10px}.known-items-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:18px}.known-items-head h3{margin:0 0 4px}.known-items-head .hint{margin:0}.known-items-head input{min-width:260px}.known-items-wrap{max-height:460px;overflow:auto}.known-items-wrap table{min-width:980px}.known-items-wrap thead th{position:sticky;top:0;z-index:1}.known-items-wrap td{font-size:13px}.known-items-wrap td:nth-child(1),.known-items-wrap td:nth-child(3),.known-items-wrap td:nth-child(4){overflow-wrap:anywhere}@media(max-width:760px){.known-items-head{align-items:stretch;flex-direction:column}.known-items-head input{min-width:0;width:100%;box-sizing:border-box}.known-items-wrap{max-height:360px}}
/* public source dashboard */
.public-source-dashboard-page{background:#f4f6f8;color:#1f2933}.public-topbar{display:flex;align-items:center;gap:18px;padding:14px 24px;background:#102a43;color:white}.public-topbar .brand{font-size:20px}.public-page{max-width:1480px}.public-dashboard-head{align-items:flex-end}.public-dashboard-filters{align-items:center}.public-dashboard-filters input{min-width:320px}.public-source-table-wrap table{min-width:1120px}.public-source-table-wrap th[data-sort]::after{content:"\f0dc";font-family:FontAwesome;margin-left:6px;color:#829ab1;font-size:12px}.public-source-table-wrap th[data-direction="asc"]::after{content:"\f0de"}.public-source-table-wrap th[data-direction="desc"]::after{content:"\f0dd"}.public-source-thumb{width:86px;height:56px;object-fit:cover;border-radius:6px;background:#f0f4f8;border:1px solid #d9e2ec}.public-source-placeholder{display:grid;place-items:center;width:86px;height:56px;border-radius:6px;background:#e4e7eb;color:#627d98}.number-cell{text-align:right;font-variant-numeric:tabular-nums}.public-table-button{display:inline-block;padding:7px 10px;border-radius:5px;font-size:12px}.public-source-table-wrap td:nth-child(2){min-width:160px}.public-source-table-wrap td:nth-child(4){min-width:220px}.public-source-table-wrap td:nth-child(6){max-width:280px;overflow-wrap:anywhere}@media(max-width:760px){.public-dashboard-head{align-items:flex-start}.public-dashboard-filters{flex-direction:column;align-items:stretch}.public-dashboard-filters input{min-width:0;width:100%;box-sizing:border-box}.public-topbar{align-items:flex-start;flex-direction:column}}
.public-admin-login{margin-left:auto;color:white;text-decoration:underline}.public-dashboard-head p a{color:#0b5cad}.public-dashboard-filters select{min-width:220px}@media(max-width:760px){.public-admin-login{margin-left:0}}
.public-source-subcategory{font-weight:400;color:#52606d;font-size:12px}.records-count-head,.records-count-cell{width:72px;max-width:72px;text-align:right}.public-source-table-wrap td:nth-child(2){min-width:140px}.public-source-table-wrap td:nth-child(6){white-space:nowrap}.public-source-table-wrap td:nth-child(7){width:72px}.public-source-table-wrap td:last-child{white-space:nowrap}
.public-logout-form{margin-left:auto}.public-logout-form button{background:#008000;color:white}.provider-cell{min-width:280px}.provider-email{font-size:12px;color:#52606d}.public-source-table-wrap td:nth-child(4){min-width:120px}.public-source-table-wrap td:nth-child(5) a{font-size:12px;line-height:1.25}.public-source-table-wrap td:nth-child(5){max-width:240px;overflow-wrap:anywhere}
.products-cell{min-width:170px;max-width:230px}.public-source-table-wrap td:nth-child(3){overflow-wrap:anywhere}.public-source-table-wrap td:nth-child(4){min-width:280px}.public-source-table-wrap td:nth-child(6) a{font-size:12px;line-height:1.25}.public-source-table-wrap td:nth-child(6){max-width:240px;overflow-wrap:anywhere}

.public-source-image-link{display:inline-block;text-decoration:none}.data-link-cell{max-width:260px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.data-link-cell a{display:inline;font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word}

.public-provider-section{margin:18px 0 28px}.public-provider-head{display:flex;gap:14px;align-items:flex-start;margin:0 0 10px}.public-provider-head h2{margin:0 0 4px;font-size:20px}.public-provider-head p{margin:0 0 3px;color:#52606d}.public-provider-source-table{min-width:1120px}

/* compact admin overview tables */
.compact-table-wrap{max-height:72vh;overflow:auto}.compact-table-wrap thead th{position:sticky;top:0;z-index:2}.compact-admin-table{table-layout:fixed;min-width:980px}.compact-admin-table th,.compact-admin-table td{padding:7px 8px;font-size:13px;line-height:1.25}.compact-admin-table th:nth-child(1){width:150px}.compact-admin-table th:nth-child(2){width:190px}.compact-admin-table th:nth-child(3){width:210px}.compact-admin-table th:nth-child(4){width:190px}.compact-admin-table th:nth-child(5){width:130px}.compact-admin-table th:nth-child(6){width:96px}.compact-admin-table th:nth-child(7){width:160px}.compact-admin-table th:nth-child(8){width:92px}.path-cell,.compact-admin-table td{overflow-wrap:anywhere;word-break:break-word}.compact-admin-table .status{white-space:normal}.adapters-table-wrap{max-height:calc(100vh - 230px)}.live-table-search{min-width:320px}.live-table-count{align-self:center}
@media(max-width:760px){.live-table-search{min-width:0;width:100%;box-sizing:border-box}.compact-admin-table{min-width:900px}}

/* public provider/source split layout */
.public-provider-section{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start;margin:14px 0 20px}.public-provider-card{display:block;background:white;border:1px solid #d9e2ec;border-radius:8px;padding:12px;position:sticky;top:10px}.public-provider-logo{width:100%;max-height:72px;object-fit:contain;background:#f8fafc;border:1px solid #d9e2ec;border-radius:6px;margin-bottom:10px}.public-provider-card h2{margin:0 0 6px;font-size:15px;line-height:1.2;color:#102a43}.public-provider-description{margin:0 0 8px;color:#52606d;font-size:12px;line-height:1.3}.public-provider-meta{margin:0;font-size:12px;overflow-wrap:anywhere}.public-source-panel{min-width:0;background:white;border:1px solid #d9e2ec;border-radius:8px;overflow:hidden}.public-source-panel-toggle{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;width:100%;background:#f0f4f8;color:#102a43;border:0;border-radius:0;padding:9px 12px;text-align:left}.public-source-panel-toggle strong{display:inline-grid;place-items:center;min-width:28px;height:24px;border-radius:999px;background:#102a43;color:white;font-size:12px}.public-source-panel-toggle i{transition:transform .16s ease}.public-provider-section.is-collapsed .public-source-table-wrap{display:none}.public-provider-section.is-collapsed .public-source-panel-toggle i{transform:rotate(180deg)}.public-provider-section .public-source-table-wrap{border:0;border-top:1px solid #d9e2ec;border-radius:0;max-height:62vh;overflow:auto}.public-provider-section .public-source-table-wrap thead th{position:sticky;top:0;z-index:1}.public-provider-section .public-provider-head{margin:0}.public-provider-section .public-provider-head p{margin-bottom:6px}.public-provider-section .public-provider-head .public-source-thumb{width:100%;height:auto;max-height:72px;object-fit:contain}
@media(max-width:900px){.public-provider-section{grid-template-columns:1fr}.public-provider-card{position:static}.public-provider-logo{width:140px}.public-source-panel{width:100%}}

/* source overview refinements */
.badge.status-ok{background:#d9f2d9;color:#0b5d0b}.badge.status-error{background:#fde2e2;color:#9b1c1c}.source-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:210px}.source-row-actions form{margin:0}.mini-button{display:inline-block;padding:6px 8px;border-radius:5px;font-size:12px;line-height:1.1;white-space:nowrap}.source-row-actions button.mini-button{font:inherit;font-size:12px;font-weight:700}

/* provider overview and gallery search refinements */
.badge.status-error{background:#fde2e2;color:#9b1c1c}.badge.status-ok{background:#d9f2d9;color:#0b5d0b}.image-choice.is-filtered-out{display:none!important}.table-wrap th[data-sort]{user-select:none}.table-wrap th[data-direction="asc"]::after{content:" ▲";font-size:11px;color:#627d98}.table-wrap th[data-direction="desc"]::after{content:" ▼";font-size:11px;color:#627d98}#providers-table form{margin:6px 0 0}#providers-table td{overflow-wrap:anywhere}

.status-detail-link{display:inline-block;margin-top:4px;font-size:12px;color:#0b5cad;font-weight:700}.provider-sync-panel{margin-bottom:18px}.provider-sync-table-wrap{max-height:62vh}.provider-sync-table-wrap thead th{position:sticky;top:0;z-index:1}#providers-table td:nth-child(5){font-variant-numeric:tabular-nums}.badge.status-running,.badge.status-queued{background:#fff0c2;color:#7c4d00}.badge.status-finished{background:#d9f2d9;color:#0b5d0b}

/* dashboard overview */
.dashboard-head .actions{margin-top:0}.dashboard-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px;margin-bottom:18px}.dashboard-card,.dashboard-panel{background:white;border:1px solid #d9e2ec;border-radius:8px;padding:16px}.dashboard-card{border-top:5px solid #9aa5b1}.dashboard-card-ok{border-top-color:#008000}.dashboard-card-warning{border-top-color:#f59e0b}.dashboard-card-error{border-top-color:#d64545}.dashboard-card-neutral{border-top-color:#9aa5b1}.dashboard-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.dashboard-card h2,.dashboard-panel h2{margin:0 0 4px;font-size:18px}.dashboard-card p,.panel-head p{margin:0;color:#52606d;font-size:13px}.dashboard-card-value{font-size:28px;color:#102a43}.dashboard-mini-stats{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0 0 14px;font-size:13px}.dashboard-mini-stats dt{color:#52606d}.dashboard-mini-stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.issue-list,.recent-job-list{display:flex;flex-direction:column;gap:9px}.issue-row,.recent-job-row{display:flex;justify-content:space-between;gap:12px;border:1px solid #e4e7eb;border-radius:7px;padding:10px;background:#f8fafc}.issue-row h3,.recent-job-row h3{margin:0 0 4px;font-size:14px}.issue-row p,.recent-job-row p{margin:0;color:#52606d;font-size:12px;line-height:1.35}.issue-row>span{white-space:nowrap;color:#52606d;font-size:12px}.empty-state{margin:0;padding:18px;border:1px dashed #bcccdc;border-radius:7px;color:#52606d;background:#f8fafc}.geonetwork-status-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.geonetwork-status-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(72px,.45fr) minmax(82px,.45fr) minmax(105px,.65fr);gap:12px;align-items:start;border:1px solid #e4e7eb;border-radius:7px;background:#f8fafc;padding:10px;font-size:13px;line-height:1.25}.geonetwork-status-row small{color:#52606d}.geonetwork-status-row>span{min-width:0;overflow-wrap:anywhere}.geonetwork-status-ok{background:#eef9ee;border-color:#b9dfb9}.geonetwork-status-warning{background:#fff7dc;border-color:#f5d36a}.geonetwork-status-error{background:#fdeaea;border-color:#f2b8b8}.geonetwork-status-unknown{background:#f0f4f8;border-color:#bcccdc}.metadata-summary-panel{margin-top:18px}.metadata-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.metadata-summary-grid div{border:1px solid #e4e7eb;border-radius:7px;background:#f8fafc;padding:12px}.metadata-summary-grid strong{display:block;font-size:24px;color:#102a43}.metadata-summary-grid span{font-size:12px;color:#52606d}.badge.status-unknown{background:#e4e7eb;color:#52606d}.badge.status-warning{background:#fff0c2;color:#7c4d00}@media(max-width:900px){.dashboard-main-grid{grid-template-columns:1fr}.geonetwork-status-row{grid-template-columns:1fr auto}.issue-row,.recent-job-row{flex-direction:column}}

.is-disabled-row{opacity:.58;background:#f4f6f8}.is-disabled-row td{color:#627d98}

.access-summary-panel{margin-top:18px}.access-summary-panel .metadata-summary-grid div:nth-child(5) strong{font-size:18px}.access-summary-panel .metadata-summary-grid div:nth-child(6) strong{font-size:18px}

/* dashboard geonetwork/access refinements */
.dashboard-card-wide{grid-column:span 2;min-width:0}.geonetwork-status-list{gap:10px}.geonetwork-status-row{display:grid!important;grid-template-columns:minmax(190px,1.1fr) minmax(78px,.38fr) minmax(82px,.42fr) minmax(180px,.85fr)!important;gap:10px;align-items:stretch!important;padding:10px 12px!important}.geonetwork-status-row>div{min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:normal;word-break:normal}.geonetwork-status-main small{white-space:normal;line-height:1.3}.geonetwork-status-pill{align-items:center;justify-content:center;border-radius:6px;background:rgba(255,255,255,.58)}.geonetwork-status-row strong{font-size:14px}.geonetwork-status-row small{font-size:11px}.access-unique-grid strong{font-size:30px}.access-unique-grid small{font-weight:400;color:#627d98}.access-chart-panel{margin-top:18px}.access-chart{display:flex;flex-direction:column;gap:9px}.access-chart-row{display:grid;grid-template-columns:110px minmax(160px,1fr) 48px minmax(90px,auto);gap:10px;align-items:center}.access-chart-date{font-variant-numeric:tabular-nums;color:#334e68;font-size:13px}.access-chart-bar-track{height:18px;background:#e4e7eb;border-radius:999px;overflow:hidden}.access-chart-bar{display:block;height:100%;background:#008000;border-radius:999px}.access-chart-row strong{font-variant-numeric:tabular-nums}.access-chart-row small{color:#627d98}@media(max-width:1000px){.dashboard-card-wide{grid-column:1/-1}.geonetwork-status-row{grid-template-columns:1fr 82px!important}.geonetwork-status-row>div:nth-child(3),.geonetwork-status-row>div:nth-child(4){grid-column:auto}}@media(max-width:700px){.access-chart-row{grid-template-columns:1fr}.access-chart-bar-track{width:100%}}

/* GeoNetwork access detail */
.period-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.period-tab{display:inline-block;padding:8px 11px;border:1px solid #bcccdc;border-radius:6px;background:white;color:#102a43;text-decoration:none;font-weight:700;font-size:13px}.period-tab.is-active{background:#008000;color:white;border-color:#008000}.line-chart-panel{margin-top:18px}.line-chart-wrap{width:100%;overflow-x:auto}.line-chart{width:100%;min-width:560px;max-height:320px}.chart-axis{stroke:#bcccdc;stroke-width:1}.chart-line{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.chart-line-unique{stroke:#008000}.chart-line-requests{stroke:#1e88e5}.chart-label{font-size:12px;fill:#52606d}.request-chart-details summary{cursor:pointer;font-weight:700;color:#102a43}.request-chart-details summary span{font-weight:400;color:#52606d;font-size:13px}.request-chart-details[open] summary{margin-bottom:12px}.rank-list{display:flex;flex-direction:column;gap:8px}.rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid #e4e7eb;background:#f8fafc;border-radius:7px;padding:9px 10px}.rank-row span{overflow-wrap:anywhere}.rank-row strong{font-variant-numeric:tabular-nums}.rank-row small{color:#627d98}.access-breakdown-grid{margin-top:18px}@media(max-width:720px){.rank-row{grid-template-columns:1fr auto}.rank-row small{grid-column:1/-1}.line-chart{min-width:460px}}

.chart-point{fill:white;stroke-width:2;opacity:.08;cursor:crosshair;transition:opacity .12s ease,r .12s ease}.chart-point:hover{opacity:1;r:7}.chart-point-unique{stroke:#008000}.chart-point-requests{stroke:#1e88e5}
.provider-detail-card{display:flex;align-items:center;gap:14px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}.provider-detail-card .thumb{width:92px;height:64px}.provider-detail-card code{display:block;margin:4px 0;color:#102a43}.provider-change-row{align-items:end}.button-label{justify-content:end}.compact-field{min-width:180px}.new-source-type{margin-top:6px}.path-grid{grid-template-columns:repeat(2,minmax(320px,1fr))}.path-note{margin-bottom:12px;color:#52606d}.derived-path .path-root{font-weight:400;color:#627d98}.derived-path code strong{font-weight:800;color:#102a43}.copy-path{align-self:flex-start;margin-top:2px}.compact-select-row{grid-template-columns:repeat(3,minmax(180px,1fr));margin-bottom:14px}.three-panels{grid-template-columns:repeat(3,minmax(220px,1fr))}.current-image-first{margin-bottom:14px}.image-picker .image-source-tabs{margin-top:12px}.image-mode[hidden]{display:none!important}@media(max-width:900px){.path-grid,.compact-select-row,.three-panels{grid-template-columns:1fr}.provider-detail-card{align-items:flex-start;flex-direction:column}.button-label{justify-content:flex-start}}
.warning-text{color:#b7791f;font-weight:700}.status-warning{background:#fcefc7;color:#8d5b00}.status-error{background:#fde2e2;color:#9b1c1c}.status-ok{background:#dcfce7;color:#166534}

.danger-zone{margin-top:22px;border:1px solid #f5b5b5;background:#fff5f5;border-radius:8px;padding:18px}.danger-zone h2{margin-top:0;color:#9b1c1c}.danger-zone p{color:#6b1f1f}.danger-zone form{margin:0}.danger,button.danger{background:#b42318;color:white}.danger:hover,button.danger:hover{background:#8f1d16}
.adapter-status-available{background:#dcfce7;color:#166534}.adapter-status-not-used{background:#e5e7eb;color:#374151}.adapter-status-file-missing,.adapter-status-load-error{background:#fde2e2;color:#9b1c1c}.adapter-status-error{background:#fde2e2;color:#9b1c1c}.adapter-status-warning{background:#fcefc7;color:#8d5b00}.source-count-link{font-weight:800}.sortable-table th[data-sort]::after{content:" ↕";color:#829ab1;font-size:12px}.sortable-table th[data-direction="asc"]::after{content:" ↑"}.sortable-table th[data-direction="desc"]::after{content:" ↓"}.adapter-detail-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.adapter-code-panel summary{cursor:pointer;font-weight:800;display:flex;justify-content:space-between;gap:14px}.adapter-code-panel summary span{font-weight:400;color:#52606d;overflow-wrap:anywhere}.code-view{background:#0b1020;color:#d9e2ec;border-radius:8px;padding:16px;max-height:640px;overflow:auto;font:13px/1.45 Consolas,Monaco,monospace;white-space:pre}.code-view code{color:inherit}
.adapter-detail-list{display:block;margin:0}.adapter-detail-list dt{font-weight:800;color:#334e68;margin-top:10px}.adapter-detail-list dt:first-child{margin-top:0}.adapter-detail-list dd{margin:4px 0 0;overflow-wrap:anywhere}.adapter-code-panel summary{align-items:center}.adapter-summary-title{font-weight:800;color:#102a43}.adapter-summary-path{flex:1;text-align:right;font-size:12px}.adapter-summary-chevron::before{content:"▾";display:inline-block;font-size:18px;transition:transform .15s ease}.adapter-code-panel:not([open]) .adapter-summary-chevron::before{transform:rotate(-90deg)}.adapter-code-actions{justify-content:flex-end}.code-editor{width:100%;min-height:68vh;box-sizing:border-box;background:#0b1020;color:#d9e2ec;border:1px solid #334e68;border-radius:8px;padding:16px;font:13px/1.45 Consolas,Monaco,monospace;white-space:pre;tab-size:4}.status-message{border-left:6px solid #008000}.status-message.status-error{border-left-color:#b42318;background:#fff5f5}.status-message.status-ok{background:#f0fff4}
.adapter-detail-section{margin-top:22px}.adapter-code-panel .panel-head{margin-bottom:12px}.adapter-code-details{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc}.adapter-code-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;font-weight:800;color:#102a43}.adapter-code-details[open] summary{border-bottom:1px solid #d9e2ec}.adapter-code-details:not([open]) .adapter-summary-chevron::before{transform:rotate(-90deg)}.adapter-code-details .code-view{margin:14px}.adapter-code-details .adapter-code-actions{margin:0 14px 14px}

/* GeoNetwork harvester status */
.admin-card{background:white;border:1px solid #d9e2ec;border-radius:8px;padding:16px;margin:0 0 18px}.card-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.card-title-row h2{margin:0 0 4px}.card-title-row p{margin:0;color:#52606d}.harvester-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.harvester-status-grid>div{border:1px solid #e4e7eb;border-radius:7px;background:#f8fafc;padding:10px}.harvester-status-grid .label{display:block;color:#52606d;font-size:12px;margin-bottom:5px}.badge.harvester-ok{background:#d9f2d9;color:#0b5d0b}.badge.harvester-disabled{background:#fcefc7;color:#8d5b00}.badge.harvester-missing{background:#e5e7eb;color:#374151}.badge.harvester-unknown{background:#e4e7eb;color:#52606d}.harvester-table-cell small{color:#52606d;white-space:nowrap}.harvester-table-cell .badge{margin-bottom:4px}#providers-table th:nth-child(7),#providers-table td:nth-child(7){min-width:170px}#providers-table th:nth-child(9),#providers-table td:nth-child(9){white-space:nowrap}.metric-lines{display:flex;flex-direction:column;gap:1px;line-height:1.18;font-size:12px;font-variant-numeric:tabular-nums}.metric-lines strong{font-weight:700}.metric-mismatch{color:#b42318;font-weight:800}.sync-cell form{margin:3px 0 0}.sync-cell .mini-button{padding:4px 7px;font-size:11px}.sync-interval{display:inline-block;margin-top:2px;font-size:12px;font-weight:500;color:#374151}@media(max-width:760px){.card-title-row{flex-direction:column}.harvester-status-grid{grid-template-columns:1fr}}

/* Records admin */
.records-filter-panel,.record-bulk-panel{background:white;border:1px solid #d9e2ec;border-radius:8px;padding:14px;margin-bottom:14px}.record-flag-row{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.record-flag-row .check{background:#f8fafc;border:1px solid #d9e2ec;border-radius:999px;padding:7px 10px;font-size:12px}.record-bulk-panel{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.record-bulk-panel input{min-width:260px}.records-table-wrap{max-height:72vh}.records-table-wrap table{min-width:1080px}.records-table-wrap thead th{position:sticky;top:0;z-index:2}.records-table-wrap td{font-size:12px}.records-table-wrap td:nth-child(5){min-width:320px}.records-table-wrap td:nth-child(5) a{overflow-wrap:anywhere}.record-status-ok{background:#d9f2d9;color:#0b5d0b}.record-status-warning{background:#fff0c2;color:#7c4d00}.record-status-error{background:#fde2e2;color:#9b1c1c}.record-status-disabled,.record-status-ignored{background:#e5e7eb;color:#374151}.indicator{display:inline-block;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.indicator.ok{background:#d9f2d9;color:#0b5d0b}.indicator.missing{background:#fde2e2;color:#9b1c1c}.record-status-cards .dashboard-card{min-height:110px}.record-link-row{border:1px solid #e4e7eb;border-radius:8px;background:#f8fafc;padding:10px;margin-bottom:10px}.record-link-row .full{grid-column:1/-1}.records-table-wrap code{font-size:11px}.records-table-wrap small{color:#52606d}.records-table-wrap tr[data-status="error"]{border-left:5px solid #d64545}.records-table-wrap tr[data-status="warning"]{border-left:5px solid #f59e0b}.records-table-wrap tr[data-status="ok"]{border-left:5px solid #008000}.records-table-wrap tr[data-status="disabled"],.records-table-wrap tr[data-status="ignored"]{opacity:.65}@media(max-width:760px){.record-bulk-panel input{min-width:0;width:100%}.records-filter-panel .compact-select-row{grid-template-columns:1fr}}
.record-pagination{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:8px 0}.record-pagination span{color:#52606d;font-size:13px}.record-pagination.bottom{margin-top:12px}

/* simplified source edit */
.advanced-source-links{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:0}.advanced-source-links summary{cursor:pointer;font-weight:800;padding:11px 12px;color:#102a43}.advanced-source-links[open] summary{border-bottom:1px solid #d9e2ec}.advanced-source-links .form-grid{padding:12px}textarea[name="adapter_config_json"]{font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.35;background:#0b1020;color:#d9e2ec;border-color:#334e68}.editor input[name="data_link"]{font-weight:600}

.record-toggle-row{display:flex;gap:18px;align-items:center;margin:0 0 16px}.record-toggle-row .check{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;padding:10px 12px}.record-local-overrides h3{margin:18px 0 6px}.record-spatial-grid{display:grid;grid-template-columns:minmax(360px,1fr) 420px;gap:18px;align-items:start}.spatial-fields{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:14px;grid-column:1/-1}.spatial-fields[hidden],.record-spatial-panel [hidden]{display:none!important}.spatial-preview{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;padding:12px}.world-map-preview{position:relative;width:100%;aspect-ratio:2/1;border:1px solid #bcccdc;border-radius:8px;overflow:hidden;background-color:#cfe8ff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 400'%3E%3Crect width='800' height='400' fill='%23cfe8ff'/%3E%3Cpath d='M120 112 L166 86 L236 103 L271 137 L239 170 L166 164 L128 144 Z M278 166 L326 151 L363 184 L352 230 L315 264 L278 232 Z M392 104 L452 75 L533 92 L586 135 L558 175 L488 166 L438 191 L390 161 Z M515 206 L566 190 L619 214 L661 260 L622 306 L552 290 L516 247 Z M88 265 L165 246 L235 273 L259 322 L203 348 L117 330 Z M334 291 L405 274 L470 310 L442 352 L360 345 Z M599 90 L682 112 L730 157 L700 204 L620 176 Z' fill='%2394c973' stroke='%23659b55' stroke-width='3' opacity='0.9'/%3E%3Cpath d='M0 200 H800 M400 0 V400 M200 0 V400 M600 0 V400 M0 100 H800 M0 300 H800' stroke='white' stroke-width='1.2' opacity='0.65'/%3E%3C/svg%3E");background-size:cover;background-position:center}.world-map-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 24.5%,#ffffff88 25%,transparent 25.5%,transparent 49.5%,#ffffffaa 50%,transparent 50.5%,transparent 74.5%,#ffffff88 75%,transparent 75.5%),linear-gradient(0deg,transparent 24.5%,#ffffff88 25%,transparent 25.5%,transparent 49.5%,#ffffffaa 50%,transparent 50.5%,transparent 74.5%,#ffffff88 75%,transparent 75.5%)}.world-map-point{position:absolute;width:12px;height:12px;border-radius:999px;background:#d64545;border:2px solid white;box-shadow:0 1px 5px #0007;transform:translate(-50%,-50%)}.world-map-box{position:absolute;border:2px solid #d64545;background:#d6454533;box-shadow:0 0 0 1px #fff8 inset}.record-classification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.record-classification-card{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}.record-classification-card h3,.record-link-type-row h3{margin:0 0 8px;font-size:15px}.record-classification-card p{margin:5px 0;color:#52606d}.record-classification-card p span{font-weight:800;color:#334e68}.record-choice-list{max-height:190px;overflow:auto;border:1px solid #d9e2ec;border-radius:8px;background:white;padding:8px}.record-link-type-grid{display:grid;gap:12px}.record-link-type-row{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}.record-link-inputs{display:grid;grid-template-columns:2fr 1fr 1.4fr auto;gap:10px;align-items:end}.record-link-inputs .check{padding-bottom:10px}.image-choice small{font-weight:400;color:#52606d}@media(max-width:980px){.record-spatial-grid{grid-template-columns:1fr}.record-link-inputs{grid-template-columns:1fr}.spatial-fields{grid-template-columns:1fr}}
.osm-tile-layer{position:absolute;inset:0;z-index:0}.osm-tile{position:absolute;width:256px;height:256px;user-select:none}.osm-map-controls{position:absolute;left:10px;top:10px;z-index:4;display:grid;gap:4px}.osm-map-controls button{width:30px;height:30px;padding:0;border-radius:4px;background:white;color:#102a43;border:1px solid #9fb3c8;font-size:18px;line-height:1}.world-map-preview{cursor:grab}.world-map-preview:active{cursor:grabbing}.world-map-preview:before{z-index:1;pointer-events:none}.world-map-point,.world-map-box{z-index:3;pointer-events:none}
/* GGOS Portal - Admin branding and password reset */
.brand{display:inline-flex;align-items:center;gap:10px;line-height:1.15}.brand-logo{width:34px;height:34px;object-fit:contain;border-radius:4px;background:#fff}.login-card{text-align:left}.login-logo{display:block;width:176px;max-width:72%;height:auto;margin:0 auto 18px;object-fit:contain}.login-card h1{text-align:center;margin:0 0 20px}.login-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px}.password-reset-link{color:#0b5cab;font-weight:700;text-decoration:none}.password-reset-link:hover{text-decoration:underline}.success{color:#116329;font-weight:700;background:#e9f7ef;border:1px solid #b7e2c4;border-radius:6px;padding:9px 11px}.reset-note{color:#52606d;font-size:14px;line-height:1.45}.public-topbar .brand{color:white}.public-topbar .brand-logo{width:30px;height:30px}@media(max-width:760px){.login-actions{align-items:stretch;flex-direction:column}.brand-logo{width:30px;height:30px}}

/* Account Admin */
.admin-panels{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px;margin-bottom:18px}.account-panel h2{margin-top:0}.stacked-form{display:grid;gap:12px;margin-top:16px}.full-panel{margin-bottom:18px}.account-table input[type=email]{width:min(360px,95%)}.account-actions{display:flex;gap:8px;flex-wrap:wrap}.compact-check{font-weight:700;gap:6px;white-space:nowrap}.danger,button.danger{background:#b42318}.danger:hover,button.danger:hover{background:#8f1d14}.topbar nav a[href$="account-admin"]{font-weight:700}.success{margin:0 0 18px}.error{margin:0 0 18px}@media(max-width:900px){.admin-panels{grid-template-columns:1fr}.account-actions{flex-direction:column}.account-table input[type=email]{width:100%}}

/* Fixed admin footer and compact navigation */
body{padding-bottom:56px}.topbar nav{gap:12px}.topbar .nav-dashboard{font-weight:900}.nav-menu{position:relative;color:white}.nav-menu summary{list-style:none;cursor:pointer;font-weight:700;color:white}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu summary::after{content:" ▾";font-size:11px}.nav-menu[open] summary::after{content:" ▴"}.nav-menu-list{position:absolute;right:0;top:calc(100% + 10px);z-index:30;display:grid;min-width:180px;padding:8px;border:1px solid #d9e2ec;border-radius:8px;background:white;box-shadow:0 10px 28px #0003}.topbar .nav-menu-list a{color:#102a43;text-decoration:none;padding:8px 10px;border-radius:6px}.topbar .nav-menu-list a:hover{background:#f0f4f8}.admin-footer{position:fixed;left:0;right:0;bottom:0;z-index:900;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;align-items:center;min-height:42px;padding:7px 18px;background:#102a43;color:white;border-top:1px solid #234766;font-size:12px}.admin-footer a{color:white;font-weight:700}.admin-footer-left{justify-self:start}.admin-footer-center{justify-self:center;text-decoration:none}.admin-footer-right{justify-self:end}.account-role-note{margin-bottom:18px}.account-role-note h2{margin-top:0}.account-role-note p{margin:6px 0;color:#334e68}.check small{margin-left:6px;color:#52606d;font-weight:400}@media(max-width:900px){body{padding-bottom:112px}.topbar nav{align-items:flex-start}.nav-menu-list{left:0;right:auto}.admin-footer{grid-template-columns:1fr;gap:3px;text-align:center}.admin-footer-left,.admin-footer-center,.admin-footer-right{justify-self:center}}

/* Secondary email and admin footer links */
.admin-footer-left{color:white;font-weight:700;text-decoration:none}.admin-footer-left:hover{text-decoration:underline}.admin-footer-center{display:flex;gap:14px;align-items:center;justify-self:center}.admin-footer-center a{color:white;font-weight:700;text-decoration:none}.admin-footer-center a:hover{text-decoration:underline}.account-table input[type=email]{width:min(320px,95%)}@media(max-width:900px){.admin-footer-center{justify-self:center;justify-content:center}}

/* Topbar menu polish */
.topbar nav a,.topbar nav summary{font-size:15px;text-decoration:none}.topbar nav a:hover,.topbar nav a:focus,.topbar nav summary:hover,.topbar nav summary:focus{text-decoration:none}.topbar .nav-menu-list a{text-decoration:none!important;font-size:14px}


/* Image Library */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.compact-upload-form{margin:0}.upload-image-grid{grid-template-columns:1fr 1fr}.upload-image-grid .full{grid-column:1/-1}.image-library-panel{display:grid;gap:14px}.image-library-toolbar{align-items:flex-start;gap:16px}.image-library-view-toggle{display:flex;gap:8px;align-items:center}.image-library-view-toggle .is-active{background:#102a43;color:white;border-color:#102a43}.image-library-filters{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(2,minmax(120px,.55fr)) minmax(160px,.75fr);gap:12px;align-items:end}.image-library-filters label{font-size:12px;font-weight:800;color:#334e68}.image-library-filters input,.image-library-filters select{width:100%;box-sizing:border-box;margin-top:4px}.image-library-bulk-actions{margin:0 0 12px}.image-library-gallery-wrap,.image-library-list-wrap{max-height:72vh;overflow:auto;border:1px solid #d9e2ec;border-radius:8px;background:white;padding:12px}.image-library-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.image-library-tile{position:relative;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;overflow:hidden}.image-library-tile[hidden],.image-library-list-wrap tr[hidden],.used-in-scroll tr[hidden]{display:none!important}.image-library-select{position:absolute;top:8px;left:8px;z-index:2;display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:rgba(255,255,255,.92);border:1px solid #bcccdc}.image-library-select input{margin:0}.image-library-usage{position:absolute;top:8px;right:8px;z-index:2;padding:4px 7px;border-radius:999px;background:#102a43;color:white;font-size:11px;font-weight:800}.image-size-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid transparent}.image-library-tile .image-size-badge{position:absolute;right:8px;top:38px;z-index:2}.size-ok{background:#e3f9e5;color:#0b6b2b;border-color:#a6e3b4}.size-warning{background:#fff4d6;color:#9a5b00;border-color:#ffd36a}.size-error{background:#ffe3e3;color:#a61b1b;border-color:#ff9b9b}.image-library-thumb{display:block;background:white;border-bottom:1px solid #d9e2ec;padding:10px;box-sizing:border-box}.image-library-thumb img{display:block;width:100%;height:130px;object-fit:contain}.image-library-tile-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px}.image-library-tile-footer span{font-size:12px;font-weight:800;color:#102a43;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-library-table{min-width:760px}.image-library-table th{position:sticky;top:0;background:white;z-index:1}.image-library-table td{vertical-align:middle}.image-library-table tr.is-unused,.image-picker-table tr.is-unused{background:#f5f7fa}.image-library-table tr.is-unused td,.image-picker-table tr.is-unused td{border-top-color:#d9e2ec}.unused-badge{display:inline-flex;margin-left:8px;padding:2px 7px;border-radius:999px;background:#eef2f7;color:#52606d;border:1px solid #bcccdc;font-size:11px;font-weight:900;vertical-align:middle}.table-sort-button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#102a43;font:inherit;font-weight:900;padding:0;cursor:pointer}.table-sort-button:hover,.table-sort-button:focus{color:#186faf;text-decoration:none}.table-sort-button::after{content:'sort';font-size:10px;color:#829ab1}.table-sort-button.is-active[data-direction='asc']::after{content:'asc';color:#102a43}.table-sort-button.is-active[data-direction='desc']::after{content:'desc';color:#102a43}.image-library-list-thumb{display:block;width:72px;height:48px;border:1px solid #d9e2ec;border-radius:6px;background:white;overflow:hidden}.image-library-list-thumb img{display:block;width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}.image-library-table small{display:block;color:#52606d;margin-top:3px}.image-edit-layout{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:18px;align-items:start}.image-edit-preview{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;padding:14px}.image-edit-preview a{display:block}.image-edit-preview img{display:block;width:100%;max-height:420px;object-fit:contain;background:white;border-radius:6px;padding:12px;box-sizing:border-box}.image-edit-layout code{font-size:12px}.used-in-scroll{max-height:360px;overflow:auto}.used-in-scroll table{min-width:720px}.used-in-scroll th{position:sticky;top:0;background:white;z-index:1}@media(max-width:900px){.image-library-filters{grid-template-columns:1fr 1fr}.image-library-toolbar{align-items:stretch;flex-direction:column}.image-library-view-toggle{justify-content:flex-start}}.image-picker [data-image-picker-view][hidden]{display:none!important}.image-picker-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end;margin-bottom:10px}.image-picker-view-toggle{display:flex;gap:8px}.image-picker-view-toggle .secondary{background:#111827;color:white;border-color:#111827}.image-picker-view-toggle .is-active{background:#008000;color:white;border-color:#008000}.image-choice-card{position:relative;display:grid;gap:8px;border:2px solid #d9e2ec;border-radius:8px;background:white;padding:8px}.image-choice-card:has(input:checked){border-color:#008000;box-shadow:0 0 0 2px #00800022}.image-choice-card .image-choice{border:0;border-radius:0;padding:0;min-height:0;background:transparent}.image-choice-card .image-choice:has(input:checked){border-color:transparent;box-shadow:none}.image-choice-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.image-choice-card .image-library-usage{position:static;display:inline-flex}.image-choice-card .image-size-badge{position:static}.image-file-type{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 7px;border-radius:999px;background:#eef2f7;color:#334e68;border:1px solid #bcccdc;font-size:11px;font-weight:900}.image-choice-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.image-choice-edit{justify-self:start}.image-picker-list-wrap{max-height:420px;overflow:auto;border:1px solid #d9e2ec;border-radius:8px;background:white;padding:10px}.image-picker-table{min-width:820px}.image-picker-table th{position:sticky;top:0;background:white;z-index:1}.image-picker-table td{vertical-align:middle}.image-picker-table small{display:block;color:#52606d;margin-top:3px}.image-library-deep-link{margin-top:8px}.image-library-deep-link a{font-weight:700}.image-choice-card.is-filtered-out,.image-picker-table tr.is-filtered-out{display:none!important}.image-preview-panel.current-image-first{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.image-preview-panel .facts.wide{grid-template-columns:150px minmax(0,1fr);gap:7px 14px}.image-preview-panel .facts dd{min-width:0}.image-picker-upload-grid{margin-bottom:8px}@media(max-width:760px){.image-picker-toolbar{grid-template-columns:1fr}.image-picker-view-toggle{justify-content:flex-start}}@media(max-width:760px){.upload-image-grid,.image-library-filters{grid-template-columns:1fr}.image-library-gallery{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.image-library-thumb img{height:120px}.image-edit-layout{grid-template-columns:1fr}}


.thesauri-admin-card { overflow: visible; }
.thesauri-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.thesauri-tab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid #d7dde2; border-radius: 8px; color: #1f2933; text-decoration: none; background: #fff; font-weight: 700; }
.thesauri-tab:hover { border-color: #2f7d5b; color: #1f2933; text-decoration: none; }
.thesauri-tab.is-active { background: #eaf4ef; border-color: #2f7d5b; color: #194d39; }
.thesauri-tab strong { min-width: 34px; padding: 3px 8px; border-radius: 999px; background: #eef1f4; text-align: center; font-size: 0.86rem; }
.thesauri-tab.is-active strong { background: #2f7d5b; color: #fff; }
.thesauri-toolbar { margin: 14px 0 18px; }
.thesauri-toolbar label { display: block; max-width: 620px; font-weight: 700; }
.thesauri-toolbar input { margin-top: 6px; width: 100%; }
.thesauri-create-form .form-grid, .thesauri-edit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.thesauri-create-form .wide, .thesauri-edit-grid .wide { grid-column: span 2; }
.thesauri-create-form .full, .thesauri-edit-grid .full { grid-column: 1 / -1; }
.thesauri-list { display: grid; gap: 14px; }
.thesauri-row { border: 1px solid #d7dde2; border-radius: 8px; background: #fff; padding: 14px; }
.thesauri-row[hidden] { display: none; }
.thesauri-row-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.thesauri-row-head h3 { margin: 0; font-size: 1.02rem; line-height: 1.3; }
.thesauri-row-head p { margin: 4px 0 0; color: #68747f; font-size: 0.82rem; word-break: break-all; }
.thesauri-edit-grid label { font-weight: 700; color: #2c3842; }
.thesauri-edit-grid input, .thesauri-edit-grid select, .thesauri-edit-grid textarea, .thesauri-create-form input, .thesauri-create-form textarea { margin-top: 5px; }
@media (max-width: 900px) { .thesauri-create-form .form-grid, .thesauri-edit-grid { grid-template-columns: 1fr; } .thesauri-create-form .wide, .thesauri-edit-grid .wide { grid-column: auto; } .thesauri-row-head { flex-direction: column; } }


.thesauri-table-wrap { overflow-x: auto; }
.thesauri-table { width: 100%; border-collapse: collapse; table-layout: auto; }
.thesauri-table th, .thesauri-table td { padding: 9px 10px; border-bottom: 1px solid #e2e7eb; vertical-align: middle; text-align: left; }
.thesauri-table th { color: #46525d; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0; background: #f5f7f8; }
.thesauri-table tr[hidden] { display: none; }
.thesauri-table td strong { display: block; font-size: 0.95rem; line-height: 1.25; }
.thesauri-table td small { display: block; max-width: 520px; color: #6b7680; font-size: 0.78rem; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.thesauri-thumb { width: 58px; height: 42px; display: block; object-fit: contain; border: 1px solid #d7dde2; border-radius: 6px; background: #f1f3f5; padding: 3px; box-sizing: border-box; }
.thesauri-thumb-empty { display: flex; align-items: center; justify-content: center; padding: 3px; color: #7b858f; font-size: 0.62rem; line-height: 1.05; text-align: center; }
.thesauri-relations { min-width: 145px; }
.thesauri-relations span { display: inline-block; margin: 1px 4px 1px 0; padding: 2px 6px; border-radius: 999px; background: #edf5f1; color: #235d45; font-size: 0.72rem; }
.thesauri-detail-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 22px; align-items: start; }
.thesauri-image-panel { display: grid; gap: 12px; }
.thesauri-image-preview { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; border: 1px solid #d7dde2; border-radius: 8px; background: #f4f6f7; }
.thesauri-image-empty { display: flex; align-items: center; justify-content: center; color: #6d7882; font-weight: 700; text-align: center; padding: 16px; }
.thesauri-detail-fields .form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.thesauri-detail-fields .wide { grid-column: span 2; }
.thesauri-detail-fields .full { grid-column: 1 / -1; }
.danger-zone { border-color: #f1c7c7; background: #fffafa; }
@media (max-width: 900px) { .thesauri-detail-layout { grid-template-columns: 1fr; } .thesauri-detail-fields .form-grid { grid-template-columns: 1fr; } .thesauri-detail-fields .wide { grid-column: auto; } }


.thesauri-create-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.thesauri-create-grid .full { grid-column: 1 / -1; }
.color-pair { display: grid; grid-template-columns: minmax(105px, 1fr) 44px; gap: 8px; align-items: center; }
.color-pair input[type="color"] { width: 44px; min-width: 44px; padding: 2px; }
.drag-handle { width: 28px; color: #7b8794; cursor: grab; font-weight: 900; text-align: center; user-select: none; }
tr.is-dragging { opacity: .55; outline: 2px solid #2f7d5b; }
.thesauri-image-picker { margin-top: 16px; }
.thesauri-image-picker .image-gallery { max-height: 420px; overflow: auto; }
.thesauri-image-picker .image-choice-card .image-choice img { height: 92px; object-fit: contain; }
.thesauri-detail-fields { margin-bottom: 14px; }
.thesauri-detail-fields .form-grid label { min-width: 0; }
@media (max-width: 900px) { .thesauri-create-grid { grid-template-columns: 1fr; } }

.thesauri-add-panel summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.thesauri-add-panel summary::-webkit-details-marker { display: none; }
.thesauri-add-panel summary::after { content: "+"; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: #eef2f7; color: #102a43; font-weight: 900; }
.thesauri-add-panel[open] summary { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #e2e7eb; }
.thesauri-add-panel[open] summary::after { content: "-"; }
.thesauri-add-panel summary strong { display: block; font-size: 1.1rem; }
.thesauri-add-panel summary small { display: block; margin-top: 3px; color: #6b7680; font-weight: 500; }

.thesauri-row-actions { display: flex; gap: 6px; align-items: center; justify-content: flex-end; }
.thesauri-row-actions form { margin: 0; }
.danger-zone .hint strong { color: #9b1c1c; }

.thesauri-multi-select { position: relative; display: grid; gap: 6px; align-self: start; }
.multi-select-label { font-weight: 700; color: #2c3842; }
.multi-select-trigger { width: 100%; text-align: left; background: #fff; color: #102a43; border: 1px solid #bcccdc; border-radius: 6px; padding: 10px; font-weight: 700; }
.multi-select-trigger:after { content: "▾"; float: right; color: #627d98; }
.multi-select-panel { position: absolute; z-index: 20; top: 58px; left: 0; right: 0; border: 1px solid #bcccdc; border-radius: 8px; background: #fff; box-shadow: 0 12px 28px rgba(16,42,67,.16); padding: 10px; }
.multi-select-panel input[type="search"] { width: 100%; box-sizing: border-box; margin-bottom: 8px; }
.multi-select-options { max-height: 260px; overflow: auto; display: grid; gap: 4px; }
.multi-select-options label { display: flex; flex-direction: row; align-items: flex-start; gap: 8px; padding: 7px 8px; border-radius: 6px; font-weight: 600; cursor: pointer; }
.multi-select-options label:hover { background: #f0f4f8; }
.multi-select-options label[hidden] { display: none; }
.multi-select-options input { margin-top: 2px; }
.thesauri-relations span { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }

.egv-relation-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; }
.relation-primary .multi-select-label, .relation-primary .multi-select-trigger { border-color: #d64545; color: #9b1c1c; }
.relation-important .multi-select-label, .relation-important .multi-select-trigger { border-color: #2f80ed; color: #1d4f91; }
.relation-indirect .multi-select-label, .relation-indirect .multi-select-trigger { border-color: #f0a429; color: #8a4b00; }
.relation-tag.relation-primary { background: #ffe3e3; color: #9b1c1c; border: 1px solid #ff9b9b; }
.relation-tag.relation-important { background: #dceeff; color: #1d4f91; border: 1px solid #8ac2ff; }
.relation-tag.relation-indirect { background: #fff4d6; color: #8a4b00; border: 1px solid #ffd36a; }
@media(max-width:980px){.egv-relation-grid{grid-template-columns:1fr}}

.relation-parent-egv .multi-select-label, .relation-parent-egv .multi-select-trigger { border-color: #2f7d5b; color: #235d45; }

.classification-guide{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr) minmax(260px,.8fr);gap:14px;align-items:start}
.choice-row-with-icon{grid-template-columns:auto 34px 1fr;align-items:center}.choice-icon{width:30px;height:30px;object-fit:contain;border:1px solid #d7dde2;border-radius:6px;background:#f3f5f6;padding:2px;box-sizing:border-box}.choice-icon-empty{display:inline-block;background:linear-gradient(135deg,#eef2f5,#f8fafc)}
.derived-classification-box{display:grid;gap:4px;margin-top:10px;padding:9px 10px;border:1px solid #d9e2ec;border-radius:7px;background:#fff;font-size:12px}.derived-classification-box strong{font-size:13px;color:#102a43}.derived-classification-box span{color:#52606d}.derived-classification-box b{color:#102a43}
.choice-row.is-selected-product-outside-egv{border-style:dashed;border-color:#d9822b;background:#fff8f0}.choice-row[hidden]{display:none!important}.secondary-classifications{margin-top:14px}
.record-classification-guide .thesaurus-choice-panel p span{font-weight:800;color:#334e68}
@media(max-width:1100px){.classification-guide{grid-template-columns:1fr}}

.choice-row.is-choice-selected{position:relative}.choice-row.is-choice-selected:after{content:"selected";font-size:10px;font-weight:700;color:#287d3c;justify-self:end;align-self:center;text-transform:uppercase;letter-spacing:.02em}

.record-featured-thumb{display:block;width:78px;height:52px;object-fit:contain;border:1px solid #d9e2ec;border-radius:6px;background:#f8fafc;padding:4px;box-sizing:border-box}.record-featured-placeholder{display:grid;place-items:center;width:78px;height:52px;border:1px solid #d9e2ec;border-radius:6px;background:#eef2f7;color:#7b8794;font-size:11px;font-weight:800;text-align:center}.records-table-wrap td:nth-child(5){width:104px}.records-table-wrap td:nth-child(5) small{display:block;margin-top:3px;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.records-table-wrap td:nth-child(5){min-width:320px}.records-table-wrap td:nth-child(5) a{overflow-wrap:anywhere}.records-table-wrap table{min-width:1080px}

/* dashboard status/access row */
.dashboard-status-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:14px;margin-bottom:18px;align-items:stretch}.dashboard-card-geonetwork,.dashboard-card-access{min-width:0}.access-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.access-card-grid div{border:1px solid #e4e7eb;border-radius:7px;background:#f8fafc;padding:11px}.access-card-grid strong{display:block;font-size:24px;color:#102a43;line-height:1.1;overflow-wrap:anywhere}.access-card-grid span{display:block;font-size:12px;color:#52606d}.access-card-grid small{display:block;color:#627d98;font-weight:400}.job-time-row{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:4px!important;color:#627d98!important;font-size:11px!important}.job-time-row span{white-space:nowrap}.recent-job-row>div{min-width:0}@media(max-width:1100px){.dashboard-status-grid{grid-template-columns:1fr}.access-card-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}

.harvester-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.harvester-actions form{margin:0}.harvester-actions .mini-button{padding:4px 7px;font-size:11px}
.job-auto-harvest{margin:14px 0;padding:10px 12px;border:1px solid #b7d9c0;border-radius:8px;background:#f2fbf4;color:#1f5130}.job-auto-harvest a,.auto-harvest-panel a{font-weight:700;color:#176c3a}.auto-harvest-panel{margin-bottom:18px}
.provider-overview-actions{margin-top:0;justify-content:flex-end}.provider-overview-actions form{margin:0}.provider-overview-actions button.secondary{background:#52606d}

.record-editor fieldset{padding:22px 24px}.record-editor fieldset>legend{padding:0 8px}.record-editor fieldset>h3,.record-editor fieldset>p.hint,.record-editor fieldset>.form-grid,.record-editor fieldset>.image-preview-panel,.record-editor fieldset>.image-source-tabs,.record-editor fieldset>.image-mode,.record-editor fieldset>.record-spatial-grid,.record-editor fieldset>.classification-guide,.record-editor fieldset>.record-classification-grid,.record-editor fieldset>.record-keyword-control,.record-editor fieldset>.record-link-type-grid,.record-editor fieldset>ul{margin-left:4px;margin-right:4px}.record-readable-panel .facts.wide{grid-template-columns:180px minmax(0,1fr);gap:8px 16px}.record-readable-panel dd{line-height:1.35;overflow-wrap:anywhere}.record-local-overrides h3{padding-top:4px}.record-image-add-note{display:inline-flex;align-items:center;background:#eef6ff;border:1px solid #b6d7f5;border-radius:999px;color:#102a43;font-weight:800;margin:6px 4px 10px;padding:7px 12px}.source-inherited-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border-radius:999px;background:#e6f4ea;color:#1f7a3b;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.record-review-notes{border-left:4px solid #d64545}.record-review-notes h2{margin-bottom:4px}.record-review-list{display:grid;gap:6px;margin-top:10px}.record-review-list p{margin:0}.record-choice-list .choice-row span{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.record-classification-guide .thesaurus-choice-panel{padding:14px}.record-classification-guide .thesaurus-choice-panel h3{margin-top:0}.record-link-type-row .hint{overflow-wrap:anywhere}.code-view{max-height:520px;overflow:auto;white-space:pre-wrap;word-break:break-word}
/* GGOS link guidance input status */
.record-link-inputs input.link-status-green{background:#eefaf1;border-color:#8bcf9d}.record-link-inputs input.link-status-orange{background:#fff4df;border-color:#e8a545}.record-link-inputs input.link-status-green:focus{box-shadow:0 0 0 2px rgba(31,122,59,.16)}.record-link-inputs input.link-status-orange:focus{box-shadow:0 0 0 2px rgba(232,165,69,.2)}
/* GGOS record edit layout status */
.record-control-card small{display:block;margin-top:8px;color:#52606d;line-height:1.35}.record-control-checks{display:flex;flex-wrap:wrap;gap:10px}.record-control-checks .check{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;padding:8px 10px}.record-general-info{margin:0 0 18px}.record-general-info summary{cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:14px;color:#102a43}.record-general-info summary strong{font-size:16px}.record-general-info summary span{color:#52606d;font-size:12px;font-weight:400}.record-general-info summary::-webkit-details-marker{display:none}.record-general-info summary::after{content:"▸";font-size:16px;color:#52606d}.record-general-info[open] summary{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e4e7eb}.record-general-info[open] summary::after{content:"▾"}.readonly-generated-field,.editor input.readonly-generated-field:disabled{background:#eef2f7;color:#52606d;border-color:#bcccdc;cursor:not-allowed}.editor input.value-status-green,.editor textarea.value-status-green{background:#eefaf1;border-color:#8bcf9d}.editor input.value-status-orange,.editor textarea.value-status-orange{background:#fff4df;border-color:#e8a545}.editor input.value-status-green:focus,.editor textarea.value-status-green:focus{box-shadow:0 0 0 2px rgba(31,122,59,.16)}.editor input.value-status-orange:focus,.editor textarea.value-status-orange:focus{box-shadow:0 0 0 2px rgba(232,165,69,.2)}.record-spatial-panel select.spatial-status-green{background:#eefaf1;border-color:#8bcf9d}.record-spatial-panel select.spatial-status-red{background:#fdeaea;border-color:#d64545;color:#7f1d1d}.record-spatial-panel select.spatial-status-red:focus{box-shadow:0 0 0 2px rgba(214,69,69,.18)}
/* GGOS record edit polish */
.record-ref-card p{margin-bottom:2px}.record-ref-card small{display:block;margin-bottom:10px;color:#52606d;overflow-wrap:anywhere}.record-ref-card .mini-button{display:inline-block;width:max-content;margin-top:2px}.editor input.spatial-field-green{background:#eefaf1;border-color:#8bcf9d}.editor input.spatial-field-orange{background:#fff4df;border-color:#e8a545}.editor input.spatial-field-green:focus{box-shadow:0 0 0 2px rgba(31,122,59,.16)}.editor input.spatial-field-orange:focus{box-shadow:0 0 0 2px rgba(232,165,69,.2)}.thesaurus-choice-panel.classification-status-green,.station-symbol-panel.classification-status-green,.term-picker.classification-status-green,.record-classification-card.classification-status-green{background:#eefaf1;border-color:#8bcf9d}.thesaurus-choice-panel.classification-status-orange,.station-symbol-panel.classification-status-orange,.term-picker.classification-status-orange,.record-classification-card.classification-status-orange{background:#fff4df;border-color:#e8a545}.record-links-panel{display:block}
/* GGOS source edit field status */
.editor input.source-field-green,.editor textarea.source-field-green,.editor select.source-field-green{background:#eefaf1;border-color:#8bcf9d}.editor input.source-field-orange,.editor textarea.source-field-orange,.editor select.source-field-orange{background:#fff4df;border-color:#e8a545}.editor input.source-field-green:focus,.editor textarea.source-field-green:focus,.editor select.source-field-green:focus{box-shadow:0 0 0 2px rgba(31,122,59,.16)}.editor input.source-field-orange:focus,.editor textarea.source-field-orange:focus,.editor select.source-field-orange:focus{box-shadow:0 0 0 2px rgba(232,165,69,.2)}

/* Runtime health page */
.health-head .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.health-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:18px}.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.health-table-wrap{max-height:420px}.health-table td{vertical-align:top}.health-table td:nth-child(2){min-width:240px}.health-table small{display:block;margin-top:3px;color:#52606d;overflow-wrap:anywhere}.health-row-ok{background:#f6fff8}.health-row-warning{background:#fff9e8}.health-ok-note{margin:0;padding:14px;border:1px solid #b7d9c0;border-radius:8px;background:#f2fbf4;color:#1f5130;font-weight:700}.health-issue-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.health-issue-list li{border:1px solid #f5d36a;border-radius:7px;background:#fff9e8;padding:9px 10px;overflow-wrap:anywhere}.health-issue-list.compact{margin:10px 0}.health-facts{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 12px;margin:0 0 14px}.health-facts dt{color:#52606d}.health-facts dd{margin:0;font-weight:700;overflow-wrap:anywhere}.health-log-snippet{white-space:pre-wrap;word-break:break-word;max-height:190px;overflow:auto;border:1px solid #f5d36a;background:#fff9e8;border-radius:8px;padding:12px;color:#5f370e}.health-running-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.health-running-grid h3{margin:0 0 8px}.health-running-grid ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}.health-running-grid li{border:1px solid #d9e2ec;border-radius:7px;background:#f8fafc;padding:8px 10px;overflow-wrap:anywhere}@media(max-width:900px){.health-grid,.health-running-grid{grid-template-columns:1fr}}

/* Wiki help */
.wiki-head .actions{display:flex;gap:8px;flex-wrap:wrap}.wiki-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.wiki-nav{position:sticky;top:82px;display:grid;gap:8px}.wiki-nav strong{font-size:15px;color:#102a43}.wiki-nav a{display:block;padding:7px 9px;border-radius:6px;color:#334e68;text-decoration:none;font-weight:700}.wiki-nav a:hover{background:#eefaf1;color:#176c3a;text-decoration:none}.wiki-content{display:grid;gap:18px}.wiki-section h2{margin-top:0}.wiki-section h3{margin:0 0 8px}.wiki-section p{line-height:1.55;color:#334e68}.wiki-flow{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.wiki-flow span{position:relative;padding:8px 12px;border:1px solid #b7d9c0;border-radius:999px;background:#f2fbf4;color:#1f5130;font-weight:800}.wiki-flow span:not(:last-child)::after{content:"->";margin-left:8px;color:#627d98}.wiki-dl{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px 16px;margin:0}.wiki-dl dt{font-weight:900;color:#102a43}.wiki-dl dd{margin:0;color:#334e68;line-height:1.45}.wiki-steps,.wiki-list{display:grid;gap:9px;margin:0;padding-left:20px}.wiki-steps li,.wiki-list li{line-height:1.45;color:#334e68}.wiki-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wiki-two-col ul{margin:0;padding-left:20px;display:grid;gap:6px}@media(max-width:980px){.wiki-layout{grid-template-columns:1fr}.wiki-nav{position:static}.wiki-dl{grid-template-columns:1fr}.wiki-two-col{grid-template-columns:1fr}}

/* Account roles and security health */
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 14px}.role-grid article{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}.role-grid p{margin:8px 0 0;color:#334e68;line-height:1.4}.role-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;white-space:nowrap}.role-admin{background:#dcfce7;color:#166534;border:1px solid #86c79a}.role-operator{background:#eef2f7;color:#334e68;border:1px solid #bcccdc}.role-matrix td:nth-child(n+2),.role-matrix th:nth-child(n+2){text-align:center}.security-check-list{display:grid;gap:8px}.security-check-row{display:grid;grid-template-columns:110px minmax(180px,.8fr) minmax(0,1.4fr);gap:10px;align-items:start;border:1px solid #e4e7eb;border-radius:7px;background:#f8fafc;padding:9px 10px}.security-check-row.is-warning{background:#fff9e8;border-color:#f5d36a}.security-check-row strong{overflow-wrap:anywhere}.security-check-row span:last-child{color:#52606d;overflow-wrap:anywhere}@media(max-width:900px){.role-grid{grid-template-columns:1fr}.security-check-row{grid-template-columns:1fr}}

/* Weekly report page */
.weekly-report-head .actions{margin-top:0}.weekly-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.weekly-report-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;margin-bottom:18px}.weekly-panel{margin:0}.weekly-panel fieldset{min-height:235px}.weekly-enable{display:inline-flex;margin:2px 0 14px;padding:9px 11px;border:1px solid #b7d9c0;border-radius:8px;background:#f2fbf4;color:#1f5130}.weekly-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-send-actions{margin-top:0}.weekly-notice{border-left-color:#2e7d32;background:#f2fbf4;color:#1f5130;font-weight:700}.weekly-last-message pre{margin:0;white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;padding:12px;color:#334e68}.weekly-preview{margin-top:18px}.weekly-preview summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:900;color:#102a43}.weekly-preview summary::-webkit-details-marker{display:none}.weekly-preview summary::after{content:"▸";color:#52606d}.weekly-preview[open] summary{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e4e7eb}.weekly-preview[open] summary::after{content:"▾"}.weekly-preview summary small{font-weight:600;color:#627d98}.weekly-preview .logbox{max-height:520px}.weekly-status-grid .dashboard-mini-stats dd{overflow-wrap:anywhere}@media(max-width:1000px){.weekly-status-grid,.weekly-report-layout{grid-template-columns:1fr}.weekly-panel fieldset{min-height:0}}

/* Dashboard fixed 5-column layout */
.dashboard-grid-layout{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}.dashboard-grid-cell{min-width:0;margin:0}.dashboard-row-1.dashboard-col-1{grid-column:1}.dashboard-row-1.dashboard-col-2{grid-column:2}.dashboard-row-1.dashboard-col-3{grid-column:3}.dashboard-row-1.dashboard-col-4{grid-column:4}.dashboard-row-1.dashboard-col-5{grid-column:5}.dashboard-system-health{grid-column:1;grid-row:2}.dashboard-geonetwork-card{grid-column:2 / span 4;grid-row:2}.dashboard-metadata-summary{grid-column:4 / span 2;grid-row:2}.dashboard-access-card{grid-column:1 / span 2;grid-row:3}.dashboard-access-chart{grid-column:3 / span 3;grid-row:3}.dashboard-source-warnings{grid-column:1 / span 2;grid-row:4}.dashboard-recent-jobs{grid-column:3 / span 3;grid-row:4}.dashboard-grid-layout .dashboard-card,.dashboard-grid-layout .dashboard-panel{height:100%;box-sizing:border-box}.metadata-summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metadata-summary-grid.compact div{padding:10px}.metadata-summary-grid.compact strong{font-size:21px}.metadata-summary-grid.compact span{display:block;line-height:1.2}.access-chart-svg{width:100%;height:260px;display:block;background:#fff;border:1px solid #e4e7eb;border-radius:8px}.chart-axis{stroke:#cbd5df;stroke-width:1}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-line-unique{stroke:#176c3a}.chart-point-unique{fill:#176c3a;stroke:#fff;stroke-width:2}.chart-label{fill:#52606d;font-size:12px}.dashboard-access-chart .panel-head{margin-bottom:8px}@media(max-width:1280px){.dashboard-grid-layout{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-row-1.dashboard-col-1,.dashboard-row-1.dashboard-col-2,.dashboard-row-1.dashboard-col-3,.dashboard-row-1.dashboard-col-4,.dashboard-row-1.dashboard-col-5,.dashboard-system-health,.dashboard-geonetwork-card,.dashboard-metadata-summary,.dashboard-access-card,.dashboard-access-chart,.dashboard-source-warnings,.dashboard-recent-jobs{grid-column:auto;grid-row:auto}.dashboard-geonetwork-card,.dashboard-metadata-summary,.dashboard-access-card,.dashboard-access-chart,.dashboard-source-warnings,.dashboard-recent-jobs{grid-column:span 3}}@media(max-width:900px){.dashboard-grid-layout{grid-template-columns:1fr}.dashboard-geonetwork-card,.dashboard-metadata-summary,.dashboard-access-card,.dashboard-access-chart,.dashboard-source-warnings,.dashboard-recent-jobs{grid-column:auto}.access-chart-svg{height:220px}}

/* Dashboard refinements */
.dashboard-geonetwork-card .geonetwork-status-row{grid-template-columns:minmax(0,1.8fr) minmax(82px,.5fr)}.dashboard-geonetwork-card .geonetwork-status-row>div:nth-child(n+3){display:none}.dashboard-access-card .access-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metadata-summary-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.metadata-summary-main div{border:1px solid #e4e7eb;border-radius:7px;background:#f8fafc;padding:12px}.metadata-summary-main strong{display:block;font-size:24px;color:#102a43}.metadata-summary-main span{font-size:12px;color:#52606d}.metadata-level-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.metadata-level-strip div{border:1px solid #e4e7eb;border-radius:7px;background:#fff;padding:8px}.metadata-level-strip strong{display:block;font-size:18px;color:#102a43}.metadata-level-strip span{display:block;font-size:11px;line-height:1.15;color:#52606d;overflow:hidden;text-overflow:ellipsis}.dashboard-recent-jobs .recent-job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-recent-jobs .recent-job-row .badge{align-self:center;justify-self:center;min-width:72px;text-align:center}.dashboard-recent-jobs .recent-job-row>div{min-width:0}@media(max-width:900px){.dashboard-access-card .access-card-grid,.metadata-summary-main,.metadata-level-strip{grid-template-columns:1fr}.dashboard-recent-jobs .recent-job-row{grid-template-columns:1fr}.dashboard-recent-jobs .recent-job-row .badge{justify-self:start}}

/* Public source dashboard provider descriptions */
.public-provider-section{grid-template-columns:210px minmax(0,1fr)}
.public-provider-card{padding:10px}
.public-provider-logo{max-height:64px;margin-bottom:8px}
.public-provider-card h2{font-size:14px;margin-bottom:5px}
.public-provider-description-wrap{margin:0 0 6px}
.public-provider-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(1.3em * 3);margin:0 0 4px;color:#52606d;font-size:12px;line-height:1.3}
.public-provider-description.is-expanded{display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible}
.public-provider-description-toggle{display:inline-block;background:transparent;border:0;color:#1267a8;cursor:pointer;font-size:12px;font-weight:800;padding:0;text-align:left}
.public-provider-description-toggle:hover{text-decoration:underline}
@media(max-width:900px){.public-provider-section{grid-template-columns:1fr}.public-provider-card{padding:10px}.public-provider-logo{max-height:64px}}

/* Dashboard access statistics second row */
.dashboard-access-card .access-card-grid-expanded{grid-template-columns:repeat(3,minmax(0,1fr));}
.dashboard-access-card .access-card-grid-expanded div{min-width:0}
.dashboard-access-card .access-card-grid-expanded strong{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.dashboard-access-card .access-card-grid-expanded{grid-template-columns:1fr}}

/* Public source dashboard provider meta hidden until expanded */
.public-provider-description-wrap .public-provider-meta-extra{display:none;margin:5px 0 4px;font-size:12px;line-height:1.3}
.public-provider-description-wrap.is-expanded .public-provider-meta-extra{display:block}

/* Featured image assignment mode */
.featured-image-mode-panel{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px;margin:8px 0 12px}
.featured-image-mode-panel h3{margin:0 0 8px;font-size:15px}
.featured-image-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.featured-image-mode-grid label{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:start;border:1px solid #d9e2ec;border-radius:7px;background:#fff;padding:10px}
.featured-image-mode-grid input{grid-row:1 / span 2;margin-top:3px}
.featured-image-mode-grid strong{font-size:13px;color:#102a43}
.featured-image-mode-grid small{display:block;color:#52606d;font-size:12px;line-height:1.25}
@media(max-width:900px){.featured-image-mode-grid{grid-template-columns:1fr}}

/* Featured image mode previews */
.featured-image-mode-grid label{grid-template-columns:auto minmax(0,1fr) 74px;min-height:86px}
.featured-image-mode-grid label>span{min-width:0}
.image-mode-preview{width:64px;height:64px;object-fit:contain;border:1px solid #d9e2ec;border-radius:6px;background:#fff;align-self:center;justify-self:end;padding:4px;box-sizing:border-box}
.image-mode-preview-empty{display:grid;place-items:center;color:#7b8794;background:#eef2f5;font-size:10px;text-align:center;text-transform:uppercase;font-weight:800}
.image-mode-preview-source{margin-top:3px;color:#176c3a!important;font-weight:800}
.featured-image-own-heading{margin:16px 0 4px!important;font-size:16px!important;color:#102a43}
.image-preview-placeholder{min-height:126px;width:100%;display:grid;place-items:center;text-align:center;background:#eef2f5;border:1px dashed #bcccdc;border-radius:7px;color:#52606d;font-weight:800;padding:16px;box-sizing:border-box;line-height:1.35;text-transform:none}
.image-preview-panel.has-no-specific-image img{display:none}
@media(max-width:900px){.featured-image-mode-grid label{grid-template-columns:auto minmax(0,1fr)}.image-mode-preview{grid-column:2;justify-self:start}}

.image-mode-preview-note{margin-top:3px;color:#8a4b00!important;font-weight:800}
.image-preview-placeholder small{display:block;margin-top:5px;color:#52606d;font-size:12px;font-weight:700;text-transform:none}

.image-mode-preview-warning{color:#b45309!important;background:#fff7ed;border:1px solid #fdba74;border-radius:999px;display:inline-flex!important;align-items:center;width:max-content;padding:2px 8px}

/* Source/record edit jump navigation */
.editor-jump-nav{display:none}
[id^="record-"],[id^="source-"],[id^="provider-"],#geonetwork-harvester{scroll-margin-top:88px}
@media(min-width:1320px){
  .page:has(.editor-jump-nav){padding-left:160px}
  .editor-jump-nav{position:fixed;top:86px;left:max(4px,calc((100vw - 1540px)/2 - 22px));z-index:30;display:grid;gap:4px;width:150px;max-height:calc(100vh - 118px);overflow:auto;border:1px solid #d9e2ec;border-radius:8px;background:rgba(255,255,255,.70);box-shadow:0 8px 24px rgba(16,42,67,.10);padding:8px}
  .editor-jump-nav strong{font-size:15px;color:#102a43;margin:0 0 6px;padding:0 4px;font-weight:950}
  .editor-jump-nav a,.editor-jump-nav button{display:block;width:100%;box-sizing:border-box;border-radius:6px;color:#334e68;font-size:12px;font-weight:800;line-height:1.2;padding:6px 7px;text-decoration:none;text-align:left;background:transparent;border:0;cursor:pointer;font-family:inherit}
  .editor-jump-nav a:hover,.editor-jump-nav a:focus,.editor-jump-nav button:hover,.editor-jump-nav button:focus{background:#eefaf1;color:#176c3a;text-decoration:none;outline:none}
}

/* Source/record edit heading polish */
.editor-jump-nav ~ form.editor fieldset>legend,.editor-jump-nav ~ form.editor .dashboard-panel>h2,form.editor>.editor-jump-nav ~ fieldset>legend,form.editor>.editor-jump-nav ~ .dashboard-panel>h2{font-size:17px;font-weight:900;color:#102a43}
.editor-jump-nav ~ form.editor fieldset>legend,form.editor>.editor-jump-nav ~ fieldset>legend{letter-spacing:.01em}

.editor-jump-nav .editor-jump-save{background:#e6f4ea;color:#176c3a;border:1px solid #8bcf9d;font-size:13px;font-weight:950;text-align:center;margin-top:4px}
.editor-jump-nav .editor-jump-save:hover,.editor-jump-nav .editor-jump-save:focus{background:#176c3a;color:white;border-color:#176c3a}

/* Fixed admin header */
body{padding-top:64px}
.topbar{position:fixed;top:0;left:0;right:0;z-index:950;box-sizing:border-box;min-height:62px;box-shadow:0 2px 12px rgba(16,42,67,.18)}
.nav-menu-list{z-index:980}
@media(max-width:760px){body{padding-top:154px}.topbar{min-height:140px}}

.editor-save-success{position:sticky;top:72px;z-index:80;margin:0 0 16px;padding:12px 14px;border-radius:8px;background:#e6f4ea;border:1px solid #8bcf9d;color:#176c3a;font-weight:900;box-shadow:0 6px 18px rgba(16,42,67,.10)}
@media(max-width:760px){.editor-save-success{top:158px}}


/* Save progress overlay */
.admin-save-overlay{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:rgba(16,42,67,.32);backdrop-filter:blur(2px)}
.admin-save-overlay[hidden]{display:none!important}
.admin-save-dialog{min-width:280px;max-width:420px;border:1px solid #cbd5df;border-radius:10px;background:#fff;box-shadow:0 18px 48px rgba(16,42,67,.28);padding:22px 24px;text-align:center;color:#102a43}
.admin-save-dialog strong{display:block;margin:8px 0 4px;font-size:18px;font-weight:950}
.admin-save-dialog small{display:block;color:#52606d;font-size:13px;line-height:1.35}
.admin-save-spinner{width:34px;height:34px;margin:0 auto 8px;border:4px solid #d9e2ec;border-top-color:#176c3a;border-radius:50%;animation:admin-save-spin .85s linear infinite}
.admin-save-busy{cursor:progress}
@keyframes admin-save-spin{to{transform:rotate(360deg)}}


/* Provider sync-all live status */
.sync-all-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}
.sync-all-card{background:white;border:1px solid #d9e2ec;border-radius:8px;padding:14px 16px;border-left:6px solid #9aa5b1;box-shadow:0 1px 2px rgba(16,42,67,.04)}
.sync-all-card span{display:block;color:#52606d;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.sync-all-card strong{display:block;color:#102a43;font-size:22px;font-weight:950;line-height:1.1;overflow-wrap:anywhere}
.sync-all-card small{display:block;color:#52606d;margin-top:6px;line-height:1.3}
.sync-all-grid[data-status="running"] .sync-all-card:first-child{border-left-color:#f59e0b;background:#fffaf0}
.sync-all-grid[data-status="queued"] .sync-all-card:first-child{border-left-color:#f0b429;background:#fffaf0}
.sync-all-grid[data-status="error"] .sync-all-card:first-child{border-left-color:#d64545;background:#fff5f5}
.sync-all-grid[data-status="idle"] .sync-all-card:first-child{border-left-color:#008000;background:#f4fbf5}
.sync-all-current{margin-bottom:22px}
.sync-all-section{margin-top:22px}
.sync-all-table-wrap{max-height:58vh}
.sync-all-table-wrap thead th{position:sticky;top:0;z-index:1}
.sync-all-facts dd{min-height:20px}
.sync-mini-progress{height:8px;background:#d9e2ec;border-radius:999px;overflow:hidden;min-width:130px;max-width:220px;margin-bottom:4px}
.sync-mini-progress span{display:block;height:100%;background:#f59e0b;transition:width .35s ease}
.sync-all-queued{display:grid;gap:10px}
.sync-all-queue-batch{background:white;border:1px solid #d9e2ec;border-radius:8px;padding:12px 14px}
.sync-all-queue-batch strong{display:inline-block;margin-right:8px;color:#102a43}
.sync-all-queue-batch small{color:#52606d;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.03em}
.sync-all-queue-batch p{margin:8px 0 0;color:#334e68;overflow-wrap:anywhere}
@media(max-width:900px){.sync-all-grid{grid-template-columns:1fr 1fr}.sync-mini-progress{max-width:none}}
@media(max-width:620px){.sync-all-grid{grid-template-columns:1fr}}


/* Live system metrics */
.system-metrics-widget{margin:18px 0;background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:18px}
.system-metrics-head{align-items:flex-start;gap:14px}
.system-metrics-periods{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.system-metrics-periods button{border:1px solid #bcccdc;background:#fff;color:#102a43;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:900;line-height:1;cursor:pointer}
.system-metrics-periods button:hover{border-color:#176c3a;color:#176c3a}
.system-metrics-periods button.is-active{background:#176c3a;border-color:#176c3a;color:#fff}
.system-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:12px 0 14px}
.system-metrics-grid.compact{grid-template-columns:repeat(3,minmax(140px,1fr))}
.system-metric-tile{border:1px solid #d9e2ec;border-radius:8px;padding:12px 14px;background:#fff}
.system-metric-tile span{display:block;color:#52606d;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px}
.system-metric-tile strong{display:block;color:#102a43;font-size:24px;font-weight:950;line-height:1.15}
.system-metric-tile small{display:block;color:#52606d;margin-top:5px;overflow-wrap:anywhere}
.system-metrics-chart{width:100%;height:auto;display:block;background:#fbfcfd;border:1px solid #e4e7eb;border-radius:8px;margin-top:8px}
.chart-grid{stroke:#e4e7eb;stroke-width:1}
.chart-axis{stroke:#9fb3c8;stroke-width:1.4}
.chart-label{fill:#52606d;font-size:11px;font-weight:800}
.chart-percent-label{fill:#627d98;font-size:10px}
.system-metric-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.system-metric-line-cpu{stroke:#176c3a}
.system-metric-line-memory{stroke:#f59e0b}
.system-metrics-legend{display:flex;gap:14px;margin-top:8px;color:#52606d;font-size:12px;font-weight:900;text-transform:uppercase}
.system-metrics-legend span::before{content:"";display:inline-block;width:18px;height:4px;border-radius:999px;margin-right:6px;vertical-align:middle;background:#176c3a}
.system-metrics-legend .legend-memory::before{background:#f59e0b}
@media(max-width:760px){.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:1fr}}

/* Logs overview */
.log-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.log-overview-card{background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:13px 15px;border-left:6px solid #9aa5b1}
.log-overview-card.status-ok{border-left-color:#008000;background:#f7fcf8}.log-overview-card.status-warning{border-left-color:#f0b429;background:#fffaf0}.log-overview-card.status-error{border-left-color:#d64545;background:#fff5f5}
.log-overview-card span{display:block;color:#52606d;font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:5px}.log-overview-card strong{font-size:24px;color:#102a43;font-weight:950}
.log-details{background:#fff;border:1px solid #d9e2ec;border-radius:8px;margin:0 0 12px;overflow:hidden}
.log-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;list-style:none;background:#f8fafc}
.log-details summary::-webkit-details-marker{display:none}.log-details summary h2{margin:0;font-size:17px}.log-details summary p{margin:3px 0 0;color:#52606d;font-size:13px}
.log-summary-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.log-details-body{padding:14px 15px}.log-details.has-error{border-left:6px solid #d64545}.log-details.has-warning{border-left:6px solid #f0b429}.log-details.has-ok{border-left:6px solid #008000}
.log-issue-snippet{margin:10px 0;padding:10px 12px;border-radius:7px;background:#fff7ed;border:1px solid #fdba74;color:#8a4b00;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;overflow:auto}
.log-issue-snippet.is-error{background:#fff5f5;border-color:#f5b5b5;color:#9b1c1c}
.logbox.collapsed-log{max-height:360px;margin-top:10px}
@media(max-width:900px){.log-overview-grid{grid-template-columns:1fr 1fr}.log-details summary{align-items:flex-start;flex-direction:column}.log-summary-badges{justify-content:flex-start}}
@media(max-width:620px){.log-overview-grid{grid-template-columns:1fr}}

.dashboard-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}

.log-details summary::before{content:"▾";display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:999px;background:#e4e7eb;color:#334e68;font-size:14px;font-weight:950;margin-right:2px;transition:transform .15s ease}
.log-details[open] summary::before{content:"▴";background:#d9f2d9;color:#0b5d0b}

.log-details summary>div:first-of-type{flex:1;text-align:left}
.log-overview-card small{display:block;line-height:1.35;color:#52606d}
.sync-all-grid[data-status="waiting"] .sync-all-card:first-child{border-left-color:#9aa5b1;background:#f8fafc}
.badge.status-waiting{background:#e4e7eb;color:#334e68}.job-panel[data-status="waiting"] .progress span{background:#9aa5b1}


/* Sync cancellation controls */
.button.danger,button.danger,.mini-button.danger{background:#b42318;color:#fff}
.button.danger:hover,button.danger:hover,.mini-button.danger:hover{background:#8f1d15}
.inline-form{display:inline-block;margin:0}
.status-badge-link{text-decoration:none;display:inline-block}.status-badge-link:hover .badge{filter:brightness(.96)}
.badge.status-cancelled{background:#e5e7eb;color:#374151}.badge.status-canceled{background:#e5e7eb;color:#374151}
.sync-all-grid[data-status="cancelled"] .sync-all-card:first-child{border-left-color:#6b7280;background:#f8fafc}
.job-panel[data-status="cancelled"] .progress span{background:#6b7280}

.dismissible-notice{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dismissible-notice span{min-width:0;overflow-wrap:anywhere}
.notice-dismiss-button{appearance:none;border:0;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer;padding:0 4px;font-weight:900}
.notice-dismiss-button:hover{color:#102a43}

.notice{border:1px solid #d9e2ec;border-left:5px solid #008000;border-radius:8px;background:#f7fbf8;color:#173b2f;padding:10px 12px;margin:0 0 14px;font-weight:800}.notice-warning{border-left-color:#f59e0b;background:#fff8e6;color:#7c4d00}.notice-error{border-left-color:#d64545;background:#fff2f2;color:#8a1f1f}.dashboard-geonetwork-card .geonetwork-status-row{grid-template-columns:minmax(0,1.35fr) 92px minmax(190px,.95fr)!important}.dashboard-geonetwork-card .geonetwork-status-row>div:nth-child(n+3){display:flex!important}.geonetwork-stack-actions{display:flex!important;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}.geonetwork-stack-actions form{margin:0}.geonetwork-stack-actions .mini-button{padding:5px 8px;min-height:0}.geonetwork-status-standby{background:#f3f4f6;border-color:#cbd5e1}@media(max-width:900px){.dashboard-geonetwork-card .geonetwork-status-row{grid-template-columns:1fr!important}.geonetwork-stack-actions{justify-content:flex-start}}
.geonetwork-control-note{display:block;color:#7c4d00;background:#fff8e6;border:1px solid #f5d36a;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:700}
.dashboard-geonetwork-card .geonetwork-stack-actions,.runtime-geonetwork-card .geonetwork-stack-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:6px;align-items:center;justify-content:flex-end}.dashboard-geonetwork-card .geonetwork-stack-actions form,.runtime-geonetwork-card .geonetwork-stack-actions form{display:inline-flex;margin:0}.dashboard-geonetwork-card .geonetwork-stack-actions button,.runtime-geonetwork-card .geonetwork-stack-actions button{white-space:nowrap}
.geonetwork-env-title{color:#102a43;text-decoration:none}.geonetwork-env-title:hover strong{text-decoration:underline}
.system-metric-event line:first-child{stroke:#334e68;stroke-width:1.2;stroke-dasharray:3 4;opacity:.72;pointer-events:none}.system-metric-event-sync line:first-child{stroke:#1e88e5}.system-metric-event-action line:first-child,.system-metric-event-geonetwork line:first-child{stroke:#7c3aed}.system-metric-event-warning line:first-child{stroke:#f59e0b}.system-metric-event-error line:first-child{stroke:#d64545}.system-metric-event-hit{stroke:transparent;stroke-width:12;cursor:help;pointer-events:stroke}.system-metric-event:hover line:first-child{opacity:1;stroke-width:2}
.system-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.system-metric-line-disk{stroke:#1e88e5;stroke-width:1.6}.system-metrics-legend .legend-disk::before{background:#1e88e5}.system-metric-processes strong{font-size:13px;line-height:1.25;font-weight:800}.system-metric-processes .process-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;border-bottom:1px solid #edf2f7;padding:2px 0}.system-metric-processes .process-row:last-child{border-bottom:0}.system-metric-processes .process-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-metric-processes .process-row em{font-style:normal;color:#52606d;font-size:11px;white-space:nowrap}
.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.system-metric-tile{padding:9px 10px}.system-metric-tile strong{font-size:20px}.system-metric-tile.load-ok{border-color:#b9dfb9;background:#f3fbf5}.system-metric-tile.load-warn{border-color:#f5d36a;background:#fff8e6}.system-metric-tile.load-high{border-color:#f2b8b8;background:#fff2f2}.system-metric-tile.load-critical{border-color:#7f1d1d;background:#450a0a;color:#fee2e2}.system-metric-tile.load-critical span,.system-metric-tile.load-critical strong,.system-metric-tile.load-critical small{color:#fee2e2}.system-metric-processes strong{font-size:12px}.system-metric-processes .process-row{grid-template-columns:1fr;gap:1px}.system-metric-processes .process-row em{font-size:10px}@media(max-width:980px){.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:1fr}}
.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:1fr}}

/* Interactive system metrics legend and event marker colors */
.system-metrics-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px;color:#52606d;font-size:12px;font-weight:900;text-transform:uppercase;align-items:center}
.system-metrics-legend button{appearance:none;border:0;background:transparent;color:#334e68;font:inherit;line-height:1.2;padding:3px 4px;border-radius:5px;cursor:pointer;opacity:.45;filter:grayscale(1)}
.system-metrics-legend button:hover{background:#f1f5f8}.system-metrics-legend button.is-active{opacity:1;filter:none;color:#102a43}
.system-metrics-legend button::before{content:"";display:inline-block;width:18px;height:4px;border-radius:999px;margin-right:6px;vertical-align:middle;background:#176c3a}.system-metrics-legend .legend-memory::before{background:#f59e0b}.system-metrics-legend .legend-disk::before{background:#1e88e5}.system-metrics-legend .legend-event-up::before{background:#176c3a;height:0;border-top:2px dashed #176c3a}.system-metrics-legend .legend-event-down::before{background:#d64545;height:0;border-top:2px dashed #d64545}.system-metrics-legend .legend-event-sync::before{background:#7c3aed;height:0;border-top:2px dashed #7c3aed}.system-metrics-legend .legend-event-access::before{background:#f59e0b;height:0;border-top:2px dashed #f59e0b}
.system-metric-event-up line:first-child{stroke:#176c3a}.system-metric-event-down line:first-child{stroke:#d64545}.system-metric-event-sync line:first-child{stroke:#7c3aed}.system-metric-event-access line:first-child{stroke:#f59e0b}.system-metric-event-warning line:first-child{stroke:#f59e0b}.system-metric-event-error line:first-child{stroke:#d64545}
.runtime-geonetwork-card .geonetwork-status-row{grid-template-columns:minmax(0,1fr) 92px!important}.runtime-geonetwork-card .runtime-inline-actions{justify-content:flex-start!important;margin-top:7px;gap:4px!important}.runtime-geonetwork-card .runtime-inline-actions .mini-button{font-size:11px;padding:3px 6px!important;line-height:1.1}.runtime-geonetwork-card .runtime-inline-actions form{display:inline-flex;margin:0}

/* Runtime health layout and calmer metric legend */
.health-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.runtime-geonetwork-card{grid-column:span 2}
.runtime-work-card .dashboard-mini-stats{grid-template-columns:1fr auto}
.system-metrics-legend{font-weight:500!important;text-transform:none;gap:6px 10px!important}
.system-metrics-legend button{font-weight:500!important;text-transform:none!important}
.system-metrics-legend-separator{color:#9aa5b1;font-weight:500;margin:0 2px 0 6px}
.system-metrics-legend .legend-event-up::before,.system-metrics-legend .legend-event-down::before,.system-metrics-legend .legend-event-sync::before,.system-metrics-legend .legend-event-access::before{height:0!important;background:transparent!important;border-radius:0!important;border-top-width:2px!important;border-top-style:dashed!important}
.system-metrics-legend .legend-event-up::before{border-top-color:#176c3a!important}.system-metrics-legend .legend-event-down::before{border-top-color:#d64545!important}.system-metrics-legend .legend-event-sync::before{border-top-color:#7c3aed!important}.system-metrics-legend .legend-event-access::before{border-top-color:#f59e0b!important}
@media(max-width:1100px){.health-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.runtime-geonetwork-card{grid-column:span 2}}
@media(max-width:760px){.health-summary-grid{grid-template-columns:1fr}.runtime-geonetwork-card{grid-column:auto}}


/* Dashboard access statistics compact detail table */
.dashboard-access-card .access-card-primary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}
.access-card-detail-table{width:100%;border-collapse:separate;border-spacing:0;margin:0 0 12px;border:1px solid #e4e7eb;border-radius:7px;overflow:hidden;background:#fff}
.access-card-detail-table th,.access-card-detail-table td{padding:8px 10px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:middle}
.access-card-detail-table tr:last-child th,.access-card-detail-table tr:last-child td{border-bottom:0}
.access-card-detail-table th{width:38%;font-size:12px;color:#52606d;font-weight:800;background:#f8fafc}
.access-card-detail-table td strong{display:block;font-size:13px;line-height:1.2;color:#102a43;overflow-wrap:anywhere}
.access-card-detail-table td small{display:block;margin-top:2px;color:#627d98;font-size:11px}
@media(max-width:900px){.dashboard-access-card .access-card-primary-grid{grid-template-columns:1fr}.access-card-detail-table th{width:auto}}

/* Runtime health: keep Security in the first summary row while GeoNetwork spans two columns */
.health-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1250px){.health-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.runtime-geonetwork-card{grid-column:span 2}}
@media(max-width:900px){.health-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.runtime-geonetwork-card{grid-column:span 2}}
@media(max-width:760px){.health-summary-grid{grid-template-columns:1fr}.runtime-geonetwork-card{grid-column:auto}}

/* Server metrics: use the same thin stroke for CPU, RAM and Disk */
.system-metric-line-cpu,.system-metric-line-memory,.system-metric-line-disk{stroke-width:1.6!important}


/* Server metrics: restore explicit neutral info event markers */
.system-metrics-legend .legend-event-info::before{height:0!important;background:transparent!important;border-radius:0!important;border-top:2px dashed #6b7280!important}
.system-metric-event-info line:first-child{stroke:#6b7280!important}


/* Active users tiles */
.dashboard-access-card .access-card-primary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.access-active-now strong,.system-metric-active-users strong{color:#176c3a!important}
.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:1100px){.dashboard-access-card .access-card-primary-grid,.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.dashboard-access-card .access-card-primary-grid,.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:1fr!important}}


/* Keep visitor/access metric cards on one row on desktop */
.dashboard-access-card .access-card-primary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.access-summary-panel .access-unique-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
@media(min-width:1180px){.access-summary-panel .access-unique-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.system-metrics-grid,.system-metrics-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))!important}}


/* Visitors time series in server metrics chart */
.system-metric-line-active-users{stroke:#9aa5b1!important;stroke-width:1.4!important;stroke-dasharray:2 5;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.95}


/* Server metrics: visitor point series and vertical event legend markers */
.system-metric-active-user-point{fill:#d8dee8;stroke:#ffffff;stroke-width:1.2;cursor:help;opacity:.92}
.system-metric-active-user-point:hover{fill:#aeb8c6;stroke:#52606d;opacity:1}
.system-metrics-legend .legend-active-users::before{width:8px!important;height:8px!important;border-radius:999px!important;background:#d8dee8!important;border:1px solid #ffffff!important;margin-right:6px!important;vertical-align:middle!important}
.system-metrics-legend .legend-event-up::before,.system-metrics-legend .legend-event-down::before,.system-metrics-legend .legend-event-sync::before,.system-metrics-legend .legend-event-access::before,.system-metrics-legend .legend-event-info::before{width:6px!important;height:18px!important;background:transparent!important;border-radius:0!important;border-top:0!important;margin-right:6px!important;vertical-align:middle!important}
.system-metrics-legend .legend-event-up::before{border-left:2px dashed #176c3a!important}
.system-metrics-legend .legend-event-down::before{border-left:2px dashed #d64545!important}
.system-metrics-legend .legend-event-sync::before{border-left:2px dashed #7c3aed!important}
.system-metrics-legend .legend-event-access::before{border-left:2px dashed #f59e0b!important}
.system-metrics-legend .legend-event-info::before{border-left:2px dashed #6b7280!important}


/* Server metrics: right axis shows visitor counts */
.chart-visitor-label{fill:#7b8794;font-size:9px}


/* Server metrics: clean legend separators and right visitor axis title */
.system-metrics-legend-separator::before,.system-metrics-legend-separator::after{content:none!important;display:none!important}
.system-metrics-legend-separator{display:inline-flex!important;align-items:center!important;color:#9aa5b1!important;font-weight:500!important;margin:0 2px!important;padding:0!important;background:transparent!important;border:0!important}
.chart-visitor-axis-title{fill:#627d98;font-size:10px;font-weight:700;letter-spacing:.02em}


/* Server metrics: separator lines and visitor axis line */
.system-metrics-legend-separator{width:1px!important;height:18px!important;overflow:hidden!important;text-indent:-999px!important;border-left:1px solid #9aa5b1!important;margin:0 4px!important;color:transparent!important}
.chart-visitor-axis-line{stroke:#627d98!important;stroke-width:1!important;opacity:.65}


/* Server metrics: visitors as a solid line */
.system-metric-line-active-users{stroke:#697586!important;stroke-width:1.6!important;stroke-dasharray:none!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important;opacity:.95!important}
.system-metric-active-user-hit{fill:transparent!important;stroke:transparent!important;cursor:help;pointer-events:all}
.system-metrics-legend .legend-active-users::before{width:18px!important;height:4px!important;border-radius:999px!important;background:#697586!important;border:0!important}


/* Server metrics: invisible hover points for line tooltips */
.system-metric-hit,.system-metric-active-user-hit{fill:transparent!important;stroke:transparent!important;cursor:help!important;pointer-events:all}
.system-metrics-chart{cursor:default}
.egv-multi-tools{display:flex;align-items:center;gap:10px;margin:10px 0 0}.egv-multi-tools small{color:#52606d;font-weight:800}.egv-multi-tools button:disabled{opacity:.68;cursor:not-allowed}.choice-row.is-choice-selected{background:#eefaf0;border-color:#8fd19e}.choice-row.is-selected-product-outside-egv{outline:1px dashed #d97706;outline-offset:-2px}

.harvester-actions-stacked{align-items:flex-start;flex-direction:column}.harvester-actions-stacked form{margin-top:2px}

.relative-age{font-weight:700}.relative-age-good{color:#0f7a35}.relative-age-warning{color:#b45309}.relative-age-danger{color:#b42318}.relative-age-missing{color:#6b7280;font-weight:600}

.record-status-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.record-status-summary-card{display:block;text-decoration:none;color:#102a43;background:#fff;border:1px solid #d9e2ec;border-top:5px solid #9aa5b1;border-radius:8px;padding:11px 12px}.record-status-summary-card strong{display:block;font-size:25px;line-height:1;color:#102a43}.record-status-summary-card span{display:block;margin-top:5px;font-size:12px;font-weight:800}.record-status-summary-card small{display:block;margin-top:3px;color:#627d98;font-size:11px}.record-status-summary-ok{border-top-color:#008000}.record-status-summary-warning{border-top-color:#f59e0b}.record-status-summary-error{border-top-color:#d64545}.record-status-summary-disabled,.record-status-summary-ignored{border-top-color:#9aa5b1;background:#f8fafc}@media(max-width:1000px){.record-status-overview{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.record-status-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}

.record-table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0}.record-table-toolbar .record-pagination{margin:0}.record-show-records{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#52606d;font-size:13px}.record-show-records span{font-weight:800;color:#334e68}.record-show-records a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:5px 7px;border:1px solid #d9e2ec;border-radius:6px;background:#fff;color:#102a43;text-decoration:none;font-weight:800}.record-show-records a.active{background:#d9f2d9;border-color:#8fd19e;color:#0b5d0b}.record-show-records a:hover{background:#f0f4f8}@media(max-width:720px){.record-table-toolbar{align-items:flex-start;flex-direction:column}.record-show-records{justify-content:flex-start;flex-wrap:wrap}}

.records-table-wrap td:nth-child(3) small{display:block;margin-top:2px}.records-table-wrap td:nth-child(3) a{overflow-wrap:anywhere}

.records-table-wrap td.record-image-cell{width:104px!important;min-width:104px!important}.records-table-wrap td.record-image-cell small{display:block;margin-top:3px;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.records-table-wrap td.record-title-cell{min-width:360px!important}.record-title-link{color:#111827!important;text-decoration:none!important;font-size:14px;font-weight:900;line-height:1.25}.record-title-link:hover{text-decoration:underline!important}.record-title-meta{display:inline-block;margin-top:5px;color:#4b5563!important;font-size:11px;line-height:1.2}.record-title-meta a{color:#4b5563!important;text-decoration:none!important;font-weight:700}.record-title-meta a:hover{text-decoration:underline!important}

.record-action-cell{white-space:nowrap}.record-action-cell .mini-button{display:block;text-align:center;margin:0 0 5px}.records-table-wrap td small{max-width:180px;display:block;overflow:hidden;text-overflow:ellipsis}.records-table-wrap td.record-title-cell small,.record-title-meta{max-width:none!important}.records-table-wrap td:nth-child(4),.records-table-wrap td:nth-child(5){max-width:190px}.records-table-wrap td:nth-child(4) small,.records-table-wrap td:nth-child(5) small{color:#52606d;line-height:1.25;margin-top:3px}

.records-filter-grid{grid-template-columns:minmax(260px,1.4fr) minmax(150px,.75fr) minmax(170px,.9fr) minmax(160px,.85fr)!important;align-items:end}.records-table-wrap th[data-sort]{cursor:pointer;user-select:none}.records-table-wrap th[data-direction="asc"]::after{content:" ▲";font-size:11px;color:#627d98}.records-table-wrap th[data-direction="desc"]::after{content:" ▼";font-size:11px;color:#627d98}.records-table-wrap th:nth-child(2),.records-table-wrap td:nth-child(2){min-width:118px;width:118px}.records-table-wrap th:nth-child(5),.records-table-wrap td.record-egv-cell{width:118px!important;min-width:118px!important;max-width:132px!important}.record-egv-cell small{display:block!important;max-width:118px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2;margin-top:4px;color:#52606d}.records-table-wrap th:nth-child(6),.records-table-wrap td:nth-child(6){min-width:150px}.records-filter-panel .actions{margin-top:10px}.records-filter-panel .actions .hint{align-self:center}@media(max-width:1050px){.records-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))!important}}@media(max-width:650px){.records-filter-grid{grid-template-columns:1fr!important}}
.admin-loading-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(248,250,252,.72);backdrop-filter:blur(1px)}.admin-loading-overlay.is-visible{display:flex}.admin-loading-box{display:flex;align-items:center;gap:12px;padding:18px 22px;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 18px 45px rgba(16,42,67,.18);color:#102a43}.admin-loading-spinner{width:34px;height:34px;border:4px solid #d9e2ec;border-top-color:#1f7a3a;border-radius:50%;animation:admin-spin .8s linear infinite}.admin-loading-box strong{font-size:16px}.records-loading-anchor{min-height:160px}@keyframes admin-spin{to{transform:rotate(360deg)}}
.records-initial-loading{min-height:46vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid #d9e2ec;border-radius:8px;color:#102a43}.records-initial-loading strong{font-size:18px}.records-initial-loading small{color:#627d98;font-weight:700}

.link-group-heading{margin:18px 0 6px;font-size:16px;font-weight:900;color:#102a43}.main-link-grid .main-link-row{border-left:5px solid #1f7a3b;background:#f3fbf5}.main-link-row h3 span{display:inline-flex;margin-left:8px;padding:2px 7px;border-radius:999px;background:#d9f2d9;color:#0b5d0b;font-size:11px;font-weight:800}.further-link-grid .record-link-type-row{background:#f8fafc}.additional-link-entry{border:1px dashed #bcccdc;border-radius:8px;background:#fff;padding:10px;margin:8px 0}.additional-link-entry .danger-soft{margin-top:8px;color:#9b1c1c;border-color:#f1b6b6;background:#fff5f5}

/* Compact GGOS link editing */
#source-links .record-link-type-row,#record-links .record-link-type-row{padding:10px 12px}
#source-links .record-link-type-row>h3:first-child,#record-links .record-link-type-row>h3:first-child{display:inline;margin:0;font-size:14px;line-height:1.3}
#source-links .record-link-type-row>h3:first-child:after,#record-links .record-link-type-row>h3:first-child:after{content:":"}
#source-links .record-link-type-row>h3:first-child+.hint,#record-links .record-link-type-row>h3:first-child+.hint{display:inline;margin:0 0 0 6px;font-size:12px;color:#52606d;line-height:1.35}
#source-links .record-link-inputs,#record-links .record-link-inputs{grid-template-columns:minmax(260px,2fr) minmax(190px,1fr) minmax(260px,1.4fr) auto;gap:7px;margin-top:8px;align-items:center}
#source-links .record-link-inputs label:not(.check),#record-links .record-link-inputs label:not(.check){display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:center;font-size:12px;font-weight:800;color:#334e68}
#source-links .record-link-inputs input,#record-links .record-link-inputs input{min-height:32px;padding:6px 8px;font-size:13px}
#source-links .record-link-inputs .check,#record-links .record-link-inputs .check{padding-bottom:0;white-space:nowrap;font-size:12px}
#source-links .record-link-type-row>p.hint:not(:first-of-type),#record-links .record-link-type-row>p.hint:not(:first-of-type){margin:6px 0 0;font-size:12px}
#source-links .link-group-heading,#record-links .link-group-heading{margin:14px 0 4px;font-size:15px}
#source-links .additional-link-entry,#record-links .additional-link-entry{padding:8px;margin:7px 0}
#source-links [data-add-additional-link],#record-links [data-add-additional-link]{margin-top:8px}
@media(max-width:1100px){#source-links .record-link-inputs,#record-links .record-link-inputs{grid-template-columns:1fr}#source-links .record-link-inputs label:not(.check),#record-links .record-link-inputs label:not(.check){grid-template-columns:90px minmax(0,1fr)}}

.locked-link-row{opacity:.88}.locked-link-row input:disabled,.locked-link-input:disabled{background:#e5e7eb!important;border-color:#cbd5e1!important;color:#64748b!important;cursor:not-allowed;box-shadow:none!important}.locked-link-row label{color:#52606d!important}

.sync-eta-details{background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:0;overflow:hidden}.sync-eta-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;list-style:none;background:#f8fafc;color:#102a43;font-weight:900}.sync-eta-details summary::-webkit-details-marker{display:none}.sync-eta-details summary::before{content:"▸";display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:999px;background:#e4e7eb;color:#334e68;font-size:14px;font-weight:950}.sync-eta-details[open] summary::before{content:"▾";background:#d9f2d9;color:#0b5d0b}.sync-eta-details summary span{flex:1}.sync-eta-details summary small{font-weight:600;color:#627d98}.sync-eta-details>p,.sync-eta-details>.table-wrap{margin:14px 15px}.sync-eta-details:not([open]){padding-bottom:0}

/* GGOS admin navigation and title icons */
.topbar nav a,.topbar nav summary{display:inline-flex;align-items:center;gap:5px}.topbar .nav-menu-list a{display:flex;align-items:center;gap:8px}.nav-icon{opacity:.95}.page-title-icon{margin-right:8px;color:#176c3a;font-size:.88em;vertical-align:baseline}.section-head h1{display:flex;align-items:center;gap:2px}


/* Server metrics: clean time axis ticks */
.system-metric-x-tick line{stroke:#9fb3c8;stroke-width:1}
.system-metric-x-tick text{fill:#52606d;font-size:10px;font-weight:700}

.system-metric-x-tick.is-major line{stroke:#52606d;stroke-width:2}
.system-metric-x-tick.is-major text{fill:#102a43;font-weight:900}

/* Records bulk edit dynamic controls */
.record-bulk-panel>strong{display:inline-flex;align-items:center;order:0;margin-right:2px}
.record-bulk-panel .record-bulk-action-label{display:inline-flex;align-items:center;order:0;gap:5px;font-size:12px;font-weight:800;color:#334e68}
.record-bulk-panel .record-bulk-value-group{display:flex;flex-direction:column;order:0;gap:5px;font-size:12px;font-weight:800;color:#334e68}
.record-bulk-panel .record-bulk-help{display:block;order:2;flex-basis:100%;margin-top:-4px;color:#52606d;font-size:12px;font-weight:400}
.record-bulk-panel .record-bulk-action-label select{min-width:220px}
.record-bulk-panel .record-bulk-value-group select,.record-bulk-panel .record-bulk-value-group input,.record-bulk-panel .record-bulk-value-group textarea{min-width:260px;box-sizing:border-box}
.record-bulk-panel .record-bulk-value-group select[multiple]{min-width:340px;max-width:520px;max-height:150px}
.record-bulk-panel .record-bulk-value-group[hidden]{display:none!important}
@media(max-width:760px){.record-bulk-panel .record-bulk-action-label,.record-bulk-panel .record-bulk-value-group,.record-bulk-panel .record-bulk-value-group select,.record-bulk-panel .record-bulk-value-group input,.record-bulk-panel .record-bulk-value-group select[multiple]{width:100%;min-width:0}}

.record-bulk-panel [data-record-bulk-apply]{order:0;align-self:center}

.record-search-highlight{background:#fff59d;color:inherit;padding:0 .08em;border-radius:2px}
/* Plain table links that keep rows readable while remaining clickable */
.table-plain-link,.table-plain-link:visited{color:#111827;text-decoration:none}
.table-plain-link:hover,.table-plain-link:focus{color:#111827;text-decoration:none}
.source-title-link strong{font-size:14px}
.image-fallback-note{display:inline-block;margin-top:2px;color:#6b7280;font-size:10px;line-height:1.1}
.provider-fallback-image{filter:grayscale(1);opacity:.82}
.provider-fallback-image:hover{filter:grayscale(.8);opacity:.9}

.sync-status-filters{display:flex;gap:.4rem;flex-wrap:wrap;margin:.55rem 0 .8rem}
.sync-status-filters .is-active{background:#176c3a;color:#fff;border-color:#176c3a}
.sync-action-row{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}
.sync-completed-details>summary{cursor:pointer;display:flex;align-items:baseline;gap:.75rem;font-weight:800}
.sync-completed-details>summary small{font-weight:500;color:#5f6f65}

.sources-head-actions{align-items:center}
.sources-head-actions .button,.sources-head-actions button{box-sizing:border-box;min-height:38px;padding:9px 14px;font-size:14px;line-height:1.2}
.sources-head-actions .new-source-button{background:#e5e7eb!important;border-color:#cbd5e1!important;color:#374151!important}

.sources-head-actions .sync-status-head-button{background:#f59e0b!important;border-color:#d97706!important;color:#fff!important}
.sources-head-actions .sync-status-head-button:hover{background:#d97706!important;border-color:#b45309!important;color:#fff!important}

.sources-head-actions form button.secondary{background:#176c3a!important;border-color:#176c3a!important;color:#fff!important}
.sources-head-actions form button.secondary:hover{background:#0f5b2f!important;border-color:#0f5b2f!important;color:#fff!important}

.sync-status-details{padding:0;overflow:hidden}
.sync-status-details>summary{cursor:pointer;display:flex;align-items:center;padding:0;list-style:none}
.sync-status-details>summary::-webkit-details-marker{display:none}
.sync-status-details>summary h2{margin:0;padding:0;display:inline-flex;align-items:center;gap:8px}
.sync-status-details>summary h2::before{content:"▾";display:inline-block;color:#52606d;font-size:14px}
.sync-status-details:not([open])>summary h2::before{content:"▸"}
.sync-status-details .table-wrap{margin-top:12px}
.sync-all-table-wrap th[data-sort-col]{cursor:pointer;user-select:none}
.sync-all-table-wrap th[data-direction="asc"]::after{content:" ▲";font-size:11px;color:#627d98}
.sync-all-table-wrap th[data-direction="desc"]::after{content:" ▼";font-size:11px;color:#627d98}

.sync-all-metrics{margin-top:6px!important}

.type-badge-sync{background:#dff4ed;color:#116149}
.type-badge-harvesting{background:#dbeafe;color:#1d4ed8}
.completed-extra-row{display:none}
.completed-preview-row{opacity:.45;position:relative}
.completed-preview-row td{background:linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,.45))}
.completed-show-all{margin-top:8px;text-align:center}

.sync-status-details + .sync-all-metrics{margin-top:28px!important}

.sync-load-title{font-size:1.5rem!important;line-height:1.2;margin:0 0 4px!important;font-weight:800!important;color:#102a43!important}


.sync-status-live-search{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px}
.sync-status-live-search label{font-weight:800;color:#102a43;white-space:nowrap;margin:0}
.sync-status-live-search input{width:220px;min-width:180px;max-width:24vw;margin:0}
.sync-status-live-search .hint{white-space:nowrap}
@media(max-width:700px){.sync-status-live-search{align-items:stretch;flex-direction:column}.sync-status-live-search input{width:100%;min-width:0;max-width:none}}


.sync-jobs-table-wrap{max-height:620px;overflow:auto;scrollbar-gutter:stable;border:1px solid #d9e2ec;border-radius:8px}
.sync-jobs-table-wrap table{margin:0;border:0;table-layout:fixed;min-width:1120px}
.sync-jobs-table-wrap thead th{position:sticky;top:0;z-index:2;background:#f8fafc;box-shadow:0 1px 0 #d9e2ec}
@media(max-height:850px){.sync-jobs-table-wrap{max-height:520px}}
@media(max-height:720px){.sync-jobs-table-wrap{max-height:430px}}


.sync-status-filter-buttons{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
.sync-status-filter-buttons button{border:1px solid #cbd5e1;background:#fff;color:#334e68;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;line-height:1.15;cursor:pointer}
.sync-status-filter-buttons button.is-active{box-shadow:inset 0 0 0 1px rgba(16,42,67,.08)}
.sync-status-filter-buttons + .sync-status-filter-buttons{border-left:1px solid #d9e2ec;padding-left:10px;margin-left:2px}
@media(max-width:980px){.sync-status-live-search{align-items:flex-start;flex-wrap:wrap}.sync-status-filter-buttons + .sync-status-filter-buttons{border-left:0;padding-left:0;margin-left:0}}


.sync-status-filter-buttons button[data-sync-status-filter="all"].is-active,.sync-status-filter-buttons button[data-sync-type-filter="all"].is-active{background:#e4e7eb;border-color:#bcccdc;color:#334e68}
.sync-status-filter-buttons button[data-sync-status-filter="queued"].is-active,.sync-status-filter-buttons button[data-sync-status-filter="running"].is-active{background:#fff0c2;border-color:#f0b429;color:#7c4d00}
.sync-status-filter-buttons button[data-sync-status-filter="error"].is-active{background:#fdeaea;border-color:#f2b8b8;color:#9b1c1c}
.sync-status-filter-buttons button[data-sync-status-filter="finished"].is-active{background:#d9f2d9;border-color:#8fd19e;color:#0b5d0b}
.sync-status-filter-buttons button[data-sync-type-filter="harvesting"].is-active{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}
.sync-status-filter-buttons button[data-sync-type-filter="sync"].is-active{background:#dff4ed;border-color:#9bd7c3;color:#116149}
.sync-status-live-search{flex-wrap:wrap}.sync-status-live-search .hint{margin-left:auto}
@media(max-width:1180px){.sync-status-filter-buttons{flex-wrap:wrap}.sync-status-live-search input{max-width:none}}


.sync-jobs-section>h2{margin:0 0 12px;display:flex;align-items:center;gap:8px}
.sync-jobs-section>h2::before{content:none!important}



.sync-issue-text{white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;font-weight:400;line-height:1.35;color:#52606d;max-width:620px}
.sync-issue-error{color:#b42318}

.geonetwork-version-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px}.geonetwork-version-box>div{border:1px solid #e4e7eb;border-radius:7px;background:#f8fafc;padding:9px;min-width:0}.geonetwork-version-box strong{display:block;font-size:12px;color:#102a43}.geonetwork-version-box small{display:block;color:#52606d;font-size:11px;overflow-wrap:anywhere}.geonetwork-version-warning>div{border-color:#f5d36a;background:#fff8e6}.geonetwork-version-ok>div{border-color:#b9dfb9;background:#eef9ee}@media(max-width:900px){.geonetwork-version-box{grid-template-columns:1fr}}
.geonetwork-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.geonetwork-card-actions form{margin:0}.geonetwork-update-button{background:#f59e0b!important;border-color:#d97706!important;color:#fff!important}.geonetwork-update-button:hover{background:#d97706!important;border-color:#b45309!important;color:#fff!important}

.geonetwork-env-version{border:1px solid #e4e7eb;border-radius:7px;background:#f8fafc;padding:7px 8px;min-width:100px}.geonetwork-env-version strong{display:block;font-size:12px;color:#102a43}.geonetwork-env-version small{display:block;font-size:11px;color:#52606d}.geonetwork-status-row{gap:8px}.backup-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.backup-output-snippet{max-width:420px;max-height:90px;overflow:auto;margin:0;background:#f8fafc;border:1px solid #e4e7eb;border-radius:6px;padding:7px;font-size:11px;white-space:pre-wrap}.status-standby{background:#e5e7eb;color:#374151}.status-progress,.status-running{background:#fff0c2;color:#7c4d00}.status-error{background:#ffe3e3;color:#8a1f1f}.status-ok,.status-finished{background:#d9f2d9;color:#0b5d0b}.status-warning{background:#fff4cc;color:#7c4d00}.mini-button.danger,button.danger{background:#b42318;color:white}.dashboard-geonetwork-card .geonetwork-status-row{grid-template-columns:minmax(0,1.2fr) 88px 118px minmax(230px,1fr)!important}@media(max-width:900px){.dashboard-geonetwork-card .geonetwork-status-row{grid-template-columns:1fr!important}.backup-action-grid{grid-template-columns:1fr}}

.sync-status-head-actions .sync-harvest-target-label {
  align-self: center;
  color: #4b5563;
  font-size: 0.85rem;
  font-weight: 700;
}

.sync-status-head-actions .button.is-active {
  background: #0f766e;
  border-color: #0f766e;
  color: #fff;
}

.geonetwork-env-version {
  border-top: 1px solid #e5e7eb;
  margin-top: 0.7rem;
  padding-top: 0.7rem;
}

.geonetwork-env-version strong {
  display: block;
  margin-bottom: 0.2rem;
}

.geonetwork-env-version .version-current {
  color: #047857;
  font-weight: 700;
}

.geonetwork-env-version .version-update {
  color: #b45309;
  font-weight: 700;
}

.backup-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}

.backup-action-grid form {
  margin: 0;
}

.backup-output-snippet {
  background: #111827;
  color: #e5e7eb;
  border-radius: 6px;
  font-size: 0.78rem;
  max-height: 10rem;
  overflow: auto;
  padding: 0.65rem;
  white-space: pre-wrap;
}

.backup-status-running { color: #b45309; font-weight: 700; }
.backup-status-finished { color: #047857; font-weight: 700; }
.backup-status-error { color: #b91c1c; font-weight: 700; }

.mini-button.success, button.success { background:#0f8a3b; color:#fff; border-color:#0f8a3b; }
.backup-action-buttons .mini-button.danger { background:#b42318; color:#fff; border-color:#b42318; }

.backup-output-line {
  display:block;
  max-width:360px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#374151;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:5px;
  padding:4px 6px;
  font-size:0.78rem;
}
.backup-action-buttons { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.backup-action-buttons form { margin:0; }

.status-available, .badge.status-available { background:#d9f2d9; color:#0b5d0b; }

.backup-live-search [data-backup-filter].is-active { background:#d9f2d9!important; border-color:#8fd19e!important; color:#0b5d0b!important; }
.backup-live-search [data-backup-filter]:hover { background:#eef8ef!important; border-color:#b7d9c0!important; color:#0b5d0b!important; }

.backup-action-buttons { flex-wrap:nowrap!important; white-space:nowrap; min-width:124px; }
.backup-action-buttons form { display:inline-flex; margin:0; }
.backup-action-buttons .mini-button { width:58px; min-width:58px; padding:5px 0!important; text-align:center; font-size:11px; line-height:1.1; }
.backup-action-buttons { align-items:center!important; }
.backup-action-buttons form { align-items:center!important; line-height:0; }
.backup-action-buttons .mini-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; height:24px!important; box-sizing:border-box!important; vertical-align:middle!important; }
/* Force Backup / Cloning / Upgrade action buttons onto one aligned row. */
td.backup-action-buttons { display:grid!important; grid-template-columns:58px 58px; gap:6px; align-items:center!important; justify-content:start; min-width:124px; white-space:nowrap; }
td.backup-action-buttons form { display:block!important; height:24px!important; margin:0!important; padding:0!important; line-height:0!important; }
td.backup-action-buttons .mini-button { display:flex!important; align-items:center!important; justify-content:center!important; width:58px!important; min-width:58px!important; height:24px!important; margin:0!important; padding:0!important; line-height:1!important; box-sizing:border-box!important; vertical-align:top!important; }

.backup-history-panel .backup-progress + small { white-space:pre-line; }

.backup-storage-summary .panel-head{align-items:center;margin-bottom:0}.backup-storage-summary strong{font-size:24px;color:#102a43;font-variant-numeric:tabular-nums}.backup-environment-card{display:flex;flex-direction:column;gap:12px}.backup-environment-card .actions{margin-top:auto}.backup-schedule-form{border:1px solid #d9e2ec;background:#f8fafc;border-radius:8px;padding:10px;margin:0}.backup-schedule-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px}.backup-schedule-title strong{color:#102a43}.backup-schedule-title span{color:#52606d;font-size:12px}.backup-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}.backup-schedule-time{grid-column:1 / 2}.backup-schedule-weekday,.backup-schedule-monthday{grid-column:2 / 3}.backup-schedule-save{grid-column:1 / -1}.backup-schedule-grid label{display:flex;flex-direction:column;gap:4px;margin:0;color:#52606d;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.backup-schedule-grid input,.backup-schedule-grid select{width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#102a43;padding:6px 7px;font-size:13px;text-transform:none;letter-spacing:0}.backup-schedule-grid button{height:32px;padding:0 10px;white-space:nowrap}.backup-history-panel{margin-top:18px}@media(max-width:1250px){.backup-action-grid{grid-template-columns:1fr}.backup-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.backup-schedule-grid{grid-template-columns:1fr}.backup-schedule-title{align-items:flex-start;flex-direction:column}}

.backup-schedule-grid [hidden]{display:none!important}.backup-schedule-grid{grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:6px 7px}.backup-schedule-grid label{min-width:0}.backup-schedule-grid input,.backup-schedule-grid select{box-sizing:border-box;height:30px;padding:4px 6px;font-size:12px}.backup-schedule-grid button{height:30px;font-size:12px}.backup-schedule-retention input{max-width:88px}.backup-schedule-time input{max-width:128px}.backup-schedule-monthday input{max-width:88px}.backup-schedule-frequency select,.backup-schedule-weekday select{max-width:100%}@media(max-width:1250px){.backup-schedule-grid{grid-template-columns:minmax(0,1fr) minmax(0,.82fr)}}@media(max-width:720px){.backup-schedule-grid{grid-template-columns:1fr}.backup-schedule-grid input,.backup-schedule-grid select{max-width:100%}}

.backup-operation-auto{font-size:11px;font-weight:400;color:#52606d;line-height:1.1}

.nav-dropdown{position:relative;display:inline-flex;align-items:stretch}.nav-dropdown-list{display:none;position:absolute;top:100%;left:0;z-index:50;min-width:180px;background:#fff;border:1px solid #d9e2ec;border-radius:0 0 8px 8px;box-shadow:0 10px 24px rgba(16,42,67,.14);padding:6px}.nav-dropdown:hover .nav-dropdown-list,.nav-dropdown:focus-within .nav-dropdown-list{display:flex;flex-direction:column}.topbar nav .nav-dropdown-list a{color:#102a43;background:#fff;white-space:nowrap;width:100%;justify-content:flex-start}.topbar nav .nav-dropdown-list a:hover{background:#f2fbf4;color:#176c3a;text-decoration:none}

.version-date{font-weight:400;color:#52606d;font-size:12px;white-space:nowrap}

.backup-schedule-details{margin:0}.backup-schedule-details summary{cursor:pointer;list-style:none}.backup-schedule-details summary::-webkit-details-marker{display:none}.backup-schedule-details summary::after{content:"▸";color:#52606d;font-size:12px;margin-left:auto}.backup-schedule-details[open] summary{margin-bottom:8px}.backup-schedule-details[open] summary::after{content:"▾"}.backup-schedule-details .backup-schedule-grid{margin-top:0}

.badge.status-restore-running{background:#ede9fe;color:#5b21b6}.status-restore-running{background:#ede9fe;color:#5b21b6}

.backup-version-stats dd small {
  display: block;
  margin-top: 2px;
  color: #52606d;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.backup-version-stats dd strong {
  color: #102a43;
}
.backup-age {
  font-weight: 800;
}
.backup-age-ok {
  color: #0b6b2b;
}
.backup-age-old,
.backup-age-warning {
  color: #b42318;
}
.backup-version-stats dd a[title],
.backup-version-stats dd strong[title] {
  cursor: help;
}

.backup-version-stats dd small a,
.backup-version-stats .backup-latest-geonetwork {
  font-weight: 400;
}
.backup-version-stats .backup-latest-geonetwork {
  display: inline-block;
  margin-left: 8px;
  color: #b45309;
  font-size: 12px;
}
.backup-version-stats .backup-latest-geonetwork a {
  color: #b45309;
}

.backup-storage-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.backup-storage-actions form,.backup-prune-inline{margin:0}.backup-prune-inline{margin-left:auto}.backup-prune-control{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:nowrap;white-space:nowrap}.backup-prune-control span{font-size:12px;font-weight:800;color:#52606d;margin-right:4px}.backup-prune-control form{margin:0;display:inline-flex}.backup-prune-control .mini-button{padding:4px 8px;white-space:nowrap}.backup-operation-filters button[data-backup-operation-filter="backup"].is-active,.backup-operation-pill.backup-operation-backup{background:#dff4ed;border-color:#9bd7c3;color:#116149}.backup-operation-filters button[data-backup-operation-filter="restore"].is-active,.backup-operation-pill.backup-operation-restore{background:#ede9fe;border-color:#c4b5fd;color:#5b21b6}.backup-operation-filters button[data-backup-operation-filter="clone"].is-active,.backup-operation-pill.backup-operation-clone-production-to-staging,.backup-operation-pill.backup-operation-clone-staging-to-production{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.backup-operation-filters button[data-backup-operation-filter="delete"].is-active,.backup-operation-pill.backup-operation-delete{background:#fdeaea;border-color:#f2b8b8;color:#9b1c1c}.backup-operation-filters button[data-backup-operation-filter="all"].is-active{background:#e4e7eb;border-color:#bcccdc;color:#334e68}.backup-operation-pill{display:inline-block;border:1px solid #cbd5e1;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.15;white-space:nowrap}.backup-live-search{gap:7px}.backup-live-search .system-metrics-legend-separator{color:#9aa6b2;margin:0 1px}@media(max-width:980px){.backup-prune-inline{margin-left:0}.backup-storage-actions{justify-content:flex-start}}


/* Backup / clone / restore action colors */
.backup-button, button.backup-button, .mini-button.backup-button { background:#0f6b2f!important; color:#fff!important; border-color:#0f6b2f!important; }
.backup-button:hover, button.backup-button:hover, .mini-button.backup-button:hover { background:#0b5525!important; border-color:#0b5525!important; }
.clone-button, button.clone-button, .mini-button.clone-button { background:#2563eb!important; color:#fff!important; border-color:#2563eb!important; }
.clone-button:hover, button.clone-button:hover, .mini-button.clone-button:hover { background:#1d4ed8!important; border-color:#1d4ed8!important; }
.restore-button, button.restore-button, .mini-button.restore-button { background:#7c3aed!important; color:#fff!important; border-color:#7c3aed!important; }
.restore-button:hover, button.restore-button:hover, .mini-button.restore-button:hover { background:#6d28d9!important; border-color:#6d28d9!important; }
.stop-button, button.stop-button, .mini-button.stop-button { background:#b45309!important; color:#fff!important; border-color:#b45309!important; width:82px!important; min-width:82px!important; }
.stop-button:hover, button.stop-button:hover, .mini-button.stop-button:hover { background:#92400e!important; border-color:#92400e!important; }
.stack-up-button, .stack-restart-button { background:#176c3a!important; color:#fff!important; border-color:#176c3a!important; }
.stack-up-button:hover, .stack-restart-button:hover { background:#0f552d!important; border-color:#0f552d!important; }
.stack-down-button { background:#b42318!important; color:#fff!important; border-color:#b42318!important; }
.stack-down-button:hover { background:#8a1f1f!important; border-color:#8a1f1f!important; }
td.backup-action-buttons { grid-template-columns:82px 58px 58px!important; min-width:228px!important; width:228px!important; }
td.backup-action-buttons .stop-button { width:82px!important; min-width:82px!important; }
.badge.status-stopped, .status-stopped { background:#e5e7eb; color:#374151; }


.backup-manage-button { background:#e5e7eb!important; color:#374151!important; border:1px solid #cbd5e1!important; text-decoration:none!important; display:inline-flex; align-items:center; justify-content:center; }
.backup-manage-button:hover { background:#d1d5db!important; color:#111827!important; border-color:#9ca3af!important; text-decoration:none!important; }


/* Compact Sync Status job table */
.sync-jobs-table-wrap table th:nth-child(2), .sync-jobs-table-wrap table td:nth-child(2){min-width:230px;max-width:330px}
.sync-jobs-table-wrap table th:nth-child(6), .sync-jobs-table-wrap table td:nth-child(6){width:280px;max-width:280px;min-width:280px}
.sync-jobs-table-wrap table th:nth-child(7), .sync-jobs-table-wrap table td:nth-child(7){min-width:128px;width:128px}
.sync-source-provider-cell{line-height:1.2;min-width:0}.sync-source-link strong{font-size:13px}.sync-provider-subline{display:inline-block;margin-top:3px;font-size:11px!important;font-weight:500!important;color:#52606d!important;text-decoration:none!important}.sync-provider-subline:hover{color:#176c3a!important;text-decoration:none!important}.sync-action-row{gap:4px!important}.sync-action-row .mini-button,.sync-action-row .button.mini-button,.sync-action-row button.mini-button{padding:3px 5px!important;font-size:10.5px!important;line-height:1!important;min-height:22px!important}.sync-action-row form{margin:0!important}.sync-issue-cell{max-width:280px!important;width:280px!important;overflow:hidden}.sync-issue-text{max-width:270px!important;font-size:12px!important;line-height:1.32!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:break-word!important;overflow-wrap:anywhere!important}


.sync-issue-harvest{display:block!important;color:#52606d!important}.sync-issue-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-issue-line-ok{color:#0b6b2b!important}.sync-issue-line-warning{color:#8d5b00!important}.sync-issue-line-error{color:#b42318!important}

/* Public Source Dashboard topbar/footer alignment */
.public-source-dashboard-page{margin:0;padding-bottom:56px}
.public-source-dashboard-page .public-topbar{position:sticky;top:0;z-index:950;margin:0;box-sizing:border-box;width:100%}
.public-dashboard-footer{position:fixed;left:0;right:0;bottom:0;z-index:940}
@media(max-width:900px){.public-source-dashboard-page{padding-bottom:112px}}

/* GeoNetwork-style footer for the public source dashboard */
.public-source-dashboard-page{padding-bottom:58px}
.public-gn-footer{position:fixed;left:0;right:0;bottom:0;z-index:940;min-height:58px;background:#102a43;color:#fff;border:0}
.public-gn-footer .ggos-footer-content{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;padding:8px 350px 8px 330px;box-sizing:border-box}
.public-gn-footer .ggos-footer-links{position:absolute;left:50%;transform:translateX(-50%);display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0 12px;white-space:nowrap}
.public-gn-footer .ggos-footer-links a,.public-gn-footer .ggos-footer-note a{color:#fff;font-weight:700;text-decoration:none}
.public-gn-footer .ggos-footer-links a:hover,.public-gn-footer .ggos-footer-note a:hover{text-decoration:underline}
.public-gn-footer .ggos-footer-separator{color:#fff}
.public-gn-footer .ggos-footer-title{position:absolute;left:16px;color:#fff;font-weight:700;white-space:nowrap}
.public-gn-footer .ggos-footer-note{position:absolute;right:16px;display:flex;flex-direction:column;align-items:flex-end;color:#fff;font-size:12px;line-height:1.25;text-align:right}
@media(max-width:991px){.public-source-dashboard-page{padding-bottom:104px}.public-gn-footer .ggos-footer-content{flex-direction:column;gap:6px;min-height:104px;padding:10px 16px}.public-gn-footer .ggos-footer-links,.public-gn-footer .ggos-footer-title,.public-gn-footer .ggos-footer-note{position:static;transform:none;text-align:center;align-items:center;white-space:normal}.public-gn-footer .ggos-footer-links{flex-wrap:wrap}}

/* Public Source Dashboard must start flush at the top, despite fixed admin topbar spacing */
body.public-source-dashboard-page{padding-top:0!important;margin-top:0!important}
body.public-source-dashboard-page .public-topbar{top:0!important}
@media(max-width:760px){body.public-source-dashboard-page{padding-top:0!important}}



.backup-history-scroll{max-height:560px;overflow-y:auto;overflow-x:auto}
.backup-time-cell{display:inline-flex;flex-direction:column;gap:1px;font-size:11px;font-weight:800;line-height:1.08;color:#334e68;white-space:nowrap}.backup-time-cell strong{font-size:11px;font-weight:800;line-height:1.08}.backup-time-cell small{font-size:10px;font-weight:800;line-height:1.08;color:#52606d}
.backup-history-scroll thead th{position:sticky;top:0;z-index:2;background:#f2f5f8;color:#334e68;font-size:12px;font-weight:800;line-height:1.2}

/* Backup / Restore / Clone history table layout */
.backup-history-panel table{table-layout:fixed;min-width:1120px}
.backup-history-panel th:nth-child(2),.backup-history-panel td:nth-child(2){width:104px}
.backup-history-panel th:nth-child(5),.backup-history-panel td:nth-child(5){width:190px}
.backup-history-panel th:nth-child(6),.backup-history-panel td:nth-child(6){width:82px;white-space:nowrap;font-size:11px;font-weight:800}
.backup-history-panel th:nth-child(7),.backup-history-panel td:nth-child(7){width:200px}
.backup-operation-cell{white-space:normal;min-width:118px}
.backup-operation-cell .backup-operation-pill{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;border-radius:9px;padding:5px 8px;white-space:normal;max-width:112px}
.backup-operation-cell .backup-operation-pill strong{font-size:12px;line-height:1.05;font-weight:800}
.backup-operation-cell .backup-operation-pill small{display:block;font-size:10px;line-height:1.1;font-weight:600;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}
.backup-progress-cell{min-width:178px}
.backup-progress-line{display:block;margin-bottom:4px}
.backup-progress-line .backup-progress{height:9px;background:#d9e2ec;border-radius:999px;overflow:hidden}
.backup-progress-line .backup-progress span{display:block;height:100%;background:#f59e0b;transition:width .35s ease}
.backup-progress-line strong{font-size:12px;color:#334e68;text-align:right;font-variant-numeric:tabular-nums}
.backup-progress-meta{display:block;color:#52606d;font-size:11px;line-height:1.25;white-space:normal!important}
.backup-output-cell{min-width:220px}
.backup-output-line{max-width:none;display:block;white-space:normal;line-height:1.25;max-height:1.9em;overflow:hidden;text-overflow:ellipsis;font-size:0.76rem;background:#f8fafc}
@media(max-width:980px){.backup-history-panel table{table-layout:auto}.backup-history-panel th:nth-child(2),.backup-history-panel td:nth-child(2),.backup-history-panel th:nth-child(5),.backup-history-panel td:nth-child(5),.backup-history-panel th:nth-child(7),.backup-history-panel td:nth-child(7){width:auto}}

.clone-button-muted, button.clone-button-muted { background:#e5e7eb!important; color:#374151!important; border-color:#cbd5e1!important; }
.clone-button-muted:hover, button.clone-button-muted:hover { background:#d1d5db!important; color:#111827!important; border-color:#9ca3af!important; }


/* Compact, table-consistent Backup History action buttons */
.backup-history-panel th:nth-child(8),
.backup-history-panel td:nth-child(8){width:138px;min-width:138px;white-space:nowrap}
.backup-history-panel td.backup-action-buttons{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:3px!important;min-width:138px!important;width:138px!important;white-space:nowrap!important;padding-left:8px!important;padding-right:8px!important}
.backup-history-panel td.backup-action-buttons form{display:inline-flex!important;align-items:center!important;height:auto!important;margin:0!important;padding:0!important;line-height:1!important}
.backup-history-panel td.backup-action-buttons .mini-button{width:auto!important;min-width:46px!important;height:22px!important;padding:0 7px!important;font-size:10px!important;line-height:1!important;border-radius:5px!important}
.backup-history-panel td.backup-action-buttons .stop-button{width:auto!important;min-width:58px!important;padding:0 7px!important}
.backup-history-panel th:nth-child(1),.backup-history-panel td:nth-child(1){width:74px;min-width:74px}.backup-history-panel th:nth-child(2),.backup-history-panel td:nth-child(2){width:92px;min-width:92px}.backup-history-panel th:nth-child(3),.backup-history-panel td:nth-child(3){width:128px;min-width:128px}.backup-history-panel th:nth-child(4),.backup-history-panel td:nth-child(4){width:74px;min-width:74px;white-space:nowrap}.backup-target-cell,.backup-size-cell{font-size:12px}.backup-size-cell{font-variant-numeric:tabular-nums;color:#334e68}.backup-history-panel th{vertical-align:middle}
@media(max-width:980px){.backup-history-panel th:nth-child(8),.backup-history-panel td:nth-child(8){width:auto;min-width:0}.backup-history-panel td.backup-action-buttons{width:auto!important;min-width:0!important}}

.backup-history-panel th:nth-child(5),.backup-history-panel td:nth-child(5){width:92px;min-width:92px}.backup-history-panel th:nth-child(6),.backup-history-panel td:nth-child(6){width:190px;min-width:178px;white-space:normal}.backup-history-panel th:nth-child(6){font-size:12px;font-weight:800}.backup-history-panel td:nth-child(6){font-size:inherit;font-weight:inherit}.backup-history-panel th:nth-child(7),.backup-history-panel td:nth-child(7){width:220px}
.backup-progress-eta strong{font-weight:800;color:#334e68;font-variant-numeric:tabular-nums}

.sync-mini-progress.progress-complete span,
.backup-progress.progress-complete span{background:#008000!important}
.runtime-geonetwork-card .runtime-health-warning-detail{font-size:10px;line-height:1.25;color:#7c4d00;margin-top:2px;display:block}.runtime-geonetwork-issues{margin-top:6px;font-size:10.5px;line-height:1.25}.runtime-geonetwork-issues li{margin:2px 0}.runtime-disk-breakdown .panel-head{align-items:center}.runtime-disk-breakdown .panel-head strong{font-size:20px;color:#102a43;font-variant-numeric:tabular-nums}.runtime-disk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.runtime-disk-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid #e4e7eb;background:#f8fafc;border-radius:7px;padding:7px 9px}.runtime-disk-row.is-cleanable{background:#fffaf0}.runtime-disk-row strong{display:block;font-size:12px;color:#102a43;line-height:1.15}.runtime-disk-row small{display:block;font-size:10px;color:#52606d;line-height:1.15;margin-top:2px}.runtime-disk-row>span{font-size:12px;font-weight:800;color:#334e68;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.runtime-safe-cleanup{display:flex;align-items:center;gap:8px;margin:10px 0 0}.runtime-safe-cleanup small{font-size:11px;color:#52606d}.runtime-safe-cleanup .mini-button,.dashboard-panel form .mini-button{font-size:11px;padding:5px 8px}@media(max-width:900px){.runtime-disk-grid{grid-template-columns:1fr}.runtime-safe-cleanup{align-items:flex-start;flex-direction:column}}

.runtime-disk-breakdown{border-left:4px solid #2f7d5a}
.runtime-disk-breakdown.runtime-disk-status-warning{border-left-color:#c47f00}
.runtime-disk-breakdown.runtime-disk-status-error{border-left-color:#b42318}
.runtime-disk-head{align-items:flex-start}
.runtime-disk-summary{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.8fr);gap:14px 18px;align-items:center;margin:10px 0 14px;padding:14px;border:1px solid #d8dee6;border-radius:8px;background:#f8fafc}
.runtime-disk-total span,.runtime-disk-facts span{display:block;font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.02em}
.runtime-disk-total strong{display:block;font-size:24px;line-height:1.1;color:#172033;margin:3px 0}
.runtime-disk-total small,.runtime-disk-facts small{display:block;color:#64748b;font-size:12px;margin-top:2px}
.runtime-disk-meter{height:14px;border-radius:999px;background:#e5eaf0;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.runtime-disk-meter span{display:block;height:100%;border-radius:999px;background:#2f7d5a;transition:width .2s ease}
.runtime-disk-status-warning .runtime-disk-meter span{background:#d39013}
.runtime-disk-status-error .runtime-disk-meter span{background:#c0342b}
.runtime-disk-facts{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px}
.runtime-disk-facts div{padding:10px 12px;border:1px solid #e0e6ee;border-radius:7px;background:#fff}
.runtime-disk-facts strong{display:block;font-size:18px;color:#172033;margin-top:2px}
.runtime-disk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.runtime-disk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #dce3eb;border-radius:7px;background:#fff}
.runtime-disk-row.is-cleanable{background:#fffaf0;border-color:#ead7ac}
.runtime-disk-row div strong{display:block;color:#1f2937;font-size:13px}
.runtime-disk-row div small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:11px;margin-top:2px}
.runtime-disk-row>span{text-align:right;white-space:nowrap;color:#172033}
.runtime-disk-row>span strong{display:block;font-size:13px}
.runtime-disk-row>span small{display:block;color:#64748b;font-size:11px;margin-top:2px}
.runtime-cleanup-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-top:12px}
.runtime-cleanup-actions .runtime-safe-cleanup{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid #dce3eb;border-radius:7px;background:#f8fafc}
.runtime-cleanup-actions .runtime-safe-cleanup small{font-size:11px;color:#64748b}
.runtime-cleanup-actions .mini-button{white-space:nowrap}
@media(max-width:820px){.runtime-disk-summary,.runtime-disk-grid{grid-template-columns:1fr}.runtime-disk-row{grid-template-columns:1fr}.runtime-disk-row>span{text-align:left}.runtime-disk-facts{grid-template-columns:1fr}}

/* Runtime Health storage breakdown refinement */
.runtime-disk-summary{grid-template-columns:minmax(170px,.65fr) minmax(300px,1.9fr);align-items:end}
.runtime-disk-meter-wrap{display:flex;flex-direction:column;gap:6px;min-width:0}
.runtime-disk-meter-labels{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;font-size:12px;color:#475569;font-variant-numeric:tabular-nums}
.runtime-disk-meter-labels span{display:block;white-space:nowrap}
.runtime-disk-meter-labels span:last-child{text-align:right;color:#64748b}
.runtime-disk-meter-labels strong{font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:#334155;margin-right:4px}
.runtime-disk-facts{display:none}
.runtime-disk-row.is-cleanable{background:#fffaf0;border-color:#ead7ac}
.runtime-disk-row.is-cleanable div strong::after{content:'partial cleanup';display:inline-block;margin-left:6px;padding:1px 5px;border-radius:999px;background:#f8e8bd;color:#7a4a00;font-size:9px;font-weight:800;text-transform:uppercase;vertical-align:1px}
.runtime-inline-cleanup{grid-column:1 / -1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-2px 0 4px;padding:8px 10px 8px 14px;border:1px dashed #ccd6e0;border-radius:7px;background:#f8fafc}
.runtime-inline-cleanup small{font-size:11px;color:#64748b}
.runtime-backup-cleanup{border-color:#f0c9c9;background:#fff7f7}
.runtime-backup-cleanup .mini-button{white-space:nowrap}
.runtime-safe-cleanup{border-color:#ead7ac;background:#fffdf7}
@media(max-width:820px){.runtime-disk-summary{grid-template-columns:1fr}.runtime-disk-meter-labels{align-items:flex-start;flex-direction:column;gap:4px}.runtime-disk-meter-labels span:last-child{text-align:left}.runtime-inline-cleanup{align-items:flex-start;flex-direction:column}}

/* Structured Runtime Health storage rows */
.runtime-disk-grid-structured{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.runtime-disk-grid-structured .runtime-disk-row,.runtime-disk-grid-structured .runtime-disk-action-card{min-height:82px}
.runtime-disk-action-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;margin:0;padding:10px 12px;border:1px dashed #ccd6e0;border-radius:7px;background:#f8fafc}
.runtime-disk-action-card small{font-size:11px;line-height:1.25;color:#64748b}
.runtime-disk-action-card .mini-button{white-space:nowrap}
.runtime-disk-action-card.runtime-backup-cleanup{border-color:#f0c9c9;background:#fff7f7}
.runtime-disk-action-card.runtime-safe-cleanup{border-color:#ead7ac;background:#fffdf7}
@media(max-width:1050px){.runtime-disk-grid-structured{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.runtime-disk-grid-structured{grid-template-columns:1fr}}

/* Compact storage breakdown cards */
.runtime-disk-grid-structured{gap:6px 8px}
.runtime-disk-grid-structured .runtime-disk-row,.runtime-disk-grid-structured .runtime-disk-action-card{min-height:58px}
.runtime-disk-grid-structured .runtime-disk-row{padding:7px 9px;gap:8px;align-items:center}
.runtime-disk-grid-structured .runtime-disk-row div strong{font-size:12px;line-height:1.1}
.runtime-disk-grid-structured .runtime-disk-row div small{font-size:10px;line-height:1.15;margin-top:2px}
.runtime-disk-grid-structured .runtime-disk-row>span strong{font-size:12px;line-height:1.1}
.runtime-disk-grid-structured .runtime-disk-row>span small{font-size:10px;line-height:1.1}
.runtime-disk-action-card{gap:3px;padding:7px 9px;justify-content:center}
.runtime-disk-action-card .mini-button{padding:4px 7px;font-size:10.5px;line-height:1.05}
.runtime-disk-action-card small{font-size:10px;line-height:1.15;color:#64748b}
.runtime-cleanup-free{display:block;font-size:11px;line-height:1.15;color:#172033;font-weight:900;font-variant-numeric:tabular-nums}
.runtime-disk-row.is-cleanable div strong::after{font-size:8px;padding:1px 4px}

/* Final compact grouped Storage Breakdown */
.runtime-storage-groups{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;align-items:stretch!important}
.runtime-storage-group-card,.runtime-storage-groups .runtime-disk-action-card{min-height:0!important;height:auto!important;padding:7px 9px!important;border:1px solid #dce3eb;border-radius:7px;background:#fff;box-sizing:border-box}
.runtime-storage-group-card{display:flex;flex-direction:column;justify-content:center;gap:4px}
.runtime-storage-group-card>strong{font-size:12px!important;line-height:1.05!important;color:#1f2937;font-weight:900}
.runtime-storage-group-card.is-partial-cleanup{background:#fffaf0;border-color:#ead7ac}
.runtime-storage-group-card.is-partial-cleanup>strong::after{content:'partial cleanup';display:inline-block;margin-left:6px;padding:1px 4px;border-radius:999px;background:#f8e8bd;color:#7a4a00;font-size:8px;font-weight:800;text-transform:uppercase;vertical-align:1px}
.runtime-storage-pair-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;min-width:0;font-size:10.5px;line-height:1.08;color:#475569}
.runtime-storage-pair-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.runtime-storage-pair-row b{font-size:11px;line-height:1.08;color:#172033;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.runtime-storage-pair-row b small{display:block;font-size:9px!important;line-height:1.05;color:#64748b;font-weight:700}
.runtime-storage-groups .runtime-disk-action-card{gap:3px!important;justify-content:center!important}
.runtime-storage-groups .runtime-disk-action-card .mini-button{height:auto!important;padding:4px 7px!important;font-size:10px!important;line-height:1!important}
.runtime-storage-groups .runtime-disk-action-card small{font-size:9.5px!important;line-height:1.08!important;color:#64748b}
.runtime-cleanup-free{font-size:9.5px!important;line-height:1.1!important;font-weight:800!important}
.runtime-cleanup-free.is-ok{color:#176c3a!important}
.runtime-cleanup-free.is-warning{color:#8a4b00!important}
@media(max-width:1050px){.runtime-storage-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.runtime-storage-groups{grid-template-columns:1fr!important}}

/* Combined Storage Breakdown action cards */
.runtime-storage-groups-combined{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important}
.runtime-storage-groups-combined>.runtime-storage-combined-card{grid-column:span 3}
.runtime-storage-groups-combined>.runtime-storage-group-card:not(.runtime-storage-combined-card){grid-column:span 2}
.runtime-storage-combined-card{gap:4px!important;padding:7px 9px!important}
.runtime-storage-inline-action{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 7px;align-items:center;margin:2px 0 0;padding-top:5px;border-top:1px solid rgba(100,116,139,.18)}
.runtime-storage-inline-action .mini-button{grid-row:1 / span 2;width:max-content;height:auto!important;padding:4px 7px!important;font-size:10px!important;line-height:1!important}
.runtime-storage-inline-action span{font-size:9.5px;line-height:1.08;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.runtime-storage-inline-action .runtime-cleanup-free{font-style:normal;font-size:9.5px!important;line-height:1.08!important}
.runtime-docker-card{background:#f8fafc!important;border-style:dashed!important}
@media(max-width:1050px){.runtime-storage-groups-combined{grid-template-columns:repeat(2,minmax(0,1fr))!important}.runtime-storage-groups-combined>.runtime-storage-combined-card,.runtime-storage-groups-combined>.runtime-storage-group-card:not(.runtime-storage-combined-card){grid-column:span 1}}
@media(max-width:720px){.runtime-storage-groups-combined{grid-template-columns:1fr!important}.runtime-storage-inline-action{grid-template-columns:1fr}.runtime-storage-inline-action .mini-button{grid-row:auto}}

/* Storage Breakdown: two wide action cards, four compact info cards */
.runtime-storage-groups-combined{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.runtime-storage-groups-combined>.runtime-storage-combined-card{grid-column:span 2!important}
.runtime-storage-groups-combined>.runtime-storage-group-card:not(.runtime-storage-combined-card){grid-column:span 1!important}
.runtime-storage-group-card>strong[title]{cursor:help}
@media(max-width:1180px){.runtime-storage-groups-combined{grid-template-columns:repeat(2,minmax(0,1fr))!important}.runtime-storage-groups-combined>.runtime-storage-combined-card,.runtime-storage-groups-combined>.runtime-storage-group-card:not(.runtime-storage-combined-card){grid-column:span 1!important}}
@media(max-width:720px){.runtime-storage-groups-combined{grid-template-columns:1fr!important}}

/* Storage card action-state colors */
.runtime-storage-group-card.is-ok{background:#f3fbf5!important;border-color:#b8e2c2!important}
.runtime-storage-group-card.is-warning{background:#fffaf0!important;border-color:#ead7ac!important}
.runtime-storage-group-card.is-neutral{background:#f8fafc!important;border-color:#dce3eb!important}
.runtime-storage-note{font-size:9.5px;line-height:1.12;color:#64748b;margin-top:2px}

.runtime-path-repair-action{display:flex;justify-content:flex-end;margin:10px 0 0}
.runtime-path-repair-action .button{padding:6px 10px;font-size:12px}

.backup-rollback-note{display:block;margin-top:4px;font-size:10px;line-height:1.15;color:#7c4d00;font-weight:800;white-space:normal}
.backup-output-line.backup-output-error{background:#fff5f5;border-color:#f2b8b8;color:#8a1f1f;font-weight:700}
.backup-output-line.backup-output-warning{background:#fff8e6;border-color:#f5d18c;color:#7c4d00;font-weight:700}

.geonetwork-stack-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-content:flex-start!important;align-items:flex-start!important;justify-content:flex-start!important;gap:5px!important;min-width:0}.geonetwork-stack-actions form{margin:0}.geonetwork-stack-actions .mini-button{max-width:100%;white-space:normal;text-align:center}.geonetwork-stack-actions .backup-manage-button{flex-basis:100%;line-height:1.15}.access-status-codes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.access-status-codes span{display:inline-flex;gap:5px;align-items:center;border:1px solid #d9e2ec;border-radius:999px;background:#f8fafc;padding:5px 9px;font-size:12px}.access-record-rank-row{grid-template-columns:minmax(0,1fr) auto auto}.access-record-rank-row a{font-family:Consolas,Monaco,monospace;font-size:12px;overflow-wrap:anywhere}@media(max-width:1180px){.geonetwork-status-row{grid-template-columns:minmax(0,1fr) minmax(76px,.35fr)!important}.geonetwork-status-row>div:nth-child(3),.geonetwork-status-row>div:nth-child(4){grid-column:1/-1}}

.public-gn-footer .ggos-footer-version{position:absolute;left:16px;bottom:8px;font-size:11px;line-height:1.2}.public-gn-footer .ggos-footer-version a{color:#fff;text-decoration:underline}.portal-current-version{font-size:30px;color:#102a43}.release-version-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.release-version-options label{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:4px 8px}.release-version-options span{grid-column:2;color:#52606d;font-size:12px}.release-custom-version{max-width:280px;margin-bottom:14px}.release-auto-changes{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px;margin:14px 0}.release-auto-changes h2{font-size:16px}.release-stack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.release-stack-grid article{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px}.release-stack-grid h3{margin:0 0 10px;font-size:15px}.portal-version-detail{border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:10px;margin-top:10px}.portal-version-detail summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.portal-version-current ul,.portal-version-detail ul,.release-auto-changes ul{margin:8px 0 0;padding-left:20px}@media(max-width:760px){.release-version-options,.release-stack-grid{grid-template-columns:1fr}.public-gn-footer .ggos-footer-version{position:static}}

.clone-link-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;line-height:1.15!important;min-height:32px;box-sizing:border-box}.release-version-options label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;min-height:42px}.release-version-options label input{flex:0 0 auto;margin:0}.release-version-options label span{grid-column:auto!important;color:#52606d;font-size:13px;line-height:1.2}.release-version-options label strong{color:#102a43;margin-right:5px}.release-auto-changes{order:1}.release-custom-version input{font-variant-numeric:tabular-nums}.access-record-rank-row a{font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:700}.access-record-rank-row a[title]{cursor:pointer}

.release-version-options label{justify-content:flex-start!important;white-space:nowrap!important}.release-version-options label span{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;min-width:0}.release-version-options label strong{display:inline!important;white-space:nowrap!important}.release-version-options{align-items:stretch}.release-version-options input[type="radio"]{width:auto!important;min-width:0!important}
/* Keep GeoNetwork harvester diagnostics compact in provider/source overview tables. */
.harvester-table-cell{max-width:170px;min-width:130px;overflow:hidden}
.harvester-message-compact{display:block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#52606d}
.harvester-table-cell .badge{max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
