/* Management shares the public site's type, colors and controls. */
.manage-page .header-inner {gap:24px;}
.manage-page .header-controls {margin-left:auto;}
.manage-page .manage-home {display:inline-flex;gap:14px;margin-left:8px;min-height:46px;padding:10px 20px;border:1px solid var(--line);white-space:nowrap;color:var(--text);}
.manage-page .manage-theme {padding:0;flex-shrink:0;}
.manage-main {padding-block:64px 100px;}
.manage-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:28px;}
.manage-main h1 {font-size:clamp(2.5rem,4.6vw,4.6rem);font-weight:500;letter-spacing:-.055em;line-height:1.3;margin:23px 0 20px;}
.manage-intro {max-width:640px;font-size:1.0625rem;line-height:1.8;}
.manage-logout {margin-top:0;flex-shrink:0;}
#manage-status {margin-top:20px;min-height:1.75em;font-size:.9375rem;}
.manage-loading {margin-block:24px;max-width:640px;}
.manage-retry {margin-block:4px 24px;border:1px solid var(--line);}
.manage-progress {display:block;width:100%;max-width:440px;height:3px;margin-block:8px 16px;border:0;border-radius:100px;overflow:hidden;background:var(--line);color:var(--accent);accent-color:var(--accent);}
.manage-progress::-webkit-progress-bar {background:var(--line);border-radius:100px;}
.manage-progress::-webkit-progress-value {background:var(--accent);border-radius:100px;}
.manage-progress::-moz-progress-bar {background:var(--accent);border-radius:100px;}
.manage-progress:indeterminate {background:linear-gradient(90deg,var(--line) 0 30%,var(--accent) 45% 55%,var(--line) 70% 100%);background-size:250% 100%;animation:manage-progress 1.4s ease-in-out infinite;}
.manage-progress:indeterminate::-webkit-progress-bar {background:transparent;}
.manage-progress:indeterminate::-moz-progress-bar {background:transparent;}
.manage-page button:disabled,.manage-page input:disabled,.manage-page select:disabled,.manage-page textarea:disabled {cursor:wait;}
.manage-page button:disabled {opacity:.55;}
.editor-feedback {scroll-margin-top:120px;}
#editor-status {font-size:.875rem;line-height:1.75;min-height:1.75em;}
.photo-upload-progress {margin-block:10px 0;}
@keyframes manage-progress {from {background-position:100% 0;}to {background-position:0 0;}}
.owner-signin {padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-top:24px;}
.owner-signin > p {font-size:1rem;color:var(--muted);}
.manage-account {margin-block:12px 36px;}
.password-settings {padding-block:14px;border-top:0;}
.password-settings summary {font-size:.9375rem;color:var(--muted);}
.manage-workspace {grid-template-columns:minmax(240px,310px) minmax(0,1fr);gap:clamp(28px,4vw,64px);margin-top:24px;align-items:start;}
.manage-sidebar {min-width:0;position:sticky;top:128px;}
.manage-kind-switch {display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:100px;}
.manage-kind-switch button {display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 14px;border:0;border-radius:100px;background:transparent;color:var(--muted);font-size:1rem;transition:background-color 160ms ease,color 160ms ease;}
.manage-kind-switch button[aria-pressed="true"] {background:var(--button-bg);color:var(--button-text);}
.manage-kind-count {font-size:.75rem;font-variant-numeric:tabular-nums;opacity:.72;}
.manage-race-tools {margin-top:28px;}
.manage-category-label {display:block;color:var(--muted);font-size:.8125rem;margin-bottom:10px;}
#manage-category-filter {width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:1rem;}
.manage-new {margin-top:16px;}
.manage-new .button {width:100%;justify-content:space-between;gap:12px;}
.managed-list-summary {margin:26px 0 14px;font-size:.8125rem;line-height:1.6;color:var(--muted);font-variant-numeric:tabular-nums;}
.managed-entries {max-height:calc(100svh - 414px);min-height:100px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 7px 0 0;}
.managed-entry {padding:20px 14px;border-top:1px solid var(--line);border-left:2px solid transparent;transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease;border-radius:0 10px 10px 0;}
.managed-entry strong {font-weight:500;font-size:1rem;line-height:1.65;}
.managed-entry.is-active {background:var(--surface);border-left-color:var(--accent);}
.managed-entry .managed-entry-meta {font-size:.75rem;margin-top:8px;line-height:1.6;font-variant-numeric:tabular-nums;color:var(--muted);}
.managed-entry .managed-entry-state {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;}
.managed-entry .publication-tag {display:inline-flex;margin:0;font-size:.6875rem;line-height:1.4;padding:4px 8px;border:1px solid var(--line);border-radius:100px;color:var(--muted);}
.managed-entry .publication-tag.is-published {color:var(--text);}
.managed-entry .managed-entry-pending {margin:0;font-size:.6875rem;line-height:1.5;color:var(--quiet);}
.managed-list-empty {padding:24px 14px;border-top:1px solid var(--line);}
.manage-editing {min-width:0;}
.editor-empty {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:360px;padding:clamp(28px,5vw,72px);border:1px solid var(--line);border-radius:18px;background:var(--surface);}
.editor-empty-mark {font-weight:300;font-size:2.5rem;line-height:1;color:var(--quiet);margin-bottom:32px;}
.editor-empty h2 {font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.4;font-weight:500;}
.editor-empty p {max-width:380px;font-size:1rem;line-height:1.8;color:var(--muted);margin-top:20px;}
.entry-editor {gap:30px;}
.editor-heading {display:flex;justify-content:space-between;gap:24px;padding-block:6px 26px;border-bottom:1px solid var(--line);}
.editor-title {font-size:clamp(1.5rem,2.2vw,2.4rem);line-height:1.5;font-weight:500;letter-spacing:-.035em;margin-top:16px;overflow-wrap:anywhere;}
.editor-publication {align-self:flex-start;flex-shrink:0;font-size:.75rem;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:6px 12px;}
.editor-publication.is-published {color:var(--text);}
.editor-section {display:flex;flex-direction:column;gap:22px;padding:0;margin:0;border:0;min-width:0;}
.editor-section + .editor-section {padding-top:30px;border-top:1px solid var(--line);}
.editor-section legend {padding:0;margin-bottom:22px;color:var(--text);font-size:1.125rem;font-weight:500;letter-spacing:-.025em;}
.entry-editor label {gap:10px;font-size:.875rem;line-height:1.6;}
.entry-editor input:not([type="file"]),.entry-editor textarea,.entry-editor select {min-height:48px;font-size:1rem;border-radius:9px;padding:12px 14px;}
.entry-editor input::placeholder,.entry-editor textarea::placeholder {color:var(--quiet);opacity:1;}
.entry-editor textarea {line-height:1.9;}
.entry-editor input:focus,.entry-editor textarea:focus,.entry-editor select:focus,#manage-category-filter:focus {border-color:var(--accent);}
.editor-grid {gap:22px;}
.editor-metrics {grid-template-columns:repeat(3,minmax(0,1fr));}
.editor-unit-input {position:relative;display:block;}
.editor-unit-input input {padding-right:46px!important;}
.editor-unit-input > span {position:absolute;top:50%;right:14px;transform:translateY(-50%);color:var(--muted);font-size:.8125rem;pointer-events:none;}
.editor-help {font-size:.8125rem;line-height:1.8;}
.race-photo-slots {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;}
.race-photo-slot {min-width:0;padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--surface);}
.race-photo-slot h3 {font-size:.9375rem;font-weight:500;line-height:1.5;letter-spacing:-.025em;}
.photo-slot-note {font-size:.6875rem;color:var(--muted);line-height:1.7;margin-top:6px;min-height:2.4em;}
.photo-slot-preview {display:grid;place-items:center;aspect-ratio:4/3;border:1px dashed var(--line-strong);border-radius:9px;margin-top:16px;overflow:hidden;background:var(--bg);}
.has-photo .photo-slot-preview {border-style:solid;aspect-ratio:auto;min-height:140px;}
.photo-slot-preview.is-ready {min-height:0;}
.photo-slot-preview a {display:grid;place-items:center;width:100%;min-width:0;min-height:0;}
.photo-slot-preview img {width:100%;height:auto;object-fit:contain;}
.photo-slot-loading {padding:24px 12px;color:var(--muted);font-size:.75rem;line-height:1.7;text-align:center;}
.photo-slot-placeholder {color:var(--quiet);font-weight:300;font-size:2rem;line-height:1;}
.photo-file-link {padding:16px;color:var(--muted);font-size:.875rem;}
.photo-slot-status {font-size:.75rem;color:var(--quiet);line-height:1.6;margin-top:12px;}
.has-photo .photo-slot-status {color:var(--muted);}
.photo-slot-actions {display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:10px;}
.entry-editor .photo-upload-button {display:inline-flex;position:relative;align-items:center;justify-content:center;gap:0;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:100px;font-size:.75rem;color:var(--text);cursor:pointer;overflow:hidden;}
.photo-upload-button input {position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;}
.photo-upload-button:focus-within {outline:2px solid var(--accent);outline-offset:4px;}
.photo-upload-button.is-disabled {opacity:.5;cursor:wait;}
.photo-slot-remove {padding:9px 5px;min-height:40px;border:0;background:transparent;color:var(--muted);font-size:.75rem;}
.editor-publish-help {padding-top:26px;border-top:1px solid var(--line);}
.editor-actions {margin-top:0;justify-content:flex-start;gap:14px;}
.editor-actions .button-quiet {padding-inline:22px;border:1px solid var(--line);color:var(--text);}
@media (hover:hover) and (pointer:fine) {
  .managed-entry:hover {background:var(--surface);color:var(--text);}
  .manage-kind-switch button:not([aria-pressed="true"]):hover {color:var(--text);background:var(--surface-raised);}
  .photo-slot-remove:hover {color:var(--text);}
}
@media (max-width:1100px) {
  .manage-workspace {grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:30px;}
  .race-photo-slots {grid-template-columns:repeat(2,minmax(0,1fr));}
  .race-photo-slot:last-child {grid-column:1/-1;display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1fr);column-gap:24px;align-content:start;}
  .race-photo-slot:last-child .photo-slot-preview {grid-column:2;grid-row:1/5;margin-top:0;}
  .race-photo-slot:last-child .photo-slot-status {align-self:end;}
  .race-photo-slot:last-child .photo-slot-actions {grid-column:1;}
  .editor-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:800px) {
  .manage-main {padding-top:42px;}
  .manage-heading {gap:20px;}
  .manage-main h1 {font-size:clamp(2.4rem,5vw,3.5rem);}
  .manage-workspace {grid-template-columns:1fr;gap:36px;}
  .manage-sidebar {position:static;}
  .manage-race-tools {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;}
  .manage-category-label {grid-column:1/-1;margin-bottom:0;}
  .manage-new {margin-top:0;}
  .manage-new .button {min-height:48px;}
  .managed-list-summary {margin-top:20px;}
  .managed-entries {max-height:300px;min-height:0;}
  .managed-entry {padding:18px 14px;}
  .editor-empty {min-height:260px;}
  .race-photo-slots {grid-template-columns:repeat(3,minmax(0,1fr));}
  .race-photo-slot:last-child {display:block;grid-column:auto;}
  .race-photo-slot:last-child .photo-slot-preview {margin-top:16px;}
  .manage-page .header-inner {display:flex;flex-wrap:wrap;gap:10px;}
}
@media (max-width:600px) {
  .manage-page .header-inner {min-height:78px;padding-block:14px;gap:8px;}
  .manage-page .header-controls {gap:6px;}
  .manage-page .brand {font-size:.9375rem;gap:6px;}
  .manage-page .language-toggle,.manage-page .manage-theme {width:40px;height:40px;min-height:40px;}
  .manage-page .manage-home {display:inline-flex;margin-left:2px;min-height:40px;padding:8px 12px;gap:8px;font-size:.8125rem;}
  .manage-main {padding-block:36px 64px;}
  .manage-heading {display:block;}
  .manage-main h1 {font-size:2.4rem;line-height:1.35;margin-top:20px;}
  .manage-intro {font-size:1rem;}
  .manage-logout {margin-top:20px;min-height:42px;padding-inline:0;}
  .owner-signin {padding:22px;}
  .manage-account {margin-bottom:26px;}
  .manage-workspace {gap:30px;}
  .managed-entry strong {font-size:.9375rem;}
  .manage-new .button {padding-inline:16px;font-size:.875rem;}
  .editor-heading {gap:16px;padding-bottom:22px;}
  .editor-title {font-size:1.5rem;}
  .editor-publication {font-size:.6875rem;padding:5px 9px;}
  .entry-editor {gap:26px;}
  .editor-grid {grid-template-columns:1fr;gap:20px;}
  .editor-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}
  .entry-editor textarea {min-height:150px;}
  .race-photo-slots {grid-template-columns:1fr;gap:14px;}
  .race-photo-slot,.race-photo-slot:last-child {display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.9fr);column-gap:18px;padding:16px;}
  .photo-slot-note {min-height:0;}
  .race-photo-slot .photo-slot-preview,.race-photo-slot:last-child .photo-slot-preview {grid-column:2;grid-row:1/5;margin-top:0;align-self:start;}
  .photo-slot-status {align-self:end;margin-top:16px;}
  .photo-slot-actions,.race-photo-slot:last-child .photo-slot-actions {grid-column:1;gap:4px;}
  .editor-actions {gap:10px;}
  .editor-actions .button {min-height:48px;padding:12px 16px;font-size:.875rem;}
}
@media (prefers-reduced-motion:reduce) {
  .manage-kind-switch button,.managed-entry {transition:none;}
  .manage-progress:indeterminate {animation:none;background-size:100% 100%;}
}
