.hole-theme { color: var(--gg-text-muted, #475569); }
.hole-theme .ha-button-outline {
    color: var(--gg-brand-strong, #475569);
    background-color: var(--gg-brand-surface, #fff);
    border-color: var(--gg-brand-strong, #475569);
}
.hole-theme .ha-button-outline:hover,
.hole-theme .ha-button-outline:active,
.hole-theme .ha-button-outline:focus-visible {
    color: var(--gg-banner-text, #1e293b);
    background-color: var(--gg-banner-bg, #e2e8f0);
    border-color: var(--gg-brand-hover, #475569);
}
.hole-theme .btn:focus-visible,
.hole-theme .ha-filter:focus-visible,
.hole-theme summary:focus-visible {
    outline: 2px solid var(--gg-brand-accent, #475569);
    outline-offset: 3px;
}
.hole-theme .ha-status-open,
.hole-theme .alert-success {
    color: var(--gg-banner-text, #1e293b);
    background-color: var(--gg-banner-bg, #e2e8f0);
    border: 1px solid var(--gg-banner-border, #cbd5e1);
}
.hole-theme .ha-status-closed,
.hole-theme .alert-secondary {
    color: var(--gg-text-muted, #475569);
    background-color: var(--gg-row-alternate-bg, #f7f9fc);
    border: 1px solid var(--gg-card-border, #cbd5e1);
}
.hole-theme .text-muted, .hole-theme .form-text { color: var(--gg-text-muted, #475569) !important; }
.hole-theme .ha-brand-text { color: var(--gg-brand-strong, #475569); }
.hole-theme .card { --bs-card-bg: var(--gg-brand-surface, #fff); --bs-card-color: var(--gg-text-muted, #475569); }
.hole-theme .form-control, .hole-theme .form-select {
    color: var(--gg-text-muted, #475569);
    background-color: var(--gg-brand-surface, #fff);
    border-color: var(--gg-card-border, #cbd5e1);
}
.hole-theme .form-control::placeholder { color: var(--gg-text-muted, #475569); opacity: .8; }
.hole-theme .form-control:focus, .hole-theme .form-select:focus {
    border-color: var(--gg-brand-strong, #475569);
    outline: 2px solid var(--gg-brand-accent, #475569);
    outline-offset: 2px;
    box-shadow: none;
}
.hole-theme.ha-home-card {
    color: var(--gg-text-muted, #475569);
    background: var(--gg-brand-surface, #fff);
    border-color: var(--gg-brand-strong, #475569);
}
.hole-theme h1, .hole-theme h2 { color: var(--gg-heading-color, #1e293b); }
.hole-admin { max-width: 1400px; color: var(--gg-text-muted, #475569); }
.hole-admin .ha-shell { background: linear-gradient(180deg, var(--gg-row-alternate-bg, #f7f9fc), var(--gg-brand-surface, #fff)); border: 1px solid var(--gg-card-border, #cbd5e1); border-radius: 24px; padding: 1.25rem; box-shadow: 0 8px 30px rgba(0,0,0,.04); }
.hole-admin .ha-header { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 1rem; background: var(--gg-row-alternate-bg, #f7f9fc); border: 1px solid var(--gg-card-border, #cbd5e1); border-radius: 22px; padding: 1.25rem; margin-bottom: 1rem; min-height: 130px; }
.hole-admin h1 { font-size: 1.5rem; font-weight: 700; color: var(--gg-heading-color, #1e293b); margin: 0 0 .4rem; overflow-wrap: anywhere; }
.hole-admin h2 { font-size: 1.15rem; font-weight: 700; color: var(--gg-heading-color, #1e293b); }
.hole-admin .ha-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.hole-admin .btn { border-radius: 12px; text-decoration: none; }
.hole-admin .ha-toolbar, .hole-admin .ha-panel { background: var(--gg-brand-surface, #fff); border: 1px solid var(--gg-card-border, #cbd5e1); border-radius: 18px; padding: 1rem; margin-bottom: 1rem; box-shadow: 0 4px 14px rgba(0,0,0,.03); }
.hole-admin .ha-toolbar { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.hole-admin .ha-search { position: relative; flex: 1 1 300px; }
.hole-admin .ha-search > i { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); pointer-events: none; }
.hole-admin .ha-search input { padding-left: 2.4rem; }
.hole-admin .form-control, .hole-admin .form-select { min-height: 44px; border-radius: 12px; border-color: var(--gg-card-border, #cbd5e1); }
.hole-admin .ha-filters { display: flex; flex-wrap: wrap; gap: .5rem; }
.hole-admin .ha-filter { background: var(--gg-brand-surface, #fff); color: var(--gg-heading-color, #1e293b); border: 1px solid var(--gg-card-border, #cbd5e1); border-radius: 999px; padding: .6rem 1rem; font-weight: 600; }
.hole-admin .ha-filter[aria-pressed="true"] { background: var(--gg-banner-bg, #e2e8f0); border-color: var(--gg-brand-strong, #475569); color: var(--gg-banner-text, #1e293b); }
.hole-admin .ha-section-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1.4rem 0 .75rem; }
.hole-admin .ha-section-header h2 { margin: 0; }
.hole-admin .ha-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; list-style: none; margin: 0; padding: 0; }
.hole-admin .ha-contest, .hole-admin .ha-player { background: var(--gg-brand-surface, #fff); border: 1px solid var(--gg-card-border, #cbd5e1); border-radius: 16px; padding: 1rem; box-shadow: 0 2px 8px rgba(0,0,0,.04); min-width: 0; }
.hole-admin .ha-contest { display: flex; flex-direction: column; gap: 1rem; }
.hole-admin .ha-contest-title { display: flex; align-items: flex-start; gap: .75rem; }
.hole-admin .ha-icon { width: 42px; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--gg-brand-primary-subtle, #e2e8f0); color: var(--gg-heading-color, #1e293b); flex-shrink: 0; }
.hole-admin .ha-name { margin: 0; font-size: 1rem; font-weight: 600; color: var(--gg-heading-color, #1e293b); overflow-wrap: anywhere; }
.hole-admin .ha-meta { font-size: .8rem; margin-top: .25rem; overflow-wrap: anywhere; }
.hole-admin .ha-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin: 0; }
.hole-admin .ha-stats dt { font-size: .75rem; font-weight: 400; }
.hole-admin .ha-stats dd { font-size: 1.05rem; font-weight: 600; color: var(--gg-heading-color, #1e293b); margin: .2rem 0 0; overflow-wrap: anywhere; }
.hole-admin .ha-contest .ha-actions { margin-top: auto; }
.hole-admin .ha-player { display: flex; align-items: center; gap: .75rem; padding: .75rem; }
.hole-admin .ha-player .ha-icon { border-radius: 50%; }
.hole-admin .ha-player-info { min-width: 0; flex: 1; }
.hole-admin .ha-player form { margin: 0; }
.hole-admin .ha-summary { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.hole-admin .ha-pill { border: 1px solid var(--gg-card-border, #cbd5e1); background: var(--gg-brand-surface, #fff); border-radius: 999px; padding: .4rem .8rem; font-size: .9rem; }
.hole-admin [hidden] { display: none !important; }
.hole-admin .ha-empty { border: 1px dashed var(--gg-card-border, #cbd5e1); border-radius: 16px; padding: 1.5rem; text-align: center; background: var(--gg-brand-surface, #fff); }
.hole-admin .ha-header-title { flex: 1 1 280px; min-width: 0; }
.hole-admin .ha-prize-panel { padding: 1.5rem; }
.hole-admin .ha-prize-main { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.hole-admin .ha-prize-main > div { min-width: 0; }
.hole-admin .ha-prize-main h2 { font-size: 1rem; font-weight: 500; margin-bottom: .25rem; }
.hole-admin .ha-prize-total { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.2; font-weight: 700; color: var(--gg-heading-color, #1e293b); margin: 0; overflow-wrap: anywhere; }
.hole-admin .ha-roster summary { cursor: pointer; font-weight: 600; color: var(--gg-heading-color, #1e293b); }
.hole-admin .ha-rules { white-space: pre-wrap; overflow-wrap: anywhere; }
@media (min-width: 992px) { .hole-admin .ha-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1400px) { .hole-admin .ha-players { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 575px) { .hole-admin .ha-shell { padding: .75rem; } .hole-admin .ha-header { padding: 1rem; } .hole-admin .ha-actions { width: 100%; } }
