:root{--pkc-primary:#2457d6;--pkc-accent:#0f766e;--pkc-surface:#fff;--pkc-surface-soft:#f6f7f9;--pkc-border:#dfe3e8;--pkc-text:#17191c;--pkc-text-muted:#69717d;--pkc-success:#18864b;--pkc-warning:#a85f00;--pkc-danger:#b42318;--pkc-radius:14px;--pkc-shadow:0 8px 24px rgba(0,0,0,.06)}
.pkc-shell{max-width:980px;margin:0 auto;color:var(--pkc-text)}.pkc-card,.pkc-section,.pkc-event-details{background:var(--pkc-surface);border:1px solid var(--pkc-border);border-radius:var(--pkc-radius);padding:20px;box-shadow:var(--pkc-shadow)}.pkc-event-hero{border-radius:var(--pkc-radius);overflow:hidden;margin-bottom:20px;max-height:420px;background:var(--pkc-surface-soft)}.pkc-event-hero-img{display:block;width:100%;height:100%;max-height:420px;object-fit:cover}.pkc-event-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:18px 0}.pkc-event-details>div{padding:12px 14px;border-bottom:1px solid var(--pkc-border)}.pkc-event-details dt{font-weight:700;color:var(--pkc-text);font-size:.86em;text-transform:uppercase;letter-spacing:.03em}.pkc-event-details dd{margin:4px 0 0;font-size:1.05em}.pkc-event-details>div:first-child dd{display:inline-block;background:color-mix(in srgb,var(--pkc-primary) 10%,white);color:var(--pkc-primary);border:1px solid color-mix(in srgb,var(--pkc-primary) 25%,white);border-radius:999px;padding:5px 10px;font-weight:700}.pkc-badge{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:.75em;font-weight:700}.pkc-badge-guest{background:var(--pkc-surface-soft);color:var(--pkc-text-muted);border:1px solid var(--pkc-border)}.pkc-member-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--pkc-border)}.pkc-participant-main small{display:block}.pkc-muted{color:var(--pkc-text-muted)}.pkc-danger-link{color:var(--pkc-danger)!important}.pkc-inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.pkc-inline-form label{flex:1;min-width:220px}.pkc-button{background:var(--pkc-primary);color:#fff!important;border:0;border-radius:10px;padding:10px 16px;text-decoration:none;cursor:pointer}.pkc-notice{border-radius:var(--pkc-radius);padding:14px 16px}.pkc-notice-info{background:color-mix(in srgb,var(--pkc-primary) 8%,white);border:1px solid color-mix(in srgb,var(--pkc-primary) 30%,white)}
@media(max-width:640px){.pkc-event-details{grid-template-columns:1fr 1fr}.pkc-member-row{align-items:flex-start}.pkc-shell{padding:0 14px}}

.pkc-roster-section{margin-top:1.5rem}.pkc-roster-heading{display:flex;align-items:center;gap:.65rem;padding-bottom:.65rem;border-bottom:2px solid var(--pkc-border)}.pkc-roster-heading h4{margin:0;font-weight:700}.pkc-waitlist-section{margin-top:2rem}.pkc-participant-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.pkc-participant-actions form{margin:0}.pkc-participant-actions .pkc-link-button{white-space:nowrap}

/* 0.4.6: predictable event roster layout. Keep active players and waitlist stacked. */
.pkc-roster-section{display:block!important;width:100%!important;clear:both!important;float:none!important;box-sizing:border-box}
.pkc-roster-section+.pkc-roster-section{margin-top:28px!important}
.pkc-roster-heading{display:flex!important;width:100%!important;box-sizing:border-box;justify-content:flex-start!important}
/* Event roster: intentionally isolated from generic club member styles. */
.pkc-roster-section{display:block!important;width:100%!important;clear:both!important;margin:28px 0 0!important;float:none!important}
.pkc-roster-heading{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;padding:0 0 10px!important;margin:0 0 4px!important;border-bottom:2px solid var(--pkc-border)!important;box-sizing:border-box!important}
.pkc-roster-heading h4{margin:0!important;font-weight:700!important}
.pkc-roster-list{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;columns:auto!important;column-count:1!important;float:none!important;clear:both!important}
.pkc-roster-item{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;width:100%!important;max-width:none!important;min-width:0!important;float:none!important;clear:both!important;margin:0!important;padding:14px 0!important;border-bottom:1px solid var(--pkc-border)!important;box-sizing:border-box!important;position:static!important}
.pkc-roster-player{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;min-width:0!important;width:auto!important;margin:0!important;padding:0!important;position:static!important}
.pkc-roster-player strong{display:block!important;font-size:1rem!important;line-height:1.3!important}
.pkc-roster-player small{display:block!important;margin:0!important}
.pkc-roster-player .pkc-badge{width:auto!important;align-self:flex-start!important}
.pkc-roster-actions{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;width:auto!important;margin:0!important;padding:0!important;position:static!important}
.pkc-roster-actions form{display:block!important;width:auto!important;margin:0!important;padding:0!important}
.pkc-waitlist-section{margin-top:34px!important}
@media(max-width:700px){.pkc-roster-item{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}.pkc-roster-actions{justify-content:flex-start!important;flex-wrap:wrap!important}}


/* 0.4.8 event roster: hard-isolated vertical layout. */
.pkc-shell .pkc-roster-section{display:block!important;position:relative!important;width:100%!important;max-width:100%!important;clear:both!important;float:none!important;margin:28px 0 0!important;padding:0!important}
.pkc-shell .pkc-roster-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;gap:0!important;width:100%!important;max-width:100%!important;clear:both!important;float:none!important;margin:0!important;padding:0!important}
.pkc-shell .pkc-roster-list>.pkc-roster-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto!important;align-items:center!important;gap:18px!important;width:100%!important;max-width:100%!important;min-width:0!important;clear:both!important;float:none!important;margin:0!important;padding:14px 0!important;position:relative!important;inset:auto!important;transform:none!important;box-sizing:border-box!important}
.pkc-shell .pkc-roster-list>.pkc-roster-item>.pkc-roster-player{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important;width:100%!important;max-width:100%!important;position:static!important;float:none!important;margin:0!important;padding:0!important;transform:none!important}
.pkc-shell .pkc-roster-list>.pkc-roster-item>.pkc-roster-actions{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:12px!important;width:auto!important;position:static!important;float:none!important;margin:0!important;padding:0!important;transform:none!important}
.pkc-admin-event-list{display:grid;grid-template-columns:1fr;gap:0}.pkc-admin-event-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--pkc-border)}.pkc-admin-event-list form{margin:0}
@media(max-width:700px){.pkc-shell .pkc-roster-list>.pkc-roster-item{grid-template-columns:1fr!important}.pkc-shell .pkc-roster-list>.pkc-roster-item>.pkc-roster-actions{justify-content:flex-start!important;flex-wrap:wrap!important}.pkc-admin-event-list>div{grid-template-columns:1fr}.pkc-admin-event-list>div>*{justify-self:start}}

