/* RC22 development: national presentation; authorization remains server-owned. */
body { background:#eff4f8; }
.extension-stats-card { grid-column:1/-1; }
.extension-chart { padding:4px 18px 18px; }
.extension-status-row { display:grid;grid-template-columns:130px minmax(0,1fr) 40px;gap:10px;align-items:center;margin:12px 0;font-size:.8rem; }
.extension-status-track { height:18px;background:#edf2f4;border-radius:6px;overflow:hidden; }
.extension-status-track i { display:block;height:100%;border-radius:6px; }
.extension-chart .chart-footnote { margin:16px 0 0; }
.trend-column strong { font-size:.75rem;color:#173d58; }
#demoPreviewControls { padding:18px 22px;margin:16px 0;border:1px solid #cfe0d6;border-left:4px solid #078a48;border-radius:16px;background:linear-gradient(120deg,#f1f8f4,#fff);box-shadow:0 6px 20px #123d2b0d; }
#demoPreviewControls label { display:grid;gap:8px;max-width:560px;color:#173d58;font-size:.82rem;font-weight:800; }
#demoPreviewUser { box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:12px 40px 12px 14px;border:1px solid #bfd4c8;border-radius:12px;background-color:#fff;color:#102a22;font:inherit;cursor:pointer; }
#demoPreviewUser:hover { border-color:#91baa5; }
#demoPreviewUser:focus-visible { outline:3px solid #a7d7ba;outline-offset:2px;border-color:#078a48; }
#demoPreviewNotice { margin:10px 0 0;color:#5c756b;font-size:.78rem;line-height:1.5; }
.visit-commodity-entry { display:flex;gap:8px;align-items:center; }
.visit-commodity-entry input { min-width:0;flex:1; }
#fieldObservationForm #addVisitCommodity { width:auto;min-width:56px;margin:0; }
.visit-commodity-selections { display:flex;flex-wrap:wrap;gap:6px;margin-top:8px; }
#fieldObservationForm .visit-commodity-selections button { width:auto;margin:0;border-radius:18px;background:#e8f5ed;padding:6px 10px;font-size:12px; }
.visit-photo-previews .photo-expand { padding:0;border:0;background:transparent;cursor:zoom-in; }
#visitPhotoDialog { border:0;border-radius:12px;max-width:90vw;padding:18px; }
#visitPhotoDialog img { display:block;max-width:80vw;max-height:75vh;object-fit:contain; }
#fieldObservationForm .visit-location-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0; }
#fieldObservationForm .visit-location-actions button { width:100%;min-width:0;height:72px;margin:0;padding:10px 12px;white-space:normal;line-height:1.3;border:1px solid #a9d4bc;border-radius:12px;background:#f5fbf7;color:#086b39;display:flex;align-items:center;justify-content:center;text-align:center; }
#fieldObservationForm .visit-location-actions button:hover { background:#e6f5ec;border-color:#17844b; }
#fieldObservationForm .visit-photo-picker { position:relative;display:flex;align-items:center;justify-content:center;min-height:72px;box-sizing:border-box;margin:8px 0;padding:12px;border:1px dashed #84ba9b;border-radius:12px;background:#eff8f2;color:#086b39;cursor:pointer;text-align:center;font-weight:700; }
#fieldObservationForm .visit-photo-picker:hover { background:#e2f2e8;border-color:#17844b; }
#fieldObservationForm .visit-photo-picker:focus-within { outline:3px solid #79b693;outline-offset:2px; }
#fieldObservationForm .visit-photo-picker input { position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;overflow:hidden; }
#fieldObservationForm .visit-photo-picker span { display:block;font-size:14px;line-height:1.4; }
#fieldObservationForm .visit-photo-picker small { display:block;font-weight:400;margin-top:3px; }
.visit-photo-previews { display:flex;gap:10px;flex-wrap:wrap; }
.visit-photo-previews figure { margin:0;max-width:110px; }
.visit-photo-previews img { width:100px;height:80px;object-fit:cover;border-radius:6px; }
.visit-photo-previews figcaption { overflow-wrap:anywhere;font-size:11px; }
#visitLocationDialog { width:min(650px,90vw);border:1px solid #cadbe5;border-radius:12px;padding:20px; }
.sidebar .national-country-select { color:#dce9f3; }
.sidebar .national-country-select select { width:100%; }
body:not([data-active-view="countryadmin"]) #countryAdministration { display:none!important; }
body[data-active-view="countryadmin"] #dashboard > :not(#countryAdministration) { display:none!important; }
#countryAdministrationBody { padding:20px; }
.department-card { border:1px solid #dce6ed; border-radius:10px; margin:16px 0; padding:18px; }
.department-card form,.country-admin-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; padding:12px 0; }
.department-member { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:10px 0; border-top:1px solid #e4ebf0; }
.department-member strong { flex:1; overflow-wrap:anywhere; }
.country-admin-form>p { grid-column:1/-1; }
.country-admin-form input[type="checkbox"] { width:20px!important; height:20px!important; min-height:20px!important; }
.country-admin-form input:not([type="checkbox"]),.department-card input { min-height:44px; height:44px; }
.department-card form { align-items:start; }
.country-admin-form { align-items:end; }
.country-admin-form>button { height:44px; min-height:44px; padding:10px 14px; }
.department-card form>p { grid-column:1/-1; }
.department-card label { display:flex; flex-direction:column; gap:6px; align-self:start; min-width:0; }
.department-card input,.department-card select { box-sizing:border-box; width:100%; max-width:100%; min-height:44px; border:1px solid #c5d9d0; border-radius:10px; padding:10px; }
.department-card button { min-height:44px; align-self:end; }
.department-card summary { cursor:pointer; padding:10px 0; font-weight:600; }
.department-member>strong { min-width:180px; }
.department-member>label { flex:1 1 210px; }
.department-member>select { flex:1 1 180px; width:auto; }
.department-recovery { flex-basis:100%; }
.department-access-summary { flex-basis:100%; overflow-wrap:anywhere; }
.department-recovery input[type="checkbox"] { width:20px; height:20px; min-height:20px; }
#countryAdministrationBody { --admin-control-height:44px; font-size:.9rem; line-height:1.5; }
#countryAdministrationBody>label { display:grid; gap:6px; font-size:.8rem; font-weight:600; }
#countryAdministrationBody input:not([type="checkbox"]),#countryAdministrationBody select,#countryAdministrationBody button { box-sizing:border-box; height:var(--admin-control-height); min-height:var(--admin-control-height); margin:0; font:inherit; font-size:.85rem; border-radius:10px; }
#countryAdministrationBody label { font-size:.8rem; font-weight:600; line-height:1.4; }
#countryAdministrationBody label>input,#countryAdministrationBody label>select { margin-top:0; font-weight:400; }
#countryAdministrationBody button { padding:9px 16px; font-weight:650; white-space:nowrap; }
#countryAdministrationBody .country-admin-form { grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:16px; padding:16px; background:linear-gradient(115deg,#f0f8f4,#f4f8fc); border:1px solid #dce9e2; border-radius:12px; margin:16px 0; }
#countryAdministrationBody .country-admin-form>label { display:grid; gap:6px; align-content:start; }
#countryAdministrationBody .department-card { background:linear-gradient(135deg,#f8fbfa 0%,#fff 35%); border-radius:12px; padding:20px; }
#countryAdministrationBody .department-card h3 { font-size:1.05rem; line-height:1.4; margin:0 0 6px; }
#countryAdministrationBody .department-card form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
#countryAdministrationBody .department-card form>p,#countryAdministrationBody .department-card form>.department-confirm,#countryAdministrationBody .department-card form>.department-actions { grid-column:1/-1; margin:0; }
#countryAdministrationBody .department-card form>button { grid-column:1/-1; justify-self:start; }
#countryAdministrationBody .department-member { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding:20px 0; }
#countryAdministrationBody .department-member>strong { min-width:0; font-size:.9rem; }
#countryAdministrationBody .department-member>strong small { display:block; font-size:.78rem; font-weight:400; color:#587069; margin-top:4px; }
#countryAdministrationBody .department-access-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:end; }
#countryAdministrationBody .department-access-controls>label { margin:0; display:grid; gap:6px; }
#countryAdministrationBody .department-actions { display:flex; flex-wrap:wrap; gap:10px; grid-column:1/-1; align-items:center; }
#countryAdministrationBody .department-access-summary,#countryAdministrationBody .department-recovery { margin:0; padding:0; }
#countryAdministrationBody .department-access-summary p,#countryAdministrationBody .department-recovery p { font-size:.8rem; color:#536a63; }
#countryAdministrationBody .department-confirm { display:flex; flex-direction:row; align-items:center; gap:8px; font-weight:400; }
#countryAdministrationBody .department-confirm input { flex:0 0 20px; }
#countryAdministrationBody .department-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; padding:16px; margin:16px 0; border:1px solid #dce9e2; border-radius:12px; background:linear-gradient(115deg,#f0f8f4,#f4f8fc); }
#countryAdministrationBody .department-filters>label { display:grid; gap:6px; margin:0; min-width:0; align-content:start; }
#countryAdministrationBody .department-filters select { width:100%; min-width:0; text-overflow:ellipsis; }
#countryAdministrationBody .department-filters>p { grid-column:1/-1; margin:0; font-size:.8rem; color:#536a63; }
#countryAdministrationBody .department-card[hidden],#countryAdministrationBody .department-member[hidden],#countryAdministrationBody .department-selection-empty[hidden] { display:none!important; }
@media(max-width:560px){#countryAdministrationBody .department-filters{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1100px){#countryAdministrationBody .department-access-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}#countryAdministrationBody .department-access-controls>.department-actions{grid-column:auto}}
@media(max-width:560px){#countryAdministrationBody{padding:14px}#countryAdministrationBody .department-card{padding:14px}#countryAdministrationBody .department-card form,#countryAdministrationBody .country-admin-form,#countryAdministrationBody .department-access-controls{grid-template-columns:minmax(0,1fr)}#countryAdministrationBody .department-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#countryAdministrationBody .department-actions button{width:100%;padding-inline:8px}#countryAdministrationBody .country-admin-form>button{width:100%}}
.sidebar { background:linear-gradient(175deg,#063653,#092943); }
.sidebar .nav-item.active { background:#347d3f; color:white; box-shadow:inset 3px 0 #a6d77b; }
.sidebar .country-chip { background:#ffffff0e; border:1px solid #ffffff25; }
.topbar { background:#fff; border-bottom:1px solid #dbe5ed; flex-wrap:wrap; height:auto; min-height:78px; padding:16px 24px; }
.topbar h1 { color:#103c5c; }
.national-country-select { display:grid; gap:4px; color:#52687a; font-size:.7rem; font-weight:700; }
.national-country-select select { max-width:230px; padding:8px; border:1px solid #cadbe5; border-radius:7px; background:#f7fafc; color:#103c5c; }
.national-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 22px; }
.national-heading small { color:#45813d; font-size:.67rem; font-weight:800; letter-spacing:.12em; }
.national-heading h2 { color:#103c5c; font-size:1.65rem; margin:5px 0; }
.national-heading p { color:#607687; margin:0; font-size:.83rem; }
.national-live-badge { background:#e5f1e6; color:#326b35; padding:9px 13px; border-radius:20px; font-size:.72rem; }
#dashboard .panel { border-radius:10px; border-color:#dce6ed; box-shadow:0 3px 14px #183d5910; }
#dashboard .panel-head { background:#f6f9fc; min-height:54px; padding:14px 16px; }
#dashboard .panel-head h2 { color:#183f5c; }
.kpi { border-top:3px solid #548a45; border-radius:9px; background:white; }
.kpi strong { color:#123d58; }
.kpi-icon { color:#538641; background:#eef5e9; }
.crop-mix { display:flex; justify-content:center; padding:20px 12px 4px; }
.crop-doughnut { width:140px; height:140px; border-radius:50%; display:grid; place-items:center; }
.crop-doughnut-center { border-radius:50%; width:100px; height:100px; background:white; display:flex; align-items:center; justify-content:center; flex-direction:column; color:#173d58; }
.crop-doughnut-center strong { font-size:1.5rem; }
.crop-doughnut-center small { font-size:.65rem; }
.chart-footnote { font-size:.7rem; color:#667c89; margin:8px 18px 18px; line-height:1.5; }
.crop-row strong { min-width:0; overflow-wrap:anywhere; }
.trend-column i { background:linear-gradient(#78a55b,#297448); }
.trend-column small { color:#516e80; }
body:not([data-active-view="overview"]) .national-heading { display:none; }
@media(min-width:701px) {
 body[data-active-view="overview"] #analyticsWorkspace { grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch; }
 body[data-active-view="overview"] #analyticsWorkspace>.chart-card,
 body[data-active-view="overview"] #topCropsCard { grid-column:span 1; }
 body[data-active-view="overview"] #privacyPanel { grid-column:1/-1; }
 body[data-active-view="overview"] #privacyPanel dl { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
 body[data-active-view="overview"] #privacyPanel dl>div { align-items:flex-start;flex-direction:column;gap:6px; }
 body[data-active-view="overview"] #alertsWorkspace { grid-template-rows:auto min-content 1fr auto; }
 body[data-active-view="overview"] #alertsWorkspace>#intelligenceReadiness { align-content:start; }
 body[data-active-view="overview"] #topCropsCard { display:grid;grid-template-columns:140px minmax(0,1fr);align-content:start; }
 body[data-active-view="overview"] #topCropsCard>.panel-head,
 body[data-active-view="overview"] #topCropsCard>.chart-footnote { grid-column:1/-1; }
 body[data-active-view="overview"] #cropMix { padding:18px 8px;align-items:center; }
 body[data-active-view="overview"] .crop-doughnut { width:120px;height:120px; }
 body[data-active-view="overview"] .crop-doughnut-center { width:86px;height:86px; }
 body[data-active-view="overview"] #topCrops { padding:18px 12px 8px 0; }
}
@media(max-width:700px) { .national-heading { align-items:flex-start; flex-direction:column; } .national-country-select select { max-width:100%; } .national-country-select { width:100%; } }
