:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1a303d;background:#f3f7f9}*{box-sizing:border-box}body{margin:0}header{background:#123b55;color:white}.shell{max-width:1180px;margin:auto;padding:18px}.top,.sectionbar{display:flex;justify-content:space-between;align-items:center;gap:16px}h1{margin:0;font-size:29px}h1 span{color:#73d5c5}small{color:#c2dce5}.notice{background:#fff8e6;border-left:4px solid #dc9b22;padding:13px 16px;margin:18px 0;border-radius:8px;font-size:14px}nav{display:flex;gap:8px;border-bottom:1px solid #d3e0e7;margin:15px 0 20px;overflow:auto}button,.filebutton{font:inherit;border:1px solid #cbdbe2;background:white;border-radius:9px;padding:10px 14px;cursor:pointer;color:#17475f}button:hover,.filebutton:hover{background:#e9f5f6}nav button{white-space:nowrap;border-radius:9px 9px 0 0}nav .active,.primary{background:#176f7b;color:white;border-color:#176f7b}.primary:hover{background:#115a66}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.stats>div,.item{background:white;border:1px solid #dce7eb;border-radius:13px;padding:17px;box-shadow:0 2px 8px #0c334208}.stats b{display:block;font-size:28px}.stats span,.muted{color:#637784;font-size:14px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.filters>*{flex:1;min-width:160px}input,select,textarea{font:inherit;border:1px solid #c5d6df;border-radius:8px;padding:11px;width:100%;background:white;color:#203b49}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:13px}.item h3{margin:8px 0;font-size:18px}.item p{margin:7px 0;font-size:14px;line-height:1.45}.tag{display:inline-block;background:#e6f1f3;border-radius:99px;padding:4px 9px;font-size:12px;margin:2px 4px 2px 0}.tag.warn{background:#fff0d2}.tag.ok{background:#e0f3e8}.item a{color:#0b637b;overflow-wrap:anywhere}.item details{margin-top:12px;border-top:1px solid #e4ebef;padding-top:9px}.item summary{cursor:pointer;color:#176f7b}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.danger{color:#a12828;border-color:#e2b3b3}dialog{border:0;border-radius:15px;box-shadow:0 20px 60px #0005;width:min(95vw,530px);max-height:90vh;overflow:auto}dialog::backdrop{background:#10232b9a}form label{display:block;margin:12px 0;font-size:14px;font-weight:600}form label input,form label select,form label textarea{margin-top:5px}footer{color:#738b95;font-size:12px;margin-top:32px;padding-bottom:40px}@media(max-width:580px){.shell{padding:12px}.stats{gap:7px}.stats>div{padding:11px}.stats b{font-size:23px}.stats span{font-size:11px}.sectionbar h2{font-size:19px}.filters>*{min-width:100%}}

