:root{color-scheme:light;--radius: .5rem;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--background: oklch(.985 .004 260);--foreground: oklch(.18 .02 260);--card: oklch(1 0 0);--card-foreground: oklch(.18 .02 260);--muted: oklch(.955 .006 260);--muted-foreground: oklch(.48 .02 260);--accent: oklch(.94 .01 260);--accent-foreground: oklch(.28 .09 260);--border: oklch(.9 .008 260);--input: oklch(.9 .008 260);--ring: oklch(.28 .09 260);--civic: oklch(.28 .09 260);--civic-foreground: oklch(.985 .004 260);--gold: oklch(.72 .13 80);--success: oklch(.5 .14 150);--warning: oklch(.68 .14 70);--danger: oklch(.55 .19 27);--flag: oklch(.965 .03 80);--flag-foreground: oklch(.36 .09 60);--sidebar: oklch(1 0 0);--sidebar-foreground: oklch(.28 .09 260);--sidebar-border: oklch(.92 .008 260);--bg: var(--background);--panel: var(--card);--text: var(--foreground);--good: var(--success);--warn: var(--gold);--accent-dim: oklch(.28 .09 260 / 10%);--good-dim: oklch(.5 .14 150 / 12%);--warn-dim: oklch(.68 .14 70 / 12%);--danger-dim: oklch(.55 .19 27 / 12%);--card-radius: var(--radius-lg)}*,*:before,*:after{box-sizing:border-box}body.ca-app,.ca-app{margin:0;min-height:100vh;display:flex;background:var(--background);color:var(--foreground);font-family:Public Sans,ui-sans-serif,system-ui,sans-serif;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;width:100%}.site-chrome-main .ca-app{min-height:100%}h1,h2,h3,h4{letter-spacing:-.01em}.tabular{font-variant-numeric:tabular-nums}.ca-icon{width:1rem;height:1rem;flex-shrink:0}.ca-sidebar{display:none;width:300px;flex-shrink:0;border-right:1px solid var(--sidebar-border);background:var(--sidebar);color:var(--sidebar-foreground);flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden}@media(min-width:1024px){.ca-sidebar{display:flex}}.ca-main{flex:1;min-width:0;display:flex;flex-direction:column}.ca-mobile-header{display:flex;align-items:center;gap:.5rem;padding:0 1rem;height:3.5rem;border-bottom:1px solid var(--border);background:var(--sidebar)}@media(min-width:1024px){.ca-mobile-header{display:none}}.ca-content{flex:1}.ca-container{max-width:1200px;margin:0 auto;padding-left:2rem;padding-right:2rem}.ca-section{padding:2.5rem 0}.ca-tab-inner{padding:2rem 0 3rem}.ca-sidebar-brand{display:flex;align-items:center;gap:.5rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--sidebar-border)}.ca-logo-mark{width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);background:var(--civic);color:var(--civic-foreground);display:grid;place-items:center;font-size:.625rem;font-weight:700}.ca-brand-title{margin:0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;line-height:1;color:var(--civic)}.ca-brand-sub{margin:.25rem 0 0;font-size:.625rem;color:var(--muted-foreground);line-height:1}.ca-sidebar-nav{padding:.75rem 1rem;border-bottom:1px solid var(--sidebar-border)}.ca-sidebar-link{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground);font:inherit;font-size:.875rem;cursor:pointer;text-align:left;transition:background .15s,color .15s}.ca-sidebar-link:hover,.ca-sidebar-link.on{background:var(--accent);color:var(--civic);font-weight:600}.ca-sidebar-section-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1rem .5rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.ca-sidebar-search{position:relative;padding:0 1rem .5rem}.ca-sidebar-search input{width:100%;height:2rem;padding:0 .5rem 0 1.75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);font:inherit;font-size:.75rem}.ca-sidebar-search input:focus{outline:2px solid oklch(.28 .09 260 / 40%);outline-offset:0}.ca-search-icon{position:absolute;left:1.625rem;top:50%;transform:translateY(-50%);width:.875rem;height:.875rem;color:var(--muted-foreground);pointer-events:none}.ca-sidebar-members{flex:1;overflow-y:auto;padding:0 .75rem .75rem}.ca-sidebar-member{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;border:0;border-radius:var(--radius-md);background:transparent;color:var(--muted-foreground);font:inherit;font-size:.875rem;cursor:pointer;text-align:left;transition:background .15s,color .15s}.ca-sidebar-member:hover,.ca-sidebar-member.on{background:var(--accent);color:var(--civic);font-weight:600}.ca-sidebar-member .dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--border);flex-shrink:0}.ca-sidebar-member.on .dot{background:var(--gold)}.ca-sidebar-member .dist{font-size:.6875rem;font-weight:600;color:var(--muted-foreground);width:2rem;flex-shrink:0}.ca-sidebar-member .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-sidebar-footer{border-top:1px solid var(--sidebar-border);padding:.75rem 1.25rem;font-size:.625rem;color:var(--muted-foreground)}.ca-cache-row{display:flex;justify-content:space-between;margin-bottom:.375rem}.ca-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;width:100%;margin-top:.25rem;height:1.75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--civic);font:inherit;font-size:.6875rem;font-weight:600;cursor:pointer}.ca-btn-outline:hover{background:var(--accent)}.ca-btn-sm .ca-icon{width:.75rem;height:.75rem}.ca-status-pill{display:block;margin-top:.5rem;text-align:center}.ca-page-header{background:var(--card);border-bottom:1px solid var(--border);padding:2rem 0}.ca-eyebrow{margin:0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--muted-foreground)}.ca-eyebrow-warn{color:var(--warning)}.ca-page-title{margin:.5rem 0 0;font-size:2.25rem;font-weight:700;color:var(--civic);letter-spacing:-.02em}.ca-page-lede{margin:.5rem 0 0;max-width:42rem;color:var(--muted-foreground);font-size:.9375rem;line-height:1.5}.ca-hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:2rem 0 0;padding:0;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}@media(min-width:768px){.ca-hero-stats{grid-template-columns:repeat(4,1fr)}}.ca-stat-tile{background:var(--card);padding:1.25rem;margin:0}.ca-stat-label{display:flex;align-items:center;gap:.375rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.ca-stat-label .ca-icon{width:.875rem;height:.875rem}.ca-stat-value{margin:.5rem 0 0;font-size:1.5rem;font-weight:700;color:var(--civic)}.ca-stat-sub{margin:.125rem 0 0;font-size:.75rem;color:var(--muted-foreground)}.ca-profile-header{background:var(--card);border-bottom:1px solid var(--border)}.ca-back-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:1.5rem;border:0;background:none;color:var(--muted-foreground);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;padding:0}.ca-back-link:hover{color:var(--civic)}.ca-profile-row{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.25rem;padding-bottom:2rem}@media(min-width:768px){.ca-profile-row{flex-direction:row;align-items:flex-end}}.ca-profile-identity{display:flex;gap:1.25rem;align-items:flex-end;flex:1}.ca-profile-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ca-profile-name{margin:.25rem 0 0;font-size:1.875rem;font-weight:700;color:var(--civic);letter-spacing:-.02em}.ca-badge-incumbent{display:inline-flex;padding:.125rem .5rem;border-radius:var(--radius-sm);background:var(--civic);color:var(--civic-foreground);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ca-profile-meta-line{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.ca-profile-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:0;font-size:.875rem}.ca-profile-meta-grid dt{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.ca-profile-meta-grid dd{margin:.25rem 0 0;font-weight:600;color:var(--civic)}.member-headshot-link{display:block;line-height:0}.member-headshot{width:6rem;height:6rem;border-radius:var(--radius-lg);object-fit:cover;object-position:top center;background:linear-gradient(135deg,var(--civic),oklch(.28 .09 260 / 70%));ring:1px solid var(--border);box-shadow:inset 0 0 0 1px var(--border)}.member-headshot.placeholder{display:grid;place-items:center;font-size:1.5rem;font-weight:700;color:var(--civic-foreground)}.member-headshot.profile-size{width:6rem;height:6rem}.ca-tab-bar-global{border-top:1px solid var(--border);max-width:1200px;margin:0 auto;padding:0 2rem}.ca-tab-bar-global .tab-btn:first-child{padding-left:0}.ca-tab-bar{display:flex;overflow-x:auto;border-top:1px solid var(--border)}.ca-tab-bar .tab-btn{position:relative;padding:1rem 1.25rem;border:0;background:transparent;color:var(--muted-foreground);font:inherit;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer}.ca-tab-bar .tab-btn:hover,.ca-tab-bar .tab-btn.on{color:var(--civic)}.ca-tab-bar .tab-btn.on:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:0;height:2px;border-radius:999px;background:var(--civic)}.tab-panel{display:none}.tab-panel.on{display:block}.ca-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ca-section-title{margin:.25rem 0 0;font-size:1.5rem;font-weight:700;color:var(--civic)}.ca-section-sub{margin:.25rem 0 0;max-width:36rem;font-size:.875rem;color:var(--muted-foreground);line-height:1.45}.ca-link-btn{border:0;background:none;color:var(--civic);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;padding:0}.ca-link-btn:hover{text-decoration:underline}.ca-hint{margin:.75rem 0 0;font-size:.75rem;color:var(--muted-foreground)}.ca-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ca-search-field{position:relative;display:block}.ca-search-field input{height:2.25rem;width:18rem;max-width:100%;padding:0 .75rem 0 2rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);font:inherit;font-size:.875rem}.ca-search-field input:focus{outline:2px solid oklch(.28 .09 260 / 40%);outline-offset:0}.ca-search-field .ca-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);width:.875rem;height:.875rem;color:var(--muted-foreground)}.ca-sort-toggle{display:inline-flex;height:2.25rem;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card)}.ca-sort-toggle button{padding:0 .625rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.ca-sort-toggle button.on{background:var(--civic);color:var(--civic-foreground)}.ca-member-grid,.member-cards,.candidate-cards{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.ca-member-grid,.member-cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.ca-member-grid,.member-cards{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.ca-member-grid,.member-cards{grid-template-columns:repeat(4,1fr)}}.info-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .15s,box-shadow .15s}.info-card.is-clickable{cursor:pointer;text-align:left;font-family:inherit;color:inherit;padding:0;width:100%}.info-card.is-clickable:hover,.info-card.is-selected{border-color:#0b265466;box-shadow:0 1px 3px #0000000f}.info-card.is-hidden-by-search{display:none}.member-card{display:flex;flex-direction:column;padding:1.25rem}.member-card .card-body{padding:0;flex:1;display:flex;flex-direction:column}.member-card .member-headshot{width:100%;aspect-ratio:1;height:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:-1.25rem -1.25rem .75rem;width:calc(100% + 2.5rem)}.member-card .card-district{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.member-card .card-title{margin:.25rem 0 0;font-size:1rem;font-weight:700;color:var(--civic);line-height:1.25}.member-card .card-neighborhood{margin:.125rem 0 0;font-size:.75rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-card .card-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0}.member-card .data-flags{display:flex;gap:.25rem}.member-card .data-flag{display:inline-flex;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;background:var(--muted);color:var(--civic)}.member-card .data-flag.on,.member-card .data-flag.money.on{background:#0b26541a;color:var(--civic)}.member-card .card-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem;font-size:.75rem}.member-card .card-stats dt{color:var(--muted-foreground);margin:0}.member-card .card-stats dd{margin:0;font-weight:600;color:var(--civic)}.member-card .yes-rate-row{margin-top:1rem}.member-card .yes-rate-header{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--muted-foreground);margin-bottom:.25rem}.member-card .yes-rate-header strong{color:var(--civic);font-weight:600}.member-card .meter-track{height:6px;border-radius:999px;background:var(--muted);overflow:hidden}.member-card .meter-fill{height:100%;border-radius:999px;background:var(--success)}.member-card .card-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:.6875rem}.member-card .card-footer .no-flags{color:var(--success);font-weight:600}.member-card .card-footer .has-flags{color:var(--warning);font-weight:600;display:flex;align-items:center;gap:.25rem}.ca-radar-grid,.overlap-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.ca-radar-grid,.overlap-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.ca-radar-grid{grid-template-columns:repeat(4,1fr)}}.radar-card,.overlap-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;transition:border-color .15s,box-shadow .15s}.radar-card:hover,.overlap-card:hover{border-color:#0b265466;box-shadow:0 1px 3px #0000000f}.role-badge{display:inline-flex;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.role-badge.donor{background:#0b26541a;color:var(--civic)}.role-badge.vendor{background:var(--muted);color:var(--muted-foreground)}.role-badge.both{background:var(--flag);color:var(--flag-foreground);border:1px solid oklch(.68 .14 70 / 30%)}.radar-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.radar-card .entity-name{font-weight:600;color:var(--civic);line-height:1.3}.radar-card .entity-interest{margin:.25rem 0 0;font-size:.75rem;color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.radar-card .entity-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.radar-card .entity-footer span:first-child{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.radar-card .entity-footer span:last-child{font-size:.875rem;font-weight:600;color:var(--civic)}.overlap-card{padding:0;overflow:hidden}.overlap-card-inner{padding:.75rem .85rem}.overlap-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.overlap-badge{font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.15rem .4rem;border-radius:4px;border:1px solid var(--border)}.overlap-badge.lobby{background:#0b26541f;color:var(--civic)}.overlap-badge.money.donor{background:#0078352e;background:oklch(.5 .14 150 / 18%);color:var(--success)}.overlap-badge.money.vendor{background:#ce871b29;color:var(--warning)}.overlap-badge.money.both{background:#0078352e;background:oklch(.5 .14 150 / 18%);color:var(--success)}.overlap-card .card-title{margin-bottom:.55rem;font-size:.95rem;font-weight:700;color:var(--civic)}.overlap-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.5rem}.overlap-stat{border-radius:var(--radius-sm);padding:.45rem .55rem;border:1px solid var(--border);font-size:.75rem}.overlap-stat .stat-label{display:block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;color:var(--muted-foreground)}.overlap-stat .stat-value{font-size:.95rem;font-weight:700;color:var(--civic)}.overlap-stat .stat-sub{display:block;font-size:.68rem;color:var(--muted-foreground);margin-top:.1rem}.overlap-card details{border-top:1px solid var(--border)}.overlap-card details summary{padding:.45rem .85rem;font-size:.72rem;font-weight:600;color:var(--civic);cursor:pointer;list-style:none}.overlap-card details summary::-webkit-details-marker{display:none}.ca-watch-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.ca-watch-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.ca-watch-grid{grid-template-columns:repeat(3,1fr)}}.watch-card,.ca-watch-card{background:var(--flag);border:1px solid oklch(.68 .14 70 / 25%);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column}.watch-card-head,.ca-watch-card-head{display:flex;align-items:center;gap:.5rem;color:var(--flag-foreground);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.watch-card .watch-title,.ca-watch-card .watch-title{margin:.75rem 0 0;font-size:1rem;font-weight:600;color:var(--civic)}.watch-card .watch-detail,.ca-watch-card .watch-detail{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground);line-height:1.45}.watch-card .watch-footer,.ca-watch-card .watch-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid oklch(.68 .14 70 / 20%);display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.watch-card .watch-footer a,.ca-watch-card .watch-footer button{border:0;background:none;font:inherit;font-weight:600;color:var(--civic);cursor:pointer;padding:0}.watch-list{display:flex;flex-direction:column;gap:.75rem}.ca-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.ca-panel-head{margin-bottom:1rem}.ca-panel-title{margin:.25rem 0 0;font-size:1.125rem;font-weight:700;color:var(--civic)}.ca-panel-sub{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.ca-kpi-grid,.overview-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}@media(min-width:768px){.ca-kpi-grid,.overview-kpis{grid-template-columns:repeat(4,1fr)}}.overview-kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.overview-kpi .label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.overview-kpi .value{margin-top:.5rem;font-size:1.5rem;font-weight:700;color:var(--civic)}.overview-kpi .value.good{color:var(--success)}.overview-kpi .value.warn{color:var(--warning)}.overview-kpi .value.muted{color:var(--muted-foreground);font-weight:600;font-size:1.125rem}.ca-profile-layout{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1024px){.ca-profile-layout{grid-template-columns:2fr 1fr}}.ca-panel-warn{background:var(--flag);border-color:#ce871b40}.ca-empty-row{margin:0;padding:1rem 0;font-size:.875rem;color:var(--muted-foreground)}.ca-overlap-table{width:100%;font-size:.875rem;border-collapse:collapse}.ca-overlap-table th,.ca-overlap-table td{padding:.75rem .5rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.ca-overlap-table th{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.ca-overlap-table th.center,.ca-overlap-table td.center{text-align:center}.ca-overlap-table th.right,.ca-overlap-table td.right{text-align:right}.ca-overlap-table td.muted{color:var(--muted-foreground)}.ca-overlap-table .entity-cell{font-weight:600;color:var(--civic)}.ca-overlap-table .entity-sub{margin-top:.125rem;font-size:.6875rem;color:var(--muted-foreground)}.ca-role-chip{display:inline-flex;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ca-role-chip.donor{background:#0b26541a;color:var(--civic)}.ca-role-chip.vendor{background:var(--muted);color:var(--muted-foreground)}.ca-role-chip.both{background:var(--flag);color:var(--flag-foreground);border:1px solid oklch(.68 .14 70 / 30%)}.ca-vote-rows{border-top:1px solid var(--border)}.ca-vote-row{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0 1rem 1rem;border-bottom:1px solid var(--border);border-left:4px solid var(--muted-foreground)}.ca-vote-row.yes{border-left-color:var(--success)}.ca-vote-row.no{border-left-color:var(--danger)}.ca-vote-row.abstain{border-left-color:var(--muted-foreground)}.ca-vote-row-meta{margin:0;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--civic)}.ca-vote-row-meta .muted{color:var(--muted-foreground);font-weight:600}.ca-vote-row-title{margin:.35rem 0 0;font-size:.875rem;font-weight:600;color:var(--civic);line-height:1.45}.ca-vote-row-outcome{flex-shrink:0;text-align:right;font-size:.75rem}.ca-vote-row-outcome .label{display:block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground)}.ca-vote-row-outcome .value{display:block;margin-top:.125rem;font-weight:600;color:var(--civic)}.ca-donor-list,.ca-flag-list{list-style:none;margin:0;padding:0}.ca-donor-list li{display:flex;justify-content:space-between;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.ca-donor-list .donor-name{margin:0;font-weight:600;color:var(--civic);display:flex;align-items:center;gap:.375rem}.ca-donor-list .donor-sub{margin:.125rem 0 0;font-size:.6875rem;color:var(--muted-foreground)}.ca-donor-list .donor-amt{font-weight:600;color:var(--civic);flex-shrink:0}.lobby-dot{display:inline-block;width:.375rem;height:.375rem;border-radius:50%;background:var(--warning)}.ca-flag-item{padding:0 0 .75rem;margin-bottom:.75rem;border-bottom:1px solid oklch(.68 .14 70 / 20%);font-size:.875rem}.ca-flag-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.ca-flag-sev{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--flag-foreground)}.ca-flag-entity{margin:.35rem 0 0;font-weight:600;color:var(--civic)}.ca-flag-reason{margin:.25rem 0 0;font-size:.75rem;color:var(--muted-foreground);line-height:1.45}.ca-flag-amt{margin:.35rem 0 0;font-weight:600;color:var(--civic)}.ca-profile-meta-line{display:inline-flex;align-items:center;gap:.375rem}.ca-header-status{margin:.5rem 0 0;font-size:.8125rem;color:var(--muted-foreground)}.ca-header-status:empty{display:none}.ca-e2e-nav{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.member-card .card-footer .has-flags .ca-icon{width:.75rem;height:.75rem}.ca-table,table{width:100%;border-collapse:collapse;font-size:.875rem}.ca-table th,.ca-table td,table th,table td{text-align:left;padding:.625rem .5rem;border-bottom:1px solid var(--border)}.ca-table th,table th{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.ca-table .amt,.amt{text-align:right;font-variant-numeric:tabular-nums}.mini-table{width:100%;font-size:.8125rem;border-collapse:collapse}.mini-table th,.mini-table td{padding:.5rem;border-bottom:1px solid var(--border)}.mini-table th{color:var(--muted-foreground);font-weight:600;font-size:.75rem}.col-description,.vote-desc{white-space:normal;word-break:break-word;line-height:1.45;max-width:48rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1.5rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg)}.filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--muted-foreground)}.filters input,.filters select{padding:.375rem .5rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);font:inherit;font-size:.875rem;min-width:8rem}.vote-tag{display:inline-flex;font-size:.6875rem;padding:.125rem .375rem;border-radius:var(--radius-sm);font-weight:600;text-transform:uppercase}.vote-tag.yes{background:#0078351f;background:oklch(.5 .14 150 / 12%);color:var(--success)}.vote-tag.no{background:#c9302d1f;color:var(--danger)}.vote-tag.abstain{background:#ce871b1f;color:var(--warning)}.vote-tag.absent,.vote-tag.other{background:var(--muted);color:var(--muted-foreground)}.charts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:900px){.charts{grid-template-columns:1fr}}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem}.chart-card.wide{grid-column:1 / -1}.chart-card h2{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--civic)}.chart-wrap{position:relative;height:260px}.chart-wrap.tall{height:300px}.chart-wrap.compact{height:200px}.insight-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1rem}.insight-section h2{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:var(--civic)}.insight-section h3{font-size:.875rem;font-weight:600;color:var(--civic)}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:900px){.insight-grid{grid-template-columns:1fr}}.hint{font-size:.8125rem;color:var(--muted-foreground);margin:0 0 .75rem;line-height:1.45}.section-head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.section-head h2{margin:0;font-size:1.125rem;font-weight:700;color:var(--civic)}.overlap-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 .75rem}.overlap-filter button{font:inherit;font-size:.8125rem;padding:.35rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);cursor:pointer}.overlap-filter button.on{background:var(--civic);border-color:var(--civic);color:var(--civic-foreground);font-weight:600}.voting-view-toggle{display:inline-flex;height:2.25rem;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);margin-bottom:1rem}.voting-view-toggle button{padding:0 .75rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.voting-view-toggle button.on{background:var(--civic);color:var(--civic-foreground)}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;font-size:.8125rem;color:var(--muted-foreground)}.pager button,.btn-link{padding:.375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);font:inherit;font-size:.8125rem;cursor:pointer}.pager button:disabled{opacity:.45;cursor:not-allowed}.btn-link.primary{background:var(--civic);border-color:var(--civic);color:var(--civic-foreground)}.fiscal-card{background:var(--background);border:1px solid var(--border);border-left:4px solid var(--civic);border-radius:var(--radius-lg);padding:.75rem .85rem;margin-bottom:.75rem}.fiscal-card.deficit{border-left-color:var(--danger)}.fiscal-card.tight{border-left-color:var(--warning)}.fiscal-card.surplus{border-left-color:var(--success)}.fiscal-card .fiscal-label{font-weight:700;font-size:.875rem;color:var(--civic)}.fiscal-card p{margin:.35rem 0 0;font-size:.8125rem;color:var(--muted-foreground)}.kind-tag{font-size:.6875rem;padding:.125rem .35rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.kind-tag.contribution{color:var(--success);border-color:var(--success)}.kind-tag.expenditure{color:var(--gold);border-color:var(--gold)}.table-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem}.table-wrap{overflow:auto;max-height:420px}.mini-wrap{max-height:340px;overflow:auto}.agenda-row{cursor:pointer}.agenda-row:hover td{background:#0b26540f}.agenda-row.selected td{background:#0b265414}#agenda-detail{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card)}.tally-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tally-pills span{font-size:.78rem;padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--background);border:1px solid var(--border)}#tab-money.member-scoped .money-global-only{display:none!important}.ca-site-footer{border-top:1px solid var(--border);background:var(--card);padding:2.5rem 0;margin-top:auto}.ca-footer-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.ca-footer-grid{grid-template-columns:repeat(3,1fr)}}.ca-footer-copy{margin:.5rem 0 0;font-size:.75rem;color:var(--muted-foreground);line-height:1.5;max-width:20rem}.ca-footer-label{margin:0;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-foreground)}.ca-footer-links{list-style:none;margin:.5rem 0 0;padding:0}.ca-footer-links li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted-foreground);padding:.25rem 0}.ca-footer-links a{color:var(--muted-foreground);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}.ca-footer-links a:hover{color:var(--civic)}.spinner{display:inline-block;width:.85rem;height:.85rem;border:2px solid var(--border);border-top-color:var(--civic);border-radius:50%;animation:spin .75s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.council-status{display:inline-block;font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:4px}.council-status.active{background:#00783526;background:oklch(.5 .14 150 / 15%);color:var(--success)}.council-status.former{background:var(--muted);color:var(--muted-foreground)}.district-badge{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.125rem .375rem;border-radius:4px;background:#0b26541a;color:var(--civic)}.card-empty{font-size:.75rem;color:var(--muted-foreground);font-style:italic;padding:.35rem 0}.stat-block .stat-label{font-size:.625rem;font-weight:600;text-transform:uppercase;color:var(--muted-foreground)}.stat-block .stat-value{font-size:.8125rem;font-weight:700;color:var(--civic)}.stat-block .stat-value.good{color:var(--success)}.stat-block .stat-value.warn{color:var(--gold)}.lobby-search-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:flex-end;margin-bottom:.75rem}.lobby-search-row label{flex:1;min-width:200px}.lobby-search-row input{width:100%;margin-top:.25rem;padding:.4rem .55rem;border:1px solid var(--border);border-radius:var(--radius-md);font:inherit}.card-search input{width:100%;padding:.45rem .6rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);font:inherit;font-size:.8125rem}@media(prefers-reduced-motion:reduce){.info-card.is-clickable,.meter-fill,.spinner{transition:none;animation:none}}
