.citizen-portal{--foreground:#172a21;--primary:#187347;--primary-foreground:#fff;--primary-soft:#e4f5e4;--ring:#187347;--canvas:#f5f7f2;--border:#dce6db;--input:#afc4b4;--muted-foreground:#5c7062}.citizen-hero{background:linear-gradient(125deg,#10261d 0%,#17402c 58%,#206044 100%)}.citizen-hero-orb{pointer-events:none;background:radial-gradient(circle,#85d55e80 0%,#85d55e00 70%);border-radius:50%;width:290px;height:290px;position:absolute;bottom:-195px;right:-65px}.citizen-action{background:#b6ef83}.citizen-action:hover{background:#c8f6a1}.citizen-shortcut{border:1px solid #e5ece4}.citizen-shortcut:hover{border-color:#a9d7b4}.citizen-card-art{color:#23734e;background:linear-gradient(135deg,#d9efdb,#f0f8e8);place-items:center;height:112px;display:grid}.citizen-card-art-projeto{color:#607334;background:linear-gradient(135deg,#e8efd4,#f8f5e7)}.citizen-card-art-noticia{color:#3b667b;background:linear-gradient(135deg,#deedf1,#f4f6ed)}.citizen-nav{margin:0 0 1.5rem}.citizen-nav-inner{gap:.25rem;display:flex}.citizen-nav-item{color:#536a59;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;min-height:44px;padding:.65rem .9rem;font-size:.82rem;font-weight:700;display:inline-flex}.citizen-nav-item:hover{background:#e6f0e5}.citizen-nav-item.is-active{color:#175f3c;background:#e0f2df}.citizen-portal button:focus-visible,.citizen-portal a:focus-visible,.citizen-portal summary:focus-visible{outline-offset:3px;outline:3px solid #1b814b}@media (width<=639px){.citizen-nav{z-index:30;padding:.35rem .4rem max(.35rem, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e9e1;margin:0;position:fixed;inset:auto 0 0;box-shadow:0 -6px 20px #10261d12}.citizen-nav-inner{max-width:32rem;margin:auto}.citizen-nav-item{text-align:center;flex-direction:column;flex:1;gap:.2rem;min-width:0;min-height:52px;padding:.35rem .1rem;font-size:.61rem;line-height:1.1}.citizen-nav-item span{white-space:nowrap}}@media (prefers-reduced-motion:reduce){.citizen-portal .animate-pulse{animation:none}.citizen-portal .transition-transform{transition:none}}
