/* Opt-in rules reference and Officer review. No global or profile overrides. */
.sv-pilot [hidden] { display:none!important; }
.sv-pilot .page-shell { padding:24px var(--site-gutter) 48px; }
.sv-pilot .page-heading { margin-bottom:20px; }
.sv-pilot h1 { font-size:clamp(26px,3vw,34px); margin:8px 0; }
.sv-pilot h2 { font-size:20px; border-left:3px solid var(--accent); padding-left:12px; margin:0 0 16px; }
.sv-pilot .table-panel { background:transparent; border:0; box-shadow:none; padding:0; margin:0 0 24px; overflow:visible; min-width:0; }
.sv-pilot .button { min-height:40px; width:auto; padding:9px 12px; background:#285e99; border-color:#285e99; color:white; }
.sv-pilot .button:hover { background:#316faa; border-color:#316faa; }
.sv-pilot .button.secondary { background:var(--surface-alt); border-color:#647896; color:var(--text); }
.sv-pilot :focus-visible { outline:2px solid var(--text); outline-offset:3px; }
.sv-pilot .profile-table-toolbar { position:relative; margin-bottom:12px; z-index:5; }
.sv-pilot .profile-column-menu { position:absolute; z-index:20; top:auto; left:0; width:min(440px,100%); max-width:100%; overflow:auto; padding:16px; border:1px solid #647896; border-radius:8px; background:var(--surface); box-shadow:var(--shadow-soft); }
.sv-pilot .profile-column-menu.opens-above { transform:translateY(calc(-100% - 44px)); }
.sv-pilot .profile-column-menu fieldset { border:0; margin:0; padding:0; }
.sv-pilot .profile-column-menu legend { margin-bottom:8px; }
.sv-pilot [data-column-options] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; margin-bottom:12px; }
.sv-pilot [data-column-options] label { display:flex; align-items:center; gap:8px; font-size:13px; min-height:32px; overflow-wrap:anywhere; }
.sv-pilot [data-column-options] input { width:auto; flex-shrink:0; }
.sv-pilot .sortable-table { width:max-content; min-width:100%; table-layout:auto; }
.sv-pilot .sortable-table :is(th,td,th button) { font-family:var(--font-body); }
.sv-pilot :is(th,td) { padding:10px 12px; font-size:14px; white-space:nowrap; overflow-wrap:normal; }
.sv-pilot th { position:sticky; top:0; z-index:2; background:var(--surface-alt); }
.sv-pilot th,.sv-pilot th button { text-transform:none; letter-spacing:normal; font-weight:600; }
.sv-pilot td { background:transparent; border-bottom:1px solid #23334a; }
.sv-pilot .profile-mobile-nav { display:none; }
.sv-pilot summary { display:inline-flex; align-items:center; gap:12px; min-height:40px; padding:9px 12px; border:1px solid #647896; border-radius:6px; background:var(--surface-alt); cursor:pointer; list-style:none; font-size:14px; }
.sv-pilot summary::-webkit-details-marker { display:none; }
.sv-pilot summary::after { content:'+'; }
.sv-pilot details[open] > summary::after { content:'\2212'; }
@media(max-width:760px) {
  .sv-pilot .page-shell { padding-top:16px; }
  .sv-pilot .profile-desktop-nav { display:none; }
  .sv-pilot .profile-mobile-nav { display:block; position:relative; }
  .sv-pilot .site-header .header-inner { display:flex; flex-direction:row; align-items:center; flex-wrap:nowrap; gap:12px; padding:10px var(--site-gutter); }
  .sv-pilot .site-header .guild-name { font-size:15px; min-width:0; }
  .sv-pilot .brand-mark { width:32px; height:32px; flex-shrink:0; }
  .sv-pilot .profile-mobile-nav summary { min-height:44px; white-space:nowrap; }
  .sv-pilot .profile-mobile-nav nav { position:absolute; right:0; top:100%; width:240px; display:flex; flex-direction:column; align-items:stretch; padding:12px; border:1px solid var(--border); border-radius:8px; background:var(--surface); box-shadow:var(--shadow-soft); z-index:30; }
}
@media(max-width:480px) { .sv-pilot [data-column-options] { grid-template-columns:1fr; } }

.sv-pilot .sv-tabs { display:flex; gap:24px; margin:0 0 20px; border-bottom:1px solid #2b3d57; overflow-x:auto; }
.sv-pilot .sv-tabs a { padding:12px 0; white-space:nowrap; color:var(--text-secondary); border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; box-shadow:none; }
.sv-pilot .sv-tabs a[aria-current] { color:var(--text); border-color:var(--accent); }
.sv-pilot .official-filter-form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; padding:16px; border:1px solid #2b3d57; border-radius:8px; background:var(--surface); }
.sv-pilot .official-filter-form > label { flex:0 1 auto; min-width:0; max-width:100%; }
.sv-pilot .official-filter-form :is(input,select) { min-width:0; max-width:100%; }
.sv-pilot .official-filter-actions { display:flex; gap:8px; flex-wrap:wrap; }
.sv-pilot .official-filter-form .profile-table-toolbar { margin:0; }
.sv-pilot .profile-column-menu { width: min(360px,calc(100vw - 64px)); max-width:none; }
.sv-pilot .profile-table-toolbar { width:fit-content; max-width:100%; }
.sv-pilot .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0 20px; padding:0; }
.sv-pilot .stat-card { padding:18px 20px; min-height:0; box-shadow:none; border-color:#2b3d57; }
.sv-pilot .stat-card strong { font-size:24px; white-space:nowrap; }
.sv-pilot .settings-help { font:13px/1.6 var(--font-label); color:var(--text-secondary); margin:8px 0; }
.sv-pilot .admin-member-report-heading { display:block; margin:12px 0; padding:0; }
.sv-pilot .admin-member-report-heading h2 { padding:0 0 0 12px; margin:8px 0; }
.sv-pilot .admin-member-report-heading p { font:13px/1.6 var(--font-label); color:var(--text-secondary); }
.sv-pilot .table-scroll { position:relative; max-width:100%; max-height:70vh; overflow:auto; border-radius:8px; }
.sv-pilot table { width:max-content; min-width:100%; table-layout:auto; }
.sv-pilot.review-typography table :is(th,td,th button) { font-family:var(--font-body); font-size:14px; }
.sv-pilot table td:first-child { white-space:normal; min-width:150px; max-width:280px; overflow-wrap:anywhere; }
.sv-pilot .status-pill { display:inline-block; white-space:normal; max-width:220px; padding:4px 8px; border:1px solid #647896; border-radius:999px; }
.sv-pilot :is(h1,h2,p) { overflow-wrap:anywhere; }
@media(max-width:760px) {
  .sv-pilot .stats-grid { grid-template-columns:1fr; }
  .sv-pilot .button,.sv-pilot .profile-mobile-nav nav a { min-height:44px; }
  .sv-pilot .stat-card { padding:16px; }
  .sv-pilot .official-filter-form > label { flex:1 1 180px; }
  .sv-pilot .official-filter-form :is(select,input:not([type=checkbox])) { width:100%; }
}

.sv-pilot .sv-jump-links { display:flex; gap:12px 20px; flex-wrap:wrap; margin:0 0 24px; }
.sv-pilot .sv-note { font:13px/1.5 var(--font-label); color:var(--text-secondary); margin:10px 0; }
.sv-pilot .correction-summary { grid-template-columns:repeat(4,minmax(0,1fr)); margin:8px 0 20px; }
.sv-pilot .stat-card { padding:14px 16px; }
.sv-pilot .section-heading-row { margin:12px 0; }
.sv-pilot .section-heading-row h2 { margin-bottom:8px; }
.sv-pilot .section-heading-row p { margin:0; }
.sv-pilot .table-wrap { position:relative; overflow:auto; max-height:70vh; max-width:100%; border-radius:8px; }
.sv-pilot .official-records-table th { width:auto; }
.sv-pilot .official-records-table td { min-width:0; max-width:none; }
.sv-pilot .official-records-table .record-row > td:first-child { white-space:nowrap; }
.sv-pilot .official-records-table td:nth-child(3),
.sv-pilot .official-records-table td:nth-child(4) { white-space:normal; min-width:150px; max-width:240px; overflow-wrap:anywhere; }
.sv-pilot .record-player { min-width:0; }
.sv-pilot .record-edit-row td { white-space:normal; }
.sv-pilot .record-edit-grid { width:min(1100px,calc(100vw - 80px)); max-width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); box-shadow:none; margin-top:8px; }
.sv-pilot .record-edit-grid :is(section,div,pre,textarea,form) { min-width:0; max-width:100%; }
.sv-pilot .record-notes { white-space:pre-wrap; overflow-wrap:anywhere; }
.sv-pilot .record-edit-grid .button { justify-self:start; }
.sv-pilot .sv-inline-editor summary { white-space:normal; }
.sv-pilot .sv-editor-body { padding:16px; background:var(--surface-alt); border:1px solid #2b3d57; border-radius:8px; }
.sv-pilot .sv-threshold-form { max-width:720px; white-space:normal; }
.sv-pilot .threshold-field { display:grid; gap:6px; min-width:0; }
.sv-pilot .threshold-field input { width:100%; max-width:260px; }
.sv-pilot .threshold-field small { font:13px/1.5 var(--font-label); }
.sv-pilot .sv-editor-actions { display:flex; flex-wrap:wrap; gap:8px; }
.sv-pilot .sv-details { margin:16px 0; }
.sv-pilot .star-chart-cell-unavailable { color:#a8b0bf; }
.sv-pilot :is(#sv-star-chart, #sv-violation-chart) th { white-space:pre-line; min-width:100px; max-width:160px; }
.sv-pilot :is(#sv-star-chart, #sv-violation-chart) td:not(:first-child) { text-align:center; }
.sv-pilot :is(#sv-star-chart, #sv-violation-chart) th:first-child { min-width:180px; }
.sv-pilot .sv-matrix-system { margin:24px 0; }
.sv-pilot .sv-matrix-wrap { overflow:auto; border-color:#23334a; }
.sv-pilot .sv-rules-matrix { display:table; width:100%; min-width:0; }
.sv-pilot .sv-rules-matrix thead { display:table-header-group; }
.sv-pilot .sv-rules-matrix tbody { display:table-row-group; }
.sv-pilot .sv-rules-matrix tr { display:table-row; background:transparent; }
.sv-pilot .sv-rules-matrix :is(th,td) { width:auto; display:table-cell; white-space:normal; overflow-wrap:normal; padding:10px 12px; min-width:0; max-width:none; }
.sv-pilot .sv-rules-matrix .button { white-space:nowrap; }
.sv-pilot .sv-rules-matrix td::before { display:none; }
.sv-pilot .sv-rules-matrix td:nth-child(2) { width:22%; }
.sv-pilot .sv-rules-matrix .sv-description-cell { width:40%; }
.sv-pilot .sv-rules-matrix td > strong { font-size:14px; }
.sv-pilot .sv-rules-matrix .sv-threshold-cell > strong { font-size:16px!important; }
.sv-pilot .sv-rules-matrix .sv-outcome-badge { white-space:nowrap; gap:5px; font-size:14px; }
.sv-pilot .sv-checkpoint-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sv-pilot .sv-checkpoint-strip li { padding:10px 12px; }
@media(max-width:760px) {
  .sv-pilot .correction-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sv-pilot .correction-summary .stat-card span { font-size:12px; }
  .sv-pilot .record-edit-grid { grid-template-columns:1fr; }
  .sv-pilot .sv-checkpoint-strip { grid-template-columns:1fr; }
  .sv-pilot .sv-rules-matrix,
  .sv-pilot .sv-rules-matrix tbody,
  .sv-pilot .sv-rules-matrix tr,
  .sv-pilot .sv-rules-matrix td { display:block; width:100%!important; }
  .sv-pilot .sv-rules-matrix thead { display:none; }
  .sv-pilot .sv-rules-matrix tr { padding:12px; border-top:1px solid #2b3d57; }
  .sv-pilot .sv-rules-matrix tr:first-child { border-top:0; }
  .sv-pilot .sv-rules-matrix td { border:0; padding:5px 0; }
  .sv-pilot .sv-rules-matrix td[data-label]::before { display:block; content:attr(data-label); font:12px/1.5 var(--font-label); color:var(--text-secondary); text-transform:none; }
  .sv-pilot .sv-rules-matrix td[data-label="Outcome"]::before { display:none; }
  .sv-pilot .sv-editor-body { padding:12px; }
}

.sv-pilot .star-chart-cell-violation { color: #ffad46; }

/* Public archived chart gallery. */
.sv-pilot .sv-tabs a[aria-selected="true"] { color:var(--text); border-color:var(--accent); }
.sv-pilot [data-tab-panel][hidden] { display:none; }
.sv-pilot .sv-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),280px)); gap:20px; }
.sv-pilot .sv-gallery-card { min-width:0; padding:16px; background:var(--surface-alt); border:1px solid #2b3d57; border-radius:8px; }
.sv-pilot .sv-gallery-preview { display:block; overflow:hidden; border-radius:4px; }
.sv-pilot .sv-gallery-card img { display:block; width:100%; height:180px; object-fit:cover; object-position:top; }
.sv-pilot .sv-gallery-details { margin:12px 0; }
.sv-pilot .sv-gallery-caption { white-space:pre-wrap; overflow-wrap:anywhere; }
.sv-pilot .sv-gallery-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin:20px 0; }
