.ttorc-form,
.ttorc-status,
.ttorc-registry,
.ttorc-admin-card {
    box-sizing: border-box;
    max-width: 960px;
}

.ttorc-form *,
.ttorc-status *,
.ttorc-registry *,
.ttorc-admin-card * {
    box-sizing: border-box;
}

.ttorc-form {
    display: grid;
    gap: 18px;
    margin: 24px 0;
}

.ttorc-form-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ttorc-field,
.ttorc-review-form label {
    display: grid;
    gap: 6px;
    font-weight: 600;
}

.ttorc-field input,
.ttorc-field textarea,
.ttorc-review-form textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid #b8c2cc;
    border-radius: 6px;
    padding: 9px 11px;
    font: inherit;
}

.ttorc-field textarea,
.ttorc-review-form textarea {
    min-height: 112px;
}

.ttorc-field span,
.ttorc-review-form span {
    color: #24313d;
}

.ttorc-field strong {
    color: #a42828;
}

.ttorc-full {
    max-width: 100%;
}

.ttorc-council {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid #d9e0e7;
    border-radius: 8px;
    background: #f8fafc;
}

.ttorc-council-number {
    display: none;
}

.ttorc-council.ttorc-has-number .ttorc-council-number {
    display: grid;
}

.ttorc-button {
    justify-self: start;
    min-height: 44px;
    border: 0;
    border-radius: 6px;
    padding: 10px 18px;
    background: #005f73;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
}

.ttorc-button:hover,
.ttorc-button:focus {
    background: #044f5f;
    color: #fff;
}

.ttorc-notice {
    max-width: 960px;
    margin: 16px 0;
    border-left: 4px solid #607d8b;
    padding: 12px 14px;
    background: #f7f9fb;
}

.ttorc-notice-success {
    border-color: #2e7d32;
    background: #f0f8f0;
}

.ttorc-notice-error {
    border-color: #b3261e;
    background: #fff3f1;
}

.ttorc-registry {
    overflow-x: auto;
    margin: 24px 0;
}

.ttorc-registry table {
    width: 100%;
    border-collapse: collapse;
}

.ttorc-registry th,
.ttorc-registry td {
    border-bottom: 1px solid #dbe2e8;
    padding: 12px;
    text-align: left;
}

.ttorc-registry th {
    background: #eef4f7;
    color: #1f2a33;
}

.ttorc-status {
    margin: 24px 0;
    border: 1px solid #d9e0e7;
    border-radius: 8px;
    padding: 20px;
    background: #fff;
}

.ttorc-status dl {
    display: grid;
    gap: 10px 18px;
    grid-template-columns: max-content 1fr;
    margin: 0;
}

.ttorc-status dt {
    font-weight: 700;
}

.ttorc-status dd {
    margin: 0;
}

.ttorc-badge {
    display: inline-block;
    border-radius: 999px;
    padding: 3px 10px;
    background: #eef2f5;
    font-weight: 700;
}

.ttorc-approved {
    background: #d9f0dd;
    color: #205c28;
}

.ttorc-pending {
    background: #fff0c2;
    color: #674900;
}

.ttorc-denied {
    background: #ffd9d5;
    color: #8b1a12;
}

.ttorc-muted {
    margin: 0;
    color: #52616f;
}

.ttorc-admin-card {
    display: grid;
    gap: 18px;
    margin: 18px 0;
    border: 1px solid #ccd6dd;
    border-radius: 8px;
    padding: 18px;
    background: #fff;
}

.ttorc-admin-card h2 {
    margin-top: 0;
}

.ttorc-review-form {
    display: grid;
    gap: 12px;
}

.ttorc-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ttorc-settings {
    max-width: 520px;
}

@media (max-width: 720px) {
    .ttorc-form-grid,
    .ttorc-status dl {
        grid-template-columns: 1fr;
    }
}
