.senior-tools-page {
    margin-top: 12px;
}

.senior-tools-page > .grid_11 {
    width: 590px;
}

.senior-tools-page > .grid_7 {
    width: 600px;
    margin-left: 0;
    margin-right: 0;
}

.senior-tools-layout-form:after,
.senior-tools-proposals-row:after {
    content: "";
    display: table;
    clear: both;
}

.senior-tools-proposals-row {
    clear: both;
}

.senior-tools-specific-panel {
    display: none;
}

.senior-tools-proposals-panel {
    width: auto;
    float: none;
}

.senior-tools-panel {
    margin-bottom: 12px;
    overflow: hidden;
}

.senior-tools-panel > .title.small {
    line-height: 24px;
}

.senior-tools-body {
    padding: 12px;
    background: rgba(0, 0, 0, .14);
}

.senior-tools-alert {
    margin-bottom: 10px;
    padding: 9px 10px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 3px;
    color: #e8e8e8;
    font-size: 11px;
    line-height: 1.35;
    background: rgba(255, 255, 255, .04);
}

.senior-tools-alert.is-error {
    border-color: rgba(255, 92, 83, .28);
    color: #ffb9b4;
    background: rgba(160, 35, 30, .18);
}

.senior-tools-alert.is-ok {
    border-color: rgba(62, 202, 113, .28);
    color: #b7f2cb;
    background: rgba(30, 120, 58, .18);
}

.senior-tools-alert.is-info {
    border-color: rgba(255, 153, 0, .28);
    color: #f0d9a8;
    background: rgba(180, 108, 0, .12);
}

.senior-tools-form label,
.senior-tools-specific-panel label {
    display: block;
    margin: 0 0 5px;
    color: #d8d8d8;
    font-size: 11px;
    font-weight: 700;
}

.senior-tools-form input,
.senior-tools-form textarea,
.senior-tools-form select,
.senior-tools-specific-panel input,
.senior-tools-specific-panel textarea,
.senior-tools-specific-panel select {
    width: 100%;
    margin: 0 0 10px;
    padding: 9px 10px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 3px;
    box-sizing: border-box;
    color: #f1f1f1;
    background: rgba(0, 0, 0, .22);
    outline: none;
    resize: vertical;
}

.senior-tools-form input:focus,
.senior-tools-form textarea:focus,
.senior-tools-form select:focus,
.senior-tools-specific-panel input:focus,
.senior-tools-specific-panel textarea:focus,
.senior-tools-specific-panel select:focus {
    border-color: rgba(70, 145, 220, .55);
    box-shadow: 0 0 0 2px rgba(70, 145, 220, .12);
}

.senior-tools-form select,
.senior-tools-specific-panel select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 30px;
    color-scheme: dark;
    background-image:
        linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, .78) 50%),
        linear-gradient(135deg, rgba(255, 255, 255, .78) 50%, transparent 50%);
    background-position:
        calc(100% - 14px) calc(50% - 2px),
        calc(100% - 9px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.senior-tools-form select option,
.senior-tools-specific-panel select option {
    color: #f1f1f1;
    background: #0f141b;
}

.senior-tools-form select optgroup,
.senior-tools-specific-panel select optgroup {
    color: #111820;
    background: #d4d7da;
}

.senior-tools-form select optgroup option,
.senior-tools-specific-panel select optgroup option {
    color: #f1f1f1;
    background: #0f141b;
}

.senior-tools-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.senior-tools-field-help {
    margin: -3px 0 10px;
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
}

.prediction-market-options {
    display: grid;
    gap: 8px;
    margin-bottom: 8px;
}

.prediction-market-option-extra {
    display: grid;
    grid-template-columns: 1fr 36px;
    gap: 8px;
}

.prediction-market-winners {
    min-width: 0;
    margin: 0 0 10px;
    padding: 9px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 3px;
    background: rgba(0, 0, 0, .16);
}

.prediction-market-winners legend {
    padding: 0 4px;
    color: #d8d8d8;
    font-size: 11px;
    font-weight: 700;
}

.prediction-market-winners .senior-tools-field-help {
    margin: 0 0 8px;
}

.prediction-market-winner-list {
    display: grid;
    gap: 6px;
}

.prediction-market-winner-list .senior-tools-empty {
    padding: 2px 0;
}

.prediction-market-winner-choice {
    display: grid !important;
    grid-template-columns: 15px 22px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 34px;
    margin: 0 !important;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 3px;
    color: #dedede;
    background: rgba(255, 255, 255, .025);
    box-sizing: border-box;
    cursor: pointer;
}

.prediction-market-winner-choice:hover {
    border-color: rgba(255, 184, 78, .38);
    background: rgba(160, 103, 0, .1);
}

.prediction-market-winner-choice:has(input:checked) {
    border-color: rgba(255, 193, 81, .64);
    background: rgba(160, 103, 0, .2);
}

.prediction-market-winner-choice input {
    width: 15px !important;
    height: 15px;
    margin: 0 !important;
    accent-color: #d99412;
}

.prediction-market-winner-choice .prediction-market-winner-number {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    color: #b9bfc0;
    font-size: 10px;
    font-weight: 900;
    box-sizing: border-box;
}

.prediction-market-winner-choice strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
}

