:root{color:#f5f5f5;font-synthesis:none;text-rendering:optimizelegibility;background:#050505;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% 0,#dc263214,#0000 45%),#050505;min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}.app{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{text-align:center;background:linear-gradient(145deg,#181818fa,#0b0b0bfa);border:1px solid #292929;border-radius:4px;width:min(440px,100%);padding:48px;position:relative;overflow:hidden;box-shadow:0 30px 80px #000000a6,0 0 40px #dc263209}.card:before{content:"";background:#e63946;width:100%;height:2px;position:absolute;top:0;left:0;box-shadow:0 0 18px #e6394673}.logo{color:#fff;background:linear-gradient(135deg,#e63946,#a91e2a);border-radius:4px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;font-size:20px;font-weight:900;display:flex;transform:skew(-4deg);box-shadow:0 10px 30px #e6394633}.eyebrow{color:#8f8f8f;letter-spacing:.2em;margin:0 0 10px;font-size:12px;font-weight:800}h1{color:#f5f5f5;text-transform:uppercase;margin:0;font-size:32px;font-weight:900;line-height:1.2}h2{color:#e63946;text-transform:uppercase;margin:8px 0 28px;font-size:28px;font-weight:900}.subtitle{color:#858585;margin:0 0 28px;font-size:14px}.player-select{color:#f5f5f5;cursor:pointer;background:#111;border:1px solid #343434;border-radius:3px;outline:none;width:100%;height:52px;padding:0 16px;transition:border-color .15s,box-shadow .15s}.player-select:hover{border-color:#4a4a4a}.player-select:focus{border-color:#e63946;box-shadow:0 0 0 2px #e639461f}.actions{gap:10px;display:flex}.button{text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:1px solid #0000;border-radius:3px;height:48px;padding:0 20px;font-weight:800;transition:transform .15s,background .15s,border-color .15s,opacity .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.35;cursor:not-allowed}.button.primary{color:#fff;background:#e63946;box-shadow:0 6px 20px #e639461f}.button.primary:hover:not(:disabled){background:#f04452}.button.secondary{color:#d0d0d0;background:#181818;border-color:#343434}.button.secondary:hover:not(:disabled){background:#222;border-color:#505050}.button.full{width:100%;margin-top:14px}.code-input{color:#f5f5f5;text-align:center;letter-spacing:.35em;background:#111;border:1px solid #343434;border-radius:3px;outline:none;width:100%;height:64px;margin-bottom:12px;font-size:28px;font-weight:800;transition:border-color .15s,box-shadow .15s}.code-input:focus{border-color:#e63946;box-shadow:0 0 0 2px #e639461f}.code-input::placeholder{color:#555}.error-message{color:#e63946;margin:4px 0 14px;font-size:13px;font-weight:600}.schedule-page{background:radial-gradient(circle at 50% 0,#e639460f,#0000 40%),#050505;min-height:100vh}.topbar{background:#080808f5;border-bottom:1px solid #242424;align-items:center;height:76px;padding:0 6%;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-logo{color:#fff;background:#e63946;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:900;display:flex;transform:skew(-6deg)}.brand div:last-child{flex-direction:column;line-height:1;display:flex}.brand strong{letter-spacing:.08em;font-size:14px}.brand span{color:#e63946;letter-spacing:.12em;margin-top:4px;font-size:11px;font-weight:800}.user-info{text-align:right;flex-direction:column;margin-left:auto;margin-right:24px;display:flex}.user-info span{color:#666;letter-spacing:.12em;font-size:9px;font-weight:700}.user-info strong{color:#eee;margin-top:3px;font-size:13px}.logout-button{color:#aaa;cursor:pointer;background:#111;border:1px solid #333;border-radius:3px;height:36px;padding:0 14px;font-size:10px;font-weight:800}.logout-button:hover{color:#e63946;border-color:#e63946}.schedule-content{width:min(1100px,92%);margin:0 auto;padding:60px 0}.page-heading{margin-bottom:34px}.page-heading h1{letter-spacing:-.03em;margin:0;font-size:clamp(30px,4vw,48px);font-style:italic;font-weight:900}.page-heading h1 span{color:#e63946}.page-heading p:last-child{color:#777;margin-top:10px;font-size:14px}.calendar{background:linear-gradient(145deg,#111,#090909);border:1px solid #242424;box-shadow:0 25px 70px #00000073}.calendar-header{border-bottom:1px solid #292929;justify-content:space-between;align-items:center;height:90px;padding:0 28px;display:flex}.month-title{text-transform:uppercase;align-items:center;gap:10px;display:flex}.month-title span{color:#eee;font-size:22px;font-style:italic;font-weight:900}.month-title strong{color:#e63946;font-size:14px}.month-button{color:#aaa;cursor:pointer;background:#141414;border:1px solid #303030;border-radius:3px;width:42px;height:42px;font-size:28px;transition:background .15s,color .15s,border-color .15s}.month-button:hover{color:#e63946;background:#1d1d1d;border-color:#e63946}.weekdays{border-bottom:1px solid #242424;grid-template-columns:repeat(7,1fr);display:grid}.weekdays span{color:#666;letter-spacing:.12em;text-align:center;padding:14px 10px;font-size:10px;font-weight:800}.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{color:#aaa;text-align:left;cursor:pointer;background:#0c0c0c;border:1px solid #242424;border-top:0;border-left:0;min-height:105px;padding:14px;transition:background .15s,box-shadow .15s,color .15s}.calendar-day:hover{color:#fff;background:#151515;box-shadow:inset 0 2px #e63946}.calendar-day span{font-size:15px;font-weight:800}.calendar-day.today{color:#fff;background:linear-gradient(135deg,#e639461f,#0c0c0c);box-shadow:inset 0 2px #e63946}.calendar-day.today span{color:#e63946}.calendar-day.empty{cursor:default;background:#080808}.calendar-day.empty:hover{box-shadow:none}.selected-date{color:#888;background:#111;border-left:3px solid #e63946;margin-top:20px;padding:16px 20px;font-size:13px}.selected-date strong{color:#e63946}.page-transition{animation:.45s ease-out pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.time-selector{width:100%;animation:.25s ease-out pageEnter}.time-header{margin-bottom:24px}.back-button{color:#777;letter-spacing:.06em;cursor:pointer;background:0 0;border:0;margin-bottom:20px;padding:0;font-size:11px;font-weight:800}.back-button:hover{color:#e63946}.time-date h1{color:#f2f2f2;text-transform:uppercase;margin:0;font-size:clamp(26px,4vw,40px);font-style:italic;font-weight:900}.selection-summary{background:#0d0d0d;border:1px solid #292929;border-left:3px solid #e63946;justify-content:space-between;align-items:center;margin-bottom:16px;padding:18px 22px;display:flex}.selection-summary>div:first-child{flex-direction:column;display:flex}.selection-summary span{color:#666;letter-spacing:.12em;font-size:9px;font-weight:800}.selection-summary strong{color:#eee;margin-top:6px;font-size:16px}.hours-count{align-items:center;gap:7px;display:flex}.hours-count strong{color:#e63946;margin:0;font-size:24px}.hours-count span{color:#777;font-size:9px}.time-instructions{color:#777;margin-bottom:12px;font-size:12px}.instruction-dot{background:#e63946;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 8px #e6394680}.time-grid{-webkit-user-select:none;user-select:none;grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.time-cell{color:#777;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#0d0d0d;border:1px solid #292929;border-radius:2px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:76px;padding:14px;transition:background .1s,border-color .1s,color .1s,transform .1s;display:flex}.time-cell:hover{color:#ddd;background:#151515;border-color:#555}.time-cell:active{transform:scale(.98)}.time-cell.selected{color:#fff;background:linear-gradient(135deg,#e639462e,#e639460d);border-color:#e63946;box-shadow:inset 3px 0 #e63946,0 0 14px #e639460d}.time-hour{font-size:18px;font-weight:900}.time-status{letter-spacing:.08em;color:#555;margin-top:5px;font-size:8px;font-weight:800}.time-cell.selected .time-status{color:#e63946}.time-footer{border-top:1px solid #242424;justify-content:space-between;align-items:center;margin-top:18px;padding-top:18px;display:flex}.legend{gap:18px;display:flex}.legend span{color:#666;align-items:center;gap:7px;font-size:9px;font-weight:800;display:flex}.legend i{width:8px;height:8px;display:inline-block}.legend-selected{background:#e63946;box-shadow:0 0 7px #e6394666}.legend-empty{background:#151515;border:1px solid #444}.confirm-button{min-width:220px}.save-notification{background:#0c120d;border:1px solid #293b2d;border-left:3px solid #4caf50;align-items:center;gap:12px;margin-top:18px;padding:13px 16px;animation:.2s ease-out saveNotificationEnter;display:flex}.save-notification>span{color:#63d471;background:#18301d;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:14px;font-weight:900;display:flex}.save-notification div{flex-direction:column;display:flex}.save-notification strong{color:#63d471;letter-spacing:.08em;font-size:10px;font-weight:900}.save-notification small{color:#666;margin-top:3px;font-size:11px}@keyframes saveNotificationEnter{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.confirm-button.saved{color:#555;cursor:default;box-shadow:none;background:#151515;border-color:#303030}.confirm-button.saved:hover{color:#555;background:#151515;border-color:#303030}.calendar-day.has-availability{background:linear-gradient(145deg,#e6394614,#0c0c0c)}.calendar-day.has-availability:hover{background:linear-gradient(145deg,#e6394626,#151515)}.day-availability{align-items:center;gap:6px;margin-top:9px;display:flex}.availability-dot{background:#e63946;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #e6394673}.day-availability strong{color:#e63946;letter-spacing:.05em;font-size:8px;font-weight:900}.matches-page{width:100%;animation:.25s ease-out pageEnter}.matches-heading{margin-top:30px;margin-bottom:30px}.matches-heading h1{color:#f2f2f2;letter-spacing:-.03em;margin:0;font-size:clamp(30px,4vw,48px);font-style:italic;font-weight:900}.matches-heading h1 span{color:#e63946}.matches-heading>p:last-child{color:#777;margin-top:10px;font-size:13px}.matches-list{flex-direction:column;gap:8px;display:flex}.match-card{background:#0d0d0d;border:1px solid #292929;align-items:center;min-height:90px;padding:18px 22px;transition:border-color .15s,background .15s;display:flex;position:relative}.match-card:hover{background:#111;border-color:#3a3a3a}.match-card.full-match{background:linear-gradient(100deg,#e6394617,#0d0d0d);border-color:#e6394673;box-shadow:inset 3px 0 #e63946}.match-main{min-width:220px}.match-date{color:#777;text-transform:uppercase;font-size:10px;font-weight:800}.match-hour{color:#eee;margin-top:5px;font-size:22px;font-weight:900}.match-hour span{color:#666;margin-left:5px;font-size:14px}.match-players{align-items:center;gap:18px;margin-left:auto;display:flex}.player-count{color:#aaa;text-align:right;min-width:48px;font-size:24px;font-weight:900}.player-count span{color:#555;font-size:13px}.player-count.full{color:#e63946}.player-list{flex-wrap:wrap;gap:6px;min-width:280px;display:flex}.player-list span{color:#aaa;text-transform:uppercase;background:#151515;border:1px solid #292929;padding:5px 8px;font-size:9px;font-weight:800}.player-list i{color:#e63946;margin-right:5px;font-style:normal}.best-badge{color:#e63946;letter-spacing:.08em;font-size:7px;font-weight:900;position:absolute;top:8px;right:10px}.empty-matches{text-align:center;background:#0d0d0d;border:1px solid #292929;flex-direction:column;align-items:center;padding:60px 20px;display:flex}.empty-matches strong{color:#aaa;font-size:13px}.empty-matches span{color:#555;margin-top:8px;font-size:11px}.matches-button-container{justify-content:flex-end;margin-top:18px;display:flex}.matches-button{min-width:220px}.availability-filters{gap:10px;margin-top:24px;display:flex}.availability-filters button{color:#888;cursor:pointer;background:#111;border:1px solid #2a2a2a;padding:10px 18px;font-family:inherit;font-weight:700;transition:all .2s}.availability-filters button:hover{color:#fff;border-color:#ef3340}.availability-filters button.active{color:#fff;background:#ef3340;border-color:#ef3340;box-shadow:0 0 15px #ef334033}
