:root{--c-navy:#0a3656;--c-navy2:#0d4969;--c-green:#11845d;--c-bg:#f1f5f6;--c-line:#dce5e8;--c-ink:#172635;--c-muted:#6c7c88}
*{box-sizing:border-box}.council-app{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:82px}.council-topbar{position:sticky;top:0;z-index:50;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100vw - 1180px)/2));background:linear-gradient(110deg,var(--c-navy),#0b5266);color:#fff;box-shadow:0 6px 22px rgba(9,42,62,.13)}.council-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.council-brand>span{width:40px;height:40px;border:1px solid rgba(255,255,255,.34);border-radius:13px;display:grid;place-items:center;font-size:1.25rem;font-weight:850}.council-brand strong,.council-brand small{display:block}.council-brand small{margin-top:2px;color:rgba(255,255,255,.7);font-size:.7rem}.council-menu-toggle{width:42px;height:42px;border:0;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:1.3rem}.council-main{width:min(calc(100% - 34px),1180px);margin:0 auto;padding:30px 0}.council-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:20px}.council-page-head h1{margin:4px 0 5px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.council-page-head p{margin:0;color:var(--c-muted)}.compact-head{margin-top:8px}.council-kicker{display:block;color:var(--c-green);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.council-card{background:#fff;border:1px solid var(--c-line);border-radius:18px;padding:20px;box-shadow:0 8px 30px rgba(20,48,65,.04)}.council-card.narrow{max-width:620px}.council-card h2{margin:0 0 15px}.council-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.council-stack{display:grid;gap:16px}.council-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.council-stats a{padding:16px 18px;border:1px solid var(--c-line);border-radius:16px;background:#fff;text-decoration:none;color:inherit}.council-stats small,.council-stats strong{display:block}.council-stats small{color:var(--c-muted);font-weight:750}.council-stats strong{margin-top:5px;font-size:2rem}.council-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.council-card-head h2{margin:2px 0 0}.council-card-head>a{color:var(--c-green);font-weight:800}.council-list{display:grid}.council-list>a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f3;color:inherit;text-decoration:none}.council-list>a:last-child{border-bottom:0}.council-list>a>span{min-width:0}.council-list strong,.council-list small,.council-list em{display:block}.council-list small{margin-top:3px;color:var(--c-muted);font-size:.74rem}.council-list em{margin-top:3px;color:var(--c-green);font-size:.69rem;font-style:normal}.council-list b{flex:0 0 auto}.council-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-line);border-radius:11px;background:#fff;color:var(--c-navy);padding:11px 15px;font-weight:800;cursor:pointer;text-decoration:none}.council-btn.primary{background:var(--c-navy);border-color:var(--c-navy);color:#fff}.council-btn.compact{padding:8px 11px;font-size:.76rem}.council-form{display:grid;gap:13px}.council-form label{display:grid;gap:6px;font-weight:750;font-size:.82rem}.council-form input,.council-form select,.council-form textarea{width:100%;border:1px solid #ccd8dd;border-radius:11px;background:#fff;padding:11px 12px;font:inherit;color:inherit}.council-form textarea{min-height:110px;resize:vertical}.council-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.council-filter-row{display:flex;gap:8px;overflow:auto;margin:0 0 14px;padding-bottom:3px}.council-filter-row a{flex:0 0 auto;padding:8px 12px;border:1px solid var(--c-line);border-radius:999px;background:#fff;color:var(--c-ink);font-size:.76rem;font-weight:800;text-decoration:none}.council-filter-row a.active{background:var(--c-navy);border-color:var(--c-navy);color:#fff}.council-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.council-actions a{padding:18px;border-radius:16px;background:linear-gradient(135deg,#0d5365,#147454);color:#fff;text-decoration:none}.council-actions strong,.council-actions span{display:block}.council-actions span{margin-top:4px;color:rgba(255,255,255,.72);font-size:.75rem}.council-dl{display:grid;grid-template-columns:120px 1fr;gap:10px 14px;margin:0}.council-dl dt{color:var(--c-muted);font-size:.75rem;font-weight:800}.council-dl dd{margin:0}.council-report-photo{display:block;margin:17px 0}.council-report-photo img{width:100%;max-height:340px;object-fit:cover;border-radius:14px}.council-timeline{display:grid;gap:0}.council-timeline>div{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:15px}.council-timeline>div>span{width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--c-green);box-shadow:0 0 0 4px #e8f5ef}.council-timeline>div:not(:last-child):before{content:"";position:absolute;left:4px;top:16px;bottom:0;width:2px;background:#e3eaed}.council-timeline p{margin:0}.council-timeline small,.council-timeline em{display:block;margin-top:2px;color:var(--c-muted);font-size:.7rem;font-style:normal}.council-back{display:inline-block;margin-bottom:8px;color:var(--c-green);font-weight:800}.council-chat-mini{display:grid;gap:11px}.council-chat-mini>div{padding:11px;border-radius:11px;background:#f5f8f9}.council-chat-mini p{margin:3px 0}.council-chat-mini a{font-size:.72rem;color:var(--c-green);font-weight:800}.council-chat-page{padding-bottom:13px}.council-chat-stream{height:min(58vh,560px);overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px}.council-chat-stream article{align-self:flex-start;max-width:82%;padding:11px 13px;border-radius:14px 14px 14px 4px;background:#edf3f5}.council-chat-stream article.mine{align-self:flex-end;background:#e6f3ed;border-radius:14px 14px 4px 14px}.council-chat-stream header{display:flex;gap:12px;justify-content:space-between}.council-chat-stream time{color:var(--c-muted);font-size:.65rem}.council-chat-stream p{margin:5px 0}.council-chat-stream a{font-size:.72rem;color:var(--c-green);font-weight:800}.council-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px;border-top:1px solid var(--c-line);padding-top:12px}.council-chat-form textarea{min-height:50px;max-height:140px;border:1px solid #ccd8dd;border-radius:12px;padding:11px;resize:vertical}.council-flash{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:#e5f5ec;color:#116846;font-weight:750}.council-flash.error{background:#fff0ef;color:#a23b33}.new-dot{color:#fff;background:#d04c42;padding:4px 7px;border-radius:999px;font-size:.68rem}.council-login-card{width:min(100%,560px);margin:7vh auto;background:#fff;border:1px solid var(--c-line);border-radius:22px;padding:28px}.council-login-card h1{margin:5px 0 8px;font-size:2.2rem}.council-login-card>p{color:var(--c-muted)}.council-login-note{margin-top:20px;padding:13px;border-radius:12px;background:#eef5f4}.council-login-note strong,.council-login-note span{display:block}.council-login-note span{margin-top:4px;color:var(--c-muted);font-size:.76rem}.council-drawer{position:fixed;z-index:80;top:0;right:0;bottom:0;width:min(340px,90vw);padding:20px;background:#092f4b;color:#fff;transform:translateX(105%);transition:.2s;box-shadow:-20px 0 50px rgba(0,0,0,.25)}.council-drawer.open{transform:none}.council-drawer-head{padding:10px 8px 16px;border-bottom:1px solid rgba(255,255,255,.13)}.council-drawer-head strong,.council-drawer-head small{display:block}.council-drawer-head small{margin-top:3px;color:rgba(255,255,255,.62)}.council-drawer nav{display:grid;gap:5px;margin-top:14px}.council-drawer nav a{padding:12px;border-radius:10px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;font-weight:750}.council-drawer-backdrop{position:fixed;z-index:70;inset:0;background:rgba(3,18,29,.5)}.council-bottom-nav{position:fixed;z-index:60;left:0;right:0;bottom:0;height:70px;display:none;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.97);border-top:1px solid var(--c-line);padding-bottom:env(safe-area-inset-bottom)}.council-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#73818a;text-decoration:none;font-size:1.1rem}.council-bottom-nav span{font-size:.62rem;font-weight:800}.council-bottom-nav a.active{color:var(--c-green)}.council-pwa-banner{position:fixed;z-index:65;left:50%;bottom:18px;transform:translateX(-50%);width:min(calc(100% - 30px),820px);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:15px;background:#0b354f;color:#fff;box-shadow:0 15px 45px rgba(0,0,0,.23)}.council-pwa-banner>div:last-child{display:flex;gap:7px;align-items:center}.council-pwa-banner strong,.council-pwa-banner span{display:block}.council-pwa-banner span{font-size:.72rem;color:rgba(255,255,255,.72)}.council-pwa-close{border:0;background:transparent;color:#fff;font-size:1.4rem}.council-message-body{padding:14px;border-radius:12px;background:#f4f7f8}.event-calendar-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.event-author{margin-top:8px;color:var(--c-muted);font-size:.72rem}
@media(max-width:760px){.council-app{padding-bottom:78px}.council-topbar{height:64px;padding:0 14px}.council-main{width:calc(100% - 24px);padding:20px 0}.council-bottom-nav{display:grid}.council-page-head{align-items:flex-start;flex-direction:column;gap:10px}.council-page-head h1{font-size:2rem}.council-grid-two{grid-template-columns:1fr}.council-stats{grid-template-columns:1fr 1fr}.council-stats a{padding:13px}.council-stats strong{font-size:1.55rem}.council-actions{grid-template-columns:1fr}.council-card{padding:16px}.council-form-grid{grid-template-columns:1fr}.council-list>a{align-items:flex-start}.council-list>a b{font-size:.65rem}.council-dl{grid-template-columns:1fr;gap:3px}.council-dl dd{margin-bottom:8px}.council-chat-stream{height:52vh}.council-chat-form{grid-template-columns:1fr}.council-pwa-banner{bottom:78px;align-items:flex-start;flex-direction:column}.council-pwa-banner>div:last-child{width:100%;flex-wrap:wrap}.council-pwa-banner .council-btn{flex:1}.council-login-card{margin:25px auto;padding:20px}.council-login-card h1{font-size:1.8rem}}
