:root{--ink:#18211b;--forest:#284b36;--deep:#173623;--sage:#eaf0e9;--paper:#f7f7f2;--line:#d6ddd5;--muted:#667069;--white:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.55}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.demo{background:#0e1711;color:#fff;text-align:center;padding:7px;font-size:11px;letter-spacing:.14em}header{position:sticky;top:0;z-index:20;background:rgba(247,247,242,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav{height:74px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}.brand span b,.brand span small{display:block}.brand span small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.logo{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-weight:800;font-size:12px}.logo.big{width:58px;height:58px;margin:0 auto 14px}.nav nav{display:flex;gap:21px;align-items:center}.nav nav a,.nav nav button{border:0;background:none;color:#3d4740;text-decoration:none;font-size:14px}.nav nav button{background:var(--forest);color:#fff;padding:10px 15px;border-radius:999px}.hero{min-height:640px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(16,35,23,.88),rgba(16,35,23,.25)),url('north-gate-hero.png') center/cover no-repeat,linear-gradient(135deg,#25452f,#8d9b8e)}.hero-inner{padding:86px 0}.eyebrow{display:inline-block;font-size:12px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:#d9e5dc;margin-bottom:12px}.eyebrow.dark{color:var(--forest)}h1{font:700 clamp(46px,7vw,78px)/1.02 Georgia,serif;letter-spacing:-.04em;max-width:850px;margin:0 0 20px}.lead{font-size:20px;max-width:790px;color:#edf3ef}.hearing{margin-top:34px;background:rgba(255,255,255,.95);color:var(--ink);max-width:1000px;border-radius:18px;padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.hearing small,.hearing b,.hearing span{display:block}.hearing small{font-weight:800;letter-spacing:.1em;color:var(--forest)}.hearing b{font-size:21px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:10px;padding:12px 16px;font-weight:800}.primary{background:var(--forest);color:#fff}.outline{background:transparent;border:1px solid #aab7ad;color:var(--ink)}.light{background:#fff;color:var(--forest)}.full{width:100%}.stats{background:var(--deep);color:#fff}.statgrid{display:grid;grid-template-columns:repeat(4,1fr)}.statgrid>div{padding:25px;border-right:1px solid rgba(255,255,255,.12)}.statgrid b{display:block;font:700 34px Georgia,serif}.statgrid span{font-size:13px;color:#d7e0d9}.section{padding:84px 0}.section.alt{background:#edf1ec}.cols{display:grid;grid-template-columns:1.1fr .9fr;gap:65px}.section h2,.forum-preview h2{font:700 clamp(34px,5vw,54px)/1.08 Georgia,serif;letter-spacing:-.03em;margin:0 0 20px}.cols aside{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.cols li{margin:10px 0}.note{background:#edf1ec;border-left:3px solid var(--forest);padding:14px 16px}.cards,.actiongrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.cards article,.actiongrid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.cards em,.actiongrid i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--forest);font-style:normal;font-weight:800;font-size:12px;margin-bottom:20px}.action{background:var(--forest);color:#fff}.actiongrid article{color:var(--ink)}.actiongrid i{background:var(--forest);color:#fff}.actiongrid a,.linkbtn{color:var(--forest);font-weight:800;border:0;background:none;padding:0;text-decoration:none}.docs{border-top:1px solid var(--line);margin-top:30px}.docs>div{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.docs span b,.docs span small{display:block}.docs span small{color:var(--muted)}.docs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px}.forum-preview{background:#142019;color:#fff;padding:62px 0}.preview{display:flex;justify-content:space-between;align-items:center;gap:40px}.preview p{max-width:700px}.foot{display:flex;justify-content:space-between;align-items:center;gap:30px}footer{background:#0d1510;color:#cbd4cd;padding:30px 0}footer p{font-size:13px;color:#98a39b}footer button{background:none;border:0;color:#fff}
.forum{position:fixed;inset:0;background:#f2f4f1;z-index:100;display:none}.forum.open{display:block}.forumbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:12px}.forumbar button{border:0;background:none;font-weight:800}.forumbar span{font-size:12px;color:var(--muted)}.auth{height:calc(100vh - 62px);display:grid;place-items:center;padding:20px}.authbox{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.08)}.authbox label{display:block;text-align:left;font-size:13px;font-weight:700;margin:14px 0}.authbox input{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:9px}.hint{display:block;margin-top:13px;color:var(--muted)}.forumapp{display:grid;grid-template-columns:260px 1fr;height:calc(100vh - 62px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px;overflow:auto}.user{display:flex;gap:10px;align-items:center;padding:7px 2px 18px}.user span b,.user span small{display:block}.user span small{color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-weight:800}.newpost{width:100%;border:0;background:var(--forest);color:#fff;border-radius:9px;padding:11px;font-weight:800;margin-bottom:22px}.sidebar h4{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.topic,.logout{display:block;width:100%;border:0;background:none;text-align:left;padding:9px 10px;border-radius:8px;color:#4f5b53}.topic.active{background:var(--sage);color:var(--forest);font-weight:800}.logout{margin-top:20px;color:#7d3333}.feed{overflow:auto;padding:28px}.feedhead{display:flex;justify-content:space-between;align-items:end;gap:20px}.feedhead h2{font:700 36px Georgia,serif;margin:0}.feedhead input{width:260px;padding:10px;border:1px solid var(--line);border-radius:9px}.composer{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin:18px 0}.comprow{display:grid;grid-template-columns:1fr 210px;gap:10px}.composer input,.composer select,.composer textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.composer textarea{margin-top:10px}.composeractions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.posts{display:grid;gap:12px;margin-top:18px}.post{display:grid;grid-template-columns:54px 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.votes{background:#fafbf9;padding:14px 6px;display:flex;flex-direction:column;align-items:center}.votes button{border:0;background:none;font-size:19px}.votes b{font-size:14px}.postbody{padding:17px}.meta{font-size:12px;color:var(--muted)}.tag{display:inline-block;background:var(--sage);color:var(--forest);padding:3px 7px;border-radius:999px;margin-left:6px;font-size:11px;font-weight:800}.postbody h3{margin:6px 0}.postactions{display:flex;gap:16px;margin-top:10px}.postactions button{border:0;background:none;padding:0;color:#59645d;font-size:13px;font-weight:700}.comments{border-top:1px solid var(--line);margin-top:13px;padding-top:10px}.comment{padding:8px 0;border-bottom:1px solid #edf0ed}.comment strong{font-size:12px}.comment p{margin:2px 0}.commentform{display:flex;gap:8px;margin-top:10px}.commentform input{flex:1;padding:9px;border:1px solid var(--line);border-radius:8px}.commentform button{border:0;background:var(--forest);color:#fff;border-radius:8px;padding:0 12px}
@media(max-width:900px){.nav nav a{display:none}.statgrid,.cards,.actiongrid{grid-template-columns:1fr 1fr}.cols{grid-template-columns:1fr;gap:30px}.preview,.hearing{align-items:flex-start;flex-direction:column}.forumapp{grid-template-columns:1fr}.sidebar{display:none}}@media(max-width:620px){.wrap{width:calc(100% - 26px)}h1{font-size:47px}.lead{font-size:17px}.statgrid,.cards,.actiongrid{grid-template-columns:1fr}.hearing .actions,.hearing .btn{width:100%}.docs>div{align-items:flex-start;flex-direction:column;gap:10px}.foot{align-items:flex-start;flex-direction:column}.forumbar span{display:none}.feed{padding:18px 12px}.feedhead{align-items:stretch;flex-direction:column}.feedhead input{width:100%}.comprow{grid-template-columns:1fr}.post{grid-template-columns:44px 1fr}}

.empty{background:#fff;border:1px solid var(--line,#d6ddd5);border-radius:14px;padding:24px;color:#59645d}
.votes button.voted{color:#173623;font-weight:900;transform:scale(1.12)}
.locked-note{font-size:13px;color:#667069;font-style:italic}
.comment small{color:#667069}

.admin-delete{border-color:#a94442;color:#8f2d2b}
.admin-delete:hover{background:#fff3f2}

.docbtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.docs .docbtn{border:1px solid #c8d0c8;background:#fff;color:#173623;border-radius:8px;padding:9px 13px;font:inherit;font-weight:700;white-space:nowrap}
.docs .docbtn:hover{background:#f3f6f3}

.attachpick{display:block;margin:12px 0;padding:12px;border:1px dashed #b9c4ba;border-radius:10px;background:#fafcf9;font-weight:700}
.attachpick input{display:block;margin-top:8px}
.attachpick small{display:block;margin-top:6px;color:#667069;font-weight:400}
.attachments{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.attachment{display:inline-flex;align-items:center;border:1px solid #d4ddd5;border-radius:9px;background:#f8faf8;overflow:hidden}
.attachment-open{border:0;background:transparent;padding:8px 10px;cursor:pointer;color:#173623;font-weight:700}
.attachment-open small{font-weight:400;color:#687268;margin-left:5px}
.attachment-delete{border:0;border-left:1px solid #d4ddd5;background:#fff;padding:8px 10px;color:#8f2d2b;cursor:pointer;font-size:17px}
.adminpanelbtn{margin-top:8px;background:#eef3ee!important;color:#173623!important}
.adminmodal{position:fixed;inset:0;z-index:10000;background:rgba(10,24,15,.58);display:flex;align-items:center;justify-content:center;padding:20px}
.adminmodal[hidden]{display:none}
.adminbox{background:#fff;width:min(720px,95vw);max-height:85vh;overflow:auto;border-radius:18px;padding:24px;box-shadow:0 25px 80px rgba(0,0,0,.25)}
.adminhead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.adminhead h2{margin:.25rem 0}
.adminclose{border:0;background:#eef2ed;border-radius:50%;width:38px;height:38px;font-size:25px;cursor:pointer}
.addadmin{display:flex;gap:8px;margin:20px 0}
.addadmin input{flex:1;min-width:0;padding:11px;border:1px solid #ccd5cd;border-radius:9px}
.memberlist{border-top:1px solid #e1e6e1}
.memberrow{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 2px;border-bottom:1px solid #e8ece8}
.memberrow small{display:block;color:#687268;margin-top:3px}
.rolebtn{border:1px solid #cbd4cb;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer;white-space:nowrap}
.rolebtn.promote{color:#173623;font-weight:700}
.rolebtn.demote{color:#8f2d2b}

.profilebtn{width:100%;margin:8px 0 4px;border:1px solid #cbd4cb;background:#fff;color:#173623;border-radius:9px;padding:9px 10px;font-weight:700;cursor:pointer}
.profilebtn:hover{background:#f3f6f3}
.profilehint{display:block;color:#687268;margin-top:8px;line-height:1.4}
.profilebox{max-width:560px}
