/* Custom styles for Golf Leaderboard */
:root{
    --primary:#0d6efd;
    --muted:#6c757d;
    --bg:#f8f9fa;
}
html,body{min-height:100%}
body{min-height:100vh;background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,'Helvetica Neue',Arial;display:flex;flex-direction:column}
body>nav{flex-shrink:0}
body>main{flex:1 0 auto}
body>footer{flex-shrink:0;margin-top:auto!important}
.navbar-brand i{color:#fff}
.navbar-brand-bgc{display:inline-flex;align-items:center;gap:.5rem;line-height:1}
.navbar-brand-bgc__logo{width:50px;height:30px;display:block;object-fit:contain;border-radius:5px;background:#fff}
.navbar-brand-bgc span{font-size:1.18rem;letter-spacing:0}
.display-5{color:var(--primary)}
.card{border-radius:12px}
.card .fa-2x{color:var(--primary)}
.footer-small{font-size:12px;color:var(--muted)}
main>.row.mb-3:first-child{margin-bottom:1rem!important}
main>.row.mb-3:first-child .page-title{font-size:1.65rem;line-height:1.12;margin-bottom:.45rem;letter-spacing:0}
main>.row.mb-3:first-child p{font-size:.88rem;line-height:1.32}
main>.row.mb-3:first-child .btn{padding:.4rem .72rem;font-size:.86rem}
main>.row.mb-3:first-child .btn i{font-size:.86rem}
.match-actions{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap;min-width:170px}
.match-actions form{margin:0}
.mini-match-header__text{min-width:0;flex:1 1 auto}
.mini-match-header .page-title{margin-bottom:.45rem}
.mini-match-header .page-title{font-size:1.65rem;line-height:1.12}
.mini-match-header p{font-size:.88rem;line-height:1.32}
.mini-match-header .btn{padding:.4rem .72rem;font-size:.86rem}
.mini-match-header .btn{flex:0 0 auto}
.mini-match-list{display:grid;gap:.8rem}
.mini-match-card{background:#fff;border:1px solid #d9dee8;border-radius:13px;box-shadow:0 7px 18px rgba(15,23,42,.045);overflow:visible}
.mini-match-card__main{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:92px;padding:.85rem 1.15rem}
.mini-match-card__badge{width:68px;height:68px;border-radius:13px;background:#f1f4f8;color:#828da0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;font-size:.72rem}
.mini-match-card__badge i{font-size:1.05rem}
.mini-match-card__content h2{margin:0 0 .28rem;font-size:1.35rem;line-height:1.05;font-weight:700;color:#070b1d;letter-spacing:0}
.mini-match-card__content p{margin:0;color:#60718e;font-size:.9rem;line-height:1.25}
.mini-match-card__otp{display:grid;justify-items:end;gap:.18rem;min-width:118px}
.mini-match-card__otp span{color:#60718e;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.mini-match-card__otp-code{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:116px;min-height:2.55rem;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#0d6efd;font-size:1.45rem;font-weight:900;letter-spacing:.08em}
.mini-match-card__otp-code:hover,.mini-match-card__otp-code:focus{background:#dbeafe;border-color:#93c5fd;outline:0}
.mini-match-card__otp-code:disabled{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8}
.mini-match-card__otp-code i{font-size:.82rem;letter-spacing:0}
.mini-match-card__players{min-width:2.2rem;text-align:center;color:#0c1023;font-size:2.05rem;font-weight:800;line-height:1}
.mini-match-card__meta{border-top:1px solid #e1e5ec;display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:50px;padding:0 1.15rem}
.mini-match-card__details{display:flex;align-items:center;gap:0;color:#60718e;font-size:.86rem;line-height:1.2;flex-wrap:wrap}
.mini-match-card__details span{display:inline-flex;align-items:center;gap:.4rem;min-height:1.65rem;padding-right:.75rem;margin-right:.75rem;border-right:1px solid #cdd4df}
.mini-match-card__details span:last-child{border-right:0;margin-right:0;padding-right:0}
.mini-match-card__details i{color:#718096;font-size:.86rem;width:1rem;text-align:center}
.mini-match-card__actions{display:flex;justify-content:flex-end;align-items:center;gap:.4rem;flex-wrap:wrap}
.mini-match-card__actions form{margin:0}
.mini-match-card__actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2rem;font-weight:800;white-space:nowrap}
.player-match-card{border-color:#cddbf0;box-shadow:0 12px 28px rgba(37,99,235,.08),0 5px 16px rgba(15,23,42,.04)}
.player-match-card .mini-match-card__main{background:linear-gradient(135deg,#fff 0%,#f8fbff 48%,#eef6ff 100%);border-top:4px solid #2f80ed}
.player-match-card .mini-match-card__badge{background:linear-gradient(135deg,#e0f2fe 0%,#dbeafe 100%);color:#2563eb}
.player-match-card .mini-match-card__details i{color:#4f7fc4}
.player-match-actions{gap:.5rem}
.player-match-action.btn{min-height:2.15rem;padding:.38rem .78rem;border-radius:8px;border:1px solid transparent;font-weight:850;box-shadow:0 6px 14px rgba(15,23,42,.055);transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.player-match-action.btn:hover,.player-match-action.btn:focus{transform:translateY(-1px);box-shadow:0 9px 18px rgba(15,23,42,.08)}
.player-match-action--input.btn{background:#2563eb;border-color:#2563eb;color:#fff}
.player-match-action--input.btn:hover,.player-match-action--input.btn:focus{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.player-match-action--select.btn{background:#ecfdf5;border-color:#86efac;color:#047857}
.player-match-action--select.btn:hover,.player-match-action--select.btn:focus{background:#d1fae5;border-color:#34d399;color:#065f46}
.player-match-action--board.btn{background:#fff7ed;border-color:#fdba74;color:#c2410c}
.player-match-action--board.btn:hover,.player-match-action--board.btn:focus{background:#ffedd5;border-color:#fb923c;color:#9a3412}
.mini-match-pagination{display:flex;justify-content:center;margin-top:1rem}
.mini-match-pagination .page-link{min-width:2rem;text-align:center;color:#0d6efd}
.mini-match-pagination .page-item.active .page-link{color:#fff}
.mini-match-flight-rules{display:grid;gap:.65rem;background:#f8fafc;border:1px solid #e0e7f0;border-radius:8px;padding:.75rem .9rem;color:#60718e;font-size:.9rem}
.mini-match-flight-range-row{display:grid;grid-template-columns:80px auto 76px auto 76px;gap:.45rem;align-items:center}
.mini-match-flight-range-row label{margin:0;font-weight:800;color:#243044}
.mini-match-flight-range-row .form-control{text-align:center;padding:.28rem .45rem}
.mini-match-selected-summary{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:.85rem;padding:.45rem .7rem;border:1px solid #dbe4f0;border-radius:8px;background:#f8fafc;color:#60718e;font-size:.86rem;font-weight:700}
.mini-match-selected-summary strong{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;border-radius:999px;background:#0d6efd;color:#fff;font-size:1rem}
.mini-match-select-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.mini-match-select-footer .mini-match-selected-summary{margin-bottom:0}
.mini-match-pairing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.mini-match-pairing-card{background:#fff;border:1px solid #d9dee8;border-radius:12px;box-shadow:0 7px 18px rgba(15,23,42,.045);overflow:hidden}
.mini-match-pairing-card header{display:grid;grid-template-columns:minmax(150px,320px) auto;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.mini-match-pairing-card h2{margin:0;font-size:1rem;font-weight:800;line-height:1.2}
.mini-match-pairing-card header span{font-size:.8rem;color:#60718e;font-weight:700}
.mini-match-start-hole{width:100%}
.mini-match-start-hole label{display:block;margin-bottom:.18rem;color:#60718e;font-size:.72rem;font-weight:800}
.mini-match-start-hole .form-control,.mini-match-start-hole .form-select{height:34px;padding:.28rem .5rem;font-size:.86rem}
.mini-match-pairing-dropzone{display:grid;gap:.65rem;min-height:190px;padding:1rem}
.mini-match-pairing-dropzone.is-over{background:#eff6ff}
.mini-match-player-chip{border:1px solid #d8e0eb;border-radius:8px;background:#fff;padding:.65rem .75rem;cursor:grab;box-shadow:0 4px 12px rgba(15,23,42,.04)}
.mini-match-player-chip strong{display:block;font-size:.95rem;line-height:1.2;color:#111827}
.mini-match-player-chip span{display:block;margin-top:.2rem;color:#64748b;font-size:.8rem}
.mini-match-player-chip.is-dragging{opacity:.55}
.pairing-list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:.8rem;align-items:start}
.pairing-list-card{background:#fff;border:1px solid #d9dee8;border-radius:10px;box-shadow:0 5px 14px rgba(15,23,42,.04);overflow:hidden}
.pairing-list-card header{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,auto);align-items:start;gap:.85rem;padding:.72rem .85rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.pairing-list-card__title strong{display:block;font-size:1rem;line-height:1.1;color:#111827}
.pairing-list-card__title span{display:block;margin-top:.2rem;color:#60718e;font-size:.78rem}
.pairing-lock-status{display:grid;gap:.32rem;text-align:right;min-width:210px}
.pairing-lock-status__top{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
.pairing-lock-status__count{font-weight:800;color:#334155;font-size:.82rem}
.pairing-lock-status__badge{display:inline-flex;align-items:center;min-height:1.45rem;padding:.18rem .48rem;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1}
.pairing-lock-status__badge.is-finished{background:#dcfce7;color:#166534}
.pairing-lock-status__badge.is-open{background:#fef3c7;color:#92400e}
.pairing-lock-status__bar{height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.pairing-lock-status__bar span{display:block;height:100%;border-radius:inherit;background:#2563eb}
.pairing-lock-status__holes{display:flex;justify-content:flex-end;gap:.25rem;flex-wrap:wrap;color:#60718e;font-size:.72rem;line-height:1.25}
.pairing-lock-status__label,.pairing-lock-status__empty{font-weight:700;color:#64748b}
.pairing-lock-status__chip{display:inline-flex;align-items:center;min-height:1.25rem;padding:.05rem .35rem;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:800}
.pairing-list-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.72rem}
.pairing-player-card{display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem;align-items:center;border:1px solid #d8e0eb;border-radius:8px;padding:.58rem .65rem;background:#fff;cursor:pointer}
.pairing-player-card:hover,.pairing-player-card:focus{border-color:#8bbcff;box-shadow:0 0 0 2px rgba(13,110,253,.1);outline:0}
.pairing-player-card.is-disabled{background:#f8fafc;border-color:#e2e8f0;cursor:not-allowed;opacity:.68}
.pairing-player-card.is-disabled:hover,.pairing-player-card.is-disabled:focus{border-color:#e2e8f0;box-shadow:none;outline:0}
.pairing-player-card.is-disabled .pairing-player-card__body small{color:#94a3b8}
.pairing-player-card__body strong{display:block;font-size:.86rem;line-height:1.18;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pairing-player-card__body span{display:block;margin-top:.18rem;color:#64748b;font-size:.72rem}
.pairing-player-card__body small{display:inline-flex;margin-top:.35rem;color:#0d6efd;font-size:.68rem;font-weight:800}
.pairing-player-card__actions{margin-top:.42rem}
.pairing-player-card__actions .btn{padding:.2rem .45rem;font-size:.68rem;font-weight:800}
.pairing-player-card__qr img{width:92px;height:92px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}
.pairing-qr-modal .modal-title{font-size:1.1rem;font-weight:800}
.pairing-qr-modal .modal-header p{color:#60718e;font-size:.88rem}
.pairing-qr-box{display:inline-flex;align-items:center;justify-content:center;min-width:244px;min-height:244px;padding:12px;border:1px solid #dbe4f0;border-radius:12px;background:#fff}
.pairing-qr-box img,.pairing-qr-box canvas{display:block}
.pairing-confirm-player{display:grid;gap:.85rem;justify-items:center;margin-top:.25rem}
.pairing-confirm-player span{color:#64748b;font-size:1rem}
.pairing-confirm-player strong{display:block;width:100%;max-width:360px;padding:.9rem 1rem;border:2px solid #93c5fd;border-radius:8px;background:#eff6ff;color:#0f172a;font-size:1.35rem;font-weight:900;line-height:1.18;text-align:center}
.pairing-score-page{display:grid;grid-template-columns:1fr;gap:.85rem;align-items:start}
.pairing-score-panel{background:#fff;border:1px solid #d9dee8;border-radius:12px;box-shadow:0 7px 18px rgba(15,23,42,.045);padding:1rem}
.pairing-score-panel h2{margin:0 0 .8rem;font-size:1rem;font-weight:800;color:#111827}
.pairing-score-player{display:grid;gap:.1rem;margin-bottom:1rem;padding:.75rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}
.pairing-score-player span,.pairing-score-player small{color:#60718e;font-size:.82rem}
.pairing-score-player strong{font-size:1.08rem;color:#111827}
.pairing-score-input-list{display:grid;gap:.65rem}
.pairing-score-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,240px);gap:.65rem;align-items:center;border:1px solid #e2e8f0;border-radius:10px;padding:.65rem}
.pairing-score-row strong{display:block;color:#111827;line-height:1.2}
.pairing-score-row span{display:block;margin-top:.2rem;color:#64748b;font-size:.8rem}
.pairing-score-row small{display:block;margin-top:.25rem;color:#0d6efd;font-size:.72rem;font-weight:700}
.pairing-score-stepper{display:grid;grid-template-columns:28px 52px 28px;align-items:center;justify-content:end;gap:.18rem}
.pairing-score-stepper__btn{width:28px;height:28px;border:1px solid #c9d0dc;background:#f3f5f8;color:#243044;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}
.pairing-score-stepper__btn:hover,.pairing-score-stepper__btn:focus{background:#e7f0ff;border-color:#85b7ff;color:#0d6efd}
.pairing-score-stepper__placeholder{width:28px;height:28px;display:block}
.pairing-score-row .form-control{height:38px;padding:.2rem .35rem;text-align:center;font-weight:800;font-size:1rem}
.pairing-score-result-select{position:relative;width:100%;font-weight:800}
.pairing-score-result-select__button{width:100%;min-height:42px;border:1px solid #d8e0eb;border-radius:8px;background:#fff;color:#111827;display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.45rem .65rem;font-weight:800;text-align:left}
.pairing-score-result-select__button span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:inherit;margin:0}
.pairing-score-result-select__button i{flex:0 0 auto;color:#334155;font-size:.82rem}
.pairing-score-result-select__button:hover,.pairing-score-result-select__button:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.13);outline:0}
.pairing-score-result-select__menu{position:absolute;top:calc(100% + .28rem);left:0;right:0;z-index:25;display:none;max-height:260px;overflow:auto;border:1px solid #cbd5e1;border-radius:9px;background:#fff;box-shadow:0 18px 36px rgba(15,23,42,.18);padding:.25rem}
.pairing-score-result-select.is-open .pairing-score-result-select__menu{display:grid}
.pairing-score-result-select__option{width:100%;border:0;background:#fff;color:#111827;display:flex;align-items:center;min-height:38px;padding:.45rem .6rem;border-radius:7px;text-align:left;font-weight:700}
.pairing-score-result-select__option:hover,.pairing-score-result-select__option:focus{background:#eff6ff;color:#1d4ed8;outline:0}
.pairing-score-result-select__option.is-selected{background:#2563eb;color:#fff}
.pairing-score-result-select.is-disabled .pairing-score-result-select__button{background:#eef2f7;color:#64748b;box-shadow:none}
.pairing-score-row.is-readonly{background:#f8fafc}
.pairing-score-row.is-readonly .form-control{background:#eef2f7;color:#64748b}
.pairing-score-nav{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
.pairing-score-nav .btn{min-width:92px}
.pairing-submit-actions{display:flex;justify-content:flex-end;margin-top:1rem}
.pairing-submit-actions .btn{min-width:116px}
.pairing-appreciation{margin-top:1rem;border-top:1px solid #e5eaf2;padding-top:.9rem}
.pairing-appreciation-toggle{margin-bottom:.75rem}
.pairing-appreciation-toggle small{display:block;margin-top:.12rem;color:#64748b;font-size:.72rem}
.pairing-appreciation-panel{display:grid;gap:.9rem}
.pairing-appreciation-block{display:grid;gap:.5rem;overflow-x:auto}
.pairing-appreciation-block h2{margin:0;font-size:.95rem;font-weight:800;color:#111827}
.pairing-appreciation-table-wrap{width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.pairing-appreciation-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:.85rem}
.pairing-appreciation-table th,.pairing-appreciation-table td{border-right:1px solid #e7edf5;border-bottom:1px solid #e7edf5;padding:.45rem;text-align:center;vertical-align:middle}
.pairing-appreciation-table thead th{background:#f8fafc;font-weight:800;color:#111827}
.pairing-appreciation-table thead th:not(:first-child){min-width:120px;white-space:normal;line-height:1.15}
.pairing-appreciation-table tbody th{font-weight:800;color:#111827;background:#fff;text-align:left;min-width:150px;max-width:190px;white-space:normal;line-height:1.15}
.pairing-appreciation-table tr:last-child th,.pairing-appreciation-table tr:last-child td{border-bottom:0}
.pairing-appreciation-table th:last-child,.pairing-appreciation-table td:last-child{border-right:0}
.pairing-appreciation-dash{color:#64748b}
.pairing-appreciation-stepper{display:grid;grid-template-columns:24px 46px 24px;align-items:center;justify-content:center;gap:.15rem}
.pairing-appreciation-stepper__btn{width:24px;height:24px;border:1px solid #c9d0dc;background:#f3f5f8;color:#243044;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.62rem}
.pairing-appreciation-stepper__btn:hover,.pairing-appreciation-stepper__btn:focus{background:#e7f0ff;border-color:#85b7ff;color:#0d6efd}
.pairing-appreciation-stepper .form-control{height:30px;padding:.15rem .25rem;text-align:center;font-weight:800;font-size:.86rem}
.pairing-appreciation-table--settlement td{font-weight:700;color:#111827}
.pairing-appreciation-entry{display:grid;grid-template-columns:minmax(150px,1.1fr) repeat(var(--player-count),minmax(100px,1fr));column-gap:.9rem;row-gap:.35rem;align-items:center;width:100%;min-width:calc(150px + (var(--player-count) * 112px))}
.pairing-appreciation-entry__spacer{min-height:1px}
.pairing-appreciation-entry__player{font-weight:800;color:#111827;text-align:center;line-height:1.15}
.pairing-appreciation-entry__type{display:flex;align-items:center;gap:.45rem;margin:0;font-weight:700;color:#111827}
.pairing-appreciation-entry__type .form-check-input{margin:0;flex:0 0 auto}
.pairing-appreciation-entry__input{display:flex;justify-content:center;margin:0}
.pairing-appreciation-entry__input span{display:none}
.pairing-appreciation-entry__stepper{display:grid;grid-template-columns:24px 48px 24px;align-items:center;justify-content:center;gap:.18rem}
.pairing-appreciation-entry__stepper .form-control{height:34px;text-align:center;font-weight:800;padding:.15rem .25rem}
.pairing-appreciation-entry__actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.pairing-appreciation-entry__actions .btn{min-width:96px}
.pairing-hole-status{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem}
.pairing-hole-chip{display:grid;place-items:center;gap:.04rem;min-height:34px;border:1px solid #d8e0eb;border-radius:7px;background:#fff;color:#60718e;text-decoration:none;cursor:default}
.pairing-hole-chip strong{font-size:.78rem;color:#111827}
.pairing-hole-chip small{font-size:.58rem;font-weight:700;line-height:1;color:#0d6efd}
.pairing-hole-chip span{font-size:.62rem}
.pairing-hole-chip.is-complete{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
.pairing-hole-chip.is-complete strong{color:#047857}
.pairing-hole-chip.is-complete small{color:#047857}
.pairing-hole-chip.is-active{border-color:#0d6efd;box-shadow:0 0 0 2px rgba(13,110,253,.12)}
.share-player-card{background:#fff;border:1px solid #d9dee8;border-radius:12px;box-shadow:0 7px 18px rgba(15,23,42,.045);padding:1rem}
.share-player-url{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}
.share-player-url .form-control{font-size:.9rem}
.share-player-note{margin-top:.75rem;color:#60718e;font-size:.88rem}
.share-expired{max-width:520px;margin:2rem auto;background:#fff;border:1px solid #d9dee8;border-radius:12px;box-shadow:0 7px 18px rgba(15,23,42,.045);padding:2rem;text-align:center}
.share-expired i{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:999px;background:#fff1f2;color:#dc3545;font-size:1.35rem;margin-bottom:.8rem}
.share-expired h1{font-size:1.65rem;margin:0 0 .45rem;font-weight:800}
.share-expired p{margin:0;color:#60718e}
.table form{margin:0}
.master-course-table th,.master-course-table td{white-space:nowrap}
.master-course-table th:nth-child(n+4):nth-child(-n+21),.master-course-table td:nth-child(n+4):nth-child(-n+21){min-width:46px;text-align:center}
.master-course-form{max-width:1180px}
.master-course-hole-grid{display:grid;grid-template-columns:repeat(9,minmax(58px,1fr));gap:.75rem}
.master-course-hole-grid .form-label{font-size:.78rem;font-weight:700;color:#60718e;margin-bottom:.25rem}
.master-course-total-row{display:flex;gap:.75rem;flex-wrap:wrap}
.master-course-total{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #dbe4f0;border-radius:8px;background:#f8fafc;padding:.45rem .7rem;color:#60718e}
.master-course-total span{font-size:.82rem;font-weight:700}
.master-course-total strong{font-size:.95rem;color:#111827}
.master-course-total.is-valid{border-color:#a7f3d0;background:#ecfdf5;color:#047857}
.master-course-total.is-invalid{border-color:#fecaca;background:#fff1f2;color:#b42318}
.master-course-total.is-valid strong{color:#047857}
.master-course-total.is-invalid strong{color:#b42318}
.select2-container--default .select2-selection--single{height:38px;border:1px solid #dee2e6;border-radius:.375rem}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:36px;padding-left:.75rem}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:36px}
.select2-container--default .select2-selection--single .select2-selection__clear{height:36px;margin-right:1.75rem}
.score-board-main.container{max-width:100%;padding-left:2rem;padding-right:2rem}
.score-board-page{display:grid;gap:1rem}
.score-board-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:#fff;border:1px solid #dbe2ee;border-radius:12px;padding:1.1rem 1.25rem;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.score-board-kicker{display:inline-flex;margin-bottom:.25rem;color:#60718e;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.score-board-hero h1{margin:0;font-size:2rem;line-height:1.05;font-weight:800;letter-spacing:0;color:#0f172a}
.score-board-meta{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:.55rem;color:#60718e;font-size:.9rem}
.score-board-meta span{display:inline-flex;align-items:center;gap:.38rem}
.score-board-meta i{color:#0d6efd}
.score-board-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.score-board-sheet{background:#fff;color:#111827;border:1px solid #dbe2ee;border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.06);overflow:hidden}
.score-board-sheet-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #e5eaf2;background:#f8fafc}
.score-board-sheet-title strong{display:block;font-size:1.1rem;line-height:1.15}
.score-board-sheet-title span{display:block;margin-top:.2rem;color:#64748b;font-size:.86rem}
.score-board-best{min-width:96px;text-align:center;background:#0f172a;color:#fff;border-radius:8px;padding:.45rem .7rem}
.score-board-best span{margin:0;color:#cbd5e1;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.score-board-best strong{font-size:1.25rem}
.score-board-table-wrap{width:100%;overflow:auto}
.score-board-table{width:100%;min-width:1320px;border-collapse:separate;border-spacing:0;font-size:.95rem}
.score-board-table th,.score-board-table td{border-right:1px solid #e1e7ef;border-bottom:1px solid #e1e7ef;padding:.46rem .5rem;text-align:center;line-height:1.1;white-space:nowrap}
.score-board-table thead th{position:sticky;top:0;z-index:2;background:#eaf5e7;color:#111827;font-weight:800;border-bottom:1px solid #c9d8c5}
.score-board-table tbody tr:nth-child(even) td{background:#fbfdff}
.score-board-table tbody tr:hover td{background:#f1f7ff}
.score-board-table tbody tr.score-board-par-row td{background:#0f172a!important;color:#fff;font-weight:900}
.score-board-table tbody tr.score-board-par-row .score-board-name{background:#0f172a!important;color:#fff}
.score-board-table tbody tr.score-board-par-row .score-board-total-col,.score-board-table tbody tr.score-board-par-row .score-board-summary-col,.score-board-table tbody tr.score-board-par-row .score-board-hcp-col{background:#1e293b!important;color:#fff}
.score-board-table .score-board-rank{width:3.8rem}
.score-board-table tbody .score-board-rank span{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#edf2f7;font-weight:800}
.score-board-table .score-board-name{position:sticky;left:0;z-index:3;text-align:left;min-width:250px;background:#fff;font-weight:800;border-right:1px solid #cbd5e1}
.score-board-table thead .score-board-name{background:#eaf5e7}
.score-board-table tbody tr:nth-child(even) .score-board-name{background:#fbfdff}
.score-board-table tbody tr:hover .score-board-name{background:#f1f7ff}
.score-board-total-col{background:#f8fafc!important;font-weight:800;color:#0f172a}
.score-board-summary-col{background:#eef6ff!important;font-weight:900;color:#0f172a}
.score-board-summary-col.is-under{color:#047857}
.score-board-summary-col.is-even{color:#2563eb}
.score-board-summary-col.is-over{color:#b42318}
.score-board-hcp-col{background:#fff7ed!important;font-weight:800;color:#9a3412}
.score-board-net-col{background:#ecfdf5!important;font-weight:900;color:#047857}
.score-board-net-col span{display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;padding:.18rem .38rem;border-radius:999px;background:#d1fae5}
.score-board-zero{color:#c4ccd8}
.score-board-hole-stroke{display:block;font-weight:800;line-height:1}
.score-board-hole-score{display:block;margin-top:.12rem;font-size:.68rem;font-weight:800;line-height:1}
.score-board-hole-score.is-under{color:#047857}
.score-board-hole-score.is-even{color:#2563eb}
.score-board-hole-score.is-over{color:#b42318}
.score-board-podium .score-board-rank span{background:#fff3c4;color:#8a5a00}
.score-board-empty{padding:1.4rem!important;color:#64748b}
.live-score-card{background:#fff;border:1px solid #d9dee8;border-radius:12px;box-shadow:0 7px 18px rgba(15,23,42,.045);overflow:hidden}
.live-score-table-wrap{width:100%;overflow:auto}
.live-score-table{width:100%;min-width:1240px;border-collapse:separate;border-spacing:0;color:#202938}
.live-score-table th,.live-score-table td{border-right:1px solid #d7dce5;border-bottom:1px solid #d7dce5;padding:.55rem .45rem;text-align:center;vertical-align:middle;background:#fff}
.live-score-table thead th{position:sticky;top:0;z-index:2;background:#e8f4e3;font-weight:800}
.live-score-table__label{position:sticky;left:0;z-index:3;min-width:168px;text-align:left!important;font-weight:800;background:#fff!important}
.live-score-table thead .live-score-table__label{background:#e8f4e3!important}
.live-score-table__par-row th,.live-score-table__par-row td{background:#050505!important;color:#fff;font-weight:800}
.live-score-table__par-row .score-stepper__input{color:#fff;border-color:#454545}
.score-stepper{display:grid;grid-template-columns:28px 42px 28px;align-items:center;justify-content:center;gap:.2rem;min-width:104px}
.score-stepper__btn{width:28px;height:28px;border:1px solid #c9d0dc;background:#f3f5f8;color:#243044;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}
.score-stepper__btn:hover,.score-stepper__btn:focus{background:#e7f0ff;border-color:#85b7ff;color:#0d6efd}
.score-stepper__input{width:42px;height:30px;border:0;border-bottom:2px solid #aeb6c3;background:transparent;text-align:center;font-weight:700;color:#172033;appearance:textfield}
.score-stepper__input::-webkit-outer-spin-button,.score-stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.live-score-total{font-weight:900;background:#f8fafc!important;color:#101827}
.live-score-table__par-row .live-score-total{background:#050505!important;color:#fff}
.live-score-handicap{font-weight:900;background:#fff7ed!important;color:#9a3412}
.live-score-net{font-weight:900;background:#ecfdf5!important;color:#047857}
.live-score-net__input{width:58px;height:30px;border:0;border-bottom:2px solid #86cfa8;background:transparent;text-align:center;font-weight:900;color:#047857;appearance:textfield}
.live-score-net__input::-webkit-outer-spin-button,.live-score-net__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.live-score-status{padding:.55rem .85rem;font-size:.82rem;color:#60718e;background:#f8fafc}
.live-score-status--error{color:#b42318;background:#fff2f0}
.live-score-sort-control{width:auto;min-width:210px}
.live-score-sort-control .input-group-text,.live-score-sort-control .form-select{font-weight:800}
.login-body{background:#0f172a}
.login-body>nav,.login-body>footer{display:none}
.login-main.container{max-width:100%;padding:0!important;display:flex;align-items:center;justify-content:center}
.login-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.62)),url('https://images.unsplash.com/photo-1535131749006-b7f58c99034b?q=80&w=1600&auto=format&fit=crop') no-repeat center center/cover}
.login-card{width:100%;max-width:420px;padding:2.5rem;border-radius:24px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);box-shadow:0 20px 40px rgba(0,0,0,.3);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.login-card__header{text-align:center;margin-bottom:2.1rem}
.login-card__logo{width:60px;height:60px;margin:0 auto .95rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:#15803d;box-shadow:inset -5px -5px 10px #e0e0e0,0 8px 15px rgba(0,0,0,.2);font-size:1.45rem}
.login-card h1{margin:0 0 .3rem;font-size:1.65rem;line-height:1.1;font-weight:800;letter-spacing:0;color:#fff}
.login-card p{margin:0;color:#e0e0e0;font-size:.9rem}
.login-form{display:grid;gap:1.25rem}
.login-form__error{margin:-.35rem 0 .2rem;padding:.75rem .85rem;border:1px solid rgba(254,202,202,.7);border-radius:10px;background:rgba(185,28,28,.32);color:#fff;font-size:.82rem;line-height:1.4}
.login-form__group{display:grid;gap:.5rem}
.login-form__group label{font-size:.8rem;font-weight:700;color:#dfdfdf;text-transform:uppercase;letter-spacing:.04em}
.login-form__group input{width:100%;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:.95rem;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.login-form__group input::placeholder{color:#cccccc}
.login-form__group input:focus{outline:0;background:rgba(255,255,255,.2);border-color:#4ade80;box-shadow:0 0 15px rgba(74,222,128,.4)}
.login-form__submit{width:100%;min-height:50px;margin-top:.35rem;border:0;border-radius:12px;background:#4ade80;color:#0b220c;font-size:1rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.login-form__submit:hover,.login-form__submit:focus{background:#22c55e;transform:translateY(-2px);box-shadow:0 8px 20px rgba(34,197,94,.4)}
.login-form__submit:active{transform:translateY(0)}
.login-card__link{margin-top:1.25rem;text-align:center}
.login-card__link a{color:#4ade80;text-decoration:none;font-weight:800}
.login-card__link a:hover,.login-card__link a:focus{text-decoration:underline}
.player-session-nav{display:flex;align-items:center;gap:.85rem;color:#fff;font-size:.9rem}
.player-session-nav__name{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.player-session-nav__logout{padding:.42rem .7rem;border:1px solid rgba(255,255,255,.65);border-radius:7px;color:#fff;text-decoration:none;font-weight:700}
.player-session-nav__logout:hover,.player-session-nav__logout:focus{background:#fff;color:#1265d9}
@media(max-width:767.98px){.navbar--player-session .container{flex-wrap:nowrap;gap:.45rem;padding-top:.7rem;padding-bottom:.7rem}.navbar--player-session .navbar-brand-bgc{flex:0 1 auto;min-width:0;margin-right:0;gap:.4rem}.navbar--player-session .navbar-brand-bgc__logo{width:48px;height:30px}.navbar--player-session .navbar-brand-bgc span{font-size:1.12rem;white-space:nowrap}.navbar--player-session .player-session-nav{flex:0 1 auto;min-width:0;width:auto;gap:.4rem;font-size:.78rem}.navbar--player-session .player-session-nav__name{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar--player-session .player-session-nav__logout{padding:.36rem .5rem;flex:0 0 auto}}
@media(max-width:375.98px){.navbar--player-session .navbar-brand-bgc__logo{width:42px;height:27px}.navbar--player-session .navbar-brand-bgc span{font-size:1rem}.navbar--player-session .player-session-nav{font-size:.72rem}.navbar--player-session .player-session-nav__name{max-width:85px}.navbar--player-session .player-session-nav__logout{padding:.32rem .4rem}}
.login-reset-result{display:grid;gap:.25rem;margin-bottom:1.25rem;padding:.9rem 1rem;border:1px solid rgba(74,222,128,.45);border-radius:12px;background:rgba(34,197,94,.16);text-align:center}
.login-reset-result span{font-size:.82rem;color:#e5e7eb}
.login-reset-result strong{font-size:1.8rem;line-height:1.1;color:#4ade80;letter-spacing:.08em}
.login-reset-result small{color:#f3f4f6;font-size:.78rem;line-height:1.3}
/* Responsive tweaks */
@media (min-width:1200px){
    .pairing-score-page{grid-template-columns:minmax(0,1fr) 340px;gap:1rem}
    .pairing-score-panel{padding:1rem;border-radius:12px}
    .pairing-score-row{grid-template-columns:minmax(0,1fr) minmax(190px,240px);gap:.75rem;padding:.75rem}
}
@media (max-width:991px){
    .pairing-list-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
    .pairing-score-page{grid-template-columns:1fr;gap:.85rem}
    .pairing-score-panel{padding:.9rem;border-radius:10px}
    .pairing-score-player{grid-template-columns:minmax(0,1fr);margin-bottom:.85rem;padding:.65rem}
    .pairing-score-player strong{font-size:1rem}
    .pairing-score-row{grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:.6rem;padding:.65rem}
    .pairing-score-row strong{font-size:.95rem}
    .pairing-score-row span{font-size:.76rem;line-height:1.25}
    .pairing-score-stepper{grid-template-columns:26px 48px 26px}
    .pairing-score-stepper__btn{width:26px;height:26px}
    .pairing-score-stepper__placeholder{width:26px;height:26px}
    .pairing-score-row .form-control{height:38px;padding:.2rem .35rem;font-size:1rem}
    .pairing-score-result-select__button{min-height:40px;padding:.42rem .58rem;font-size:.88rem}
    .pairing-score-result-select__menu{max-height:230px;border-radius:8px}
    .pairing-score-result-select__option{min-height:36px;padding:.42rem .55rem;font-size:.88rem}
    .pairing-hole-status{grid-template-columns:repeat(6,minmax(0,1fr))}
    .pairing-hole-chip{min-height:32px}
}
@media (max-width:575px){
    .match-actions{justify-content:flex-start;min-width:0}
    .display-5{font-size:1.6rem}
    body>main{padding-top:1rem!important}
    .mini-match-header{margin-bottom:1rem!important}
    .mini-match-header .col-12{align-items:flex-start!important;gap:.8rem!important;flex-wrap:nowrap!important}
    .mini-match-header__text{max-width:calc(100% - 96px)}
    .mini-match-header .page-title{font-size:1.22rem;line-height:1.12;margin-bottom:.22rem}
    .mini-match-header p{font-size:.72rem;line-height:1.28}
    .mini-match-header .btn{padding:.35rem .52rem;font-size:.72rem;line-height:1.2;white-space:nowrap}
    .mini-match-header .btn i{margin-right:.35rem!important}
    .mini-match-list{gap:.75rem}
    .mini-match-card{border-radius:12px}
    .mini-match-card__main{grid-template-columns:54px minmax(0,1fr) auto;gap:.75rem;min-height:76px;padding:.7rem .8rem}
    .mini-match-card__badge{width:54px;height:54px;border-radius:11px;gap:.2rem;font-size:.58rem}
    .mini-match-card__badge i{font-size:.85rem}
    .mini-match-card__content h2{font-size:1rem;margin-bottom:.22rem}
    .mini-match-card__content p{font-size:.72rem}
    .mini-match-card__otp{min-width:76px}
    .mini-match-card__otp span{font-size:.55rem}
    .mini-match-card__otp-code{min-width:82px;min-height:2rem;border-radius:7px;font-size:1.05rem;gap:.22rem}
    .mini-match-card__otp-code i{font-size:.62rem}
    .mini-match-card__players{min-width:1.7rem;font-size:1.55rem}
    .mini-match-card__meta{display:grid;grid-template-columns:1fr;gap:.55rem;min-height:46px;padding:.55rem .8rem .7rem;align-items:flex-start}
    .mini-match-card__details{font-size:.68rem;row-gap:.15rem}
    .mini-match-card__details span{gap:.28rem;min-height:1.35rem;padding-right:.45rem;margin-right:.45rem}
    .mini-match-card__details i{font-size:.68rem;width:.85rem}
    .mini-match-card__actions{width:100%;display:flex;justify-content:flex-start;gap:.22rem;padding-top:.15rem;overflow:visible;flex-wrap:nowrap}
    .mini-match-card__actions form{flex:1 1 0;min-width:0}
    .mini-match-card__actions .btn{flex:1 1 0;min-width:0;min-height:1.65rem;padding:.18rem .16rem;font-size:.52rem;gap:.12rem}
    .mini-match-card__actions .btn i{font-size:.58rem}
    .player-match-actions{gap:.28rem}
    .player-match-action.btn{min-height:1.75rem;padding:.2rem .18rem;border-radius:7px;font-size:.54rem;box-shadow:none}
    .player-match-action.btn:hover,.player-match-action.btn:focus{transform:none;box-shadow:none}
    .mini-match-pagination{margin-top:.8rem}
    .mini-match-pagination .page-link{min-width:1.8rem;padding:.25rem .45rem;font-size:.78rem}
    .master-course-hole-grid{grid-template-columns:repeat(3,minmax(58px,1fr))}
    .score-board-main.container{padding-left:.75rem;padding-right:.75rem}
    .score-board-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:1rem;gap:.75rem}
    .score-board-hero h1{font-size:1.75rem;line-height:1.04}
    .score-board-meta{gap:.45rem .75rem;font-size:.78rem}
    .score-board-actions{display:grid;grid-template-columns:1fr;min-width:86px}
    .score-board-actions .btn{padding:.5rem .65rem;font-size:.86rem}
    .score-board-sheet-title{padding:.9rem 1rem}
    .score-board-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .score-board-table{width:max-content;min-width:0;font-size:.86rem}
    .score-board-table th,.score-board-table td{min-width:38px;padding:.42rem .38rem}
    .score-board-table .score-board-rank{display:none}
    .score-board-table .score-board-name{left:0;width:136px;min-width:136px;max-width:136px;overflow:hidden;text-overflow:ellipsis}
    .score-board-total-col,.score-board-summary-col,.score-board-hcp-col,.score-board-net-col{min-width:48px!important}
    .score-board-hole-score{font-size:.62rem}
    .live-score-table{min-width:1120px}
    .live-score-table th,.live-score-table td{padding:.45rem .35rem}
    .live-score-table__label{min-width:128px}
    .live-score-sort-control{width:100%;min-width:0}
    .score-stepper{grid-template-columns:26px 38px 26px;min-width:94px}
    .score-stepper__btn{width:26px;height:26px}
    .score-stepper__input{width:38px;height:28px}
    .pairing-list-grid{grid-template-columns:1fr}
    .pairing-list-card header{display:grid;grid-template-columns:1fr;gap:.65rem}
    .pairing-lock-status{text-align:left;min-width:0}
    .pairing-lock-status__top{justify-content:flex-start}
    .pairing-lock-status__holes{justify-content:flex-start}
    .pairing-list-players{grid-template-columns:1fr}
    .pairing-player-card{grid-template-columns:minmax(0,1fr)}
    .pairing-player-card__qr img{width:82px;height:82px}
    .pairing-hole-status{grid-template-columns:repeat(4,minmax(0,1fr))}
    .pairing-score-row{grid-template-columns:1fr}
    .pairing-score-stepper{grid-template-columns:24px 46px 24px}
    .pairing-score-stepper__btn{width:24px;height:24px;font-size:.65rem}
    .pairing-score-stepper__placeholder{width:24px;height:24px}
    .share-player-url{grid-template-columns:1fr}
    .share-player-url .btn{width:100%}
}
@media (max-width:360px){
    .mini-match-header .col-12{flex-wrap:wrap!important}
    .mini-match-header__text{max-width:100%}
    .mini-match-header .btn{width:100%;justify-content:center}
}
@media print{
    body{background:#fff}
    body>nav,body>footer,.score-board-actions{display:none!important}
    .score-board-main.container{max-width:100%;padding:0!important}
    .score-board-hero,.score-board-sheet{box-shadow:none;border:0;border-radius:0}
    .score-board-hero{padding:.4rem 0 .8rem;justify-content:center;text-align:center}
    .score-board-meta{justify-content:center}
    .score-board-sheet-title{background:#fff;border-bottom:1px solid #111}
    .score-board-table{min-width:0;font-size:.72rem}
    .score-board-table th,.score-board-table td{padding:.18rem .22rem}
    .score-board-table .score-board-name{position:static;min-width:170px}
}
