:root{--ink:#143c3a;--muted:#69817e;--teal:#187568;--line:#dbe5df;--paper:#f4f6f1;--gold:#dceb92}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 system-ui,-apple-system,"Noto Sans TC",sans-serif}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}header{background:white;padding:24px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;font-size:19px;font-weight:750;color:var(--ink)}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500}.mark{background:var(--ink);color:var(--gold);font-size:28px;border-radius:15px 15px 3px 15px;padding:4px 13px}.identity{display:flex;align-items:center;gap:18px;font-size:13px}nav{display:flex;gap:26px;background:#fff;padding:13px max(5vw,20px);overflow-x:auto;white-space:nowrap;font-size:14px}nav a{color:var(--ink)}main{max-width:1280px;margin:auto;padding:35px 32px 70px;min-height:75vh}h1{font-size:36px;line-height:1.28;letter-spacing:-1px;margin:8px 0 22px}h2{font-size:22px;line-height:1.4;margin:6px 0 16px}h3{font-size:20px;margin:0 0 8px}p{margin:10px 0 18px}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:700;color:var(--teal);margin-bottom:18px}.muted{color:var(--muted);font-size:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:22px}.hero{border-radius:22px;background:var(--ink);color:#fff;padding:42px;display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff18;border-radius:50%;right:130px;top:-180px;pointer-events:none}.hero .eyebrow{color:var(--gold)}.hero p{color:#d8e5df}.hero-stat{background:#ffffff0d;border:1px solid #ffffff30;width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-stat strong{font-size:38px;line-height:1.2}.hero-stat span{font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-head h1,.section-head h2{margin-bottom:0}.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:34px}.facility-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--ink)}.facility-card:hover{text-decoration:none;border-color:var(--teal)}.facility-card.selected{outline:2px solid var(--teal);outline-offset:3px}.facility-visual{height:132px;background:#d8e5c5;display:flex;align-items:center;justify-content:space-between;padding:25px;color:#2d6555;overflow:hidden}.facility-visual span{font-size:100px;line-height:1;font-weight:200;transform:rotate(-15deg)}.facility-visual small{font-size:11px;letter-spacing:3px;writing-mode:vertical-rl}.facility-visual.pool{background:#c5e5e5;color:#3a9092}.facility-visual.room{background:#e9deca;color:#927854}.facility-content{padding:22px}.facility-content p{font-size:12px;min-height:40px;color:var(--muted)}.facility-content small{font-size:12px;font-weight:400;color:var(--muted)}button,.button{display:inline-block;font:inherit;font-weight:650;cursor:pointer;color:white;background:var(--teal);border:1px solid var(--teal);padding:11px 22px;border-radius:9px;text-align:center;line-height:1.5}button:hover,.button:hover{background:#105b51;text-decoration:none;color:white}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.small{padding:7px 13px;font-size:12px}.wide{width:100%;margin-top:12px}.inline{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.inline input{width:auto;max-width:100%}input,select{font:inherit;border:1px solid #ccd9d1;background:white;border-radius:8px;padding:10px 12px;width:100%;min-width:0;color:var(--ink)}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #b1d6c6;outline-offset:2px}label{display:block;font-size:13px;margin-bottom:17px;font-weight:600}label input,label select{margin-top:6px}form{margin:0}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.slot{padding:17px;border:1px solid var(--line);border-radius:12px;background:#fbfcf9;display:flex;gap:7px;flex-direction:column}.slot span{font-size:12px;color:var(--teal)}.slot label{margin:0;font-size:11px}.slot input{padding:5px}.slot button{margin-top:auto}.slot.unavailable{background:#f3f3f0}.slot.unavailable span{color:#808a84}.notice{padding:16px 20px;border:1px solid #d3e1d3;border-left:4px solid var(--teal);background:#eaf2e9;margin-bottom:24px;border-radius:7px;font-size:14px}.notice.error{background:#fff0ea;color:#9b3d28;border-color:#edc8bb}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;max-width:1050px;margin:30px auto}.auth-intro h1{font-size:52px}.auth-intro p:not(.eyebrow){color:var(--muted)}.auth{padding:38px}.auth-link{text-align:center;font-size:13px}.tags{display:flex;gap:10px;flex-wrap:wrap}.tags span{border:1px solid #b8cfc2;border-radius:30px;padding:5px 13px;font-size:12px}.sport-art{height:220px;position:relative;margin:30px 0;overflow:hidden;background:#dfe9d6;border-radius:70px 12px 70px 12px}.court-art{position:absolute;width:260px;height:200px;transform:rotate(-20deg);background:linear-gradient(90deg,transparent 49%,#eff7e9 49%,#eff7e9 51%,transparent 51%),linear-gradient(0deg,transparent 49%,#eff7e9 49%,#eff7e9 51%,transparent 51%);border:3px solid #eff7e9;outline:18px solid #478271;right:0;top:0;background-color:#478271}.sport-art span{position:absolute;z-index:2;color:#e0ee8f;font-size:115px;left:30px;top:5px;text-shadow:4px 8px 20px #173d3930}.sport-art b{position:absolute;bottom:18px;left:24px;font-size:10px;letter-spacing:3px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metrics .panel span{display:block;font-size:12px;color:var(--muted)}.metrics strong{display:block;font-size:30px;margin-top:6px}.search{display:flex;gap:10px;max-width:650px}.booking-detail{display:flex;flex-wrap:wrap;gap:12px 25px;font-size:14px}.badge{padding:5px 13px;background:#eff1ed;color:#5c7067;border-radius:30px;font-size:12px;white-space:nowrap}.badge.confirmed,.badge.checked_in{background:#dff0e2;color:#28663d}.badge.payment_review,.badge.pending_payment,.badge.refund_pending{background:#fbefd3;color:#976210}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.empty{text-align:center;padding:65px 20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:13px}th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-weight:500;background:#f8faf5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 24px}.form-grid button{align-self:end;margin-bottom:17px}.facility-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.facility-list .panel{padding:18px}.narrow{max-width:550px}.receipt{max-width:720px;margin:auto}.receipt dl{display:grid;grid-template-columns:140px 1fr;gap:18px}.receipt dd{margin:0}footer{padding:25px max(5vw,20px);border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}@media(max-width:900px){.facility-grid,.facility-list,.slots{grid-template-columns:repeat(2,1fr)}.auth-layout{gap:35px}.auth-intro h1{font-size:40px}.auth{padding:25px}.identity{font-size:11px}.metrics strong{font-size:23px}}@media(max-width:600px){header{padding:18px;align-items:flex-start}.brand{font-size:15px}.brand small{font-size:7px}.identity{display:block;text-align:right}.identity form{margin-top:6px}.mark{font-size:22px;padding:3px 10px}main{padding:24px 17px 45px}nav{padding:12px 17px;gap:20px}h1{font-size:28px}.hero{padding:28px 24px}.hero h1{font-size:28px}.hero-stat{display:none}.section-head{align-items:flex-start;flex-direction:column;gap:12px}.facility-grid{gap:12px}.facility-content{padding:16px}.facility-visual{height:95px;padding:18px}.facility-visual span{font-size:75px}h3{font-size:17px}.panel{padding:20px}.slot{padding:12px}.slot strong{font-size:12px}.auth-layout{grid-template-columns:1fr;margin:0;gap:25px}.auth-intro{display:none}.auth{padding:28px}.metrics{grid-template-columns:1fr;gap:0}.metrics .panel{padding:16px}.form-grid{grid-template-columns:1fr}.inline input{width:100%}.actions,.actions form{width:100%}.booking-detail{gap:8px;flex-direction:column}.receipt dl{grid-template-columns:1fr;gap:5px}.receipt dd{margin-bottom:15px}footer{flex-direction:column}.search button{padding:10px 15px}.facility-list{grid-template-columns:1fr 1fr}}@media print{header,nav,footer,.actions{display:none}body{background:white}main{padding:0}.receipt{border:0;max-width:none}.notice{display:none}}
