:root{--bg:#f3f2ec;--panel:#fffefa;--ink:#1f332d;--muted:#66776c;--border:#dce0d6;--accent:#315747;--onaccent:#fff;--soft:#e4ebdb;--warn:#b65330;--shadow:0 20px 60px #1c3b2620;--radius:22px;--font:Arial,'Helvetica Neue',sans-serif;--display:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #de9b2e;outline-offset:3px}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1{font-weight:400;letter-spacing:-2px;line-height:1.02;font-size:70px;font-family:var(--display)}h2{font:400 34px/1.15 var(--display);letter-spacing:-.7px}h3{font-size:17px;line-height:1.25}small,.small{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.stack{display:grid;gap:12px}.pill{font-size:11px;display:inline-flex;align-items:center;gap:7px;background:var(--soft);border:1px solid var(--border);padding:5px 10px;border-radius:20px;color:var(--accent);white-space:nowrap}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.btn{border:1px solid var(--border);border-radius:12px;padding:12px 18px;background:var(--panel);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;white-space:nowrap;text-decoration:none;line-height:1.3;min-height:44px}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn.primary{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}.btn.quiet{background:transparent}.btn.danger{color:var(--warn);border-color:var(--warn)}.btn.small{padding:8px 12px;min-height:36px;font-size:12px}.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.iconbtn{width:38px;height:38px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--border);border-radius:50%;cursor:pointer}.demo-bar{background:#202a26;color:#fff;padding:10px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;border-bottom:1px solid #ffffff20}.demo-bar .label{letter-spacing:1px;font-weight:700}.demo-bar .hint{color:#bdc8c1}.demo-bar .seg{display:flex;gap:3px;background:#ffffff12;padding:3px;border-radius:9px}.seg button{border:none;background:transparent;padding:7px 12px;border-radius:7px;color:inherit;font-size:12px;font-weight:600}.demo-bar .seg button.active{background:#f0f2e9;color:#24362d}.demo-bar .btn{background:transparent;color:white;border-color:#ffffff40;min-height:32px;padding:6px 11px;font-size:11px}.topbar{height:92px;max-width:1320px;margin:auto;padding:0 38px;display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--border)}.logo{font-size:25px;font-weight:800;letter-spacing:3px;display:flex;gap:11px;align-items:center;cursor:pointer;white-space:nowrap;border:none;background:none;padding:0}.logomark{width:31px;height:31px}.topbar nav{display:flex;align-self:stretch;gap:26px;margin-left:20px;flex:1}.navbtn{position:relative;border:none;background:none;padding:0;color:var(--muted);font-weight:600;font-size:13px;white-space:nowrap}.navbtn.active{color:var(--ink)}.navbtn.active:after{content:'';height:2px;background:var(--ink);position:absolute;bottom:0;left:0;right:0}.avatar{width:36px;height:36px;border-radius:50%;background:var(--soft);display:grid;place-items:center;border:1px solid var(--border);font-size:11px;font-weight:bold;flex-shrink:0}.main{max-width:1320px;margin:0 auto;padding:34px 38px 70px;min-height:75vh}.footer{display:flex;justify-content:space-between;gap:12px;max-width:1244px;margin:0 auto;border-top:1px solid var(--border);padding:20px 0 28px;font-size:11px;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr .94fr;gap:40px;align-items:stretch;margin-bottom:32px;min-height:350px}.hero-copy{padding:18px 0 6px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}.hero-copy p{max-width:390px;font-size:15px;line-height:1.7;color:var(--muted)}.hero-copy .eyebrow{color:var(--accent)}.hero h1 em{font-weight:400;color:var(--accent)}.hero-art{position:relative;overflow:hidden;border-radius:var(--radius);background:#c7d1b6;min-height:350px;color:#254839}.hero-art .art-label{position:absolute;top:25px;left:26px;z-index:1}.hero-art .art-foot{position:absolute;bottom:22px;left:26px;right:24px;display:flex;justify-content:space-between;z-index:1;font-size:11px}.court-art{position:absolute;width:112%;height:105%;left:7%;top:4%;filter:drop-shadow(4px 18px 12px #2a49342c)}.hero-art .art-badge{position:absolute;top:25px;right:23px;border:1px solid #32524455;padding:5px 12px;border-radius:30px;font-size:11px}.hero-art .ball{position:absolute;left:59%;top:33%;width:25px;height:25px;border-radius:50%;background:#eafa70;box-shadow:12px 25px 20px #35533560}.hero-art .ball:after{content:'';position:absolute;top:8px;left:0;right:0;border-top:1px solid #7d9848;transform:rotate(35deg)}.quick-facts{display:flex;gap:25px;margin-top:8px}.quick-facts b{display:block;font-size:18px;letter-spacing:-.5px}.quick-facts small{font-size:11px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:26px 0 19px}.section-head p{margin-top:5px;color:var(--muted);font-size:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.booking-filters{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:20px}.control-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.control-title{font-size:11px;color:var(--muted);margin-bottom:7px}.option{background:transparent;border:1px solid var(--border);border-radius:9px;padding:8px 13px;min-height:38px;font-size:12px}.option.active{background:var(--accent);border-color:var(--accent);color:var(--onaccent)}.court-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.court-card{border:1px solid var(--border);border-radius:15px;padding:18px;background:var(--panel);transition:box-shadow .15s}.court-card.available:hover{box-shadow:0 5px 20px #1c3b2612}.court-card.unavailable{background:var(--bg)}.court-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.court-num{font:400 38px/1 var(--display);color:var(--accent)}.mini-court{width:50px;height:28px;border:1px solid var(--muted);position:relative;opacity:.65}.mini-court:before{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--muted)}.mini-court:after{content:'';position:absolute;top:50%;left:9px;right:9px;border-top:1px solid var(--muted)}.court-card h3{margin-bottom:4px;font-size:15px}.court-card .price{font-size:21px;font-weight:600;margin:15px 0 2px;letter-spacing:-.5px}.court-card .btn{margin-top:14px;width:100%}.court-card .tag{font-size:10px;color:var(--muted)}.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:23px;display:grid;gap:14px}.game-card .game-title{font-size:19px;letter-spacing:-.4px}.avatars{display:flex;align-items:center}.avatars .avatar{margin-right:-6px;border:2px solid var(--panel)}.avatars .avatar:last-child{background:var(--accent);color:var(--onaccent)}.empty-card{background:var(--soft);border-color:transparent}.empty-card p{font-size:13px;color:var(--muted)}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:4px 0 25px}.page-heading h1{font:400 42px/1.1 var(--display);letter-spacing:-1px}.page-heading p{margin-top:8px;color:var(--muted);font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.metric{background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:20px}.metric .metric-label{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center}.metric strong{font-size:30px;line-height:1.2;font-weight:500;letter-spacing:-1px;display:block;margin:12px 0 6px;font-variant-numeric:tabular-nums}.metric small{font-size:10px}.metric.accent{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}.metric.accent small,.metric.accent .metric-label{color:var(--onaccent);opacity:.75}.calendar-panel{padding:0;overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 22px;border-bottom:1px solid var(--border)}.calendar-scroll{overflow-x:auto;overscroll-behavior-x:contain}.calendar{min-width:1090px;padding:0 20px 18px}.cal-head{display:grid;grid-template-columns:138px 1fr;height:43px;align-items:center}.time-head{position:relative;height:20px}.time-head span{position:absolute;top:2px;color:var(--muted);font-size:10px;transform:translateX(-50%)}.cal-row{display:grid;grid-template-columns:138px 1fr;min-height:102px;border-top:1px solid var(--border)}.cal-name{padding:22px 10px 18px 0;display:flex;flex-direction:column;gap:6px}.cal-name strong{font-size:12px}.cal-name small{font-size:10px}.track{position:relative;min-height:102px;display:grid;grid-template-columns:repeat(30,1fr);background:repeating-linear-gradient(to right,transparent,transparent calc(6.66667% - 1px),var(--border) calc(6.66667% - 1px),var(--border) 6.66667%)}.empty-slot{height:102px;border:0;background:transparent;padding:0}.empty-slot:hover{background:var(--soft)}.cal-book{position:absolute;top:13px;height:76px;border:none;border-radius:9px;text-align:left;padding:9px 9px 7px;border-left:3px solid #4e7860;background:#e1eadf;color:#213d2b;min-width:0;overflow:hidden;cursor:pointer;font-size:10px;line-height:1.4;z-index:1}.cal-book:hover{filter:brightness(.94)}.cal-book strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.cal-book .book-bottom{opacity:.7;font-size:9px;display:block;margin-top:3px}.cal-book.lesson{background:#eee5d8;border-color:#ab7e51;color:#66472d}.cal-book.open{background:#e5e4f1;border-color:#847da5;color:#504a72}.cal-book.unpaid{background:var(--panel);border:1px dashed #b39058;color:#876633}.cal-book.focused{box-shadow:0 0 0 3px var(--ink)}.legend{display:flex;gap:17px;flex-wrap:wrap;padding:13px 22px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}.legend .dot{margin-right:5px}.owner-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.chart-row{display:grid;grid-template-columns:125px 1fr 42px;align-items:center;gap:15px;margin-top:21px;font-size:12px}.bar{height:12px;border-radius:20px;background:var(--bg);overflow:hidden}.bar span{display:block;height:100%;background:var(--accent);border-radius:20px}.action-box{background:var(--soft);border-color:transparent}.action-box h3{font:400 25px/1.2 var(--display);margin:12px 0}.action-box p{font-size:12px;color:var(--muted);line-height:1.7}.callout{background:var(--soft);padding:15px 17px;border-radius:12px;font-size:12px;line-height:1.65;color:var(--accent)}.notice{padding:14px 17px;background:var(--panel);border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:11px;margin:15px 0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:500}td,th{padding:13px 12px;border-bottom:1px solid var(--border)}td:first-child,th:first-child{padding-left:0}td:last-child{text-align:right}tr:last-child td{border-bottom:0}.status{font-size:10px;display:inline-flex;align-items:center;gap:5px;border-radius:8px;padding:4px 8px;background:var(--soft);color:var(--accent)}.status.warn{color:var(--warn);background:transparent;border:1px solid var(--warn)}.booking-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-list .panel{display:grid;gap:15px}.booking-list h3{font-size:22px}.blank-state{padding:50px 20px;text-align:center;background:var(--panel);border:1px dashed var(--border);border-radius:20px;display:grid;justify-items:center;gap:17px}.blank-state p{color:var(--muted);font-size:13px;max-width:380px}.calculator{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{display:grid;gap:7px}.field label{font-size:12px;color:var(--muted)}input,select{width:100%;border:1px solid var(--border);background:var(--panel);border-radius:10px;min-height:44px;padding:10px 12px;color:var(--ink)}input[type=range]{accent-color:var(--accent);padding:0;border:0}.roi-result{padding:23px;background:var(--accent);color:var(--onaccent);border-radius:16px}.roi-result strong{font-size:36px;display:block;letter-spacing:-1px;margin:15px 0}.roi-result small{color:var(--onaccent);opacity:.75}.audit-item{display:grid;grid-template-columns:60px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--border);font-size:12px}.audit-item:last-child{border-bottom:0}.overlay{position:fixed;inset:0;background:#1028206e;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}.dialog{background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:24px;width:500px;max-width:100%;max-height:92dvh;overflow-y:auto;box-shadow:var(--shadow);padding:26px}.dialog.wide{width:650px}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:12px}.dialog-head h2{font-size:27px}.dialog .price-big{font-size:35px;letter-spacing:-1px;font-weight:500}.summary-card{background:var(--bg);border:1px solid var(--border);border-radius:15px;padding:18px;display:grid;gap:10px;margin:18px 0}.summary-line{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px}.steps{display:flex;gap:10px;align-items:center;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.steps .done{color:var(--accent);font-weight:bold}.divider{height:1px;background:var(--border);margin:19px 0}.checkrow{display:flex;gap:10px;font-size:12px;margin:14px 0;align-items:start}.checkrow input{width:17px;min-height:17px;margin-top:2px;accent-color:var(--accent)}.error{font-size:12px;padding:12px;background:#fbeddf;color:#923b2e;border-radius:10px;margin:14px 0}.success-icon{width:58px;height:58px;border:1px solid var(--border);background:var(--soft);color:var(--accent);border-radius:50%;display:grid;place-items:center;margin:5px auto 18px}.success-icon .icon{width:27px;height:27px}.center{text-align:center}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(90vw,650px);padding:13px 22px;background:var(--ink);color:var(--bg);box-shadow:var(--shadow);border-radius:14px;font-size:12px;z-index:200}.mobile-role-label{display:none}.recovery-row{padding:17px 0;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;align-items:center}.recovery-row:last-child{border-bottom:0}.help-list{display:grid;gap:18px;margin:22px 0}.help-step{display:grid;grid-template-columns:28px 1fr;gap:13px;font-size:13px}.help-step .number{background:var(--soft);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:var(--accent);font-weight:bold}.note-inline{font-size:10px;color:var(--muted);margin-top:14px}.menu-toggle{display:none}
/* Concept B changes hierarchy and composition, not only the palette. */
body[data-theme=pulse]{--bg:#131a20;--panel:#1c242c;--ink:#f0f4eb;--muted:#a3b0b6;--border:#35414a;--accent:#d5f36b;--onaccent:#1c2722;--soft:#2a372d;--warn:#f2ab86;--display:Arial,'Helvetica Neue',sans-serif;--shadow:0 24px 70px #0006;--radius:12px}
body[data-theme=pulse] .demo-bar{background:#0c1117}body[data-theme=pulse] .topbar{height:82px}body[data-theme=pulse] .logo{font-style:italic;font-size:29px;letter-spacing:1px}body[data-theme=pulse] .hero{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:27px;grid-template-columns:1.2fr .8fr;gap:22px;min-height:337px}body[data-theme=pulse] .hero h1{font-size:56px;font-weight:800;letter-spacing:-2px;text-transform:uppercase;line-height:1.02;max-width:610px}body[data-theme=pulse] .hero h1 em{font-style:normal}body[data-theme=pulse] .hero-copy{gap:18px;padding:5px 0}body[data-theme=pulse] .hero-copy p{font-size:13px;max-width:430px}body[data-theme=pulse] .hero-art{min-height:315px;background:#333f37;border-radius:7px;color:#d8f26d}body[data-theme=pulse] .hero-art .art-badge{border-color:#d5f36b80}body[data-theme=pulse] .court-art{transform:rotate(10deg) scale(1.1);left:8%;top:1%}body[data-theme=pulse] .hero-art .ball{background:#d5f36b}body[data-theme=pulse] h2,body[data-theme=pulse] .page-heading h1{font-family:var(--display);font-weight:700}body[data-theme=pulse] h2{font-size:28px}body[data-theme=pulse] .court-card{border-radius:9px}body[data-theme=pulse] .court-num{font:bold italic 36px/1 Arial}body[data-theme=pulse] .court-card .price{font-size:24px}body[data-theme=pulse] .metric strong{font-weight:650}body[data-theme=pulse] .cal-book{background:#354d41;color:#edf5e8;border-color:#aacf7e}body[data-theme=pulse] .cal-book.lesson{background:#52493b;color:#f1e1c4;border-color:#c49d61}body[data-theme=pulse] .cal-book.open{background:#3d435c;color:#e0e7ff;border-color:#a1aff5}body[data-theme=pulse] .cal-book.unpaid{background:var(--panel);color:#e7c27b}body[data-theme=pulse] .action-box h3{font-weight:700;font-size:22px}body[data-theme=pulse] .btn{border-radius:7px}body[data-theme=pulse] .game-card{border-radius:9px}body[data-theme=pulse] .pill{border-radius:6px}body[data-theme=pulse] .topbar nav .navbtn.active:after{background:var(--accent)}
@media(min-width:1500px){.main{padding-top:42px}.hero{min-height:370px}}
@media(max-width:1100px){.demo-bar{padding:9px 17px}.demo-bar .hint{display:none}.topbar{padding:0 25px;gap:18px}.topbar nav{margin-left:0;gap:20px}.main{padding:25px}.footer{margin:0 25px}.hero{gap:22px}.hero h1{font-size:59px}body[data-theme=pulse] .hero h1{font-size:44px}.court-grid{gap:10px}.court-card{padding:14px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:26px}.games-grid{grid-template-columns:1fr 1fr}.games-grid>.game-card:last-child{display:none}}
@media(max-width:780px){.demo-bar{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 15px}.demo-bar .label{font-size:9px}.demo-bar>.row:first-child{gap:8px}.demo-bar .seg button{padding:6px 9px;font-size:10px}.demo-bar .bar-tools{margin-left:auto}.demo-bar .roles{order:3;width:100%;justify-content:space-between}.demo-bar .roles button{flex:1}.topbar{height:auto;min-height:72px;flex-wrap:wrap;padding:16px 18px 0;gap:16px}.topbar .logo{font-size:22px}.topbar .club-location{display:none}.topbar nav{order:3;width:100%;height:43px;flex:auto;gap:22px;overflow-x:auto}.topbar .userbox{margin-left:auto}.topbar nav .navbtn{font-size:12px}.main{padding:22px 18px 45px}.hero{grid-template-columns:1fr;gap:18px}.hero-copy{padding:4px 0;gap:16px}.hero h1{font-size:52px}.hero-copy p{font-size:13px;line-height:1.65}.hero-art{min-height:225px;max-height:245px}.court-art{width:88%;left:17%;top:-4%;height:123%}.hero-art .ball{top:26%;left:62%}.hero-art .art-label{top:17px;left:18px}.hero-art .art-badge{top:15px;right:15px}.hero-art .art-foot{bottom:16px;left:18px;right:16px}.quick-facts{gap:27px}.quick-facts b{font-size:16px}.panel{padding:16px;border-radius:16px}.section-head h2{font-size:27px}.section-head{align-items:center}.section-head p{max-width:220px;line-height:1.5}.section-head>.btn{font-size:11px;padding:8px 10px}.booking-filters{gap:15px}.court-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.court-card{min-width:0}.court-card .btn{white-space:normal;min-height:44px}.court-card small{display:block}.court-card{padding:14px}.court-top{margin-bottom:15px}.court-num{font-size:33px}.court-card .price{font-size:20px}.court-card h3{font-size:14px}.court-card .tag{font-size:9px}.court-card .btn{font-size:11px;padding:10px 7px}.games-grid{grid-template-columns:1fr}.games-grid>.game-card:last-child{display:grid}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric strong{font-size:27px}.metric{padding:16px}.metric .metric-label{font-size:10px}.metric .icon{display:none}.page-heading{align-items:start;flex-wrap:wrap;gap:18px}.page-heading h1{font-size:34px}.page-heading .row{flex-wrap:wrap}.owner-grid{grid-template-columns:1fr}.calendar-panel{padding:0}.calendar-toolbar{padding:15px;flex-wrap:wrap;gap:12px}.legend{padding:12px}.booking-list{grid-template-columns:1fr}.calculator{grid-template-columns:1fr}.dialog{padding:21px;max-height:93dvh;border-radius:19px}.overlay{padding:12px}.dialog-head h2{font-size:25px}.footer{margin:0 18px;flex-direction:column}.chart-row{grid-template-columns:105px 1fr 35px;gap:9px}.recovery-row{flex-wrap:wrap}body[data-theme=pulse] .hero{grid-template-columns:1fr;padding:19px;gap:15px}body[data-theme=pulse] .hero h1{font-size:39px}body[data-theme=pulse] .hero-art{min-height:180px;max-height:200px}body[data-theme=pulse] .court-art{left:10%;top:-15%;height:140%}body[data-theme=pulse] .topbar{height:auto}body[data-theme=pulse] .page-heading h1{font-size:31px}.controls-stretch .btn{flex:1}.note-inline{line-height:1.7}.demo-bar .btn{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.btn:hover{transform:none}}
@media print{.demo-bar,.topbar nav,.btn,.footer{display:none}.main{max-width:none}.hero{page-break-inside:avoid}body{background:white}.panel{break-inside:avoid}}
