@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Manrope:wght@400;500;700&display=swap";:root{--brand-green:#16c784;--brand-green-deep:#0e9f6e;--brand-blue:#3b82f6;--ink-900:#111827;--ink-700:#374151;--line:#e5e7eb;--surface:#fff;--bg:linear-gradient(135deg, #f8fff6 0%, #edf4ff 100%);--shadow-soft:0 16px 40px #11182714}*{box-sizing:border-box}body{color:var(--ink-900);background:var(--bg);min-height:100svh;margin:0;font-family:Manrope,sans-serif}#root{min-height:100svh}h1,h2,h3{margin:0;font-family:Sora,sans-serif}p{margin:0}.app-shell{width:min(1080px,100% - 2rem);margin:1rem auto 2rem;padding:1.25rem}.hero-header{color:#fff;box-shadow:var(--shadow-soft);background:radial-gradient(circle at 90% 20%,#34d399 0%,#16c784 50%,#0e9f6e 100%);border-radius:28px;padding:2rem}.eyebrow{letter-spacing:.05em;text-transform:uppercase;background:#fff3;border:1px solid #ffffff73;border-radius:999px;padding:.25rem .75rem;font-weight:700;display:inline-flex}.hero-header h1{margin-top:.75rem;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.1}.subtitle{color:#ffffffe6;max-width:48ch;margin-top:.65rem}.hero-cta{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.btn{cursor:pointer;border:0;border-radius:12px;padding:.72rem 1rem;font-family:Sora,sans-serif;font-weight:700}.btn-primary{color:#fff;background:#111827}.btn-secondary{color:#0e9f6e;background:#fff}.btn-danger{color:#fff;background:#dc2626}.btn-small{background:var(--brand-green);color:#fff;padding:.55rem .75rem;font-size:.84rem}.panel-grid{grid-template-columns:1.35fr 1fr;gap:1rem;margin-top:1rem;display:grid}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:24px;padding:1.25rem}.panel h2{margin-bottom:1rem;font-size:1.35rem}.match-list{gap:.7rem;display:grid}.match-card{border:1px solid var(--line);border-radius:16px;gap:.55rem;padding:.9rem;display:grid}.match-card h3{font-size:1rem}.match-card p{color:var(--ink-700)}.meta{justify-content:space-between;align-items:center;display:flex}.pill{color:var(--brand-blue);background:#ecfeff;border:1px solid #bfdbfe;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.mini-copy{color:var(--ink-700);margin-top:-.2rem}.result{margin-top:.9rem;font-weight:700}.court-picker{gap:.35rem;margin-bottom:.6rem;display:grid}.court-picker label{color:var(--ink-700);font-size:.86rem}.court-picker select{border:1px solid var(--line);border-radius:10px;padding:.6rem;font-family:Manrope,sans-serif;font-weight:600}.slot-grid{grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:.9rem;display:grid}.payment-card{border:1px solid var(--line);background:#f8fafc;border-radius:14px;margin-top:1rem;padding:.85rem}.payment-card h3{margin:0 0 .35rem;font-size:1rem}.payment-actions{flex-wrap:wrap;gap:.5rem;margin-top:.55rem;display:flex}.payment-actions a{align-items:center;text-decoration:none;display:inline-flex}.slot{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;gap:.2rem;padding:.8rem;display:grid}.slot.ok{color:#166534;background:#f0fdf4;border-color:#86efac}.slot.busy{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.full{width:100%;margin-top:.95rem}.footer-note{text-align:center;color:var(--ink-700);margin-top:1rem;font-weight:700}.panel-create-match{grid-column:1/-1}.owner-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.stat-item{border:1px solid var(--line);background:#f8fafc;border-radius:14px;gap:.2rem;padding:.9rem;display:grid}.stat-item span{color:var(--ink-700);font-size:.85rem}.stat-item strong{font-size:1.15rem}.owner-actions{flex-wrap:wrap;gap:.5rem;display:flex}.owner-payment-panel{gap:.9rem;display:grid}.owner-courts-panel{gap:1rem;display:grid}.owner-panel-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.owner-courts-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:1rem;display:grid}.owner-court-form{align-content:start}.owner-payment-label{color:var(--ink-700);gap:.3rem;font-size:.82rem;font-weight:600;display:grid}.owner-payment-label select,.owner-payment-fields input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.6rem .75rem;font-family:Manrope,sans-serif}.owner-payment-card{border:1px solid var(--line);background:linear-gradient(#f8fafc 0%,#fff 100%);border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:1rem;padding:1rem;display:grid}.owner-payment-card h3{margin-bottom:.35rem}.owner-payment-card p{color:var(--ink-700)}.owner-payment-fields{gap:.75rem;display:grid}.owner-payment-fields label{color:var(--ink-700);gap:.3rem;font-size:.82rem;font-weight:600;display:grid}.owner-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-bottom:.8rem;display:grid}.owner-filters label{color:var(--ink-700);gap:.28rem;font-size:.82rem;font-weight:600;display:grid}.owner-filters input,.owner-filters select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.5rem .6rem;font-family:Manrope,sans-serif}@media (width<=900px){.panel-grid,.stats-row,.owner-filters,.owner-payment-card,.owner-courts-layout{grid-template-columns:1fr}}@media (width<=600px){.app-shell{padding:.75rem}.hero-header{border-radius:18px;padding:1.25rem}.hero-header h1{font-size:1.6rem}.panel{border-radius:16px;padding:1rem}.slot-grid{grid-template-columns:1fr}.hero-cta{flex-direction:column}.hero-cta .btn{text-align:center;width:100%}.auth-card{border-radius:18px;padding:1.25rem}.owner-actions{flex-direction:column}.owner-actions .btn{text-align:center;width:100%}.match-card{padding:.75rem}.stats-row{gap:.5rem}.stat-item{padding:.7rem}}.auth-shell{background:radial-gradient(circle at 60% 30%,#d1fae5 0%,#f0fdf4 60%,#fff 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{border:1px solid var(--line);background:#fff;border-radius:24px;width:min(420px,100%);padding:2rem 2.25rem;box-shadow:0 4px 32px #00000012}.auth-card h2{margin:.35rem 0 1.25rem;font-size:1.7rem}.auth-form{flex-direction:column;gap:.55rem;display:flex}.auth-form label{color:var(--ink-700);margin-top:.4rem;font-size:.85rem;font-weight:600}.auth-form input{border:1.5px solid var(--line);background:#f9fafb;border-radius:10px;padding:.6rem .85rem;font-family:inherit;font-size:.97rem;transition:border-color .15s}.auth-form input:focus{border-color:var(--brand-green);background:#fff;outline:none}.auth-form .btn{margin-top:.75rem}.auth-divider{text-align:center;margin-top:.2rem;margin-bottom:.1rem;position:relative}.auth-divider:before{content:"";border-top:1px solid var(--line);position:absolute;top:50%;left:0;right:0}.auth-divider span{color:var(--ink-700);background:#fff;padding:0 .5rem;font-size:.8rem;font-weight:600;position:relative}.google-login-wrap{justify-content:center;min-height:44px;display:flex}.auth-google-disabled{color:#6b7280;cursor:not-allowed;background:#f3f4f6}.auth-error{color:#dc2626;margin:0;font-size:.85rem}.auth-switch{text-align:center;color:var(--ink-700);margin-top:1.1rem;font-size:.88rem}.auth-legal{color:var(--ink-700);text-align:center;margin-top:.9rem;font-size:.8rem;line-height:1.45}.auth-legal a{color:var(--brand-green-deep);font-weight:700}.link-btn{color:var(--brand-green-deep);cursor:pointer;font-weight:700;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover{opacity:.8}.role-toggle{gap:.5rem;margin-bottom:.3rem;display:flex}.role-btn{border:1.5px solid var(--line);cursor:pointer;background:#f9fafb;border-radius:10px;flex:1;padding:.5rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .15s}.role-btn.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.legal-check{color:var(--ink-700);align-items:flex-start;gap:.55rem;margin-top:.25rem;font-size:.82rem;line-height:1.35;display:flex}.legal-check input{margin-top:.25rem}.legal-check a{color:var(--brand-green-deep);font-weight:700}.logout-btn{margin-left:auto}.compliance-panel{margin-top:.1rem}.compliance-links{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.btn-star{border-radius:8px;width:2.2rem;height:2.2rem;padding:0;font-size:1.1rem;line-height:1}.pill-active{background:var(--brand-green);color:#fff;border-color:var(--brand-green)}.rating-card{flex-direction:column;align-items:flex-start}.rating-comment{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-700);border-radius:10px;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.rating-comment:focus{border-color:var(--brand-green);outline:none}.role-switch{background:#fff3;border:1px solid #ffffff59;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.role-switch-btn{cursor:pointer;color:#ffffffd9;background:0 0;border:0;border-radius:8px;padding:.5rem 1rem;font-family:Sora,sans-serif;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.role-switch-btn.active{color:#0e9f6e;background:#fff}.role-switch-btn:not(.active):hover{background:#ffffff26}.role-badge{color:#fff;background:#fff3;border:1px solid #ffffff59;border-radius:8px;align-items:center;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.owner-tabs{border-bottom:2px solid var(--line);gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.owner-tab{cursor:pointer;color:var(--ink-700);background:0 0;border:0;border-radius:8px 8px 0 0;padding:.6rem 1.2rem;font-family:Sora,sans-serif;font-size:.95rem;font-weight:600;transition:background .15s,color .15s;position:relative}.owner-tab.active{color:var(--brand-green);background:#0e9f6e14}.owner-tab.active:after{content:"";background:var(--brand-green);height:2px;position:absolute;bottom:-.5rem;left:0;right:0}.owner-tab:not(.active):hover{background:#0000000a}.owner-tabs-panel{grid-column:1/-1}.owner-section-title{margin-bottom:.25rem}.owner-payment-section{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}.player-app{background:linear-gradient(#f0fdf4 0%,#fff 100%);flex-direction:column;min-height:100vh;display:flex}.player-header{color:#fff;z-index:100;background:linear-gradient(135deg,#16c784 0%,#0e9f6e 100%);padding:0 1rem;position:sticky;top:0;box-shadow:0 2px 8px #0000001a}.player-header-content{justify-content:space-between;align-items:center;max-width:1200px;height:60px;margin:0 auto;display:flex}.player-logo{color:#fff;font-family:Sora,sans-serif;font-size:1.25rem;font-weight:700;text-decoration:none}.player-nav{gap:.5rem;display:flex}.player-nav a{color:#ffffffd9;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.player-nav a:hover{background:#ffffff26}.player-nav a.active{color:#fff;background:#ffffff40}.player-user{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.player-user span{opacity:.9}.btn-link{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;font-weight:600;transition:opacity .15s}.player-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.player-toast{color:#fff;z-index:1000;background:#111827;border-radius:12px;padding:.75rem 1.5rem;font-size:.9rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0003}.player-footer{color:#ffffffb3;text-align:center;background:#111827;padding:1.5rem 1rem;font-size:.85rem}.player-footer-links{justify-content:center;gap:1.5rem;margin-top:.5rem;display:flex}.player-footer-links a{color:#fff9;text-decoration:none}.player-footer-links a:hover{color:#fff}.player-loading{text-align:center;color:var(--ink-700);padding:3rem}.home-view{gap:1.5rem;display:grid}.home-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#16c784 0%,#0e9f6e 100%);border-radius:20px;padding:2rem}.home-hero h1{margin-bottom:.5rem;font-size:2rem}.home-hero p{opacity:.9}.home-filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.home-filters label{color:var(--ink-700);gap:.25rem;font-size:.85rem;font-weight:600;display:grid}.home-filters select{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:.6rem .75rem;font-family:inherit}.home-court-info{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.25rem}.home-court-info h2{margin-bottom:.25rem}.home-court-info p{color:var(--ink-700);font-size:.9rem}.court-price{color:var(--brand-green);margin-top:.5rem;font-weight:700}.home-dates h3,.home-slots h3,.home-match-config h3{margin-bottom:.75rem;font-size:1rem}.date-pills{gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.date-pill{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:center;min-width:60px;padding:.5rem .75rem;transition:all .15s;display:flex}.date-pill.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.day-name{text-transform:uppercase;opacity:.7;font-size:.75rem}.day-num{font-size:1.1rem;font-weight:700}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;display:grid}.slot-btn{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:.6rem;font-weight:600;transition:all .15s}.slot-btn.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.no-slots{color:var(--ink-700);font-style:italic}.home-match-config{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.25rem}.config-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.config-row label{color:var(--ink-700);gap:.25rem;font-size:.85rem;font-weight:600;display:grid}.config-row select{border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:.6rem .75rem;font-family:inherit}.matches-view,.my-matches-view,.profile-view{gap:1.5rem;display:grid}.matches-header{text-align:center}.matches-header h1{margin-bottom:.25rem}.matches-header p{color:var(--ink-700)}.matches-filters{justify-content:center;gap:.5rem;display:flex}.matches-filters button{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:20px;padding:.5rem 1rem;font-weight:600;transition:all .15s}.matches-filters button.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.matches-empty{text-align:center;border:1px solid var(--line);color:var(--ink-700);background:#fff;border-radius:16px;padding:3rem}.matches-list{gap:1rem;display:grid}.match-card{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.match-card.past{opacity:.7}.match-info h3{margin-bottom:.25rem}.match-meta{color:var(--ink-700);font-size:.9rem}.match-level{background:#e5e7eb;border-radius:6px;margin-top:.25rem;padding:.2rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.match-players{color:var(--ink-700);margin-top:.25rem;font-size:.85rem}.match-actions{flex-wrap:wrap;gap:.5rem;display:flex}.joined-badge{background:var(--brand-green);color:#fff;border-radius:10px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.full-badge{color:var(--ink-700);background:#e5e7eb;border-radius:10px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.my-matches-section{gap:1rem;display:grid}.my-matches-section h2{color:var(--ink-700);font-size:1.1rem}.profile-view{max-width:500px;margin:0 auto}.profile-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;padding:2rem}.profile-avatar{background:var(--brand-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2rem;font-weight:700;display:flex}.profile-card h2{margin-bottom:.25rem}.profile-card p{color:var(--ink-700)}.profile-role{text-transform:capitalize;margin-top:.5rem}.profile-stats{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.profile-stats .stat{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;padding:1.5rem}.stat-value{color:var(--brand-green);font-size:2rem;font-weight:700;display:block}.stat-label{color:var(--ink-700);font-size:.85rem}.profile-actions{gap:.75rem;display:grid}.profile-actions button{width:100%}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:20px;width:min(500px,100%);max-height:80vh;padding:1.5rem;overflow-y:auto}.modal-large{width:min(700px,100%)}.modal-content h2{margin-bottom:1rem}.chat-messages{background:#f9fafb;border-radius:12px;gap:.5rem;max-height:300px;margin-bottom:1rem;padding:.5rem;display:grid;overflow-y:auto}.chat-msg{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.5rem .75rem}.chat-msg.own{background:#d1fae5;border-color:#a7f3d0;margin-left:2rem}.chat-sender{color:var(--ink-700);font-size:.75rem;font-weight:600}.chat-input-row{gap:.5rem;display:flex}.chat-input-row input{border:1.5px solid var(--line);border-radius:10px;flex:1;padding:.6rem .75rem;font-family:inherit}.requests-list{gap:.75rem;display:grid}.request-item{background:#f9fafb;border-radius:10px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.request-actions{gap:.5rem;display:flex}.rating-players{gap:1.5rem;margin-bottom:1rem;display:grid}.rating-player{background:#f9fafb;border-radius:12px;gap:.75rem;padding:1rem;display:grid}.rating-stars{gap:.25rem;display:flex}.btn-star{border:1.5px solid var(--line);cursor:pointer;color:#d1d5db;background:#fff;border-radius:8px;width:2.2rem;height:2.2rem;padding:0;font-size:1.1rem}.btn-star.active{color:#fff;background:#fbbf24;border-color:#f59e0b}.rating-tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag-pill{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:20px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.tag-pill.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.rating-comment{border:1.5px solid var(--line);resize:vertical;border-radius:10px;width:100%;min-height:60px;padding:.6rem .75rem;font-family:inherit}.btn-secondary{color:var(--brand-green);border:1.5px solid var(--brand-green);cursor:pointer;background:#fff;border-radius:10px;padding:.6rem 1.25rem;font-family:Sora,sans-serif;font-weight:600;transition:background .15s}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:10px;padding:.6rem 1.25rem;font-family:Sora,sans-serif;font-weight:600}@media (width<=768px){.player-header-content{flex-wrap:wrap;gap:.5rem;height:auto;padding:.75rem 0}.player-nav{order:3;justify-content:center;width:100%;overflow-x:auto}.player-nav a{padding:.4rem .75rem;font-size:.8rem}.home-hero{padding:1.5rem}.home-hero h1{font-size:1.5rem}.match-card{flex-direction:column;align-items:stretch}.match-actions{justify-content:flex-end}}.owner-panel{background:#f9fafb;flex-direction:column;min-height:100vh;display:flex}.owner-loading{color:var(--ink-700);flex:1;justify-content:center;align-items:center;display:flex}.owner-header{color:#fff;z-index:100;background:#111827;padding:0 1rem;position:sticky;top:0}.owner-header-content{justify-content:space-between;align-items:center;max-width:1200px;height:60px;margin:0 auto;display:flex}.owner-logo{color:#fff;font-family:Sora,sans-serif;font-size:1.1rem;font-weight:700;text-decoration:none}.owner-nav{gap:.25rem;display:flex}.owner-nav a{color:#ffffffb3;border-radius:8px;padding:.5rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.owner-nav a:hover{color:#fff;background:#ffffff1a}.owner-nav a.active{background:var(--brand-green);color:#fff}.owner-user{align-items:center;gap:.75rem;font-size:.85rem;display:flex}.owner-user span{opacity:.7}.owner-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.owner-toast{color:#fff;z-index:1000;background:#111827;border-radius:12px;padding:.75rem 1.5rem;font-size:.9rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0003}.owner-footer{color:#fff9;text-align:center;background:#111827;padding:1rem;font-size:.8rem}.owner-footer-links{justify-content:center;gap:1rem;margin-top:.25rem;display:flex}.owner-footer-links a{color:#ffffff80;text-decoration:none}.dashboard-summary{gap:1.5rem;display:grid}.dashboard-summary h1{margin-bottom:.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.stat-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;padding:1.5rem}.stat-card .stat-value{color:var(--brand-green);font-size:2.5rem;font-weight:700;display:block}.stat-card .stat-label{color:var(--ink-700);font-size:.85rem}.summary-info{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.5rem}.summary-info p{margin-bottom:.5rem}.view-header{margin-bottom:1.5rem}.view-header h1{margin-bottom:.25rem}.mini-copy{color:var(--ink-700);font-size:.9rem}.empty-state{border:1px solid var(--line);text-align:center;color:var(--ink-700);background:#fff;border-radius:16px;padding:3rem}.courts-view{gap:1.5rem;display:grid}.courts-list{gap:1rem;display:grid}.court-card{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.court-info h3{margin-bottom:.25rem}.court-info p{color:var(--ink-700);font-size:.9rem}.court-price{margin-top:.25rem;font-weight:700;color:var(--brand-green)!important}.court-config{font-size:.85rem!important}.archived-badge{color:#92400e;background:#fef3c7;border-radius:6px;margin-top:.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.court-actions{flex-wrap:wrap;gap:.5rem;display:flex}.court-form-panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.5rem}.court-form-panel h2{margin-bottom:1rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form-grid label{color:var(--ink-700);gap:.25rem;font-size:.85rem;font-weight:600;display:grid}.form-grid input{border:1.5px solid var(--line);border-radius:10px;padding:.6rem .75rem;font-family:inherit}.form-actions{gap:.75rem;display:flex}.bookings-view{gap:1.5rem;display:grid}.filters-bar{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;gap:1rem;padding:1rem;display:flex}.filters-bar label{color:var(--ink-700);gap:.25rem;font-size:.8rem;font-weight:600;display:grid}.filters-bar input,.filters-bar select{border:1.5px solid var(--line);border-radius:8px;padding:.5rem .6rem;font-family:inherit;font-size:.9rem}.bookings-list{gap:1rem;display:grid}.booking-card{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.booking-info h3{margin-bottom:.25rem}.booking-info p{color:var(--ink-700);font-size:.9rem}.booking-time{font-weight:600;color:#111827!important}.booking-status{margin-top:.25rem}.booking-amount{font-weight:700;color:var(--brand-green)!important}.booking-actions{flex-wrap:wrap;gap:.5rem;display:flex}.payment-config-view{gap:1.5rem;display:grid}.court-selector{color:var(--ink-700);gap:.25rem;max-width:300px;font-size:.85rem;font-weight:600;display:grid}.court-selector select{border:1.5px solid var(--line);border-radius:10px;padding:.6rem .75rem;font-family:inherit}.payment-config-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:1.5rem;padding:1.5rem;display:grid}.payment-court-info h3{margin-bottom:.25rem}.payment-court-info p{color:var(--ink-700);font-size:.9rem}.connection-status{border-radius:6px;margin-top:.5rem;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.connection-status.connected{color:#065f46;background:#d1fae5}.connection-status.disconnected{color:#92400e;background:#fef3c7}.payment-form{gap:1rem;max-width:400px;display:grid}.payment-form label{color:var(--ink-700);gap:.25rem;font-size:.85rem;font-weight:600;display:grid}.payment-form input{border:1.5px solid var(--line);border-radius:10px;padding:.6rem .75rem;font-family:inherit}.btn-primary{background:var(--brand-green);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.6rem 1.25rem;font-family:Sora,sans-serif;font-weight:600;transition:background .15s}.btn-secondary{color:var(--brand-green);border:1.5px solid var(--brand-green);cursor:pointer;background:#fff;border-radius:10px;padding:.6rem 1.25rem;font-family:Sora,sans-serif;font-weight:600}.btn-secondary:hover:not(:disabled){background:#f0fdf4}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger-outline{color:#dc2626;cursor:pointer;background:#fff;border:1.5px solid #dc2626;border-radius:10px;padding:.6rem 1.25rem;font-family:Sora,sans-serif;font-weight:600}.btn-danger-outline:hover:not(:disabled){background:#fef2f2}.btn-danger-outline:disabled{opacity:.6;cursor:not-allowed}.btn-link{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;font-weight:600}.btn-link:hover{opacity:1;text-decoration:underline}.btn-small{padding:.4rem .75rem;font-size:.85rem}@media (width<=768px){.owner-header-content{flex-wrap:wrap;gap:.5rem;height:auto;padding:.75rem 0}.owner-nav{order:3;justify-content:center;width:100%;overflow-x:auto}.owner-nav a{padding:.4rem .6rem;font-size:.8rem}.court-card,.booking-card{flex-direction:column}.court-actions,.booking-actions{justify-content:flex-end;width:100%}.filters-bar{flex-direction:column}}.request-court-page{background:linear-gradient(#f0fdf4 0%,#fff 100%);flex-direction:column;min-height:100vh;display:flex}.request-court-header{background:linear-gradient(135deg,#16c784 0%,#0e9f6e 100%);padding:1rem}.request-court-logo{color:#fff;font-family:Sora,sans-serif;font-size:1.25rem;font-weight:700;text-decoration:none}.request-court-main{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:2rem 1rem}.request-court-hero{text-align:center;margin-bottom:2rem}.request-court-hero h1{color:#111827;margin-bottom:.5rem;font-size:2rem}.request-court-hero p{color:var(--ink-700);font-size:1.1rem}.request-court-content{gap:2rem;display:grid}.benefits-section h2{text-align:center;margin-bottom:1rem}.benefits-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.benefit-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;padding:1.5rem}.benefit-icon{margin-bottom:.5rem;font-size:2rem;display:block}.benefit-card h3{margin-bottom:.25rem;font-size:1rem}.benefit-card p{color:var(--ink-700);font-size:.9rem}.form-section{border:1px solid var(--line);background:#fff;border-radius:20px;padding:2rem}.form-section h2{margin-bottom:.25rem}.form-section .mini-copy{margin-bottom:1.5rem}.request-form{gap:1rem;display:grid}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.request-form label{color:var(--ink-700);gap:.25rem;font-size:.85rem;font-weight:600;display:grid}.request-form label.full-width{grid-column:1/-1}.request-form input,.request-form textarea{border:1.5px solid var(--line);border-radius:10px;padding:.6rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.request-form input:focus,.request-form textarea:focus{border-color:var(--brand-green);outline:none}.request-form textarea{resize:vertical;min-height:100px}.form-error{color:#dc2626;background:#fef2f2;border-radius:10px;padding:.75rem;font-size:.9rem}.form-terms{color:var(--ink-700);text-align:center;font-size:.8rem}.form-terms a{color:var(--brand-green)}.success-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;max-width:500px;margin:3rem auto;padding:3rem 2rem}.success-icon{background:var(--brand-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;font-size:2.5rem;display:flex}.success-card h1{margin-bottom:1rem}.success-card p{color:var(--ink-700);margin-bottom:.75rem}.success-card .btn-primary{margin-top:1.5rem}.btn-primary{background:var(--brand-green);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:10px;padding:.6rem 1.25rem;font-family:Sora,sans-serif;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.btn-primary:hover:not(:disabled){background:#0d8a5e}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-large{width:100%;padding:1rem;font-size:1rem}.request-court-footer{color:#ffffffb3;text-align:center;background:#111827;padding:1.5rem 1rem;font-size:.85rem}.footer-links{justify-content:center;gap:1.5rem;margin-top:.5rem;display:flex}.footer-links a{color:#ffffff80;text-decoration:none}.footer-links a:hover{color:#fff}@media (width<=768px){.request-court-hero h1{font-size:1.5rem}.form-section{padding:1.5rem}.form-row{grid-template-columns:1fr}}