.senior-tools-small-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: max-content;
    min-height: 30px;
    margin: 0 0 10px;
    padding: 0 12px;
    border: 1px solid rgba(255, 160, 0, .55);
    border-radius: 3px;
    color: #f1f1f1;
    background: rgba(155, 96, 0, .34);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
}

.senior-tools-small-action.is-danger {
    width: 36px;
    padding: 0;
    border-color: rgba(255, 90, 90, .45);
    background: rgba(120, 30, 30, .35);
}

.senior-tools-small-action:disabled {
    opacity: .45;
    cursor: default;
}

.senior-tools-editor-wrap {
    margin: 0 0 10px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 3px;
    background: rgba(0, 0, 0, .22);
}

.senior-tools-editor-toolbar {
    display: flex;
    gap: 6px;
    padding: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.senior-tools-editor-toolbar button {
    min-width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 3px;
    color: #dcdcdc;
    cursor: pointer;
    background: rgba(255, 255, 255, .04);
}

.senior-tools-editor-toolbar button:hover {
    background: rgba(255, 255, 255, .1);
}

.senior-tools-editor {
    min-height: 170px;
    padding: 10px;
    color: #f1f1f1;
    font-size: 12px;
    line-height: 1.55;
    outline: none;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.senior-tools-editor:empty:before {
    content: attr(data-placeholder);
    color: rgba(255, 255, 255, .45);
}

.senior-tools-editor-wrap.is-disabled {
    opacity: .65;
}

.senior-tools-form input:disabled,
.senior-tools-form textarea:disabled,
.senior-tools-form select:disabled,
.senior-tools-button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.senior-tools-button,
.senior-tools-vote-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 3px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    background: linear-gradient(180deg, rgba(55, 122, 180, .85), rgba(32, 86, 135, .85));
}

/* Preserve native hidden semantics for the compound-offer controls/forms. */
[data-institutional-membership-offers] [hidden] {
    display: none !important;
}

/* Shared button display must not reveal pending/unauthorized variable controls. */
[data-institutional-variables] [hidden] {
    display: none !important;
}

.senior-tools-title-count {
    float: right;
    margin-right: 8px;
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    font-weight: 700;
}

.senior-tools-title-action {
    display: inline;
}

.senior-tools-title-action .ai-analysis-expand-toggle {
    min-height: 22px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 3px;
    color: #dcdcdc;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    background: rgba(0, 0, 0, .22);
}

.senior-tools-title-action .ai-analysis-expand-toggle:hover {
    background: rgba(255, 255, 255, .06);
}

.senior-tools-list {
    max-height: 486px;
    overflow-y: auto;
    overflow-x: hidden;
    background: rgba(0, 0, 0, .14);
}

.senior-tools-list::-webkit-scrollbar {
    width: 7px;
}

.senior-tools-list::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, .18);
}

.senior-tools-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .16);
    border-radius: 5px;
}

.senior-tools-empty {
    padding: 14px;
    color: rgba(255, 255, 255, .58);
    font-size: 11px;
}

/* Reuse the Senate empty-state treatment on the public project/policy lists. */
.senior-tools-empty.senado-empty-state {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 0;
    padding: 15px;
    text-align: center;
    width: 100%;
    color: rgba(235, 235, 235, .72);
    font-size: inherit;
}

.senate-policies-page .senior-tools-policies-list:has(> .senado-empty-state) {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.kx-projects-page .senior-tools-body:has(> .senado-empty-state),
.senate-policies-page .senior-tools-policies-list:has(> .senado-empty-state) {
    background: transparent;
}

.senior-tools-active-list {
    max-height: 520px;
    overflow-y: auto;
    overflow-x: hidden;
    background: rgba(0, 0, 0, .14);
}

.senior-tools-active-list:has(> .senior-tools-empty) {
    min-height: 325px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.senior-tools-list[data-senate-proposals-list]:has(> .senior-tools-empty) {
    min-height: 325px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.senior-tools-active-list > .senior-tools-empty {
    width: 100%;
    box-sizing: border-box;
    padding: 0 14px;
    text-align: center;
    color: #e6eef4;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}

.senior-tools-list[data-senate-proposals-list] > .senior-tools-empty {
    width: 100%;
    box-sizing: border-box;
    padding: 0 14px;
    text-align: center;
    color: #e6eef4;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}

.senior-tools-active-list::-webkit-scrollbar {
    width: 7px;
}

.senior-tools-active-list::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, .18);
}

.senior-tools-active-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .16);
    border-radius: 5px;
}

.senior-tools-active-item {
    display: block;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    color: #dcdcdc;
    text-decoration: none;
    background: rgba(255, 255, 255, .015);
    transition: background-color .16s ease;
}

.senior-tools-active-item:hover {
    background: rgba(255, 255, 255, .045);
}

.senior-tools-panel .camera-pagination {
    margin: 10px 12px 12px;
}

.senior-tools-panel .camera-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.senior-tools-panel .camera-pagination__btn {
    min-height: 28px;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 3px;
    color: #d8d8d8;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    background: rgba(0, 0, 0, .26);
}

.senior-tools-panel .camera-pagination__btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, .06);
}

