.checkout-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;padding:20px}.checkout-modal{background:var(--bg-surface,#fff);border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3)}.checkout-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color,#e0e0e0)}.checkout-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.checkout-modal .close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all .2s}.checkout-modal .close-btn:hover{background:var(--bg-hover,#f5f5f5);color:var(--text-primary)}.checkout-modal-body{padding:24px;overflow-y:auto;flex:1 1}.checkout-items{display:flex;flex-direction:column;gap:16px}.checkout-item{display:flex;gap:12px;padding:16px;background:var(--bg-hover,#f5f5f5);border-radius:12px}.checkout-item-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--primary,#1976d2);color:white;border-radius:50%;font-size:14px;font-weight:600;flex-shrink:0}.checkout-item-content{flex:1 1;min-width:0}.checkout-item-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.checkout-item-category{display:inline-block;margin-left:8px;padding:2px 8px;background:var(--primary-light,rgba(25,118,210,.1));color:var(--primary,#1976d2);border-radius:12px;font-size:12px;font-weight:500}.checkout-item-location{font-size:13px;color:var(--text-muted);margin-bottom:12px}.checkout-item-details{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.checkout-detail{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.checkout-detail svg{color:var(--text-tertiary,#9e9e9e);flex-shrink:0}.checkout-detail .detail-secondary{color:var(--text-muted)}.checkout-item-price{font-size:1.1rem;font-weight:700;color:var(--text-primary);text-align:right}.checkout-summary{margin-top:20px;padding-top:20px;border-top:2px solid var(--border-color,#e0e0e0)}.checkout-total-row{display:flex;align-items:center;justify-content:space-between}.total-label{font-size:1rem;color:var(--text-secondary)}.total-amount{font-size:1.5rem;font-weight:700;color:var(--primary,#1976d2)}.checkout-error{margin-top:16px;padding:12px 16px;background:var(--error-bg,#ffebee);color:var(--error,#c62828);border-radius:8px;font-size:14px}.checkout-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--border-color,#e0e0e0)}.checkout-btn-primary,.checkout-btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.checkout-btn-secondary{flex:1 1;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color,#e0e0e0)}.checkout-btn-secondary:hover:not(:disabled){background:var(--bg-hover,#f5f5f5)}.checkout-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.checkout-btn-primary{flex:2 1;background:var(--primary,#1976d2);color:white;border:none}.checkout-btn-primary:hover:not(:disabled){background:var(--primary-dark,#1565c0)}.checkout-btn-primary:disabled{opacity:.7;cursor:not-allowed}.checkout-btn-primary .spin{animation:checkout-spin 1s linear infinite}@keyframes checkout-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:480px){.checkout-modal-overlay{padding:0;align-items:flex-end}.checkout-modal{max-width:100%;max-height:85vh;border-radius:16px 16px 0 0}.checkout-modal-body,.checkout-modal-footer,.checkout-modal-header{padding-left:16px;padding-right:16px}.checkout-item{padding:12px}.checkout-modal-footer{flex-direction:column-reverse}.checkout-btn-primary,.checkout-btn-secondary{flex:none;width:100%}}[data-theme=dark] .checkout-modal{background:var(--bg-surface-dark,#1e1e1e)}[data-theme=dark] .checkout-modal-footer,[data-theme=dark] .checkout-modal-header{border-color:var(--border-color-dark,#333)}[data-theme=dark] .checkout-item{background:#2a2a2a}[data-theme=dark] .checkout-item-number{background:var(--primary,#1976d2)}[data-theme=dark] .checkout-item-category{background:rgba(25,118,210,.2)}[data-theme=dark] .checkout-btn-secondary,[data-theme=dark] .checkout-summary{border-color:var(--border-color-dark,#333)}[data-theme=dark] .checkout-error{background:rgba(198,40,40,.15)}.manual-payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:2147483647;padding:20px}.manual-payment-modal{background:var(--bg-surface,#fff);border-radius:16px;max-width:480px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3)}.manual-payment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color,#e0e0e0)}.manual-payment-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.manual-payment-modal .close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all .2s}.manual-payment-modal .close-btn:hover{background:var(--bg-hover,#f5f5f5);color:var(--text-primary)}.manual-payment-modal-body{padding:24px;overflow-y:auto;flex:1 1}.payment-instructions-modal{padding:16px;background:var(--bg-hover,#f5f5f5);border-radius:12px;margin-bottom:20px;font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.payment-instructions-modal p{margin:0 0 8px}.payment-instructions-modal p:last-child{margin-bottom:0}.upload-section{margin-bottom:16px}.upload-section .upload-label{font-size:.95rem;color:var(--text-secondary);margin:0 0 12px;font-weight:500}.file-upload-area-modal{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;border:2px dashed var(--border-color,#e0e0e0);border-radius:12px;cursor:pointer;transition:all .2s;text-align:center;background:var(--bg-surface,#fff)}.file-upload-area-modal.dragging,.file-upload-area-modal:hover{border-color:var(--primary);background:rgba(255,69,0,.05)}.file-upload-area-modal .upload-icon{color:var(--text-muted);margin-bottom:12px}.file-upload-area-modal .upload-text{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0 0 4px}.file-upload-area-modal .upload-subtext{font-size:.9rem;color:var(--text-muted);margin:0 0 8px}.file-upload-area-modal .upload-format{font-size:.85rem;color:var(--text-tertiary);margin:0}.selected-file-modal{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-hover,#f5f5f5);border-radius:10px;border:1px solid var(--border-color)}.selected-file-modal .file-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1}.selected-file-modal .file-icon{font-size:1.3rem;flex-shrink:0}.selected-file-modal .file-name{font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.selected-file-modal .file-size{font-size:.85rem;color:var(--text-muted);flex-shrink:0}.selected-file-modal .btn-remove-file{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;flex-shrink:0;transition:all .2s}.selected-file-modal .btn-remove-file:hover{background:var(--bg-card);color:var(--text-primary)}.upload-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}.upload-progress .spin{color:var(--primary);animation:manual-payment-spin 1s linear infinite}.upload-progress p{margin:12px 0 0;font-size:.95rem;color:var(--text-secondary)}.upload-success{flex-direction:column;padding:40px 24px;text-align:center}.upload-success,.upload-success .success-icon{display:flex;align-items:center;justify-content:center}.upload-success .success-icon{width:64px;height:64px;background:var(--success,#4caf50);color:white;border-radius:50%;font-size:2rem;font-weight:700;margin-bottom:16px}.upload-success .success-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.upload-success .success-text{font-size:.95rem;color:var(--text-secondary);margin:0}.manual-payment-error{margin-top:16px;padding:12px 16px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:var(--danger,#ef4444);border-radius:10px;font-size:.9rem}.manual-payment-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--border-color,#e0e0e0)}.manual-payment-btn-primary,.manual-payment-btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.manual-payment-btn-secondary{flex:1 1;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color,#e0e0e0)}.manual-payment-btn-secondary:hover:not(:disabled){background:var(--bg-hover,#f5f5f5)}.manual-payment-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.manual-payment-btn-primary{flex:2 1;background:var(--gradient-cta);color:#ffffff;border:none;box-shadow:0 6px 20px rgba(255,69,0,.3)}.manual-payment-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,69,0,.4);color:#ffffff}.manual-payment-btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}@keyframes manual-payment-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.manual-payment-btn-primary .spin{animation:manual-payment-spin 1s linear infinite}@media (max-width:480px){.manual-payment-modal-overlay{padding:0;align-items:flex-end}.manual-payment-modal{max-width:100%;max-height:85vh;border-radius:16px 16px 0 0}.manual-payment-modal-body,.manual-payment-modal-footer,.manual-payment-modal-header{padding-left:16px;padding-right:16px}.manual-payment-modal-footer{flex-direction:column-reverse}.manual-payment-btn-primary,.manual-payment-btn-secondary{flex:none;width:100%}}[data-theme=dark] .manual-payment-modal{background:var(--bg-surface-dark,#1e1e1e)}[data-theme=dark] .manual-payment-modal-footer,[data-theme=dark] .manual-payment-modal-header{border-color:var(--border-color-dark,#333)}[data-theme=dark] .payment-instructions-modal{background:#2a2a2a}[data-theme=dark] .file-upload-area-modal{background:#1e1e1e;border-color:#444}[data-theme=dark] .file-upload-area-modal.dragging,[data-theme=dark] .file-upload-area-modal:hover{background:rgba(255,69,0,.1)}[data-theme=dark] .selected-file-modal{background:#2a2a2a;border-color:#444}[data-theme=dark] .manual-payment-btn-secondary{border-color:var(--border-color-dark,#333)}[data-theme=dark] .manual-payment-error{background:rgba(239,68,68,.15)}.court-cart{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px;margin-bottom:16px}.court-cart-header{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.court-cart-items{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.court-cart-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-surface);border-radius:8px;font-size:.9rem}.cart-item-info{flex:1 1;min-width:0}.cart-item-main{display:flex;align-items:center;gap:8px;margin-bottom:4px}.cart-item-court{font-weight:500;color:var(--text-primary)}.cart-item-category{font-size:.8rem;color:var(--text-muted);padding:2px 6px;background:var(--bg-card);border-radius:4px}.cart-item-details{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:var(--text-muted)}.cart-item-price{font-weight:500;color:var(--text-primary)}.cart-item-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s;flex-shrink:0}.cart-item-remove:hover{background:var(--bg-hover);color:var(--text-primary)}.cart-item-remove.confirm{background:var(--danger);color:white}.court-cart-error{padding:10px 12px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--danger);font-size:.9rem;margin-bottom:12px}.court-cart-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--border-color)}.court-cart-total{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--text-muted);white-space:nowrap}.court-cart-total .total-price{font-size:1.2rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.court-cart-book-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--gradient-cta);color:#ffffff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s var(--ease-bounce);white-space:nowrap;flex:1 1;min-width:0;box-shadow:0 6px 20px rgba(255,69,0,.3)}.court-cart-book-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,69,0,.4);color:#ffffff}.court-cart-book-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.court-cart-book-btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sidebar-cart .court-cart{padding:12px}.sidebar-cart .court-cart-footer{flex-direction:column;align-items:stretch}.sidebar-cart .court-cart-total{justify-content:space-between}.sidebar-cart .court-cart-book-btn{width:100%}.sidebar-cart .cart-item-main{flex-wrap:wrap}.sidebar-cart .cart-item-details{font-size:.8rem}.court-cart.manual-payment-mode{max-height:none}.manual-payment-content{padding:8px 0}.payment-instructions{padding:12px;background:var(--bg-surface);border-radius:8px;margin-bottom:16px;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.payment-instructions p{margin:0 0 8px}.payment-instructions p:last-child{margin-bottom:0}.payment-upload-section{margin-bottom:12px}.upload-label{font-size:.9rem;color:var(--text-secondary);margin:0}.file-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.file-upload-area.dragging,.file-upload-area:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.05)}.upload-icon{font-size:2rem;margin-bottom:8px}.upload-text{font-size:.95rem;font-weight:500;color:var(--text-primary);margin:0 0 4px}.upload-subtext{font-size:.85rem;color:var(--text-muted);margin:0 0 8px}.upload-format{font-size:.8rem;color:var(--text-tertiary);margin:0}.selected-file{justify-content:space-between;padding:12px;background:var(--bg-surface);border-radius:8px;margin-bottom:12px}.file-info,.selected-file{display:flex;align-items:center}.file-info{gap:8px;min-width:0}.file-icon{font-size:1.2rem;flex-shrink:0}.file-name{font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.8rem}.btn-remove-file,.file-size{color:var(--text-muted);flex-shrink:0}.btn-remove-file{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;cursor:pointer;border-radius:4px;font-size:1rem}.btn-remove-file:hover{background:var(--bg-hover);color:var(--text-primary)}.upload-status{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.upload-status p{margin:8px 0 0;font-size:.9rem;color:var(--text-secondary)}.upload-status.success{color:var(--success)}.upload-status .success-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--success);color:white;border-radius:50%;font-size:1.5rem;font-weight:700}.upload-status .spin{animation:spin 1s linear infinite}.court-cart-close-btn{display:flex;align-items:center;justify-content:center;padding:10px 16px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s}.court-cart-close-btn:hover{background:var(--bg-hover)}@media (max-width:640px){.court-cart{padding:12px}.court-cart-item{flex-direction:column;align-items:flex-start}.cart-item-remove{position:absolute;right:8px;top:8px}.court-cart-item{position:relative;padding-right:40px}.court-cart-footer{flex-direction:column;gap:12px}.court-cart-book-btn{width:100%}}