@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";:root{--ink:#15372f;--muted:#6e8079;--cream:#f9f7f2;--paper:#fffefa;--lime:#dcff55;--line:#e6e6dd;--soft:#f0f3ec;--orange:#ee855c}*{box-sizing:border-box}body{color:var(--ink);background:#dfe4dd;margin:0;font-family:DM Sans,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}.app-shell{background:var(--cream);max-width:490px;min-height:100vh;margin:auto;position:relative;overflow:hidden;box-shadow:0 0 55px #84908755}.topbar{background:#fffefa;justify-content:space-between;align-items:center;height:73px;padding:15px 21px;display:flex}.brand{letter-spacing:-1.2px;align-items:center;gap:5px;font-size:22px;font-weight:700;display:flex}.brand>span:last-child{color:#55a260}.brand-mark{background:var(--ink);color:var(--lime);border-radius:10px;place-items:center;width:31px;height:31px;margin-right:3px;font-family:Playfair Display;font-size:22px;font-style:italic;display:inline-grid}.profile{background:var(--soft);border-radius:50%;place-items:center;width:39px;height:39px;display:grid}.icon{vertical-align:middle;flex:none}.page{min-height:calc(100vh - 73px);padding:25px 21px 102px}.hero{padding:4px 2px 22px}.eyebrow{letter-spacing:1.45px;color:#668078;margin:0 0 9px;font-size:10px;font-weight:700}.hero h1,.details-page h1,.form-page h1,.confirmation h1,.login-page h1,.owner-page h1{letter-spacing:-1.7px;margin:0 0 11px;font-family:Playfair Display;font-size:37px;line-height:1.06}.hero h1 em,.owner-page h1 em{color:#4a9255}.hero>p:last-child,.intro{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.search-card{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;height:70px;padding-left:15px;display:flex;box-shadow:0 5px 14px #31493108}.search-card>div{flex:1;align-items:center;gap:9px;font-size:13px;display:flex}.search-card>div:first-child{border-right:1px solid var(--line)}.search-button{background:var(--ink);width:47px;height:47px;color:var(--lime);border-radius:12px;place-items:center;margin:0 10px;display:grid}.chips{gap:8px;padding:18px 0 24px;display:flex;overflow:auto}.chips button{white-space:nowrap;color:#586a63;border:1px solid #dbe0d8;border-radius:40px;padding:8px 13px;font-size:12px}.chips .selected{background:var(--ink);border-color:var(--ink);color:#fff}.section-title{justify-content:space-between;align-items:end;margin:0 0 15px;display:flex}.section-title .eyebrow{margin-bottom:5px}.section-title h2{letter-spacing:-.8px;margin:0;font-size:20px}.section-title>button{color:#477e55;align-items:center;font-size:12px;font-weight:600;display:flex}.venue-list{gap:15px;display:grid}.venue-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 3px 10px #30453008}.venue-photo,.detail-hero{background-color:#386d4a;height:145px;position:relative;overflow:hidden}.venue-photo:before,.detail-hero:before{content:"";opacity:.95;background:linear-gradient(125deg,#153f32 0%,#0000 48%),repeating-linear-gradient(90deg,#0000 0 22px,#ffffff09 23px 24px),linear-gradient(165deg,#8dc05d,#377144 65%,#244e36);position:absolute;inset:0}.green .venue-photo:before,.green.detail-hero:before{background:linear-gradient(135deg,#9cc972,#4e904f 50%,#173d34),repeating-linear-gradient(0deg,#0000 0 28px,#ffffff09 29px 30px)}.kick .venue-photo:before,.kick.detail-hero:before{background:linear-gradient(135deg,#dba25e,#6b913c 46%,#244b39),repeating-linear-gradient(90deg,#0000 0 22px,#ffffff0d 23px 24px)}.venue-photo:after{content:"";border:2px solid #fff8;border-radius:50%;width:120px;height:120px;position:absolute;top:12px;left:36%}.photo-label,.distance{z-index:1;background:#fffefa;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:600;position:absolute;top:11px}.photo-label{left:11px}.distance{color:#fff;background:#183c33cc;align-items:center;gap:3px;display:flex;right:11px}.venue-info{justify-content:space-between;padding:13px;display:flex}.venue-info h3{margin:0 0 4px;font-size:15px}.venue-info p{color:var(--muted);margin:0 0 7px;font-size:11px}.rating{color:#b97519;align-items:center;gap:3px;font-size:11px;font-weight:700;display:inline-flex}.rating .icon{fill:#f6c851;stroke:#f6c851}.rating i{color:#829087;font-style:normal;font-weight:400}.price{text-align:right;white-space:nowrap;padding-top:2px}.price strong{font-size:14px;display:block}.price span{color:var(--muted);font-size:10px}.owner-banner{background:#e2f1c3;border-radius:15px;align-items:center;gap:11px;margin-top:25px;padding:14px;display:flex}.owner-icon{background:var(--ink);width:35px;height:35px;color:var(--lime);border-radius:10px;place-items:center;display:grid}.owner-banner strong{font-size:13px}.owner-banner p{color:#5d776a;margin:2px 0;font-size:11px}.owner-banner button{margin-left:auto}.bottom-nav{border-top:1px solid var(--line);z-index:5;background:#fffefa;justify-content:space-around;width:min(490px,100%);height:72px;display:flex;position:fixed;bottom:0}.bottom-nav button{color:#85918b;place-content:center;justify-items:center;gap:4px;width:33%;font-size:10px;display:grid}.bottom-nav .active{color:var(--ink);font-weight:700}.bottom-nav .active .icon{stroke-width:2.3px}.back{align-items:center;gap:8px;margin:-4px 0 19px;font-size:14px;font-weight:600;display:flex}.back:first-letter{font-size:27px}.details-page{padding:19px 0 95px}.details-page>.back{padding-left:21px}.detail-hero{height:210px}.detail-hero>span{background:#fffefa;border-radius:6px;padding:7px 11px;font-size:11px;font-weight:600;position:absolute;bottom:17px;left:21px}.detail-content{padding:22px 21px}.detail-content h1{font-size:31px}.detail-meta{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.amenities{flex-wrap:wrap;gap:7px;margin:20px 0;display:flex}.amenities span{color:#52715e;background:#edf2e9;border-radius:5px;align-items:center;gap:4px;padding:6px 8px;font-size:10px;display:flex}.detail-content hr,.confirm-card hr{border:0;border-top:1px solid var(--line);margin:19px 0}.booking-heading{justify-content:space-between;align-items:center;display:flex}.booking-heading h2{margin:0;font-size:18px}.booking-heading .eyebrow{margin-bottom:4px}.booking-heading button{border:1px solid var(--line);border-radius:8px;padding:8px}.time-grid{grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0 23px;display:grid}.time-grid button,.duration-toggle button{background:#fff;border:1px solid #dce3da;border-radius:7px;padding:9px 2px;font-size:11px}.time-grid button:disabled{color:#b7beb8;background:#f3f3ef;text-decoration:line-through}.time-grid .chosen,.duration-toggle .chosen{background:var(--ink);border-color:var(--ink);color:#fff}.duration-panel{align-items:center;gap:11px;display:flex}.duration-panel>.icon{color:#69935b;background:#e7f2d7;border-radius:9px;width:36px;height:36px;padding:8px}.duration-panel strong{font-size:13px}.duration-panel p{color:var(--muted);margin:3px 0;font-size:11px}.duration-toggle{grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0;display:grid}.sticky-book{z-index:3;border-top:1px solid var(--line);background:#fffefa;justify-content:space-between;align-items:center;width:min(490px,100%);padding:12px 21px;display:flex;position:fixed;bottom:0}.sticky-book>div span,.sticky-book>div small{color:var(--muted);font-size:10px;display:block}.sticky-book>div strong{font-size:17px}.sticky-book button,.primary{background:var(--ink);color:#fff;border-radius:10px;align-items:center;gap:10px;padding:14px 16px;font-size:13px;font-weight:600;display:flex}.sticky-book .icon,.primary .icon{color:var(--lime)}.form-page,.login-page{padding-top:20px}.form-page h1,.login-page h1{margin-top:23px;font-size:33px}.booking-summary{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;margin:23px 0;padding:12px;display:flex}.mini-photo{color:#fff;background:linear-gradient(135deg,#9bc86e,#285b42);border-radius:9px;place-items:center;width:51px;height:51px;display:grid}.booking-summary strong{font-size:13px}.booking-summary p{color:var(--muted);margin:4px 0;font-size:10px}form label,.login-page label{color:#39544a;margin:15px 0;font-size:12px;font-weight:600;display:block}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #dde3da;border-radius:9px;outline-color:#6ba46d;margin-top:7px;padding:12px;font-size:13px}textarea{resize:none;height:70px}.phone-input{background:#fff;border:1px solid #dde3da;border-radius:9px;align-items:center;margin-top:7px;display:flex}.phone-input span{border-right:1px solid var(--line);padding:0 12px;font-size:13px}.phone-input input{border:0;margin:0}.payment-note{color:#597050;background:#edf6e4;border-radius:9px;align-items:flex-start;gap:8px;margin:18px 0;padding:11px;font-size:11px;line-height:1.45;display:flex}.payment-note .icon{color:#579350}.full{justify-content:center;width:100%}.confirmation{text-align:center;padding-top:62px}.success-icon{color:#387c46;background:#dff0b9;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 24px;display:grid}.confirmation h1{font-size:37px}.confirm-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;margin:27px 0;padding:17px}.confirm-card>p{letter-spacing:1.2px;color:#829087;margin:0 0 7px;font-size:9px;font-weight:700}.confirm-card h2{margin:0 0 15px;font-size:18px}.confirm-card>div{color:#52655d;align-items:center;gap:8px;margin:9px 0;font-size:12px;display:flex}.confirm-card>span{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.confirm-card>span strong{color:var(--ink);font-size:14px}.text-button{color:#447c53;margin:17px;font-size:12px;font-weight:600}.login-page{padding-top:36px}.login-page .large{border-radius:15px;width:52px;height:52px;margin:27px 0 30px;font-size:34px}.terms{color:#87928d;text-align:center;margin:17px 20px;font-size:10px;line-height:1.5}.otp{grid-template-columns:repeat(6,1fr);gap:7px;margin:28px 0;display:grid}.otp input{text-align:center;margin:0;padding:10px 0;font-size:22px}.owner-page h1{font-size:32px}.stat-row{grid-template-columns:repeat(3,1fr);gap:7px;margin:24px 0 28px;display:grid}.stat-row div{border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px}.stat-row strong,.stat-row span{display:block}.stat-row strong{font-size:18px}.stat-row span{color:var(--muted);margin-top:3px;font-size:9px}.request-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:11px;padding:13px;display:flex}.avatar{color:#42663e;background:#deefbd;border-radius:50%;place-items:center;width:37px;height:37px;font-size:11px;font-weight:700;display:grid}.request-info{flex:1;font-size:11px}.request-info strong{font-size:13px}.request-info strong span{text-transform:uppercase;color:#5a9b5e;background:#e7f3de;border-radius:4px;margin-left:4px;padding:3px 5px;font-size:8px}.request-info p{color:var(--muted);margin:3px 0}.request-info div{color:#50665d;align-items:center;gap:5px;display:flex}.request-info b{color:#4e8352;margin-top:7px;display:block}.request-actions{grid-template-columns:1fr 1.6fr;gap:8px;margin:9px 0 27px;display:grid}.request-actions button{border-radius:8px;padding:12px;font-size:12px;font-weight:600}.decline{border:1px solid #e0e4de}.accept{background:var(--ink);color:#fff}.accept .icon{color:var(--lime)}.decision{border-radius:8px;align-items:center;gap:8px;margin:9px 0 27px;padding:12px;font-size:12px;font-weight:600;display:flex}.decision.yes{color:#43804d;background:#e7f4dc}.decision.no{color:#b0583d;background:#f8e8e3}.owner-calendar{margin:5px 0 24px}.schedule{color:var(--muted);grid-template-columns:38px 1fr;align-items:center;row-gap:8px;font-size:10px;display:grid}.schedule>div{background:#edf1eb;border-radius:5px;height:31px}.schedule .booked{color:#416e47;background:#daeac8;padding:9px;font-weight:600}.schedule .open{background:0 0;border:1px dashed #b6c7b3;padding:8px}.venue-manage{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:8px;width:100%;padding:13px;font-size:12px;display:flex}.venue-manage .icon:last-child{margin-left:auto}@media (width>=700px){body{padding:25px}.app-shell{border-radius:25px;min-height:calc(100vh - 50px)}.bottom-nav,.sticky-book{width:490px;bottom:25px}.bottom-nav{border-radius:0 0 25px 25px}}.search-card{padding-left:0}.search-card>label{flex:1;align-items:center;gap:9px;min-width:0;padding-left:15px;display:flex}.search-card input{background:0 0;border:0;border-radius:0;outline:0;width:100%;margin:0;padding:0;font-size:13px}.search-card input::placeholder{color:#6e8079;opacity:1}.search-card small{letter-spacing:1px;color:#809089;margin-bottom:3px;font-size:8px;font-weight:700;display:block}.search-card label span{min-width:0}.venue-card{text-align:left;width:100%;display:block}.venue-card:focus-visible,.court-option:focus-visible,.alternative:focus-visible,.account-action:focus-visible{outline-offset:2px;outline:3px solid #8bbf61}.venue-photo[style]:before,.detail-hero[style]:before{opacity:1;background:linear-gradient(120deg,#15372f66,#0000 65%)}.venue-photo[style],.detail-hero[style]{background-position:50%;background-size:cover}.rules{color:#587068;margin:0 0 18px;font-size:12px;line-height:1.5}.booking-controls{grid-template-columns:1fr 1fr;gap:10px;margin:15px 0 22px;display:grid}.booking-controls label{color:#52675e;font-size:11px;font-weight:700}.booking-controls label:first-child{grid-column:span 2}.booking-controls input,.booking-controls select{margin-top:5px;padding:10px;font-size:12px}.availability-section{border-top:1px solid var(--line);padding-top:18px}.availability-section h2{margin:0 0 10px;font-size:17px}.subtle{color:var(--muted);margin:10px 0;font-size:12px;line-height:1.45}.court-list,.booking-list{gap:9px;display:grid}.court-option{border:1px solid var(--line);text-align:left;background:#fff;border-radius:11px;justify-content:space-between;align-items:center;width:100%;padding:12px;display:flex}.court-option.chosen{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.court-option strong,.court-option small{display:block}.court-option strong{font-size:13px}.court-option small{color:var(--muted);margin-top:3px;font-size:10px}.court-option b{color:#477e55;align-items:center;font-size:11px;display:flex}.quote-card{background:#e9f3d8;border-radius:11px;gap:3px;margin:16px 0;padding:13px;display:grid}.quote-card span,.quote-card small{color:#587068;font-size:11px}.quote-card strong{font-size:20px}.feedback{border-radius:9px;align-items:flex-start;gap:7px;margin:14px 0;padding:10px;font-size:11px;line-height:1.45;display:flex}.feedback.error{color:#934d38;background:#f9e9e4}.feedback .text-action{color:inherit;white-space:nowrap;margin-left:auto;font-weight:700;text-decoration:underline}.empty-state{text-align:center;color:#587068;background:#fff;border:1px dashed #c9d4c8;border-radius:13px;padding:20px;font-size:12px;line-height:1.5}.empty-state strong{color:var(--ink);font-size:14px;display:block}.empty-state p{margin:5px 0 14px}.empty-state.compact{text-align:left}.empty-state.compact p{margin-bottom:9px}.alternative{color:#327040;padding:6px 0;font-size:12px;text-decoration:underline;display:block}.sticky-book button:disabled,.primary:disabled{opacity:.55;cursor:not-allowed}.optional{color:var(--muted);font-weight:400}.refresh-button{border:1px solid var(--line);color:#477e55;background:#fff;border-radius:8px;align-items:center;gap:5px;margin:-6px 0 15px;padding:8px 10px;font-size:11px;display:flex}.booking-item{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px}.booking-item p{text-transform:capitalize;color:#52715e;background:#eef3e9;border-radius:5px;margin:0 0 7px;padding:3px 6px;font-size:9px;font-weight:700;display:inline-block}.booking-item h2{margin:0 0 5px;font-size:15px}.booking-item span{color:var(--muted);font-size:11px;line-height:1.45;display:block}.booking-item b{margin-top:9px;font-size:13px;display:block}.account-card{border:1px solid var(--line);background:#fff;border-radius:12px;margin:20px 0 9px;padding:14px}.account-card span,.account-card strong{display:block}.account-card span{color:var(--muted);margin-bottom:4px;font-size:10px}.account-card strong{font-size:14px}.account-action{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:8px;width:100%;margin-bottom:20px;padding:13px;font-size:12px;display:flex}.account-action .icon:last-child{margin-left:auto}.secondary{color:var(--ink);background:#fff;border:1px solid #cad7ca;border-radius:10px;padding:14px 16px;font-size:13px;font-weight:600}.payment-page{padding-bottom:48px}.hold-timer{color:#0c5b3f;text-align:center;background:#e9f7ef;border-radius:16px;margin:18px 0;padding:16px}.hold-timer span,.hold-timer small{display:block}.hold-timer span{letter-spacing:.12em;font-size:11px;font-weight:800}.hold-timer strong{letter-spacing:.06em;margin:4px 0;font-size:32px;display:block}.hold-timer small{color:#3d765f;font-size:12px}.payment-options{gap:12px;margin-top:18px;display:grid}.payment-option{color:#183d2c;text-align:left;background:#fff;border:1px solid #cfe0d5;border-radius:14px;gap:5px;width:100%;padding:16px;display:grid}.payment-option:hover:not(:disabled){background:#f4fbf7;border-color:#0e6d4c}.payment-option strong{font-size:16px}.payment-option span{color:#61786b;font-size:13px;line-height:1.4}.payment-option.venue{background:#fbfaf4}.payment-option:disabled{opacity:.55;cursor:not-allowed}.venue-action{background:var(--ink);color:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin:0 13px 13px;padding:11px 12px;font-size:12px;font-weight:700;display:flex}.venue-action .icon{color:var(--lime)}.venue-card:hover .venue-action{background:#0e2b23}.venue-card:focus-visible .venue-action{box-shadow:0 0 0 2px var(--lime)}
