/* ADDR Directory — scoped under .addr so it does not leak into the theme. Logical properties give RTL for free. */
.addr { --addr-green:#006233; --addr-green-d:#0a3f29; --addr-green-l:#f0f9f4; --addr-red:#b30d2c; --addr-line:#e5e7eb; --addr-muted:#4b5563;
	color:#111827; line-height:1.55; font-size:16px; }
.addr *, .addr *::before, .addr *::after { box-sizing:border-box; }
.addr h1, .addr h2, .addr h3 { color:var(--addr-green-d); line-height:1.25; margin:1.2em 0 .5em; }
.addr h1 { font-size:2rem; margin-top:.2em; } .addr h2 { font-size:1.45rem; } .addr h3 { font-size:1.15rem; margin-top:0; }
.addr a { color:var(--addr-green); text-underline-offset:2px; } .addr a:hover { color:var(--addr-green-d); }
.addr :focus-visible { outline:3px solid #1c7250; outline-offset:2px; }
.addr-muted { color:var(--addr-muted); } .addr-small { font-size:.85rem; }
.addr-sr-only { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.addr-break { overflow-wrap:anywhere; } .addr-prewrap { white-space:pre-line; }
.addr-list-plain { list-style:none; margin:0; padding:0; }
.addr-card { background:#fff; border:1px solid var(--addr-line); border-radius:10px; padding:1.1rem 1.25rem; margin:0 0 1rem; box-shadow:0 1px 2px rgba(0,0,0,.04); min-width:0; }
.addr-grid { display:grid; gap:1rem; margin:0 0 1rem; } .addr-grid--2 { grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); }
.addr-grid--3 { grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); } .addr-grid--4 { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.addr-tile { display:block; text-align:center; font-weight:600; text-decoration:none; margin:0; } .addr-tile:hover { border-color:var(--addr-green); }
.addr-tile--row { display:flex; justify-content:space-between; align-items:center; gap:.75rem; text-align:start; }
.addr-hero { background:linear-gradient(135deg,var(--addr-green),var(--addr-green-d)); color:#fff; border-radius:14px; padding:2rem 1.5rem; margin-bottom:1.5rem; }
.addr-hero h1 { color:#fff; margin:0 0 .5rem; } .addr-hero p { max-width:48rem; opacity:.92; }
.addr-hero form { display:flex; gap:.5rem; flex-wrap:wrap; max-width:42rem; margin-top:1rem; }
.addr-hero input[type=search] { flex:1; min-width:14rem; padding:.7rem .9rem; border:0; border-radius:8px; font-size:1rem; }
.addr-hero button { background:#fff; color:var(--addr-green-d); border:0; border-radius:8px; padding:.7rem 1.2rem; font-weight:700; cursor:pointer; }
.addr-stat { text-align:center; margin:0; } .addr-stat__n { font-size:2rem; font-weight:800; color:var(--addr-green); margin:0; } .addr-stat__l { margin:.2rem 0 0; font-weight:600; color:#374151; }
.addr-badges { display:flex; flex-wrap:wrap; gap:.4rem; margin:.6rem 0; }
.addr-badge { display:inline-block; border-radius:999px; padding:.12rem .65rem; font-size:.78rem; font-weight:600; }
.addr-badge--green { background:#d9f0e3; color:#0a3f29; } .addr-badge--amber { background:#fef3c7; color:#78350f; } .addr-badge--red { background:#fee2e2; color:#7f1d1d; }
.addr-badge--gray { background:#e5e7eb; color:#1f2937; } .addr-badge--blue { background:#e0f2fe; color:#0c4a6e; }
.addr-clamp { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.addr-repo h3 a { text-decoration:none; }
.addr-btn, .addr-btn:visited { display:inline-block; background:var(--addr-green); color:#fff !important; border:1px solid var(--addr-green); border-radius:8px; padding:.55rem 1rem; font-weight:600; text-decoration:none; cursor:pointer; font-size:.95rem; }
.addr-btn:hover { background:var(--addr-green-d); } .addr-btn--secondary, .addr-btn--secondary:visited { background:#fff; color:#1f2937 !important; border-color:#9ca3af; } .addr-btn--secondary:hover { background:#f3f4f6; }
.addr-actions { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.addr-layout { display:grid; grid-template-columns:18rem minmax(0,1fr); gap:1.5rem; align-items:start; } @media (max-width:860px) { .addr-layout { grid-template-columns:1fr; } }
.addr-filters p { margin:0 0 .7rem; } .addr label { display:block; font-weight:600; font-size:.9rem; margin-bottom:.2rem; }
.addr input[type=text], .addr input[type=search], .addr input[type=url], .addr input[type=email], .addr input[type=number], .addr select, .addr textarea
	{ width:100%; max-width:100%; border:1px solid #9ca3af; border-radius:7px; padding:.5rem .65rem; font-size:.95rem; background:#fff; color:#111827; }
.addr input[type=checkbox] { width:auto; margin-inline-end:.4rem; } .addr-checks label, .addr-filters label:has(input[type=checkbox]) { font-weight:400; }
.addr fieldset { border:1px solid var(--addr-line); } .addr legend { font-weight:700; color:var(--addr-green-d); padding:0 .4rem; font-size:1.1rem; }
.addr-checks { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:.1rem .8rem; border:0 !important; padding:0; margin:0 0 1rem; }
.addr-form small { display:block; color:var(--addr-muted); font-size:.8rem; } .addr-field-error { display:block; color:#b91c1c; font-size:.82rem; font-weight:600; }
.addr-hp { position:absolute; inset-inline-start:-9999px; width:0; height:0; overflow:hidden; }
.addr-alert { border-radius:8px; padding:.7rem 1rem; margin:0 0 1rem; font-weight:500; } .addr-alert--error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.addr-alert--warn { background:#fffbeb; color:#78350f; border:1px solid #fcd34d; } .addr-alert--ok { background:var(--addr-green-l); color:var(--addr-green-d); border:1px solid #b5e0c9; }
.addr-note { background:#f9fafb; padding:.6rem .8rem; border-radius:6px; }
.addr-resultbar { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.addr-pager { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1rem; }
.addr-detail { display:grid; grid-template-columns:minmax(0,1fr) 20rem; gap:1.5rem; align-items:start; } @media (max-width:900px) { .addr-detail { grid-template-columns:1fr; } }
.addr dl { margin:0; } .addr-row { display:grid; grid-template-columns:11rem 1fr; gap:.25rem 1rem; padding:.6rem 0; border-bottom:1px solid #f3f4f6; font-size:.92rem; }
.addr-row dt { font-weight:600; color:var(--addr-muted); } .addr-row dd { margin:0; } @media (max-width:560px) { .addr-row { grid-template-columns:1fr; } }
.addr-chart figcaption { font-weight:700; color:var(--addr-green-d); margin-bottom:.6rem; } .addr-chart ul { list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.addr-chart li { display:grid; grid-template-columns:minmax(0,10rem) 1fr auto; gap:.75rem; align-items:center; font-size:.9rem; }
.addr-chart__label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .addr-chart__track { height:.75rem; background:#f3f4f6; border-radius:4px; }
.addr-chart__bar { display:block; height:.75rem; background:#1c7250; border-radius:4px; } .addr-tone-green { background:#1c7250; } .addr-tone-amber { background:#f59e0b; } .addr-tone-red { background:#dc2626; } .addr-tone-gray { background:#9ca3af; }
.addr-chart__n { font-weight:600; font-variant-numeric:tabular-nums; } .addr-line { width:100%; height:auto; }
.addr-map { height:24rem; border:1px solid #d1d5db; border-radius:10px; z-index:0; }
.addr-langs { display:flex; gap:.4rem; flex-wrap:wrap; } .addr-langs a { padding:.2rem .6rem; border-radius:6px; text-decoration:none; border:1px solid var(--addr-line); } .addr-langs a[aria-current] { background:var(--addr-green); color:#fff; }
@media (prefers-reduced-motion:reduce) { .addr * { transition:none !important; animation:none !important; } }

/* ---------- statistics dashboard (enhanced by addr-stats.js) ---------- */
.addr-dash { position:relative; } .addr-dash.is-enhanced .addr-dash__fallback { display:none; }
.addr-dash__stamp { margin:0 0 .75rem; }
.addr-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(11rem,1fr)); gap:1rem; margin-bottom:1rem; }
.addr-kpi { position:relative; text-align:start; padding:1.1rem 1.25rem; margin:0; overflow:hidden; }
.addr-kpi::after { content:""; position:absolute; inset-inline-end:-1.2rem; inset-block-start:-1.2rem; width:5rem; height:5rem; border-radius:50%; background:radial-gradient(#d9f0e3,transparent 70%); }
.addr-kpi__i { width:1.6rem; height:1.6rem; color:#1c7250; display:block; } .addr-kpi__n { display:block; font-size:2.3rem; line-height:1.1; font-weight:800; color:var(--addr-green); font-variant-numeric:tabular-nums; margin-top:.3rem; }
.addr-kpi__l { display:block; font-weight:600; color:#374151; font-size:.92rem; }
.addr-block h3 { margin:0 0 .75rem; font-size:1.1rem; }
.addr-rings { display:grid; grid-template-columns:repeat(auto-fit,minmax(9rem,1fr)); gap:1rem; }
.addr-ring { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.35rem; padding:.4rem; border-radius:10px; cursor:default; }
.addr-ring:hover, .addr-ring:focus-visible { background:#f3f8f5; }
.addr-ring__svg { width:6rem; height:6rem; } .addr-ring__v { position:absolute; inset-block-start:2.2rem; font-size:1.25rem; font-weight:800; color:var(--addr-green-d); font-variant-numeric:tabular-nums; }
.addr-ring__l { font-size:.82rem; color:#374151; font-weight:600; line-height:1.25; }
.addr-dash__cols { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:1rem; margin-bottom:1rem; align-items:start; } .addr-dash__cols--even { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); }
@media (max-width:900px) { .addr-dash__cols, .addr-dash__cols--even { grid-template-columns:1fr; } }
.addr-dash .addr-card { margin:0; }
.addr-map__cov { margin:-.4rem 0 .75rem; font-weight:600; color:var(--addr-green); }
.addr-tilemap { display:grid; gap:3px; aspect-ratio:var(--cols)/var(--rows); max-width:34rem; margin-inline:auto; }
.addr-tile { position:relative; display:flex; align-items:center; justify-content:center; border-radius:5px; background:#eceeed; color:#1f2937; text-decoration:none; font-size:.62rem; font-weight:700; min-width:0; min-height:0; transition:transform .12s, box-shadow .12s; }
.addr-tile--zero { border:1px dashed #cfd4d2; background:#f4f5f4; color:#6b7280; font-weight:500; }
.addr-tile--dark { color:#fff; } .addr-tile:hover, .addr-tile:focus-visible { transform:scale(1.25); z-index:2; box-shadow:0 3px 12px rgba(0,0,0,.28); outline-offset:1px; }
.addr-tile__id { opacity:.9; } .addr-tile__n { position:absolute; inset-block-end:1px; inset-inline-end:3px; font-size:.55rem; }
.addr-legend-ramp { display:flex; align-items:center; gap:3px; justify-content:center; margin:.75rem 0 .25rem; font-size:.75rem; color:#4b5563; } .addr-legend-ramp i { width:1.4rem; height:.7rem; border-radius:2px; display:inline-block; }
.addr-tabs { display:flex; gap:.25rem; flex-wrap:wrap; border-bottom:1px solid var(--addr-line); margin-bottom:.75rem; }
.addr-tab { background:none; border:0; border-block-end:3px solid transparent; padding:.45rem .8rem; font:inherit; font-weight:600; font-size:.9rem; color:#4b5563; cursor:pointer; border-radius:6px 6px 0 0; }
.addr-tab:hover { background:#f3f8f5; } .addr-tab[aria-selected="true"] { color:var(--addr-green-d); border-block-end-color:var(--addr-green); }
.addr-tools { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.75rem; }
.addr .addr-filter { flex:1; min-width:9rem; width:auto; padding:.4rem .6rem; font-size:.88rem; }
.addr-seg { border:1px solid #9ca3af; background:#fff; border-radius:7px; padding:.38rem .75rem; font:inherit; font-size:.84rem; font-weight:600; cursor:pointer; color:#1f2937; } .addr-seg:hover { background:#f3f4f6; }
.addr-bars { list-style:none; margin:0; padding:0; display:grid; gap:.15rem; } .addr-bars li { margin:0; }
.addr-bars__row { display:grid; grid-template-columns:minmax(0,10rem) 1fr auto; gap:.75rem; align-items:center; padding:.3rem .4rem; border-radius:8px; text-decoration:none; color:#111827; font-size:.9rem; }
.addr-bars__row:hover, .addr-bars__row:focus-visible { background:#f3f8f5; }
.addr-bars__label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .addr-bars__track { height:.7rem; background:#f0f1f0; border-radius:4px; overflow:hidden; }
.addr-bars__bar { display:block; height:100%; background:linear-gradient(90deg,#2a8c63,#006233); border-radius:4px; transition:width .6s cubic-bezier(.2,.7,.2,1); } .addr-bars__n { font-weight:700; font-variant-numeric:tabular-nums; }
.addr-table { width:100%; border-collapse:collapse; font-size:.9rem; } .addr-table th, .addr-table td { text-align:start; padding:.4rem .5rem; border-bottom:1px solid #f0f1f0; } .addr-num { text-align:end !important; font-variant-numeric:tabular-nums; }
.addr-donut { display:grid; grid-template-columns:9rem 1fr; gap:1.25rem; align-items:center; } @media (max-width:560px) { .addr-donut { grid-template-columns:1fr; justify-items:center; } }
.addr-donut__fig { position:relative; width:9rem; height:9rem; } .addr-donut__svg { width:100%; height:100%; } .addr-donut__arc { transition:opacity .15s; }
.addr-donut__c { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1.1; } .addr-donut__c strong { font-size:1.6rem; color:var(--addr-green-d); } .addr-donut__c span { font-size:.75rem; color:#4b5563; }
.addr-donut__legend { list-style:none; margin:0; padding:0; display:grid; gap:.25rem; width:100%; } .addr-donut__item { display:flex; gap:.5rem; align-items:baseline; padding:.3rem .5rem; border-radius:8px; text-decoration:none; color:#111827; font-size:.9rem; } .addr-donut__item:hover, .addr-donut__item:focus-visible { background:#f3f8f5; } .addr-donut__t { flex:1; }
.addr-timeline { width:100%; height:auto; display:block; touch-action:pan-y; } .addr-key { display:inline-block; vertical-align:middle; margin-inline:.5rem .3rem; } .addr-key--line { width:1.2rem; height:3px; background:#006233; } .addr-key--bar { width:.6rem; height:.8rem; background:#5fb386; border-radius:2px; }
.addr-tip { position:absolute; z-index:50; pointer-events:none; background:#0b1f16; color:#fff; padding:.5rem .7rem; border-radius:8px; font-size:.8rem; line-height:1.35; box-shadow:0 6px 20px rgba(0,0,0,.3); display:flex; flex-direction:column; gap:1px; max-width:16rem; }
.addr-tip[hidden] { display:none; } .addr-tip strong { font-size:.85rem; }
@media (prefers-reduced-motion:reduce) { .addr-bars__bar, .addr-tile, .addr-donut__arc { transition:none !important; } }

/* ---------- home layout: tinted hero with overlapping search card, section bands ---------- */
.addr-home { --addr-tint:#e8f3ec; }
.addr-inner { width:100%; max-width:1100px; margin-inline:auto; padding-inline:1rem; }
.addr-band { padding-block:2.2rem; text-align:center; background:var(--addr-tint); } .addr-band h1, .addr-band h2 { color:var(--addr-green-d); margin:0 0 .6rem; }
.addr-band--hero { padding-block:2.6rem 5.2rem; } .addr-band--hero h1 { font-size:2.2rem; } .addr-band--hero p { margin:0; font-size:.95rem; color:#374151; }
.addr-searchwrap { margin-top:-3.4rem; position:relative; z-index:2; max-width:760px; }
.addr-searchcard { background:#fff; border-radius:4px; padding:1.4rem 1.5rem 1.7rem; box-shadow:0 2px 10px rgba(0,0,0,.16); } .addr-searchcard h2 { margin:0 0 1rem; font-size:1.3rem; color:#111827; }
.addr-searchcard form { display:flex; } .addr-searchfield { position:relative; flex:1; display:block; } .addr-searchfield svg { position:absolute; inset-inline-end:.8rem; inset-block-start:50%; transform:translateY(-50%); color:#374151; pointer-events:none; }
.addr-searchfield input { width:100%; height:2.9rem; border:1px solid #111827; border-inline-end:0; border-radius:3px 0 0 3px; padding-inline:.9rem 2.4rem; font-size:.9rem; background:#fff; }
[dir="rtl"] .addr-searchfield input { border-radius:0 3px 3px 0; border-inline-end:0; }
.addr-searchcard button { background:var(--addr-green); color:#fff; border:0; padding:0 1.5rem; font-weight:700; cursor:pointer; border-radius:0 3px 3px 0; font-size:.9rem; } [dir="rtl"] .addr-searchcard button { border-radius:3px 0 0 3px; } .addr-searchcard button:hover { background:var(--addr-green-d); }
.addr-sections { padding-block:1.2rem .6rem; } .addr-sections > h2 { font-size:1.9rem; margin:2.2rem 0 1.1rem; color:#1f2937; }
.addr-tile-link { display:block; text-align:center; font-weight:700; text-decoration:none; margin:0; } .addr-tile-link:hover { border-color:var(--addr-green); }
.addr-cards2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1.2rem; max-width:760px; }
.addr-infocard { background:#fff; border:1px solid #cfd4d2; padding:1.4rem 1.5rem 1.6rem; box-shadow:0 1px 3px rgba(0,0,0,.08); } .addr-infocard h3 { margin:0 0 1rem; font-size:1.05rem; color:var(--addr-green-d); }
.addr-infocard p { margin:0 0 1.1rem; font-size:.92rem; } .addr-infocard a { font-weight:700; text-decoration:none; color:#00629b; } .addr-infocard a:hover { text-decoration:underline; }
.addr-band--register { margin-top:2.4rem; padding-block:2.6rem; } .addr-band--register p { max-width:46rem; margin:.4rem auto; font-size:.92rem; }
.addr-bigbtn, .addr-bigbtn:visited { display:inline-block; background:var(--addr-green); color:#fff !important; padding:.65rem 1.6rem; border-radius:4px; font-weight:700; text-decoration:none; } .addr-bigbtn:hover { background:var(--addr-green-d); }