.senior-tools-panel .camera-pagination__btn:disabled {
    opacity: .45;
    cursor: default;
}

.senior-tools-panel .camera-pagination__info {
    color: rgba(255, 255, 255, .7);
    font-size: 10px;
}

.senior-tools-proposal {
    display: block;
    padding: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    color: #dcdcdc;
    text-decoration: none;
    transition: background-color .16s ease;
}

.senior-tools-proposal:hover {
    background: rgba(255, 255, 255, .035);
}

.senior-tools-proposal-main,
.senior-tools-proposal-head,
.senior-tools-detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.senior-tools-proposal-main {
    margin-bottom: 6px;
}

.senior-tools-proposal-title,
.senior-tools-proposal-head strong {
    display: block;
    min-width: 0;
    color: #f5f5f5;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 800;
}

.senior-tools-active-item .senior-tools-proposal-title {
    font-size: 13px;
}

.senior-tools-proposal-description,
.senior-tools-proposal p {
    margin: 7px 0 8px;
    color: rgba(255, 255, 255, .66);
    font-size: 11px;
    line-height: 1.45;
}

.senior-tools-proposal-type {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 6px;
    color: rgba(255, 255, 255, .55);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: uppercase;
}

.senior-tools-proposal-type i {
    color: rgba(92, 225, 174, .82);
    font-size: 10px;
}

.senior-tools-proposal-type.is-type-motion_censure,
.senior-tools-detail-category.is-type-motion_censure {
    color: #ff7f7f;
}

.senior-tools-proposal-type.is-type-motion_censure i,
.senior-tools-detail-category.is-type-motion_censure i {
    color: #ff7f7f;
}

.senior-tools-proposal-type.is-type-admin_appointment,
.senior-tools-detail-category.is-type-admin_appointment {
    color: #7fe6a5;
}

.senior-tools-proposal-type.is-type-admin_appointment i,
.senior-tools-detail-category.is-type-admin_appointment i {
    color: #7fe6a5;
}

.senior-tools-proposal-type.is-type-credit_issue,
.senior-tools-detail-category.is-type-credit_issue {
    color: #90efb1;
}

.senior-tools-proposal-type.is-type-credit_issue i,
.senior-tools-detail-category.is-type-credit_issue i {
    color: #90efb1;
}

.senior-tools-proposal-type.is-type-rare_issue,
.senior-tools-detail-category.is-type-rare_issue {
    color: #7fd8ff;
}

.senior-tools-proposal-type.is-type-rare_issue i,
.senior-tools-detail-category.is-type-rare_issue i {
    color: #7fd8ff;
}

.senior-tools-proposal-type.is-type-rare_remove,
.senior-tools-detail-category.is-type-rare_remove {
    color: #f0cf7a;
}

.senior-tools-proposal-type.is-type-rare_remove i,
.senior-tools-detail-category.is-type-rare_remove i {
    color: #f0cf7a;
}

.senior-tools-proposal-type.is-type-admin_policy,
.senior-tools-detail-category.is-type-admin_policy {
    color: #d7c8ff;
}

.senior-tools-proposal-type.is-type-admin_policy i,
.senior-tools-detail-category.is-type-admin_policy i {
    color: #d7c8ff;
}

.senior-tools-proposal-type.is-type-admin_policy_repeal,
.senior-tools-detail-category.is-type-admin_policy_repeal {
    color: #c6c6c6;
}

.senior-tools-proposal-type.is-type-admin_policy_repeal i,
.senior-tools-detail-category.is-type-admin_policy_repeal i {
    color: #c6c6c6;
}

.senior-tools-proposal-type.is-type-parameter_change,
.senior-tools-detail-category.is-type-parameter_change {
    color: #9bd2ff;
}

.senior-tools-proposal-type.is-type-parameter_change i,
.senior-tools-detail-category.is-type-parameter_change i {
    color: #9bd2ff;
}

