@charset "UTF-8";*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,.layout{min-height:100vh}.layout{display:flex;flex-direction:column}.header{background-color:#1976d2;box-shadow:0 2px 4px #0000001a;color:#fff;justify-content:space-between;padding:1rem 2rem}.header,.header-left{align-items:center;display:flex}.header-left{gap:1rem}.header .app-title{color:#fff!important;font-size:1.5rem;font-weight:700}.tenant-name{font-size:.9rem;opacity:.8}.header-right{align-items:center;display:flex;gap:1rem}.language-selector button{background:none;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;padding:.25rem .5rem}.language-selector button.active{background-color:#fff3}.user-menu{align-items:center;display:flex;gap:1rem}.logout-button{background:none;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.layout-content{display:flex;flex:1 1}.sidebar{background-color:#2c3e50;color:#fff;padding:1rem 0;width:250px}.nav-list{list-style:none}.nav-item{margin-bottom:.5rem}.nav-link{color:#fff;display:block;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .2s}.nav-link.active,.nav-link:hover{background-color:#34495e}.main-content{flex:1 1;overflow-y:auto;padding:2rem}.login-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-form{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;width:100%}.login-form h1{color:#1976d2;margin-bottom:1.5rem;text-align:center}.form-group input{border:1px solid #ddd;font-size:1rem}.form-group input:focus{border-color:#1976d2}.login-form button{background-color:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .2s;width:100%}.login-form button:hover{background-color:#1565c0}.login-form button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#ffebee;color:#c62828;margin-bottom:1rem;padding:.75rem}.dashboard{max-width:1200px}.dashboard h1{color:#1976d2;margin-bottom:2rem}.dashboard-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.dashboard-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.dashboard-card h3{color:#2c3e50;margin-bottom:1rem}.assignment-manager,.game-calendar,.invitation-dashboard,.player-list,.stats-dashboard,.team-config{max-width:1200px}.assignment-manager h1,.game-calendar h1,.invitation-dashboard h1,.player-list h1,.stats-dashboard h1,.team-config h1{color:#1976d2;margin-bottom:2rem}@media (max-width:768px){.layout-content{flex-direction:column}.sidebar{order:2;width:100%}.main-content{order:1;padding:1rem}.header{padding:1rem}.header-left,.header-right{flex-direction:column;gap:.5rem}.app-title{font-size:1.2rem}}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#333;font-size:24px;margin:0}.close-btn{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.close-btn:hover{color:#000}.player-form{padding:20px}.photo-upload-section{text-align:center}.photo-upload-container{gap:15px}.photo-preview,.photo-upload-container{align-items:center;display:flex;flex-direction:column}.photo-preview{position:relative}.photo-preview img{border:3px solid #dee2e6;border-radius:50%;display:block;height:150px;object-fit:cover;width:150px}.photo-input{max-width:300px}.photo-upload-container:has(.photo-preview) .photo-input{display:none}.photo-placeholder{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:50%;color:#6c757d;display:flex;font-size:14px;height:150px;justify-content:center;width:150px}.remove-photo-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;margin-top:10px;padding:6px 12px}.remove-photo-btn:hover{background:#c82333}.photo-input{font-size:14px}.checkbox-group{text-align:left!important}.checkbox-group .checkbox-label{align-items:center;color:#495057;cursor:pointer;display:inline-flex!important;font-weight:500;gap:8px;margin-bottom:0!important;width:auto!important}.checkbox-group .checkbox-input{cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.player-list{margin:0 auto;max-width:1400px;padding:20px}.player-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.player-list-header h1{color:#333;font-size:28px;margin:0}.player-filters{gap:15px}.search-input{flex:1 1;min-width:250px}.filter-select,.search-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 15px}.filter-select{background:#fff;cursor:pointer}.player-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.player-table{border-collapse:collapse;width:100%}.player-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.player-table th{color:#495057;font-size:14px;font-weight:600;padding:15px;text-align:left}.player-table td{border-bottom:1px solid #dee2e6;font-size:14px;padding:15px}.player-table tbody tr:hover{background:#f8f9fa}.player-photo-thumb{border-radius:50%;height:40px;object-fit:cover;width:40px}.player-photo-placeholder{align-items:center;background:#6c757d;border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.player-name{color:#212529;font-weight:500}.badge{padding:4px 10px}.badge-position{background:#e3f2fd;color:#1976d2}.badge-type{background:#f3e5f5;color:#7b1fa2}.badge-active{background:#e8f5e9;color:#2e7d32}.badge-inactive{background:#ffebee;color:#c62828}.actions{display:flex;gap:8px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;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-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-sm{font-size:13px;padding:6px 12px}.player-count{color:#6c757d;font-size:14px;margin-top:15px;text-align:right}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#138496}.clear-filters-btn{align-self:center;height:-webkit-fit-content;height:fit-content;padding:8px 16px;white-space:nowrap}.player-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.invitation-dashboard{margin:0 auto;max-width:1400px;padding:20px}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.dashboard-header h1{color:#333;margin:0}.game-selector{align-items:center;display:flex;gap:10px}.game-selector label{color:#666;font-weight:600}.game-selector select{border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;min-width:300px;padding:10px 15px}.game-selector select:focus{border-color:#667eea;outline:none}.game-info{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;margin-bottom:30px;padding:20px}.game-info h2{margin:0 0 10px}.game-info p{margin:5px 0}.summary-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}.stat-card{background:#fff;border:2px solid #e0e0e0;transition:transform .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.stat-card.success{border-color:#10b981}.stat-card.danger{border-color:#ef4444}.stat-card.warning{border-color:#f59e0b}.stat-value{color:#333;font-size:36px;margin-bottom:5px}.stat-card.success .stat-value{color:#10b981}.stat-card.danger .stat-value{color:#ef4444}.stat-card.warning .stat-value{color:#f59e0b}.stat-label{color:#666;letter-spacing:.5px;text-transform:uppercase}.invitations-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.invitations-table table{border-collapse:collapse;width:100%}.invitations-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#333;font-weight:600;padding:15px;text-align:left}.invitations-table td{border-bottom:1px solid #f0f0f0;padding:15px;vertical-align:middle}.invitations-table tbody tr:hover{background:#f8f9fa}.badge{border-radius:20px;font-size:13px;font-weight:600;padding:6px 12px;white-space:nowrap}.badge-success{background:#d1fae5;color:#065f46}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.badge-secondary{background:#e5e7eb;color:#374151}.badge-light{background:#f3f4f6;color:#6b7280}.text-success{color:#10b981;font-size:18px}.text-muted{color:#9ca3af}.text-center{text-align:center}.notes-preview{color:#666;cursor:help;font-size:13px;font-style:italic}.btn-reminder{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background .2s}.btn-reminder:hover:not(:disabled){background:#5568d3}.btn-reminder:disabled{background:#ccc;cursor:not-allowed}.loading{font-size:16px}.no-data{color:#999;padding:40px}@media (max-width:768px){.dashboard-header,.game-selector{align-items:stretch;flex-direction:column}.game-selector select{width:100%}.invitations-table{overflow-x:auto}.invitations-table table{min-width:800px}}.team-settings{margin:0 auto;max-width:800px;padding:20px}.settings-header{margin-bottom:30px}.settings-header h1{color:#333;font-size:28px;margin-bottom:8px}.settings-header p{color:#666;font-size:14px}.team-settings-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px}.team-section{border-bottom:1px solid #dee2e6;margin-bottom:40px;padding-bottom:40px}.team-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.team-section h2{color:#495057;font-size:20px;margin-bottom:20px}.color-input-group{align-items:center;display:flex;gap:10px}.color-input-group .form-control{flex:1 1}.color-preview{border:2px solid #dee2e6;border-radius:4px;flex-shrink:0;height:38px;width:50px}.section-description{color:#6c757d;font-size:13px;font-style:italic;margin-bottom:15px}.admin-dashboard{padding:2rem}.admin-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem;max-width:800px;padding:2rem}.admin-section hr{border:none;border-top:1px solid #eee;margin:1.5rem 0}.invite-form .form-row{align-items:flex-end;display:flex;gap:1rem}.invite-form .form-group{flex-grow:1}.invite-form .form-group label{display:block;font-weight:500;margin-bottom:.5rem}.success-message{color:#28a745;margin-top:1rem}.player-profile{margin:0 auto;max-width:1200px;padding:20px}.profile-header{margin-bottom:30px}.back-btn{background:none;border:none;color:#007bff;cursor:pointer;font-size:16px;margin-bottom:10px;padding:8px 0}.back-btn:hover{text-decoration:underline}.profile-header h1{color:#333;font-size:28px;margin:0}.profile-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:30px;margin-bottom:30px;padding:30px}.profile-photo-section{flex-shrink:0}.profile-photo{border:4px solid #dee2e6;border-radius:50%;height:150px;object-fit:cover;width:150px}.profile-photo-placeholder{align-items:center;background:#6c757d;border-radius:50%;color:#fff;display:flex;font-size:48px;font-weight:700;height:150px;justify-content:center;width:150px}.profile-info{flex:1 1}.profile-info h2{color:#212529;font-size:32px;margin:0 0 20px}.profile-details{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-item{align-items:center;display:flex;gap:10px}.detail-label{color:#6c757d;font-size:14px;font-weight:600}.detail-value{color:#212529;font-size:14px}.assignments-section,.goalie-stats,.invitations-section,.stats-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:25px}.assignments-section h3,.invitations-section h3,.stats-section h3{color:#333;font-size:22px;margin:0 0 20px}.goalie-stats h4{color:#495057;font-size:18px;margin:20px 0 15px}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:20px;text-align:center}.stat-card.highlight{background:#e3f2fd;border-color:#1976d2}.stat-card-large{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;max-width:300px;padding:30px;text-align:center}.stat-value{color:#212529;font-size:32px;font-weight:700;margin-bottom:8px}.stat-label{color:#6c757d;font-size:14px;font-weight:500}.loading{color:#6c757d;padding:60px 20px}.error-container{padding:60px 20px;text-align:center}.error-message{display:inline-block;padding:15px 20px}.game-form{padding:20px}.game-form h3{border-top:1px solid #dee2e6;color:#495057;font-size:18px;margin:20px 0 15px;padding-top:20px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group,.form-row{margin-bottom:20px}.form-group label{color:#495057;font-weight:500;margin-bottom:8px}.form-control{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:10px 15px;transition:border-color .2s;width:100%}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-actions{border-top:1px solid #dee2e6;display:flex;gap:10px;justify-content:flex-end;margin-top:30px;padding-top:20px}.error-message{margin:0 20px 20px}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:12px;margin-bottom:10px}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-bottom:0;margin-right:8px;margin-top:0;vertical-align:middle;width:20px}.checkbox-label span{color:#495057;font-size:14px;font-weight:400;line-height:20px}.form-help{color:#6c757d;display:block;font-size:12px;font-style:italic;margin-top:5px}.game-list{margin:0 auto;max-width:1400px;padding:20px}.game-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.game-list-header h1{color:#333;font-size:28px;margin:0}.game-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.filter-input,.filter-select{border:1px solid #ced4da;border-radius:4px;font-size:14px;min-width:150px;padding:8px 12px}.filter-input{min-width:160px}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.games-table{border-collapse:collapse;width:100%}.games-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6}.games-table th{color:#495057;font-size:14px;font-weight:600;padding:15px;text-align:left;white-space:nowrap}.games-table td{border-bottom:1px solid #dee2e6;color:#333;font-size:14px;padding:15px}.games-table tbody tr:hover{background:#f8f9fa}.games-table tbody tr:last-child td{border-bottom:none}.no-data{color:#6c757d;font-style:italic;padding:40px!important;text-align:center}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.badge-scheduled{background:#e3f2fd}.badge-confirmed{background:#e8f5e9}.badge-cancelled{background:#ffebee}.badge-completed{background:#f3e5f5;color:#7b1fa2}.actions-cell{display:flex;gap:8px;white-space:nowrap}.btn-warning{background-color:#ffc107;border:1px solid #ffc107;color:#000}.btn-warning:hover{background-color:#e0a800;border-color:#d39e00}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{-webkit-appearance:button;appearance:button;cursor:pointer;overflow:visible;text-transform:none}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;height:100%}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :after,.rbc-calendar :before{box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.rbc-ellipsis,.rbc-event-label,.rbc-row-segment .rbc-event-content,.rbc-show-more{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{border-bottom:1px solid #ddd;flex:1 0;font-size:90%;font-weight:700;min-height:0;overflow:hidden;padding:0 3px;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{background:none;border:none;color:inherit;cursor:pointer;margin:0;padding:0;-webkit-user-select:text;user-select:text}.rbc-row-content{position:relative;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:flex;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;height:100%;overflow-y:scroll;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{font-size:16px;justify-content:center;margin-bottom:10px}.rbc-toolbar .rbc-toolbar-label{flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{background:none;background-image:none;border:1px solid #ccc;color:#373a3c;display:inline-block;line-height:normal;margin:0;padding:.375rem 1rem;text-align:center;vertical-align:middle;white-space:nowrap}.rbc-toolbar button.rbc-active,.rbc-toolbar button:active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.rbc-toolbar button.rbc-active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button:active:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#373a3c}.rbc-toolbar button:focus,.rbc-toolbar button:hover{background-color:#e6e6e6;border-color:#adadad;color:#373a3c}.rbc-toolbar button:hover{cursor:pointer}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width:767px){.rbc-toolbar{flex-direction:column}}.rbc-day-slot .rbc-background-event,.rbc-event{background-color:#3174ad;border:none;border-radius:5px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;margin:0;padding:2px 5px;text-align:left;width:100%}.rbc-day-slot .rbc-slot-selecting .rbc-background-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-day-slot .rbc-selected.rbc-background-event,.rbc-event.rbc-selected{background-color:#265985}.rbc-day-slot .rbc-background-event:focus,.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px 0 #33333380}.rbc-event-continues-prior{border-bottom-left-radius:0;border-top-left-radius:0}.rbc-event-continues-after{border-bottom-right-radius:0;border-top-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:flex;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;color:#3174ad;font-size:85%;font-weight:700;height:auto;line-height:normal;z-index:4}.rbc-show-more:focus,.rbc-show-more:hover{color:#265985}.rbc-month-view{border:1px solid #ddd;display:flex;flex:1 0;flex-direction:column;height:100%;position:relative;user-select:none;-webkit-user-select:none;width:100%}.rbc-month-header{display:flex;flex-direction:row}.rbc-month-row{display:flex;flex:1 0;flex-basis:0px;flex-direction:column;height:100%;overflow:hidden;position:relative}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{flex:1 1;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:flex;flex:1 0;flex-direction:row;overflow:hidden;right:1px}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 5px 15px #00000040;padding:10px;position:absolute;z-index:5}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:flex;flex:1 0;flex-direction:column;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border:1px solid #ddd;border-collapse:collapse;border-spacing:0;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{border-bottom:1px solid #ddd;padding:3px 5px;text-align:left}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:flex;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{flex:1 1}.rbc-timeslot-group{border-bottom:1px solid #ddd;display:flex;flex-flow:column nowrap;min-height:40px}.rbc-header-gutter,.rbc-time-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;margin-right:10px;position:absolute;right:0;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-event{align-items:flex-start;border:1px solid #265985;display:flex;flex-flow:column wrap;max-height:100%;min-height:20px;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1;height:100%;line-height:1;min-height:1em;width:100%}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{background-color:#fff;border-right:1px solid #ddd;left:0;margin-right:-1px;position:-webkit-sticky;position:sticky;z-index:10}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0;flex-basis:0px;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-day-bg,.rbc-time-view-resources .rbc-header{flex:1 1;flex-basis:0 px;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{background-color:#00000080;color:#fff;font-size:75%;padding:3px;position:absolute;width:100%;z-index:10}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.rbc-time-view .rbc-time-gutter{text-align:right;white-space:nowrap}.rbc-time-view .rbc-allday-cell{box-sizing:initial;height:100%;position:relative;width:100%}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{display:flex;flex:0 0 auto;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row.rbc-row-resource,.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-width:0}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{align-items:flex-start;border-top:2px solid #ddd;display:flex;flex:1 0;overflow-y:auto;position:relative;width:100%}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{user-select:none;-webkit-user-select:none;width:100%}.rbc-current-time-indicator{background-color:#74ad31;height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:3}.rbc-resource-grouping.rbc-time-header-content{display:flex;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.game-calendar-container{margin:0 auto;max-width:1400px;padding:20px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.calendar-header h1{color:#333;font-size:28px;margin:0}.calendar-instruction{color:#6c757d;font-size:14px;font-style:italic;margin:-10px 0 20px;text-align:center}.calendar-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.rbc-calendar{font-family:inherit}.rbc-header{border-bottom:2px solid #dee2e6;color:#495057;font-size:14px;font-weight:600;padding:10px 3px}.rbc-today{background-color:#e3f2fd}.rbc-event{cursor:pointer;font-size:12px;padding:2px 5px}.rbc-event:hover{opacity:1!important}.rbc-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px;padding:15px 0}.rbc-toolbar button{background:#fff;border:1px solid #ced4da;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 15px;transition:all .2s}.rbc-toolbar button:hover{background:#f8f9fa;border-color:#007bff}.rbc-toolbar button.rbc-active{background:#007bff;border-color:#007bff;color:#fff}.rbc-month-view{border:1px solid #dee2e6;border-radius:4px}.rbc-day-bg{border-left:1px solid #dee2e6}.rbc-month-row{border-top:1px solid #dee2e6}.rbc-off-range-bg{background:#f8f9fa}.success-message{align-items:center;animation:slideIn .3s ease-out;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;display:flex;margin-bottom:20px;padding:12px 20px}.success-message:before{content:"✓";font-size:20px;font-weight:700;margin-right:10px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-event{height:100%;padding:2px 5px;position:relative}.event-title{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-actions{background:#000000b3;border-radius:3px;display:flex;gap:2px;padding:2px;position:absolute;right:0;top:0;z-index:10}.event-btn{background:#0000;border:none;cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;transition:transform .2s}.event-btn:hover{transform:scale(1.2)}.event-btn-cancel:hover,.event-btn-delete:hover,.event-btn-edit:hover{filter:brightness(1.5)}.games-container{width:100%}.view-toggle{background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;gap:10px;justify-content:center;padding:20px}.toggle-btn{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.toggle-btn:hover{background:#f8f9fa;border-color:#007bff}.toggle-btn.active{background:#007bff;border-color:#007bff;color:#fff}.game-details-container{margin:0 auto;max-width:1200px;padding:20px}.game-details-header{align-items:center;display:flex;gap:20px;margin-bottom:30px}.game-details-header h1{color:#333;font-size:28px;margin:0}.game-info-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:30px}.game-info-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:20px}.game-info-header h2{color:#333;font-size:24px;margin:0}.status-badge{border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 16px}.badge-scheduled{background-color:#e3f2fd;color:#1976d2}.badge-confirmed{background-color:#e8f5e9;color:#388e3c}.badge-cancelled{background-color:#ffebee;color:#d32f2f}.badge-completed{background-color:#f5f5f5;color:#616161}.game-info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:5px}.info-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#333;font-size:18px;font-weight:500}.teams-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.team-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.team-header{align-items:center;background:#f8f9fa;border-left:5px solid;display:flex;justify-content:space-between;padding:20px}.team-header h3{color:#333;font-size:20px;margin:0}.team-color-badge{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;height:30px;width:30px}.team-roster{min-height:200px}.empty-roster{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}.loading{color:#666}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:20px;padding:12px 20px}.balance-info{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px;text-align:center}.balance-score{color:#333;font-size:18px}.balance-score strong{color:#1976d2;font-size:24px}.team-stats{background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#6c757d;display:flex;font-size:14px;justify-content:space-around;padding:15px 20px}.team-stats span{font-weight:500}.team-roster{background:#fafafa;min-height:300px;padding:20px}.player-card{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:move;display:flex;justify-content:space-between;margin-bottom:10px;padding:12px 16px;transition:all .2s ease}.player-card:hover{border-color:#1976d2;box-shadow:0 2px 8px #1976d233;transform:translateY(-2px)}.player-card:active{cursor:grabbing;opacity:.7}.player-info{display:flex;flex-direction:column;gap:4px}.player-name{color:#333;font-size:15px;font-weight:600}.player-position{color:#6c757d;font-size:12px;font-weight:500;text-transform:uppercase}.player-rating{color:#f59e0b;font-size:14px;font-weight:600}.team-card[data-drag-over=true]{background:#e3f2fd}.game-actions{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px;padding:20px}.invitation-status{flex:1 1;min-width:200px}.invitation-status .status-text{color:#28a745;font-size:14px;font-weight:500}.game-actions .btn{font-size:16px;font-weight:600;padding:12px 24px}.invitation-message{border-radius:6px;font-size:14px;font-weight:500;padding:10px 15px}.invitation-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.invitation-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@media (max-width:768px){.game-info-grid,.teams-section{grid-template-columns:1fr}}.invitation-response-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-card,.invitation-card,.success-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;padding:40px;width:100%}.header{margin-bottom:30px;text-align:center}.header h1{color:#333;font-size:28px;margin:0}.game-details{background:#f8f9fa;border-radius:8px;margin-bottom:30px;padding:20px}.game-details h2{color:#667eea;font-size:20px;margin-bottom:15px;margin-top:0}.detail-row{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:10px 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#666;font-weight:600}.detail-row .value{color:#333;text-align:right}.response-form h3{color:#333;margin-bottom:20px}.response-options{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.response-btn{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;min-width:150px;padding:15px 20px;transition:all .3s ease}.response-btn:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.response-btn.available.selected{background:#10b981;border-color:#10b981;color:#fff}.response-btn.unavailable.selected{background:#ef4444;border-color:#ef4444;color:#fff}.response-btn.tentative.selected{background:#f59e0b;border-color:#f59e0b;color:#fff}.notes-section{margin-bottom:25px}.notes-section label{color:#333;display:block;font-weight:600;margin-bottom:8px}.notes-section textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.notes-section textarea:focus{border-color:#667eea;outline:none}.submit-btn{padding:15px;transition:background .3s ease;width:100%}.error-message{background:#fee2e2;border-radius:6px;color:#dc2626;margin-bottom:15px;padding:12px;text-align:center}.error-card h2,.success-card h2{color:#333;margin-top:0;text-align:center}.error-card p,.success-card p{color:#666;font-size:16px;text-align:center}.game-summary,.response-summary{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.game-summary h3{color:#667eea;margin-top:0}.game-summary p,.response-summary p{margin:8px 0;text-align:left}.loading{color:#fff;font-size:18px;padding:40px;text-align:center}.accept-invitation-container{align-items:center;background-color:#f0f2f5;display:flex;justify-content:center;min-height:100vh}.card{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:400px;padding:2rem;text-align:center;width:100%}.card h2{color:#333;margin-top:0}.card p{color:#666}.form-group{margin-bottom:1rem;text-align:left}.form-group label{color:#555;display:block;font-weight:700;margin-bottom:.5rem}.form-group input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:.75rem;width:100%}.accept-invitation-container button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .2s;width:100%}button:disabled{background-color:#a0c8f0;cursor:not-allowed}button:hover:not(:disabled){background-color:#0056b3}.error-message{color:#d93025;margin-top:.5rem;text-align:left}.card.error{border-left:5px solid #d93025}.registration-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.registration-card{animation:slideUp .4s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.registration-header{margin-bottom:40px;text-align:center}.registration-header h1{color:#333;font-size:32px;margin:0 0 10px}.registration-header p{color:#666;font-size:16px;margin:0}.registration-form{gap:30px}.form-section,.registration-form{display:flex;flex-direction:column}.form-section{gap:20px}.form-section h2{border-bottom:2px solid #f0f0f0;color:#667eea;font-size:20px;margin:0 0 10px;padding-bottom:10px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#333;font-size:14px;font-weight:600}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:15px;padding:12px 16px;transition:all .3s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input.error{border-color:#ef4444}.form-group input::placeholder{color:#999}.subdomain-input{align-items:center;display:flex;gap:0}.subdomain-input input{border-radius:8px 0 0 8px;border-right:none;flex:1 1}.subdomain-suffix{background:#f8f9fa;border:2px solid #e0e0e0;border-left:none;border-radius:0 8px 8px 0;color:#666;font-size:15px;padding:12px 16px;white-space:nowrap}.error-message{color:#ef4444}.error-message,.help-text{font-size:13px;margin-top:-4px}.help-text{color:#666}.suggestions{background:#f8f9fa;border-radius:8px;margin-top:8px;padding:12px}.suggestions p{color:#666;font-size:13px;margin:0 0 8px}.suggestion-chips{display:flex;flex-wrap:wrap;gap:8px}.suggestion-chip{background:#fff;border:2px solid #667eea;border-radius:20px;color:#667eea;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:all .2s ease}.suggestion-chip:hover{background:#667eea;color:#fff;transform:translateY(-1px)}.submit-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:16px;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.login-link{color:#666;font-size:14px;margin-top:10px;text-align:center}.login-link a{color:#667eea;font-weight:600;text-decoration:none}.login-link a:hover{text-decoration:underline}.success-card{padding:60px 40px;text-align:center}.success-icon{animation:bounce .6s ease-out;font-size:64px;margin-bottom:20px}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.success-card h1{color:#10b981;margin:0 0 15px}.success-card p{color:#666;font-size:16px;margin:10px 0}.subdomain-info{background:#f8f9fa;border-radius:8px;color:#666;font-size:14px;margin-top:30px;padding:20px}.subdomain-info strong{color:#667eea;display:block;font-size:16px;margin-top:8px}@media (max-width:768px){.registration-container{padding:20px 10px}.registration-card{padding:30px 20px}.registration-header h1{font-size:24px}.form-row{grid-template-columns:1fr}.subdomain-input{align-items:stretch;flex-direction:column}.subdomain-input input{border-bottom:none;border-radius:8px 8px 0 0;border-right:2px solid #e0e0e0}.subdomain-suffix{border-left:2px solid #e0e0e0;border-radius:0 0 8px 8px;border-top:none;text-align:center}}.App{text-align:left}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{background-color:#282c34;color:#fff;padding:20px}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.1f15e87c.css.map*/