.tie-camp-registration-shell{max-width:1080px;margin:40px auto 80px;color:#0b2144;font-family:inherit}.tie-reg-hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding:42px;border-radius:24px;background:linear-gradient(135deg,#071d3d 0%,#0b4ea2 72%,#1684e8 100%);color:#fff;box-shadow:0 22px 55px rgba(7,29,61,.18);position:relative;overflow:hidden}.tie-reg-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-120px;background:rgba(255,255,255,.08)}.tie-reg-hero-copy{position:relative;z-index:1}.tie-reg-kicker{display:inline-block;font-size:12px;letter-spacing:.16em;font-weight:800;margin-bottom:12px}.tie-reg-hero h1{margin:0;font-size:clamp(30px,4vw,48px);line-height:1.05;color:#fff}.tie-reg-subtitle{font-size:16px;opacity:.82;margin:14px 0 18px}.tie-reg-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;font-weight:800;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12)}.tie-reg-status span,.tie-success-status span{width:8px;height:8px;border-radius:50%;background:#45e58a;box-shadow:0 0 0 5px rgba(69,229,138,.15)}.tie-reg-status.is-closed span{background:#ff6b6b}.tie-reg-fee-card{position:relative;z-index:1;background:#fff;color:#0b2144;border-radius:18px;padding:18px 22px;min-width:220px;box-shadow:0 14px 35px rgba(0,0,0,.18)}.tie-reg-fee-card small{display:block;font-size:10px;letter-spacing:.14em;font-weight:800;color:#53708e}.tie-reg-fee-card strong{display:block;font-size:30px;margin-top:6px}.tie-reg-fee-card em{font-style:normal;font-size:14px;color:#0b67c9}.tie-camp-registration-form{margin-top:22px}.tie-reg-section{background:#fff;border:1px solid #dfe7f2;border-radius:20px;padding:30px;margin-bottom:18px;box-shadow:0 10px 32px rgba(15,35,65,.06)}.tie-reg-section-head{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.tie-reg-section-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef6ff;color:#0b67c9;font-weight:900}.tie-reg-section-head small{display:block;color:#0b67c9;font-size:10px;letter-spacing:.14em;font-weight:900}.tie-reg-section-head h2{margin:3px 0 0;font-size:24px;color:#0b2144}.tie-reg-grid{display:grid;gap:18px}.tie-reg-grid.two{grid-template-columns:1fr 1fr}.tie-reg-grid p{margin:0}.tie-reg-grid p.full{grid-column:1/-1}.tie-reg-grid label{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;margin-bottom:7px}.tie-reg-grid label b{color:#e43c3c}.tie-reg-grid input,.tie-reg-grid select{width:100%;height:52px;border:1px solid #d5dfeb;border-radius:12px;padding:0 14px;font-size:15px;background:#fbfdff;box-sizing:border-box}.tie-reg-grid input:focus,.tie-reg-grid select:focus{border-color:#0b67c9;box-shadow:0 0 0 4px rgba(11,103,201,.1);outline:none}.tie-reg-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tie-choice{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 18px;border:1px solid #d8e2ed;border-radius:15px;background:#fbfdff;cursor:pointer;transition:.2s}.tie-choice:hover{transform:translateY(-2px);border-color:#0b67c9;box-shadow:0 8px 20px rgba(11,78,162,.08)}.tie-choice input{accent-color:#0b67c9}.tie-choice-main{display:flex;flex-direction:column}.tie-choice-main strong{font-size:18px}.tie-choice-main small{color:#6a7d92;margin-top:3px}.tie-choice-cap{font-size:10px;font-weight:900;letter-spacing:.08em;color:#08763f;background:#e7f8ef;padding:7px 9px;border-radius:999px;white-space:nowrap}.tie-choice.is-full{opacity:.5;cursor:not-allowed}.tie-choice.is-full .tie-choice-cap{color:#9b3030;background:#fdecec}.tie-reg-summary-section{background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}.tie-reg-summary{display:flex;justify-content:space-between;align-items:center;border:1px solid #dbe5f0;background:#fff;border-radius:14px;padding:18px 20px;margin-bottom:16px}.tie-reg-summary span{font-size:12px;letter-spacing:.08em;font-weight:800;color:#62758a}.tie-reg-summary strong{font-size:24px;color:#0b2144}.tie-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#526579;margin:16px 0 22px}.tie-consent input{margin-top:3px;accent-color:#16a05d}.tie-submit-button{border:0;border-radius:15px;background:linear-gradient(135deg,#0c9a54,#12b766);color:#fff;min-height:62px;width:100%;font-size:17px;font-weight:900;letter-spacing:.1em;cursor:pointer;box-shadow:0 13px 30px rgba(16,164,91,.24);display:flex;justify-content:center;align-items:center;gap:20px;transition:.2s}.tie-submit-button:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(16,164,91,.32)}.tie-submit-button b{font-size:25px}.tie-reg-note{font-size:12px;color:#74859a;text-align:center;margin:14px 0 0}.tie-reg-closed,.tie-reg-alert{padding:22px 25px;background:#fff;border:1px solid #e1e8f0;border-radius:16px;margin-top:22px}.tie-reg-closed strong,.tie-reg-closed span{display:block}.tie-reg-closed span{margin-top:5px;color:#6b7b8d}.tie-reg-success{background:#fff;border:1px solid #dfe7f2;border-radius:24px;padding:50px;box-shadow:0 15px 45px rgba(15,35,65,.08);text-align:center}.tie-success-icon{margin:0 auto 18px;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#e7f8ef;color:#0b9a54;font-size:38px;font-weight:900}.tie-reg-success h1{font-size:42px;margin:0 0 10px}.tie-reg-success p{color:#63758a}.tie-success-number{margin:28px auto 15px;padding:20px;background:#f5f9fd;border-radius:16px;max-width:420px}.tie-success-number small{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;color:#0b67c9}.tie-success-number strong{display:block;font-size:30px;letter-spacing:.08em;margin-top:5px}.tie-success-status{display:inline-flex;gap:9px;align-items:center;background:#fff4d8;color:#916900;padding:10px 15px;border-radius:999px;font-size:11px;letter-spacing:.1em;font-weight:900}.tie-success-status span{background:#f3bd24;box-shadow:0 0 0 5px rgba(243,189,36,.15)}.tie-payment-box{text-align:left;max-width:600px;margin:28px auto 0;padding:24px;border:1px solid #dfe7f2;border-radius:18px;background:#fbfdff}.tie-payment-box h2{margin-top:0}.tie-payment-box p{display:flex;justify-content:space-between;border-bottom:1px solid #e8eef5;padding-bottom:10px}.tie-payment-box small{color:#718096}.tie-payment-instructions{margin-top:14px;padding:15px;background:#f0f6fc;border-radius:12px;color:#526579;font-size:13px}@media(max-width:700px){.tie-camp-registration-shell{margin:20px auto 50px}.tie-reg-hero{padding:26px;display:block}.tie-reg-fee-card{margin-top:20px}.tie-reg-grid.two,.tie-reg-choice-grid{grid-template-columns:1fr}.tie-reg-section{padding:22px}.tie-reg-success{padding:32px 20px}.tie-reg-success h1{font-size:34px}}
.tie-payment-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 28px;border-radius:14px;background:linear-gradient(135deg,#0c9a54,#12b766);color:#fff!important;text-decoration:none!important;font-size:15px;font-weight:900;letter-spacing:.08em;box-shadow:0 14px 30px rgba(16,164,91,.24);transition:.2s}.tie-payment-action:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(16,164,91,.32)}.tie-payment-success{background:#e9f9f0;border-color:#bfe9d0;color:#087443}.tie-payment-success strong{color:#087443}

/* =========================================================
 * v0.4.2 · PREMIUM PAYMENT UI
 * UI-only styling. Registration/payment/database logic unchanged.
 * ========================================================= */

.tie-payment-info-card{
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
    border:1px solid #d9e6f3 !important;
    color:#0b2144 !important;
    border-radius:20px !important;
    padding:28px !important;
    box-shadow:0 14px 36px rgba(11,33,68,.08) !important;
    position:relative;
    overflow:hidden;
}
.tie-payment-info-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,#0b4ea2 0%,#1684e8 55%,#45a9ff 100%);
}
.tie-payment-info-card h2{
    color:#0b2144 !important;
    font-size:22px !important;
    line-height:1.2;
    margin:0 0 20px !important;
    font-weight:850 !important;
}
.tie-payment-info-card p{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin:0 !important;
    padding:14px 0 !important;
    border-bottom:1px solid #e3ebf4 !important;
    color:#0b2144 !important;
}
.tie-payment-info-card p:last-of-type{
    border-bottom:0 !important;
}
.tie-payment-info-card p small{
    color:#6a7e95 !important;
    font-size:12px !important;
    font-weight:700;
    letter-spacing:.04em;
}
.tie-payment-info-card p strong{
    color:#102d50 !important;
    font-size:15px;
    font-weight:850;
    text-align:right;
}
.tie-payment-info-card p:last-of-type strong{
    font-size:18px;
    letter-spacing:.04em;
}
.tie-payment-info-card .tie-payment-instructions{
    background:#eef6ff !important;
    border:1px solid #d5e7fa !important;
    color:#49637e !important;
    border-radius:14px !important;
    padding:15px 17px !important;
    margin-top:16px !important;
    line-height:1.6;
}
.tie-payment-upload-section{
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.tie-payment-upload-card{
    border:1px dashed #a9c7e5;
    border-radius:20px;
    background:linear-gradient(180deg,#fafdff 0%,#f2f8ff 100%);
    padding:30px 24px;
    text-align:center;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.tie-payment-upload-card:hover{
    border-color:#0b67c9;
    box-shadow:0 12px 28px rgba(11,78,162,.09);
}
.tie-payment-upload-icon{
    width:54px;
    height:54px;
    margin:0 auto 13px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:#e7f2ff;
    color:#0b67c9;
    font-size:28px;
    font-weight:900;
}
.tie-payment-upload-title{
    color:#0b2144;
    font-size:18px;
    font-weight:850;
    margin-bottom:6px;
}
.tie-payment-upload-copy{
    color:#6a7e95;
    font-size:13px;
    line-height:1.55;
    margin-bottom:18px;
}
.tie-payment-file-picker{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    border-radius:12px;
    background:#0b4ea2;
    color:#fff;
    cursor:pointer;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    box-shadow:0 9px 22px rgba(11,78,162,.20);
    transition:.2s ease;
}
.tie-payment-file-picker:hover{
    background:#0a438b;
    transform:translateY(-1px);
}
.tie-payment-file-picker input[type="file"]{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
}
.tie-payment-file-name{
    margin-top:13px;
    color:#7890a8;
    font-size:10px;
    font-weight:800;
    letter-spacing:.07em;
    word-break:break-word;
}
.tie-payment-file-name.is-selected{
    color:#087443;
    font-size:12px;
    letter-spacing:0;
}
.tie-payment-upload-section .tie-submit-button{
    margin-top:18px;
}
@media(max-width:700px){
    .tie-payment-info-card{
        padding:22px !important;
    }
    .tie-payment-info-card p{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
    }
    .tie-payment-info-card p strong{
        text-align:left;
    }
    .tie-payment-upload-card{
        padding:26px 18px;
    }
    .tie-payment-file-picker{
        width:100%;
        box-sizing:border-box;
    }
}

/* v0.4.3 · Payment Information card spacing fix */
.tie-payment-info-card{
    padding:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}
.tie-payment-info-inner{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:28px 30px 24px !important;
}
.tie-payment-info-card h2{
    display:block !important;
    margin:0 0 20px !important;
    padding:0 !important;
    position:static !important;
    width:auto !important;
    box-sizing:border-box !important;
}
.tie-payment-info-card p{
    width:100% !important;
    box-sizing:border-box !important;
    margin:0 !important;
}
.tie-payment-info-card .tie-payment-instructions{
    width:100% !important;
    box-sizing:border-box !important;
}
@media(max-width:700px){
    .tie-payment-info-inner{
        padding:24px 20px 20px !important;
    }
}


/* v0.8.3 — Public Jersey Size / Body Chart */
.tie-jersey-size-chart{margin:0 0 24px;padding:14px;border:1px solid #dbe7f3;border-radius:16px;background:#f8fbff;text-align:center;overflow:hidden}
.tie-jersey-size-chart img{display:block;width:auto;max-width:100%;height:auto;max-height:680px;margin:0 auto;border-radius:10px}


/* =========================================================
 * v0.8.4 · REGISTRATION HERO & CAPACITY POLISH
 * ========================================================= */
.tie-reg-event-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin:18px 0 2px;position:relative;z-index:1}
.tie-reg-event-meta-item{display:flex;align-items:center;gap:10px;min-width:0}
.tie-reg-event-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:15px;flex:0 0 30px}
.tie-reg-event-meta-item div{display:flex;flex-direction:column;min-width:0}
.tie-reg-event-meta-item small{font-size:9px;letter-spacing:.14em;font-weight:900;opacity:.62;line-height:1.2}
.tie-reg-event-meta-item strong{font-size:14px;line-height:1.35;color:#fff;font-weight:800;white-space:normal}
.tie-reg-event-meta+.tie-reg-subtitle{margin-top:14px}
.tie-choice-cap{max-width:120px;text-align:center}
@media(max-width:700px){
    .tie-reg-event-meta{display:grid;grid-template-columns:1fr;gap:9px;margin-top:15px}
    .tie-reg-event-meta-item strong{font-size:13px}
    .tie-choice-cap{max-width:110px}
}
