:root{--primary:#10b981;--primary-dark:#059669;--primary-light:#ecfdf5;--primary-glow:rgba(16,185,129,.25);--app-bg:#f8fafc;--app-surface:#ffffff;--app-border:#e2e8f0;--input-bg:#fdfdfd;--text-main:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;--danger:#ef4444;--warning:#f59e0b;--info:#3b82f6;--shadow-sm:0 2px 4px rgba(0,0,0,.02);--shadow-md:0 4px 12px -2px rgba(0,0,0,.05), 0 2px 6px -1px rgba(0,0,0,.03);--shadow-lg:0 12px 24px -4px rgba(0,0,0,.08), 0 4px 12px -2px rgba(0,0,0,.04);--notif-unread-bg:rgba(16,185,129,.08);--notif-icon-bg:rgba(16,185,129,.14);--notif-icon-color:#059669;--font:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--transition:all .2s cubic-bezier(.4,0,.2,1);--dark-bg:#090d16;--dark-border:#1e293b}[data-theme=dark]{--app-bg:#090d16;--app-surface:#121824;--app-border:#1e293b;--input-bg:#0d1420;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-light:#5b6980;--shadow-sm:0 2px 6px rgba(0,0,0,.25);--shadow-md:0 6px 16px -2px rgba(0,0,0,.4), 0 2px 8px -1px rgba(0,0,0,.3);--shadow-lg:0 16px 30px -4px rgba(0,0,0,.5), 0 6px 14px -2px rgba(0,0,0,.35);--notif-unread-bg:rgba(16,185,129,.14);--notif-icon-bg:rgba(16,185,129,.2);--notif-icon-color:#6ee7b7}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font);-webkit-font-smoothing:antialiased}html,body,#root{height:100%}html,body{overflow-x:hidden;width:100%}body{background:var(--app-bg);color:var(--text-main);transition:background .2s ease,color .2s ease}a{color:inherit;text-decoration:none}button,input,select{font-family:var(--font)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.site-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--app-bg)}.topbar{background:var(--dark-bg);border-bottom:1px solid var(--dark-border);position:sticky;top:0;z-index:100}.topbar-inner{max-width:1100px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.topbar-logo{color:#fff;display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.1rem;flex-shrink:0}.logo-mark{width:1.9rem;height:1.9rem;border-radius:.5rem;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#04140d;font-weight:800;font-size:.75rem;box-shadow:0 0 14px var(--primary-glow);flex-shrink:0}.topbar-links{display:flex;gap:1.8rem;flex:1}.topbar-link{color:var(--text-light);font-size:.86rem;font-weight:700;padding:.3rem 0;border-bottom:2px solid transparent;display:flex;align-items:center;gap:.4rem}.topbar-link:hover{color:#fff}.topbar-link.active{color:var(--primary);border-bottom-color:var(--primary)}.topbar-right{display:flex;align-items:center;gap:.9rem;flex-shrink:0}.topbar-icon-btn{position:relative;background:#ffffff14;border:none;border-radius:.6rem;width:2.3rem;height:2.3rem;cursor:pointer;font-size:1rem;color:#fff;flex-shrink:0}.topbar-icon-btn:hover{background:#ffffff26}.topbar-user{display:flex;align-items:center;gap:.5rem;color:#e2e8f0;font-size:.82rem;font-weight:700}.topbar-logout{background:none;border:1px solid rgba(255,255,255,.18);color:#e2e8f0;border-radius:.6rem;padding:.45rem .8rem;font-size:.78rem;font-weight:700;cursor:pointer}.topbar-logout:hover{border-color:var(--primary);color:var(--primary)}@media (max-width:820px){.topbar-links,.topbar-user span{display:none}}.site-main{flex:1}.site-content{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 6rem;width:100%}@media (max-width:640px){.site-content{padding:1.1rem 1rem 6rem}}.page-narrow{max-width:640px;margin:0 auto}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;align-items:start}.screen-center{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--dark-bg)}.btn-primary{background-color:var(--primary);color:#fff;font-weight:700;padding:1rem 1.5rem;border-radius:1rem;border:none;font-size:1rem;cursor:pointer;box-shadow:0 8px 20px #10b9814d;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:0 10px 24px #10b98173;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background-color:#ffffff1f;color:#fff;font-weight:600;padding:1rem 1.5rem;border-radius:1rem;border:1px solid rgba(255,255,255,.18);font-size:.95rem;cursor:pointer;transition:var(--transition)}.btn-secondary:hover{background-color:#ffffff2e}.btn-outline{background:var(--app-surface);color:var(--text-main);font-weight:700;border:1.5px solid var(--app-border);padding:.85rem 1.3rem;border-radius:1rem;font-size:.9rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-outline.danger:hover{border-color:var(--danger);color:var(--danger)}.btn-join{background:var(--primary);color:#fff;border:none;padding:.5rem 1.1rem;border-radius:.6rem;font-size:.78rem;font-weight:700;cursor:pointer;transition:var(--transition)}.btn-join:hover:not(:disabled){background:var(--primary-dark)}.btn-join:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1.1rem}.form-group label{display:block;font-size:.75rem;font-weight:700;color:var(--text-main);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.4px}.input-control{width:100%;padding:.9rem 1rem;border-radius:.75rem;border:1.5px solid var(--app-border);background:var(--input-bg);font-size:.95rem;font-weight:500;color:var(--text-main);transition:var(--transition);outline:none}.input-control::placeholder{color:var(--text-light)}.input-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--app-surface)}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-error{color:var(--danger);font-size:.82rem;font-weight:600;margin:-.4rem 0 .8rem}.spots-selector{display:flex;align-items:center;justify-content:space-between;background:var(--app-bg);padding:.75rem 1rem;border-radius:.75rem;border:1.5px solid var(--app-border)}.spots-btn{width:32px;height:32px;border-radius:50%;background:var(--app-surface);border:1px solid var(--app-border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:800;color:var(--text-main);transition:var(--transition)}.spots-btn:hover{border-color:var(--primary);color:var(--primary)}.spots-value{font-size:1.1rem;font-weight:800;color:var(--text-main)}.toggle-switch-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0}.toggle-switch-info h5{font-size:.85rem;font-weight:700;color:var(--text-main)}.toggle-switch-info p{font-size:.72rem;color:var(--text-muted);margin-top:.1rem}.ios-switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}.ios-switch input{opacity:0;width:0;height:0}.ios-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#cbd5e1;transition:.3s;border-radius:34px}.ios-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #00000026}input:checked+.ios-slider{background-color:var(--primary)}input:checked+.ios-slider:before{transform:translate(22px)}.screen-welcome{min-height:100vh;background:var(--dark-bg);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3.5rem 2rem;text-align:center;position:relative;overflow:hidden}.screen-welcome>*{width:100%;max-width:380px}.screen-welcome:after{content:"";position:absolute;width:340px;height:340px;background:#10b98129;border-radius:50%;top:-60px;right:-110px;filter:blur(70px)}.screen-welcome:before{content:"";position:absolute;width:280px;height:280px;background:#10b98114;border-radius:50%;bottom:-80px;left:-90px;filter:blur(70px)}.welcome-logo{margin-top:3rem;position:relative;z-index:1}.welcome-logo i{font-size:4rem;color:var(--primary);text-shadow:0 0 30px rgba(16,185,129,.4)}.welcome-logo h1{font-size:2.3rem;font-weight:900;letter-spacing:-1px;font-style:italic;margin-top:1rem}.welcome-logo p{color:#a7f3d0;font-size:.92rem;font-weight:500;margin-top:.3rem}.welcome-login-box{position:relative;z-index:1;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:1.25rem;padding:1.5rem;text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.welcome-login-box label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#a7f3d0;margin-bottom:.5rem}.welcome-login-box input{width:100%;padding:.9rem 1rem;border-radius:.75rem;border:1.5px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:.95rem;font-weight:500;outline:none}.welcome-login-box input::placeholder{color:#ffffff73}.welcome-login-box input:focus{border-color:var(--primary)}.welcome-footer{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem;position:relative;z-index:1}.user-avatar-small{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--primary-light);color:var(--primary-dark);font-weight:800;font-size:.85rem;border:2px solid var(--primary-light);flex-shrink:0}.nav-badge{position:absolute;top:-4px;right:-2px;background:var(--danger);color:#fff;font-size:.6rem;font-weight:800;height:16px;min-width:16px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:1.5px solid var(--dark-bg)}.content-section{padding:1.25rem 0}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-title-row h3{font-size:1rem;font-weight:800;color:var(--text-main);letter-spacing:-.3px}.categories-scroll{display:flex;gap:.5rem;padding:0 1.25rem 1rem;overflow-x:auto}.cat-chip{padding:.55rem 1.1rem;border-radius:100px;font-size:.78rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:var(--transition);background:var(--app-bg);color:var(--text-muted);border:1px solid var(--app-border)}.cat-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 10px #10b98133}.empty-state{color:var(--text-light);padding:2.5rem 1.25rem;text-align:center;font-size:.88rem}.match-card{background:var(--app-surface);border-radius:1.25rem;border:1px solid var(--app-border);padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem;transition:var(--transition);display:block}.match-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.match-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.match-sport-tag{background:var(--primary-light);color:var(--primary);padding:.25rem .6rem;border-radius:100px;font-size:.65rem;font-weight:800;text-transform:uppercase}.match-spots-badge{font-size:.7rem;font-weight:700;color:var(--warning);background:#f59e0b1a;padding:.25rem .5rem;border-radius:.35rem}.match-spots-badge.completed{color:var(--primary);background:#10b9811a}.match-court-name{font-size:.95rem;font-weight:800;color:var(--text-main);margin-bottom:.25rem}.match-datetime{font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.match-progress-bar{height:6px;background:var(--app-border);border-radius:10px;overflow:hidden;margin-bottom:.75rem}.match-progress-fill{height:100%;background:var(--primary);border-radius:10px;transition:width .4s ease}.match-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--app-border);padding-top:.75rem;margin-top:.5rem}.match-price-box{display:flex;flex-direction:column}.price-label{font-size:.62rem;color:var(--text-muted);font-weight:700;text-transform:uppercase}.price-value{font-size:.9rem;font-weight:800;color:var(--text-main)}.create-form-section{background:var(--app-surface);border-radius:1rem;border:1px solid var(--app-border);padding:1.25rem;margin-bottom:1.25rem}.page-title{font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.4px;padding:1.5rem 1.25rem .5rem}.page-title.dark{color:var(--text-main)}.link-back{background:none;border:none;color:var(--text-muted);font-size:.85rem;font-weight:700;cursor:pointer;padding:1.1rem 1.25rem 0;display:flex;align-items:center;gap:.4rem}.link-back:hover{color:var(--text-main)}.match-hub-hero{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;padding:2.5rem 1.25rem 1.75rem;position:relative}.match-hub-hero .tag{display:inline-block;font-size:.65rem;font-weight:800;padding:.3rem .7rem;border-radius:100px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.8rem}.tag-public{background:#10b98133;color:#6ee7b7;border:1px solid rgba(16,185,129,.35)}.tag-private{background:#94a3b826;color:#cbd5e1;border:1px solid rgba(148,163,184,.25)}.match-hub-hero h1{font-size:1.5rem;font-weight:800;letter-spacing:-.4px;margin-bottom:.5rem}.match-hub-hero p{font-size:.82rem;color:#cbd5e1;margin-top:.15rem}.detail-body{background:var(--app-bg);border-radius:1.5rem 1.5rem 0 0;margin-top:-1rem;position:relative;padding:1.5rem 1.25rem 2rem}.card{background:var(--app-surface);border-radius:1.1rem;border:1px solid var(--app-border);padding:1.25rem;margin-bottom:1.1rem;box-shadow:var(--shadow-sm)}.card h3{font-size:.9rem;font-weight:800;color:var(--text-main);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.4px}.player-list{list-style:none;display:flex;flex-direction:column;gap:.8rem}.player-item{display:flex;align-items:center;gap:.7rem;font-size:.88rem}.player-name{flex:1;display:flex;align-items:center;font-weight:600;color:var(--text-main)}.tag-organizer{font-size:.6rem;color:var(--primary);border:1px solid rgba(16,185,129,.3);padding:.1rem .4rem;border-radius:.4rem;margin-left:.5rem;font-weight:800;text-transform:uppercase}.pay-status{font-size:.68rem;font-weight:800;padding:.22rem .55rem;border-radius:2rem}.pay-status.paid{background:#10b9811f;color:var(--primary-dark)}.pay-status.pending{background:#f59e0b1f;color:#b45309}.payment-summary-card{background:var(--app-bg);border-radius:1rem;border:1px solid var(--app-border);padding:1rem;margin-bottom:1rem}.summary-row{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-muted);margin-bottom:.5rem}.summary-row.total{border-top:1px solid var(--app-border);padding-top:.5rem;margin-top:.5rem;font-weight:800;font-size:.98rem;color:var(--text-main)}.paid-note{color:var(--primary-dark);font-size:.85rem;text-align:center;font-weight:700;background:var(--primary-light);padding:.6rem;border-radius:.6rem}.chat-box{display:flex;flex-direction:column;height:300px}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:.2rem}.chat-msg{max-width:78%;font-size:.85rem;background:var(--app-bg);padding:.55rem .8rem;border-radius:1rem 1rem 1rem .2rem;align-self:flex-start;color:var(--text-main)}.chat-msg.mine{align-self:flex-end;background:var(--primary);color:#fff;border-radius:1rem 1rem .2rem}.chat-msg.system{align-self:center;background:transparent;color:var(--text-light);font-size:.76rem;font-style:italic}.chat-msg-author{display:block;font-size:.66rem;color:var(--primary-dark);font-weight:800;margin-bottom:.15rem}.chat-msg.mine .chat-msg-author{color:#ffffffd9}.chat-empty{color:var(--text-light);font-size:.85rem;text-align:center;margin-top:1rem}.chat-input-row{display:flex;gap:.6rem;margin-top:.9rem}.chat-input-row input{flex:1;background:var(--app-bg);border:1.5px solid var(--app-border);color:var(--text-main);padding:.65rem .9rem;border-radius:.75rem;outline:none;font-size:.88rem}.chat-input-row input:focus{border-color:var(--primary)}.chat-send-btn{background:var(--primary);color:#fff;border:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.chat-send-btn:hover{background:var(--primary-dark)}.detail-action-bar{position:sticky;bottom:78px;background:var(--app-surface);padding:1rem 1.25rem;border-top:1px solid var(--app-border);display:flex;justify-content:space-between;align-items:center;gap:1rem}.total-price-box{display:flex;flex-direction:column}.total-price-box span{font-size:.62rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.total-price-box h4{font-size:1.2rem;font-weight:800;color:var(--text-main)}.detail-action-bar .btn-primary{padding:.8rem 1.4rem;font-size:.9rem}.notif-item{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.25rem;border-bottom:1px solid var(--app-border);transition:background .2s ease}.notif-icon{width:2.3rem;height:2.3rem;border-radius:50%;background:var(--notif-icon-bg);color:var(--notif-icon-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem}.notif-item.reminder .notif-icon{background:#f59e0b2e;color:var(--warning)}.notif-text{font-size:.85rem;color:var(--text-main);line-height:1.4}.notif-time{font-size:.7rem;color:var(--text-light);margin-top:.2rem}.notif-item.unread{background:var(--notif-unread-bg)}.profile-hero{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;text-align:center;padding:2.5rem 1.25rem 2rem}.profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto .9rem;box-shadow:0 0 0 5px #10b98133}.profile-avatar-wrap{position:relative;width:72px;margin:0 auto .9rem}.profile-avatar-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 5px #10b98133;display:block}.profile-avatar-wrap .profile-avatar{margin:0}.profile-avatar-edit{position:absolute;bottom:-2px;right:-2px;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;border:2px solid #0f172a;display:flex;align-items:center;justify-content:center;font-size:.7rem;cursor:pointer}.profile-avatar-edit:hover{background:var(--primary-dark)}.profile-hero h2{font-size:1.2rem;font-weight:800}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.25rem}.stat-card{background:var(--app-surface);border:1px solid var(--app-border);border-radius:1rem;padding:1.1rem;text-align:center;box-shadow:var(--shadow-sm)}.stat-card strong{display:block;font-size:1.5rem;font-weight:800;color:var(--primary-dark)}.stat-card span{font-size:.72rem;color:var(--text-muted);font-weight:600}.app-nav{position:fixed;bottom:0;left:0;width:100%;height:70px;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--app-border);display:none;justify-content:space-around;align-items:center;padding-bottom:10px;z-index:99}@media (max-width:820px){.app-nav{display:flex}.site-content{padding-bottom:6rem}}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-light);font-size:.63rem;font-weight:700;cursor:pointer;transition:var(--transition);border:none;background:none;position:relative}.nav-item i{font-size:1.1rem;transition:var(--transition)}.nav-item.active{color:var(--primary)}.nav-item.active i{transform:translateY(-2px)}.nav-item.fab i{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;box-shadow:0 8px 18px #10b98166;margin-top:-22px}.nav-item.fab.active i{transform:translateY(0)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.role-switch{display:flex;gap:.6rem;margin-bottom:1.1rem}.role-option{flex:1;padding:.75rem .5rem;border-radius:.9rem;border:1.5px solid rgba(255,255,255,.18);background:#ffffff0f;color:#d1fae5;font-size:.78rem;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;gap:.35rem}.role-option i{font-size:1rem}.role-option.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px #10b98159}.court-image-wrapper{height:140px;position:relative;overflow:hidden;background-color:#cbd5e1}.court-image-wrapper img{width:100%;height:100%;object-fit:cover}.court-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--app-bg);color:var(--text-light);font-size:2rem}.court-badge{position:absolute;top:12px;left:12px;background:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;padding:.35rem .75rem;border-radius:.5rem;font-size:.65rem;font-weight:700;text-transform:uppercase}.court-distance-badge{position:absolute;top:12px;right:12px;background:var(--primary);color:#fff;padding:.35rem .65rem;border-radius:.5rem;font-size:.65rem;font-weight:800}.court-card{background:var(--app-surface);border-radius:1.25rem;overflow:hidden;border:1px solid var(--app-border);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;cursor:pointer;transition:var(--transition);display:block}.court-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.court-info{padding:1rem}.court-price-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.court-name{font-size:1rem;font-weight:700;color:var(--text-main)}.court-price{font-size:1rem;font-weight:800;color:var(--primary)}.court-address{font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem;display:flex;align-items:center;gap:4px}.court-amenities{display:flex;gap:.35rem;flex-wrap:wrap}.amenity-tag{background:var(--app-bg);color:var(--text-muted);padding:.25rem .5rem;border-radius:.35rem;font-size:.65rem;font-weight:600}.detail-cover{height:200px;position:relative;background:var(--app-bg)}.detail-cover img{width:100%;height:100%;object-fit:cover}.court-detail-body{background:var(--app-surface);border-radius:1.5rem 1.5rem 0 0;margin-top:-1.5rem;position:relative;padding:1.5rem 1.25rem 2rem;box-shadow:0 -10px 20px #0000000d}.detail-header{margin-bottom:.75rem}.detail-header h2{font-size:1.35rem;font-weight:800;color:var(--text-main);letter-spacing:-.4px}.detail-header p{font-size:.8rem;color:var(--text-muted);margin-top:.25rem;display:flex;align-items:center;gap:4px}.detail-section-title{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-main);margin:1.25rem 0 .6rem}.rules-box{background:var(--app-bg);border-radius:.75rem;padding:.85rem;border:1px solid var(--app-border);font-size:.8rem;color:var(--text-muted);line-height:1.5;white-space:pre-wrap}textarea.input-control{resize:vertical;font-family:var(--font)}.toggle-switch-info-hint{font-size:.75rem;color:var(--primary-dark);font-weight:700;margin-top:.5rem}.card-highlight{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.slot-btn{background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:.75rem;padding:.7rem .4rem;font-size:.85rem;font-weight:700;color:var(--text-main);cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;gap:.15rem}.slot-btn small{font-size:.62rem;font-weight:600;color:var(--text-muted)}.slot-btn:hover{border-color:var(--primary)}.slot-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 14px #10b9814d}.slot-btn.active small{color:#ffffffd9}.pix-code-container{background:var(--app-bg);border:1px solid var(--app-border);border-radius:1rem;padding:1.25rem}.pix-qr-placeholder{width:170px;height:170px;margin:0 auto 1rem;background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:.9rem;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:3.2rem}.pix-string{font-family:monospace;font-size:.68rem;color:var(--text-muted);background:var(--app-surface);border:1px dashed var(--app-border);border-radius:.6rem;padding:.7rem;word-break:break-all;cursor:pointer;line-height:1.5}.role-option.light{background:var(--app-bg);border-color:var(--app-border);color:var(--text-muted)}.role-option.light.active{background:var(--primary);border-color:var(--primary);color:#fff}.match-type-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;color:var(--info);background:#3b82f61a;border:1px solid rgba(59,130,246,.25);padding:.3rem .6rem;border-radius:.5rem;margin-bottom:.75rem}.match-type-tag.team{color:#a855f7;background:#a855f71a;border-color:#a855f740}.date-picker-strip{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:1rem}.date-chip{flex-shrink:0;width:58px;background:var(--app-surface);border:1.5px solid var(--app-border);border-radius:.9rem;padding:.6rem .3rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;cursor:pointer;transition:var(--transition)}.date-chip:hover{border-color:var(--primary)}.date-chip.active{background:var(--primary);border-color:var(--primary);box-shadow:0 6px 14px #10b9814d}.date-chip-weekday{font-size:.62rem;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.date-chip.active .date-chip-weekday{color:#ffffffd9}.date-chip-day{font-size:1.15rem;font-weight:800;color:var(--text-main)}.date-chip.active .date-chip-day{color:#fff}.date-chip-month{font-size:.6rem;font-weight:600;color:var(--text-light);text-transform:uppercase}.date-chip.active .date-chip-month{color:#ffffffbf}.photo-picker-btn{width:100%;padding:1.6rem 1rem;border-radius:.9rem;border:1.5px dashed var(--app-border);background:var(--input-bg);color:var(--text-muted);cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;align-items:center;gap:.6rem;font-size:.82rem;font-weight:600}.photo-picker-btn i{font-size:1.5rem;color:var(--text-light)}.photo-picker-btn small{font-size:.68rem;color:var(--text-light);font-weight:500}.photo-picker-btn:hover{border-color:var(--primary);color:var(--primary)}.photo-picker-btn:hover i{color:var(--primary)}.photo-preview{position:relative;border-radius:.9rem;overflow:hidden;border:1.5px solid var(--app-border)}.photo-preview img{width:100%;max-height:220px;object-fit:cover;display:block}.photo-remove-btn{width:100%;padding:.6rem;background:#0f172abf;color:#fff;border:none;cursor:pointer;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.4rem}.photo-remove-btn:hover{background:#ef4444d9}.standings-table{width:100%;border-collapse:collapse;font-size:.78rem}.standings-table th{text-align:center;color:var(--text-light);font-weight:700;font-size:.65rem;text-transform:uppercase;padding:.4rem .3rem;border-bottom:1px solid var(--app-border)}.standings-table th:first-child{text-align:left}.standings-table td{padding:.5rem .3rem;text-align:center;color:var(--text-main);border-bottom:1px solid var(--app-border)}.standings-table td:first-child{text-align:left;font-weight:600}.standings-table tr:last-child td{border-bottom:none}.score-row{display:flex;align-items:center;gap:.6rem;background:var(--app-bg);border:1px solid var(--app-border);border-radius:.7rem;padding:.7rem .9rem;font-size:.82rem;color:var(--text-main);flex-wrap:wrap}.score-row.disabled{color:var(--text-light);justify-content:center}.score-row .muted-vs{color:var(--text-light);font-size:.7rem}.score-row .winner{font-weight:800;color:var(--primary-dark)}.score-row .score-final{font-family:monospace;font-weight:800;color:var(--text-main);padding:0 .5rem}.score-row.editable{justify-content:space-between}.score-inputs{display:flex;align-items:center;gap:.4rem}.score-inputs input{width:2.6rem;text-align:center;padding:.4rem 0;border-radius:.5rem;border:1.5px solid var(--app-border);background:var(--input-bg);color:var(--text-main);font-size:.85rem;font-weight:700}.score-inputs span{color:var(--text-light);font-size:.75rem}.table-scroll{overflow-x:auto}.score-block{display:flex;flex-direction:column;gap:.4rem}.match-schedule-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.72rem;color:var(--text-muted);padding:0 .2rem;flex-wrap:wrap}.match-schedule-row.editable{background:var(--app-bg);border:1px solid var(--app-border);border-radius:.6rem;padding:.6rem}.match-schedule-row input{padding:.4rem .5rem;border-radius:.5rem;border:1.5px solid var(--app-border);background:var(--input-bg);color:var(--text-main);font-size:.78rem}.link-edit-schedule{background:none;border:none;color:var(--primary-dark);font-size:.7rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.3rem}.link-edit-schedule:hover{text-decoration:underline}.calendar-layout{display:flex;flex-direction:column;gap:1.5rem}@media (min-width:820px){.calendar-layout{flex-direction:row;align-items:flex-start}}.calendar{background:var(--app-surface);border:1px solid var(--app-border);border-radius:1rem;padding:1rem;flex-shrink:0;width:100%}@media (min-width:820px){.calendar{width:300px}}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.calendar-title{font-weight:800;font-size:.85rem;color:var(--text-main);text-transform:capitalize}.calendar-nav{width:1.9rem;height:1.9rem;border-radius:.5rem;border:1px solid var(--app-border);background:var(--app-bg);color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:var(--transition)}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-nav:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.4rem}.calendar-weekdays span{text-align:center;font-size:.65rem;font-weight:700;color:var(--text-light)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem}.calendar-cell{aspect-ratio:1;border:none;background:transparent;border-radius:.5rem;font-size:.78rem;font-weight:600;color:var(--text-light);cursor:default;display:flex;align-items:center;justify-content:center;position:relative;transition:var(--transition)}.calendar-cell.empty{visibility:hidden}.calendar-cell.has-slots{color:var(--text-main);cursor:pointer}.calendar-cell.has-slots:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--primary)}.calendar-cell.has-slots:hover{background:var(--app-bg)}.calendar-cell.selected{background:var(--primary)!important;color:#fff!important}.calendar-cell.selected:after{background:#fff}.calendar-cell:disabled{cursor:not-allowed}.calendar-slots-panel{flex:1;min-width:0}.calendar-slots-title{font-size:.8rem;font-weight:700;color:var(--text-muted);margin-bottom:.7rem;text-transform:capitalize}
