.public-sitemap-page { background: #f6fafc; min-height: 65vh; }
.public-sitemap-hero { padding: 3.5rem 0; color: #fff; background: linear-gradient(135deg, #07366c, #0e6596); }
.public-sitemap-hero span { color: #9edbe2; font-weight: 700; }
.public-sitemap-hero h1 { margin: .65rem 0; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; }
.public-sitemap-hero p { margin: 0 0 1.25rem; color: rgba(255, 255, 255, .8); }
.public-sitemap-hero a { display: inline-flex; gap: .5rem; align-items: center; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .45); }
.public-sitemap-content { display: grid; gap: 1.3rem; padding-top: 2rem; padding-bottom: 3rem; }
.public-sitemap-group { padding: 1.3rem; border: 1px solid #dce9ef; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(7, 54, 108, .06); }
.public-sitemap-group h2 { display: flex; align-items: center; gap: .65rem; margin: 0 0 1rem; color: #123b55; font-size: 1.2rem; }
.public-sitemap-group h2 i { color: #178995; }
.public-sitemap-group h2 small { min-width: 28px; padding: .18rem .45rem; border-radius: 999px; color: #fff; background: #178995; text-align: center; font-size: .7rem; }
.public-sitemap-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: .7rem; }
.public-sitemap-links > a { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .85rem 1rem; border: 1px solid #e3edf2; border-radius: 12px; color: #21485e; text-decoration: none; }
.public-sitemap-links > a:hover { border-color: #178995; background: #f2fbfc; }
.public-sitemap-links span { min-width: 0; display: grid; gap: .25rem; }
.public-sitemap-links strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.public-sitemap-links code { color: #718792; direction: ltr; text-align: start; font-size: .7rem; }

.sitemap-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.2rem; }
.sitemap-summary-grid article { display: grid; grid-template-columns: 42px 1fr; align-items: center; padding: 1rem; border: 1px solid #dce9ef; border-radius: 14px; background: #fff; }
.sitemap-summary-grid i { grid-row: 1 / span 2; color: #178995; font-size: 1.45rem; }
.sitemap-summary-grid strong { color: #173f55; font-size: 1.15rem; }
.sitemap-summary-grid span { color: #728791; font-size: .75rem; }
.sitemap-admin-list { display: grid; gap: .7rem; }
.sitemap-admin-row { display: grid; grid-template-columns: minmax(250px, 1.6fr) 110px 95px 115px 110px; gap: .8rem; align-items: center; padding: .8rem; border: 1px solid #e0ebf0; border-radius: 12px; background: #fbfdfe; }
.sitemap-page-title { display: grid; gap: .22rem; min-width: 0; }
.sitemap-page-title span { color: #6d828d; font-size: .75rem; }
.sitemap-page-title code { overflow: hidden; color: #178995; direction: ltr; text-align: start; text-overflow: ellipsis; }
.sitemap-admin-row > label:not(.admin-check) { display: grid; gap: .3rem; color: #667c88; font-size: .72rem; }
.sitemap-home-lock { color: #647983; font-size: .76rem; }
.sitemap-auto-note { margin-top: 1.2rem; display: grid; gap: .35rem; }

@media (max-width: 1000px) {
    .sitemap-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .sitemap-admin-row { grid-template-columns: 1fr 100px; }
}

@media (max-width: 600px) {
    .sitemap-summary-grid { grid-template-columns: 1fr; }
    .sitemap-admin-row { grid-template-columns: 1fr; }
}