.senior-tools-proposal-type-censure,
.senior-tools-active-type.is-censure {
    color: #ff7f7f;
    text-shadow: 0 0 8px rgba(255, 50, 50, .2);
}

.senior-tools-proposal-type-appointment,
.senior-tools-active-type.is-appointment {
    color: #7fe6a5;
    text-shadow: 0 0 8px rgba(62, 202, 113, .22);
}

.senior-tools-proposal-type-extra {
    margin: 0 0 10px;
}

.senior-tools-slot-info {
    margin-top: 6px;
    padding: 7px 8px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
}

.senior-tools-slot-info.is-available {
    color: #90efb1;
    border-color: rgba(46, 204, 113, .3);
    background: rgba(46, 204, 113, .12);
}

.senior-tools-slot-info.is-full {
    color: #ffb2ac;
    border-color: rgba(255, 86, 74, .3);
    background: rgba(255, 86, 74, .12);
}

.admin-rare-selection {
    min-height: 28px;
    margin: -2px 0 8px;
    padding: 7px 8px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 3px;
    color: rgba(255, 255, 255, .68);
    font-size: 10px;
    font-weight: 700;
    background: rgba(0, 0, 0, .18);
    box-sizing: border-box;
}

.admin-rare-price-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

.admin-rare-price-grid label {
    color: rgba(255, 255, 255, .62);
    font-size: 10px;
    text-transform: uppercase;
}

.senior-tools-price-label {
    display: flex !important;
    align-items: center;
    gap: 5px;
    min-height: 17px;
    line-height: 15px;
}

.senior-tools-price-label .kx-me-currency-icon {
    display: inline-block;
    width: 15px;
    height: 15px;
    position: relative;
    flex: 0 0 15px;
    image-rendering: pixelated;
}

.senior-tools-price-label .kx-me-currency-icon .credits,
.senior-tools-price-label .kx-me-currency-icon .diamonds {
    position: absolute;
    left: 0;
    top: 0;
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
}

.senior-tools-price-label .kx-me-currency-icon .credits {
    background-image: var(--kx-currency-credits-image);
}

.senior-tools-price-label .kx-me-currency-icon .diamonds {
    background-image: var(--kx-currency-diamonds-image);
}

.admin-rare-price-grid input {
    margin-bottom: 0;
}

.admin-rare-pages {
    margin-bottom: 10px;
}

.admin-rare-grid.itemContainer {
    display: block;
    min-height: 136px;
    max-height: 214px;
    margin: 0 0 10px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 3px;
    background: rgba(0, 0, 0, .16);
    overflow-y: auto;
    box-sizing: border-box;
}

.admin-rare-grid .itemList {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, 38px);
    justify-content: start;
    gap: 5px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.admin-rare-item {
    float: none;
    left: auto;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border-radius: 4px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto;
    cursor: pointer;
    image-rendering: pixelated;
}

.admin-rare-item.item-selected,
.admin-rare-item.admin-rare-item-selected {
    border-color: rgba(92, 225, 174, .95) !important;
    box-shadow: 0 0 0 1px rgba(92, 225, 174, .45), 0 0 12px rgba(92, 225, 174, .22);
}

.senior-tools-proposal-meta,
.senior-tools-detail-meta {
    color: rgba(255, 255, 255, .55);
    font-size: 10px;
    line-height: 1.35;
}

.senior-tools-proposal-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.senior-tools-detail-body + .senior-tools-proposal-meta {
    margin-top: 11px;
}

.senior-tools-proposal-meta.is-economic-impact {
    padding: 8px 10px;
    color: #90efb1;
    background: rgba(46, 204, 113, .1);
}

.senior-tools-proposal-meta.is-economic-impact i {
    color: #90efb1;
    font-size: 13px;
}

.senior-tools-proposal-meta.is-economic-impact strong {
    color: #d9ffe6;
    font-size: 12px;
}

.senior-tools-proposal-meta.is-economic-impact span {
    color: rgba(255, 255, 255, .62);
    font-size: 11px;
    font-weight: 700;
}

.senior-tools-proposal-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    color: rgba(255, 255, 255, .48);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
}

.senior-tools-proposal-meta-row span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.senior-tools-proposal-meta-row i {
    color: rgba(255, 255, 255, .42);
    font-size: 10px;
}

.senior-tools-rare-preview.itemContainer {
    display: inline-block;
    min-height: 44px;
    width: 50px;
    margin: 0 8px 0 0;
    padding: 3px;
    vertical-align: middle;
    overflow: visible;
}

.senior-tools-rare-preview .itemList {
    margin: 0;
    padding: 0;
}

.senior-tools-rare-preview .item {
    width: 43px;
    height: 43px;
    margin: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto;
    image-rendering: pixelated;
}

.senior-tools-rare-proposal-card {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
}

