/* Dog/Handler Results Lookup — styled to match the Advanced Search. */

.trq-wrapper.showings-search-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
}

.trq-wrapper .search-filters {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
}

.trq-wrapper .search-filters h3 {
    margin-top: 0;
    margin-bottom: 20px;
    color: #333;
    font-size: 1.4em;
}

.trq-wrapper .search-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.trq-wrapper .filter-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.trq-wrapper .filter-group {
    display: flex;
    flex-direction: column;
}

.trq-wrapper .filter-group label {
    font-weight: 600;
    margin-bottom: 5px;
    color: #495057;
    font-size: 14px;
}

.trq-wrapper .filter-input,
.trq-wrapper .filter-select {
    padding: 8px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 14px;
    background-color: white;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.trq-wrapper .filter-input:focus,
.trq-wrapper .filter-select:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

/* Autocomplete dropdown (jQuery UI) */
.ui-autocomplete {
    max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 1000;
    background: white;
    border: 1px solid #ced4da;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.ui-menu-item { padding: 8px 12px; cursor: pointer; }
.ui-menu-item:hover,
.ui-state-focus { background-color: #007bff; color: white; }

.trq-wrapper .filter-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    justify-content: flex-start;
}

.trq-wrapper .search-button,
.trq-wrapper .reset-button {
    padding: 10px 20px;
    border: none;
    border-radius: 0;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
}

.trq-wrapper .search-button { background-color: #007bff; color: white; }
.trq-wrapper .search-button:hover { background-color: #0056b3; }

.trq-wrapper .reset-button {
    background-color: #cccc00 !important;
    color: white !important;
}
.trq-wrapper .reset-button:hover { background-color: #b3b300 !important; }

.trq-wrapper .search-results-wrapper {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 20px;
}

.trq-wrapper .results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #dee2e6;
}
.trq-wrapper .results-header h3 { margin: 0; color: #333; font-size: 1.4em; }
.trq-wrapper .results-count { font-weight: 600; color: #495057; }

.trq-wrapper .search-loading { text-align: center; padding: 40px; color: #6c757d; }
.trq-wrapper .spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(0,123,255,.3);
    border-radius: 50%;
    border-top-color: #007bff;
    animation: trq-spin 1s ease-in-out infinite;
}
@keyframes trq-spin { to { transform: rotate(360deg); } }

/* Results table — matches advanced search */
.trq-wrapper .showings-results-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}
.trq-wrapper .showings-results-table thead { background-color: #990099; }
.trq-wrapper .showings-results-table th {
    padding: 12px;
    text-align: left;
    font-weight: 600;
    color: white;
    border-bottom: 2px solid #dee2e6;
    white-space: nowrap;
    background-color: #990099;
}
.trq-wrapper .showings-results-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #dee2e6;
    vertical-align: top;
}
.trq-wrapper .showings-results-table tbody tr,
.trq-wrapper .showings-results-table tbody tr:nth-child(odd),
.trq-wrapper .showings-results-table tbody tr:nth-child(even) {
    background-color: white !important;
    background: white !important;
    background-image: none !important;
}
.trq-wrapper .showings-results-table tbody tr:hover { background-color: #f0f0f0 !important; }

.trq-wrapper .trial-info .date { font-weight: 600; margin-bottom: 4px; }
.trq-wrapper .trial-info .date a { color: #007bff; text-decoration: none; }
.trq-wrapper .trial-info .date a:hover { text-decoration: underline; }
.trq-wrapper .trial-info .location { color: #6c757d; font-size: 0.9em; margin-bottom: 2px; }
.trq-wrapper .trial-info .club { font-size: 0.9em; color: #495057; }

.trq-wrapper .officials .judges { margin-bottom: 4px; }
.trq-wrapper .officials .decoys { color: #6c757d; font-size: 0.9em; }

.trq-wrapper .dog-handler .dog { margin-bottom: 4px; }
.trq-wrapper .dog-handler .dog a { color: #007bff; text-decoration: none; }
.trq-wrapper .dog-handler .dog a:hover { text-decoration: underline; }
.trq-wrapper .dog-handler .breed { color: #6c757d; font-size: 0.9em; margin-bottom: 2px; }
.trq-wrapper .dog-handler .handler { font-size: 0.9em; color: #495057; }

.trq-wrapper .result-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 23px;
    font-size: 0.85em;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    min-width: 35px;
}
.trq-wrapper .result-badge.result-q  { background-color: #0099ff; color: white; }
.trq-wrapper .result-badge.result-nq { background-color: #CC0000; color: white; }
.trq-wrapper .result-badge.result-dq,
.trq-wrapper .result-badge.result-dq_inj_pull { background-color: #7a7a7a; color: white; }

.trq-wrapper .no-results { text-align: center; padding: 40px; color: #6c757d; font-size: 1.1em; }
.trq-wrapper .error { text-align: center; padding: 20px; color: #CC0000; }

@media (max-width: 768px) {
    .trq-wrapper .filter-row { grid-template-columns: 1fr; }
    .trq-wrapper.showings-search-wrapper { padding: 10px; }
    .trq-wrapper .showings-results-table {
        font-size: 0.9em;
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .trq-wrapper .showings-results-table th,
    .trq-wrapper .showings-results-table td { padding: 8px 6px; font-size: 14px; }
    .trq-wrapper .results-header { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* Monospace so YYYY-MM-DD trial dates align in the field and dropdown. */
.trq-wrapper .trl-mono,
.trq-wrapper select.trl-mono {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    white-space: pre;
}

/* FCI-only toggle */
.trq-wrapper .trl-fci-group { flex-direction: row; align-items: center; }
.trq-wrapper .trl-fci-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #495057;
    font-size: 14px;
    cursor: pointer;
}
.trq-wrapper .trl-fci-label input[type="checkbox"] { width: 16px; height: 16px; cursor: pointer; }

/* ===== Trial Entry (Stage 1) ===== */
.trq-login-required { text-align:center; padding:40px; color:#CC0000; font-weight:600; }

.trq-wrapper .trq-viewmode {
    display: flex; gap: 18px; margin-bottom: 16px; padding: 10px 12px;
    background: #f0eef5; border: 1px solid #ddd; border-radius: 0;
}
.trq-wrapper .trq-viewmode label { font-weight: 600; color: #495057; cursor: pointer; display: flex; align-items: center; gap: 6px; }

.trq-trial-head { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 2px solid #dee2e6; }
.trq-trial-head h3 { margin: 0 0 8px; color: #333; }
.trq-meta { margin-bottom: 10px; }
.trq-status {
    display: inline-block; padding: 3px 10px; border-radius: 0; font-size: 0.8em;
    font-weight: 700; text-transform: uppercase; color: #fff; margin-right: 6px;
}
.trq-status-none   { background: #6c757d; }
.trq-status-submitted { background: #b8860b; }
.trq-status-entered{ background: #2e7d32; }
.trq-status-future { background: #4a4a8a; }
.trq-officials { font-size: 0.95em; color: #495057; line-height: 1.6; }
.trq-officials em { color: #999; }

/* Stage 2c officials editing */
.trq-off-line { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 2px 0; }
.trq-off-line > strong { margin-right: 2px; }
.trq-decoy-list, .trq-addjudge-list { display: inline-flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.trq-decoy-chip, .trq-addjudge-chip {
    display: inline-flex; align-items: center; gap: 5px;
    background: #f1f3f5; border: 1px solid #dee2e6; border-radius: 0;
    padding: 2px 6px; font-size: 0.9em;
}
.trq-decoy-chip button.trq-remove-decoy,
.trq-addjudge-chip button.trq-remove-addjudge {
    border: none !important; background: none !important; color: #CC0000 !important;
    cursor: pointer; font-size: 1.1em; line-height: 1; padding: 0 0 0 2px !important; font-weight: 700;
}
.trq-decoy-chip button.trq-remove-decoy:hover,
.trq-addjudge-chip button.trq-remove-addjudge:hover { color: #80000f !important; }
.trq-addjudge-actions { display: inline-flex; gap: 10px; flex-wrap: wrap; }

.trq-off-textfields {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px;
    margin-top: 8px; padding-top: 8px; border-top: 1px solid #e9ecef;
}
.trq-off-field { display: flex; flex-direction: column; font-size: 0.82em; color: #6c757d; gap: 2px; }
.trq-off-field input {
    border: 1px solid #ced4da; border-radius: 0; padding: 5px 7px; font-size: 0.95rem;
    min-width: 170px; color: #212529;
}
.trq-off-field input:focus { outline: none; border-color: #990099; }
.trq-off-status { font-size: 0.85em; color: #2b8a3e; }
.trq-off-readonly { color: #495057; }
.trq-off-readonly div { font-size: 0.95em; }

/* Inline picker under an officials line */
.trq-off-picker { position: relative; display: inline-flex; align-items: flex-start; gap: 6px; flex-basis: 100%; margin-top: 4px; }
.trq-off-picker .trq-ac-list { position: absolute; z-index: 30; left: 0; top: 100%; width: 240px; }

/* ===== Officials as member-lookup roles ===== */
.trq-off-fields {
    margin-top: 8px; padding-top: 8px; border-top: 1px solid #e9ecef;
    display: flex; flex-direction: column; gap: 10px;
}
.trq-off-help { margin: 0; font-size: 0.85em; color: #6c757d; }
.trq-off-role { display: flex; flex-direction: column; gap: 4px; }
.trq-off-role-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.trq-off-role-label { font-weight: 700; min-width: 140px; color: #343a40; }
.trq-off-role-current { font-size: 0.95em; }
.trq-off-role-current.is-set { color: #212529; }
.trq-off-role-current.is-empty { color: #adb5bd; }
.trq-off-rolepicker {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    padding: 8px; background: #faf5fb; border: 1px solid #e6d4ea; margin-top: 2px;
}
.trq-off-search {
    border: 1px solid #ced4da; border-radius: 0; padding: 6px 8px; font-size: 0.95rem;
    min-width: 220px; color: #212529;
}
.trq-off-search:focus { outline: none; border-color: #990099; }
.trq-off-results { list-style: none; margin: 0; padding: 0; flex-basis: 100%; max-width: 320px; }
.trq-off-opt {
    padding: 6px 8px; cursor: pointer; border: 1px solid #e9ecef; border-top: none;
    background: #fff; font-size: 0.95em;
}
.trq-off-opt:first-child { border-top: 1px solid #e9ecef; }
.trq-off-opt:hover { background: #f3e6f5; }
.trq-off-none { padding: 6px 8px; color: #868e96; font-size: 0.9em; font-style: italic; }
.trq-off-savebar { display: flex; align-items: center; gap: 12px; }
.trq-off-status { font-size: 0.85em; color: #2b8a3e; }
.trq-off-role-status { font-size: 0.8em; color: #2b8a3e; }
.trq-off-role-status.is-error { color: #CC0000; }
.trq-off-readonly { color: #495057; }
.trq-off-readonly div { font-size: 0.95em; }

/* ===== Per-decoy score + MR3 count ===== */
.trq-decoy-stats-list { display: flex; flex-direction: column; gap: 6px; flex-basis: 100%; }
.trq-decoy-stat-row {
    display: grid;
    grid-template-columns: minmax(120px, 200px) auto auto auto auto 1fr auto;
    align-items: center; column-gap: 10px; row-gap: 4px;
    background: #f1f3f5; border: 1px solid #dee2e6; padding: 6px 10px;
}
.trq-decoy-stat-name {
    font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.trq-decoy-stat-lbl { font-size: 0.8em; font-weight: 700; letter-spacing: 0.03em; color: #495057; }
.trq-decoy-score, .trq-decoy-mr3 {
    border: 1px solid #ced4da; border-radius: 0; padding: 4px 6px; font-size: 0.95rem; color: #212529;
    min-width: 56px;
}
.trq-decoy-score:focus, .trq-decoy-mr3:focus { outline: none; border-color: #990099; }
.trq-decoy-stat-status { font-size: 0.8em; padding-left: 4px; }
.trq-decoy-stat-status.is-ok { color: #2b8a3e; }
.trq-decoy-stat-status.is-error { color: #CC0000; }
.trq-decoy-remove-x {
    border: none !important; background: none !important; color: #CC0000 !important;
    cursor: pointer; font-size: 1.2em; line-height: 1; padding: 0 2px !important; font-weight: 700;
}
.trq-decoy-remove-x:hover { color: #80000f !important; }
.trq-decoy-stat-readout { font-size: 0.9em; color: #495057; grid-column: 2 / -1; }
/* Read-only rows (non-editable viewers) only have name + readout. */
.trq-decoy-stat-row--ro { grid-template-columns: minmax(120px, 200px) 1fr; }
/* Pre-trial: name + "opens on trial day" + remove ×; no rating fields yet. */
.trq-decoy-stat-row--pending { grid-template-columns: minmax(120px, 200px) 1fr auto; }
.trq-decoy-stat-pending { font-size: 0.85em; color: #868e96; font-style: italic; }
@media (max-width: 640px) {
    .trq-decoy-stat-row { grid-template-columns: 1fr auto auto; }
    .trq-decoy-stat-name { grid-column: 1 / -1; }
    .trq-decoy-stat-status { grid-column: 1 / -1; }
}

.trq-table { width: 100%; border-collapse: collapse; margin-top: 12px; }
.trq-table thead { background-color: #990099; }
.trq-table th { padding: 10px; text-align: left; color: #fff; background:#990099; white-space: nowrap; }
.trq-table td { padding: 10px; border-bottom: 1px solid #dee2e6; vertical-align: top; }
.trq-table .breed { color: #6c757d; font-size: 0.9em; }

/* Flags */
.trq-flags { min-width: 160px; }
.trq-flag {
    display: inline-block; padding: 3px 8px; margin: 2px 3px 2px 0; border-radius: 0;
    font-size: 0.72em; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; color: #fff;
}
.trq-flag-critical { background: #CC0000; }            /* rabies, testicle, sociability — eligibility */
.trq-flag-heat     { background: #e84393; }            /* in heat — trials last, affects schedule */
.trq-flag-warn     { background: #d97706; }            /* sent, awaiting review; may be in heat */
.trq-flag-info     { background: #8a8a8a; }            /* not registered — informational */
.trq-flag-none     { color: #bbb; }

/* Certificate recommendations */
.trq-cert { min-width: 220px; font-size: 0.86em; line-height: 1.4; }
.trq-cert-rec  { color: #155724; }
.trq-cert-rec strong { color: #0b3d17; }
.trq-cert-ok   { color: #2e7d32; }
.trq-cert-info { color: #555; }
.trq-cert-warn { color: #b35900; font-weight: 600; }
.trq-cert-na   { color: #bbb; }

.trq-stage-note { margin-top: 16px; color: #888; font-size: 0.85em; }
.trq-error { text-align:center; padding: 20px; color:#CC0000; }

.trq-wrapper .spinner {
    display:inline-block; width:18px; height:18px; border:3px solid rgba(0,123,255,.3);
    border-radius:50%; border-top-color:#007bff; animation: trq-spin 1s ease-in-out infinite; vertical-align:middle;
}
@keyframes trq-spin { to { transform: rotate(360deg); } }

/* ===== Stage 2a editable controls ===== */
.trq-locked-note {
    margin-top: 10px; padding: 8px 12px; background: #fff3cd; border: 1px solid #ffe69c;
    color: #7a5b00; font-size: 0.9em; font-weight: 600;
}
.trq-table select, .trq-table input[type="number"] {
    padding: 5px 7px; border: 1px solid #ced4da; border-radius: 0; font-size: 0.95em; background:#fff;
}
.trq-table input[type="number"].trq-score-input { width: 72px; }
.trq-table select:disabled, .trq-table input:disabled { background:#e9ecef; cursor:not-allowed; }

.trq-cert-toggle { display:block; margin-top:6px; font-size:0.85em; font-weight:600; color:#495057; cursor:pointer; }
.trq-cert-toggle input { margin-right:5px; }
.trq-dog-link { display:inline-block; margin-top:4px; font-size:0.82em; color:#007bff; text-decoration:none; }
.trq-dog-link:hover { text-decoration:underline; }
.trq-cert-issued { display:inline-block; margin-top:4px; font-size:0.82em; color:#2e7d32; font-weight:700; }

.trq-rowsave { white-space:nowrap; }
.trq-save-row {
    padding: 6px 14px; border:none; border-radius:0; background:#007bff; color:#fff;
    font-weight:600; cursor:pointer; font-size:0.9em;
}
.trq-save-row:hover { background:#0056b3; }
.trq-save-row:disabled { background:#6c757d; cursor:not-allowed; }
.trq-row-status { display:block; margin-top:4px; font-size:0.8em; }
.trq-row-status.ok  { color:#2e7d32; font-weight:600; }
.trq-row-status.err { color:#CC0000; font-weight:600; }

.trq-actions { margin-top:20px; display:flex; gap:12px; flex-wrap:wrap; }
.trq-submit-btn, .trq-enter-btn {
    padding:11px 20px; border:none; border-radius:0; font-weight:700; cursor:pointer; font-size:1em;
}
.trq-submit-btn { background:#b8860b; color:#fff; }
.trq-submit-btn:hover { background:#9c7209; }
.trq-submit-btn:disabled { background:#6c757d; cursor:not-allowed; }
.trq-enter-btn { background:#2e7d32; color:#fff; }
.trq-enter-btn:hover { background:#246427; }
.trq-enter-btn:disabled { background:#6c757d; cursor:not-allowed; }

/* ===== Stage 2b: Edit Handler + autocomplete ===== */
.trq-handler-cell { position: relative; }
.trq-edit-handler, .trq-ac-cancel {
    margin-left: 6px; padding: 2px 8px; border: 1px solid #ced4da; border-radius: 0;
    background: #f1f3f5; color: #495057; font-size: 0.78em; cursor: pointer;
}
.trq-edit-handler:hover, .trq-ac-cancel:hover { background: #e2e6ea; }
.trq-handler-edit { display: block; margin-top: 6px; position: relative; }
.trq-ac-input {
    width: 170px; padding: 5px 7px; border: 1px solid #007bff; border-radius: 0; font-size: 0.9em;
}
.trq-ac-list {
    position: absolute; z-index: 30; left: 0; top: 100%; width: 220px;
    background: #fff; border: 1px solid #ced4da; border-top: none;
    max-height: 220px; overflow-y: auto; box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}
.trq-ac-opt { padding: 7px 9px; cursor: pointer; font-size: 0.9em; border-bottom: 1px solid #f1f3f5; }
.trq-ac-opt:hover { background: #e7f1ff; }
.trq-ac-none { padding: 7px 9px; color: #999; font-size: 0.85em; }

/* ===== Stage 2b: Add Entry form ===== */
.trq-add-wrap { margin-top: 16px; }
.trq-add-toggle {
    padding: 9px 16px; border: 1px dashed #007bff; border-radius: 0;
    background: #f0f7ff; color: #0056b3; font-weight: 600; cursor: pointer; font-size: 0.95em;
}
.trq-add-toggle:hover { background: #e0efff; }
.trq-add-form {
    margin-top: 12px; padding: 16px; background: #f8f9fa; border: 1px solid #dee2e6;
    display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end;
}
.trq-add-field { display: flex; flex-direction: column; gap: 4px; }
.trq-add-field label { font-size: 0.8em; font-weight: 700; color: #495057; text-transform: uppercase; }
.trq-ac { position: relative; }
.trq-add-field .trq-ac-input { width: 200px; }
.trq-add-field select { padding: 6px 8px; border: 1px solid #ced4da; border-radius: 0; font-size: 0.95em; background:#fff; }
.trq-ac .trq-ac-list { position: absolute; z-index: 30; left: 0; top: 100%; width: 240px;
    background:#fff; border:1px solid #ced4da; border-top:none; max-height:220px; overflow-y:auto;
    box-shadow:0 4px 10px rgba(0,0,0,0.12); }
.trq-add-actions { display: flex; align-items: center; gap: 10px; }
.trq-add-submit { padding: 9px 18px; border:none; border-radius:0; background:#2e7d32; color:#fff; font-weight:700; cursor:pointer; }
.trq-add-submit:hover { background:#246427; }
.trq-add-submit:disabled { background:#6c757d; cursor:not-allowed; }
.trq-add-cancel { padding: 9px 14px; border:1px solid #ced4da; border-radius:0; background:#fff; color:#495057; cursor:pointer; }
.trq-add-status { font-size: 0.85em; }
.trq-add-status.err { color: #CC0000; font-weight: 600; }

/* ===== Stage 2b: Delete + Sociability + attestation modal ===== */
.trq-delete-row {
    display: block; margin-top: 6px; padding: 5px 12px; border: 1px solid #CC0000;
    border-radius: 0; background: #fff; color: #CC0000; font-size: 0.82em; font-weight: 600; cursor: pointer;
}
.trq-delete-row:hover { background: #CC0000; color: #fff; }

/* Sociability row */
.trq-soc-row { background: #f3f0ff; }
.trq-soc-cell { vertical-align: middle; }
.trq-soc-label { display: block; font-size: 0.85em; color: #5a4b8a; font-weight: 600; margin-bottom: 8px; }
.trq-soc-pass, .trq-soc-fail {
    margin-right: 8px; padding: 8px 14px; border: none; border-radius: 0; font-weight: 600; cursor: pointer; font-size: 0.88em;
}
.trq-soc-pass { background: #2e7d32; color: #fff; }
.trq-soc-pass:hover { background: #246427; }
.trq-soc-fail { background: #6c757d; color: #fff; }
.trq-soc-fail:hover { background: #565e64; }

/* Attestation modal */
.trq-modal-ov {
    position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 99999;
    display: flex; align-items: center; justify-content: center; padding: 20px;
}
.trq-modal {
    background: #fff; max-width: 540px; width: 100%; padding: 28px; border-radius: 0;
    box-shadow: 0 12px 40px rgba(0,0,0,0.3); border-top: 5px solid #CC0000;
}
.trq-modal h3 { margin: 0 0 14px; color: #CC0000; font-size: 1.25em; }
.trq-modal p { margin: 0 0 12px; line-height: 1.5; color: #333; }
.trq-attest-check {
    display: block; margin: 16px 0; padding: 12px; background: #fff5f5; border: 1px solid #f3c2c2;
    font-size: 0.92em; line-height: 1.45; cursor: pointer;
}
.trq-attest-check input { margin-right: 8px; }
.trq-modal-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.trq-modal-dq { padding: 10px 16px; border: none; border-radius: 0; background: #d97706; color: #fff; font-weight: 600; cursor: pointer; }
.trq-modal-dq:hover { background: #b86205; }
.trq-modal-cancel { padding: 10px 16px; border: 1px solid #ced4da; border-radius: 0; background: #fff; color: #495057; cursor: pointer; }
.trq-modal-del { padding: 10px 16px; border: none; border-radius: 0; background: #CC0000; color: #fff; font-weight: 700; cursor: pointer; }
.trq-modal-del:hover:enabled { background: #98000f; }
.trq-modal-del:disabled { background: #e0a0a8; cursor: not-allowed; }

/* ===== Move-entry modal (non-destructive: blue accent, not red) ===== */
.trq-move-modal { border-top-color: #1f6feb; }
.trq-move-modal h3 { color: #1f6feb; }
.trq-move-warn {
    margin: 0 0 16px; padding: 12px; background: #eef4ff; border: 1px solid #bcd3f7;
    font-size: 0.94em; line-height: 1.45;
}
.trq-move-field { margin: 6px 0 4px; }
.trq-move-field label { display: block; font-weight: 600; margin-bottom: 6px; color: #333; }
.trq-move-dest {
    width: 100%; padding: 9px 10px; border: 1px solid #ced4da; border-radius: 0;
    background: #fff; font-size: 0.95em;
}
.trq-modal-move { padding: 10px 16px; border: none; border-radius: 0; background: #1f6feb; color: #fff; font-weight: 700; cursor: pointer; }
.trq-modal-move:hover:enabled { background: #1857b8; }
.trq-modal-move:disabled { background: #a9c6f2; cursor: not-allowed; }
.trq-move-status { display: block; margin-top: 10px; font-size: 0.9em; color: #555; }

/* ===== Submit validation: highlight unresolved rows ===== */
tr.trq-row-unresolved > td {
    background: #fff8e1 !important;
    box-shadow: inset 0 0 0 9999px rgba(217,119,6,0.06);
}
tr.trq-row-unresolved > td:first-child {
    border-left: 4px solid #d97706;
}

/* ===== Compact icon buttons (Save / Delete / Change / soc pass-fail) ===== */
.trq-iconbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #cbd2d9;
    border-radius: 0;            /* square, per site preference */
    background: #fff;
    color: #3a4654;
    cursor: pointer;
    line-height: 0;
    vertical-align: middle;
    transition: background .12s, border-color .12s, color .12s;
}
.trq-iconbtn:hover  { background: #f1f4f7; border-color: #9aa5b1; }
.trq-iconbtn:active { transform: translateY(1px); }
.trq-iconbtn:focus-visible { outline: 2px solid #2563eb; outline-offset: 1px; }
.trq-iconbtn .trq-ico { display: block; }
.trq-iconbtn + .trq-iconbtn { margin-left: 4px; }

/* Save — neutral blue */
.trq-iconbtn-save:hover   { background: #e8f0fe; border-color: #2563eb; color: #1d4ed8; }
/* Edit / Change — neutral */
.trq-iconbtn-edit:hover   { background: #eef2f6; border-color: #6b7280; color: #374151; }
/* Delete — red */
.trq-iconbtn-delete       { color: #b42318; border-color: #e3b3ad; }
.trq-iconbtn-delete:hover { background: #fdecea; border-color: #b42318; color: #911c12; }
/* Sociability pass — green */
.trq-iconbtn-pass         { color: #137333; border-color: #acd4b8; }
.trq-iconbtn-pass:hover   { background: #e6f4ea; border-color: #137333; color: #0d5226; }
/* Sociability fail — red */
.trq-iconbtn-fail         { color: #b42318; border-color: #e3b3ad; }
.trq-iconbtn-fail:hover   { background: #fdecea; border-color: #b42318; color: #911c12; }

/* ===== Info icon buttons (dog / handler popups) ===== */
.trq-iconbtn-info {
    width: 26px;
    height: 26px;
    color: #5b6671;
    border-color: #d3d9df;
    margin-left: 6px;
    vertical-align: middle;
}
.trq-iconbtn-info:hover { background: #eef2f6; border-color: #2563eb; color: #1d4ed8; }
.trq-iconbtn-info .trq-ico { width: 14px; height: 14px; }

/* ===== Info popup modal ===== */
.trq-info-modal { max-width: 420px; }
.trq-info-modal h3 { margin: 0 0 12px; }
.trq-info-body { margin: 0 0 4px; }
.trq-info-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 6px 0;
    border-bottom: 1px solid #eef1f4;
    font-size: 14px;
}
.trq-info-row:last-child { border-bottom: 0; }
.trq-info-k { color: #6b7480; flex: 0 0 auto; }
.trq-info-v { color: #1f2933; text-align: right; font-weight: 600; word-break: break-word; }
.trq-info-empty { color: #6b7480; font-style: italic; }

/* Membership status flag inside handler popup */
.trq-info-flag {
    padding: 8px 10px;
    margin: 0 0 12px;
    border-radius: 0;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .02em;
    text-align: center;
}
.trq-info-flag-critical { background: #fdecea; color: #911c12; border: 1px solid #e3b3ad; }
.trq-info-flag-ok       { background: #e6f4ea; color: #0d5226; border: 1px solid #acd4b8; }

/* ===== Roster mode (future trial) ===== */
.trq-roster-banner {
    margin-top: 10px;
    padding: 8px 12px;
    background: #eef4fb;
    border-left: 4px solid #2563eb;
    color: #1e3a5f;
    font-size: 13px;
}
.trq-roster-note { color: #6b7480; font-style: italic; font-size: 13px; }
.trq-roster-dash { color: #b6bcc4; }

/* ===== Bare icons (no button chrome) =====
   The theme/Elementor styles all <button> elements with a blue background.
   These rules forcibly strip that chrome. Specificity is raised with the
   button.trq-bareicon selector and !important to beat the theme. */
button.trq-bareicon,
.trq-table button.trq-bareicon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 2px !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #5b6671 !important;
    cursor: pointer;
    line-height: 0 !important;
    vertical-align: middle;
    border-radius: 0 !important;
    text-shadow: none !important;
    transition: color .12s, transform .05s;
}
button.trq-bareicon:hover  { color: #1f2933 !important; background: none !important; }
button.trq-bareicon:active { transform: translateY(1px); }
button.trq-bareicon:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
button.trq-bareicon .trq-ico { width: 18px !important; height: 18px !important; display: block; }

/* dog & person info icons sit left of the name, aligned to the FIRST line
   (top), behaving like a leading character rather than vertically centering
   against a tall two-line name. Orange = "click for more info". */
.dog { display: flex; align-items: flex-start; gap: 6px; }
.dog button.trq-info-dog { flex: 0 0 auto; margin-top: 1px; color: #e8730c !important; }
.dog button.trq-info-dog:hover { color: #c45c00 !important; }
.trq-handler-line { display: flex; align-items: flex-start; gap: 6px; }
.trq-handler-line button.trq-info-handler { flex: 0 0 auto; margin-top: 1px; color: #e8730c !important; }
.trq-handler-line button.trq-info-handler:hover { color: #c45c00 !important; }

/* delete = bare trash, red on hover (no blue button) */
button.trq-bareicon-delete { color: #9aa5b1 !important; }
button.trq-bareicon-delete:hover { color: #b42318 !important; }
/* save = bare, blue on hover */
button.trq-bareicon-save:hover { color: #1d4ed8 !important; }
/* soc pass/fail bare icons */
button.trq-bareicon-pass { color: #137333 !important; }
button.trq-bareicon-pass:hover { color: #0d5226 !important; }
button.trq-bareicon-fail { color: #b42318 !important; }
button.trq-bareicon-fail:hover { color: #911c12 !important; }

/* note icon states: muted plain note when empty; orange info-circle once it
   has content (signals "there's something here to read"). */
button.trq-note-btn { color: #9aa5b1 !important; }
button.trq-note-btn:hover { color: #5b6671 !important; }
button.trq-note-btn.has-note { color: #e8730c !important; }
button.trq-note-btn.has-note:hover { color: #c45c00 !important; }

/* "change handler" = pencil + blue text link, below the handler name */
button.trq-textlink,
.trq-table button.trq-textlink {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 4px;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #2563eb !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-shadow: none !important;
    cursor: pointer;
    line-height: 1.2 !important;
    border-radius: 0 !important;
}
button.trq-textlink:hover { color: #1d4ed8 !important; background: none !important; text-decoration: underline; }
button.trq-textlink .trq-ico { width: 13px !important; height: 13px !important; }

/* ===== Row action cluster ===== */
.trq-row-actions { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; white-space: nowrap; }

/* breed lines up with the start of the dog NAME (past the badge + gap) */
.dog-handler .breed { margin-left: 24px; }

/* ===== Paid toggle ===== */
button.trq-paid-toggle,
.trq-table button.trq-paid-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    gap: 4px;
    padding: 2px 6px !important;
    margin: 0 !important;
    border: 1px solid transparent !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    cursor: pointer;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-shadow: none !important;
    line-height: 1.3 !important;
    transition: color .12s, background .12s, border-color .12s;
}
button.trq-paid-toggle .trq-ico { width: 15px !important; height: 15px !important; }
button.trq-paid-no  { color: #9aa5b1 !important; }
button.trq-paid-no:hover { background: #f1f4f7 !important; border-color: #cbd2d9 !important; color: #5b6671 !important; }
button.trq-paid-yes { color: #15803d !important; }
button.trq-paid-yes:hover { background: #e6f4ea !important; border-color: #acd4b8 !important; }
button.trq-paid-yes .trq-paid-label { font-weight: 700 !important; }

/* ===== Note icon states ===== */
.trq-note-btn { color: #9aa5b1; }
.trq-note-btn:hover { color: #2563eb; }
.trq-note-btn.has-note { color: #2563eb; }
.trq-note-btn.has-note:hover { color: #1d4ed8; }

/* ===== Note modal ===== */
.trq-note-modal { max-width: 440px; }
.trq-note-modal h3 { margin: 0 0 4px; }
.trq-note-sub { margin: 0 0 10px; color: #6b7480; font-size: 13px; }
.trq-note-text { width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid #cbd2d9; border-radius: 0; font: inherit; resize: vertical; }
.trq-note-status { margin-top: 8px; color: #6b7480; font-size: 13px; min-height: 1em; }
.trq-note-remove { color: #b42318; }

/* ===== Legend / quick help (collapsible) ===== */
.trq-legend {
    margin: 0 0 14px;
    border: 1px solid #d9dee4;
    border-radius: 0;
    background: #fafbfc;
}
.trq-legend > summary {
    cursor: pointer;
    padding: 10px 14px;
    font-weight: 700;
    color: #1f2933;
    list-style: none;
    user-select: none;
}
.trq-legend > summary::-webkit-details-marker { display: none; }
.trq-legend > summary::before { content: "\25B8"; display: inline-block; margin-right: 8px; transition: transform .15s; color: #6b7480; }
.trq-legend[open] > summary::before { transform: rotate(90deg); }
.trq-legend-hint { font-weight: 400; color: #8a939d; font-size: 13px; }
.trq-legend-body { padding: 4px 18px 16px; font-size: 14px; color: #28303a; }
.trq-legend-intro { margin: 4px 0 12px; color: #4b5563; }
.trq-legend-body h4 { margin: 16px 0 6px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: #6b7480; }
.trq-legend-list { margin: 0 0 4px; padding-left: 20px; }
.trq-legend-list li { margin: 4px 0; }
.trq-legend-icons { list-style: none; margin: 0; padding: 0; }
.trq-legend-icons li { display: flex; align-items: baseline; gap: 8px; margin: 7px 0; flex-wrap: wrap; }
.trq-legend-ic { display: inline-flex; align-items: center; line-height: 0; position: relative; top: 2px; }
.trq-legend-ic .trq-ico { width: 16px; height: 16px; }
/* legend icon colors mirror the live UI */
.trq-ic-info  .trq-ico { color: #e8730c; }
.trq-ic-muted .trq-ico { color: #9aa5b1; }
.trq-ic-link  .trq-ico { color: #2563eb; }
.trq-ic-save  .trq-ico { color: #1d4ed8; }
.trq-ic-pass  .trq-ico { color: #137333; }
.trq-ic-fail  .trq-ico { color: #b42318; }
.trq-ic-del   .trq-ico { color: #9aa5b1; }
.trq-ic-paid-no  .trq-ico { color: #9aa5b1; }
.trq-ic-paid-yes .trq-ico { color: #15803d; }

/* ===== Badge icons (filled circle + white glyph) ===== */
/* These carry their own fills, so don't let the bareicon color rules tint
   them. Slightly larger than line glyphs so the badge reads clearly. */
.trq-badge { width: 18px !important; height: 18px !important; }
button.trq-badgebtn { color: inherit !important; }
button.trq-badgebtn:hover { filter: brightness(0.93); background: none !important; }
button.trq-badgebtn:hover .trq-badge { /* keep fills; just the brightness shift above */ }
.dog button.trq-info-dog.trq-badgebtn,
.trq-handler-line button.trq-info-handler.trq-badgebtn { color: inherit !important; }
/* paid badge (green) sizing inside the toggle */
button.trq-paid-yes .trq-badge { width: 17px !important; height: 17px !important; }
/* legend badges a touch larger for legibility */
.trq-legend-ic .trq-badge { width: 18px; height: 18px; }

/* ===== Trial picker reset button ===== */
.trq-trial-pick { position: relative; display: inline-block; }
.trq-trial-pick select.filter-input { padding-right: 46px; }
button.trq-trial-reset {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px !important;
    height: 22px !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: #9aa5b1 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    cursor: pointer;
    border-radius: 0 !important;
}
button.trq-trial-reset:hover { color: #b42318 !important; background: none !important; }

/* Stage 3: print links */
.trq-print-bar { margin-top: 10px; padding-top: 8px; border-top: 1px solid #e9ecef; font-size: 0.9em; }
.trq-print-label { color: #777; font-weight: 600; margin-right: 6px; }
.trq-print-link { display: inline-block; margin-right: 14px; color: #1d4ed8; text-decoration: none; }
.trq-print-link:hover { text-decoration: underline; }
a.trq-print-sheet { display: inline-flex; align-items: center; color: #495057; text-decoration: none; padding: 2px; }
a.trq-print-sheet:hover { color: #1d4ed8; }
a.trq-print-sheet .trq-ico { width: 16px; height: 16px; }

/* ============================================================== */
/* Upcoming Trials dashboard                                      */
/* ============================================================== */
.utr-wrapper { max-width: 1000px; margin: 0 auto; }
.utr-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; }
.utr-head h2 { margin: 0; }
.utr-toollink { font-size: 0.9em; color: #1d4ed8; text-decoration: none; }
.utr-toollink:hover { text-decoration: underline; }
.utr-empty { color: #666; padding: 30px; text-align: center; }

.utr-card { background: #fff; border: 1px solid #e2e5e9; border-radius: 0; padding: 18px 20px; margin-bottom: 18px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); }
.utr-card + .utr-card { border-top: 3px solid #cfd4da; }
.utr-card-main { display: flex; gap: 22px; align-items: flex-start; flex-wrap: wrap; }
.utr-date { font-size: 1.15em; font-weight: 800; letter-spacing: .02em; color: #111; min-width: 95px; }
.utr-titleblock { flex: 1; min-width: 180px; }
.utr-club { font-size: 1.1em; font-weight: 700; }
.utr-loc { color: #555; font-size: 0.92em; }
.utr-addr { color: #777; font-size: 0.85em; }

.utr-officials { flex: 1; min-width: 260px; }
.utr-off-row { display: flex; align-items: baseline; gap: 8px; padding: 2px 0; font-size: 0.9em; }
.utr-off-lbl { color: #888; font-weight: 600; width: 78px; flex: 0 0 78px; }
.utr-off-val { flex: 1; }
.utr-off-val em { color: #aaa; }
.utr-chip { display: inline-block; background: #eef1f5; border-radius: 3px; padding: 1px 6px; margin-right: 4px; font-size: 0.92em; }
.utr-off-row button { background: none; border: none; color: #1d4ed8; cursor: pointer; font-size: 0.9em; padding: 0; }
.utr-off-row button:hover { text-decoration: underline; }

.utr-card-unposted { background: #f4f4f5; border: 2px solid #dc2626; box-shadow: none; }

.utr-notposted { margin-top: 14px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.utr-notposted .utr-banner-actions { flex-basis: 100%; }
.utr-np-label { font-weight: 800; letter-spacing: .04em; color: #dc2626; }
.utr-reason { color: #7c2d2d; font-size: 0.9em; font-style: italic; }
.utr-banner-actions { display: flex; align-items: center; gap: 10px; }
.utr-post-q { font-weight: 600; }
.utr-banner-actions button { padding: 4px 16px; border: 1px solid #b91c1c; background: #fff; cursor: pointer; border-radius: 0; }
.utr-post-yes { background: #16a34a !important; color: #fff; border-color: #16a34a !important; }
.utr-post-no { background: #fff; }
.utr-post-panel { flex-basis: 100%; margin-top: 12px; }
.utr-postform { background: #fafbfc; border: 1px solid #e2e5e9; padding: 14px; }
.utr-pf-row { margin-bottom: 12px; }
.utr-pf-lbl { display: block; font-weight: 600; font-size: 0.9em; margin-bottom: 4px; color: #444; }
.utr-pf-radios label { margin-right: 16px; }
.utr-pf-slug { font-family: monospace; font-size: 1em; }
.utr-slug-date { color: #888; }
.utr-slug-club { font-family: monospace; border: 1px solid #bbb; padding: 3px 6px; width: 240px; }
.utr-pf-hint { font-size: 0.82em; color: #888; margin-top: 3px; }
.utr-pf-actions { margin-top: 14px; }
.utr-pf-confirm { background: #16a34a; color: #fff; border: none; padding: 7px 20px; cursor: pointer; }
.utr-pf-cancel { background: none; border: none; color: #888; margin-left: 10px; cursor: pointer; }
.utr-theme-upload { padding: 5px 14px; border: 1px solid #bbb; background: #fff; cursor: pointer; }
.utr-theme-name { margin-left: 8px; font-size: 0.85em; color: #555; }

.utr-flags:empty { display: none; }

/* Upcoming dashboard: officials picker + chips */
.utr-jchip { font-weight: 600; margin-right: 4px; }
.utr-off-line { position: relative; flex-wrap: wrap; }
.utr-chip button, .utr-off-val button.utr-remove-decoy, .utr-off-val button.utr-remove-addjudge { color: #b91c1c; font-weight: 700; margin-left: 2px; }
.utr-off-picker { display: inline-flex; align-items: flex-start; gap: 6px; margin-left: 8px; position: relative; }
.utr-ac-input { border: 1px solid #bbb; padding: 3px 8px; min-width: 200px; }
.utr-ac-cancel { background: none; border: none; color: #888; cursor: pointer; }
.utr-ac-list { position: absolute; top: 28px; left: 0; background: #fff; border: 1px solid #ccc; min-width: 200px; max-height: 220px; overflow-y: auto; z-index: 50; box-shadow: 0 2px 6px rgba(0,0,0,0.12); }
.utr-ac-opt { padding: 6px 10px; cursor: pointer; }
.utr-ac-opt:hover { background: #eef2ff; }
.utr-ac-none { padding: 6px 10px; color: #999; }

/* ============================================================== */
/* Upcoming dashboard: neutralize theme button styling            */
/* Themes commonly style all <button>/.button — reset ours.       */
/* ============================================================== */
.utr-wrapper button,
.utr-wrapper .utr-off-row button,
.utr-wrapper .utr-ac-cancel,
.utr-wrapper .utr-ac-opt {
    font-family: inherit;
    text-transform: none;
    letter-spacing: normal;
    box-shadow: none;
    text-shadow: none;
    line-height: normal;
    min-height: 0;
    width: auto;
    margin: 0;
}

/* Inline text-link style edit/add buttons (change judge, + decoy, etc.) */
.utr-wrapper .utr-off-row > button {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    color: #1d4ed8 !important;
    cursor: pointer;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    padding: 1px 6px !important;
    border-radius: 0 !important;
    margin-left: 6px !important;
    width: auto !important;
    text-transform: none !important;
}
.utr-wrapper .utr-off-row > button:hover {
    background: #eef2ff !important;
    text-decoration: underline;
    color: #1d4ed8 !important;
}

/* The little × remove buttons on chips */
.utr-wrapper .utr-chip button,
.utr-wrapper .utr-remove-decoy,
.utr-wrapper .utr-remove-addjudge {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    color: #b91c1c !important;
    font-weight: 700 !important;
    padding: 0 2px !important;
    margin-left: 4px !important;
    cursor: pointer;
    font-size: 1em !important;
    width: auto !important;
    border-radius: 0 !important;
    min-width: 0 !important;
}
.utr-wrapper .utr-chip button:hover { color: #7f1d1d !important; background: transparent !important; }

/* Picker input + option list */
.utr-wrapper .utr-ac-input {
    background: #fff !important;
    border: 1px solid #bbb !important;
    padding: 4px 8px !important;
    min-width: 200px;
    font-size: 0.9em !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: auto;
}
.utr-wrapper .utr-ac-cancel {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    color: #888 !important;
    cursor: pointer;
    padding: 2px 6px !important;
    font-size: 0.85em !important;
    width: auto !important;
    box-shadow: none !important;
}
.utr-wrapper .utr-ac-cancel:hover { color: #555 !important; background: transparent !important; }
.utr-wrapper .utr-ac-opt {
    background: #fff !important;
    color: #222 !important;
    padding: 6px 10px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer;
    text-align: left;
    width: 100%;
}
.utr-wrapper .utr-ac-opt:hover { background: #eef2ff !important; }

/* Post-flow buttons (keep their intended look, just stop theme bleed) */
.utr-wrapper .utr-banner-actions button,
.utr-wrapper .utr-pf-confirm,
.utr-wrapper .utr-pf-cancel,
.utr-wrapper .utr-theme-upload {
    font-family: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-radius: 0 !important;
    width: auto !important;
    min-height: 0 !important;
}
.utr-wrapper .utr-post-yes { background: #16a34a !important; color: #fff !important; border: 1px solid #16a34a !important; }
.utr-wrapper .utr-post-no { background: #fff !important; color: #333 !important; border: 1px solid #b91c1c !important; }
.utr-wrapper .utr-pf-confirm { background: #16a34a !important; color: #fff !important; border: none !important; padding: 7px 20px !important; }
.utr-wrapper .utr-pf-cancel { background: transparent !important; border: none !important; color: #888 !important; }

/* Officials edit controls: bare pencil icon + clean text links */
.utr-wrapper .utr-iconbtn {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    padding: 0 4px !important;
    margin-left: 6px !important;
    cursor: pointer;
    color: #6b7280 !important;
    width: auto !important;
    box-shadow: none !important;
    vertical-align: middle;
}
.utr-wrapper .utr-iconbtn:hover { color: #1d4ed8 !important; background: transparent !important; }
.utr-wrapper .utr-iconbtn .trq-ico { width: 14px; height: 14px; }
.utr-wrapper .utr-textbtn {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    color: #1d4ed8 !important;
    cursor: pointer;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    padding: 1px 6px !important;
    margin-left: 6px !important;
    width: auto !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    text-transform: none !important;
}
.utr-wrapper .utr-textbtn:hover { text-decoration: underline; background: transparent !important; color: #1d4ed8 !important; }

/* Edit-reason link (next to the not-posted reason) */
.utr-wrapper .utr-edit-reason {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    color: #1d4ed8 !important;
    cursor: pointer;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    padding: 0 4px !important;
    margin-left: 4px !important;
    width: auto !important;
    min-height: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-radius: 0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.utr-wrapper .utr-edit-reason:hover { text-decoration: underline; background: transparent !important; color: #1d4ed8 !important; }

/* ============================================================== */
/* Upcoming dashboard: flags / alerts                            */
/* ============================================================== */
.utr-flags { margin-top: 14px; padding-top: 12px; border-top: 1px solid #eceef1; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.utr-flag-ok { color: #16a34a; font-weight: 600; font-size: 0.9em; }
.utr-flag {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 0;
    font-size: 0.85em;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
}
.utr-flag-red  { background: #fef2f2; color: #b91c1c; border-color: #fca5a5; }
.utr-flag-warn { background: #fffbeb; color: #b45309; border-color: #fcd34d; }
.utr-flag-info { background: #f1f5f9; color: #475569; border-color: #cbd5e1; }
.utr-flag-n { display: inline-flex; align-items: center; justify-content: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: rgba(0,0,0,0.12); font-size: 0.85em; }
.utr-flag:hover { filter: brightness(0.97); }

.utr-flag-pop {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 60;
    min-width: 240px;
    max-width: 360px;
    background: #fff;
    border: 1px solid #d1d5db;
    box-shadow: 0 4px 14px rgba(0,0,0,0.14);
    padding: 10px 12px;
    color: #222;
    font-weight: 400;
    cursor: default;
    text-align: left;
}
.utr-flag.open .utr-flag-pop { display: block; }
.utr-flag-pop strong { display: block; margin-bottom: 6px; font-size: 0.95em; }
.utr-flag-pop ul { margin: 0; padding-left: 16px; }
.utr-flag-pop li { margin: 3px 0; font-size: 0.92em; line-height: 1.35; }
.utr-flag-detail { color: #777; }

/* Trial-full toggle (entry tool) */
.trq-fulltoggle { margin-top: 10px; display: flex; align-items: center; gap: 10px; }
.trq-full-label { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; font-size: 0.92em; }
.trq-full-hint { color: #999; font-size: 0.9em; }
.trq-full-badge { display: none; background: #b91c1c; color: #fff; font-weight: 700; font-size: 0.78em; letter-spacing: .05em; padding: 2px 9px; }
.trq-fulltoggle.is-full .trq-full-badge { display: inline-block; }
.trq-full-status { color: #16a34a; font-size: 0.85em; }

/* FULL badge on dashboard card */
.utr-full-badge { display: inline-block; background: #b91c1c; color: #fff; font-weight: 700; font-size: 0.72em; letter-spacing: .05em; padding: 2px 8px; margin-left: 10px; vertical-align: middle; }

/* Cancel trial: subtle footer control + strong modal */
.utr-cardfoot { margin-top: 12px; text-align: right; }
.utr-wrapper .utr-cancel-trial {
    background: transparent !important;
    border: none !important;
    color: #9ca3af !important;
    font-size: 0.8em !important;
    cursor: pointer;
    padding: 2px 6px !important;
    width: auto !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    text-transform: none !important;
}
.utr-wrapper .utr-cancel-trial:hover { color: #b91c1c !important; text-decoration: underline; background: transparent !important; }

.utr-modal-ov { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9999; display: flex; align-items: center; justify-content: center; }
.utr-modal { background: #fff; max-width: 460px; width: 92%; padding: 24px; border-top: 5px solid #b91c1c; box-shadow: 0 10px 40px rgba(0,0,0,0.3); }
.utr-modal h3 { margin: 0 0 12px; color: #b91c1c; }
.utr-modal p { margin: 0 0 12px; line-height: 1.5; font-size: 0.95em; }
.utr-modal code { background: #fef2f2; color: #b91c1c; padding: 1px 6px; font-weight: 700; }
.utr-modal .utr-cancel-confirm { width: 100%; padding: 8px 10px; border: 2px solid #d1d5db; font-size: 1em; box-sizing: border-box; }
.utr-modal-btns { margin-top: 16px; display: flex; justify-content: flex-end; gap: 10px; }
.utr-wrapper .utr-modal-back, .utr-modal-back { background: #fff !important; border: 1px solid #bbb !important; color: #333 !important; padding: 8px 16px !important; cursor: pointer; border-radius: 0 !important; }
.utr-modal-go { background: #b91c1c !important; border: 1px solid #b91c1c !important; color: #fff !important; padding: 8px 16px !important; cursor: pointer; border-radius: 0 !important; }
.utr-modal-go:disabled { background: #e5a3a3 !important; border-color: #e5a3a3 !important; cursor: not-allowed; }
.utr-modal-status { margin-top: 10px; color: #b91c1c; font-size: 0.9em; }

/* Not-posted notice for the manager (entry tool) */
.trq-notposted-notice { margin-top: 10px; padding: 10px 14px; background: #f4f4f5; border: 2px solid #dc2626; border-radius: 0; }
.trq-notposted-notice strong { color: #dc2626; letter-spacing: .02em; }
.trq-np-reason { display: block; margin-top: 4px; color: #555; font-size: 0.92em; font-style: italic; }

/* ---------- TRIAL REQUEST WIZARD ---------- */
.trq-wizard { font-family: inherit; }
.trq-wiz-section { border:1px solid #ddd; border-radius:0; padding:16px; margin-bottom:16px; }
.trq-wiz-section h3 { margin:0 0 12px; font-size:15px; text-transform:uppercase; letter-spacing:.03em; font-weight:700; color:#990099; }
.trq-wiz-shared { font-size:11px; color:#888; text-transform:none; letter-spacing:0; font-weight:normal; }
.trq-wiz-note { font-size:12px; color:#777; margin:0 0 10px; }
.trq-wizard label { display:block; margin-bottom:10px; font-size:13px; font-weight:600; }
.trq-wizard label input, .trq-wizard label select, .trq-wizard label textarea {
    display:block; width:100%; margin-top:4px; padding:8px; border:1px solid #bbb; font-weight:normal; font-size:14px; box-sizing:border-box;
}
.trq-wizard label small { display:block; font-weight:normal; color:#888; margin-top:3px; }
.trq-theme-row { display:flex; gap:8px; }
.trq-theme-row input { flex:1; }
.trq-btn-secondary { padding:8px 14px; border:1px solid #888; background:#f4f4f4; cursor:pointer; font-size:13px; }
.trq-btn-primary { padding:12px 22px; border:none; background:#990099; color:#fff; font-weight:700; cursor:pointer; font-size:15px; }
.trq-btn-primary:disabled { opacity:.5; cursor:default; }
.trq-check { display:flex; gap:10px; align-items:flex-start; font-weight:normal; }
.trq-check input[type="checkbox"] { width:18px !important; height:18px; flex:0 0 auto; margin:2px 0 0 0 !important; display:inline-block !important; }
.trq-check span { font-weight:normal; font-size:14px; line-height:1.4; }
.trq-day-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.trq-day-num { font-weight:700; font-size:13px; min-width:52px; }
.trq-day-date { flex:1; padding:8px; border:1px solid #bbb; }
.trq-day-remove { border:none; background:#eee; width:28px; height:28px; cursor:pointer; font-size:16px; line-height:1; }
.trq-wiz-actions { display:flex; align-items:center; gap:14px; margin-top:8px; }
.trq-wiz-status { font-size:13px; }
.trq-wiz-status.is-error { color:#CC0000; font-weight:600; }
.trq-wiz-status.is-ok { color:#1a7f1a; font-weight:600; }

/* ---------- TRIAL DASHBOARD ---------- */
.trq-dash { font-family: inherit; }
.trq-dash-header { border-bottom:3px solid #990099; padding-bottom:14px; margin-bottom:20px; }
.trq-dash-span { margin:0 0 4px; font-size:26px; font-weight:800; color:#000; }
.trq-dash-theme { font-size:16px; color:#990099; font-weight:700; margin-bottom:8px; }
.trq-dash-days { list-style:none; margin:0; padding:0; display:flex; gap:14px; flex-wrap:wrap; }
.trq-dash-days li { font-size:13px; color:#54595F; font-weight:600; background:#F6F6F6; padding:3px 10px; }
.trq-dash-head-status { margin:8px 0 10px; }
.trq-dash-badge { display:inline-block; padding:6px 14px; font-weight:800; font-size:13px; letter-spacing:.03em; text-transform:uppercase; }
.trq-dash-badge-pending { background:#FF9900; color:#fff; }
.trq-dash-badge-ready { background:#0099FF; color:#fff; }

.trq-dash-section { border:1px solid #ddd; padding:16px; margin-bottom:16px; }
.trq-dash-h3 { margin:0 0 12px; font-size:15px; text-transform:uppercase; letter-spacing:.03em; font-weight:700; color:#990099; }
.trq-dash-muted { color:#7A7A7A; }
.trq-dash-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:12px; }
.trq-dash-field { display:flex; flex-direction:column; gap:2px; }
.trq-dash-lbl { font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#7A7A7A; font-weight:700; }
.trq-dash-val { font-size:14px; color:#000; }

/* three-state rows */
.trq-state-row { display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-top:1px solid #eee; }
.trq-state-row:first-of-type { border-top:none; }
.trq-state-ic { flex:0 0 24px; width:24px; height:24px; border-radius:50%; text-align:center; line-height:24px; font-weight:800; font-size:14px; color:#fff; }
.trq-state-body { display:flex; flex-direction:column; gap:2px; }
.trq-state-label { font-weight:700; font-size:14px; }
.trq-state-detail { font-size:12px; color:#7A7A7A; }
.trq-row-critical .trq-state-ic { background:#CC0000; }
.trq-row-critical .trq-state-label { color:#CC0000; }
.trq-row-minor .trq-state-ic { background:#FF9900; }
.trq-row-waiting .trq-state-ic { background:#54595F; }
.trq-row-done .trq-state-ic { background:#0099FF; }
.trq-row-done .trq-state-label { color:#54595F; font-weight:600; }

.trq-dash-daylinks { list-style:none; margin:8px 0 0; padding:0; }
.trq-dash-daylinks li { font-size:13px; padding:6px 0; border-top:1px solid #eee; }

/* ---------- HOST CLUB section (dashboard first edit control) ---------- */
.trq-club-current { font-size:14px; margin:0 0 12px; }
.trq-club-current strong { color:#990099; }
.trq-club-unset { color:#7A7A7A; font-style:italic; }
.trq-club-perday-list { list-style:none; margin:6px 0 12px; padding:0; }
.trq-club-perday-list li { font-size:13px; padding:3px 0; }
.trq-club-perday-list .trq-club-date { display:inline-block; min-width:110px; color:#54595F; font-weight:600; }
.trq-club-perday-list em { color:#7A7A7A; }

.trq-club-mode { margin:0 0 14px; padding:12px; background:#F6F6F6; }
.trq-club-mode-q { display:block; font-weight:700; font-size:13px; margin-bottom:8px; color:#000; }
.trq-club-mode label { display:block; font-size:14px; margin:4px 0; cursor:pointer; }
.trq-club-mode input[type=radio] { margin-right:8px; }

.trq-club-pick { padding:12px; border:1px solid #ddd; margin-bottom:6px; }
.trq-club-pick-shared { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.trq-club-or { color:#7A7A7A; font-size:13px; }
.trq-club-mine { background:#990099; color:#fff; border:none; padding:9px 16px; font-weight:700; font-size:13px; cursor:pointer; }
.trq-club-mine:hover { background:#7a007a; }
.trq-club-select { padding:8px 10px; font-size:14px; min-width:240px; border:1px solid #999; }
.trq-club-save { background:#0099FF; color:#fff; border:none; padding:9px 16px; font-weight:700; font-size:13px; cursor:pointer; }
.trq-club-save:hover { background:#007acc; }
.trq-club-save:disabled { opacity:.5; cursor:default; }
.trq-club-status { font-size:13px; }
.trq-club-status.is-ok { color:#0099FF; font-weight:700; }
.trq-club-status.is-error { color:#CC0000; font-weight:700; }

.trq-club-day { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:8px 0; border-top:1px solid #eee; }
.trq-club-day:first-child { border-top:none; }
.trq-club-day .trq-club-date { min-width:110px; font-weight:600; color:#54595F; font-size:13px; }

/* ---------- reusable section heading + edit pencil ---------- */
.trq-dash-h3row { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.trq-dash-h3row .trq-dash-h3 { margin:0; }
.trq-edit-pencil { background:none; border:none; padding:2px; cursor:pointer; line-height:0; color:#990099; display:inline-flex; }
.trq-edit-pencil:hover { color:#7a007a; }
.trq-edit-pencil svg, .trq-edit-pencil .trq-ico { width:16px; height:16px; fill:currentColor; }
.trq-edit-cancel { background:none; border:1px solid #999; color:#54595F; padding:7px 14px; font-size:13px; font-weight:600; cursor:pointer; margin-top:10px; }
.trq-edit-cancel:hover { background:#F6F6F6; }

/* settled sections: tighten the summary spacing */
.trq-dash-section.is-settled .trq-club-current { margin-bottom:0; }
.trq-dash-section.is-settled .trq-club-editor { margin-top:14px; padding-top:14px; border-top:1px solid #eee; }

/* ---------- header theme image ---------- */
.trq-dash-head-row { display:flex; gap:18px; align-items:flex-start; }
.trq-dash-themeimg { flex:0 0 120px; width:120px; height:120px; cursor:pointer; position:relative; overflow:hidden; background:#F6F6F6; display:flex; align-items:center; justify-content:center; text-align:center; }
.trq-dash-themeimg img { width:100%; height:100%; object-fit:cover; display:block; }
.trq-dash-themeimg.is-empty { border:2px dashed #990099; }
.trq-dash-themeimg-placeholder { font-size:12px; font-weight:700; color:#990099; padding:8px; line-height:1.3; text-transform:uppercase; letter-spacing:.02em; }
.trq-dash-themeimg-edit { position:absolute; left:0; right:0; bottom:0; background:rgba(153,0,153,.85); color:#fff; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:3px; opacity:0; transition:opacity .12s; }
.trq-dash-themeimg:hover .trq-dash-themeimg-edit { opacity:1; }
.trq-dash-themeimg.is-uploading { opacity:.5; pointer-events:none; }
.trq-dash-head-main { flex:1; }

/* ---------- editable info forms ---------- */
.trq-edit-form { margin-top:14px; padding-top:14px; border-top:1px solid #eee; }
.trq-ef-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.trq-ef-grid label { display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:700; color:#54595F; text-transform:uppercase; letter-spacing:.03em; }
.trq-ef-grid input, .trq-ef-grid select, .trq-ef-grid textarea { padding:8px 10px; font-size:14px; border:1px solid #999; font-weight:400; text-transform:none; letter-spacing:normal; color:#000; }
.trq-ef-grid .trq-ef-wide { grid-column:1 / -1; }
.trq-ef-actions { display:flex; align-items:center; gap:10px; margin-top:12px; }
.trq-edit-save { background:#0099FF; color:#fff; border:none; padding:9px 18px; font-weight:700; font-size:13px; cursor:pointer; }
.trq-edit-save:hover { background:#007acc; }
.trq-edit-save:disabled { opacity:.5; cursor:default; }
.trq-edit-status { font-size:13px; }
.trq-edit-status.is-ok { color:#0099FF; font-weight:700; }
.trq-edit-status.is-error { color:#CC0000; font-weight:700; }

/* ================= dashboard control restyle (override theme buttons) ================= */
/* Pencil: bare purple glyph, no background/border/padding */
.trq-dash .trq-edit-pencil,
.trq-dash button.trq-edit-pencil {
    background:none !important; border:none !important; box-shadow:none !important;
    padding:2px !important; margin:0 !important; min-width:0 !important; width:auto !important;
    color:#990099 !important; line-height:0 !important; display:inline-flex !important;
    align-items:center; cursor:pointer;
}
.trq-dash .trq-edit-pencil:hover { color:#7a007a !important; background:none !important; }
.trq-dash .trq-edit-pencil svg,
.trq-dash .trq-edit-pencil .trq-ico { width:15px !important; height:15px !important; fill:currentColor !important; }

/* All dashboard action controls -> blue clickable text (not filled buttons) */
.trq-dash .trq-club-save, .trq-dash .trq-club-mine,
.trq-dash .trq-edit-save, .trq-dash .trq-edit-cancel {
    background:none !important; border:none !important; box-shadow:none !important;
    padding:0 !important; margin:0 !important; min-width:0 !important; width:auto !important;
    color:#0099FF !important; font-weight:700 !important; font-size:14px !important;
    text-transform:none !important; letter-spacing:normal !important;
    line-height:1.4 !important; vertical-align:baseline;
    cursor:pointer; text-decoration:none;
}
/* keep Save and Cancel on one shared baseline with even spacing */
.trq-dash .trq-ef-actions { display:flex; align-items:baseline; gap:16px; margin-top:12px; }
.trq-dash .trq-ef-actions .trq-edit-status { margin-left:2px; }
.trq-dash .trq-club-save:hover, .trq-dash .trq-club-mine:hover,
.trq-dash .trq-edit-save:hover, .trq-dash .trq-edit-cancel:hover {
    color:#007acc !important; text-decoration:underline; background:none !important;
}
.trq-dash .trq-edit-cancel { color:#7A7A7A !important; }
.trq-dash .trq-edit-cancel:hover { color:#54595F !important; }
/* lone Cancel (club/judge editors, not inside an actions row) needs its own gap */
.trq-dash .trq-club-editor > .trq-edit-cancel,
.trq-dash [data-edit-body] > .trq-edit-cancel { margin-top:10px !important; display:inline-block; }
.trq-dash .trq-club-save:disabled, .trq-dash .trq-edit-save:disabled { opacity:.5; text-decoration:none; }

/* spacing so text-links don't crowd each other */
.trq-dash .trq-ef-actions { gap:18px; }
.trq-dash .trq-club-pick-shared { gap:12px; }
.trq-dash .trq-club-day { gap:12px; }

/* ---------- Jury / judge control ---------- */
.trq-judge-choice { display:flex; gap:18px; margin:10px 0; }
.trq-judge-radio { font-size:14px; cursor:pointer; }
.trq-judge-radio input { margin-right:6px; }
.trq-judge-usa { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.trq-judge-day { padding:12px 0; border-top:1px solid #eee; }
.trq-judge-day:first-child { border-top:none; }
.trq-judge-day-date { font-weight:700; color:#54595F; font-size:13px; margin-bottom:6px; }
.trq-dash .trq-judge-save { background:none !important; border:none !important; padding:0 !important; color:#0099FF !important; font-weight:700 !important; font-size:14px !important; cursor:pointer; }
.trq-dash .trq-judge-save:hover { text-decoration:underline; }
.trq-judge-status, .trq-intl-status { font-size:13px; }
.trq-judge-status.is-ok, .trq-intl-status.is-ok { color:#0099FF; font-weight:700; }
.trq-judge-status.is-error, .trq-intl-status.is-error { color:#CC0000; font-weight:700; }

/* international request form */
.trq-intl-form { margin-top:10px; padding:12px; background:#F6F6F6; }
.trq-intl-block { color:#CC0000; font-weight:600; font-size:14px; margin:0; }
.trq-intl-auto { font-size:13px; margin-bottom:12px; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:6px 18px; }
.trq-intl-auto .trq-dash-lbl { display:block; }
.trq-dash .trq-intl-submit { background:#990099 !important; border:none !important; color:#fff !important; padding:9px 18px !important; font-weight:700 !important; font-size:13px !important; cursor:pointer; }
.trq-dash .trq-intl-submit:hover { background:#7a007a !important; }
.trq-dash .trq-intl-submit:disabled { opacity:.5; }

/* pending request display */
.trq-intl-pending { color:#B8730A; font-size:14px; }
.trq-intl-pending strong { color:#990099; }
/* reusable amber waiting/awaiting-review marker */
.trq-waiting { display:inline-flex; align-items:center; gap:5px; color:#FF9900; vertical-align:middle; }
.trq-waiting svg { width:16px; height:16px; fill:currentColor; }
.trq-waiting-label { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.trq-dash .trq-intl-expand, .trq-dash .trq-intl-cancel { background:none !important; border:none !important; padding:0 0 0 8px !important; color:#0099FF !important; font-weight:600 !important; font-size:13px !important; cursor:pointer; }
.trq-dash .trq-intl-expand:hover, .trq-dash .trq-intl-cancel:hover { text-decoration:underline; }
.trq-dash .trq-intl-cancel { color:#CC0000 !important; }
.trq-intl-detail { margin-top:8px; padding:10px; background:#F6F6F6; }
.trq-intl-dl { display:grid; grid-template-columns:auto 1fr; gap:2px 12px; margin:0 0 8px; font-size:13px; }
.trq-intl-dl dt { font-weight:700; color:#54595F; }
.trq-intl-dl dd { margin:0; }
/* ---- Decoys roster ---- */
.trq-decoy-roster { list-style:none; margin:0 0 14px; padding:0; }
.trq-decoy-roster li { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 0; border-bottom:1px solid #eee; }
.trq-decoy-roster li:last-child { border-bottom:none; }
.trq-decoy-cov { font-size:12px; color:#7A7A7A; text-transform:uppercase; letter-spacing:.03em; }
/* international decoy request line: let the detail panel break full width
   and keep the summary row tidy (matches the judge display) */
.trq-decoy-roster li.trq-decoy-req { row-gap:0; }
.trq-decoy-roster li.trq-decoy-req .trq-intl-detail { flex-basis:100%; margin-left:0; }
.trq-decoy-roster li.trq-decoy-req .trq-decoy-cov { margin-left:2px; }
.trq-dash .trq-decoy-remove { background:none !important; border:none !important; padding:0 0 0 4px !important; color:#CC0000 !important; font-weight:600 !important; font-size:13px !important; cursor:pointer; margin-left:auto; }
.trq-dash .trq-decoy-remove:hover { text-decoration:underline; }
.trq-dash .trq-decoy-intl-cancel { background:none !important; border:none !important; padding:0 !important; margin-top:6px !important; display:inline-block; color:#CC0000 !important; font-weight:600 !important; font-size:13px !important; cursor:pointer; }
.trq-dash .trq-decoy-intl-cancel:hover { text-decoration:underline; }
/* add control */
.trq-dash .trq-decoy-add-toggle { background:none !important; border:none !important; padding:0 !important; color:#0099FF !important; font-weight:700 !important; font-size:14px !important; cursor:pointer; }
.trq-dash .trq-decoy-add-toggle:hover { text-decoration:underline; }
.trq-decoy-add-body { margin-top:12px; padding:14px; background:#F6F6F6; }
.trq-decoy-coverage { margin:12px 0; }
.trq-decoy-coverage .trq-dash-lbl { display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:#54595F; margin-bottom:4px; }
.trq-decoy-coverage label { margin-right:14px; font-size:14px; }
.trq-decoy-days { margin-top:8px; display:flex; flex-wrap:wrap; gap:10px; }
.trq-decoy-daybox { font-size:14px; }
.trq-decoy-usa { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.trq-decoy-select { min-width:220px; }
.trq-dash .trq-decoy-save { background:#0099FF !important; color:#fff !important; border:none !important; padding:8px 16px !important; font-weight:700 !important; cursor:pointer; }
.trq-decoy-status { font-size:13px; }
.trq-decoy-status.is-error { color:#CC0000; }
.trq-decoy-status.is-ok { color:#0a0; }
/* ---- Trial Help ---- */
.trq-help-mode { margin:4px 0 14px; }
.trq-help-mode label { margin-right:16px; font-size:14px; }
.trq-help-day { margin-bottom:18px; }
.trq-help-day:last-child { margin-bottom:0; }
.trq-help-day-date { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:#54595F; margin-bottom:8px; padding-bottom:4px; border-bottom:1px solid #eee; }
/* settled summary */
.trq-help-summary { display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin:0; }
.trq-help-summary dt { font-weight:700; color:#54595F; }
.trq-help-summary dd { margin:0; color:#212529; }
.trq-help-summary-day { margin-bottom:16px; }
.trq-help-summary-day:last-child { margin-bottom:0; }
.trq-help-summary-day .trq-help-day-date { margin-bottom:8px; }

/* ================= Dashboard accordion ================= */
.trq-collapse-bar { display:flex; align-items:center; gap:10px; padding:2px 0; }
/* fixed-width icon slot keeps titles aligned whether or not an icon shows */
.trq-cl-slot { flex:0 0 22px; width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; }
.trq-cl-ic { width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:13px; line-height:1; }
.trq-cl-critical { background:#CC0000; }
.trq-cl-minor { background:#FF9900; }
/* pending clock (matches the request-line waiting marker) */
.trq-cl-clock { display:inline-flex; align-items:center; justify-content:center; color:#FF9900; }
.trq-cl-clock svg { width:18px; height:18px; fill:currentColor; }
/* clickable title word */
.trq-cl-title { font-size:17px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#990099; cursor:pointer; display:inline-block; }
.trq-cl-title:hover { text-decoration:underline; }
/* in-body heading title text is redundant with the bar; hide text, keep pencil */
.trq-cl-hidden-title { display:none !important; }
/* the row that used to hold the heading (now just the pencil) sits tight */
.trq-collapse-body > .trq-dash-h3row { margin-top:2px; }
.trq-collapse-body { padding-top:6px; }

/* ================= Entry Setup ================= */
.trq-entry-body { padding-top:4px; }
.trq-entry-block { margin-bottom:20px; }
.trq-entry-block:last-child { margin-bottom:0; }
.trq-entry-block-h { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#54595F; margin-bottom:8px; }
.trq-entry-note { font-size:12px; color:#7A7A7A; margin:0 0 8px; }
.trq-entry-presets { margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.trq-dash .trq-entry-preset { background:#F6F6F6 !important; border:1px solid #ccc !important; color:#54595F !important; padding:4px 12px !important; font-size:13px !important; font-weight:700 !important; cursor:pointer; }
.trq-dash .trq-entry-preset:hover { background:#eee !important; border-color:#990099 !important; color:#990099 !important; }
.trq-entry-mode { margin-bottom:12px; }
.trq-entry-mode label { margin-right:16px; font-size:14px; }
.trq-entry-levels { display:flex; flex-direction:column; gap:8px; }
.trq-entry-lvl-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; }
.trq-entry-lvl-grouplbl { min-width:64px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; color:#54595F; }
.trq-entry-lvl { font-size:14px; }
.trq-entry-day { margin-bottom:14px; }
.trq-entry-day:last-child { margin-bottom:0; }
.trq-entry-fees { display:flex; flex-wrap:wrap; gap:12px 22px; }
.trq-entry-fee { display:flex; align-items:center; gap:8px; font-size:14px; }
.trq-entry-fee.is-hidden { display:none; }
.trq-entry-fee-lbl { min-width:90px; font-weight:600; color:#343a40; }
.trq-entry-fee-in input { width:80px; padding:5px 7px; border:1px solid #ccc; }
.trq-entry-inline { font-size:14px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.trq-entry-inline input[type="email"] { flex:1; min-width:220px; padding:7px 9px; border:1px solid #ccc; }
.trq-entry-body textarea { width:100%; padding:8px 10px; border:1px solid #ccc; font-family:inherit; font-size:14px; }
.trq-dash .trq-entry-save { background:#0099FF !important; color:#fff !important; border:none !important; padding:9px 18px !important; font-weight:700 !important; cursor:pointer; }
.trq-entry-status { font-size:13px; margin-left:10px; }
.trq-entry-status.is-error { color:#CC0000; }
.trq-entry-status.is-ok { color:#0a0; }
/* settled summary */
.trq-entry-sum-block { margin-bottom:16px; }
.trq-entry-sum-block:last-child { margin-bottom:0; }
.trq-entry-sum-line { font-size:14px; color:#212529; margin:2px 0; }
.trq-entry-sum-date { font-weight:700; color:#54595F; margin-right:8px; }
.trq-entry-sum-scope { font-size:12px; color:#7A7A7A; text-transform:uppercase; letter-spacing:.03em; }
.trq-entry-sum-fees { display:flex; flex-wrap:wrap; gap:6px 18px; }
.trq-entry-sum-fee { font-size:14px; color:#212529; }
.trq-entry-sum-pay { white-space:normal; }

/* ================= Insurance ================= */
.trq-ins-choice { margin:12px 0; display:flex; flex-direction:column; gap:8px; }
.trq-ins-verbiage { background:#F6F6F6; padding:12px 14px; font-size:13px; line-height:1.5; margin-bottom:12px; }
.trq-ins-note { font-size:13px; color:#B8730A; display:flex; align-items:center; gap:6px; margin:10px 0; }
.trq-ins-note svg { width:16px; height:16px; fill:#FF9900; }
.trq-ins-block-h { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#54595F; margin:16px 0 8px; }
.trq-ins-ro { font-size:14px; }
.trq-ins-products { display:flex; flex-direction:column; gap:6px; }
.trq-ins-products label { font-size:14px; }
.trq-ins-addl { margin-top:10px; padding:10px 12px; background:#F6F6F6; }
.trq-ins-signnote { font-size:12px; color:#7A7A7A; margin:0 0 8px; }
.trq-ins-sign:disabled { background:#f0f0f0; color:#aaa; }
.trq-ins-pay { margin:16px 0; }
.trq-ins-pay-placeholder { padding:20px; border:2px dashed #ccc; text-align:center; color:#999; font-size:13px; }
.trq-ins-paid-ok { color:#0a0; font-weight:600; font-size:14px; }
.trq-ins-pay-hint { font-size:12px; color:#7A7A7A; }
.trq-dash .trq-ins-save-draft { background:#F6F6F6 !important; border:1px solid #ccc !important; color:#54595F !important; padding:8px 16px !important; font-weight:700 !important; cursor:pointer; }
.trq-dash .trq-ins-submit { background:#0099FF !important; color:#fff !important; border:none !important; padding:9px 18px !important; font-weight:700 !important; cursor:pointer; }
.trq-dash .trq-ins-submit:disabled { opacity:.5; cursor:default; }
.trq-dash .trq-ins-own-submit { background:#0099FF !important; color:#fff !important; border:none !important; padding:9px 18px !important; font-weight:700 !important; cursor:pointer; }
.trq-dash .trq-ins-cancel { background:none !important; border:none !important; padding:0 !important; margin-top:6px !important; display:inline-block; color:#CC0000 !important; font-weight:600 !important; font-size:13px !important; cursor:pointer; }
.trq-ins-status, .trq-ins-own-status { font-size:13px; margin-left:10px; }
.trq-ins-status.is-error, .trq-ins-own-status.is-error { color:#CC0000; }
.trq-ins-status.is-ok, .trq-ins-own-status.is-ok { color:#0a0; }
.trq-ins-gap { font-size:13px; color:#CC0000; display:flex; align-items:center; gap:6px; margin-top:10px; }
.trq-ins-gap svg { width:16px; height:16px; fill:#CC0000; }
/* insurance spacing + known-foreign */
.trq-insurance-section .trq-ef-grid { margin-bottom:16px; }
.trq-insurance-section .trq-ef-grid + .trq-ef-grid { margin-top:4px; }
.trq-ins-known-foreign { background:#F6F6F6; padding:10px 14px; margin:8px 0 12px; }
.trq-ins-known-lbl { font-size:13px; font-weight:700; color:#54595F; margin:0 0 6px; }
.trq-ins-known-foreign ul { margin:0 0 8px; padding-left:20px; }
.trq-ins-known-foreign li { font-size:14px; }
.trq-ins-known-note { font-size:12px; color:#7A7A7A; margin:0; }
.trq-ins-note-quiet { font-size:13px; color:#7A7A7A; margin:8px 0 12px; }
/* insurance top callout (request foreign officials first) */
.trq-ins-callout { display:flex; align-items:flex-start; gap:10px; background:#FFF8EC; border-left:4px solid #FF9900; padding:12px 14px; margin:12px 0; }
.trq-ins-callout svg { width:20px; height:20px; fill:#FF9900; flex:0 0 20px; margin-top:2px; }
.trq-ins-callout div { font-size:13px; line-height:1.5; color:#54595F; }
.trq-ins-sameas { display:block; font-size:13px; margin:0 0 8px; color:#54595F; cursor:pointer; }
.trq-ins-sameas input { margin-right:6px; }
/* requested-dates chips */
.trq-ins-dates { margin:12px 0 16px; }
.trq-ins-dates > .trq-dash-lbl { display:block; margin-bottom:6px; }
.trq-ins-dates-required, .trq-ins-dates-extra { display:inline-flex; flex-wrap:wrap; gap:8px; }
.trq-ins-dates-extra { margin-top:8px; }
.trq-ins-date-chip { display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:14px; font-size:13px; background:#F6F6F6; }
.trq-ins-date-chip.is-required { background:#EFE6F5; color:#54595F; }
.trq-ins-date-chip.is-required em { font-style:normal; font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:#990099; }
.trq-ins-date-chip.is-extra { background:#E9F5FF; }
.trq-ins-date-x { background:none; border:none; cursor:pointer; font-size:15px; line-height:1; color:#7A7A7A; padding:0; }
.trq-ins-date-x:hover { color:#CC0000; }
.trq-ins-dates-add { margin-top:10px; display:flex; gap:8px; align-items:center; }
.trq-dash .trq-ins-date-add { background:#F6F6F6 !important; border:1px solid #ccc !important; color:#54595F !important; padding:6px 12px !important; font-weight:700 !important; cursor:pointer; font-size:13px !important; }

/* ===== Club & Identity merged section ===== */
.trq-ci-block { padding:12px 0; border-top:1px solid #eee; }
.trq-ci-block:first-of-type { border-top:none; }
.trq-ci-block-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.trq-ci-block-title { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#54595F; }

/* ===== wizard address visibility ===== */
.trq-wiz-visibility { margin-top:10px; padding:10px 12px; background:#F6F6F6; }
.trq-wiz-vis-q { display:block; font-size:13px; font-weight:700; color:#54595F; margin-bottom:6px; }

/* ===== Notes section ===== */
.trq-notes-help { font-size:13px; color:#7A7A7A; margin:0 0 12px; }
.trq-notes-block { margin-bottom:14px; }
.trq-notes-group, .trq-notes-day textarea { width:100%; box-sizing:border-box; }
.trq-notes-day { display:block; margin-bottom:8px; }
.trq-notes-day-date { display:block; font-size:12px; font-weight:700; color:#990099; margin-bottom:2px; }
.trq-dash .trq-notes-save { background:#0099FF !important; color:#fff !important; border:none !important; padding:9px 18px !important; font-weight:700 !important; cursor:pointer; }
.trq-notes-status { font-size:13px; margin-left:10px; }
.trq-notes-status.is-ok { color:#0a0; } .trq-notes-status.is-error { color:#CC0000; }

/* ===== Notes on the trial card ===== */
.utr-notes { margin-top:8px; display:flex; flex-direction:column; gap:4px; }
.utr-note { font-size:13px; padding:6px 10px; border-radius:4px; }
.utr-note-group { background:#EFE6F5; }
.utr-note-day { background:#E9F5FF; }
/* wizard visibility radio rows */
.trq-wizard .trq-wiz-vis-opt { display:flex !important; align-items:flex-start; gap:8px; margin:6px 0; font-size:14px; cursor:pointer; }
.trq-wizard .trq-wiz-vis-opt input { margin-top:3px; flex:0 0 auto; width:auto; }
.trq-wizard .trq-wiz-vis-opt span { flex:1; }

/* ===== Dashboard tabs =====
   Quiet by design: the active tab is plain white with bold text, the inactive
   tab is light grey with normal weight. No second rule under the tab strip --
   the active tab's own white face against the grey is the only separation
   needed. !important guards against theme button styling bleeding in. */
.trq-tabs {
    display:flex;
    gap:4px;
    margin:20px 0 18px;
    border-bottom:1px solid #E3E3E3;
}
.trq-tab {
    background:#F2F2F2 !important;
    border:1px solid #E3E3E3;
    border-bottom:none;
    margin-bottom:-1px;
    padding:10px 22px;
    font-size:15px;
    font-weight:400 !important;
    color:#6B6B6B !important;
    cursor:pointer;
    border-radius:0;
    line-height:1.3;
}
.trq-tab:hover { background:#EAEAEA !important; color:#333 !important; }
.trq-tab.is-active {
    background:#fff !important;
    color:#222 !important;
    font-weight:700 !important;
    border-color:#E3E3E3;
    border-bottom:1px solid #fff;
}

/* per-day sub-tabs: same restrained language as the main tabs. The previous
   rule left a coloured cast on the active chip; these set every colour
   explicitly so nothing carries over between states. */
.trq-subtabs {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:0 0 18px;
    padding-bottom:10px;
    border-bottom:1px solid #EEE;
}
.trq-subtab {
    display:flex;
    align-items:baseline;
    gap:8px;
    background:#F7F7F7 !important;
    border:1px solid #E3E3E3 !important;
    border-radius:0;
    padding:8px 14px;
    cursor:pointer;
    font-size:14px;
    color:#6B6B6B !important;
    font-weight:400 !important;
    box-shadow:none !important;
}
.trq-subtab:hover { background:#EFEFEF !important; color:#333 !important; }
.trq-subtab.is-active {
    background:#fff !important;
    border-color:#BFBFBF !important;
    color:#222 !important;
    font-weight:700 !important;
    box-shadow:none !important;
}
.trq-subtab-day { font-size:13px; text-transform:uppercase; letter-spacing:.03em; color:inherit !important; font-weight:inherit !important; }
.trq-subtab-date { font-size:14px; color:inherit !important; font-weight:inherit !important; }
.trq-subtab-count { font-size:12px; color:#8A8A8A !important; font-weight:400 !important; }
.trq-subtab.is-active .trq-subtab-count { color:#666 !important; }

/* day panel */
.trq-day-head { display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.trq-day-title { font-size:18px; font-weight:800; color:#54595F; }
.trq-day-status { font-size:12px; font-weight:700; text-transform:uppercase; padding:3px 10px; border-radius:12px; }
.trq-day-status.is-open { background:#E6F5E6; color:#0a7a0a; }
.trq-day-status.is-full { background:#FDECEC; color:#CC0000; }
.trq-day-status.is-pending { background:#FFF4E0; color:#B8730A; }
.trq-day-counts { font-size:15px; font-weight:600; color:#333; background:#F6F6F6; padding:10px 14px; border-radius:6px; margin-bottom:14px; }
.trq-day-noentries { color:#7A7A7A; font-weight:400; }

/* Trial Details: collapsed by default, understated summary. */
.trq-day-details { margin-bottom:16px; border-top:1px solid #EEE; border-bottom:1px solid #EEE; }
.trq-day-details-summary {
    cursor:pointer;
    list-style:none;
    padding:9px 2px;
    font-size:13px;
    font-weight:600;
    color:#7A7A7A;
    letter-spacing:.02em;
    user-select:none;
}
.trq-day-details-summary::-webkit-details-marker { display:none; }
.trq-day-details-summary::before {
    content:'\25B8';
    display:inline-block;
    margin-right:8px;
    font-size:11px;
    color:#AAA;
    transition:transform .12s ease;
}
.trq-day-details[open] > .trq-day-details-summary::before { transform:rotate(90deg); }
.trq-day-details-summary:hover { color:#444; }
.trq-day-officials { border:none; padding:0 2px 12px; margin:0; }
.trq-day-off-row { display:flex; gap:10px; padding:3px 0; font-size:14px; }
.trq-day-off-lbl { flex:0 0 130px; font-weight:700; color:#54595F; }
.trq-day-off-note { font-size:12px; color:#7A7A7A; margin:8px 0 0; }

/* The embedded entry tool sits directly in the day panel; it brings its own
   print bar, so the day panel no longer renders print buttons. */
.trq-day-entries > .trq-panel { margin-top:4px; }

/* ==================================================================
 * PROXIMITY CONFLICT PANEL
 * Shown by the wizard (advance warning) and by the dashboard club-set
 * (binding refusal). Amber rather than red: the request is not wrong,
 * it just cannot stand as dated, and there is a route forward.
 * ================================================================== */
.trq-conflict {
    margin: 18px 0;
    padding: 18px 20px;
    border: 1px solid #E0A800;
    border-left: 5px solid #E0A800;
    background: #FFF9E6;
    font-size: 14px;
    line-height: 1.5;
}
.trq-cf-title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
    color: #8A6100;
}
.trq-cf-rule { margin: 0 0 10px; }
.trq-cf-list { margin: 0 0 12px; padding: 0; list-style: none; }
.trq-cf-list li {
    padding: 8px 12px;
    margin-bottom: 6px;
    background: #fff;
    border: 1px solid #EBD9A6;
}
.trq-cf-club { display: block; font-weight: 700; }
.trq-cf-meta { display: block; font-size: 13px; color: #555; }
.trq-cf-blocked { margin: 0 0 10px; }
.trq-cf-blocked strong { color: #8A6100; white-space: nowrap; }
.trq-cf-fix { margin: 0 0 14px; }

.trq-cf-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.trq-conflict .trq-btn-primary { background: #0099FF; }

/* Exception request */
.trq-cf-exc {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #EBD9A6;
}
.trq-cf-exc[hidden] { display: none; }
.trq-cf-exc h5 { margin: 0 0 8px; font-size: 15px; font-weight: 700; }
.trq-cf-exc-note { margin: 0 0 12px; font-size: 13px; }
.trq-cf-exc-label { display: block; font-weight: 600; margin-bottom: 10px; }
.trq-cf-reason {
    display: block;
    width: 100%;
    margin-top: 5px;
    padding: 8px;
    font: inherit;
    font-weight: 400;
    border: 1px solid #bbb;
    box-sizing: border-box;
}
.trq-cf-confirm-wrap { display: block; margin-bottom: 12px; font-size: 13px; }
.trq-cf-exc-hold {
    margin: 0 0 12px;
    font-size: 13px;
    font-style: italic;
    color: #6b5300;
}
.trq-cf-exc-status { margin: 10px 0 0; min-height: 1em; font-size: 13px; }
.trq-cf-exc-status.is-error { color: #CC0000; font-weight: 700; }
.trq-cf-exc-status.is-ok    { color: #1a7f1a; font-weight: 700; }

@media (max-width: 600px) {
    .trq-conflict { padding: 14px; }
    .trq-cf-actions { flex-direction: column; align-items: stretch; }
    .trq-cf-actions button { width: 100%; }
}

/* ==================================================================
 * GUIDED SETUP
 * One must-do at a time after the wizard. Blue rather than amber --
 * this is direction, not a warning.
 * ================================================================== */
.trq-setup-banner {
    margin: 0 0 18px;
    padding: 16px 20px;
    background: #EAF4FF;
    border: 1px solid #0099FF;
    border-left: 5px solid #0099FF;
}
.trq-setup-banner-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}
.trq-setup-step {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #0066B3;
}
.trq-setup-dots { display: flex; gap: 6px; }
.trq-setup-dot {
    width: 9px; height: 9px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #9CC9EE;
}
.trq-setup-dot.is-done { background: #0099FF; border-color: #0099FF; }
.trq-setup-dot.is-now  { background: #fff; border: 2px solid #0066B3; }
.trq-setup-title {
    margin: 0 0 4px;
    font-size: 19px;
    font-weight: 700;
    color: #00538F;
}
.trq-setup-lead { margin: 0; font-size: 14px; line-height: 1.5; }

/* The section being walked through. */
.trq-dash-section.trq-setup-active {
    outline: 2px solid #0099FF;
    outline-offset: 2px;
}
.trq-dash-section.trq-setup-active > .trq-collapse-bar .trq-cl-title {
    color: #0066B3;
    font-weight: 700;
}

/* Skip control planted at the foot of the active section. */
.trq-setup-skip {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px dashed #B9D9F2;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
}
/* A link, not a button. Skipping is the quiet option -- giving it the same
   visual weight as a primary action invited people to press it. Kept as a
   <button> for keyboard and screen-reader behaviour, styled as text.
   The !important guards are because the site theme styles bare <button>. */
.trq-setup-skip-btn {
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    color: #0099FF !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    font-family: inherit;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-decoration: underline;
    cursor: pointer;
    width: auto !important;
    line-height: 1.4;
}
.trq-setup-skip-btn:hover { color: #0077CC !important; }
.trq-setup-skip-btn:disabled { opacity: .5; cursor: default; text-decoration: none; }
.trq-setup-skip-cost {
    font-size: 12px;
    color: #666;
    flex: 1 1 240px;
    line-height: 1.4;
}
.trq-setup-skip.is-required .trq-setup-skip-cost { color: #8A0000; font-weight: 600; }
.trq-setup-skip-status { font-size: 12px; }
.trq-setup-skip-status.is-error { color: #CC0000; font-weight: 700; }

/* Post-walkthrough reminder + way back in. */
.trq-setup-resume {
    margin: 0 0 18px;
    padding: 12px 16px;
    background: #FFF9E6;
    border: 1px solid #E0A800;
    border-left: 5px solid #E0A800;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    line-height: 1.5;
}
.trq-setup-resume-txt { flex: 1 1 260px; }
.trq-setup-resume-btn {
    padding: 8px 16px;
    border: none;
    background: #0099FF;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
}

@media (max-width: 600px) {
    .trq-setup-banner { padding: 14px; }
    .trq-setup-skip { flex-direction: column; align-items: flex-start; }
}

/* Header badge: not-posted state (no host club yet). */
.trq-dash-badge-unposted {
    background: #EFEFEF;
    color: #555;
    border: 1px solid #CCC;
}

/* A guided step's secondary target (e.g. the header theme-image tile). */
.trq-dash-themeimg.trq-setup-active {
    outline: 2px solid #0099FF;
    outline-offset: 3px;
}

/* Theme image, inline beside the theme name (Club & Identity). */
.trq-theme-img-field { margin-top: 12px; }
.trq-theme-img-label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 6px;
}
.trq-dash-themeimg.trq-theme-img-inline {
    width: 160px;
    height: 110px;
    position: relative;
    cursor: pointer;
}
.trq-dash-themeimg.trq-theme-img-inline img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}

/* Checkbox statements need room to breathe. */
.trq-cf-confirm-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
}
.trq-cf-confirm-wrap input[type="checkbox"] {
    margin: 2px 0 0;
    flex: 0 0 auto;
}

/* Double-booking audit — recomputed on every dashboard load. */
.trq-booking-warn {
    margin: 0 0 18px;
    padding: 14px 18px;
    background: #FDEDED;
    border: 1px solid #CC0000;
    border-left: 5px solid #CC0000;
    font-size: 14px;
    line-height: 1.5;
}
.trq-booking-warn h4 { margin: 0 0 6px; font-size: 16px; font-weight: 700; color: #8A0000; }
.trq-booking-warn p { margin: 0 0 8px; }
.trq-booking-warn ul { margin: 0; padding-left: 20px; }
.trq-booking-warn li { margin-bottom: 4px; }

/* Approval-route explanation on an international request. */
.trq-intl-route {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #F4F7FA;
    border-left: 3px solid #0099FF;
    font-size: 13px;
    line-height: 1.55;
}

/* ==================================================================
 * DASHBOARD PICKER — /trial-dashboard/ with no ?group= in the URL.
 * ================================================================== */
.trq-dash-picker { max-width: 900px; }
.trq-dash-picker-empty { margin: 0 0 16px; color: #555; font-size: 14px; }
.trq-dash-picker ul { margin: 0; padding: 0; list-style: none; }
.trq-dash-picker-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin-bottom: 8px;
    border: 1px solid #DDD;
    background: #fff;
}
.trq-dash-picker-item:hover { border-color: #0099FF; }
.trq-dash-picker-item.is-past { opacity: .6; }
.trq-dash-picker-item > a {
    flex: 1 1 auto;
    text-decoration: none;
    color: inherit;
    display: block;
}
.trq-dpk-span {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #0066B3;
}
.trq-dpk-title { display: block; font-size: 17px; font-weight: 700; margin: 2px 0; }
.trq-dpk-meta  { display: block; font-size: 13px; color: #666; }

@media (max-width: 600px) {
    .trq-dash-picker-item { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ==================================================================
 * RETROACTIVE GROUPING TOOL (staff only, under the picker)
 * ================================================================== */
.trq-group-tool {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 2px solid #EEE;
}
.trq-group-tool h3 { margin: 0 0 4px; font-size: 17px; font-weight: 700; }
.trq-gt-count {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    background: #EEE;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    color: #555;
}
.trq-gt-lead { margin: 0 0 14px; font-size: 13px; color: #555; line-height: 1.5; }
.trq-gt-empty { font-size: 13px; color: #666; font-style: italic; }
.trq-gt-list { margin: 0 0 14px; padding: 0; list-style: none; max-height: 420px; overflow-y: auto; }
.trq-gt-list li { border-bottom: 1px solid #EEE; }
.trq-gt-list label {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 9px 4px;
    cursor: pointer;
    font-size: 14px;
}
.trq-gt-list label:hover { background: #F6FAFF; }
.trq-gt-date { flex: 0 0 165px; font-weight: 700; }
.trq-gt-club { flex: 1 1 auto; }
.trq-gt-id   { flex: 0 0 auto; font-size: 12px; color: #999; }
.trq-gt-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.trq-gt-status { font-size: 13px; }
.trq-gt-status.is-error { color: #CC0000; font-weight: 700; }
.trq-gt-status.is-ok    { color: #1a7f1a; font-weight: 700; }

@media (max-width: 600px) {
    .trq-gt-list label { flex-wrap: wrap; gap: 4px 10px; }
    .trq-gt-date { flex: 0 0 100%; }
}

/* ==================================================================
 * REVIEW SCREENS (insurance, foreign judges, foreign decoys)
 * ================================================================== */
.trq-review { max-width: 900px; }
.trq-review h2 { margin: 0 0 4px; font-size: 22px; font-weight: 700; }
.trq-review-lead { margin: 0 0 18px; color: #555; font-size: 14px; }
.trq-review-empty { font-style: italic; color: #666; }
.trq-review-list { margin: 0; padding: 0; list-style: none; }
.trq-rv-item {
    padding: 14px 16px;
    margin-bottom: 10px;
    border: 1px solid #DDD;
    background: #fff;
}
.trq-rv-item.is-warn {
    border-color: #E0A800;
    border-left: 5px solid #E0A800;
    background: #FFFDF5;
}
.trq-rv-item.is-critical {
    border-color: #CC0000;
    border-left: 5px solid #CC0000;
    background: #FDEDED;
    box-shadow: 0 0 0 2px rgba(204,0,0,.12);
}
.trq-rv-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.trq-rv-when {
    font-size: 12px; font-weight: 700; letter-spacing: .05em;
    text-transform: uppercase; color: #0066B3;
}
.trq-rv-club { font-size: 17px; font-weight: 700; flex: 1 1 auto; }
.trq-rv-countdown { font-size: 12px; color: #666; }
.trq-rv-alert { margin: 8px 0 0; font-size: 13px; font-weight: 700; color: #8A0000; }
.trq-rv-item.is-warn .trq-rv-alert { color: #8A6100; }
.trq-rv-status {
    display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
    margin-top: 10px; padding-top: 10px; border-top: 1px solid #EEE;
}
.trq-rv-label { font-size: 15px; font-weight: 700; }
.trq-rv-act { display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }
.trq-rv-msg { font-size: 12px; }
.trq-rv-msg.is-ok    { color: #1a7f1a; font-weight: 700; }
.trq-rv-msg.is-error { color: #CC0000; font-weight: 700; }

@media (max-width: 600px) {
    .trq-rv-status { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* Blocking + waiting: a red clock. */
.trq-cl-clock.is-critical { color: #CC0000; }
.trq-cl-clock.is-critical svg { stroke: #CC0000; }
.trq-rv-note { margin: 8px 0 0; font-size: 13px; color: #555; }

/* International judge / decoy review. */
.trq-intl-item.is-approved { border-left: 5px solid #1a7f1a; }
.trq-intl-item.is-denied   { border-left: 5px solid #CC0000; opacity: .8; }
.trq-intl-status { margin: 8px 0; font-size: 15px; }
.trq-intl-item.is-approved .trq-intl-status strong { color: #1a7f1a; }
.trq-intl-item.is-denied   .trq-intl-status strong { color: #CC0000; }
.trq-intl-link {
    margin: 12px 0;
    padding: 12px 14px;
    background: #F4F7FA;
    border-left: 3px solid #0099FF;
}
.trq-intl-link label { display: block; font-weight: 700; font-size: 13px; }
.trq-intl-link input[type="text"] {
    display: block; width: 100%; max-width: 420px;
    margin-top: 5px; padding: 7px 9px;
    border: 1px solid #bbb; font: inherit; font-weight: 400;
    box-sizing: border-box;
}
.trq-intl-linked-note { display: block; margin-top: 7px; font-size: 12px; color: #1a7f1a; }
.trq-intl-linked-note.is-todo { color: #8A6100; }
.trq-intl-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; font-size: 14px; }
.trq-intl-actions label { display: flex; align-items: center; gap: 7px; cursor: pointer; }

/* Temporary backfill control on the insurance review screen. */
.trq-rv-backfill {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
    margin-top: 10px; padding-top: 10px;
    border-top: 1px dashed #CCC;
}
.trq-rv-bf-label { font-size: 12px; color: #666; flex: 1 1 100%; }
.trq-rv-bf {
    padding: 6px 12px; border: 1px solid #888; background: #f4f4f4;
    font-size: 13px; cursor: pointer;
}
.trq-rv-bf:disabled { opacity: .5; cursor: default; }

/* Lookup dropdown on the international review screens. */
.trq-intl-ac {
    position: relative;
    max-width: 420px;
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid #bbb;
    border-top: none;
    background: #fff;
    display: none;
    z-index: 20;
}
.trq-intl-ac .trq-ac-opt { padding: 7px 10px; cursor: pointer; font-size: 14px; }
.trq-intl-ac .trq-ac-opt:hover { background: #EAF4FF; }
.trq-intl-ac .trq-ac-none { padding: 7px 10px; font-size: 13px; color: #777; font-style: italic; }

/* "still assigned" note beside a pending international request. */
.trq-intl-still { font-size: 13px; color: #666; }

/* Decided international requests. */
.trq-intl-ok { color: #1a7f1a; }
.trq-intl-no { color: #CC0000; }
.trq-club-scope { font-size: 12px; color: #777; }

/* Country/decision suffix on an official's name. */
.trq-intl-suffix { font-weight: 400; font-size: 14px; }
.trq-intl-suffix.trq-intl-approved { color: #1a7f1a; }
.trq-intl-suffix.trq-intl-denied   { color: #CC0000; }
.trq-intl-suffix.trq-intl-pending  { color: #8A6100; }

/* Picker status: name what is outstanding rather than counting it. */
.trq-dpk-state {
    flex: 0 0 auto;
    min-width: 150px;
    font-size: 13px;
    line-height: 1.45;
    text-align: right;
}
.trq-dpk-state u { display: block; font-weight: 700; margin-bottom: 2px; }
.trq-dpk-state span { display: block; color: #555; }
.trq-dpk-state.is-pending u   { color: #B36B00; }
.trq-dpk-state.is-unposted u  { color: #666; }
.trq-dpk-state.is-confirmed {
    color: #fff;
    background: #0099FF;
    padding: 7px 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: center;
}

@media (max-width: 600px) {
    .trq-dpk-state { text-align: left; min-width: 0; }
}

/* Legacy backfill, tucked away at the foot of the insurance screen. */
.trq-legacy-foot {
    margin-top: 30px;
    padding-top: 16px;
    border-top: 1px solid #EEE;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.trq-legacy-toggle {
    padding: 5px 12px;
    border: 1px solid #CCC;
    background: #FAFAFA;
    color: #777;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}
.trq-legacy-toggle:hover { color: #333; border-color: #999; }
.trq-legacy-toggle.is-open { background: #EEE; color: #333; }
.trq-legacy-note { font-size: 12px; color: #999; flex: 1 1 240px; }
.trq-rv-backfill[hidden] { display: none; }

/* Trial Help: a checklist mark, not an alarm. */
.trq-cl-later {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: #7A7A7A;
    font-size: 15px;
}
.trq-cl-later svg { width: 15px; height: 15px; fill: currentColor; }

/* "Judge not found" — a quiet link, not a call to action. */
.trq-intl-notfound {
    display: inline-block;
    margin-top: 8px;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    color: #6B7A88 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    font-family: inherit;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-decoration: underline;
    cursor: pointer;
    width: auto !important;
}
.trq-intl-notfound:hover { color: #0077CC !important; }
.trq-intl-notfound:disabled { opacity: .5; cursor: default; }
.trq-intl-notfound-sent {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px;
    color: #1a7f1a;
}

/* ==================================================================
 * PUBLIC TRIAL LISTING
 * ================================================================== */
/* Same grey surround as the trial page. */
.trq-trials {
    background: #F6F6F6;
    padding: 40px 24px 48px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
/* A real wrapper, not "> *": a later `margin: 0` on a child (the list reset,
   for one) has equal specificity and would silently undo auto-centering. */
.trq-trials-inner { max-width: 1280px; margin: 0 auto; }
.trq-trials-views { display: flex; gap: 6px; margin-bottom: 16px; }
.trq-tv {
    padding: 6px 16px;
    border: 1px solid #CCC;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.trq-trials[data-view="list"] .trq-tv[data-view="list"],
.trq-trials[data-view="map"]  .trq-tv[data-view="map"] {
    background: #0099FF; border-color: #0099FF; color: #fff;
}
.trq-trials[data-view="list"] .trq-trials-map-wrap { display: none; }
.trq-trials[data-view="map"]  .trq-trials-list     { display: none; }

.trq-trials-map { height: 520px; background: #EEF2F5; }
.trq-trials-map-loading { padding: 24px; text-align: center; color: #666; font-size: 14px; }
.trq-trials-map-note { margin: 8px 0 0; font-size: 12px; color: #777; }

/* Cards mirror the trial page: grey around, white card, colour band, image
   left. Same proportions, so the list and the page read as one thing. */
.trq-trials-list { margin: 0; padding: 0; list-style: none; }
.trq-trial-card {
    display: flex;
    gap: 0;
    align-items: stretch;
    min-height: 330px;
    margin-bottom: 22px;
    background: #fff;
}
/* The image fills the whole column, however tall the card ends up, so no
   colour band is ever left showing beneath it. Cropped from the centre. */
.trq-tc-side { flex: 0 0 400px; align-self: stretch; position: relative; }
.trq-tc-img {
    position: absolute; inset: 0;
    width: 100%; height: 100%; display: block;
    object-fit: cover; object-position: center center;
}
.trq-tc-body { flex: 1 1 auto; min-width: 0; padding: 26px 34px 28px; }

.trq-tc-title {
    margin: 0 0 2px; font-size: 26px; font-weight: 700; line-height: 1.15;
    text-transform: uppercase;
}
.trq-tc-title a { text-decoration: none !important; color: inherit; }
.trq-tc-title a:hover { color: #0066B3; }
.trq-tc-when { margin: 0; font-size: 16px; font-weight: 700; color: #0066B3; }
.trq-tc-where { margin: 2px 0 0; font-size: 15px; }
.trq-tc-club { margin: 2px 0 12px; font-size: 15px; font-weight: 700; }

.trq-tc-dates { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.trq-tc-date {
    display: inline-flex; align-items: baseline; gap: 6px;
    padding: 4px 10px; background: #EDEDED;
    font-size: 13px; font-weight: 700;
}
.trq-tc-date.is-full { color: #8A8A8A; font-style: italic; }
.trq-tc-date em { color: #cc0000; font-style: normal; font-size: 11px; text-transform: uppercase; }

.trq-tc-more { margin: 16px 0 0; font-size: 15px; font-weight: 700; }
.trq-tc-more a { text-decoration: none !important; }
.trq-tc-more a:hover { text-decoration: underline !important; }
.trq-tc-manage { margin: 6px 0 0; font-size: 13px; }
.trq-trials-empty { font-style: italic; color: #666; }

@media (max-width: 900px) {
    .trq-trial-card { flex-direction: column; gap: 0; min-height: 0; }
    .trq-tc-side { flex: 0 0 auto; height: 220px; }
    .trq-tc-body { padding: 20px 22px 24px; }
    .trq-tc-title { font-size: 22px; }
    .trq-trials-map { height: 380px; }
}

/* Document review queue. */
.trq-doc-warn {
    padding: 12px 14px;
    margin-bottom: 16px;
    background: #FDEDED;
    border-left: 5px solid #CC0000;
    font-size: 13px;
    line-height: 1.5;
}
.trq-doc-warn code { font-size: 12px; background: #fff; padding: 1px 4px; }
.trq-doc-meta { margin: 6px 0 0; font-size: 13px; color: #666; }
.trq-doc-open { margin: 8px 0; font-size: 14px; font-weight: 700; }
.trq-doc-expiry, .trq-doc-note { display: block; font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.trq-doc-expiry input, .trq-doc-note input {
    display: block; margin-top: 4px; padding: 6px 8px;
    border: 1px solid #bbb; font: inherit; font-weight: 400;
    max-width: 340px; width: 100%; box-sizing: border-box;
}

/* ==================================================================
 * PUBLIC TRIAL PAGE
 * ================================================================== */
/* Grey surrounds the card; the card itself stays white and crisp. */
.trq-tp-bleed {
    background: #F6F6F6;
    padding: 40px 24px 56px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.trq-tp {
    max-width: 1280px;
    margin: 0 auto;
    background: #fff;
}
/* No gap: the colour band runs flush to the card edge, as the old pages did. */
.trq-tp-cols { display: flex; gap: 0; align-items: stretch; }

.trq-tp-side { flex: 0 0 400px; align-self: stretch; }
.trq-tp-img { width: 100%; height: auto; display: block; }

/* 30px of air above the title, and room around the content. */
.trq-tp-main { flex: 1 1 auto; min-width: 0; padding: 30px 44px 44px; }
.trq-tp-title {
    margin: 0 0 2px; font-size: 34px; font-weight: 700; line-height: 1.1;
    text-transform: uppercase;
}
.trq-tp-month { margin: 0; font-size: 18px; font-weight: 700; color: #0066B3; }
.trq-tp-city  { margin: 2px 0 0; font-size: 16px; }
.trq-tp-club  { margin: 2px 0 14px; font-size: 16px; font-weight: 700; }

.trq-tp-off { margin: 0 0 6px; font-size: 15px; line-height: 1.7; }
.trq-tp-off-label { color: #666; }

/* Name with the photo on hover. CSS only, so it needs nothing loaded. */
.trq-off { position: relative; display: inline-block; }
/* Below the name, not above: above meant the card was clipped by the top of
   the page for anyone listed in the header. */
.trq-off-card {
    position: absolute; left: 0; top: 100%; z-index: 30;
    display: none; width: 250px; padding: 8px;
    background: #fff; border: 1px solid #CCC; box-shadow: 0 4px 14px rgba(0,0,0,.15);
    margin-top: 6px;
}
.trq-off:hover .trq-off-card,
.trq-off:focus-within .trq-off-card { display: block; }
/* No cropping -- whatever shape the photo is, that is what shows. */
.trq-off-card img { width: 100%; height: auto; display: block; }
.trq-off-more {
    display: block; margin-top: 6px; font-size: 11px; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
}
/* Names are hover targets, not decorated links. The theme underlines every
   link, so this has to override it. */
.trq-off > a,
.trq-off > span,
.trq-off-card a,
.trq-tp-club a {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    color: inherit;
}
.trq-off > a:hover { color: #0066B3; text-decoration: none !important; }
.trq-off-card a:hover { text-decoration: none !important; }

.trq-tp-lead {
    margin: 20px 0 8px; font-size: 12px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase; color: #666;
}

/* Tab box */
.trq-tpt { border: 1px solid #DDD; }
.trq-tpt-tabs { display: flex; flex-wrap: wrap; border-bottom: 1px solid #DDD; }
/* The site theme styles every <button>, which is where the blue was coming
   from -- these have to win. */
.trq-tpt-tab {
    flex: 0 0 auto;
    padding: 10px 22px !important;
    border: none !important;
    border-right: 1px solid #DDD !important;
    border-radius: 0 !important;
    background: #EDEDED !important;
    color: #555 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer; text-align: left; font-family: inherit;
    width: auto !important;
}
.trq-tpt-tab:hover { background: #E4E4E4 !important; }
.trq-tpt-tab.is-active {
    background: #fff !important;
    color: #000 !important;
    cursor: default;
}
/* Day name title case and light; the date same size, bold and uppercase. */
.trq-tpt-dow { display: block; font-size: 14px; font-weight: 400; }
.trq-tpt-md  {
    display: block; font-size: 14px; font-weight: 700;
    letter-spacing: .04em; text-transform: uppercase;
}
.trq-tpt-tab.is-active .trq-tpt-dow,
.trq-tpt-tab.is-active .trq-tpt-md { font-weight: 700; }
/* Overview has one line; centre it against the two-line day tabs. */
.trq-tpt-only { display: flex; align-items: center; min-height: 42px; }
/* A full day reads as italic rather than carrying a label. */
.trq-tpt-tab.is-full .trq-tpt-dow,
.trq-tpt-tab.is-full .trq-tpt-md { font-style: italic; }

.trq-tpt-panel { display: none; padding: 26px 24px 28px; }
.trq-tpt-panel.is-active { display: block; }

.trq-tp-block { margin-bottom: 30px; }
.trq-tp-block:last-child { margin-bottom: 0; }
.trq-tp-block h3 {
    margin: 0 0 7px; font-size: 12px; font-weight: 800;
    letter-spacing: .09em; text-transform: uppercase; color: #333;
}
.trq-tp-block p { margin: 0 0 7px; font-size: 15px; line-height: 1.6; }
.trq-tp-addr-note { font-size: 12px; color: #888; font-style: italic; }
.trq-tp-person { font-weight: 500; }
/* Contact channels: icon only, value on hover, action on click. */
.trq-tp-lines { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; }
.trq-cc {
    position: relative;
    display: inline-flex; align-items: center;
    text-decoration: none !important;
    border-bottom: none !important;
    color: #555;
    cursor: pointer;
}
.trq-cc:hover, .trq-cc:focus { color: #0066B3; }
.trq-cc .trq-tp-ic { width: 20px; height: 20px; }
.trq-cc-pop {
    position: absolute; left: 50%; top: 100%; z-index: 30;
    display: none; transform: translateX(-50%);
    margin-top: 8px; padding: 5px 10px;
    background: #333; color: #fff;
    font-size: 12px; line-height: 1.4; white-space: nowrap;
    border-radius: 2px;
}
.trq-cc:hover .trq-cc-pop,
.trq-cc:focus .trq-cc-pop,
.trq-cc:focus-within .trq-cc-pop { display: block; }
.trq-tp-social { margin-top: 12px; display: flex; gap: 16px; align-items: center; }
.trq-tp-social a { display: inline-flex; }
.trq-tp-ic { width: 15px; height: 15px; fill: currentColor; flex: 0 0 auto; }
.trq-tp-social .trq-tp-ic { width: 20px; height: 20px; fill: #555; }
.trq-tp-social a:hover .trq-tp-ic { fill: #0066B3; }

.trq-tp-dayfull { margin: 26px 0 0; font-size: 15px; font-weight: 700; color: #cc0000; }
.trq-tp-entry { margin: 26px 0 0; font-size: 14px; color: #555; }

/* Levels: a small reference strip, not a feature. */
.trq-lv { margin: 30px 0 0; }
.trq-lv-label {
    display: block; font-size: 11px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase; color: #888; margin-bottom: 4px;
}
.trq-lv-grid {
    border-collapse: separate; border-spacing: 3px; margin: 0; width: auto;
    background: #EDEDED; padding: 3px;
}
.trq-lv-grid td { border: none; }
.trq-lv-cell {
    position: relative; overflow: hidden;
    padding: 3px 0; width: 46px; text-align: center;
    font-size: 10px; font-weight: 700; letter-spacing: .03em; line-height: 1.4;
}
.trq-lv-cell.is-on  { background: #fff; color: #111; }
/* Unoffered cells sit flush with the plate, so only what IS offered
   reads as a tile. */
.trq-lv-cell.is-off { background: transparent; color: #A0A0A0; }
/* Struck through, bottom-left to top-right, in the plate colour. */
.trq-lv-cell.is-off::after {
    content: ""; position: absolute; left: -10%; right: -10%; top: 50%;
    border-top: 1px solid #C2C2C2;
    transform: rotate(-32deg);
}
.trq-lv-note { display: block; margin-top: 4px; font-size: 11px; color: #888; font-style: italic; }

@media (max-width: 900px) {
    .trq-tp-cols { flex-direction: column; gap: 0; }
    .trq-tp-side { flex: 0 0 auto; }
    .trq-tp-main { padding: 24px 22px 30px; }
    .trq-tp-title { font-size: 26px; }
    .trq-off-card { left: auto; right: 0; }
}

/* Messenger field warning — a nudge, never a blocker. */
.trq-msgr-warn {
    margin: 4px 0 10px;
    padding: 8px 10px;
    background: #FFF9E6;
    border-left: 3px solid #E0A800;
    font-size: 12px;
    line-height: 1.5;
    color: #6b5300;
}
.trq-msgr-warn[hidden] { display: none; }

/* Apprentice & supervising judges — dashboard, Secretary only. */
.trq-aj { margin-top: 20px; padding-top: 16px; border-top: 1px dashed #DDD; }
.trq-aj-title { margin: 0 0 10px; font-size: 14px; font-weight: 700; }
.trq-aj-staff {
    margin-left: 8px; padding: 1px 7px;
    background: #EEE; color: #666;
    font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.trq-aj-day {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
    padding: 7px 0; border-bottom: 1px solid #F0F0F0;
}
.trq-aj-date { flex: 0 0 110px; font-size: 13px; font-weight: 700; }
.trq-aj-list { flex: 1 1 240px; font-size: 13px; }
.trq-aj-none { color: #999; }
.trq-aj-chip {
    display: inline-flex; align-items: center; gap: 5px;
    margin-right: 8px; padding: 2px 8px;
    background: #F2F6FA; border: 1px solid #D6E4F0;
}
.trq-aj-remove {
    padding: 0 !important; border: none !important; background: none !important;
    color: #CC0000 !important; font-size: 14px !important; line-height: 1;
    cursor: pointer; width: auto !important;
}
.trq-aj-open {
    padding: 3px 10px !important; border: 1px solid #CCC !important;
    background: #FAFAFA !important; color: #444 !important;
    font-size: 12px !important; font-weight: 400 !important;
    text-transform: none !important; letter-spacing: normal !important;
    cursor: pointer; width: auto !important; margin-left: 4px;
}
.trq-aj-open:hover { background: #EFF6FC !important; }
.trq-aj-search { flex: 1 1 100%; margin: 6px 0 2px; position: relative; }
.trq-aj-search[hidden] { display: none; }
.trq-aj-search label { display: block; font-size: 12px; font-weight: 700; }
.trq-aj-input {
    display: block; width: 100%; max-width: 360px; margin-top: 4px;
    padding: 6px 8px; border: 1px solid #bbb; font: inherit; font-weight: 400;
    box-sizing: border-box;
}
.trq-aj-ac {
    position: relative; max-width: 360px; max-height: 220px; overflow-y: auto;
    border: 1px solid #bbb; border-top: none; background: #fff; display: none; z-index: 20;
}
.trq-aj-ac .trq-ac-opt { padding: 6px 9px; cursor: pointer; font-size: 13px; }
.trq-aj-ac .trq-ac-opt:hover { background: #EAF4FF; }
.trq-aj-ac .trq-ac-none { padding: 6px 9px; font-size: 12px; color: #777; font-style: italic; }
.trq-aj-cancel {
    margin-top: 6px; padding: 0 !important; border: none !important;
    background: none !important; color: #777 !important;
    font-size: 12px !important; font-weight: 400 !important;
    text-transform: none !important; cursor: pointer; width: auto !important;
    text-decoration: underline;
}
.trq-aj-msg { flex: 1 1 100%; font-size: 12px; }
.trq-aj-msg.is-error { color: #CC0000; font-weight: 700; }

/* Role label beside a name on the public page. */
/* Name + role label travel together: the pair wraps as one, so a label can
   never be stranded on a line of its own. */
.trq-off-item { white-space: nowrap; }
.trq-off-role { color: #777; font-size: 13px; display: inline; white-space: nowrap; }

/* Map popups. */
.trq-mp { min-width: 190px; }
.trq-mp-title {
    display: block;
    font-size: 15px; font-weight: 700; line-height: 1.2;
    text-transform: uppercase;
    color: #0066B3 !important;
    text-decoration: none !important;
}
a.trq-mp-title:hover { text-decoration: underline !important; }
.trq-mp-when { margin-top: 3px; font-size: 13px; font-weight: 700; color: #0066B3; }
.trq-mp-club { margin-top: 1px; font-size: 13px; font-weight: 700; color: #222; }
.trq-mp-dates { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.trq-mp-dates .trq-tc-date { padding: 3px 8px; font-size: 12px; }
/* Several trials at one spot: let them breathe, and separate them with a
   hairline rather than a heading nobody needs to read. */
.trq-mp-multi .trq-mp { padding-top: 18px; margin-top: 18px; border-top: 1px solid #E6E6E6; }
.trq-mp-multi .trq-mp:first-of-type { padding-top: 0; margin-top: 0; border-top: none; }
.trq-trials-maponly .trq-trials-map-wrap { background: #fff; padding: 12px; }
.leaflet-popup-content { margin: 12px 14px; }

/* ==================================================================
   MEMBER ENTRY — public trial page, day tab
   ================================================================== */
.trq-me { margin: 18px 0 4px; }
.trq-me-closed p { margin: 0; color: #555; font-style: italic; }
.trq-me-title { margin: 0 0 10px; font-size: 15px; text-transform: uppercase; letter-spacing: .04em; }

.trq-me-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; }
.trq-me-row label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; }
.trq-me-row select,
.trq-me-row input[type="text"] { min-width: 190px; padding: 6px 8px; font-weight: 400; }

.trq-me-handler-note,
.trq-me-fee { margin: 6px 0 0; font-size: 12px; color: #666; }

.trq-me-actions { margin-top: 12px; display: flex; align-items: center; gap: 12px; }
.trq-me-go,
.trq-me-confirm { padding: 8px 20px; background: #cc0000; color: #fff; border: 0; cursor: pointer; }
.trq-me-go[disabled],
.trq-me-confirm[disabled] { opacity: .45; cursor: not-allowed; }
.trq-me-status { font-size: 13px; }
.trq-me-status.is-error { color: #b00020; font-weight: 600; }

/* The warning panel. Loud enough to stop someone, not so loud it reads as
   a refusal -- they can still go ahead. */
.trq-me-warn { margin-top: 14px; padding: 14px 16px; border: 2px solid #cc0000; background: #fff6f6; }
.trq-me-warn h5 { margin: 0 0 8px; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; }
.trq-me-issue { padding: 8px 0; border-top: 1px solid #f0d6d6; }
.trq-me-issue:first-of-type { border-top: 0; }
.trq-me-issue-msg { margin: 0; }
.trq-me-up { margin-top: 6px; font-size: 13px; }
.trq-me-up-status { margin-left: 8px; font-size: 12px; color: #446644; }
.trq-me-up-status.is-error { color: #b00020; }
.trq-me-soc { display: block; margin: 10px 0 0; font-size: 13px; }
.trq-me-warn-actions { margin-top: 12px; display: flex; align-items: center; gap: 14px; }

/* Their own entries, above the form. */
.trq-me-mine { margin-bottom: 18px; padding: 10px 14px; background: #f4f6f8; }
.trq-me-mine h4 { margin: 0 0 6px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.trq-me-mine ul { margin: 0; padding: 0; list-style: none; }
.trq-me-mine li { padding: 3px 0; font-size: 14px; }
.trq-me-mine-dog { font-weight: 600; }
.trq-me-mine-lvl { margin-left: 8px; color: #555; }
.trq-me-mine-pending { margin-left: 8px; color: #b00020; font-size: 12px; font-weight: 600; }
.trq-me-mine-note { margin: 8px 0 0; font-size: 12px; color: #666; }
.trq-me-nodogs { color: #555; font-style: italic; }

@media (max-width: 640px) {
    .trq-me-row { flex-direction: column; align-items: stretch; }
    .trq-me-row select,
    .trq-me-row input[type="text"] { width: 100%; min-width: 0; }
}

/* Handler, shown on an entry only when it isn't the member themselves. */
.trq-me-mine-handler { margin-left: 8px; color: #555; font-style: italic; }
/* The rules between level groups in the picker. */
.trq-me-level option[disabled] { color: #bbb; }

/* Entry fee, filled in by the level picker. */
.trq-me-fee-out { display: block; padding: 6px 8px; min-width: 90px; font-weight: 700; font-size: 16px; }

/* Acknowledgements. Each outstanding item the member can still act on gets a
   box; the Enter button waits on all of them. */
.trq-me-ack { display: flex; gap: 8px; align-items: flex-start; margin-top: 8px;
              font-size: 13px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.trq-me-ack input { margin-top: 3px; flex: 0 0 auto; }

/* Paid, but the application was never signed — the club's move, not USMRA's. */
.trq-ins-unsigned { margin: 0 0 12px; padding: 10px 14px; border-left: 4px solid #cc0000;
                    background: #fff6f6; font-size: 14px; }
.trq-ins-unsigned strong { color: #cc0000; text-transform: uppercase; letter-spacing: .04em; }
.trq-ins-amt { margin-left: 6px; color: #666; font-size: 13px; }

/* Either/or divider between "upload now" and "I'll send it later". */
.trq-me-or { margin: 8px 0 6px; font-size: 12px; letter-spacing: .08em;
             text-transform: uppercase; color: #999; }
.trq-me-testtype { margin-right: 10px; padding: 4px 6px; }

/* Per-requirement status on an entry already placed. */
.trq-me-st { display: block; margin: 2px 0 0 2px; font-size: 12px; font-weight: 600; }
.trq-me-st.is-review { color: #6b4b00; }
.trq-me-st.is-needed { color: #b00020; }
.trq-me-mine-up { margin-left: 6px; padding: 1px 8px; border: 1px solid currentColor;
                  background: none; color: inherit; font: inherit; font-size: 11px;
                  text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.trq-me-mine-up[disabled] { opacity: .4; cursor: default; }
.trq-me-mine-uploader { display: inline-flex; align-items: center; gap: 8px; margin-left: 8px; }

/* The sociability offer — the one gap the club can often close on the spot. */
.trq-me-soc { margin: 12px 0 0; padding: 10px 12px; background: #f0f6f0;
              border-left: 4px solid #2e7d32; font-size: 13px; }
.trq-me-soc label { display: flex; gap: 8px; align-items: flex-start; cursor: pointer; }
.trq-me-soc-lead { margin: 0 0 8px; }
.trq-me-soc-day { margin-left: 6px; padding: 4px 6px; }

/* A document that was reviewed and refused — the reason comes back with it. */
.trq-me-st.is-rejected { color: #b00020; }
.trq-me-issue.is-rejected .trq-me-issue-msg { font-weight: 600; }
.trq-me-issue.is-review { color: #6b4b00; }
.trq-doc-note-hint { font-weight: 400; color: #666; font-size: 12px; }

/* Each requirement carries its own heading, so a member with two outstanding
   items can tell them apart at a glance. */
.trq-me-issue-title { margin: 0 0 6px; font-size: 14px; text-transform: uppercase;
                      letter-spacing: .04em; color: #cc0000; }
.trq-me-issue { padding: 12px 0; }
.trq-me-issue + .trq-me-issue { border-top: 1px solid #f0d6d6; }

/* The outcome of the verification step. Amber when they still owe a document
   -- green would say "done" about something that plainly isn't. */
.trq-me-done { margin: 12px 0 0; padding: 8px 12px; font-size: 13px; font-weight: 600;
               line-height: 1.45; }
.trq-me-done.is-owed { background: #fff8e6; border-left: 4px solid #e8730c; }
.trq-me-done.is-sent { background: #f0f6f0; border-left: 4px solid #2e7d32; }

/* Entries grouped by dog: each level on its own row, the dog's outstanding
   documents listed once underneath. */
.trq-me-mine li + li { margin-top: 10px; padding-top: 10px; border-top: 1px solid #e2e6ea; }
.trq-me-mine-row { padding: 2px 0; }

/* ==================================================================
   DOCUMENT REVIEW — decision first, fields after
   ================================================================== */
.trq-doc-pill { display: inline-flex; margin: 10px 0 0; border: 1px solid #c9ced4; overflow: hidden; }
.trq-doc-pick { padding: 7px 22px; border: 0; background: #fff; color: #333;
                font: inherit; font-size: 13px; font-weight: 700; text-transform: uppercase;
                letter-spacing: .04em; cursor: pointer; }
.trq-doc-pick + .trq-doc-pick { border-left: 1px solid #c9ced4; }
.trq-doc-pick:hover { background: #f2f5f8; }
.trq-doc-pick-yes.is-on { background: #2e7d32; color: #fff; }
.trq-doc-pick-no.is-on { background: #cc0000; color: #fff; }
.trq-doc-panel { margin-top: 12px; padding: 12px 14px; background: #f6f8fa; }
.trq-doc-testtype { display: block; margin-top: 8px; }
.trq-doc-testtype select { margin-left: 6px; padding: 5px 6px; }

/* Whether a dog is running soon is the reviewer's real priority signal. */
.trq-doc-entered { margin: 8px 0; padding: 8px 12px; background: #f4f6f8;
                   border-left: 4px solid #8a94a0; font-size: 13px; }
.trq-doc-entered strong { display: block; margin-bottom: 2px; }
.trq-doc-entered.is-urgent { background: #fff6f6; border-left-color: #cc0000; }
.trq-doc-entered.is-urgent strong { color: #cc0000; text-transform: uppercase;
                                    letter-spacing: .04em; }
.trq-doc-item.is-urgent { border: 2px solid #cc0000; }
.trq-me-why { display: inline-block; margin-top: 2px; font-weight: 400; }

/* Required roles, chased at print time rather than nagged about all week. */
.trq-print-warn { margin: 8px 0 0; padding: 10px 12px; background: #fff8e6;
                  border-left: 4px solid #e8730c; font-size: 13px; }
.trq-print-warn strong { display: block; }
.trq-print-warn-actions { display: block; margin-top: 6px; }
.trq-print-warn-actions button + button { margin-left: 14px; }

/* Printer icon on the print bar, so the eye finds it. */
.trq-print-label svg,
.trq-print-label i { margin-right: 6px; vertical-align: -1px; }

/* Host-side "send this document" control, sitting under the flag that names
   what is missing. */
.trq-flag-actions { display: block; margin-top: 4px; font-size: 12px; }
/* A word, not a button. Themes style <button> heavily, so this resets rather
   than decorates. */
.trq-flags .trq-hostdoc,
.trq-flags .trq-hostdoc:hover,
.trq-flags .trq-hostdoc:focus {
    display: inline; margin: 0; padding: 0; border: 0; border-radius: 0;
    background: none; box-shadow: none; color: #1a5fb4; font: inherit;
    font-size: 12px; font-weight: 400; line-height: 1.3; text-transform: none;
    letter-spacing: normal; text-decoration: underline; cursor: pointer;
    width: auto; min-width: 0;
}
.trq-flags .trq-hostdoc:hover { color: #0d3f7d; }
.trq-flags .trq-hostdoc[disabled] { opacity: .4; cursor: default; text-decoration: none; }

/* Call name — hosts often know the dog by this and nothing else. */
.trq-callname { font-weight: 600; white-space: nowrap; }

/* ==================================================================
   SIGNED TRIAL RECORD — the judge's sheet, filed with the results
   ================================================================== */
.trq-records { margin: 20px 0; padding: 14px 16px; background: #f6f8fa;
               border-left: 4px solid #8a94a0; }
.trq-rec-title { margin: 0 0 6px; font-size: 14px; text-transform: uppercase;
                 letter-spacing: .04em; }
.trq-rec-intro { margin: 0 0 10px; font-size: 13px; line-height: 1.5; }
.trq-rec-none { margin: 0 0 10px; font-size: 13px; font-style: italic; color: #666; }
.trq-rec-list { margin: 0 0 10px; padding: 0; list-style: none; }
.trq-rec-list li { padding: 4px 0; font-size: 13px; border-top: 1px solid #e2e6ea; }
.trq-rec-list li:first-child { border-top: 0; }
.trq-rec-meta { margin-left: 8px; color: #666; font-size: 12px; }
.trq-rec-del { margin-left: 10px; font-size: 12px; }
.trq-rec-add { display: inline-flex; align-items: center; gap: 8px; font-size: 13px;
               font-weight: 600; }
.trq-rec-status { margin-left: 10px; font-size: 12px; }
.trq-rec-status.is-error { color: #b00020; font-weight: 600; }

/* ==================================================================
   DOG PAGE — quiet by design. Nothing here is urgent, so nothing is red.
   ================================================================== */
.trq-dogact { margin: 12px 0 0; font-size: 14px; }
.trq-dogact-items { margin: 0 0 10px; }
.trq-dogact-item { padding: 10px 0; border-top: 1px solid #e6e9ec; line-height: 1.5; }
.trq-dogact-item:first-child { border-top: 0; }
/* Red draws the eye without raising its voice — it is the only red on the
   page, and it sits above the explanation rather than beside it. */
.trq-dogact-kind { margin-bottom: 2px; font-weight: 700; font-size: 13px;
                   text-transform: uppercase; letter-spacing: .05em; color: #cc0000; }
.trq-dogact-msg { color: #333; }
.trq-dogact-item.is-review .trq-dogact-kind { color: #8a6d00; }
.trq-dogact-item.is-review .trq-dogact-msg { color: #6b4b00; }
.trq-dogact-do { margin-top: 6px; }
.trq-dogact-ok { margin: 0 0 10px; color: #2e7d32; }
.trq-dogact-retired { margin: 0 0 10px; padding: 8px 12px; background: #f4f6f8;
                      border-left: 4px solid #8a94a0; line-height: 1.5; }
.trq-dogact-links { margin: 12px 0 0; font-size: 13px; }
.trq-dogact-links div + div { margin-top: 4px; }

/* The action link: plain uppercase text on its own line. Themes style
   <button> heavily, so this resets rather than decorates. */
.trq-dogact .trq-dogact-up,
.trq-dogact .trq-dogact-up:hover,
.trq-dogact .trq-dogact-up:focus {
    display: inline; margin: 0; padding: 0; border: 0; border-radius: 0;
    background: none; box-shadow: none; color: #1a5fb4; font: inherit;
    font-size: 12px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .05em; text-decoration: underline; cursor: pointer;
    width: auto; min-width: 0;
}
.trq-dogact .trq-dogact-up:hover { color: #0d3f7d; }

.trq-dogact-panel { margin: 10px 0 0; padding: 12px 14px; background: #f6f8fa; }
.trq-dogact-panel p { margin: 0 0 8px; font-size: 13px; line-height: 1.5; }
.trq-dogact-fix-text { width: 100%; padding: 6px 8px; font: inherit; font-size: 13px; }
.trq-dogact-panel-actions { margin-top: 8px; display: flex; align-items: center; gap: 14px; }
.trq-dogact-status { display: inline-block; margin-top: 8px; font-size: 13px; }
.trq-dogact-status.is-error { color: #b00020; font-weight: 600; }

/* ==================================================================
   DATES & CHANGES
   ================================================================== */
.trq-dates-section { margin-top: 18px; }
.trq-dates-summary { padding: 12px 16px; background: #f2f5f8; cursor: pointer;
                     font-size: 14px; font-weight: 700; text-transform: uppercase;
                     letter-spacing: .04em; }
.trq-dates-body { padding: 14px 16px; }
.trq-dates-body h5 { margin: 16px 0 6px; font-size: 13px; text-transform: uppercase;
                     letter-spacing: .04em; color: #555; }
.trq-dates-body h5:first-child { margin-top: 0; }
.trq-dates-hint { margin: 0 0 8px; font-size: 13px; color: #555; line-height: 1.5; }
.trq-dates-remove { margin-left: 6px; font-size: 12px; }
.trq-dates-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
                 padding: 8px 0; border-top: 1px solid #e6e9ec; font-size: 14px; }
.trq-dates-row:first-child { border-top: 0; }
.trq-dates-when { font-weight: 700; min-width: 160px; }
.trq-dates-ent { font-size: 12px; color: #666; }
.trq-dates-input { padding: 5px 7px; font: inherit; font-size: 13px; }
.trq-dates-locked { font-size: 13px; color: #6b4b00; line-height: 1.45; }
.trq-dates-add { margin: 0 0 8px; display: flex; align-items: center; gap: 10px;
                 flex-wrap: wrap; }

.trq-ask-note { width: 100%; padding: 6px 8px; font: inherit; font-size: 13px; }
.trq-ask-actions { margin-top: 8px; display: flex; align-items: center; gap: 12px; }
.trq-ask-status { font-size: 13px; }
.trq-ask-status.is-error { color: #b00020; font-weight: 600; }

/* A day that moved under an entry that was already placed. */

/* Decoys, day first — the requirement is per day, so the summary is too. */
.trq-decoy-bydays { margin: 0 0 14px; padding: 0; list-style: none; font-size: 14px; }
.trq-decoy-bydays li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px;
                       padding: 6px 0; border-top: 1px solid #e6e9ec; }
.trq-decoy-bydays li:first-child { border-top: 0; }
.trq-decoy-day { min-width: 110px; font-weight: 700; }
.trq-decoy-who { flex: 1 1 auto; }
.trq-decoy-need { font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.trq-decoy-bydays li.is-short .trq-decoy-need { color: #cc0000; }
.trq-decoy-bydays li.is-short .trq-decoy-who { color: #cc0000; font-style: italic; }
.trq-decoy-bydays li.is-ok .trq-decoy-need { color: #2e7d32; }

/* Insurance review: what was actually submitted. */
.trq-rv-insdoc { margin: 8px 0; padding: 8px 12px; background: #f6f8fa; font-size: 13px; }
.trq-rv-insdoc p { margin: 0 0 4px; }
.trq-rv-sub { color: #666; font-size: 12px; }
.trq-rv-gap { color: #cc0000; }
.trq-rv-insbody { margin-top: 8px; }

/* Certificate already issued and a day added since — the loudest thing on the card. */
.trq-rv-certgap { margin: 8px 0 0; padding: 10px 12px; background: #cc0000; color: #fff;
                  font-weight: 700; border-left: 0; }

/* ==================================================================
   FEEDBACK TAB — fixed to the edge, always there, out of the way
   ================================================================== */
/* Vertical text via writing-mode rather than a rotate(): a rotated element
   keeps its unrotated box, so the tab was being positioned somewhere off the
   edge of the window and never appeared. */
.trq-fb { position: fixed; right: 0; top: 35%; z-index: 99998; }
/* Flat, with a thin light outline set off by a pixel — enough to read as
   separate from the page without being the only shadow on the site. */
.trq-fb-tab { display: block; writing-mode: vertical-rl; text-orientation: mixed;
              padding: 16px 9px; border: 1px solid #d6dade; border-right: 0;
              border-radius: 4px 0 0 4px; outline: 1px solid #fff; outline-offset: -2px;
              background: #cc0000; color: #fff; font: inherit; font-size: 12px;
              font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
              white-space: nowrap; cursor: pointer; box-shadow: none; }
.trq-fb-tab:hover { background: #a30000; }
.trq-fb.is-open .trq-fb-tab { display: none; }

.trq-fb-panel { position: fixed; right: 16px; bottom: 16px; z-index: 99999; width: 330px; max-width: calc(100vw - 32px);
                padding: 16px 18px; background: #fff; border: 1px solid #c9ced4;
                box-shadow: 0 2px 10px rgba(0,0,0,.10); font-size: 14px; }
.trq-fb-panel h4 { margin: 0 0 10px; font-size: 15px; }
.trq-fb-close { position: absolute; right: 8px; top: 6px; border: 0; background: none;
                font-size: 22px; line-height: 1; color: #666; cursor: pointer; }
.trq-fb-topic { display: block; width: 100%; margin-bottom: 6px; padding: 9px 12px;
                border: 1px solid #c9ced4; background: #f6f8fa; color: #222; font: inherit;
                font-size: 14px; text-align: left; cursor: pointer; }
.trq-fb-topic:hover { background: #e9eef3; border-color: #8a94a0; }
.trq-fb-hint { margin: 0 0 6px; font-size: 13px; font-weight: 600; }
.trq-fb-note { width: 100%; padding: 7px 8px; font: inherit; font-size: 13px; }
.trq-fb-small { margin: 6px 0 0; font-size: 11px; color: #777; }
.trq-fb-actions { margin-top: 10px; display: flex; align-items: center; gap: 14px; }
.trq-fb-status { margin: 10px 0 0; font-size: 13px; }
.trq-fb-status.is-error { color: #b00020; font-weight: 600; }

@media (max-width: 640px) {
    .trq-fb { top: auto; bottom: 0; right: 12px; }
    .trq-fb-tab { writing-mode: horizontal-tb; padding: 8px 14px;
                  border-radius: 4px 4px 0 0; }
}

/* Legend as a thin bar at the top of the panel. */
.trq-legend { margin: 0 0 14px; }
.trq-legend > summary { padding: 8px 14px; background: #eef2f6; font-size: 13px;
                        font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.trq-decoy-rec { margin: 0 0 12px; font-size: 12px; color: #666; }

/* ==================================================================
   SECRETARY DASHBOARD
   ================================================================== */
.trq-sec-title { margin: 0 0 18px; }
.trq-sec-block { margin-bottom: 28px; }
.trq-sec-block h3 { margin: 0 0 10px; font-size: 15px; text-transform: uppercase;
                    letter-spacing: .04em; }
.trq-sec-empty { margin: 0; color: #666; font-style: italic; }

/* Collapsed rows: what it is, which trial, where it stands. Pending stands
   out; everything settled recedes. */
.trq-sec-count { margin: 0 0 12px; font-size: 14px; }
.trq-sec-row { margin-bottom: 6px; border: 1px solid #e2e6ea; border-left-width: 4px; }
.trq-sec-row > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px;
                         padding: 10px 14px; cursor: pointer; font-size: 14px; }
.trq-sec-row.is-pending { border-left-color: #cc0000; background: #fff8f8; }
.trq-sec-row.is-done { border-left-color: #d6dade; background: #fafbfc; color: #777; }
.trq-sec-row.is-done > summary { color: #777; }
.trq-sec-kind { min-width: 160px; font-weight: 700; }
.trq-sec-row.is-pending .trq-sec-kind { color: #cc0000; }
.trq-sec-trial { flex: 1 1 auto; }
.trq-sec-away { font-size: 12px; color: #777; }
.trq-sec-pill { padding: 2px 10px; font-size: 11px; font-weight: 700; text-transform: uppercase;
                letter-spacing: .04em; background: #e6e9ec; color: #555; }
.trq-sec-row.is-pending .trq-sec-pill { background: #cc0000; color: #fff; }
.trq-sec-body { padding: 4px 14px 14px; color: #333; }

.trq-sec-conflicts { margin: 0 0 8px; padding-left: 18px; font-size: 13px; }
.trq-sec-reason { margin: 0 0 8px; line-height: 1.5; }
.trq-sec-decided { margin: 0 0 8px; font-size: 13px; color: #444; }
.trq-sec-note { color: #666; }
.trq-sec-links { margin: 0 0 10px; font-size: 13px; }

.trq-sec-act label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; }
.trq-sec-decnote { display: block; width: 100%; max-width: 520px; margin-top: 4px;
                   padding: 6px 8px; font: inherit; font-size: 13px; }
.trq-sec-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.trq-sec-msg { font-size: 13px; }
.trq-sec-msg.is-error { color: #b00020; font-weight: 600; }
.trq-sec-hint { margin: 8px 0 0; font-size: 12px; color: #666; line-height: 1.5; }

/* On hold — exception requested, not yet decided, not publicly listed. */
.trq-dash-badge-hold { background: #e8730c; color: #fff; }
.trq-dash-badge-hold.is-refused { background: #cc0000; }

/* ==================================================================
   ON HOLD — the box that says why, and how to get out of it
   ================================================================== */
.trq-hold { margin: 0 0 20px; padding: 18px 20px; border: 2px solid #e8730c;
            background: #fff8e6; }
.trq-hold-title { margin: 0 0 6px; font-size: 18px; color: #8a4a00; }
.trq-hold-lead { margin: 0 0 10px; font-size: 14px; line-height: 1.5; }
.trq-hold-conflicts { margin: 0 0 12px; padding-left: 20px; font-size: 13px; }
.trq-hold-ways { margin: 0 0 16px; padding-left: 20px; font-size: 14px; line-height: 1.7; }
.trq-hold-badge { display: inline-block; margin-left: 6px; padding: 1px 8px; font-size: 11px;
                  font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #fff; }
.trq-hold-badge.is-pending { background: #e8730c; }
.trq-hold-badge.is-denied  { background: #cc0000; }
.trq-hold-note { font-size: 13px; color: #555; font-style: italic; }

.trq-hold-tools { display: flex; flex-wrap: wrap; gap: 18px; }
.trq-hold-tool { flex: 1 1 260px; padding: 12px 14px; background: #fff; border: 1px solid #e6d9c0; }
.trq-hold-tool h4 { margin: 0 0 6px; font-size: 13px; text-transform: uppercase;
                    letter-spacing: .04em; }
.trq-hold-tool p { margin: 0 0 10px; font-size: 13px; line-height: 1.5; }
.trq-hold-tool.is-last { border-color: #f0d6d6; }
.trq-hold-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.trq-hold-date { padding: 6px 8px; font: inherit; font-size: 13px; }
.trq-hold-status { margin: 12px 0 0; font-size: 13px; }
.trq-hold-status.is-error { color: #b00020; font-weight: 600; }
.trq-sec-preview { margin: 6px 0 0; padding: 10px 12px; background: #f6f8fa; font-size: 12px;
                   white-space: pre-wrap; overflow-x: auto; }
.trq-sec-aud { margin: 14px 0 6px; padding: 6px 10px; background: #eef2f6; font-size: 12px;
               letter-spacing: .03em; }

/* Message entrants & officials, and the record of what went. */
.trq-msg-section { margin-top: 14px; }
.trq-msg-who, .trq-msg-lab { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 600; }
.trq-msg-audience { display: block; margin-top: 4px; padding: 5px 7px; min-width: 260px; }
.trq-msg-subject { display: block; width: 100%; margin-top: 4px; padding: 6px 8px;
                   font: inherit; font-size: 14px; }
.trq-msg-body { display: block; width: 100%; margin-top: 4px; padding: 8px;
                font: inherit; font-size: 14px; }
.trq-msg-status { font-size: 13px; }
.trq-msg-status.is-error { color: #b00020; font-weight: 600; }

.trq-msg-log { margin: 6px 0 0; padding: 0; list-style: none; font-size: 13px; }
.trq-msg-log li { padding: 6px 0; border-top: 1px solid #e6e9ec; }
.trq-msg-when { color: #777; font-size: 12px; margin-right: 10px; }
.trq-msg-subj { font-weight: 600; }
.trq-msg-to { margin-left: 10px; color: #666; font-size: 12px; }
.trq-msg-detail { margin-top: 4px; }
.trq-msg-detail summary { font-size: 12px; color: #1a5fb4; cursor: pointer; }
.trq-msg-rcpt { margin: 6px 0; font-size: 12px; color: #555; word-break: break-all; }
.trq-msg-detail pre { padding: 10px 12px; background: #f6f8fa; font-size: 12px;
                      white-space: pre-wrap; }
/* Said at the point of the decision: the entrant hears about this. */
.trq-modal-note { margin: 8px 0 0; padding: 7px 10px; background: #eef2f6; font-size: 13px; }
.trq-cancel-lab { display: block; margin: 8px 0; font-size: 13px; font-weight: 600; }
.trq-cancel-note { display: block; width: 100%; margin-top: 4px; padding: 6px 8px;
                   font: inherit; font-size: 13px; }

/* Asking USMRA is a different kind of act from the controls above it. */
.trq-ask-block { margin-top: 22px; padding: 16px 18px; background: #eef2f6;
                 border-left: 4px solid #1a5fb4; }
.trq-ask-block h5 { margin-top: 0; }
.trq-dates-body > h5 { padding-top: 14px; border-top: 1px solid #e6e9ec; }
.trq-dates-body > h5:first-child { padding-top: 0; border-top: 0; }

/* Below the entries: reference and tools, on their own ground. */
.trq-entries-foot { margin-top: 28px; padding: 20px 22px; background: #f2f4f6;
                    border-top: 1px solid #e2e6ea; }
.trq-entries-foot .trq-legend { margin-bottom: 12px; }
.trq-entries-foot .trq-legend > summary,
.trq-entries-foot .trq-dates-summary { background: #fff; border: 1px solid #e2e6ea; }
.trq-entries-foot .trq-msg-section { margin-top: 0; }

/* Secretary: rescue before cancellation. */
.trq-sec-rescue { margin: 10px 0; padding: 12px 14px; background: #f0f6f0;
                  border-left: 4px solid #2e7d32; font-size: 13px; }
.trq-sec-rescue p { margin: 0 0 8px; }
.trq-sec-rescue p:last-child { margin-bottom: 0; }
.trq-sec-danger { padding: 7px 14px; border: 1px solid #cc0000; background: #fff;
                  color: #cc0000; font: inherit; font-size: 13px; font-weight: 700;
                  cursor: pointer; }
.trq-sec-danger:hover { background: #cc0000; color: #fff; }
.trq-sec-act textarea.trq-sec-decnote { width: 100%; max-width: 520px; }
.trq-msg-nomail { margin: 0 0 12px; padding: 9px 12px; background: #fff8e6;
                  border-left: 4px solid #e8730c; font-size: 13px; line-height: 1.5; }

/* ==================================================================
   ALL UPCOMING TRIALS — the status board
   A squared-away trial should be readable at a glance; anything with work
   left carries its list underneath.
   ================================================================== */
.trq-all-row { margin-bottom: 6px; padding: 10px 14px; border: 1px solid #e2e6ea;
               border-left-width: 4px; font-size: 14px; background: #fff; }
.trq-all-row.is-open    { border-left-color: #2e7d32; }
.trq-all-row.is-pending { border-left-color: #e8730c; }
.trq-all-row.is-hold    { border-left-color: #cc0000; background: #fff8f8; }
.trq-all-row.is-none    { border-left-color: #c9ced4; background: #fafbfc; }

/* Dates left, status right, club on its own line beneath. Club names are too
   long to hold in a column in a half-width container. */
.trq-all-head { display: flex; justify-content: space-between; align-items: baseline;
                gap: 12px; }
.trq-all-when { font-weight: 700; white-space: nowrap; }
.trq-all-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
                justify-content: flex-end; }
.trq-all-club { margin-top: 2px; color: #444; }
.trq-all-away, .trq-all-ent { font-size: 12px; color: #777; white-space: nowrap; }
.trq-all-state { display: inline-block; padding: 2px 10px; font-size: 11px; font-weight: 700;
                 text-transform: uppercase; letter-spacing: .04em; background: #e6e9ec;
                 color: #555; white-space: nowrap; }
.trq-all-link { white-space: nowrap; }
.trq-all-row.is-open .trq-all-state    { background: #2e7d32; color: #fff; }
.trq-all-row.is-pending .trq-all-state { background: #e8730c; color: #fff; }
.trq-all-row.is-hold .trq-all-state    { background: #cc0000; color: #fff; }
.trq-all-link { font-size: 12px; }

.trq-all-issues { margin: 8px 0 0; padding-left: 20px; font-size: 13px; color: #444; }
.trq-all-issues li { padding: 1px 0; }

/* ==================================================================
   INTERNATIONAL REQUESTS — summary first, the rest behind "details"
   ================================================================== */
.trq-intl-fold { border: 1px solid #e2e6ea; border-left-width: 4px; background: #fff; }
.trq-intl-item.is-approved .trq-intl-fold { border-left-color: #2e7d32; }
.trq-intl-item.is-denied   .trq-intl-fold { border-left-color: #8a94a0; background: #fafbfc; }
.trq-intl-item:not(.is-approved):not(.is-denied) .trq-intl-fold {
    border-left-color: #cc0000; background: #fff8f8; }

.trq-intl-sum { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 14px;
                padding: 12px 16px; cursor: pointer; font-size: 14px; }
.trq-intl-who { flex: 1 1 auto; line-height: 1.45; }
.trq-intl-for { color: #555; font-size: 13px; }
.trq-intl-right { display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
                  text-align: right; }
.trq-intl-pill { padding: 2px 10px; font-size: 11px; font-weight: 700; text-transform: uppercase;
                 letter-spacing: .04em; background: #e6e9ec; color: #555; }
.trq-intl-item.is-approved .trq-intl-pill { background: #2e7d32; color: #fff; }
.trq-intl-item.is-denied   .trq-intl-pill { background: #8a94a0; color: #fff; }
.trq-intl-item:not(.is-approved):not(.is-denied) .trq-intl-pill { background: #cc0000; color: #fff; }
.trq-intl-more { font-size: 12px; color: #1a5fb4; }
.trq-intl-fold[open] .trq-intl-more::after { content: ' \25B4'; }
.trq-intl-fold:not([open]) .trq-intl-more::after { content: ' \25BE'; }
.trq-intl-body { padding: 0 16px 16px; }
.trq-review-list .trq-intl-item { list-style: none; margin-bottom: 8px; }

/* ---- Decoy certification request (v1.64.0-dev) ---- */
.trq-cert-intro,
.trq-cert-note { margin: .4rem 0 .8rem; line-height: 1.45; }
.trq-cert-hint { font-size: .85em; opacity: .75; margin: .2rem 0 .6rem; }
.trq-cert-h4 { margin: 1.2rem 0 .2rem; font-size: 1em; }
.trq-cert-card { padding: .2rem 0 .6rem; }
.trq-cert-dogrow { position: relative; align-items: end; }
.trq-cert-deldog {
    background: none; border: 0; cursor: pointer;
    font-size: 1.3em; line-height: 1; padding: 0 .3rem; opacity: .55;
}
.trq-cert-deldog:hover { opacity: 1; }
.trq-cert-agree { margin: 1rem 0; }
.trq-cert-agree > label { display: block; margin-bottom: .6rem; line-height: 1.45; }
.trq-cert-msg { margin-top: .6rem; min-height: 1.2em; }
.trq-cert-msg.is-error { color: #b32d2e; }
.trq-cert-dogrow .trq-ac { position: relative; display: block; }
.trq-cert-dogrow .trq-ac-list {
    position: absolute; z-index: 40; left: 0; right: 0; top: 100%;
    background: #fff; border: 1px solid #ccd0d4; max-height: 12rem; overflow: auto;
}
.trq-cert-dogrow .trq-ac-list:empty { border: 0; }
.trq-cert-dogrow .trq-ac-opt { padding: .35rem .5rem; cursor: pointer; }
.trq-cert-dogrow .trq-ac-opt:hover { background: #f0f4f8; }
.trq-cert-dogrow .trq-ac-none { padding: .35rem .5rem; opacity: .6; }
.trq-cd-known {
    display: inline-block; padding: .35rem .1rem; font-family: monospace;
    letter-spacing: .02em; opacity: .8;
}
.trq-cert-notes-wrap { display: block; margin: 1rem 0 .2rem; }
.trq-cert-notes-wrap textarea { width: 100%; }

/* Dormant section: offered, never used. Grey rather than purple so it does
   not read as one more thing to deal with. Turns purple the moment it holds
   something. */
.trq-cl-state-dormant .trq-cl-title { color:#8C8F94; }
.trq-cl-state-dormant .trq-cl-title:hover { color:#990099; }

/* ---- Decoy certification review (v1.66.0-dev) ---- */
.trq-cert-review { margin-bottom: 28px; }
.trq-certrv-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 8px 0 14px; }
.trq-certrv-dl dt { font-weight: 700; color: #54595F; }
.trq-certrv-dl dd { margin: 0; }
.trq-certrv-h { font-weight: 700; color: #54595F; margin: 12px 0 4px; }
.trq-certrv-dogs { margin: 0 0 12px 18px; }
.trq-certrv-actions { margin-top: 14px; }
.trq-certrv-reason { display: block; margin-bottom: 10px; }
.trq-certrv-reason textarea { width: 100%; }
.trq-certrv-edit { display: grid; gap: 10px; margin: 6px 0 16px; }
.trq-certrv-edit label { display: block; }
.trq-certrv-edit select, .trq-certrv-edit input { width: 100%; max-width: 420px; }
.trq-certrv-orig { font-size: .9em; opacity: .75; margin: 2px 0 8px; }

/* ---- Public certification list (v1.67.0-dev) ---- */
.trq-certlist { display: grid; gap: 22px; }
.trq-certlist .trq-cert-card {
    border: 1px solid #ddd; border-left: 4px solid #990099;
    padding: 18px 20px; background: #fff;
}
/* a card linked to from a trial page: make it obvious which one */
.trq-certlist .trq-cert-card:target { box-shadow: 0 0 0 3px rgba(153,0,153,.18); }
.trq-cert-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; justify-content: space-between; }
.trq-cert-when { margin: 0; font-size: 19px; }
.trq-cert-apps {
    font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
    padding: 3px 9px; background: #eee; color: #666;
}
.trq-cert-apps.is-open { background: #E6F4EA; color: #1E7B34; }
.trq-cert-host { margin: 6px 0 2px; }
.trq-cert-with { margin: 0 0 10px; font-size: 14px; opacity: .8; }
.trq-cert-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 10px 0 14px; }
.trq-cert-dl dt { font-weight: 700; color: #54595F; }
.trq-cert-dl dd { margin: 0; }
.trq-cert-applybox { border-top: 1px solid #eee; padding-top: 12px; }
.trq-cert-elig { margin: 0 0 6px; font-weight: 600; }
.trq-cert-opts { margin: 0 0 8px 18px; }
.trq-cert-applynote { margin: 0; font-size: 14px; opacity: .8; }
.trq-certlist-empty { opacity: .8; }
.trq-cert-notice { margin: 12px 0; }
.trq-cert-pause { margin: 0 0 18px; padding: 10px 12px; background: #F6F6F6; border: 1px solid #e2e2e2; }
.trq-cert-pause.is-paused { background: #FFF6E5; border-color: #FFCC80; }
.trq-cert-pause label { font-weight: 700; }
.trq-cert-pause-note { display: block; font-size: 13px; opacity: .8; margin-top: 4px; }
.trq-cert-pause-msg { display: block; font-size: 13px; margin-top: 4px; }

/* ---- Candidate application (v1.68.0-dev) ---- */
.trq-capp { margin-top: 14px; }
.trq-capp-you { margin: 0 0 2px; }
.trq-capp-fs { border: 1px solid #e4e4e4; padding: 12px 14px; margin: 0 0 16px; }
.trq-capp-fs legend { font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; padding: 0 6px; }
.trq-capp-radio { display: block; margin-bottom: 4px; }
.trq-capp-w { display: block; margin: 0 0 14px; }
.trq-capp-w input[type=text] { width: 100%; max-width: 460px; display: block; }
.trq-capp-dogs { margin-bottom: 8px; }
.trq-capp-msg { display: block; margin-top: 8px; }
.trq-capp-msg.is-error { color: #b32d2e; }

/* ---- Applicant list (v1.69.0-dev) ---- */
.trq-capps { list-style: none; margin: 8px 0 0; padding: 0; }
.trq-capp-row { border: 1px solid #e4e4e4; border-left: 4px solid #bbb; padding: 12px 14px; margin-bottom: 12px; }
.trq-capp-row.is-pending { border-left-color: #FF9900; }
.trq-capp-row.is-approved { border-left-color: #1E7B34; }
.trq-capp-row.is-declined { border-left-color: #CC0000; }
.trq-capp-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.trq-capp-mn, .trq-capp-club { font-size: 13px; opacity: .75; }
.trq-capp-status { margin-left: auto; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.trq-capp-for { margin: 4px 0; }
.trq-capp-dogs-list { margin: 4px 0 4px 18px; }
.trq-capp-dl { display: grid; grid-template-columns: auto 1fr; gap: 3px 14px; margin: 8px 0; font-size: 14px; }
.trq-capp-dl dt { font-weight: 700; color: #54595F; }
.trq-capp-dl dd { margin: 0; }
.trq-capp-docs { margin: 6px 0; }
.trq-capp-doc { display: inline-block; margin-right: 12px; font-weight: 600; }
.trq-capp-reason { font-size: 14px; opacity: .85; }
.trq-capp-actions { margin-top: 10px; }
.trq-capp-actions label { display: block; margin-bottom: 8px; }
.trq-capp-actions textarea { width: 100%; max-width: 460px; }
.trq-capps-empty { opacity: .75; }

/* Applicants nest inside a certification, and fold the same way it does, so
   pending / accepted / declined read identically at both levels. */
.trq-capps { margin: 8px 0 0; padding: 0; }
.trq-capps .trq-intl-item { margin-bottom: 8px; }
.trq-capps .trq-intl-sum { padding: 10px 14px; }
.trq-capps .trq-intl-body { padding: 0 14px 14px; }

/* Applicants are a sibling of the certification fold, not a child of it. */
.trq-certrv-apps { margin: 10px 0 0 16px; }
.trq-certrv-subline { font-weight: 400 !important; }
.trq-certrv-subname.is-hidden { display: none; }

/* ---- Automated email settings (v1.70.0-dev) ---- */
.trq-sec-emailset { border: 1px solid #e2e2e2; background: #fafafa; padding: 14px 16px; margin-bottom: 22px; }
.trq-emailset-row { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 14px; }
.trq-emailset-row:last-of-type { margin-bottom: 0; }
.trq-emailset-row input { margin-top: 4px; }
.trq-emailset-note { display: block; font-size: 13px; opacity: .8; margin-top: 3px; line-height: 1.5; }
.trq-emailset-msg { display: block; font-size: 13px; margin-top: 10px; }
.trq-relindex-tbl { margin-top: 10px; font-size: 13px; border-collapse: collapse; }
.trq-relindex-tbl td { padding: 2px 14px 2px 0; }
.trq-relindex-msg { display: block; font-size: 13px; margin-top: 8px; }
.trq-cron-msg { display: block; font-size: 13px; margin-top: 8px; }
.trq-ins-attempts { margin: 4px 0 12px 18px; font-size: 13px; font-family: monospace; }