/* 0.4.9: roster markup fix + simple full-width rows. */
.pkc-shell .pkc-roster-section{display:block!important;width:100%!important;clear:both!important}
.pkc-shell .pkc-roster-list{display:block!important;width:100%!important}
.pkc-shell .pkc-roster-item{display:flex!important;width:100%!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;box-sizing:border-box!important;padding:14px 0!important;border-bottom:1px solid var(--pkc-border)!important}
.pkc-shell .pkc-roster-player{display:flex!important;flex-direction:column!important;align-items:flex-start!important;flex:1 1 auto!important}
.pkc-shell .pkc-roster-actions{display:flex!important;gap:12px!important;flex:0 0 auto!important}
@media(max-width:700px){.pkc-shell .pkc-roster-item{flex-direction:column!important;align-items:flex-start!important}.pkc-shell .pkc-roster-actions{flex-wrap:wrap!important}}


/* 0.5.0 event discussion */
.pkc-discussion-list{display:flex;flex-direction:column;gap:0;margin:12px 0 20px}
.pkc-discussion-message{display:block;padding:14px 0;border-bottom:1px solid var(--pkc-border)}
.pkc-discussion-message p{margin:6px 0 0;white-space:normal;overflow-wrap:anywhere}
.pkc-discussion-message small{margin-left:6px}
.pkc-notification-list{display:grid;gap:12px}.pkc-notification{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px}.pkc-notification.is-unread{border-left:4px solid var(--pkc-primary,#2f62d8)}.pkc-notification p{margin:.35rem 0}.pkc-seat-offer{border:2px solid var(--pkc-primary,#2f62d8)}.pkc-envelope{text-decoration:none;color:inherit}@media(max-width:700px){.pkc-notification{align-items:flex-start;flex-direction:column}}
.pkc-seat-timer{font-size:1.15rem}.pkc-seat-expired{opacity:.75}.pkc-ranking-table{display:grid;gap:0}.pkc-ranking-row{display:grid;grid-template-columns:3rem minmax(0,1fr) 7rem 5rem;gap:1rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--pkc-border,#d9dee7)}.pkc-ranking-head{font-weight:700}.pkc-result-entry{display:grid;grid-template-columns:2.5rem minmax(180px,1fr) minmax(180px,1fr) minmax(130px,.5fr);gap:.75rem;align-items:center;margin:.65rem 0}.pkc-result-row{padding:.45rem 0;border-bottom:1px solid var(--pkc-border,#d9dee7)}@media(max-width:700px){.pkc-ranking-row{grid-template-columns:2rem minmax(0,1fr) 5rem 3.5rem;gap:.5rem}.pkc-result-entry{grid-template-columns:2rem 1fr}.pkc-result-entry select,.pkc-result-entry input{grid-column:2}}

/* Ranking selection */
.pkc-ranking-select{margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid var(--pkc-border,#d9dee7);border-radius:var(--pkc-radius,12px)}
.pkc-ranking-select legend{padding:0 .4rem;font-weight:700}
.pkc-field-help{margin:.15rem 0 1rem;color:var(--pkc-muted,#667085);font-size:.94rem;line-height:1.5;max-width:760px}
.pkc-ranking-select-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:1rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--pkc-border,#d9dee7)}
.pkc-ranking-choice{display:flex!important;align-items:center;gap:.65rem;margin:0!important;font-weight:600}
.pkc-ranking-choice input{width:auto!important;margin:0!important;flex:0 0 auto}
.pkc-multiplier-field{display:grid!important;grid-template-columns:auto minmax(70px,1fr);gap:.55rem;align-items:center;margin:0!important}
.pkc-multiplier-field span{white-space:nowrap;font-size:.9rem;color:var(--pkc-muted,#667085)}
.pkc-multiplier-field input{width:100%!important;margin:0!important}
@media(max-width:700px){.pkc-ranking-select-row{grid-template-columns:1fr}.pkc-multiplier-field{grid-template-columns:90px minmax(0,140px)}}

/* Results & Rankings management — 0.6.3 */
.pkc-warning{border-left:4px solid currentColor}.pkc-manage-placements{display:grid;gap:10px}.pkc-manage-placement{display:grid;grid-template-columns:90px minmax(180px,1fr) minmax(130px,180px);gap:14px;align-items:end;padding:12px;border:1px solid var(--pkc-border,#d9dee7);border-radius:var(--pkc-radius,12px)}.pkc-manage-placement label,.pkc-multiplier-label{margin:0}.pkc-ranking-results{display:grid;gap:8px}.pkc-ranking-choice{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--pkc-border,#d9dee7)}.pkc-ranking-check{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start;margin:0!important}.pkc-ranking-check input{width:auto!important;margin-top:4px}.pkc-ranking-check span{display:grid;gap:2px}.pkc-multiplier-label{display:grid!important;grid-template-columns:auto 100px;gap:8px;align-items:center}.pkc-multiplier-label input{width:100%!important}.pkc-history{margin-top:20px}.pkc-history-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:8px 16px;padding:10px 0;border-bottom:1px solid var(--pkc-border,#d9dee7)}.pkc-history-row small{grid-column:1/-1}.pkc-inline-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.pkc-inline-check input{width:auto!important}.pkc-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:700px){.pkc-manage-placement,.pkc-ranking-choice,.pkc-two-col{grid-template-columns:1fr}.pkc-multiplier-label{grid-template-columns:1fr}.pkc-history-row{grid-template-columns:1fr}}

/* Public ranking/result drill-down — 0.6.4 */
.pkc-ranking-title{color:inherit;text-decoration:none}.pkc-ranking-title:hover{text-decoration:underline}.pkc-ranking-open{margin:16px 0 0}.pkc-ranking-tournaments{margin-top:20px}.pkc-tournament-links{display:grid;gap:0}.pkc-tournament-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--pkc-border,#d9dee7);color:inherit;text-decoration:none}.pkc-tournament-link:hover strong{text-decoration:underline}.pkc-tournament-link span:first-child{display:grid;gap:3px}.pkc-tournament-link small{color:var(--pkc-text-muted,#69717d)}.pkc-public-result-list{display:grid}.pkc-public-result-row{display:grid;grid-template-columns:55px minmax(0,1fr) minmax(100px,auto);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--pkc-border,#d9dee7)}.pkc-public-result-row span:last-child{text-align:right}@media(max-width:640px){.pkc-public-result-row{grid-template-columns:42px minmax(0,1fr) auto}.pkc-tournament-link{align-items:flex-start}}

/* 0.7.0 player matching cards */
.pkc-manage-placement{align-items:start!important}
.pkc-place-field,.pkc-prize-field{align-self:start}
.pkc-player-match-box{padding:14px 16px;border-radius:12px;border:1px solid transparent}
.pkc-player-unregistered .pkc-player-match-box{background:#eaf3ff;border-color:#b8d5ff}
.pkc-player-linked .pkc-player-match-box{background:#e9f8ee;border-color:#b8e2c5}
.pkc-player-status-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.pkc-player-status-head strong{font-size:1rem}
.pkc-player-status-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.2}
.pkc-player-unregistered .pkc-player-status-badge{background:#d4e8ff;color:#174f91}
.pkc-player-linked .pkc-player-status-badge{background:#ccefd7;color:#176b35}
.pkc-player-match-box .pkc-inline-check{margin-top:10px!important}
.pkc-player-match-box .pkc-matched-label{margin:0;color:#35704a}
@media(max-width:700px){.pkc-player-match-box{padding:12px}}

/* 0.7.1 result correction controls */
.pkc-place-controls{display:grid;gap:8px}.pkc-order-buttons{display:flex;gap:6px}.pkc-order-button{border:1px solid var(--pkc-border,#d9dee7);background:#fff;border-radius:8px;padding:5px 12px;cursor:pointer;font-size:18px;line-height:1.1}.pkc-order-button:hover{background:#f4f6f9}.pkc-player-name-field{display:grid!important;gap:5px;min-width:0;flex:1}.pkc-player-name-field input{width:100%!important}.pkc-imported-name{display:block;margin:-2px 0 10px;color:#697386}.pkc-unmatch-check{margin-top:12px!important;font-weight:600}.pkc-player-status-head{align-items:flex-start!important}

/* 0.7.2 — PKC Design System foundation */
:root{
 --pkc-primary:#E30613;--pkc-primary-hover:#B10E13;--pkc-bg:#0A0A0A;--pkc-surface:#1B1B1F;--pkc-surface-raised:#232328;--pkc-border:#2E2E32;--pkc-text:#F4F4F4;--pkc-text-muted:#A0A0A0;--pkc-white:#FFFFFF;
 --pkc-info:#2563a9;--pkc-info-soft:#132a42;--pkc-success:#31a35b;--pkc-success-soft:#122d1d;--pkc-warning:#d49a2a;--pkc-warning-soft:#34270f;--pkc-danger:#e24b4b;--pkc-danger-soft:#381515;--pkc-radius:12px;--pkc-shadow:0 12px 32px rgba(0,0,0,.28);
 --pkc-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.pkc-shell{font-family:var(--pkc-font);color:var(--pkc-text);background:var(--pkc-bg);padding:24px;border-radius:16px;color-scheme:dark}
.pkc-shell,.pkc-shell *{box-sizing:border-box}.pkc-shell h1,.pkc-shell h2,.pkc-shell h3,.pkc-shell h4,.pkc-shell h5,.pkc-shell h6,.pkc-shell strong,.pkc-shell label,.pkc-shell legend,.pkc-shell dt{color:var(--pkc-text)}
.pkc-shell a{color:var(--pkc-text)}.pkc-shell a:hover{color:var(--pkc-white)}.pkc-muted,.pkc-field-help,.pkc-shell small{color:var(--pkc-text-muted)}
.pkc-card,.pkc-section.pkc-card,.pkc-event-details,.pkc-club-tile,.pkc-ranking-select,.pkc-notification{background:var(--pkc-surface);border-color:var(--pkc-border);box-shadow:var(--pkc-shadow)}
.pkc-section:not(.pkc-card){color:var(--pkc-text)}
.pkc-form input[type=text],.pkc-form input[type=email],.pkc-form input[type=password],.pkc-form input[type=number],.pkc-form input[type=datetime-local],.pkc-form input[type=date],.pkc-form input[type=url],.pkc-form input[type=file],.pkc-form select,.pkc-form textarea,.pkc-shell input[type=text],.pkc-shell input[type=email],.pkc-shell input[type=password],.pkc-shell input[type=number],.pkc-shell input[type=datetime-local],.pkc-shell input[type=date],.pkc-shell input[type=url],.pkc-shell select,.pkc-shell textarea{background:var(--pkc-surface-raised);border:1px solid var(--pkc-border);color:var(--pkc-text);border-radius:9px;padding:10px 12px;font:inherit}
.pkc-shell input::placeholder,.pkc-shell textarea::placeholder{color:var(--pkc-text-muted)}.pkc-shell input:focus,.pkc-shell select:focus,.pkc-shell textarea:focus{outline:2px solid var(--pkc-primary);outline-offset:1px;border-color:var(--pkc-primary)}
.pkc-button{background:var(--pkc-primary);color:var(--pkc-white)!important;border:1px solid var(--pkc-primary);border-radius:9px;font-weight:700;transition:.15s ease}.pkc-button:hover{background:var(--pkc-primary-hover);border-color:var(--pkc-primary-hover);color:var(--pkc-white)!important;transform:translateY(-1px)}
.pkc-button-secondary,.pkc-small-button,.pkc-order-button{background:var(--pkc-surface-raised)!important;color:var(--pkc-text)!important;border:1px solid #55565d!important;border-radius:8px}.pkc-button-secondary:hover,.pkc-small-button:hover,.pkc-order-button:hover{background:#303036!important;border-color:#74757d!important}
.pkc-link-button{color:var(--pkc-text);}.pkc-danger-link{color:var(--pkc-danger)!important}
.pkc-placeholder{background:var(--pkc-surface);border-color:#48484e;color:var(--pkc-text-muted)}
.pkc-notice{color:var(--pkc-text)}.pkc-notice-info{background:var(--pkc-info-soft);border-color:var(--pkc-info)}.pkc-notice-success{background:var(--pkc-success-soft);border-color:var(--pkc-success)}.pkc-notice-error{background:var(--pkc-danger-soft);border-color:var(--pkc-danger)}.pkc-warning{background:var(--pkc-warning-soft);border-color:var(--pkc-warning);color:var(--pkc-text)}
.pkc-badge{border:1px solid var(--pkc-border)}.pkc-badge-guest{background:var(--pkc-surface-raised);color:var(--pkc-text-muted)}
.pkc-player-unregistered .pkc-player-match-box{background:var(--pkc-info-soft);border-color:var(--pkc-info)}.pkc-player-linked .pkc-player-match-box{background:var(--pkc-success-soft);border-color:var(--pkc-success)}.pkc-player-unregistered .pkc-player-status-badge{background:#194b78;color:#d9ecff}.pkc-player-linked .pkc-player-status-badge{background:#185f32;color:#dff8e7}.pkc-player-match-box .pkc-matched-label{color:#8ee0aa}.pkc-imported-name{color:var(--pkc-text-muted)}
.pkc-ranking-row,.pkc-result-row,.pkc-public-result-row,.pkc-tournament-link,.pkc-member-row,.pkc-roster-item,.pkc-history-row,.pkc-ranking-choice,.pkc-ranking-select-row{border-color:var(--pkc-border)!important}
.pkc-ranking-head{color:var(--pkc-text)}.pkc-tournament-link small{color:var(--pkc-text-muted)}
.pkc-event-details>div{border-color:var(--pkc-border)}.pkc-event-details>div:first-child dd{background:var(--pkc-info-soft);color:#b9dcff;border-color:var(--pkc-info)}
.pkc-event-hero{background:var(--pkc-surface)}
@media(max-width:640px){.pkc-shell{padding:16px 12px;border-radius:12px}}