.senior-tools-rare-proposal-preview.itemContainer {
    display: grid;
    place-items: center;
    min-height: 86px;
    max-height: 86px;
    margin: 0;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, .045);
    box-sizing: border-box;
    overflow: hidden;
    background:
        radial-gradient(circle at 45% 45%, rgba(255, 255, 255, .06), transparent 52%),
        rgba(0, 0, 0, .24);
}

.senior-tools-rare-proposal-preview .itemList {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    flex-wrap: nowrap;
}

.senior-tools-rare-proposal-preview .item {
    float: none;
    display: block;
    position: static;
    flex: 0 0 43px;
    margin: 0;
    background-position: center !important;
}

.senior-tools-rare-proposal-numbers {
    min-height: 66px;
    padding: 13px 14px;
    border: 1px solid rgba(255, 255, 255, .045);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, 0) 45%),
        rgba(0, 0, 0, .26);
    box-sizing: border-box;
    min-width: 0;
}

.senior-tools-rare-proposal-numbers span,
.senior-tools-rare-proposal-numbers small {
    display: block;
    color: #999;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
}

.senior-tools-rare-proposal-numbers strong {
    display: block;
    margin: 5px 0 4px;
    color: #fff;
    font-size: 17px;
    line-height: 1.1;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.senior-tools-rare-proposal-numbers.is-primary strong {
    color: #ffc85a;
    font-size: 21px;
}

.senior-tools-rare-proposal-numbers small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.senior-tools-rare-proposal-numbers .senior-tools-rare-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 12px;
}

.senior-tools-rare-proposal-numbers .senior-tools-rare-price-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.1;
    text-transform: none;
}

.senior-tools-rare-proposal-card.is-skeleton .senior-tools-rare-proposal-numbers {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.senior-tools-rare-proposal-card.is-skeleton .senior-tools-rare-proposal-numbers strong {
    margin: 7px 0;
}

.kx-skeleton-line.is-rare-label {
    width: 46%;
    height: 9px;
}

.kx-skeleton-line.is-rare-name {
    width: 82%;
    height: 18px;
}

.kx-skeleton-line.is-rare-price {
    width: 72%;
    height: 17px;
}

.kx-skeleton-line.is-rare-small {
    width: 58%;
    height: 8px;
}

.senior-tools-rare-price-item img,
.senior-tools-rare-price-item .kx-managed-currency-icon {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    object-fit: contain;
    image-rendering: auto;
}

.senior-tools-parameter-change-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, .8fr);
    align-items: stretch;
    gap: 10px;
    width: 100%;
}

.senior-tools-parameter-change-icon,
.senior-tools-parameter-change-main,
.senior-tools-parameter-change-values {
    min-height: 62px;
    padding: 11px 12px;
    border: 1px solid rgba(255, 255, 255, .045);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, 0) 45%),
        rgba(0, 0, 0, .26);
    box-sizing: border-box;
    min-width: 0;
}

.senior-tools-parameter-change-icon {
    display: grid;
    place-items: center;
    padding: 0;
    color: #9bd2ff;
    font-size: 18px;
}

.senior-tools-parameter-change-main span,
.senior-tools-parameter-change-values span,
.senior-tools-parameter-change-main small {
    display: block;
    color: #999;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
}

