:root{--primary-purple:#2b0b3e;--primary-yellow:#fac508;--accent-pink:#b839e1;--dark-purple:#1a0628;--light-purple:#3d1555}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#2b0b3e,#b839e1 50%,#2b0b3e);background:linear-gradient(135deg,var(--primary-purple) 0,var(--accent-pink) 50%,var(--primary-purple) 100%);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;min-height:100vh}.main-content{flex:1 1;margin-left:250px;min-width:0;padding:20px}@media (max-width:768px){.main-content{margin-left:0;padding:calc(75px + env(safe-area-inset-top)) max(15px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left))}}.loading{align-items:center;display:flex;flex-direction:column;font-size:24px;font-weight:600;gap:20px;height:100vh;justify-content:center;text-shadow:2px 2px 4px #000c,-1px -1px 2px #00000080}.loading:before{animation:spin 1s linear infinite;border:6px solid #8a2be233;border-radius:50%;border-top-color:#8a2be2;content:"";height:60px;width:60px}.page{margin:0 auto;max-width:1400px}.page-header{align-items:flex-start}.page-header>div{flex:1 1}.page-header h1{font-size:32px;margin-bottom:10px}.page-header p{color:#ffffffe6;font-size:16px;text-shadow:0 1px 2px #0003}.card{padding:20px}.card,.card h2{margin-bottom:20px}.card h2{color:#333;font-size:24px}.button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.button-primary{background-color:var(--primary-yellow);color:var(--primary-purple);font-weight:600}.button-primary:hover{background-color:#e0b307;box-shadow:0 4px 8px #fac5084d;transform:translateY(-1px)}.button-secondary{background-color:#6c757d;color:#fff}.button-secondary:hover{background-color:#545b62}.button-warning{background-color:#ffc107;color:#212529}.button-warning:hover{background-color:#e0a800}.button-success{background-color:var(--primary-yellow);color:var(--primary-purple);font-weight:600}.button-success:hover{background-color:#e0b307}.button-danger{background-color:#dc3545;color:#fff}.button-danger:hover{background-color:#c82333}table{border-collapse:collapse;width:100%}table thead{background-color:#f8f9fa}table td,table th{border-bottom:1px solid #dee2e6;padding:12px;text-align:left}table th{color:#495057;font-weight:600}table tbody tr:hover{background-color:#f8f9fa}.form-group label{color:#495057}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-yellow);box-shadow:0 0 0 .2rem #fac50840}.alert{border-radius:4px;margin-bottom:20px;padding:12px 20px}.alert-success{border:1px solid #c3e6cb}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-info{border:1px solid #bee5eb}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{padding:20px}.stat-card h3{color:#666;font-size:14px;font-weight:500;margin-bottom:10px}.stat-card .value{color:#333;font-size:32px;font-weight:700}.stat-card .change{font-size:14px;margin-top:8px}.stat-card .change.positive{color:#28a745}.stat-card .change.negative{color:#dc3545}.modal-overlay{z-index:2000}.modal{max-width:500px}.modal-large{max-width:900px}.modal-actions{gap:12px}.badge{display:inline-block}.badge-success{background-color:#d4edda;color:#155724}.badge-danger{background-color:#f8d7da;color:#721c24}.badge-admin{background-color:#d1ecf1;color:#0c5460}.badge-member{background-color:#e2e3e5;color:#383d41}.badge-info{background-color:#d1ecf1;color:#0c5460}.button-sm{font-size:12px;padding:6px 12px}.tabs{border-bottom:2px solid #e9ecef;margin-bottom:20px}.tab{border-bottom:3px solid #0000;color:#6c757d;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 20px}.tab.active,.tab:hover{color:var(--primary-yellow)}.tab.active{border-bottom-color:var(--primary-yellow)}@media (max-width:768px){.page-header{flex-direction:column;gap:15px}.page-header h1{font-size:24px}.page-header p{font-size:14px}.stats-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-card{padding:15px}.stat-card h3{font-size:12px}.stat-card .value{font-size:24px}.card{padding:15px}.card,.card h2{margin-bottom:15px}.card h2{font-size:20px}table{font-size:14px}table td,table th{padding:8px}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.modal{max-height:85vh;padding:20px;width:95%}.modal h2{font-size:20px}.button{font-size:14px;padding:12px 16px}.form-group input,.form-group select,.form-group textarea{font-size:16px}}.member-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:15px;padding:15px}.member-card-header{align-items:flex-start;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.member-card-info{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:12px}.member-card-info small{color:#6c757d;display:block;font-size:.8em;margin-bottom:4px}.member-card-actions{display:flex;flex-wrap:wrap;gap:8px}.member-card-actions .button{flex:1 1;min-width:100px}.desktop-only{display:block}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none}.mobile-only{display:block}.club-rules-button{font-size:16px;padding:16px;width:100%}}.club-rules-button{display:inline-block;min-width:200px}.login-page{align-items:center;background:linear-gradient(135deg,var(--primary-purple) 0,var(--accent-pink) 50%,var(--primary-purple) 100%);background-attachment:fixed;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0}.login-logo{display:block;height:240px;margin:-24px auto}.login-container{background:#fff;border:3px solid var(--primary-yellow);border-radius:16px;box-shadow:0 20px 60px #2b0b3e4d;margin:0 auto;max-width:440px;padding:48px 40px;width:100%}.login-header{margin-bottom:40px;text-align:center}.login-header h1{color:var(--primary-purple);font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.login-header p{color:var(--primary-purple);font-size:15px;font-weight:500;opacity:.7}.login-form{margin-bottom:24px}.login-form .form-group{margin-bottom:20px}.login-form label{color:var(--primary-purple);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.login-form input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 16px;transition:all .2s ease;width:100%}.login-form input:focus{border-color:var(--primary-yellow);box-shadow:0 0 0 3px #f9c80e1a;outline:none}.login-button{border-radius:8px;font-size:16px;font-weight:600;margin-top:24px;padding:14px;transition:all .2s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 4px 12px #f9c80e66;transform:translateY(-1px)}.login-footer{border-top:1px solid #e8e8e8;margin-top:8px;padding-top:24px;text-align:center}.login-footer p{color:var(--primary-purple);font-size:13px;font-weight:500;opacity:.6}.login-page a{color:var(--accent-pink);font-weight:600;text-decoration:none}.login-page a:hover{color:var(--primary-purple);text-decoration:underline}.login-form .alert{border-radius:8px;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px}.login-form .alert-error{background-color:#fee;border:1px solid #fcc;color:#c33}@media (max-width:768px){.login-page{padding:16px}.login-container{max-width:100%;padding:36px 28px}.login-header h1{font-size:24px}.login-header p{font-size:14px}.login-button{font-size:15px;padding:13px}}@media (max-width:400px){.login-container{padding:28px 20px}}.toast-container{display:flex;flex-direction:column;gap:10px;max-width:400px;position:fixed;right:20px;top:20px;z-index:10000}.toast{align-items:center;animation:slideIn .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;gap:12px;min-width:280px;padding:14px 16px}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.toast-success .toast-icon{background:#d4edda;color:#155724}.toast-error .toast-icon{background:#f8d7da;color:#721c24}.toast-warning .toast-icon{background:#fff3cd;color:#856404}.toast-info .toast-icon{background:#cce5ff;color:#004085}.toast-message{color:#333;flex:1 1;font-size:14px;line-height:1.4}.toast-close{background:none;border:none;color:#999;cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;padding:0}.toast-close:hover{color:#666}.toast-success{border-left:4px solid #28a745}.toast-error{border-left:4px solid #dc3545}.toast-warning{border-left:4px solid #ffc107}.toast-info{border-left:4px solid #17a2b8}@media (max-width:480px){.toast-container{left:10px;max-width:none;right:10px}.toast{min-width:auto}}.dashboard-container{max-width:1400px}.users-page{padding-bottom:80px}.users-header{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.users-header-actions{display:flex;flex-wrap:wrap;gap:10px}.users-header-actions .button{align-items:center;display:flex;flex:1 1;font-size:14px;gap:6px;justify-content:center;min-width:140px;padding:12px 16px}.users-search-container{margin-bottom:20px}.users-search-input{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .2s;width:100%}.users-search-input:focus{border-color:var(--primary-yellow);box-shadow:0 0 0 3px #fac5081a;outline:none}.users-count{color:#fff;font-size:18px;font-weight:600;margin:0 0 10px;text-shadow:0 2px 4px #0000004d}.user-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:12px;padding:16px;transition:transform .2s,box-shadow .2s}.user-card:active{box-shadow:0 1px 4px #0000001a;transform:scale(.98)}.user-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.user-card-identity{flex:1 1;min-width:0}.user-card-username{word-wrap:break-word;color:#333;font-size:18px;font-weight:600;margin:0 0 6px}.user-card-email{color:#666;font-size:14px;margin:0;word-break:break-all}.user-card-badges{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.user-badge{border-radius:20px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.user-badge.role-admin{background-color:#dc3545;color:#fff}.user-badge.role-member{background-color:#6c757d;color:#fff}.user-badge.membership-active{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.user-badge.membership-onboarding{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.user-badge.membership-guest{background-color:#e2e3e5;border:1px solid #d6d8db;color:#6c757d}.user-badge.status-active{background-color:#d4edda;color:#155724}.user-badge.status-inactive{background-color:#f8d7da;color:#721c24}.user-badge.has-application{background-color:#d1ecf1;color:#0c5460}.user-card-info{grid-gap:12px;background:#f8f9fa;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:12px;padding:12px}.user-card-info-item{display:flex;flex-direction:column;gap:4px}.user-card-info-label{color:#666;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.user-card-info-value{color:#333;font-size:14px;font-weight:600}.user-card-balance{color:#28a745;font-size:18px;font-weight:700}.user-card-actions{display:flex;gap:10px}.user-action-btn{align-items:center;background-color:var(--primary-yellow);border:none;border-radius:8px;color:var(--primary-purple);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;min-height:44px;padding:12px 16px;transition:all .2s}.user-action-btn:active{opacity:.8;transform:scale(.95)}.fab-add-user{align-items:center;background-color:var(--primary-yellow);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;color:var(--primary-purple);cursor:pointer;display:flex;font-size:28px;font-weight:700;height:60px;justify-content:center;position:fixed;right:20px;transition:all .3s;width:60px;z-index:100}.fab-add-user:active{box-shadow:0 2px 8px #0000004d;transform:scale(.95)}.fab-add-user:hover{box-shadow:0 6px 16px #0006;transform:scale(1.05)}.desktop-header-actions{display:none}.users-modal-overlay{-webkit-overflow-scrolling:touch;align-items:flex-end;background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:0;position:fixed;right:0;top:0;z-index:1000}.users-modal{animation:slideUp .3s ease;background:#fff;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;padding:20px;width:100%}.users-modal h2{color:#333;font-size:24px;margin:0 0 20px}.users-form-group{margin-bottom:20px}.users-form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.users-form-group input,.users-form-group select{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px;width:100%}.users-form-group input:focus,.users-form-group select:focus{border-color:var(--primary-yellow);box-shadow:0 0 0 3px #fac5081a;outline:none}.users-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.users-modal-actions .button{border-radius:8px;font-size:16px;min-height:48px;padding:14px;width:100%}.users-empty-state{color:#666;padding:40px 20px;text-align:center}.users-empty-state-icon{font-size:64px;margin-bottom:16px}.users-empty-state h3{color:#333;font-size:20px;margin-bottom:8px}.users-empty-state p{color:#666;font-size:14px;margin-bottom:20px}.users-alert{border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:16px;padding:16px}.users-alert.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.users-alert.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.users-alert.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.users-stats-bar{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.users-stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:16px;text-align:center}.users-stat-value{color:var(--primary-purple);font-size:32px;font-weight:700;margin-bottom:4px}.users-stat-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.users-filters{-webkit-overflow-scrolling:touch;display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:10px}.users-filter-chip{background:#fff;border:2px solid #ddd;border-radius:20px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s;white-space:nowrap}.users-filter-chip.active{background:var(--primary-yellow);border-color:var(--primary-yellow);color:var(--primary-purple)}.users-filter-chip:active{transform:scale(.95)}@media (min-width:768px){.fab-add-user{display:none}.desktop-header-actions{display:flex;gap:10px}.users-header{align-items:center;flex-direction:row;justify-content:space-between}.user-card{display:none}.users-modal-overlay{align-items:center;padding:20px}.users-modal{animation:fadeIn .3s ease;border-radius:12px;max-height:90vh;max-width:600px}.users-modal-actions{flex-direction:row;justify-content:flex-end}.users-modal-actions .button{min-width:120px;width:auto}.users-stats-bar{grid-template-columns:repeat(4,1fr)}}@media (min-width:1200px){.users-page{padding-bottom:20px}}@media (prefers-contrast:high){.user-card{border:2px solid #333}.user-badge{border:2px solid}}.manage-user-page{padding-bottom:20px}@supports (-webkit-touch-callout:none){input[type=date],input[type=email],input[type=month],input[type=number],input[type=password],input[type=text],select,textarea{font-size:16px!important}}.manage-user-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.manage-user-header-title h1{word-wrap:break-word;font-size:24px;margin:0 0 4px}.manage-user-header-subtitle{word-wrap:break-word;font-size:14px;opacity:.9}.manage-user-back-btn{align-items:center;display:flex;font-size:14px;gap:6px;justify-content:center;min-height:44px;padding:12px 16px;width:100%}.manage-user-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:20px}.manage-user-stat-card{background:#f8f9fa;border-radius:12px;padding:16px;text-align:center}.manage-user-stat-card h3{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.manage-user-stat-value{word-wrap:break-word;font-size:24px;font-weight:700;margin-bottom:12px}.manage-user-stat-value.active{color:#28a745}.manage-user-stat-value.inactive{color:#dc3545}.manage-user-stat-value.member{color:#28a745}.manage-user-stat-value.guest{color:#6c757d}.role-selector{background-color:#fff;border:2px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:16px;margin-top:10px;min-height:44px;padding:10px 12px;transition:border-color .2s;width:100%}.role-selector:hover{border-color:var(--primary-purple)}.role-selector:focus{border-color:var(--primary-yellow);box-shadow:0 0 0 3px #fac50833;outline:none}.manage-user-stat-card button{font-size:14px;min-height:44px;padding:12px 16px;width:100%}.manage-user-qr-value{background:#fff;border-radius:8px;color:#495057;font-family:monospace;font-size:11px;line-height:1.4;margin-bottom:12px;padding:8px;word-break:break-all}.manage-user-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.manage-user-actions button{align-items:center;display:flex;font-size:15px;gap:8px;justify-content:center;min-height:48px;padding:14px 16px;width:100%}.manage-user-section-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.manage-user-section-title{flex:1 1}.manage-user-section-title h2{font-size:20px;margin:0 0 4px}.manage-user-section-subtitle{color:#666;font-size:14px;margin:0}.manage-user-section-actions{display:flex;flex-direction:column;gap:10px}.manage-user-section-actions button{font-size:14px;min-height:44px;padding:12px 16px;width:100%}.manage-user-balance{color:#28a745;font-size:28px;font-weight:700}.manage-user-transaction-card{background:#f8f9fa;border-left:4px solid #dee2e6;border-radius:12px;margin-bottom:12px;padding:16px}.manage-user-transaction-card.credit{border-left-color:#28a745}.manage-user-transaction-card.debit{border-left-color:#ffc107}.manage-user-transaction-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.manage-user-transaction-type{border-radius:20px;font-size:11px;font-weight:600;padding:4px 12px;text-transform:uppercase}.manage-user-transaction-type.credit{background-color:#d4edda;color:#155724}.manage-user-transaction-type.debit{background-color:#fff3cd;color:#856404}.manage-user-transaction-amount{font-size:20px;font-weight:700}.manage-user-transaction-amount.positive{color:#28a745}.manage-user-transaction-amount.negative{color:#dc3545}.manage-user-transaction-details{display:flex;flex-direction:column;gap:6px}.manage-user-transaction-date{color:#666;font-size:13px}.manage-user-transaction-description{color:#333;font-size:14px}.manage-user-payment-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:12px;padding:16px}.manage-user-payment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.manage-user-payment-month{color:#333;font-size:16px;font-weight:600}.manage-user-payment-amount{color:#28a745;font-size:18px;font-weight:700}.manage-user-payment-details{grid-gap:12px;border-top:1px solid #e9ecef;display:grid;gap:12px;grid-template-columns:1fr 1fr;padding-top:12px}.manage-user-payment-detail-item{display:flex;flex-direction:column;gap:4px}.manage-user-payment-detail-label{color:#666;font-size:11px;font-weight:600;text-transform:uppercase}.manage-user-payment-detail-value{color:#333;font-size:13px}.manage-user-payment-notes{border-top:1px solid #e9ecef;color:#666;font-size:13px;font-style:italic;margin-top:12px;padding-top:12px}.manage-user-renewal-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:20px}.manage-user-renewal-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:16px}.manage-user-renewal-card h3{font-size:12px;letter-spacing:.5px;margin:0 0 8px;opacity:.9;text-transform:uppercase}.manage-user-renewal-value{font-size:20px;font-weight:700;margin-bottom:4px}.manage-user-renewal-subtitle{font-size:13px;opacity:.85}.manage-user-empty-state{color:#666;padding:40px 20px;text-align:center}.manage-user-empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.5}.manage-user-empty-state p{font-size:14px;margin:0}.manage-user-modal-overlay{-webkit-overflow-scrolling:touch;align-items:flex-end;background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:0;position:fixed;right:0;top:0;z-index:1000}.manage-user-modal{animation:slideUp .3s ease;background:#fff;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;padding:20px;width:100%}.manage-user-modal h2{color:#333;font-size:22px;margin:0 0 16px}.manage-user-form-group{margin-bottom:20px}.manage-user-form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.manage-user-form-group input,.manage-user-form-group select,.manage-user-form-group textarea{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px;width:100%}.manage-user-form-group input:focus,.manage-user-form-group select:focus,.manage-user-form-group textarea:focus{border-color:var(--primary-yellow);box-shadow:0 0 0 3px #fac5081a;outline:none}.manage-user-form-group small{color:#666;display:block;font-size:13px;margin-top:6px}.manage-user-form-group input[type=checkbox]{margin-right:8px;width:auto}.manage-user-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.manage-user-modal-actions .button{border-radius:8px;font-size:16px;min-height:48px;padding:14px;width:100%}.manage-user-alert{border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:16px;padding:16px}.manage-user-alert.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.manage-user-alert.warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.manage-user-alert.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.manage-user-password-box{background:#fff;border:2px dashed #ffc107;border-radius:8px;margin:16px 0;padding:20px;text-align:center}.manage-user-password-value{color:#d63384;font-family:monospace;font-size:20px;font-weight:700;letter-spacing:2px;word-break:break-all}.manage-user-table-desktop{display:none}.manage-user-payments-mobile,.manage-user-transactions-mobile{display:block}@media (min-width:768px){.manage-user-table-desktop{display:block}.manage-user-payments-mobile,.manage-user-transactions-mobile{display:none}.manage-user-header{align-items:flex-start;flex-direction:row;justify-content:space-between}.manage-user-back-btn{min-width:140px;width:auto}.manage-user-stats-grid{grid-template-columns:repeat(2,1fr)}.manage-user-actions{flex-direction:row;justify-content:flex-start}.manage-user-actions button{min-width:160px;width:auto}.manage-user-section-header{align-items:center;flex-direction:row}.manage-user-section-actions{flex-direction:row}.manage-user-section-actions button{min-width:140px;width:auto}.manage-user-renewal-grid{grid-template-columns:repeat(2,1fr)}.manage-user-modal-overlay{align-items:center;padding:20px}.manage-user-modal{animation:fadeIn .3s ease;border-radius:12px;max-height:90vh;max-width:600px}.manage-user-modal-actions{flex-direction:row;justify-content:flex-end}.manage-user-modal-actions .button{min-width:120px;width:auto}.manage-user-payment-card,.manage-user-transaction-card{display:none}}@media (min-width:1024px){.manage-user-stats-grid{grid-template-columns:repeat(4,1fr)}.manage-user-modal{max-width:700px}}@media (prefers-contrast:high){.manage-user-payment-card,.manage-user-stat-card,.manage-user-transaction-card{border:2px solid #333}}.events-subsection{margin-bottom:25px}.events-subsection:last-child{margin-bottom:0}.events-subsection h3{border-bottom:2px solid #e0e0e0;color:#333;font-size:18px;margin:0 0 15px;padding-bottom:10px}.events-list{display:flex;flex-direction:column;gap:10px}.event-item{align-items:center;background:#f8f9fa;border-left:3px solid #007bff;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.event-item.past-event{border-left-color:#6c757d;opacity:.7}.event-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.event-info strong{color:#333;font-size:15px}.event-date{color:#666;font-size:13px}.event-stats{color:#007bff;font-size:14px;font-weight:600}.event-status{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.event-status .badge{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px;text-transform:capitalize}.event-status .status-going{background:#d4edda;color:#155724}.event-status .status-interested{background:#fff3cd;color:#856404}.event-status .status-not_going{background:#f8d7da;color:#721c24}.checked-in-badge{font-size:12px}.not-attended-badge{color:#6c757d;font-size:12px}@media (max-width:768px){.event-item{align-items:flex-start;flex-direction:column;gap:10px}.event-status{align-items:flex-start;flex-direction:row;gap:8px}}.devices-page{padding-bottom:80px}@supports (-webkit-touch-callout:none){input[type=email],input[type=password],input[type=text],select,textarea{font-size:16px!important}}.devices-header{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.devices-header-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.devices-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr}.device-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:16px}.device-card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.device-card-title{flex:1 1;min-width:0}.device-card-title h3{word-wrap:break-word;color:#333;font-size:18px;font-weight:600;margin:0 0 4px}.device-card-type{color:#666;font-size:13px;text-transform:capitalize}.device-status-badge{border-radius:20px;flex-shrink:0;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.device-status-badge.active{background-color:#d4edda;color:#155724}.device-status-badge.inactive{background-color:#f8d7da;color:#721c24}.device-card-location{align-items:center;color:#666;display:flex;font-size:14px;gap:6px;margin-bottom:16px}.device-card-location:before{content:"📍"}.device-revenue-section{background:#f8f9fa;border-radius:8px;margin-bottom:16px;padding:12px}.device-revenue-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.device-revenue-item{display:flex;flex-direction:column;gap:4px}.device-revenue-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.device-revenue-value{color:#333;font-size:20px;font-weight:700}.device-revenue-value.today{color:#28a745}.device-progress{margin-top:8px}.device-progress-label{align-items:center;color:#666;display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.device-progress-bar-container{background-color:#e0e0e0;border-radius:6px;height:12px;overflow:hidden;width:100%}.device-progress-bar{border-radius:6px;height:100%;overflow:hidden;position:relative;transition:width .5s ease}.device-progress-bar.low{background:linear-gradient(90deg,#ff9800,#ff6b35)}.device-progress-bar.medium{background:linear-gradient(90deg,#2196f3,#00bcd4)}.device-progress-bar.high{background:linear-gradient(90deg,#4caf50,#8bc34a)}.device-progress-bar.complete{background:linear-gradient(90deg,#4caf50,#66bb6a)}.device-card-meta{border-bottom:1px solid #e0e0e0;color:#666;display:flex;font-size:12px;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px 0 16px}.device-card-meta-item{display:flex;flex:1 1;flex-direction:column;gap:4px}.device-card-meta-label{color:#999;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.device-card-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.device-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;min-height:44px;padding:12px 16px;transition:all .2s}.device-action-btn.primary{background-color:#6c757d;color:#fff}.device-action-btn.primary:active{background-color:#5a6268}.device-action-btn.danger{background-color:#dc3545;color:#fff}.device-action-btn.danger:active{background-color:#c82333}.device-action-btn.warning{background-color:#ffc107;color:#212529}.device-action-btn.warning:active{background-color:#e0a800}.device-action-btn.success{background-color:#28a745;color:#fff}.device-action-btn.success:active{background-color:#218838}.fab-add-device{align-items:center;background-color:var(--primary-yellow);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;color:var(--primary-purple);cursor:pointer;display:flex;font-size:28px;height:60px;justify-content:center;position:fixed;right:20px;transition:all .3s;width:60px;z-index:100}.fab-add-device:active{box-shadow:0 2px 8px #0000004d;transform:scale(.95)}.desktop-add-btn{display:none}.device-modal-overlay{-webkit-overflow-scrolling:touch;align-items:flex-end;background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:0;position:fixed;right:0;top:0;z-index:1000}.device-modal{animation:slideUp .3s ease;background:#fff;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto;padding:20px;width:100%}.device-modal h2{color:#333;font-size:24px;margin:0 0 20px}.device-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.device-modal-actions .button{border-radius:8px;font-size:16px;min-height:48px;padding:14px;width:100%}.device-alert{border-radius:8px;font-size:14px;line-height:1.5;margin-bottom:16px;padding:16px}.device-alert.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.device-alert.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.device-alert.warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.device-alert.info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.device-form-group{margin-bottom:20px}.device-form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.device-form-group input,.device-form-group select{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px;width:100%}.device-form-group input:focus,.device-form-group select:focus{border-color:var(--primary-yellow);box-shadow:0 0 0 3px #fac5081a;outline:none}.device-api-key-display{overflow-wrap:break-word;padding:12px;user-select:all;-webkit-user-select:all;word-break:break-all}.device-api-key-display,.device-config-code{background-color:#f5f5f5;border:1px solid #ddd;border-radius:8px;font-family:Courier New,monospace;font-size:13px}.device-config-code{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:16px;white-space:pre}.devices-empty-state{color:#666;padding:40px 20px;text-align:center}.devices-empty-state-icon{font-size:64px;margin-bottom:16px}.devices-empty-state h3{color:#333;font-size:20px;margin-bottom:8px}.devices-empty-state p{color:#666;font-size:14px;margin-bottom:20px}@media (min-width:768px){.devices-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.fab-add-device{display:none}.desktop-add-btn{display:inline-flex}.device-modal-overlay{align-items:center;padding:20px}.device-modal{animation:fadeIn .3s ease;border-radius:12px;max-height:90vh;max-width:600px}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.device-modal-actions{flex-direction:row;justify-content:flex-end}.device-modal-actions .button{min-width:120px;width:auto}}@media (min-width:1200px){.devices-grid{grid-template-columns:repeat(3,1fr)}}@media (prefers-contrast:high){.device-card{border:2px solid #333}.device-progress-bar-container{border:1px solid #666}}.device-analytics-section{border-top:2px solid #e0e0e0;margin-top:20px;padding-top:20px}.goal-progress{margin-top:20px}.goal-bar{background-color:#e0e0e0;border-radius:8px;height:50px;overflow:hidden;position:relative;width:100%}.goal-fill{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transition:width .5s ease}.goal-text{color:#fff;font-size:1.1em;font-weight:700;text-shadow:1px 1px 2px #00000080;z-index:1}.goal-info{margin-top:15px}.date-range-selector{display:flex;flex-wrap:wrap;gap:5px}.date-range-selector button{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.date-range-selector button:hover{background:#f0f0f0}.date-range-selector button.active{background:var(--primary-yellow);border-color:var(--primary-yellow);color:var(--primary-purple);font-weight:600}.date-range-selector button:disabled{cursor:not-allowed;opacity:.5}.alert-success{background-color:#d4edda;border-color:#c3e6cb;border-left:4px solid #28a745;border-radius:4px;color:#155724;padding:12px}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;border-left:4px solid #17a2b8;border-radius:4px;color:#0c5460;padding:12px}.subtitle{font-size:.85em;margin-top:5px}@media (max-width:768px){.date-range-selector button{font-size:.9em;padding:6px 12px}}.enhanced-qr-container{align-items:center;background-color:#fff;border-radius:8px;display:flex;flex-direction:column;gap:15px;padding:15px;position:relative}.enhanced-qr-container.fullscreen{background-color:#fff;border-radius:0;bottom:0;cursor:pointer;left:0;overflow-y:auto;padding:40px 20px;position:fixed;right:0;top:0;z-index:9999}.enhanced-qr-container.fullscreen,.qr-display{align-items:center;display:flex;justify-content:center}.qr-display{background:#fff;border-radius:8px;padding:20px}.enhanced-qr-container.fullscreen .qr-display{box-shadow:0 8px 32px #0000001a;padding:40px}.qr-user-info{text-align:center;width:100%}.qr-user-name{color:#333;font-size:16px;font-weight:600;margin-bottom:5px}.enhanced-qr-container.fullscreen .qr-user-name{font-size:24px;margin-bottom:10px;margin-top:20px}.qr-user-badge{background-color:#f8f9fa;border-radius:15px;color:#666;display:inline-block;font-size:14px;padding:5px 15px}.enhanced-qr-container.fullscreen .qr-user-badge{font-size:16px;padding:8px 20px}.qr-status{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.status-badge{border-radius:4px;gap:5px}.status-badge.info{background-color:#d1ecf1;color:#0c5460}.qr-actions{display:flex;flex-direction:column;gap:10px;width:100%}.enhanced-qr-container.fullscreen .qr-actions{bottom:30px;left:50%;min-width:200px;position:absolute;transform:translateX(-50%);width:auto}.brightness-hint{animation:slideDown .3s ease-out;left:50%;max-width:400px;position:absolute;top:20px;transform:translateX(-50%);width:90%;z-index:10000}.brightness-hint-content{background:linear-gradient(135deg,#fac508,#f0b800);border-radius:12px;box-shadow:0 4px 20px #0003;color:#2b0b3e;padding:15px 20px;text-align:center}.brightness-hint-icon{font-size:32px;margin-bottom:8px}.brightness-hint-content p{font-size:14px;line-height:1.5;margin:0 0 12px}.brightness-hint-content strong{font-weight:700}.brightness-hint-close{background:#2b0b3e;border:none;border-radius:6px;color:#fac508;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:transform .2s}.brightness-hint-close:hover{transform:scale(1.05)}.fullscreen-exit-hint{background:#2b0b3ecc;border-radius:6px;color:#fff;font-size:12px;font-weight:500;padding:8px 16px;position:absolute;right:10px;top:10px}@media (max-width:768px){.enhanced-qr-container{padding:10px}.qr-display{padding:15px}.enhanced-qr-container.fullscreen .qr-display{padding:20px}.brightness-hint{width:85%}.brightness-hint-content{padding:12px 15px}.brightness-hint-icon{font-size:24px}.brightness-hint-content p{font-size:13px}.qr-actions button{font-size:14px;padding:12px 16px}.fullscreen-exit-hint{font-size:11px;padding:6px 12px}}@media (min-width:769px) and (max-width:1024px){.enhanced-qr-container.fullscreen .qr-display{padding:60px}.enhanced-qr-container.fullscreen .qr-user-name{font-size:28px}}.enhanced-qr-container.fullscreen{-webkit-user-select:none;user-select:none}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;padding:15px}.card h2{color:#212529;font-size:18px;margin:0 0 15px}@media (min-width:768px){.card{margin-bottom:20px;padding:20px}.card h2{font-size:24px}}.status-info{gap:12px}.status-row{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.status-label{font-size:14px;font-weight:600}.sync-results{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:15px}.sync-results h3{color:#495057;font-size:18px;margin-bottom:12px;margin-top:0}.sync-results h4{color:#495057;font-size:16px;margin-bottom:10px;margin-top:15px}.stats-grid{grid-gap:10px;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:15px}.stat-card{background:#fff;border:2px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px;text-align:center}.stat-card.stat-success{border-color:var(--primary-yellow)}.stat-card.stat-warning{border-color:var(--accent-pink)}.stat-card.stat-danger{border-color:#dc3545}.stat-value{color:#333;font-size:1.5em;margin-bottom:5px}.stat-label{color:#6c757d;font-size:.75em;letter-spacing:.5px}@media (min-width:768px){.status-row{align-items:center;flex-direction:row;gap:10px}.status-label{font-size:16px;min-width:120px}.sync-results{padding:20px}.sync-results h3{font-size:20px}.sync-results h4{font-size:18px}.stats-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{padding:20px}.stat-value{font-size:2em}.stat-label{font-size:.9em}}.sync-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.sync-actions .button{width:100%}@media (min-width:768px){.sync-actions{flex-direction:row;flex-wrap:wrap}.sync-actions .button{flex:1 1;min-width:150px;width:auto}}.code-snippet{background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;color:#495057;font-family:Courier New,monospace;font-size:.85em;padding:2px 6px}.text-muted{color:#6c757d;font-size:.9em}.empty-state{padding:40px 20px}.empty-state p{margin:10px 0}.info-card{background:linear-gradient(135deg,var(--primary-purple) 0,var(--accent-pink) 50%,var(--primary-purple) 100%);color:#fff}.info-card h2,.info-card h3{color:#fff}.info-content{margin-top:20px}.info-content h3{font-size:1.1em;margin-bottom:10px;margin-top:20px}.info-content ol,.info-content p,.info-content ul{color:#fffffff2;line-height:1.6}.info-content ol{padding-left:20px}.info-content ul{list-style:none;padding-left:0}.info-content ul li{margin:8px 0}.info-content a{color:#fff;font-weight:600;text-decoration:underline}.info-content a:hover{opacity:.8}.info-content code{background:#fff3;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;padding:2px 8px}.info-content .badge{border-radius:4px;display:inline-block;font-size:.85em;font-weight:600;padding:4px 8px}.info-content .badge.badge-success{background:#28a745e6}.info-content .badge.badge-warning{background:#ffc107e6;color:#333}.info-content .badge.badge-danger{background:#dc3545e6}@media (max-width:768px){.stats-grid{grid-template-columns:1fr 1fr}.status-row{align-items:flex-start;flex-direction:column}.status-label{min-width:auto}}.square-catalog-page{margin:0 auto;max-width:1400px;padding:20px}.btn-primary{font-weight:500}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{background-color:#ccc}.catalog-info{background-color:#e7f3ff;border-left:4px solid #007bff;border-radius:4px;margin-bottom:20px;padding:15px}.catalog-info p{color:#555;margin:0}.catalog-table{background-color:#fff;border-collapse:collapse;border-radius:4px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.catalog-table thead{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.catalog-table th{color:#495057;font-size:14px;font-weight:600;padding:12px;text-align:left}.catalog-table tbody tr{border-bottom:1px solid #dee2e6}.catalog-table tbody tr:hover{background-color:#f8f9fa}.catalog-table tbody tr.inactive{opacity:.6}.catalog-table td{font-size:14px;padding:12px}.variation-name{color:#6c757d;font-weight:400}.catalog-id{background-color:#f1f3f5;border-radius:3px;font-family:monospace;font-size:12px;padding:2px 6px}.date{color:#6c757d;font-size:13px}.status-badge{font-weight:500}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.btn-toggle{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px}.btn-toggle.activate{background-color:#28a745;color:#fff}.btn-toggle.activate:hover{background-color:#218838}.btn-toggle.deactivate{background-color:#dc3545;color:#fff}.btn-toggle.deactivate:hover{background-color:#c82333}.catalog-footer{background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;margin-top:20px;padding:15px}.catalog-footer p{color:#856404;font-size:14px;margin:0}.payment-review-page{margin:0 auto;max-width:1600px;padding:20px}.success-message{background-color:#efe;border-left:4px solid #060;border-radius:4px;color:#060}.review-section{background-color:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:20px}.review-section h2{color:#333;font-size:22px;margin:0 0 10px}.section-description{color:#666;font-size:14px;margin:0 0 20px}.no-items{color:#999;font-style:italic;padding:40px 20px}.payment-table{border-collapse:collapse;width:100%}.payment-table thead{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.payment-table th{color:#495057;font-size:14px;font-weight:600;padding:12px;text-align:left}.payment-table tbody tr{border-bottom:1px solid #dee2e6}.payment-table tbody tr:hover{background-color:#f8f9fa}.payment-table td{font-size:14px;padding:12px}.email{color:#6c757d;font-size:13px}.days-diff{color:#dc3545;font-weight:600}.payment-id{background-color:#f1f3f5;border-radius:3px;display:inline-block;font-family:monospace;font-size:11px;max-width:150px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.dup-badge{background-color:#ffc107;border-radius:12px;color:#856404;font-size:12px;font-weight:600;padding:4px 10px}.btn-action{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px}.btn-action:hover{background-color:#0056b3}.btn-action.btn-delete{background-color:#dc3545}.btn-action.btn-delete:hover{background-color:#c82333}.modal-overlay{background-color:#00000080}.modal-content{background-color:#fff;box-shadow:0 4px 6px #0000001a;max-height:80vh;max-width:600px;width:90%}.modal-header{border-bottom:1px solid #dee2e6;padding:20px}.modal-header h3{color:#333;font-size:20px;margin:0}.modal-close{background:none;color:#6c757d;height:30px;width:30px}.modal-close:hover{color:#333}.modal-body{padding:20px}.payment-details{background-color:#f8f9fa;border-radius:4px;margin-bottom:20px;padding:15px}.payment-details p{font-size:14px;margin:8px 0}.form-input,.form-textarea{border:1px solid #ced4da;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;width:100%}.form-input:focus,.form-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.modal-footer{border-top:1px solid #dee2e6;display:flex;gap:10px;justify-content:flex-end;padding:20px}.btn-cancel{background-color:#6c757d;font-weight:500}.btn-cancel:hover{background-color:#5a6268}.btn-confirm{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-confirm:hover{background-color:#0056b3}.btn-confirm.btn-danger{background-color:#dc3545}.btn-confirm.btn-danger:hover{background-color:#c82333}.sync-history-page{margin:0 auto;max-width:1200px;padding:20px}.page-header h1{color:#333}.header-actions{align-items:center;display:flex;gap:10px}.filter-select{background-color:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:14px;padding:10px}.filter-select:focus{border-color:#007bff;outline:none}.btn-refresh{background-color:#6c757d;font-weight:500}.btn-refresh:hover{background-color:#5a6268}.error-message{background-color:#fee;border-left:4px solid #c00;color:#c00}.loading,.no-items{color:#666;font-size:16px;padding:60px 20px;text-align:center}.sync-list{display:flex;flex-direction:column;gap:15px}.sync-card{background-color:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:box-shadow .2s}.sync-card:hover{box-shadow:0 2px 8px #00000026}.sync-card.failed{border-left:4px solid #dc3545}.sync-card.completed{border-left:4px solid #28a745}.sync-card.running{border-left:4px solid #ffc107}.sync-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;-webkit-user-select:none;user-select:none}.sync-header:hover{background-color:#f8f9fa}.sync-main-info{flex:1 1}.sync-type{color:#333;font-size:18px;font-weight:600;margin-bottom:4px}.sync-time{color:#6c757d;font-size:13px}.sync-stats{align-items:center;display:flex;flex:2 1;gap:15px;justify-content:flex-end}.status-badge.success{background-color:#d4edda;color:#155724}.status-badge.error{background-color:#f8d7da;color:#721c24}.status-badge.pending{background-color:#fff3cd;color:#856404}.stat{color:#495057;font-size:14px}.stat strong{color:#007bff;margin-right:3px}.stat.warning strong{color:#ffc107}.stat.error strong{color:#dc3545}.sync-toggle{color:#6c757d;font-size:14px;margin-left:15px}.sync-details{background-color:#f8f9fa;border-top:1px solid #dee2e6;padding:20px}.details-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item strong{color:#6c757d;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#333;font-size:14px}.error-details{background-color:#fff5f5;border:1px solid #feb2b2;border-radius:4px;margin-bottom:20px;padding:15px}.error-details strong{color:#c53030;display:block;font-size:14px;margin-bottom:10px}.error-details pre{background-color:#fff;border-radius:3px;color:#c53030;font-family:monospace;font-size:12px;margin:0;overflow-x:auto;padding:10px}.sync-summary{background-color:#fff;border-radius:4px;padding:15px}.sync-summary h4{color:#333;font-size:16px;margin:0 0 10px}.sync-summary ul{margin:0;padding-left:20px}.sync-summary li{color:#495057;font-size:14px;margin:6px 0}.sync-summary .error-item{color:#dc3545;font-weight:600}.developer-tools{margin:0 auto;max-width:1200px;padding:15px}.developer-tools .page-header{margin-bottom:20px}.developer-tools .page-header h1{color:#f8f9fa;font-size:24px;margin:0;text-align:center}.developer-tools .tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.developer-tools .tab{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:140px;padding:10px 16px;transition:all .3s}.developer-tools .tab:hover{background:#fff3;border-color:#ffffff80}.developer-tools .tab.active{background:#fff;border-color:#fff;color:#2b0b3e}.developer-tools .tab-content{margin-top:20px}.developer-tools .card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.developer-tools .card h2{color:#212529;font-size:20px;margin:0 0 10px}.developer-tools .card-description{color:#666;font-size:14px;line-height:1.5;margin-bottom:20px}.developer-tools .button-group{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.developer-tools .btn{border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 20px;text-align:center;transition:all .2s;width:100%}.developer-tools .btn:disabled{cursor:not-allowed;opacity:.6}.developer-tools .btn-success{background-color:#28a745;color:#fff}.developer-tools .btn-success:hover:not(:disabled){background-color:#218838}.developer-tools .btn-danger{background-color:#dc3545;color:#fff}.developer-tools .btn-danger:hover:not(:disabled){background-color:#c82333}.developer-tools .btn-warning{background-color:#ff9800;color:#fff}.developer-tools .btn-warning:hover:not(:disabled){background-color:#e68900}.developer-tools .btn-full-width{margin-top:10px;width:100%}.developer-tools .user-info{background-color:#f8f9fa;border-radius:6px;font-size:14px;line-height:1.8;margin-top:20px;padding:12px}.developer-tools .info-box{background-color:#e7f3ff;border-left:4px solid #06c;border-radius:4px;color:#004085;font-size:14px;line-height:1.6;margin-top:16px;padding:12px}.developer-tools .info-box strong{font-weight:600}.developer-tools .loading{color:#666;padding:20px;text-align:center}@media (min-width:768px){.developer-tools{padding:20px}.developer-tools .page-header h1{font-size:32px}.developer-tools .tab{flex:initial;font-size:16px;min-width:160px;padding:12px 24px}.developer-tools .card{padding:25px}.developer-tools .card h2{font-size:24px}.developer-tools .card-description{font-size:16px}.developer-tools .button-group{flex-direction:row}.developer-tools .btn{font-size:16px}.developer-tools .btn-full-width{max-width:600px}}@media (min-width:1024px){.developer-tools{padding:30px}}.event-management{margin-top:30px}.event-management h3{color:#1a1f29;font-size:20px;margin-bottom:15px}.active-event-banner{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding:20px}.active-event-content{display:flex;flex-direction:column;gap:5px}.active-badge{font-size:12px;font-weight:700;letter-spacing:1px}.event-dates{font-size:13px;opacity:.9}.create-event-form{margin-bottom:20px}.form-row{display:flex;flex-wrap:wrap}.form-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;min-width:250px;padding:10px}.events-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:15px}.events-table thead{background:#f5f5f5}.events-table th{border-bottom:2px solid #e0e0e0;color:#333;padding:12px;text-align:left}.events-table tbody tr{border-bottom:1px solid #f0f0f0}.events-table tbody tr:hover{background:#fafafa}.events-table td{padding:12px}.status-active{background:#d4edda;color:#155724}.status-inactive{background:#e0e0e0;color:#666}.no-events{color:#666;padding:20px;text-align:center}.btn-danger:hover:not(:disabled){background:#c82333}@media (max-width:768px){.active-event-banner{align-items:stretch}.active-event-banner,.form-row{flex-direction:column}.form-input{width:100%}.events-table{font-size:13px}.events-table td,.events-table th{padding:8px}}.event-series-management{margin:0 auto;max-width:1200px;padding:20px}.series-form-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px}.series-form-container h2{color:#2b0b3e;margin-top:0}.series-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;gap:20px}.form-group input[type=number],.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px}.form-group input[type=checkbox]{margin-right:8px;width:auto}.form-actions{margin-top:10px}.series-list{grid-gap:20px;display:grid;gap:20px}.series-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:25px;transition:box-shadow .2s}.series-card:hover{box-shadow:0 4px 12px #00000026}.series-card.inactive{background:#f8f9fa;opacity:.7}.series-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.series-header h3{color:#2b0b3e;margin:0}.series-status{display:flex;gap:8px}.series-description{color:#666;line-height:1.5;margin-bottom:20px}.series-details{grid-gap:12px;background:#f8f9fa;border-radius:6px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px;padding:15px}.detail-item{color:#333;font-size:14px}.detail-item strong{color:#2b0b3e;display:inline-block;min-width:120px}.series-actions{display:flex;flex-wrap:wrap;gap:10px}.badge{padding:4px 12px}.btn-success:hover{background:#157347}.btn-danger:hover{background:#bb2d3b}.error,.loading,.no-series{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#666;padding:40px;text-align:center}.modal-overlay{padding:1rem}.manage-events-modal{background:#fff;border-radius:8px;max-height:90vh;max-width:1200px;overflow:auto;padding:1.5rem;width:95%}.modal-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.modal-header h2{font-size:1.5rem;margin:0}.close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;padding:.25rem .5rem;transition:color .2s}.close-btn:hover{color:#333}.events-table-container{overflow-x:auto}.events-table{border-collapse:collapse;font-size:.9rem;width:100%}.events-table td,.events-table th{border-bottom:1px solid #e0e0e0;padding:.75rem;text-align:left}.events-table th{background:#f5f5f5;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.events-table tr.updating{opacity:.5;pointer-events:none}.hosts-cell{display:flex;flex-direction:column;gap:.5rem;width:100%}.host-tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.host-tag{align-items:center;background:#e3f2fd;border-radius:4px;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.375rem .625rem}.remove-host-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1rem;line-height:1;padding:.125rem;transition:color .2s}.remove-host-btn:hover{color:#d32f2f}.host-search-container{position:relative;width:100%}.host-search-input{border:1px solid #ccc;box-sizing:border-box;font-size:.875rem;padding:.5rem}.host-search-input:focus{border-color:#fac508;box-shadow:0 0 0 2px #fac50833}.host-search-results{background:#fff;border:1px solid #ccc;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.host-search-result-item{cursor:pointer;font-size:.875rem;padding:.625rem;transition:background .15s}.host-search-result-item:hover{background:#f5f5f5}.host-search-no-results{color:#999;font-size:.875rem;font-style:italic;padding:.625rem}.quick-select{border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.25rem .5rem}.game-info{display:flex;flex-direction:column;gap:.25rem}.game-info strong{font-size:.9rem}.game-desc{color:#666;font-size:.8rem}.no-game{font-style:italic}.no-game,.not-applicable{color:#999}.action-buttons{gap:.5rem}.btn-info{background:#0dcaf0;color:#000}.btn-info:hover{background:#31d2f2}@media (max-width:768px){.form-row,.series-details{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column;gap:15px}.series-actions{width:100%}.series-actions button{flex:1 1}.manage-events-modal{border-radius:0;height:100%;max-height:100%;max-width:100%;padding:1rem;width:100%}.modal-header h2{font-size:1.2rem}.events-table{font-size:.8rem}.events-table td,.events-table th{padding:.5rem}.events-table thead{display:none}.events-table,.events-table tbody,.events-table td,.events-table tr{display:block}.events-table tr{border:1px solid #e0e0e0;border-radius:4px;margin-bottom:1rem;padding:.75rem}.events-table td{border-bottom:none;padding:.5rem 0}.events-table td:before{content:attr(data-label);display:block;font-weight:600;margin-bottom:.25rem}.host-search-container,.host-tags-container,.hosts-cell{width:100%}.action-buttons{flex-direction:column}.host-search-results{left:1rem;max-height:40vh;position:fixed;right:1rem}}.host-volunteer-requests{margin:0 auto;max-width:1200px;padding:20px}.page-header{flex-wrap:wrap;gap:15px}.filter-controls{gap:10px}.filter-controls label{color:#333;font-weight:600}.filter-controls select{border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px}.requests-list{grid-gap:20px;display:grid;gap:20px}.request-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:25px;transition:box-shadow .2s}.request-card:hover{box-shadow:0 4px 12px #00000026}.request-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.request-user h3{color:#2b0b3e;margin:0 0 5px}.user-email{color:#666;font-size:14px}.request-event{background:#f8f9fa;border-radius:6px;margin-bottom:15px;padding:15px}.request-event h4{color:#2b0b3e;margin:0 0 10px}.event-details{color:#666;display:flex;flex-wrap:wrap;font-size:14px;gap:15px}.event-date,.event-location{align-items:center;display:flex;gap:5px}.host-profile,.request-message{background:#fff9e6;border-left:4px solid #fac508;border-radius:4px;margin-bottom:15px;padding:12px}.host-profile strong,.request-message strong{color:#2b0b3e;display:block;margin-bottom:8px}.host-profile p,.request-message p{color:#333;line-height:1.5;margin:0;white-space:pre-wrap}.review-info{background:#e9ecef;border-radius:4px;color:#333;font-size:14px;line-height:1.8;margin-bottom:15px;padding:12px}.review-form{background:#f8f9fa;border-radius:6px;margin-top:15px;padding:15px}.review-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;margin-bottom:10px;padding:10px;resize:vertical;width:100%}.request-actions,.review-actions{display:flex;flex-wrap:wrap;gap:10px}.request-actions,.request-meta{margin-top:15px}.request-meta{border-top:1px solid #e9ecef;color:#6c757d;font-size:13px;padding-top:15px}.badge{border-radius:12px;font-size:12px;padding:6px 12px}.badge-warning{background:#fff3cd;color:#856404}.badge-success{background:#d1e7dd;color:#0f5132}.badge-danger{background:#f8d7da;color:#842029}.badge-secondary{background:#e2e3e5;color:#6c757d}.btn-success{background:#198754;color:#fff}.btn-success:hover:not(:disabled){background:#157347}.btn-danger:hover:not(:disabled){background:#bb2d3b}.error,.loading,.no-requests{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#666;padding:40px;text-align:center}.error{background:#f8d7da;border:1px solid #f5c2c7}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column}.filter-controls{justify-content:space-between;width:100%}.event-details{flex-direction:column;gap:8px}.request-actions,.review-actions{width:100%}.request-actions button,.review-actions button{flex:1 1}}.automation-settings{margin:0 auto;max-width:1200px;padding:20px}.page-header h1{color:#2b0b3e}.error-message{background-color:#f8d7da;border:1px solid #f5c2c7;border-radius:8px;color:#842029}.success-message{background-color:#d1e7dd;border:1px solid #badbcc;color:#0f5132;padding:15px}.controls-section,.exports-section,.status-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:25px;padding:25px}.controls-section h2,.exports-section h2,.status-section h2{color:#2b0b3e;margin-bottom:20px;margin-top:0}.controls-grid,.status-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.control-card,.status-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px}.control-card h3,.status-card h3{color:#1f2937;font-size:1.1rem;margin:0 0 10px}.status-info{display:flex;flex-direction:column;gap:8px}.status-active{color:#0f5132;font-weight:600}.status-inactive{color:#6c757d;font-weight:600}.last-run{color:#6c757d;font-size:.85rem}.control-card p{color:#6b7280;font-size:.9rem;line-height:1.4;margin:0 0 15px}.btn{width:100%}.btn-primary{color:#2b0b3e}.btn-primary:hover:not(:disabled){background:#e5b307}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-small{width:auto}.files-list{display:flex;flex-direction:column;gap:12px}.file-card{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:15px}.file-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.file-name{color:#1f2937;font-weight:600}.file-date,.file-size{color:#6c757d;font-size:.85rem}.file-actions{margin-left:15px}.loading,.no-files{color:#666;padding:40px;text-align:center}@media (max-width:768px){.controls-grid,.status-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:15px}.section-header button{width:100%}.file-card{align-items:flex-start;flex-direction:column;gap:15px}.file-actions{margin-left:0;width:100%}.file-actions .btn{width:100%}}.event-category-management{margin:0 auto;max-width:1200px;padding:20px}.category-form{margin-bottom:30px;padding:20px}.category-form h3{margin-top:0}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-group input[type=checkbox]{margin:0;width:auto}.categories-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.category-card{display:flex;flex-direction:column;gap:12px;padding:20px}.category-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.category-header h3{flex:1 1;font-size:1.2rem;margin:0}.badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.badge-default{background-color:#4caf50;color:#fff}.category-description{color:#666;font-size:.9rem;margin:0}.category-meta{color:#999;font-size:.85rem}.category-actions{display:flex;gap:8px;margin-top:auto}.btn-sm{font-size:.9rem}.btn-danger{background-color:#f44336}.btn-danger:hover{background-color:#d32f2f}@media (max-width:768px){.categories-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:10px}}.pinball-event-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:900px;padding:30px}.form-header{border-bottom:2px solid #eee;margin-bottom:30px;padding-bottom:20px}.btn-close{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;padding:0;transition:color .2s;width:40px}.btn-close:hover{color:#333}.form-section{background:#f9f9f9;border-radius:6px;margin-bottom:30px;padding:20px}.form-section.highlighted{background:#e3f2fd;border-left:4px solid #2196f3}.form-section h3{color:#444;font-size:1.2rem;margin-bottom:20px;margin-top:0}.form-group label{margin-bottom:6px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.form-group small{color:#777;display:block;font-size:.85rem;margin-top:5px}.form-row{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.categories-checklist{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.checkbox-label{align-items:center;background:#fff;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background-color .2s}.checkbox-label:hover{background-color:#f0f0f0}.checkbox-label input[type=checkbox]{margin:0;width:auto}.checkbox-label .badge{background:#4caf50;border-radius:3px;color:#fff;font-size:.7rem;font-weight:600;margin-left:auto;padding:2px 6px}.btn-toggle-advanced{align-items:center;background:none;border:none;color:#2196f3;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:10px 0}.btn-toggle-advanced:hover{color:#1976d2}.helper-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.form-actions{border-top:2px solid #eee;gap:15px;margin-top:30px;padding-top:20px}.btn{border-radius:6px}.btn-primary{background-color:#2196f3}.btn-primary:hover:not(:disabled){background-color:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.btn-secondary{background-color:#fff;border:1px solid #ddd;color:#666}.btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:#999}.btn:disabled{cursor:not-allowed;opacity:.6}.error-message{background-color:#ffebee}@media (max-width:768px){.pinball-event-form{padding:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.helper-buttons{flex-direction:column}.helper-buttons .btn{width:100%}}.events-hub-page{margin:0 auto;max-width:1200px;padding:20px}.page-header{align-items:center;display:flex;justify-content:space-between}.page-header h1{text-shadow:0 2px 4px #0000004d}.create-event-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:25px}.create-event-form h2{color:#333;font-size:22px;margin-bottom:20px;margin-top:0}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;padding:10px;width:100%}.form-actions{margin-top:25px}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.tab{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;padding:12px 24px;transition:all .3s}.tab:hover{background:#fff3;border-color:#ffffff80}.tab.active{background:#fff;border-color:#fff;color:#2b0b3e}.tab-content{margin-top:20px}.browse-header{margin-bottom:25px}.tab-description{color:#ffffffe6;font-size:16px;margin-bottom:15px;text-align:center}.filter-controls{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:15px}.filter-controls label{color:#fffffff2;font-size:15px;font-weight:500}.category-filter{background:#fffffff2;border:2px solid #ffffff4d;border-radius:6px;color:#333;cursor:pointer;font-size:15px;font-weight:500;min-width:180px;padding:8px 16px;transition:all .2s ease}.category-filter:hover{background:#fff;border-color:#fff9}.category-filter:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff33;outline:none}.qr-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:30px;text-align:center}.qr-section h2{color:#333;font-size:24px;margin:0 0 10px}.qr-description{color:#666;font-size:15px;margin:0 0 25px}.qr-code-container{background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:inline-block;margin-bottom:15px;padding:20px}.qr-code-text{color:#666;font-family:monospace;font-size:14px;margin:10px 0 0}.events-grid,.rsvps-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.rsvp-card{box-shadow:0 2px 4px #0000001a;padding:25px;position:relative;transition:transform .2s,box-shadow .2s}.rsvp-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.rsvp-card.today{border:3px solid #28a745;box-shadow:0 4px 12px #28a74533}.rsvp-card.past{background:#f8f9fa;opacity:.8}.today-badge{background:#28a745;border-radius:20px;box-shadow:0 2px 8px #28a7454d;color:#fff;font-size:13px;font-weight:600;padding:6px 15px;position:absolute;right:20px;top:-10px}.rsvp-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:15px}.rsvp-header h3{color:#333;flex:1 1;font-size:20px;margin:0}.status-badge{border-radius:20px;padding:6px 12px;text-transform:capitalize}.status-hosting{background:#b839e1;background:var(--accent-pink,#b839e1);color:#fff}.status-no-rsvp,.status-not-rsvpd{background:#e9ecef;color:#495057}.rsvp-details{margin-bottom:15px}.featured-game{background:#7c3aed1a;border-radius:6px;color:#7c3aed;display:inline-block;font-size:15px;font-weight:600;margin:8px 0;padding:6px 10px}.event-description{line-height:1.5;margin:12px 0;max-height:120px;overflow:hidden}.rsvp-message{background:#f8f9fa;border-radius:6px;color:#555;margin-bottom:15px;padding:12px}.rsvp-message strong{color:#333}.rsvp-footer{border-top:1px solid #e0e0e0;padding-top:15px}.checked-in-status{color:#28a745;font-size:14px;font-weight:600}.not-checked-in{color:#666;font-size:14px}.event-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;padding:20px;transition:transform .2s,box-shadow .2s}.event-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.event-card.past-event{background:#f8f9fa;opacity:.7}.event-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:15px}.event-header h3{color:#333;flex:1 1;font-size:20px;margin:0}.badge-past{background:#6c757d;border-radius:4px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.event-info{margin-bottom:15px}.event-stats{border-top:1px solid #eee;display:flex;gap:20px;padding-top:15px}.event-stats .stat{color:#555;font-size:14px}.event-stats .stat strong{color:#007bff;font-size:18px;margin-right:5px}.no-items{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:60px 40px;text-align:center}.no-items p{color:#666;font-size:16px;margin:10px 0}.loading{text-shadow:0 2px 4px #0000004d}@media (max-width:768px){.events-hub-page{padding:15px}.page-header{align-items:stretch;flex-direction:column;gap:15px}.page-header h1{font-size:24px}.tabs{flex-direction:column}.tab{text-align:center;width:100%}.events-grid,.rsvps-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}.qr-code-container svg{height:150px!important;width:150px!important}}.edit-rsvp-form{background:#f8f9fa;border:2px solid #fac508;border:2px solid var(--primary-yellow,#fac508);border-radius:6px;margin-top:15px;padding:15px}.edit-rsvp-form .form-group{margin-bottom:12px}.edit-rsvp-form label{color:#555;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.edit-rsvp-form select,.edit-rsvp-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:8px;width:100%}.edit-rsvp-form textarea{min-height:60px;resize:vertical}.edit-actions{display:flex;gap:10px;margin-top:12px}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .2s}.btn-save{background:#fac508;background:var(--primary-yellow,#fac508);color:#333}.btn-save:hover{background:#e0b307}.btn-edit-rsvp{background:#fac508;background:var(--primary-yellow,#fac508);border:none;border-radius:6px;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-edit-rsvp:hover{background:#e0b307;transform:translateY(-1px)}.rsvp-footer{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}@media (max-width:768px){.edit-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}.rsvp-footer{align-items:stretch;flex-direction:column}.btn-edit-rsvp{width:100%}}.hosting-badge{background:#b839e1;background:var(--accent-pink,#b839e1);border-radius:20px;box-shadow:0 2px 4px #0003;color:#fff;font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 12px;position:absolute;right:10px;text-transform:uppercase;top:10px}.rsvp-card.hosting{border-left:4px solid #b839e1;border-left:4px solid var(--accent-pink,#b839e1)}.btn-manage-event{background:#b839e1;background:var(--accent-pink,#b839e1);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:all .2s;width:100%}.btn-manage-event:hover{background:#a030c8;transform:translateY(-1px)}.event-hosts{border-top:1px solid #e0e0e0;color:#666;font-size:14px;margin-top:8px;padding-top:8px}.event-rsvp-count{color:#007bff;font-size:14px;font-weight:600;margin-top:8px}.modal-content{max-height:95vh;max-width:95%;overflow-y:auto}.create-buttons{display:flex;gap:10px}@media (max-width:768px){.create-buttons{flex-direction:column}.modal-content{margin:10px;max-width:100%}}.events-section{margin-bottom:40px}.events-section:last-child{margin-bottom:0}.section-title{border-bottom:2px solid #fff3;color:#fff;font-size:24px;font-weight:600;margin-bottom:20px;padding-bottom:10px;text-shadow:0 2px 4px #0000004d}.event-details-page{margin:0 auto;max-width:1200px;padding:20px}.btn-back{background:none;font-size:16px;padding:10px 0}.event-header-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:25px}.event-header-section h1{color:#333;font-size:32px;margin:0 0 15px}.event-title-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:15px}.event-title-row h1{flex:1 1;margin:0}.event-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.ellipsis-menu-container{position:relative}.btn-icon{align-items:center;background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;line-height:1;padding:0;width:48px}.btn-icon:hover{background:#5a6268}.ellipsis-menu{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.menu-item{background:#fff;border:none;color:#333;cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.menu-item:hover{background:#f8f9fa}.menu-item-danger{color:#dc3545}.menu-item-danger:hover{background:#fff5f5}.btn,.btn-danger,.btn-primary,.btn-secondary,.btn-small{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:6px;justify-content:center;min-height:48px;padding:12px 20px;transition:all .2s}.btn-small{font-size:14px;min-height:36px;padding:8px 12px}.btn-full-width{width:100%}.event-meta{margin-bottom:20px}.category-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;margin-right:10px;padding:4px 10px;text-transform:uppercase}.category-pinball{background:#ffebee;color:#c62828}.category-video_game{background:#e3f2fd;color:#1565c0}.category-board_game{background:#f3e5f5;color:#6a1b9a}.category-book_club{background:#fff3e0;color:#e65100}.category-other{background:#f5f5f5;color:#616161}.edit-event-form{background:#f8f9fa;border:2px solid #007bff;border-radius:8px;padding:20px}.edit-event-form h2{color:#333;font-size:22px;margin:0 0 20px}.edit-event-form .form-group{margin-bottom:15px}.edit-event-form label{color:#555;display:block;font-size:14px;font-weight:600;margin-bottom:5px}.edit-event-form input,.edit-event-form select,.edit-event-form textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;width:100%}.edit-event-form textarea{font-family:inherit;resize:vertical}.form-actions{justify-content:flex-end;margin-top:15px}.btn{border-radius:5px;transition:background-color .3s}.btn-primary{background-color:#007bff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d}.btn-secondary:hover{background-color:#5a6268}.event-date,.event-hosts,.event-location{color:#555;font-size:16px;margin:8px 0}.event-hosts{font-weight:500}.event-description{word-wrap:break-word;font-size:15px;margin:15px 0;overflow-wrap:break-word}.event-stats-bar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d;display:flex;gap:40px;margin:20px 0;padding:25px 20px}.stat-item{align-items:center;display:flex;flex:1 1;flex-direction:column}.stat-value{color:#fff;font-size:48px;line-height:1;margin-bottom:8px}.stat-label{color:#ffffffe6;font-weight:500;letter-spacing:1px;text-transform:uppercase}.event-updates-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:25px}.event-updates-section h2{border-bottom:2px solid #e0e0e0;color:#333;font-size:22px;margin:0 0 20px;padding-bottom:15px}.updates-list{display:flex;flex-direction:column;gap:20px}.update-item{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:20px}.update-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.update-sender{color:#333;font-size:15px;font-weight:600}.update-date{color:#666;font-size:13px}.update-message{color:#333;font-size:15px;line-height:1.6;margin:0 0 12px}.update-footer{display:flex;justify-content:flex-end}.update-recipients{color:#666;font-size:13px;font-style:italic}.admin-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:25px}.admin-section-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.admin-section h2{color:#333;font-size:22px;margin:0}.admin-section h3{color:#333;font-size:18px;margin:20px 0 15px}.btn-danger{background-color:#dc3545}.btn-danger:hover{background-color:#c82333}.hosts-list{margin-bottom:15px}.host-item{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px}.no-hosts{color:#666;font-style:italic;margin-bottom:15px}.host-assignment-form{background:#f8f9fa;border-radius:4px;margin-top:15px;padding:15px}.host-search-input{border:2px solid #007bff;border-radius:4px;font-size:14px;margin-bottom:10px;padding:10px;width:100%}.host-search-input:focus{border-color:#0056b3;outline:none}.host-assignment-form select{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-bottom:10px;max-height:250px;padding:10px;width:100%}.rsvp-link-section{border-top:1px solid #eee;margin-top:20px;padding-top:20px}.rsvp-link-section label{color:#555;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.rsvp-link-container{align-items:center;display:flex;gap:10px}.rsvp-link-input{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;flex:1 1;font-family:monospace;font-size:14px;padding:10px}.rsvp-link-input:focus{border-color:#007bff;outline:none}.user-rsvp-section{margin-bottom:30px}.attendee-message{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:30px;text-align:center}.attendee-message h2{font-size:24px;font-weight:600;margin:0 0 15px}.attendee-message p{font-size:16px;line-height:1.6;margin:10px 0;opacity:.95}.attendee-message strong{font-weight:600;text-decoration:underline}.attendee-message .btn{margin-top:15px}.no-rsvp-message{background:#f8f9fa;border:2px dashed #007bff;border-radius:12px;padding:30px;text-align:center}.no-rsvp-message h2{color:#333;font-size:24px;font-weight:600;margin:0 0 15px}.no-rsvp-message p{color:#666;font-size:16px;margin:10px 0 20px}.rsvps-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.section-header{border-bottom:2px solid #e0e0e0;margin-bottom:25px;padding-bottom:15px}.section-header h2{color:#333;font-size:22px}.action-group{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:25px;padding:20px}.action-group-title{color:#667eea;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 15px;text-transform:uppercase}.action-buttons{flex-wrap:wrap;gap:10px}.action-buttons .btn{flex:1 1;min-width:150px}@media (max-width:768px){.action-buttons{flex-direction:column}.action-buttons .btn{min-width:0;min-width:auto;width:100%}}.section-actions{display:flex;gap:10px}.my-rsvp-form,.update-form,.walkin-form{background:#f8f9fa;border-radius:4px;margin-bottom:20px;padding:20px}.my-rsvp-form h3,.update-form h3,.walkin-form h3{font-size:18px;margin:0 0 15px}.my-rsvp-form .current-status{background:#e7f3ff;border-radius:4px;font-size:14px;margin-bottom:15px;padding:10px}.my-rsvp-form .current-status strong{color:#007bff}.update-form{border:2px solid #007bff}.update-info{background:#e7f3ff;border-radius:4px;color:#004085;font-size:14px;padding:12px}.update-form .form-group,.update-info{margin-bottom:15px}.update-form label{color:#555;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.update-form textarea{border:2px solid #e0e0e0;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:12px;resize:vertical;width:100%}.update-form textarea:focus{border-color:#007bff;outline:none}.form-row{grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:10px}.form-row input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px}.rsvps-cards{grid-gap:15px;display:grid;gap:15px}.rsvp-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:15px;transition:all .2s}.rsvp-card:hover{border-color:#007bff;box-shadow:0 2px 8px #0000001a}.rsvp-card.checked-in{background:#e8f5e9;border-color:#28a745}.rsvp-card-header{align-items:start;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.rsvp-name{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.rsvp-name strong{color:#333;font-size:16px}.rsvp-header-actions{align-items:center;display:flex;gap:8px}.btn-delete-rsvp{background:#0000;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;font-size:14px;padding:4px 8px;transition:all .2s}.btn-delete-rsvp:hover{background:#dc3545;color:#fff}.rsvp-card-details{margin-bottom:12px}.rsvp-detail{display:flex;font-size:14px;margin-bottom:8px}.rsvp-detail.message-detail{flex-direction:column;gap:4px}.detail-label{color:#666;font-weight:600;min-width:100px}.detail-value{color:#333;word-break:break-word}.rsvp-card-footer{border-top:1px solid #e0e0e0;padding-top:12px}.badge-walkin{background:#ff9800}.badge-member,.badge-walkin{border-radius:3px;color:#fff;display:inline-block;font-size:11px;font-weight:600;margin-left:5px;padding:2px 6px}.badge-member{background:#28a745}.badge-status{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;text-transform:capitalize}.status-going{background:#d4edda;color:#155724}.status-interested{background:#fff3cd;color:#856404}.status-not_going{background:#f8d7da;color:#721c24}.checked-in-status{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.checked-in-badge{align-items:center;color:#28a745;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:5px}.btn-undo-checkin{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:background .2s}.btn-undo-checkin:hover{background:#5a6268}.btn-checkin{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background .2s;width:100%}.btn-checkin:hover{background:#0056b3}.btn-checkin:active{transform:scale(.98)}.btn-small{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.btn-small.btn-primary{background:#007bff;color:#fff}.btn-small.btn-primary:hover{background:#0056b3}.btn-small.btn-danger{background:#dc3545;color:#fff}.btn-small.btn-danger:hover{background:#c82333}.no-rsvps{text-align:center}.loading,.no-rsvps{color:#666}.error,.loading,.no-rsvps{font-size:16px;padding:40px}.error{text-align:center}@media (max-width:768px){.event-details-page{padding:15px}.event-header-section h1{font-size:24px}.event-title-row{align-items:flex-start;gap:15px}.event-title-row h1{font-size:22px}.event-actions{justify-content:space-between;width:100%}.event-stats-bar{gap:20px;justify-content:space-around;padding:20px 15px}.stat-value{font-size:36px}.stat-label{font-size:12px}.section-header{align-items:stretch;gap:15px}.section-actions,.section-header{flex-direction:column}.form-row{grid-template-columns:1fr}.rsvp-card{padding:12px}.rsvp-name strong{font-size:15px}.btn,.btn-danger,.btn-primary,.btn-secondary{width:100%}.ellipsis-menu{min-width:160px;right:0}.detail-label{min-width:80px}.detail-label,.detail-value{font-size:13px}}.rsvp-page{display:flex;justify-content:center;min-height:100vh;padding:20px 10px}.rsvp-container{align-self:center;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;margin:auto;max-width:800px;overflow:hidden;width:100%}.rsvp-container.mobile-optimized{max-width:600px}.event-info-header{background:#fffffff2;border-bottom:3px solid #fac508;border-bottom:3px solid var(--primary-yellow,#fac508);color:#333;padding:20px}.event-info-header h1{color:#333;font-size:24px;margin:0 0 15px}.event-details{margin-top:15px}.event-date,.event-location{font-size:15px}.event-description{color:#666;font-size:14px;line-height:1.6;margin:15px 0 0}.current-rsvp-status{background:#f5f5f5;border-bottom:1px solid #e0e0e0;padding:20px;text-align:center}.current-rsvp-status h3{color:#666;font-size:16px;font-weight:500;margin:0 0 15px}.status-badge{font-size:18px;margin-bottom:10px}.status-badge.status-going{background:#4caf50;color:#fff}.status-badge.status-interested{background:#ff9800;color:#fff}.status-badge.status-not_going{background:#9e9e9e;color:#fff}.rsvp-message{color:#666;font-size:14px;margin:10px 0 0}.status-buttons{display:flex;flex-direction:column;gap:12px;margin-top:10px}.status-btn{align-items:center;background:#fff;border:3px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;font-size:18px;font-weight:600;gap:12px;justify-content:center;min-height:65px;padding:18px;transition:all .3s}.status-btn .emoji{font-size:24px}.status-btn .label{font-size:16px}.status-btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:scale(1.02)}.status-btn.active.going{background:#4caf50;border-color:#4caf50;color:#fff}.status-btn.active.interested{background:#ff9800;border-color:#ff9800;color:#fff}.status-btn.active.not-going{background:#9e9e9e;border-color:#9e9e9e;color:#fff}.status-btn:disabled{cursor:not-allowed;opacity:.6}.rsvp-form-section{padding:20px}.rsvp-form-section h2{color:#333;font-size:20px;margin:0 0 20px}.form-row{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr}.form-group input,.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;font-size:15px;padding:12px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:#fac508;border-color:var(--primary-yellow,#fac508)}@media (min-width:768px){.rsvp-page{padding:40px 20px}.event-info-header{padding:30px}.event-info-header h1{font-size:28px}.rsvp-form-section{padding:30px}.rsvp-form-section h2{font-size:24px}.form-row{gap:15px;grid-template-columns:1fr 1fr}.status-buttons{flex-direction:row}.status-btn{flex:1 1;padding:20px}}.form-hint{display:block;font-size:12px;margin-top:5px}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-label{align-items:center;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;font-weight:400;padding:12px;transition:all .3s}.radio-label:hover{background:#f8f9fa;border-color:#fac508;border-color:var(--primary-yellow,#fac508)}.radio-label input[type=radio]{cursor:pointer;margin-right:10px;width:auto}.privacy-notice{background:#f8f9fa;border-radius:6px;margin-bottom:20px;padding:15px}.privacy-notice p{color:#666;font-size:13px;line-height:1.5;margin:0}.btn-submit{background:#fac508;background:var(--primary-yellow,#fac508);border:none;border-radius:8px;color:#333;cursor:pointer;font-size:16px;font-weight:600;padding:15px;transition:transform .2s,box-shadow .2s,background .2s;width:100%}.btn-submit:hover:not(:disabled){background:#e0b307;box-shadow:0 5px 20px #fac50866;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.error-message,.success-message{border-radius:6px}.success-message{border:1px solid #c3e6cb;font-weight:600;margin-bottom:20px;padding:12px}.error,.loading{color:#fff;font-size:18px}@media (max-width:768px){.rsvp-page{padding:20px 10px}.rsvp-container{align-self:flex-start}.event-info-header{padding:20px}.event-info-header h1{font-size:24px}.rsvp-form-section{padding:20px}.rsvp-form-section h2{font-size:20px}.form-row{grid-template-columns:1fr}}.confirmation-page{display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.confirmation-container{align-self:center;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;margin:auto;max-width:800px;padding:40px;text-align:center;width:100%}.success-icon{animation:scaleIn .5s ease-out;margin:0 auto 20px}.confirmation-container h1{color:#333;font-size:32px;margin:0 0 10px}.subtitle{color:#666;font-size:18px;margin-bottom:30px}.event-summary{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:25px}.event-summary h2{color:#333;font-size:24px;margin:0 0 15px}.event-date,.event-location{color:#555;font-size:16px;margin:8px 0}.action-buttons{margin-bottom:30px}.btn{border-radius:8px;display:inline-block;font-size:16px;font-weight:600;padding:15px 30px;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn-primary{background:#fac508;background:var(--primary-yellow,#fac508);color:#333}.btn-primary:hover{background:#e0b307;box-shadow:0 5px 20px #fac50866;transform:translateY(-2px)}.btn-secondary{background:#007bff;margin-top:15px}.btn-secondary:hover{background:#0056b3;box-shadow:0 5px 20px #007bff66;transform:translateY(-2px)}.account-notice{background:#e7f3ff;border-radius:8px;margin-bottom:30px;padding:25px;text-align:left}.account-notice h3{color:#06c;font-size:20px;margin:0 0 15px}.account-notice p{color:#333;font-size:15px;line-height:1.6;margin:10px 0}.account-notice ul{margin:15px 0;padding-left:25px;text-align:left}.account-notice li{color:#555;line-height:1.5;margin:8px 0}.account-notice .btn{margin-top:15px;width:100%}.contact-info{border-top:1px solid #e0e0e0;padding-top:20px}.contact-info p{color:#666;font-size:14px;margin:0}@media (max-width:768px){.confirmation-page{padding:20px 10px}.confirmation-container{align-self:flex-start;padding:30px 20px}.confirmation-container h1{font-size:26px}.subtitle{font-size:16px}.event-summary h2{font-size:20px}.btn{padding:12px;width:100%}}.competition-dashboard{margin:0 auto;max-width:1200px;padding:20px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.dashboard-header h1{color:#f8f9fa;font-size:28px;margin:0}.create-competition-form{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.create-competition-form h2{color:#333;font-size:20px;margin-top:0}.form-group{margin-bottom:15px}.form-group label{color:#555;margin-bottom:5px}.competitions-list h2{color:#f8f9fa;font-size:22px;margin-bottom:15px}.competitions-table{background:#fff;border-collapse:collapse;box-shadow:0 1px 3px #0000001a;width:100%}.competitions-table td,.competitions-table th{border-bottom:1px solid #eee;padding:12px;text-align:left}.competitions-table th{background:#f8f9fa;color:#555;font-weight:600}.competitions-table tr:hover{background:#f8f9fa}.status-badge.status-active{background:#d4edda;color:#155724}.status-badge.status-pending{background:#fff3cd;color:#856404}.status-badge.status-completed{background:#d1ecf1;color:#0c5460}.btn-primary{font-size:14px;padding:10px 20px}.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:8px 16px}.btn-secondary:hover{background:#5a6268}.error,.loading{font-size:16px;padding:40px}.error{color:#dc3545}@media (max-width:768px){.competition-dashboard{padding:10px}.dashboard-header{align-items:flex-start;flex-direction:column;gap:15px}.dashboard-header h1{font-size:24px}.btn-primary{width:100%}.create-competition-form{padding:15px}.competitions-list h2{font-size:18px}.competitions-table thead{display:none}.competitions-table,.competitions-table tbody,.competitions-table td,.competitions-table tr{display:block}.competitions-table{box-shadow:none}.competitions-table tr{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;padding:15px}.competitions-table td{border:none;min-height:30px;padding:8px 0 8px 110px;position:relative;text-align:left}.competitions-table td:before{color:#555;content:attr(data-label);font-weight:600;left:0;padding-right:10px;position:absolute;width:100px}.competitions-table td:last-child{margin-top:10px;padding-left:0}.competitions-table td:last-child:before{display:none}.btn-secondary{font-size:14px;padding:10px 16px;width:100%}.form-group input,.form-group textarea{font-size:16px}}.competition-details{margin:0 auto;max-width:1200px;padding:20px}.btn-back{background:#f8f9fa;border:1px solid #ddd;border-radius:4px;margin-bottom:20px;padding:8px 16px}.btn-back:hover{background:#e9ecef}.competition-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.competition-header h1{color:#f8f9fa;font-size:32px;margin:0}.competition-description{color:#e0e0e0;font-size:16px;margin-bottom:20px}.competition-info{background:#f8f9fa;border-radius:8px;display:flex;gap:30px;margin-bottom:30px;padding:15px}.info-item{color:#555}.info-item strong{color:#333;margin-right:8px}.rounds-section{margin-top:30px}.section-header h2{color:#f8f9fa;font-size:24px}.start-round-form{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.start-round-form h3{color:#212529;font-size:18px;margin-top:0}.start-round-form small{color:#666;display:block;font-size:12px;margin-top:5px}.rounds-list{display:flex;flex-direction:column;gap:20px}.round-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.round-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.round-header h3{color:#333;font-size:20px;margin:0}.round-info{color:#666;display:flex;font-size:14px;gap:20px;margin-bottom:15px}.team-scores{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin:20px 0}.team-score{align-items:center;border-radius:8px;display:flex;justify-content:space-between;padding:15px}.team-score.rebel{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:2px solid #ff6b6b}.team-score.empire{background:linear-gradient(135deg,#f5f5f5,#e5e5e5);border:2px solid #495057}.team-name{font-size:16px;font-weight:600}.score{font-size:24px;font-weight:700}.eliminated-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;margin:15px 0;padding:10px}.round-actions{display:flex;gap:10px;margin-top:15px}.btn-sync{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px}.btn-sync:hover{background:#218838}.btn-danger{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:8px 16px}.participants-section{margin-top:40px}.participants-section h2{color:#f8f9fa;font-size:24px;margin-bottom:10px}.roster-help-text{color:#e0e0e0;font-size:14px;font-style:italic;margin-bottom:20px}.team-rosters{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.team-roster{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.team-roster.rebel-roster{border-top:4px solid #ff6b6b}.team-roster.empire-roster{border-top:4px solid #495057}.team-roster h3{color:#f8f9fa;font-size:18px;margin-bottom:15px;margin-top:0}.roster-table{font-size:14px}.roster-table thead th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#555;font-weight:600;padding:10px;text-align:left}.roster-table tbody td{border-bottom:1px solid #f0f0f0;padding:10px}.roster-table tbody tr:hover{background:#f8f9fa}.roster-table tbody tr.eliminated-player{opacity:.6}.roster-table tbody tr.eliminated-player td{color:#999;text-decoration:line-through}.roster-table tbody tr.unclaimed-player{background:#fff8e1}.btn-remove-participant{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:4px 10px;transition:background .2s}.btn-remove-participant:hover{background:#c82333}.status-badge.status-eliminated{background:#ffc107;color:#856404}.status-badge.status-active,.status-badge.status-eliminated,.status-badge.status-unclaimed{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.status-unclaimed{background:#ff9800;color:#fff}@media (max-width:768px){.competition-details{overflow-x:hidden;padding:10px}.competition-header{align-items:flex-start;flex-direction:column;gap:15px}.competition-header h1{font-size:24px}.competition-info{flex-direction:column;gap:10px;padding:12px}.section-header{align-items:flex-start;flex-direction:column;gap:10px;width:100%}.section-header h2{font-size:20px}.section-header button{width:100%}.participants-section h2{font-size:20px}.team-rosters{gap:15px;grid-template-columns:1fr}.team-roster{padding:15px}.team-roster h3{font-size:16px}.roster-table{-webkit-overflow-scrolling:touch;display:block;font-size:12px;overflow-x:auto}.roster-table tbody,.roster-table thead,.roster-table tr{display:block}.roster-table thead{display:none}.roster-table tbody tr{background:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;padding:10px}.roster-table tbody td{border:none;display:block;padding:5px 0;text-align:left}.roster-table tbody td:before{color:#555;content:attr(data-label);display:inline-block;font-weight:700;width:100px}.round-card{padding:15px}.round-info{flex-direction:column;gap:10px}.team-scores{gap:10px;grid-template-columns:1fr}.team-score{padding:12px}.team-name{font-size:14px}.score{font-size:20px}.round-actions{flex-direction:column;gap:8px}.round-actions button{width:100%}.btn-danger,.btn-primary,.btn-secondary,.btn-success,.btn-sync{font-size:14px;padding:10px 12px;width:100%}.start-round-form{padding:15px}.start-round-form h3{font-size:16px}.start-round-form button{width:100%}}.round-standings{margin:0 auto;max-width:1400px;padding:20px}.standings-header{margin-bottom:20px}.header-info{align-items:center;display:flex;justify-content:space-between;margin-top:10px}.header-info h1{color:#f8f9fa;font-size:32px;margin:0}.header-controls{gap:15px}.round-info-bar{background:#f8f9fa;gap:30px;margin-bottom:30px;padding:15px}.round-info-bar .info-item{color:#555}.round-info-bar strong{color:#333}.teams-comparison{grid-gap:20px;gap:20px;grid-template-columns:1fr auto 1fr;margin-bottom:40px}.team-card{padding:30px}.team-header h2{font-size:24px}.team-total-score{font-size:48px;margin:20px 0}.vs-divider{color:#999;font-size:32px;font-weight:700;text-align:center}.team-members-section{grid-gap:30px;gap:30px;grid-template-columns:1fr 1fr}.team-members h3{color:#333}.members-table td,.members-table th{padding:12px}.unclaimed-section{margin-top:40px;padding:30px}.unclaimed-header h3{font-size:24px}.unclaimed-description{font-size:16px}@media (max-width:768px){.round-standings{overflow-x:hidden;padding:10px}.header-info{align-items:flex-start;flex-direction:column;gap:15px}.header-info h1{font-size:24px;word-break:break-word}.header-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.teams-comparison{gap:15px;grid-template-columns:1fr}.vs-divider{display:none}.team-card{padding:15px}.team-total-score{font-size:32px;word-break:break-all}.team-header h2{font-size:18px}.team-members-section{gap:20px;grid-template-columns:1fr}.team-members{-webkit-overflow-scrolling:touch;overflow-x:auto}.members-table{font-size:12px;min-width:100%}.members-table td,.members-table th{padding:6px 4px;white-space:nowrap}.members-table td:first-child,.members-table th:first-child{padding-left:8px}.members-table td:last-child,.members-table th:last-child{padding-right:8px}.score-cell{font-size:13px;font-weight:600}.round-info-bar{flex-direction:column;gap:10px;padding:12px}.unclaimed-section{padding:15px}.unclaimed-header h3{font-size:20px}.unclaimed-description{font-size:14px}.unclaimed-table{display:block;overflow-x:auto}.stern-username-cell{align-items:flex-start;flex-direction:column;gap:5px}.btn-back{font-size:14px;padding:6px 12px}}@media (min-width:1200px){.round-standings.tv-mode{background:#000;color:#fff;min-height:100vh;padding:40px}.round-standings.tv-mode .team-total-score{font-size:72px}.round-standings.tv-mode .team-header h2{font-size:36px}}.my-competition{margin:0 auto;max-width:1200px;padding:10px}@media (min-width:768px){.my-competition{padding:20px}}.my-competition .page-header h1{color:#f8f9fa;font-size:32px;margin-bottom:20px;text-align:center}.my-competition .tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.my-competition .tab{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.my-competition .tab:hover{background:#fff3;border-color:#ffffff80}.my-competition .tab.active{background:#fff;border-color:#fff;color:#2b0b3e}.my-competition .tab-content{margin-top:20px}.stern-username-section{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.stern-username-section h2{color:#212529;font-size:20px;margin-bottom:15px;margin-top:0}.username-display{align-items:center;display:flex;justify-content:space-between}.username-info{color:#555}.username-value{color:#007bff;font-weight:600;margin-left:10px}.username-missing{color:#dc3545;font-style:italic;margin-left:10px}.btn-edit{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.btn-edit:hover{background:#0056b3}.username-form .form-group{margin-bottom:15px}.username-form label{color:#555;display:block;font-weight:600;margin-bottom:5px}.username-form input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.username-form small{color:#666;display:block;font-size:12px;margin-top:5px}.form-actions{display:flex;gap:10px}.btn-cancel{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.btn-cancel:hover{background:#5a6268}.no-competition{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:40px;text-align:center}.no-competition p{color:#666;font-size:18px;margin-bottom:20px}.competition-preview{margin-top:30px}.not-participating-notice{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;color:#666;font-size:16px;margin:20px 0;padding:20px;text-align:center}.not-participating-notice p{color:#666;margin:10px 0}.not-participating-notice .play-to-join{color:#d84315;font-size:18px;margin:15px 0}.not-participating-notice .small-text{color:#856404;font-size:14px;margin-top:10px}.not-participating-notice strong{color:#d84315;display:block;margin-top:10px}.eliminated-notice{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:3px solid #dc3545;border-radius:12px;box-shadow:0 4px 12px #dc354533;margin:20px 0;padding:24px;text-align:center}.eliminated-notice h3{color:#721c24;font-size:22px;font-weight:700;margin:0 0 12px}.eliminated-notice p{color:#721c24;font-size:16px;line-height:1.5;margin:8px 0}.eliminated-notice .small-text{color:#856404;font-size:14px;font-style:italic;margin-top:12px}.eliminated-row{background-color:#f8f9fa;opacity:.6}.eliminated-badge{color:#dc3545;font-size:12px;font-weight:600}.setup-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;padding:15px}.eliminated-notice{margin-bottom:30px}.eliminated-banner{align-items:center;background:linear-gradient(135deg,#d32f2f,#c62828);border-radius:8px;color:#fff;display:flex;gap:20px;margin-bottom:20px;padding:20px}.eliminated-icon{font-size:48px;line-height:1}.eliminated-text h3{font-size:20px;font-weight:600;margin:0 0 8px}.eliminated-text p{font-size:14px;margin:0;opacity:.9}.eliminated-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.eliminated-stats .stat-item{background:#f5f5f5;border-radius:8px;padding:15px;text-align:center}@media (max-width:768px){.eliminated-banner{flex-direction:column;text-align:center}.eliminated-stats{grid-template-columns:1fr}}.competition-status{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.team-assignment{margin-bottom:30px;text-align:center}.team-assignment h3{color:#666;font-size:18px;margin-bottom:10px}.team-badge{border-radius:8px;display:inline-block;font-size:24px;font-weight:700;padding:15px 30px}.team-badge.rebel{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:3px solid #ff6b6b;color:#c92a2a}.team-badge.empire{background:linear-gradient(135deg,#f5f5f5,#e5e5e5);border:3px solid #495057;color:#212529}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.stat-item{background:#f8f9fa;border-radius:8px;padding:15px;text-align:center}.stat-label{color:#999;font-size:14px;margin-bottom:8px}.stat-value{color:#212529;font-size:28px;font-weight:700}.stat-value .eliminated{color:#dc3545;font-size:18px}.stat-value .active{color:#28a745;font-size:18px}.team-scores-comparison{margin-bottom:30px}.team-scores-comparison h3{color:#333;font-size:20px;margin-bottom:20px;text-align:center}.teams-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.team-score-card{border:2px solid #ddd;border-radius:8px;padding:20px;text-align:center}.team-score-card.my-team{border-width:3px;box-shadow:0 0 15px #007bff4d}.team-score-card .team-name{font-size:16px;font-weight:600;margin-bottom:10px}.team-score-card .team-score{color:#007bff;font-size:32px;font-weight:700}.team-roster{margin-bottom:30px}.team-roster h3{color:#333;font-size:20px;margin-bottom:20px}.roster-table-container{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:10px}.teammate-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:15px;text-align:center;transition:all .2s ease}.teammate-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff33}.teammate-card.current-user{background:#e7f3ff;border-color:#007bff;border-width:3px}.teammate-card .player-name{color:#333;font-size:16px;font-weight:600;margin-bottom:8px}.teammate-card .stern-username{color:#666;font-size:14px;font-style:italic;margin-bottom:12px}.teammate-card .score{color:#007bff;font-size:20px;font-weight:700}.roster-table{background:#fff;border:1px solid #ddd;border-collapse:collapse;border-radius:4px;width:100%}.roster-table td,.roster-table th{border-bottom:1px solid #eee;color:#333;padding:12px;text-align:left}.roster-table th{color:#555;font-size:14px;font-weight:600}.roster-table th,.roster-table tr:hover{background:#f8f9fa}.roster-table tr.current-user{background:#e7f3ff;font-weight:600}.roster-table tr.current-user:hover{background:#d4e9ff}.you-badge{color:#007bff;font-size:12px}.roster-table .score-cell{color:#007bff;font-weight:700}.roster-note{color:#f8f9fa;font-size:14px;font-style:italic;margin-top:10px;text-align:center}.actions{border-top:1px solid #eee;padding-top:20px;text-align:center}.btn-primary{border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px}.full-leaderboard-section{background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;margin-top:20px;padding:15px}@media (min-width:768px){.full-leaderboard-section{margin-top:40px;padding:30px}}.leaderboard-header{flex-direction:column;gap:15px;margin-bottom:20px}.leaderboard-header h2{color:#f8f9fa;font-size:20px;margin:0}@media (min-width:768px){.leaderboard-header{align-items:center;flex-direction:row;justify-content:space-between;margin-bottom:25px}.leaderboard-header h2{font-size:28px}}.leaderboard-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;width:100%}@media (min-width:768px){.leaderboard-controls{gap:15px;justify-content:flex-end;width:auto}}.auto-refresh-toggle{color:#f8f9fa;gap:8px}.auto-refresh-toggle input[type=checkbox]{cursor:pointer}.btn-refresh{background:#28a745;border-radius:4px;padding:8px 16px;transition:background .3s}.btn-refresh:hover{background:#218838}.round-info-bar{background:#f8f9fa1a;border-radius:8px;display:flex;flex-direction:column;gap:10px;margin-bottom:20px;padding:12px}@media (min-width:768px){.round-info-bar{flex-direction:row;gap:30px;margin-bottom:30px;padding:15px}}.round-info-bar .info-item{color:#f8f9fa}.round-info-bar strong{color:#fff;margin-right:8px}.status-badge{font-weight:700;margin-left:8px;text-transform:uppercase}.status-badge.status-active{background:#28a745;color:#fff}.status-badge.status-completed{background:#6c757d;color:#fff}.teams-comparison{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:1fr;margin-bottom:30px}@media (min-width:768px){.teams-comparison{gap:20px;grid-template-columns:1fr auto 1fr;margin-bottom:40px}}.team-card{background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;padding:15px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}@media (min-width:768px){.team-card{padding:30px}}.team-card.rebel{background:linear-gradient(135deg,#fff5f5,#ffe5e5);border:3px solid #ff6b6b}.team-card.empire{background:linear-gradient(135deg,#f5f5f5,#e5e5e5);border:3px solid #495057}.team-card.winning{box-shadow:0 8px 16px #0003;transform:scale(1.05)}.team-header{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:15px}.team-header h2{color:#333;font-size:18px;margin:0}.winning-badge{background:#ffc107;border-radius:12px;color:#333;font-size:12px;font-weight:700;padding:4px 12px;text-transform:uppercase}.team-total-score{color:#333;font-size:32px;font-weight:700;margin:15px 0;word-break:break-all}@media (min-width:768px){.team-header h2{font-size:24px}.team-total-score{font-size:48px;margin:20px 0}}.team-member-count{color:#666;font-size:14px}.vs-divider{display:none}@media (min-width:768px){.vs-divider{color:#999;display:block;font-size:32px;font-weight:700;text-align:center}}.team-members-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin-top:20px}@media (min-width:768px){.team-members-section{gap:30px;grid-template-columns:1fr 1fr;margin-top:30px}}.team-members h3{color:#f8f9fa;font-size:20px;margin-bottom:15px}.rebel-members h3{color:#ff6b6b}.empire-members h3{color:#e0e0e0}.team-members{-webkit-overflow-scrolling:touch;overflow-x:auto}.members-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-size:11px;overflow:hidden;table-layout:auto;width:100%}.members-table td,.members-table th{border-bottom:1px solid #eee;overflow:hidden;padding:6px 4px;text-align:left;text-overflow:ellipsis}.members-table td:first-child,.members-table th:first-child{text-align:center;width:40px}.members-table td:nth-child(2),.members-table th:nth-child(2){max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.members-table td:nth-child(3),.members-table th:nth-child(3){max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.members-table td:nth-child(4),.members-table th:nth-child(4){text-align:right;width:90px}@media (min-width:768px){.members-table{font-size:14px}.members-table td,.members-table th{padding:12px}.members-table td:nth-child(2),.members-table td:nth-child(3),.members-table th:nth-child(2),.members-table th:nth-child(3){max-width:none}}.members-table th{color:#555;font-size:14px;font-weight:600}.members-table th,.members-table tr:hover{background:#f8f9fa}.members-table tr.eliminated{opacity:.5;text-decoration:line-through}.members-table tr.unclaimed{background:#fff8e1}.members-table tr.current-user-row{background:#e3f2fd;font-weight:600}.members-table tr.current-user-row:hover{background:#bbdefb}.eliminated-tag{color:#dc3545;font-size:12px;font-weight:600}.unclaimed-text{color:#f57c00;font-style:italic}.score-cell{color:#007bff;font-size:12px;font-weight:700;text-align:right;white-space:nowrap}@media (min-width:768px){.score-cell{font-size:16px}}.unclaimed-section{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:2px solid #ffc107;border-radius:12px;margin-top:30px;padding:15px}@media (min-width:768px){.unclaimed-section{margin-top:40px;padding:30px}}.unclaimed-header{margin-bottom:20px;text-align:center}.unclaimed-header h3{color:#f57c00;font-size:20px;margin-bottom:10px}.unclaimed-description{color:#e65100;font-size:14px;margin:0 auto;max-width:800px}@media (min-width:768px){.unclaimed-header h3{font-size:24px}.unclaimed-description{font-size:16px}}.unclaimed-table{background:#fff;margin-bottom:20px}.unclaimed-row{background:#fff}.unclaimed-row:hover{background:#fff9c4}.stern-username-cell{align-items:center;display:flex;gap:10px}.stern-username-cell strong{color:#333}.unclaimed-badge{background:#ff9800;border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;text-transform:uppercase}.unclaimed-cta{background:#fff;border:2px dashed #ffc107;border-radius:8px;padding:20px;text-align:center}.cta-text{color:#e65100;font-size:16px;margin:0}.cta-text strong{color:#d84315}@media (max-width:768px){.my-competition h1{font-size:24px}.stats-grid{grid-template-columns:1fr 1fr}.teams-grid{grid-template-columns:1fr}.team-score-card .team-score{font-size:28px}.roster-table-container{grid-template-columns:1fr}.teammate-card{padding:12px}.stern-username-cell{align-items:flex-start;flex-direction:column;gap:5px}}.machine-management{background:#2c3542;margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.page-header{margin-bottom:20px}.page-header h1{color:#fff;font-weight:700;letter-spacing:2px}.search-container{margin-bottom:30px;position:relative}.search-input{background:#fff;border:none;border-radius:4px;font-size:16px;padding:15px 60px 15px 20px;width:100%}.search-button{align-items:center;background:#4caf50;border:none;border-radius:0 4px 4px 0;color:#fff;cursor:pointer;display:flex;height:100%;justify-content:center;padding:0 20px;position:absolute;right:0;top:0}.search-button:hover{background:#45a049}.machines-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:30px}.machine-card{background:#1a1f29;border-radius:8px;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.machine-card:hover{box-shadow:0 8px 16px #0000004d;transform:translateY(-4px)}.machine-image-wrapper{background:#0f1419;border-radius:8px 8px 0 0;overflow:hidden;padding-top:133%;position:relative;width:100%}.machine-image{height:100%;left:0;object-fit:cover;object-position:center;position:absolute;top:0}.machine-image-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;left:0;padding:20px;position:absolute;top:0;width:100%}.machine-image-placeholder,.machine-management .machine-name{align-items:center;color:#fff;display:flex;font-size:14px;justify-content:center;text-align:center}.machine-management .machine-name{font-weight:500;line-height:1.3;min-height:60px;padding:12px}.empty-state{color:#999}.empty-state p{font-size:18px;margin:0}.loading{color:#fff;font-size:18px}.error-message{background:#d32f2f;color:#fff;padding:15px;text-align:center}@media (max-width:768px){.machines-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.machine-management .machine-name{font-size:13px;min-height:50px;padding:10px}.page-header h1{font-size:22px}}@media (max-width:480px){.machines-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.machine-management{padding:15px}}.machine-issues{margin:0 auto;max-width:1200px;padding:20px}.page-header{margin-bottom:30px}.page-header h1{font-size:28px;margin:0}.filters{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:20px;margin-bottom:30px;padding:20px}.filter-group{flex:1 1}.filter-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.filter-group select{border:1px solid #dee2e6;border-radius:4px;font-size:14px;padding:10px;width:100%}.issues-list{gap:20px}.issue-card{border-left:4px solid #ccc;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.issue-card.status-open{border-left-color:#dc3545}.issue-card.status-acknowledged{border-left-color:#ffc107}.issue-card.status-resolved{border-left-color:#28a745}.issue-header{margin-bottom:15px}.issue-title{align-items:center;display:flex;gap:10px;margin-bottom:8px}.issue-title h3{font-size:18px;margin:0}.issue-meta{color:#6c757d;font-size:14px;margin-bottom:4px}.issue-body{margin-bottom:15px}.issue-body p{color:#333;line-height:1.6;margin:0}.duplicate-notice{padding:10px}.admin-notes,.duplicate-notice,.resolved-info{margin-bottom:15px}.resolved-info{font-size:14px;padding:10px}.issue-actions{display:flex;flex-wrap:wrap;gap:10px}.btn{padding:8px 16px}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.modal{background:#fff;border-radius:8px;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.modal h2{margin-bottom:20px;margin-top:0}.issue-summary{background:#f8f9fa;border-radius:4px;margin-bottom:20px;padding:15px}.issue-summary strong{display:block;font-size:16px;margin-bottom:8px}.issue-summary p{color:#333;margin:0}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea{border:1px solid #dee2e6;box-sizing:border-box;font-size:14px;padding:10px;width:100%}.form-group textarea{font-family:inherit}.modal-actions{justify-content:flex-end}.empty-state{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.empty-state,.loading{color:#6c757d;padding:60px 20px;text-align:center}.machine-detail{margin:0;max-width:100%;padding:0}.machine-header-image{background:#1a1f29;max-height:300px;overflow:hidden;width:100%}.machine-hero-image{height:300px;object-fit:cover;object-position:center;width:100%}.detail-header h1{font-size:32px;margin:15px 0 0}.btn-back{background:#0000;border:none;color:#007bff;cursor:pointer;font-size:14px;padding:8px 0;transition:color .2s}.btn-back:hover{color:#0056b3;text-decoration:underline}.tab-navigation{background:#5858d6;display:flex;padding:0;width:100%}.tab{background:#0000;border:none;border-bottom:4px solid #0000;color:#fff9;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:16px 12px;text-align:center;transition:all .2s;white-space:nowrap}.tab:hover{color:#ffffffe6}.tab.active{background:#ffffff26;border-bottom-color:#fff;color:#fff}.tab-content{margin:0 auto;max-width:1200px;padding:30px 20px}.pintips-section{background:#f5f5f5;padding:15px}.pintips-list{display:flex;flex-direction:column;gap:10px;max-width:800px}.pintip-card{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;padding:10px 12px}.pintip-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.pintip-category{color:#666;font-size:11px;font-weight:500;text-transform:capitalize}.pintip-text{color:#333;font-size:14px;line-height:1.5}.pintip-votes{color:#666;font-size:12px}.scores-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px}.scores-header{margin-bottom:30px}.no-content{background:#f9f9f9;border-radius:8px;color:#666;padding:60px 20px;text-align:center}.no-content p{font-size:16px;margin:10px 0}.info-section,.issues-section,.notes-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:25px}.info-section h2,.issues-section h2,.notes-section h2{color:#333;font-size:20px;margin-bottom:20px;margin-top:0}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:25px}.info-item{display:flex;flex-direction:column;gap:5px}.info-item label{color:#666;font-size:14px;font-weight:600}.info-item span{color:#333;font-size:16px}.status-control{margin:25px 0}.status-control label{color:#666;display:block;font-size:14px;font-weight:600;margin-bottom:10px}.status-select{border:2px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;padding:10px 15px;transition:all .2s}.status-select.status-green{background:#d4edda;border-color:#28a745;color:#28a745}.status-select.status-orange{background:#fff3cd;border-color:#ffc107;color:#856404}.status-select.status-red{background:#f8d7da;border-color:#dc3545;color:#dc3545}.status-select.status-blue{background:#d1ecf1;border-color:#007bff;color:#007bff}.actions{display:flex;gap:10px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{margin:0}.notes-display pre{word-wrap:break-word;color:#333;font-family:inherit;line-height:1.6;margin:0;padding:15px;white-space:pre-wrap}.no-notes,.notes-display pre{background:#f8f9fa;border-radius:6px}.no-notes{color:#6c757d;font-style:italic;padding:20px;text-align:center}.notes-editor textarea{border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;line-height:1.6;padding:15px;resize:vertical;width:100%}.editor-actions{display:flex;gap:10px;margin-top:15px}.issues-list{gap:10px}.issue-card{align-items:flex-start;background:#fff;border:1px solid #dee2e6;border-left:4px solid #ffc107;border-radius:6px;display:flex;gap:15px;justify-content:space-between;padding:12px 15px}.issue-card.resolved{border-left-color:#28a745;opacity:.8}.issue-content{flex:1 1;min-width:0}.issue-description{color:#333}.issue-meta{color:#888;font-size:12px}.upvote-btn{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:20px;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;gap:5px;padding:8px 12px;transition:all .2s}.upvote-btn:hover{background:#e9ecef;border-color:#ccc}.upvote-btn.upvoted{background:#e7f1ff;border-color:#007bff;color:#007bff}.issue-header{align-items:flex-start;margin-bottom:10px}.issue-info{display:flex;flex-direction:column;gap:4px}.issue-info strong{color:#333;font-size:14px}.issue-date{color:#999;font-size:12px;margin-left:8px}.admin-notes{background:#f8f9fa;border-radius:4px;font-size:14px;margin-top:10px;padding:10px}.duplicate-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:14px;margin-top:10px;padding:8px 12px}.resolved-info{background:#d4edda;border:1px solid #28a745;border-radius:4px;color:#155724;font-size:13px;margin-top:10px;padding:8px 12px}.status-badge{border-radius:12px;display:inline-block;font-size:12px;padding:4px 12px}.no-issues{color:#6c757d;font-style:italic;padding:20px;text-align:center}.add-issue-section{margin-top:20px;padding:15px;text-align:center}.add-issue-section .btn{min-width:200px}.success-message{background:#d4edda;border-radius:8px;color:#155724;font-size:16px;margin:20px 0;padding:20px;text-align:center}.modal-content h2{margin-bottom:20px;margin-top:0}.modal-content .edit-form{padding:0}.modal-content .form-group{margin-bottom:15px}.modal-content .form-group label{color:#666;display:block;font-size:12px;font-weight:500;margin-bottom:5px;text-transform:uppercase}.modal-content .form-group input,.modal-content .form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;width:100%}.modal-content .form-group textarea{min-height:100px;resize:vertical}.modal-content .modal-actions{border-top:1px solid #eee;display:flex;gap:12px;margin-top:20px;padding-top:20px}.modal-content .modal-actions .btn{flex:1 1;font-size:16px;padding:14px 20px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-sm{font-size:13px;padding:6px 12px}.error,.loading{color:#6c757d;padding:60px 20px;text-align:center}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;margin-bottom:20px;padding:12px 20px}@media (max-width:768px){.tab{font-size:14px;padding:14px 8px}.tab-content{padding:0}.detail-header{padding:15px}.detail-header h1{font-size:24px}.scores-header{align-items:stretch;flex-direction:column;gap:15px}.scores-header .btn{width:100%}.scores-controls{gap:10px}.event-select{flex:1 1;min-width:120px}.sync-info{flex-shrink:0;font-size:11px}.info-grid{grid-template-columns:1fr}.scores-section{padding:15px}.scores-table td,.scores-table th{padding:10px 8px}.rank-cell{font-size:16px;width:50px}.score-cell{font-size:14px}.score-row-clickable{min-height:48px}.score-row-clickable td{padding:14px 8px}.modal-overlay{padding:0}.modal-content{border-radius:0;display:flex;flex-direction:column;height:100vh;max-height:100vh;max-width:100%;padding:25px}.modal-close{background:#000000b3;font-size:24px;height:44px;right:10px;top:10px;width:44px}.modal-body{display:flex;flex:1 1;flex-direction:column;overflow:auto;padding:60px 15px 15px}.modal-body h3{font-size:20px}.modal-score{font-size:18px}.modal-image-container{align-items:center;display:flex;flex:1 1;justify-content:center}.modal-image{max-height:100%;object-fit:contain}}@media (max-width:480px){.tab{font-size:12px;padding:12px 6px}.scores-section{padding:10px}.scores-controls{align-items:stretch;flex-direction:column;gap:8px}.event-select{width:100%}.sync-info{font-size:11px;text-align:center}.scores-table td,.scores-table th{font-size:13px;padding:8px 6px}.rank-cell{font-size:14px;width:40px}.player-name{font-size:13px}.player-username{font-size:11px}.score-cell{font-size:13px}.score-row-clickable td{padding:12px 6px}}.scores-section{padding:20px}.scores-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.scores-header h2{color:#1a1f29;font-size:24px;margin:0}.scores-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;width:100%}.event-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px}.sync-info{color:#666;font-size:13px;white-space:nowrap}.scores-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.scores-table{border-collapse:collapse;width:100%}.scores-table thead{background:#f5f5f5}.scores-table th{border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:12px;text-align:left}.scores-table tbody tr{border-bottom:1px solid #f0f0f0}.scores-table tbody tr:hover{background:#fafafa}.score-row-clickable{cursor:pointer;transition:background-color .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.score-row-clickable:hover{background:#e8f4f8!important}.score-row-clickable:active{background:#d0e8f0!important}.scores-table td{padding:12px}.rank-cell{font-size:18px;text-align:center;width:60px}.player-name{color:#333;font-weight:500}.player-username{color:#666;font-size:12px;margin-top:2px}.score-cell{color:#1a73e8;font-size:16px;font-weight:600}.date-cell{color:#666;font-size:14px}.modal-overlay{background:#000000b3}.modal-content{border-radius:8px;max-width:500px;padding:25px}.modal-close{background:#00000080;font-size:20px;height:36px;right:15px;top:15px;transition:background .2s;width:36px;z-index:1}.modal-close:hover{background:#000000b3}.modal-body{padding:30px}.modal-body h3{color:#333;font-size:24px;margin:0 0 10px}.modal-score{color:#1a73e8;font-size:20px;font-weight:600;margin-bottom:5px}.modal-date{color:#666;font-size:14px;margin-bottom:20px}.modal-image-container{text-align:center}.modal-image{border-radius:8px;box-shadow:0 4px 8px #0003;height:auto;max-width:100%}.modal-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:20px;padding-top:20px}.modal-actions .btn{flex:1 1;font-size:16px;padding:14px 20px}.edit-form{display:flex;flex-direction:column;gap:15px;margin-bottom:20px;max-height:60vh;overflow-y:auto;padding-right:10px}.form-group{gap:5px}.form-group label{font-size:14px;font-weight:700}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-family:inherit;font-size:14px;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a;outline:none}.help-text{color:#666;font-size:12px;font-style:italic;margin-top:4px}.machine-public{background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh;padding-bottom:60px}.error-container,.loading-container{align-items:center;color:#333;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:#333;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.error-icon{font-size:48px;margin-bottom:15px}.machine-hero{background:#fff;padding:30px 20px;text-align:center}.machine-hero h1{color:#333;font-size:32px;font-weight:700;letter-spacing:1px;margin:0 0 20px;text-transform:uppercase}.machine-image-container{border-radius:8px;box-shadow:0 4px 12px #00000026;margin:0 auto 25px;max-width:100%;overflow:hidden}.machine-image{display:block;max-height:400px;width:100%}.action-buttons{display:flex;flex-direction:column;gap:12px;margin:25px 0}.action-button{border:none;border-radius:6px;cursor:pointer;display:block;font-size:16px;font-weight:700;letter-spacing:.5px;padding:16px 24px;text-align:center;text-decoration:none;text-transform:uppercase;transition:all .2s ease}.action-button-primary{background:#2c3e50;color:#fff}.action-button-primary:hover{background:#1a252f;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.action-button-secondary{background:#e74c3c;color:#fff}.action-button-secondary:hover{background:#c0392b;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.action-button-link{background:#3498db;color:#fff}.action-button-link:hover{background:#2980b9;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.machine-description{background:#f9f9f9;border-radius:6px;line-height:1.6;margin:25px 0;padding:20px;text-align:left}.machine-description p{color:#555;margin:0 0 12px}.machine-notes{font-size:14px;white-space:pre-wrap}.status-badge{align-items:center;border-radius:25px;display:inline-flex;font-size:16px;font-weight:600;gap:8px;margin:10px 0;padding:12px 24px}.status-badge.status-green{background:#d4edda;color:#155724}.status-badge.status-orange{background:#fff3cd;color:#856404}.status-badge.status-red{background:#f8d7da;color:#721c24}.status-badge.status-blue{background:#d1ecf1;color:#0c5460}.status-emoji{font-size:20px}.status-text{font-size:14px;letter-spacing:.5px;text-transform:uppercase}.success-banner{background:#d4edda;border-bottom:2px solid #c3e6cb;color:#155724;font-weight:600;margin:0;padding:16px;text-align:center}.form-card{animation:slideDown .3s ease;background:#fff;border-bottom:1px solid #e0e0e0;margin:0;padding:25px 20px}.form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.form-header h2{color:#333;font-size:20px;font-weight:700;margin:0}.close-button{align-items:center;background:#0000;border:none;color:#999;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.close-button:hover{color:#333}.submission-form{display:flex;flex-direction:column;gap:18px}.issues-section{background:#fff;margin-top:20px;padding:25px 20px}.issues-section h2{color:#333;font-size:20px;font-weight:700;margin:0 0 20px}.issues-list{display:flex;flex-direction:column;gap:15px}.issue-item{background:#fff9e6;border-left:4px solid #ff9800;border-radius:4px;padding:15px}.issue-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.issue-header strong{color:#333;font-size:14px}.issue-time{color:#999;font-size:12px}.issue-description{color:#555;font-size:14px;line-height:1.5;margin:0 0 8px}.issue-acknowledged{background:#4caf50;border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#333;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.form-group input,.form-group textarea{background:#fff;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:16px;padding:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#2c3e50;outline:none}.form-group input:read-only{background:#f5f5f5;color:#666}.form-group textarea{min-height:100px;resize:vertical}.submit-button{background:#2c3e50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.5px;padding:16px;text-transform:uppercase;transition:all .2s ease}.submit-button:hover:not(:disabled){background:#1a252f;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.5}.error-message{background:#ffebee;border-left:4px solid #c62828;border-radius:4px;color:#c62828;font-size:14px;margin-bottom:16px;padding:12px}.photo-preview{margin-top:15px;text-align:center}.photo-preview img{border:2px solid #e0e0e0;border-radius:8px;max-height:300px;max-width:100%}.form-hint{color:#666;font-size:13px;margin:8px 0 0}.user-stats-card{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-bottom:20px;padding:15px}.user-stats-card p{color:#333;margin:5px 0}.modal-overlay{background:#00000080}.modal-card{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:500px;padding:30px;width:100%}.modal-card h2{color:#333;margin:0 0 15px}.modal-card p{color:#666;margin:0 0 20px}.modal-buttons{display:flex;gap:10px;margin-top:20px}.modal-buttons button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:12px;transition:all .2s}.cancel-button{background:#e0e0e0;color:#333}.cancel-button:hover:not(:disabled){background:#d0d0d0}.cancel-button:disabled{cursor:not-allowed;opacity:.6}.footer{background:#fff;color:#999;font-size:14px;margin-top:20px;padding:30px 20px;text-align:center}.footer p{margin:0}@media (max-width:768px){.machine-hero h1{font-size:26px}.action-button{font-size:14px;padding:14px 20px}.machine-image{max-height:300px}.form-card,.issues-section{padding:20px 15px}}@media (min-width:769px){.machine-hero{margin:0 auto;max-width:800px}.action-buttons{flex-direction:row;justify-content:center}.action-button{flex:1 1;max-width:250px}.form-card,.issues-section{margin-left:auto;margin-right:auto;max-width:800px}}.papa-leaderboard{margin:0 auto;max-width:1200px;min-height:100vh;padding:0}.leaderboard-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:8px;padding:0}.header-info h1{color:#fff;font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0 0 2px;text-shadow:0 3px 6px #0000004d}.event-name{color:#fffffff2;font-size:16px;font-weight:600;margin:4px 0;text-shadow:0 2px 4px #0003}.subtitle{color:#fffc;font-size:12px;margin:0;text-shadow:0 1px 2px #0003}.header-controls{align-items:center;display:flex;gap:10px}.auto-refresh-toggle{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:5px}.btn-refresh{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.btn-refresh:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.player-row,.standings-table{overflow:hidden}.player-row{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:8px;transition:all .3s ease}.player-row:last-child{margin-bottom:0}.player-row.current-user{background:linear-gradient(90deg,#ffd70026,#fff 95%);border-left:4px solid gold;box-shadow:0 4px 12px #ffd7004d}.player-row:first-child{background:linear-gradient(90deg,#ffd70033,#fff 95%);border-left:5px solid gold;box-shadow:0 6px 16px #ffd70066}.player-row:nth-child(2){background:linear-gradient(90deg,#c0c0c033,#fff 95%);border-left:5px solid silver;box-shadow:0 4px 12px #c0c0c04d}.player-row:nth-child(3){background:linear-gradient(90deg,#cd7f3233,#fff 95%);border-left:5px solid #cd7f32;box-shadow:0 4px 12px #cd7f324d}.player-summary{grid-gap:15px;align-items:center;cursor:pointer;display:grid;gap:15px;grid-template-columns:80px 1fr auto 40px;padding:14px 18px;transition:all .3s ease}.player-summary:hover{background:#667eea08}.player-row:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.player-row:first-child:hover{box-shadow:0 8px 24px #ffd70080}.player-row:nth-child(2):hover{box-shadow:0 6px 20px #c0c0c066}.player-row:nth-child(3):hover{box-shadow:0 6px 20px #cd7f3266}.player-row:first-child .total-points{background:#ffd70026;color:#b8860b;font-size:36px;text-shadow:0 2px 4px #b8860b4d}.player-row:nth-child(2) .total-points{background:#c0c0c026;color:#6b7280;font-size:34px;text-shadow:0 2px 4px #6b72804d}.player-row:nth-child(3) .total-points{background:#cd7f3226;color:#92400e;font-size:33px;text-shadow:0 2px 4px #92400e4d}.rank{align-items:center;color:#333;display:flex;font-size:24px;font-weight:800;gap:8px;justify-content:center;text-align:center}.player-row:first-child .rank:before{animation:trophy-pulse 2s ease-in-out infinite;content:"🏆";font-size:28px}.player-row:nth-child(2) .rank:before{content:"🥈";font-size:26px}.player-row:nth-child(3) .rank:before{content:"🥉";font-size:24px}@keyframes trophy-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.player-info{display:flex;flex-direction:column;gap:4px}.player-name{align-items:center;color:#1a1a1a;display:flex;font-size:18px;font-weight:700;gap:8px}.you-badge{animation:badge-glow 2s ease-in-out infinite;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:20px;box-shadow:0 2px 8px #4caf504d;color:#fff;font-size:11px;font-weight:700;padding:4px 12px;text-transform:uppercase}@keyframes badge-glow{0%,to{box-shadow:0 2px 8px #4caf504d}50%{box-shadow:0 4px 12px #4caf5080}}.guest-badge{background:linear-gradient(135deg,#999,#888);border-radius:20px;box-shadow:0 2px 6px #0003;color:#fff;font-size:11px;font-weight:600;padding:4px 12px;text-transform:uppercase}.player-stats{color:#666;font-size:13px}.total-points{background:#667eea14;border-radius:8px;color:#667eea;font-size:32px;font-weight:900;padding:6px 12px;text-align:right}.expand-icon{color:#999;font-size:12px;text-align:center}.player-detail{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-top:2px solid #667eea33;padding:16px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.machine-scores-section{margin-bottom:16px}.machine-scores-section:last-child{margin-bottom:0}.machine-scores-section h3{color:#333;font-size:15px;font-weight:700;margin:0 0 8px}.machine-scores-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.machine-score{grid-gap:10px;align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 6px #00000014;display:grid;gap:10px;grid-template-columns:40px 1fr auto;padding:10px 12px;transition:all .3s ease}.machine-score:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.machine-score.counting{background:linear-gradient(90deg,#4caf500d,#fff);border-left:4px solid #4caf50}.machine-score.not-counting{border-left:4px solid #ddd;opacity:.55}.machine-rank{align-items:center;background:#667eea1a;border-radius:50%;color:#667eea;display:flex;font-size:12px;font-weight:800;height:32px;justify-content:center;text-align:center;width:32px}.machine-info{display:flex;flex-direction:column;gap:2px}.papa-leaderboard .machine-name{color:#1a1a1a;font-size:14px;font-weight:700;line-height:1.2}.machine-score-value{color:#666;font-size:12px;font-weight:500}.machine-points{background:#16a34a1a;border-radius:16px;color:#16a34a;font-size:16px;font-weight:800;padding:3px 8px;text-align:right}.machine-score.not-counting .machine-points{background:#0000000d;color:#6b7280}.machine-score.clickable{cursor:pointer;transition:all .2s ease}.machine-score.clickable:hover{background:#f8fafc;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.machine-score.clickable:active{transform:translateY(0)}.leaderboard-footer{margin-top:20px;padding:0;text-align:center}.leaderboard-footer p{color:#ffffffe6;font-size:14px;font-weight:500;margin:8px 0;text-shadow:0 1px 2px #0003}.last-updated{color:#ffffffb3;font-size:12px;font-style:italic;margin-top:8px}@media (max-width:768px){.leaderboard-header{flex-direction:column;padding:15px}.header-info h1{font-size:24px}.player-summary{gap:10px;grid-template-columns:70px 1fr auto 30px;padding:14px}.rank{font-size:18px}.player-row:first-child .rank:before,.player-row:nth-child(2) .rank:before,.player-row:nth-child(3) .rank:before{font-size:20px}.player-name{font-size:15px}.player-stats{font-size:12px}.total-points{font-size:22px}.machine-scores-grid{grid-template-columns:1fr}.player-detail{padding:15px}}.modal-overlay{-webkit-overflow-scrolling:touch;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{-webkit-overflow-scrolling:touch;animation:modalSlideIn .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0006;margin:auto;max-height:90vh;max-width:800px;overflow:auto;padding:0;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{align-items:center;background:#000c;border:none;border-radius:50%;box-shadow:0 2px 8px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;line-height:1;padding:0;position:absolute;right:16px;top:16px;transition:all .2s ease;width:40px;z-index:10}.modal-close:hover{background:#dc2626e6;transform:scale(1.1)}.score-photo-modal{padding:20px 30px 30px}.score-photo-modal h3{color:#1a1a1a;font-size:24px;font-weight:800;margin:0 0 8px;text-align:center}.score-details{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid #667eea33;border-radius:12px;color:#666;font-size:14px;line-height:1.8;margin:0 0 24px;padding:16px;text-align:center}.score-details strong{color:#1a1a1a;font-size:16px;font-weight:700}.score-photo-large{border-radius:12px;box-shadow:0 4px 12px #00000026;height:auto;margin-bottom:24px;width:100%}.machine-leaderboard{border-top:2px solid #e5e7eb;margin-top:32px;padding-top:24px}.machine-leaderboard h4{align-items:center;color:#1a1a1a;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0 0 16px}.machine-leaderboard-table{border-collapse:collapse;font-size:14px;width:100%}.machine-leaderboard-table thead{background:#f3f4f6;border-radius:8px}.machine-leaderboard-table th{color:#4b5563;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 8px;text-align:left;text-transform:uppercase}.machine-leaderboard-table td{border-bottom:1px solid #f3f4f6;padding:12px 8px}.machine-leaderboard-table tr:last-child td{border-bottom:none}.machine-leaderboard-table tr.current-player{background:#ffd7001a;font-weight:600}.machine-leaderboard-table .rank-cell{color:#667eea;font-weight:700;width:50px}.machine-leaderboard-table .score-cell{font-family:Courier New,monospace;font-weight:600;text-align:right}.machine-leaderboard-table .points-cell{color:#16a34a;font-weight:700;text-align:right;width:80px}.no-photo{color:#999;font-size:16px;font-style:italic;padding:60px 20px;text-align:center}@media (max-width:768px){.modal-overlay{align-items:flex-start;padding:20px;top:calc(60px + env(safe-area-inset-top, 0px))}.modal-content{border-radius:12px;margin:0;max-height:calc(100vh - 100px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));max-width:100%}.modal-close{background:#000000e6;box-shadow:0 2px 12px #0006;flex-shrink:0;font-size:24px;height:36px;position:absolute;right:12px;top:12px;width:36px;z-index:20}.score-photo-modal{padding:15px 20px 20px}.score-photo-modal h3{font-size:20px}.score-details{font-size:13px;padding:12px}.machine-leaderboard-table{font-size:12px}.machine-leaderboard-table td,.machine-leaderboard-table th{padding:8px 4px}}.access-denied-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.access-denied-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;padding:40px;text-align:center;width:100%}.access-denied-icon{font-size:64px;margin-bottom:20px}.access-denied-content h1{color:#333;font-size:28px;margin:0 0 12px}.access-denied-content p{color:#666;font-size:16px;line-height:1.5;margin:0 0 8px}.access-denied-hint{color:#999!important;font-size:14px!important;margin-top:16px!important}.access-denied-actions{display:flex;gap:12px;justify-content:center;margin-top:30px}.access-denied-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.access-denied-actions .btn-primary{background:#667eea;color:#fff}.access-denied-actions .btn-primary:hover{background:#5a6fd6}.access-denied-actions .btn-secondary{background:#f0f0f0;color:#333}.access-denied-actions .btn-secondary:hover{background:#e0e0e0}@media (max-width:480px){.access-denied-content{padding:30px 20px}.access-denied-icon{font-size:48px}.access-denied-content h1{font-size:24px}.access-denied-actions{flex-direction:column}.access-denied-actions .btn{width:100%}}.navigation{bottom:0;box-shadow:4px 0 12px #0000004d;color:#fff;display:flex;flex-direction:column;transition:transform .3s ease;width:250px;z-index:1000}.mobile-header-bar,.navigation{background:var(--primary-purple);left:0;position:fixed;top:0}.mobile-header-bar{align-items:center;box-shadow:0 2px 8px #0000004d;display:none;gap:15px;grid-template-areas:"menu branding status";grid-template-columns:auto 1fr auto;height:60px;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(15px,env(safe-area-inset-right)) 0 max(15px,env(safe-area-inset-left));right:0;z-index:1001}.mobile-menu-toggle{-webkit-touch-callout:none;align-items:center;background:#0000;border:2px solid var(--primary-yellow);border-radius:4px;color:var(--primary-yellow);cursor:pointer;display:none;flex-shrink:0;font-size:22px;grid-area:menu;justify-content:center;line-height:1;min-height:44px;min-width:44px;padding:8px 12px;position:relative;touch-action:manipulation;transition:all .2s;-webkit-user-select:none;user-select:none;z-index:1002}.mobile-menu-toggle:hover{background:#fac50833;transform:scale(1.05)}.mobile-menu-toggle:active{background:var(--primary-yellow);color:var(--primary-purple);transform:scale(.95)}.mobile-menu-toggle:focus{outline:2px solid var(--primary-yellow);outline-offset:2px}.mobile-branding{align-items:center;display:flex;gap:12px;grid-area:branding;justify-content:center}.mobile-logo{height:40px;object-fit:contain;width:auto}.mobile-app-title{color:var(--primary-yellow);font-size:18px;font-weight:700;line-height:1.2;margin:0}.mobile-websocket-status{align-items:center;display:flex;grid-area:status;justify-content:flex-end}.mobile-menu-overlay{animation:fadeIn .3s ease;background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:calc(60px + env(safe-area-inset-top));z-index:999}.nav-header{background:var(--dark-purple);border-bottom:2px solid var(--primary-yellow);flex-shrink:0;padding:30px 20px}.nav-logo{height:auto;margin-bottom:10px;max-width:180px;width:100%}.nav-header h2{color:var(--primary-yellow);font-size:24px;font-weight:700;margin-bottom:5px}.nav-header p{color:#ecf0f1;font-size:14px}.nav-menu{flex:1 1;list-style:none;overflow-y:auto;padding:20px 0}.nav-menu li{margin-bottom:5px}.nav-menu a{align-items:center;color:#ecf0f1;display:flex;padding:15px 20px;text-decoration:none;transition:background-color .2s}.nav-menu a:hover{background-color:#ffffff1a}.nav-menu a.active{background-color:var(--accent-pink);border-left:4px solid var(--primary-yellow)}.nav-menu .icon{font-size:20px;margin-right:12px}.nav-footer{border-top:2px solid #fac50833;flex-shrink:0;padding:20px}.nav-footer-link{align-items:center;background:#0000;border-radius:4px;color:#ecf0f1;cursor:pointer;display:flex;font-size:14px;margin-bottom:10px;padding:12px 20px;text-decoration:none;transition:all .2s;width:100%}.nav-footer-link:hover{background-color:#ffffff1a;color:var(--primary-yellow)}.nav-footer-link .icon{margin-right:10px}.logout-button{align-items:center;background:#0000;border:2px solid var(--primary-yellow);border-radius:4px;color:var(--primary-yellow);cursor:pointer;display:flex;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s;width:100%}.logout-button:hover{background-color:var(--primary-yellow);border-color:var(--primary-yellow);color:var(--primary-purple)}.logout-button .icon{margin-right:10px}@media (max-width:768px){.mobile-header-bar{display:grid}.mobile-menu-toggle{display:flex}.mobile-menu-overlay{display:block}.navigation{-webkit-overflow-scrolling:touch;bottom:0;height:auto;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);top:calc(60px + env(safe-area-inset-top));transform:translateX(-100%)}.navigation.open{transform:translateX(0)}.nav-header{margin-top:0;padding:20px 15px}.nav-header h2{font-size:20px}.nav-menu a{padding:12px 15px}}@media (max-width:360px){.mobile-logo{height:32px}.mobile-app-title{font-size:16px}.mobile-header-bar{gap:10px;padding:0 10px}.mobile-branding{gap:8px}}.websocket-status{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px}.websocket-status.connected{background-color:#d4edda;color:#155724}.websocket-status.disconnected{background-color:#fff3cd;color:#856404}.websocket-status-dot{border-radius:50%;height:8px;width:8px}.websocket-status.connected .websocket-status-dot{animation:pulse 2s infinite;background-color:#28a745}.websocket-status.disconnected .websocket-status-dot{animation:blink 1s infinite;background-color:#ffc107}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.websocket-status-text{white-space:nowrap}.scan-notification-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scan-notification-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-width:400px;overflow:hidden;padding:30px 40px;position:relative;text-align:center;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scan-notification-modal.success{border-top:5px solid #28a745}.scan-notification-modal.error{border-top:5px solid #dc3545}.scan-notification-icon{align-items:center;animation:scaleIn .3s ease-out .1s both;border-radius:50%;display:flex;font-size:40px;font-weight:700;height:80px;justify-content:center;margin:0 auto 20px;width:80px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.scan-notification-modal.success .scan-notification-icon{background-color:#d4edda;color:#28a745}.scan-notification-modal.error .scan-notification-icon{background-color:#f8d7da;color:#dc3545}.scan-notification-content{margin-bottom:10px}.scan-notification-title{color:#333;font-size:24px;font-weight:600;margin:0 0 10px}.scan-notification-device{color:#666;font-size:16px;margin:0 0 8px}.scan-notification-balance{color:#888;font-size:14px;margin:0}.scan-notification-dismiss{background:none;border:none;color:#999;cursor:pointer;font-size:24px;line-height:1;padding:5px 10px;position:absolute;right:10px;top:10px;transition:color .2s}.scan-notification-dismiss:hover{color:#333}.scan-notification-progress{animation:progressBar 5s linear forwards;background-color:#007bff;bottom:0;height:4px;left:0;position:absolute}@keyframes progressBar{0%{width:100%}to{width:0}}@media (max-width:480px){.scan-notification-modal{margin:0 15px;padding:25px 20px}.scan-notification-icon{font-size:35px;height:70px;width:70px}.scan-notification-title{font-size:20px}}.update-notification-toast{align-items:center;animation:slideUpFade .4s ease-out;background:#fff;border-radius:12px;border-top:4px solid var(--primary-purple);bottom:20px;box-shadow:0 8px 24px #0000004d;display:flex;gap:20px;justify-content:space-between;left:50%;max-width:90%;min-width:320px;padding:16px 20px;position:fixed;transform:translateX(-50%);z-index:9999}@keyframes slideUpFade{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.update-notification-content{align-items:center;display:flex;flex:1 1;gap:12px}.update-notification-icon{font-size:24px;line-height:1}.update-notification-message{color:#333;font-size:16px;font-weight:500}.update-notification-actions{align-items:center;display:flex;gap:10px}.update-notification-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.update-notification-button.update-now{background-color:var(--primary-yellow);color:var(--primary-purple)}.update-notification-button.update-now:hover{background-color:#e0b307;box-shadow:0 4px 8px #fac5084d;transform:translateY(-1px)}.update-notification-button.update-now:active{transform:translateY(0)}.update-notification-button.dismiss{background-color:initial;border:1px solid #dee2e6;color:#6c757d}.update-notification-button.dismiss:hover{background-color:#f8f9fa;color:#495057}@media (max-width:768px){.update-notification-toast{align-items:stretch;bottom:80px;flex-direction:column;gap:12px;max-width:calc(100% - 30px);min-width:auto;padding:14px 16px}.update-notification-content{justify-content:center}.update-notification-message{font-size:15px}.update-notification-actions{gap:8px;width:100%}.update-notification-button{flex:1 1;padding:10px 12px}}@media (max-width:480px){.update-notification-toast{bottom:70px}.update-notification-icon{font-size:20px}.update-notification-message{font-size:14px}.update-notification-button{font-size:13px}}
/*# sourceMappingURL=main.943260f8.css.map*/