.council-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.council-section:last-child{border-bottom:none;margin-bottom:0}.council-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.councilor-rating__value--high{color:var(--color-success)}.councilor-rating__value--medium{color:var(--color-warning)}.councilor-rating__value--low{color:var(--color-danger)}.council-section__title{font-size:1.5rem;font-weight:600;margin:0;color:var(--color-brand)}.council-section__title a{color:inherit;text-decoration:none}.council-section__title a:hover{text-decoration:underline}.council-section__count{font-size:.875rem;color:var(--color-text-muted)}.councilors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}.councilor-card{background:var(--color-surface-0);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease,transform .2s ease}.councilor-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.councilor-card__link{display:block;text-decoration:none;color:inherit}.councilor-card__photo{aspect-ratio:1;overflow:hidden;background:var(--color-surface-2)}.councilor-card__photo img{width:100%;height:100%;object-fit:cover}.councilor-card__content{padding:1rem}.councilor-card__name{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--color-brand);line-height:1.3}.councilor-card__rating{font-size:.875rem}.councilor-card__score-row{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.375rem}.councilor-card__score{font-size:1.25rem;font-weight:700;color:var(--color-brand)}.councilor-card__votes{color:var(--color-text-subtle);font-size:.75rem}.councilor-card__bar-wrapper{width:100%;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.councilor-card__bar{height:100%;width:100%;border-radius:3px;transform:scaleX(var(--progress, 0));transform-origin:left;transition:transform .3s ease}.councilor-card__bar--high{background:linear-gradient(90deg,var(--color-success),var(--color-success))}.councilor-card__bar--medium{background:linear-gradient(90deg,var(--color-warning),var(--color-warning))}.councilor-card__bar--low{background:linear-gradient(90deg,#f87171,var(--color-danger))}.councilor-card__no-votes{color:var(--color-text-subtle);font-style:italic}.councilor-card--inactive{opacity:.6}.councilor-card--inactive .councilor-card__link{cursor:default;pointer-events:none}.councilor-card--inactive .councilor-card__photo{filter:grayscale(100%)}.councilor-card--inactive:hover{box-shadow:0 1px 3px #0000001a;transform:none}.councilor-card__status{color:var(--color-text-muted);font-style:italic;font-size:.875rem}.councilor-profile{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.councilor-profile{grid-template-columns:1fr 300px}}.councilor-profile__main{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:576px){.councilor-profile__main{flex-direction:row;align-items:flex-start}}.councilor-profile__photo{flex-shrink:0;width:200px;max-width:100%;border-radius:8px;overflow:hidden;background:var(--color-surface-2)}.councilor-profile__photo img{width:100%;height:auto;display:block}.councilor-profile__info{flex:1}.councilor-profile__sidebar{display:flex;flex-direction:column;gap:1.5rem}.councilor-info-list{margin:0}.councilor-info-item{display:flex;flex-direction:column;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.councilor-info-item:last-child{border-bottom:none}.councilor-info-item dt{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.councilor-info-item dd{margin:0;font-size:1rem;color:var(--color-text)}.councilor-info-item dd a{color:var(--color-brand);text-decoration:none}.councilor-info-item dd a:hover{text-decoration:underline}.councilor-rating{background:var(--color-surface-1);border-radius:8px;padding:1.5rem;text-align:center}.councilor-rating__title{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--color-brand)}.councilor-rating__score{margin-bottom:.5rem}.councilor-rating__value{font-size:3rem;font-weight:700}.councilor-rating__max{font-size:1.5rem;color:var(--color-text-muted)}.councilor-rating__bar-wrapper{width:100%;max-width:200px;height:10px;background:var(--color-border);border-radius:5px;overflow:hidden;margin:1rem auto}.councilor-rating__bar{height:100%;width:100%;border-radius:5px;transform:scaleX(var(--progress, 0));transform-origin:left;transition:transform .5s ease}.councilor-rating__bar--high{background:linear-gradient(90deg,var(--color-success),var(--color-success))}.councilor-rating__bar--medium{background:linear-gradient(90deg,var(--color-warning),var(--color-warning))}.councilor-rating__bar--low{background:linear-gradient(90deg,#f87171,var(--color-danger))}.councilor-rating__votes{font-size:.875rem;color:var(--color-text-muted)}.councilor-rating__empty{font-size:1rem;color:var(--color-text-subtle);font-style:italic}.vote-form-wrapper{background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-top:1.5rem}.vote-form__title{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--color-brand)}.vote-form__label{font-size:.875rem;color:var(--color-text);margin:0 0 .75rem}.vote-form__options{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.vote-form__option{cursor:pointer}.vote-form__option input{position:absolute;opacity:0;pointer-events:none}.vote-form__option-value{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--color-border);border-radius:8px;font-weight:600;color:var(--color-text);transition:all .2s ease}.vote-form__option input:checked+.vote-form__option-value{background:var(--color-success);border-color:var(--color-success);color:var(--color-surface-0)}.vote-form__option:hover .vote-form__option-value{border-color:var(--color-success)}.vote-form__submit{width:100%;padding:.75rem 1.5rem;background:var(--color-success);color:var(--color-surface-0);border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease}.vote-form__submit:hover{background:var(--color-success)}.vote-form__already-voted{text-align:center;background:var(--color-warning-bg);border:2px solid var(--color-warning);color:var(--color-warning);padding:1rem 1.25rem;border-radius:8px;font-weight:500}.vote-form__already-voted p{margin:0 0 .5rem}.vote-form-wrapper .message{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.25rem;font-size:1rem;font-weight:500;text-align:center}.vote-form-wrapper .message-success{background:var(--color-success-bg);border:2px solid var(--color-success);color:var(--color-success)}.vote-form-wrapper .message-error{background:var(--color-danger-bg);border:2px solid var(--color-danger);color:var(--color-danger)}.vote-form-wrapper--inactive{background:var(--color-surface-2);border-color:var(--color-border-strong)}.councilor-inactive-notice{text-align:center;padding:1rem}.councilor-inactive-notice p{margin:0 0 .5rem;color:var(--color-text-muted);font-size:1rem}.councilor-inactive-notice__sub{font-size:.875rem;color:var(--color-text-subtle);font-style:italic}.empty-state{text-align:center;padding:3rem 1rem}.empty-state__text{color:var(--color-text-muted);font-size:1rem;margin:0}.back-link{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.back-link__anchor{display:inline-flex;align-items:center;color:var(--color-brand);text-decoration:none;font-weight:500}.back-link__anchor:hover{text-decoration:underline}@media(max-width:575px){.councilors-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.councilor-card__content{padding:.75rem}.councilor-card__name{font-size:.875rem}.councilor-profile__photo{width:150px;margin:0 auto}}.councilor-comments{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.councilor-comments-title{font-size:1.25rem;font-weight:600;color:var(--color-brand);margin:0 0 1.5rem}.councilor-comments-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.councilor-comment{background:var(--color-surface-1);border-radius:8px;padding:1rem}.councilor-comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.councilor-comment-author{font-weight:600;color:var(--color-brand)}.councilor-comment-date{font-size:.75rem;color:var(--color-text-muted)}.councilor-comment-content{color:var(--color-text);line-height:1.6;margin-bottom:.75rem}.councilor-comment-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.councilor-comment-vote{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:transparent;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;color:var(--color-text-muted);font-size:.875rem;transition:all .2s ease}.councilor-comment-vote:hover{background:var(--color-surface-2);border-color:var(--color-border-strong)}.councilor-comment-vote .vote-icon{width:16px;height:16px}.councilor-comment-vote .votes-positive{color:var(--color-success)}.councilor-comment-vote .votes-negative{color:var(--color-danger)}.councilor-comment-reply{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-text-muted);text-decoration:none;font-size:.875rem;transition:color .2s ease}.councilor-comment-reply:hover{color:var(--color-brand)}.councilor-comment-reply svg{width:16px;height:16px}.councilor-comment-form-wrapper{margin-top:1.5rem}.councilor-comment-form-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-brand);color:var(--color-surface-0);border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease}.councilor-comment-form-toggle:hover{background:#152a4a}.councilor-comment-form-toggle svg{width:20px;height:20px}.councilor-comment-form{display:none;margin-top:1rem;background:var(--color-surface-0);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.councilor-comment-form.is-visible{display:block}.councilor-comment-form-title{font-size:1.125rem;font-weight:600;color:var(--color-brand);margin:0 0 1rem}.councilor-comment-form-group{margin-bottom:1rem}.councilor-comment-form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.375rem}.councilor-comment-form-control{width:100%;padding:.625rem .75rem;border:1px solid var(--color-border-strong);border-radius:6px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.councilor-comment-form-control:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #1b365d1a}textarea.councilor-comment-form-control{min-height:100px;resize:vertical}.councilor-comment-form-checkbox{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1rem}.councilor-comment-form-checkbox input[type=checkbox]{margin-top:.25rem;width:16px;height:16px;cursor:pointer}.councilor-comment-form-checkbox label{font-size:.875rem;color:var(--color-text);cursor:pointer}.councilor-comment-verification{margin-bottom:1rem}.councilor-comment-submit{padding:.75rem 1.5rem;background:var(--color-success);color:var(--color-surface-0);border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease}.councilor-comment-submit:hover{background:var(--color-success)}.councilor-comment-form-info{margin-top:1rem;font-size:.75rem;color:var(--color-text-subtle);line-height:1.5}.councilor-comments .message{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.councilor-comments .message--success{background:var(--color-success-bg);border:1px solid var(--color-success-bg);color:var(--color-success)}.councilor-comments .message--error{background:var(--color-danger-bg);border:1px solid var(--color-danger-bg);color:var(--color-danger)}.councilor-comments .message--info{background:var(--color-info-bg);border:1px solid var(--color-info-bg);color:var(--color-brand)}.councilor-comments .pagination{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border);flex-wrap:wrap;gap:.75rem}.councilor-comments .pagination-info{font-size:.875rem;color:var(--color-text-muted)}.councilor-comments .pagination-links{display:flex;gap:.5rem}.councilor-comments .pagination-links a{padding:.5rem 1rem;background:var(--color-surface-2);color:var(--color-brand);text-decoration:none;border-radius:4px;font-size:.875rem;transition:background .2s ease}.councilor-comments .pagination-links a:hover{background:var(--color-border)}@media(max-width:575px){.councilor-comment{padding:.75rem}.councilor-comment-actions{gap:.5rem}.councilor-comment-form{padding:1rem}}.other-councilors{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--color-border)}.other-councilors__header{margin-bottom:1.5rem}.other-councilors__title{font-size:1.25rem;font-weight:600;color:var(--color-brand);margin:0}.back-link--centered{display:flex;justify-content:center;margin-top:2.5rem;padding-top:2rem}.back-link__button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:var(--color-brand);color:var(--color-surface-0);text-decoration:none;border-radius:8px;font-size:1.125rem;font-weight:600;transition:background .2s ease,transform .2s ease}.back-link__button:hover{background:#152a4a;transform:translateY(-2px)}.back-link__icon{font-size:1.25rem}.back-link__text{white-space:nowrap}@media(max-width:575px){.back-link__button{width:100%;justify-content:center;padding:.875rem 1.5rem;font-size:1rem}}.councilors-ranking{margin-bottom:3rem;padding:2rem;background:linear-gradient(135deg,var(--color-surface-1) 0%,var(--color-surface-2) 100%);border-radius:12px;border:1px solid var(--color-border)}.councilors-ranking__header{text-align:center;margin-bottom:2rem}.councilors-ranking__title{font-size:1.75rem;font-weight:700;color:var(--color-brand);margin:0 0 .5rem}.councilors-ranking__subtitle{font-size:.875rem;color:var(--color-text-muted);margin:0}.councilors-ranking__columns{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.councilors-ranking__columns{grid-template-columns:1fr 1fr}}.councilors-ranking__column{background:var(--color-surface-0);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.councilors-ranking__column-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-border)}.councilors-ranking__column--top .councilors-ranking__column-title{color:var(--color-success);border-bottom-color:var(--color-success)}.councilors-ranking__column--lowest .councilors-ranking__column-title{color:var(--color-danger);border-bottom-color:#f87171}.councilors-ranking__icon{font-size:1.25rem}.councilors-ranking__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.councilors-ranking__item{display:flex;align-items:center;gap:.75rem}.councilors-ranking__position{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:700;color:var(--color-surface-0)}.councilors-ranking__position--top{background:linear-gradient(135deg,var(--color-success),var(--color-success))}.councilors-ranking__position--lowest{background:linear-gradient(135deg,#f87171,var(--color-danger))}.councilors-ranking__link{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .875rem;background:var(--color-surface-1);border-radius:6px;text-decoration:none;color:inherit;transition:background .2s ease,transform .2s ease}.councilors-ranking__link:hover{background:var(--color-surface-2);transform:translate(4px)}.councilors-ranking__info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.councilors-ranking__name{font-weight:600;color:var(--color-brand);font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.councilors-ranking__council{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.councilors-ranking__score{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.councilors-ranking__rating{font-size:1.125rem;font-weight:700;min-width:36px;text-align:right}.councilors-ranking__rating--top{color:var(--color-success)}.councilors-ranking__rating--lowest{color:var(--color-danger)}.councilors-ranking__bar-wrapper{width:60px;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.councilors-ranking__bar{height:100%;border-radius:3px}.councilors-ranking__bar--top{background:linear-gradient(90deg,var(--color-success),var(--color-success))}.councilors-ranking__bar--lowest{background:linear-gradient(90deg,#f87171,var(--color-danger))}.councilors-ranking__votes{font-size:.75rem;color:var(--color-text-subtle);min-width:32px}@media(max-width:575px){.councilors-ranking{padding:1.25rem;margin-bottom:2rem}.councilors-ranking__title{font-size:1.5rem}.councilors-ranking__column{padding:1rem}.councilors-ranking__link{flex-direction:column;align-items:flex-start;gap:.5rem}.councilors-ranking__score{width:100%;justify-content:flex-start}.councilors-ranking__bar-wrapper{flex:1;max-width:100px}}