.grant-detail summary{font-weight:700;padding:7px 0}.detail-panel{padding:8px 0}.detail-panel h4{margin:18px 0 7px;color:#123b55;border-bottom:1px solid #e4ebef;padding-bottom:5px}.detail-panel .notice{margin:14px 0}.detail-panel p{line-height:1.55}

/* Horšovský Týn visual identity: historic silhouette, sandstone and deep forest green */
:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#24352f;background:#f6f4ee;--forest:#173f38;--gold:#c49b55;--cream:#f6f4ee}
header{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#102f2a 0%,#1d5147 58%,#2a594e 100%);min-height:260px}
header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 20%,#dfc18922,transparent 42%),linear-gradient(90deg,#102d29cc 0%,#143a35b0 50%,#143a3533 100%);z-index:-1}
.hero-art{position:absolute;right:0;bottom:0;top:0;width:76%;background-image:url('horsovsky-tyn-silhouette.svg');background-size:auto 100%;background-position:right bottom;background-repeat:no-repeat;opacity:.78;z-index:-2}
.top{min-height:194px;align-items:flex-start;padding-top:40px}
.brand-kicker{color:#e5c992;font-size:11px;font-weight:800;letter-spacing:.23em;margin-bottom:11px}
h1{font-size:clamp(40px,6vw,66px);letter-spacing:-.055em;line-height:1.02;font-weight:800;text-shadow:0 2px 18px #102a2b30}
h1 span{color:#e8c587}small{display:block;margin-top:12px;color:#e9e6d8;font-size:14px}.separator{color:#d6b575;margin:0 5px}
.hero-caption{display:flex;gap:13px;align-items:center;color:#f0dfb9;font-size:13px;letter-spacing:.03em;padding-bottom:20px}.hero-line{height:1px;width:45px;background:#d5b575}
.shell{max-width:1210px}.notice{background:#fffaf0;border-left-color:#bb8d43;color:#645336;box-shadow:0 2px 12px #3c2b1208}
nav{border-color:#dedbd1;gap:8px}nav button{font-weight:650}nav .active,.primary{background:#1d584d;border-color:#1d584d;color:white}.primary:hover{background:#133f37}
button,.filebutton{color:#245249;border-color:#d8ded7}button:hover,.filebutton:hover{background:#f0f3ec}
.stats>div,.item{border:1px solid #e3e1d8;box-shadow:0 6px 24px #203f3210;border-radius:17px}.stats>div{background:linear-gradient(145deg,#fff,#fdfaf2);border-top:3px solid #c8a76b}.stats b{color:#19483e;font-weight:800;font-size:32px}
.item{transition:transform .18s,box-shadow .18s}.item:hover{transform:translateY(-2px);box-shadow:0 12px 30px #203f321b}.item h3{color:#173f38;line-height:1.3}
.tag{background:#e9f0e9;color:#24564a}.tag.warn{background:#f8ecd6;color:#825e22}.tag.ok{background:#e2f1e6;color:#236747}
.item a,.item summary{color:#19614e}.detail-panel h4{color:#1d5147;border-color:#e9e4d9}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #c8a76b;outline-offset:2px}
footer{border-top:1px solid #e0dfd5;color:#747a6c}
@media(max-width:650px){header{min-height:224px}.top{min-height:166px;padding-top:29px}.hero-art{width:100%;opacity:.42;background-position:64% bottom}h1{font-size:46px}.brand-kicker{font-size:9px}.hero-caption{font-size:11px}.stats b{font-size:25px}small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.item{transition:none}.item:hover{transform:none}}

/* v1.3 – official city logo sourced unchanged from municipal website. */
.official-brand{display:flex;align-items:center;gap:19px;margin-bottom:20px;flex-wrap:wrap}
.official-brand a{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:10px 14px;min-width:135px;min-height:74px;box-shadow:0 6px 22px #0b1c1733}
.official-brand img{max-width:230px;width:auto;height:auto;max-height:90px;object-fit:contain}
.official-brand.logo-unavailable a{display:none}
.official-brand .brand-kicker{margin:0;max-width:260px;line-height:1.8}
header{min-height:300px}.top{min-height:230px}
@media(max-width:650px){.official-brand{gap:10px}.official-brand a{min-height:58px;padding:7px 10px}.official-brand img{max-width:160px;max-height:64px}.official-brand .brand-kicker{font-size:9px;max-width:140px}header{min-height:285px}.top{min-height:225px}}

.resource-panel{margin:1rem 0;padding:1rem;border:1px solid #c5d8e2;border-radius:12px;background:#f5f9fb;color:#16374a}.resource-panel h4{margin:0 0 .65rem}.resource{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #dbe4e9}.resource strong{display:block}.resource small{display:block;color:#536a78;margin-top:.25rem}.resource-button{display:inline-block;white-space:nowrap;padding:.55rem .8rem;border-radius:8px;background:#123b55;color:white!important;text-decoration:none;font-weight:600}.unverified{font-size:.85rem;color:#755e38}.resource-panel .muted{font-size:.85rem}@media(max-width:520px){.resource{align-items:flex-start;flex-direction:column}.resource-button{width:100%;text-align:center}}

.monitor{border:1px solid #b5c7cc;border-radius:16px;padding:18px;margin:18px 0;background:#f3f8f8;color:#173c4a}.monitor p{margin:9px 0}.monitor button{border:1px solid #315b64;background:white;border-radius:9px;padding:9px 13px;cursor:pointer}#monitorChanges p{border-top:1px solid #d6e2e3;padding-top:8px;font-size:.9rem}
