:root{--tbc-ge-primary:#d42f2f;--tbc-ge-success:#16a34a;--tbc-ge-warning:#ea580c;--tbc-ge-text:#1f2937;--tbc-ge-text-muted:#6b7280;--tbc-ge-bg:#ffffff;--tbc-ge-bg-soft:#f9fafb;--tbc-ge-border:#e5e7eb;--tbc-ge-radius:12px;--tbc-ge-radius-sm:8px;--tbc-ge-shadow:0 1px 3px rgba(0,0,0,0.1);--tbc-ge-shadow-lg:0 4px 12px rgba(0,0,0,0.1)}.tbc-ge-exchange{max-width:600px;margin:0 auto;padding:1.5rem 1rem}.tbc-ge-title{font-size:1.75rem;font-weight:700;color:var(--tbc-ge-primary);text-align:center;margin:0 0 1rem;line-height:1.2}.tbc-ge-dates{display:flex;flex-direction:column;gap:.25rem;text-align:center;margin-bottom:1.5rem}.tbc-ge-date{font-size:.9375rem;color:var(--tbc-ge-text)}.tbc-ge-date-label{font-weight:600;color:var(--tbc-ge-success);margin-right:.375rem}.tbc-ge-description{font-size:.9375rem;color:var(--tbc-ge-text-muted);line-height:1.6;margin-bottom:1.5rem}.tbc-ge-description p{margin:0 0 .75rem}.tbc-ge-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--tbc-ge-radius);margin-bottom:1rem}.tbc-ge-notice-icon{font-size:1.25rem;flex-shrink:0}.tbc-ge-notice-text{font-size:1rem;font-weight:500}.tbc-ge-notice-success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.tbc-ge-notice-warning{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.tbc-ge-dashboard-link{text-align:center;font-size:.875rem;color:var(--tbc-ge-text-muted);margin-bottom:1.5rem}.tbc-ge-dashboard-link a{color:var(--tbc-ge-primary);font-weight:500;text-decoration:none}.tbc-ge-dashboard-link a:hover{text-decoration:underline}.tbc-ge-invite{background:var(--tbc-ge-bg-soft);border-radius:var(--tbc-ge-radius);padding:1.25rem;margin-top:1rem}.tbc-ge-invite-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.tbc-ge-invite-icon{font-size:1.25rem}.tbc-ge-invite-title{font-size:1.125rem;font-weight:600;color:var(--tbc-ge-text);margin:0}.tbc-ge-search{margin-bottom:.75rem}.tbc-ge-search-input{width:100%;padding:.625rem .875rem;font-size:.875rem;color:var(--tbc-ge-text);background:var(--tbc-ge-bg);border:1px solid var(--tbc-ge-border);border-radius:var(--tbc-ge-radius-sm);box-sizing:border-box}.tbc-ge-search-input:focus{outline:none;border-color:var(--tbc-ge-primary)}.tbc-ge-search-input::placeholder{color:var(--tbc-ge-text-muted)}.tbc-ge-friends-wrap{position:relative}.tbc-ge-friends-wrap::before,.tbc-ge-friends-wrap::after{content:'';position:absolute;top:0;bottom:0;width:24px;pointer-events:none;z-index:2;opacity:0;transition:opacity 0.2s ease}.tbc-ge-friends-wrap::before{left:0;background:linear-gradient(to right,var(--tbc-ge-bg-soft) 0%,transparent 100%)}.tbc-ge-friends-wrap::after{right:0;background:linear-gradient(to left,var(--tbc-ge-bg-soft) 0%,transparent 100%)}.tbc-ge-friends-wrap.tbc-ge-scroll-left::before,.tbc-ge-friends-wrap.tbc-ge-scroll-right::after{opacity:1}.tbc-ge-friends{display:flex;gap:.75rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.5rem .25rem;margin:0 -.25rem;touch-action:pan-x;cursor:grab;user-select:none}.tbc-ge-friends::-webkit-scrollbar{display:none}.tbc-ge-friends.tbc-ge-dragging{cursor:grabbing;scroll-snap-type:none}.tbc-ge-no-results{padding:1.5rem;text-align:center;color:var(--tbc-ge-text-muted);font-size:.875rem;display:none}.tbc-ge-no-results.tbc-ge-visible{display:block}.tbc-ge-scroll-hint{position:absolute;right:0;top:50%;transform:translateY(-50%);width:28px;height:28px;background:var(--tbc-ge-bg);border:1px solid var(--tbc-ge-border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--tbc-ge-text-muted);box-shadow:var(--tbc-ge-shadow);z-index:3;cursor:pointer;transition:all 0.15s ease}.tbc-ge-scroll-hint:hover{background:var(--tbc-ge-bg-soft);color:var(--tbc-ge-text)}.tbc-ge-scroll-hint.tbc-ge-hidden{display:none}.tbc-ge-friend{flex:0 0 auto;width:100px;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;background:var(--tbc-ge-bg);border-radius:var(--tbc-ge-radius-sm);box-shadow:var(--tbc-ge-shadow);scroll-snap-align:start;text-align:center}.tbc-ge-friend.tbc-ge-friend-hidden{display:none}.tbc-ge-friend-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}.tbc-ge-friend-name{font-size:.75rem;font-weight:500;color:var(--tbc-ge-text);line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbc-ge-invite-btn{width:100%;padding:.375rem .5rem;font-size:.75rem;font-weight:600;color:var(--tbc-ge-primary);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;cursor:pointer;transition:all 0.15s ease}.tbc-ge-invite-btn:hover{background:#fee2e2}.tbc-ge-invite-btn:active{transform:scale(.96)}.tbc-ge-invite-btn.tbc-ge-sending{opacity:.6;pointer-events:none}.tbc-ge-badge{display:inline-block;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;border-radius:6px;white-space:nowrap}.tbc-ge-badge-joined{background:#dcfce7;color:#166534}.tbc-ge-badge-invited{background:#e0e7ff;color:#3730a3}.tbc-ge-friend-joined,.tbc-ge-friend-invited{opacity:.75}.tbc-ge-signup{background:var(--tbc-ge-bg);border-radius:var(--tbc-ge-radius);box-shadow:var(--tbc-ge-shadow-lg);overflow:hidden}.tbc-ge-progress{position:relative;padding:1.25rem 1rem;background:var(--tbc-ge-bg-soft)}.tbc-ge-progress-track{position:absolute;top:50%;left:50px;right:50px;height:2px;background:var(--tbc-ge-border);transform:translateY(-50%);z-index:0}.tbc-ge-progress-fill{position:absolute;top:50%;left:50px;height:2px;background:var(--tbc-ge-primary);transform:translateY(-50%);transition:width 0.3s ease;width:0;z-index:1}.tbc-ge-steps{display:flex;justify-content:space-between;position:relative;z-index:2}.tbc-ge-step{display:flex;flex-direction:column;align-items:center;gap:.375rem}.tbc-ge-step-dot{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:var(--tbc-ge-text-muted);background:var(--tbc-ge-bg);border:2px solid var(--tbc-ge-border);border-radius:50%;transition:all 0.2s ease}.tbc-ge-step-label{font-size:.6875rem;font-weight:500;color:var(--tbc-ge-text-muted);text-transform:uppercase;letter-spacing:.025em}.tbc-ge-step-active .tbc-ge-step-dot,.tbc-ge-step-complete .tbc-ge-step-dot{color:#fff;background:var(--tbc-ge-primary);border-color:var(--tbc-ge-primary)}.tbc-ge-step-active .tbc-ge-step-label,.tbc-ge-step-complete .tbc-ge-step-label{color:var(--tbc-ge-text)}.tbc-ge-form{padding:0}.tbc-ge-panel{display:none;padding:1.5rem 1.25rem}.tbc-ge-panel-active{display:block}.tbc-ge-panel-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.tbc-ge-panel-icon{font-size:1.25rem}.tbc-ge-panel-title{font-size:1rem;font-weight:600;color:var(--tbc-ge-text)}.tbc-ge-field{margin-bottom:.875rem}.tbc-ge-field:last-of-type{margin-bottom:0}.tbc-ge-field input,.tbc-ge-field textarea{width:100%;padding:.875rem 1rem;font-size:1rem;color:var(--tbc-ge-text);background:var(--tbc-ge-bg);border:1px solid var(--tbc-ge-border);border-radius:var(--tbc-ge-radius-sm);transition:border-color 0.15s ease,box-shadow 0.15s ease;box-sizing:border-box}.tbc-ge-field input:focus,.tbc-ge-field textarea:focus{outline:none;border-color:var(--tbc-ge-primary);box-shadow:0 0 0 3px rgb(212 47 47 / .1)}.tbc-ge-field input::placeholder,.tbc-ge-field textarea::placeholder{color:var(--tbc-ge-text-muted)}.tbc-ge-field textarea{resize:vertical;min-height:120px}.tbc-ge-field.tbc-ge-field-error input,.tbc-ge-field.tbc-ge-field-error textarea{border-color:var(--tbc-ge-primary)}.tbc-ge-field-row{display:flex;gap:.75rem;margin-bottom:.875rem}.tbc-ge-field-grow{flex:1;margin-bottom:0}.tbc-ge-field-sm{flex:0 0 80px;margin-bottom:0}.tbc-ge-field-zip{max-width:120px}.tbc-ge-summary{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.tbc-ge-summary-item{background:var(--tbc-ge-bg-soft);padding:1rem;border-radius:var(--tbc-ge-radius-sm)}.tbc-ge-summary-label{display:block;font-size:.8125rem;font-weight:600;color:var(--tbc-ge-text);margin-bottom:.375rem}.tbc-ge-summary-value{font-size:.875rem;color:var(--tbc-ge-text-muted);line-height:1.5}.tbc-ge-actions{padding-top:1rem}.tbc-ge-actions-split{display:flex;gap:.75rem}.tbc-ge-btn{display:block;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;text-align:center;border-radius:var(--tbc-ge-radius-sm);border:1px solid;cursor:pointer;transition:all 0.15s ease;-webkit-tap-highlight-color:#fff0}.tbc-ge-btn:active{transform:scale(.98)}.tbc-ge-btn-next,.tbc-ge-btn-submit{background:#f0fdf4;border-color:#86efac;color:#166534}.tbc-ge-btn-next:hover,.tbc-ge-btn-submit:hover{background:#dcfce7}.tbc-ge-btn-back{background:#fef2f2;border-color:#fecaca;color:#991b1b}.tbc-ge-btn-back:hover{background:#fee2e2}.tbc-ge-actions-split .tbc-ge-btn{flex:1}@media (min-width:640px){.tbc-ge-exchange{padding:2rem 1.5rem}.tbc-ge-title{font-size:2rem}.tbc-ge-dates{flex-direction:row;justify-content:center;gap:2rem}.tbc-ge-friend{width:110px}.tbc-ge-friend-avatar{width:64px;height:64px}.tbc-ge-panel{padding:2rem}.tbc-ge-field-sm{flex:0 0 100px}}