.senior-tools-parameter-change-main strong,
.senior-tools-parameter-change-values strong {
    display: block;
    margin: 5px 0 3px;
    color: #fff;
    font-size: 16px;
    line-height: 1.15;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.senior-tools-parameter-change-values.is-new strong {
    color: #ffc85a;
    font-size: 18px;
}

.senior-tools-status {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 3px;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.senior-tools-status.is-debate {
    background: #24598a;
}

.senior-tools-status.is-approved {
    background: #23883e;
}

.senior-tools-status.is-rejected {
    background: #9a2f2b;
}

.senior-tools-status.is-closed {
    background: #555;
}

.senior-tools-status.is-vetoed,
.senior-tools-status.is-vetada {
    background: #6d3b8d;
}

.senior-tools-status.is-active {
    background: #2f7650;
}

.senior-tools-detail-category {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #66e6b8;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
}

.senior-tools-detail-category i {
    color: rgba(102, 230, 184, .9);
    font-size: 12px;
}

.senior-tools-detail-category.is-type-motion_censure i { color: #ff7f7f; }
.senior-tools-detail-category.is-type-admin_appointment i { color: #7fe6a5; }
.senior-tools-detail-category.is-type-credit_issue i { color: #90efb1; }
.senior-tools-detail-category.is-type-rare_issue i { color: #7fd8ff; }
.senior-tools-detail-category.is-type-rare_remove i { color: #f0cf7a; }
.senior-tools-detail-category.is-type-admin_policy i { color: #d7c8ff; }
.senior-tools-detail-category.is-type-admin_policy_repeal i { color: #c6c6c6; }

.senior-tools-vote-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.senior-tools-vote-summary span,
.senior-tools-vote-legend span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 7px;
    border-radius: 3px;
    color: #e9e9e9;
    font-size: 10px;
    font-weight: 700;
    background: rgba(255, 255, 255, .06);
}

.senior-tools-vote-summary .is-yes,
.senior-tools-vote-legend .is-yes {
    color: #90efb1;
    background: rgba(46, 204, 113, .14);
}

.senior-tools-vote-summary .is-no,
.senior-tools-vote-legend .is-no {
    color: #ffb2ac;
    background: rgba(255, 86, 74, .14);
}

.senior-tools-vote-summary .is-abstain,
.senior-tools-vote-legend .is-abstain {
    color: #ffe0a1;
    background: rgba(255, 200, 95, .14);
}

.senior-tools-vote-legend .is-pending {
    color: rgba(255, 255, 255, .58);
}

.senior-tools-detail-head h2 {
    margin: 0;
    color: #fff;
    font-size: 19px;
    line-height: 1.25;
    font-weight: 700;
}

.senior-tools-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-top: 7px;
}

.senior-tools-detail-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: rgba(255, 255, 255, .5);
    font-size: 10px;
    font-weight: 700;
}

.senior-tools-detail-meta i {
    color: rgba(255, 255, 255, .38);
}

.senior-tools-detail-meta .is-deadline {
    color: rgba(255, 255, 255, .82);
}

.senior-tools-detail-meta .is-deadline i {
    color: #f0cf7a;
}

.senior-tools-detail-body {
    margin-top: 14px;
    padding: 8px 0 6px;
    border-top: 1px solid rgba(255, 255, 255, .05);
    border-bottom: 1px solid rgba(255, 255, 255, .05);
    color: #d5d5d5;
    font-size: 12px;
    line-height: 1.5;
    background: transparent;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.senior-tools-detail-body p {
    margin: 0 0 7px;
}

.senior-tools-detail-body p:last-child {
    margin-bottom: 0;
}

.senior-tools-detail-head h2,
.senior-tools-detail-meta {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.senior-tools-vote-result {
    margin-top: 14px;
}

.senior-tools-vote-result-title {
    margin-bottom: 7px;
    color: rgba(255, 255, 255, .76);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.senior-tools-vote-summary.is-detail {
    margin-top: 0;
    gap: 8px;
}

.senior-tools-vote-summary.is-detail span {
    padding: 6px 9px;
}

.senior-tools-vote-parliament {
    height: 338px;
    min-height: 338px;
    margin: 0;
}

.senior-tools-vote-box .senior-tools-body {
    padding-top: 0;
}

.senior-tools-author-footer {
    position: relative;
    height: 60px;
}

.senior-tools-author-footer.footerBottomBox .headAvatar {
    position: relative;
    display: block;
    width: 54px;
    height: 62px;
    margin-left: 8px;
    background-position: center;
    background-repeat: no-repeat;
}

.senior-tools-author-footer.footerBottomBox span {
    left: 68px;
}

.senior-tools-author-footer.footerBottomBox .newsAuthor {
    left: 68px;
}

.senior-tools-author-footer .senior-tools-proposal-views {
    position: absolute;
    right: 15px;
    top: 50%;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.senior-tools-author-footer .senior-tools-proposal-views i {
    color: rgba(157, 210, 255, .78);
    font-size: 13px;
}

.senior-tools-author-footer.footerBottomBox .senior-tools-proposal-views span {
    position: static;
    left: auto;
    top: auto;
    display: inline;
    color: inherit;
    font-size: inherit;
}

.senior-tools-vote-parliament .senado-seat {
    border-color: rgba(255, 255, 255, .16);
    box-shadow: none;
}

.senior-tools-vote-parliament .senado-seat.is-selected-org {
    box-shadow: none;
}

.senior-tools-vote-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.senior-tools-vote-form {
    display: grid;
    gap: 8px;
}

.senior-tools-vote-controls {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.senior-tools-vote-controls .senior-tools-vote-form {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}

.senior-tools-vote-access-message {
    margin: 0 0 10px;
    color: rgba(255, 255, 255, .7);
    line-height: 1.5;
}

.senior-tools-proposal-consequences {
    line-height: 1.5;
}

.senior-tools-proposal-consequences p {
    margin: 0 0 12px;
}

.senior-tools-proposal-consequences dl {
    margin: 0 0 14px;
}

.senior-tools-proposal-consequences dt {
    color: rgba(255, 255, 255, .65);
    font-size: 12px;
}

.senior-tools-proposal-consequences dd {
    margin: 2px 0 10px;
    overflow-wrap: anywhere;
}

.senior-tools-consequence-reference {
    color: rgba(255, 255, 255, .6);
    font-size: 12px;
}

.senior-tools-vote-form button {
    width: 100%;
    min-height: 36px;
    justify-content: center;
    padding: 0 12px;
    text-align: center;
    border-color: rgba(255, 255, 255, .14);
    background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.senior-tools-vote-form button[value="affirmative"].is-selected,
.senior-tools-vote-form button[value="affirmative"]:hover {
    border-color: rgba(46, 204, 113, .55);
    background: linear-gradient(180deg, rgba(46, 204, 113, .34), rgba(26, 132, 70, .34));
    box-shadow: 0 0 0 1px rgba(46, 204, 113, .22);
}

.senior-tools-vote-form button[value="negative"].is-selected,
.senior-tools-vote-form button[value="negative"]:hover {
    border-color: rgba(255, 86, 74, .55);
    background: linear-gradient(180deg, rgba(255, 86, 74, .34), rgba(145, 42, 38, .34));
    box-shadow: 0 0 0 1px rgba(255, 86, 74, .22);
}

.senior-tools-vote-form button[value="abstention"].is-selected,
.senior-tools-vote-form button[value="abstention"]:hover {
    border-color: rgba(255, 200, 95, .55);
    background: linear-gradient(180deg, rgba(255, 200, 95, .28), rgba(150, 104, 34, .32));
    box-shadow: 0 0 0 1px rgba(255, 200, 95, .2);
}

.senior-tools-policies-list {
    max-height: none;
}

/* Three loading rows suggest continuation; real policies keep their full height. */
.senate-policies-page .senior-tools-policies-list:has(> .senior-tools-policy-skeleton) {
    max-height: 400px;
    overflow-y: hidden;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 78px), transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 calc(100% - 78px), transparent 100%);
}

.senior-tools-policy-message {
    margin: 12px 12px 0;
}

.senior-tools-count-skeleton {
    display: inline-block;
    width: 10px;
    height: 7px;
    border-radius: 2px;
    vertical-align: middle;
    background: linear-gradient(90deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .11), rgba(255, 255, 255, .055));
    background-size: 220% 100%;
    animation: kxSkeletonSweep 1.15s ease-in-out infinite;
}

.senior-tools-policy-row {
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    background: rgba(255, 255, 255, .012);
}

.senior-tools-policy-row.is-derogated {
    opacity: .5;
}

.senior-tools-policy-link {
    border-bottom: 0;
}

.senior-tools-proposal-head .senior-tools-policy-title {
    color: #f5f5f5;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
}

.senior-tools-policy-link .senior-tools-proposal-type i {
    margin-right: 5px;
    color: #d3bd79;
}

.senior-tools-policy-link .senior-tools-proposal-type.is-approved {
    margin-top: 9px;
    color: #90efb1;
}

.senior-tools-policy-code {
    color: #90efb1;
    font-weight: 700;
}

.senior-tools-policy-skeleton .senior-tools-policy-link {
    cursor: default;
}

.senior-tools-policy-skeleton .senior-tools-policy-title {
    display: block;
    width: min(620px, 64%);
}

.senior-tools-policy-skeleton .kx-skeleton-line {
    background: linear-gradient(90deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .11), rgba(255, 255, 255, .055));
    background-size: 220% 100%;
    animation: kxSkeletonSweep 1.15s ease-in-out infinite;
}

.senior-tools-policy-skeleton .is-policy-title {
    width: 100%;
    height: 17px;
}

.senior-tools-status.is-skeleton-status {
    width: 54px;
    height: 19px;
    padding: 0;
    background: rgba(47, 118, 80, .62);
    overflow: hidden;
}

.senior-tools-status.is-skeleton-status .is-policy-status {
    width: 34px;
    height: 7px;
    margin: auto;
    opacity: .55;
}

.senior-tools-policy-type-skeleton {
    width: fit-content;
}

.senior-tools-policy-type-skeleton .is-policy-type {
    width: 118px;
    height: 8px;
}

.senior-tools-policy-skeleton .is-policy-summary {
    width: min(520px, 45%);
    height: 10px;
}

.senior-tools-policy-skeleton .is-policy-meta {
    width: min(460px, 48%);
    height: 8px;
}

.senior-tools-vote-summary-skeleton > span {
    min-width: 42px;
    min-height: 21px;
    padding: 0 7px;
}

.senior-tools-vote-summary-skeleton > span > .kx-skeleton-line {
    box-sizing: border-box;
    display: block;
    min-height: 0;
    min-width: 0;
    padding: 0;
}

.senior-tools-vote-summary-skeleton .is-policy-vote {
    width: 46px;
    height: 7px;
    opacity: .58;
}

.senior-tools-proposal-skeleton {
    min-height: 164px;
    box-sizing: border-box;
}

.senior-tools-proposal-skeleton .kx-skeleton-line {
    background: linear-gradient(90deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .11), rgba(255, 255, 255, .055));
    background-size: 220% 100%;
    animation: kxSkeletonSweep 1.15s ease-in-out infinite;
}

.senior-tools-proposal-skeleton .senior-tools-status.is-skeleton-status {
    background: rgba(255, 255, 255, .08);
    width: 96px;
}

.senior-tools-proposal-skeleton .senior-tools-vote-summary-skeleton span {
    background: rgba(255, 255, 255, .08);
}

.senior-tools-proposal-skeleton .senior-tools-vote-summary-skeleton span.is-yes {
    background: rgba(46, 204, 113, .24);
}

.senior-tools-proposal-skeleton .senior-tools-vote-summary-skeleton span.is-no {
    background: rgba(231, 76, 60, .22);
}

.senior-tools-proposal-skeleton .senior-tools-vote-summary-skeleton span.is-abstain {
    background: rgba(255, 195, 85, .22);
}

.senior-tools-proposal-skeleton .senior-tools-proposal-title {
    width: calc(100% - 106px);
}

.senior-tools-proposal-skeleton .is-proposal-title {
    width: 100%;
    height: 14px;
}

.senior-tools-proposal-skeleton .is-proposal-title.is-continuation {
    display: block;
    width: 58%;
    margin-top: 4px;
}

.senior-tools-proposal-skeleton .is-proposal-status {
    width: 72px;
    height: 7px;
    margin: auto;
    opacity: .55;
}

.senior-tools-proposal-type-skeleton {
    width: fit-content;
}

.senior-tools-proposal-type-skeleton .is-proposal-type {
    width: 136px;
    height: 8px;
}

.senior-tools-proposal-skeleton .is-proposal-desc {
    width: min(540px, 70%);
    height: 10px;
}

.senior-tools-proposal-meta-skeleton span {
    min-width: 0;
}

.senior-tools-proposal-meta-skeleton .is-proposal-meta {
    width: 108px;
    height: 8px;
    opacity: .62;
}

.senior-tools-proposal-meta-skeleton .is-proposal-meta.is-user {
    width: 56px;
}

.senior-tools-vote-summary-skeleton > span > .is-proposal-vote {
    width: 34px;
    height: 7px;
    opacity: .58;
}

.senior-tools-derogation-form {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px 11px;
    border-top: 1px solid rgba(255, 255, 255, .05);
    color: rgba(255, 255, 255, .68);
    font-size: 11px;
    background: rgba(0, 0, 0, .16);
}

.senior-tools-derogation-progress {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 160px;
    font-weight: 700;
}

.senior-tools-derogation-progress i {
    color: #d3bd79;
}

.senior-tools-derogation-progress strong {
    color: #f1f1f1;
    font-size: 12px;
}

.senior-tools-derogation-voters {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex: 1;
    color: rgba(255, 255, 255, .55);
    overflow: hidden;
}

.senior-tools-derogation-voters span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.senior-tools-derogation-voters i {
    color: rgba(255, 255, 255, .42);
}

.senior-tools-derogation-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid rgba(255, 120, 110, .34);
    border-radius: 3px;
    color: #ffd7d2;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
    background: rgba(120, 36, 33, .28);
}

.senior-tools-derogation-button:hover:not(:disabled) {
    border-color: rgba(255, 120, 110, .55);
    background: rgba(145, 42, 38, .38);
}

.senior-tools-derogation-button:disabled {
    border-color: rgba(120, 190, 145, .28);
    color: #bde7c7;
    cursor: default;
    background: rgba(38, 120, 70, .18);
}

.senior-tools-vote-parliament .senado-seat-vote-yes {
    border-color: #2ecc71 !important;
    background: rgba(46, 204, 113, .28);
    box-shadow: 0 0 0 2px rgba(46, 204, 113, .34), 0 0 16px rgba(46, 204, 113, .24);
}

.senior-tools-vote-parliament .senado-seat-vote-no {
    border-color: #ff6258 !important;
    background: rgba(255, 98, 88, .28);
    box-shadow: 0 0 0 2px rgba(255, 98, 88, .34), 0 0 16px rgba(255, 98, 88, .24);
}

.senior-tools-vote-parliament .senado-seat-vote-abstain {
    border-color: #ffcf73 !important;
    background: rgba(255, 207, 115, .26);
    box-shadow: 0 0 0 2px rgba(255, 207, 115, .34), 0 0 16px rgba(255, 207, 115, .22);
}

.senior-tools-vote-parliament .senado-seat-vote-pending {
    border-color: rgba(255, 255, 255, .16) !important;
    opacity: .58;
    filter: grayscale(.35);
}
