/* One dashboard page, three tabs (2026-11-11, owner), GovCheck brand. */
.gdb { margin: 0 0 1.5rem; }
.gdb-tabs { display: flex; flex-wrap: wrap; gap: .3rem; margin: 0 0 1.2rem; padding: .3rem; border-radius: 999px; background: #fff; box-shadow: 0 1px 3px rgba(44, 43, 71, .1); }
.gdb-tabs a { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 1.2rem; border-radius: 999px; color: #2c2b47; font-weight: 700; text-decoration: none; white-space: nowrap; }
.gdb-tabs a:hover { background: #f8f6f1; }
.gdb-tabs a[aria-selected="true"] { background: #3b3a5e; color: #fff; }
.gdb-panel { display: none; }
html.gdb-on-projets .gdb-panel[data-panel="projets"], html.gdb-on-problemes .gdb-panel[data-panel="problemes"] { display: block; }
html:is(.gdb-on-projets, .gdb-on-problemes) main .region-content > :not(.gdb) { display: none !important; }
.gdb-wait { padding: 2rem; color: #5f6672; text-align: center; }
.gdb-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .8rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.gdb-tile { display: grid; gap: .25rem; padding: 1rem 1.1rem; border-radius: 16px; background: #fff; box-shadow: 0 1px 3px rgba(44, 43, 71, .08); border-top: 4px solid #3b3a5e; }
.gdb-tile b { color: #2c2b47; font-size: 1.9rem; line-height: 1.1; }
.gdb-tile span { color: #5f6672; font-size: .875rem; font-weight: 600; }
.gdb-tile--ok { border-top-color: #2d6d50; } .gdb-tile--ok b { color: #2d6d50; }
.gdb-tile--warn { border-top-color: #eca327; }
.gdb-tile--bad { border-top-color: #ee7b42; } .gdb-tile--bad b { color: #b8470f; }
.gdb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; }
.gdb-card { padding: 1.1rem 1.2rem; border-radius: 18px; background: #fff; box-shadow: 0 1px 3px rgba(44, 43, 71, .08); }
.gdb-card h3 { margin: 0 0 .9rem; color: #2c2b47; font-size: 1.05rem; }
.gdb-donut { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; }
.gdb-donut__ring { position: relative; flex: none; width: 150px; height: 150px; border-radius: 50%; }
.gdb-donut__ring span { position: absolute; inset: 26px; display: grid; place-items: center; border-radius: 50%; background: #fff; }
.gdb-donut__ring b { color: #2c2b47; font-size: 1.6rem; }
.gdb-donut ul { display: grid; flex: 1; gap: .45rem; min-width: 150px; margin: 0; padding: 0; list-style: none; font-size: .88rem; }
.gdb-donut li { display: flex; align-items: center; gap: .5rem; }
.gdb-donut li i { flex: none; width: 12px; height: 12px; border-radius: 3px; }
.gdb-donut li b { margin-left: auto; color: #2c2b47; }
.gdb-bars { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.gdb-bars li { position: relative; display: flex; justify-content: space-between; gap: .6rem; padding: .4rem .6rem; overflow: hidden; border-radius: 8px; background: #f3f3f9; font-size: .875rem; }
.gdb-bars li span, .gdb-bars li b { position: relative; z-index: 1; }
.gdb-bars li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gdb-bars li b { color: #2c2b47; }
.gdb-bars li i { position: absolute; left: 0; top: 0; bottom: 0; opacity: .22; border-radius: 8px; }
.gdb-more { margin: 1.2rem 0 0; text-align: center; }
@media (max-width: 767.98px) { .gdb-tabs { border-radius: 18px; } .gdb-tabs a { flex: 1 1 100%; } .gdb-tile b { font-size: 1.5rem; } }

/* Redesign of 2026-11-12 (owner): a short header, a headline per tab,
   figures that open their list, statuses as one segmented bar, rankings
   with their share. CERC brand kit. */
html.gdb-page body .page-hero.page-hero.page-hero.ec-phero:not(#_) { padding-block: 1rem 1.1rem !important; min-height: 0 !important; }
html.gdb-page body .page-hero.page-hero.page-hero.ec-phero:not(#_) :is(h1, .ec-phero__title) { margin: .3rem 0 .2rem !important; font-size: clamp(1.7rem, 2.8vw, 2.3rem) !important; }
html.gdb-page body .page-hero.ec-phero:not(#_) p { margin-bottom: 0; }
.gdb-tabs { margin-bottom: 1rem; box-shadow: 0 1px 2px rgba(59, 58, 94, .08), 0 10px 24px -18px rgba(59, 58, 94, .5); }
.gdb-tabs a { min-height: 48px; font-size: 1.02rem; font-weight: 800; color: #3b3a5e; }
.gdb-lead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .3rem 1.5rem; margin: 0 0 .9rem; padding: .9rem 1.3rem; border-radius: 18px; background: #3b3a5e; color: #fff; box-shadow: 0 14px 30px -18px rgba(59, 58, 94, .8); }
.gdb-lead p { margin: 0; color: #fff; font-size: 1.15rem; font-weight: 500; line-height: 1.3; }
.gdb-lead b { margin-right: .15em; color: #eca327; font-family: "Draft Natural", Barlow, sans-serif; font-size: 1.7em; font-weight: 700; line-height: 1; }
.gdb-lead span { margin: 0 .4em; opacity: .5; }
.gdb-lead small { color: rgba(255, 255, 255, .78); font-size: .9rem; font-weight: 600; }
.gdb-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin-bottom: .9rem; }
.gdb-tiles--six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.gdb-tile { position: relative; align-content: start; gap: .15rem; padding: .85rem 1rem .9rem; border-radius: 18px; border-top: 5px solid #3b3a5e; box-shadow: 0 1px 2px rgba(59, 58, 94, .08); transition: transform .15s, box-shadow .15s; }
.gdb-tile b { color: #3b3a5e; font-size: 2rem; font-weight: 800; white-space: nowrap; }
.gdb-tile span { color: #6b6b75; font-size: .95rem; line-height: 1.25; }
.gdb-tile a { margin-top: .25rem; color: #2b6f84 !important; font-size: .92rem; font-weight: 800; text-decoration: none !important; }
.gdb-tile a::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.gdb-tile:has(a):hover { transform: translateY(-3px); box-shadow: 0 14px 28px -16px rgba(59, 58, 94, .55); }
.gdb-tile--blue { border-top-color: #4faac6; }
.gdb-tile--amber { border-top-color: #eca327; }
.gdb-tile--ok { border-top-color: #5ab78d; }
.gdb-tile--bad { border-top-color: #ee7b42; }
.gdb-card { padding: 1.1rem 1.3rem 1.2rem; border-radius: 18px; }
.gdb-card h3 { margin-bottom: .8rem; color: #3b3a5e; font-size: 1.2rem; }
.gdb-pipe { margin-bottom: 1rem; }
.gdb-pipe__bar { display: flex; gap: 3px; height: 26px; margin: 0 0 .9rem; overflow: hidden; border-radius: 2.25rem; background: #efede5; }
.gdb-pipe__bar i { flex: 1 1 0; min-width: 8px; }
.gdb-pipe__keys { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.gdb-pipe__keys li { display: inline-flex; align-items: baseline; gap: .45rem; padding: .35rem .85rem .4rem; border-radius: 2.25rem; background: #f6f6f4; color: #414141; font-size: .95rem; }
.gdb-pipe__keys li i { align-self: center; width: 12px; height: 12px; border-radius: 50%; }
.gdb-pipe__keys li b { color: #3b3a5e; font-size: 1.2rem; font-weight: 800; }
.gdb-pipe__keys li small { color: #6b6b75; font-size: .875rem; font-weight: 600; }
.gdb-pipe__keys li.is-zero { opacity: .6; }
.gdb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.gdb-rank { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.gdb-rank li { display: grid; grid-template-columns: minmax(0, 11.5rem) minmax(0, 1fr) 3rem 3rem; align-items: center; gap: .7rem; padding: .42rem 0; border-top: 1px solid #f0eee6; font-size: .95rem; }
.gdb-rank li:first-child { border-top: 0; }
.gdb-rank__label { color: #414141; font-weight: 600; line-height: 1.25; }
.gdb-rank__track { height: 12px; overflow: hidden; border-radius: 2.25rem; background: #efede5; }
.gdb-rank__track i { display: block; height: 100%; border-radius: 2.25rem; }
.gdb-rank b { color: #3b3a5e; font-size: 1.05rem; font-weight: 800; text-align: right; }
.gdb-rank small { color: #6b6b75; font-size: .875rem; font-weight: 600; text-align: right; }
.gdb-more .btn { min-height: 48px; padding: 0 1.5rem; border-radius: 2.25rem; background: #eca327; border-color: #eca327; color: #2c2b47 !important; font-weight: 800; }
@media (max-width: 1023.98px) { .gdb-tiles--six { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gdb-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767.98px) {
  .gdb-tiles, .gdb-tiles--six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gdb-tile b { font-size: 1.6rem; }
  .gdb-lead p { font-size: 1.02rem; }
  .gdb-rank li { grid-template-columns: minmax(0, 1fr) 2.6rem 2.8rem; }
  .gdb-rank__track { grid-column: 1 / -1; grid-row: 2; }
}
html.gdb-page body .page-hero.page-hero.page-hero.ec-phero:not(#_) .ec-phero__inner { padding-block: 0 !important; min-height: 0 !important; }
