*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#110e11;color:#f7ede2;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}header{background:#171216;border-bottom:1px solid #382a30;position:sticky;top:0;z-index:10}.nav{max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:16px 22px}.brand{display:flex;align-items:center;gap:10px;color:#f0d4aa;font-weight:800;letter-spacing:1px;text-align:left}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#bdaba6}button{font:inherit;cursor:pointer;background:transparent;border:0;color:inherit}nav{display:flex;gap:20px}nav button:hover{color:#d8a0a3}.hamb{display:none}.hero{text-align:center;padding:100px 20px 120px;background:radial-gradient(circle at 50% 25%,#56212d,#220f17 45%,#110e11 80%)}.eyebrow,.tag{color:#d6b58b;letter-spacing:2px;font-size:12px;font-weight:700}.hero h1{font-size:clamp(42px,8vw,86px);line-height:1.05;margin:20px 0;letter-spacing:-2px}.hero em{color:#c8586d;font-style:normal}.hero p{font-size:19px;color:#dac9c5;margin-bottom:35px}main{max-width:1160px;margin:auto;padding:48px 22px 90px}h2{font-size:30px;margin:0 0 12px}h3{font-size:22px;margin:12px 0}.muted{color:#b9a8a7}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin:30px 0 50px}.card,.panel{border:1px solid #503039;border-radius:16px;background:#21191e;padding:24px}.card .tag{display:flex;align-items:center;gap:7px}.card p{margin:8px 0}.panel{margin:36px 0;padding:32px}.narrow{max-width:450px;margin:35px auto}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.narrow .form{grid-template-columns:1fr}label{display:flex;flex-direction:column;gap:7px;color:#dfc6c4}input,select{width:100%;background:#130e12;border:1px solid #67434d;border-radius:8px;color:#fff;padding:12px;font:inherit;min-width:0}button.primary,a.primary{display:inline-block;text-align:center;background:#a73750;color:#fff;padding:12px 24px;border-radius:9px;text-decoration:none;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}.alert,.notice{padding:12px 22px;background:#782a3b;color:#fff;display:flex;justify-content:space-between}.notice{background:#345646}.admin h1{font-size:38px}.toolbar,.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.toolbar{justify-content:flex-end}.toolbar button,.actions button{border:1px solid #84505c;border-radius:8px;padding:9px 12px;display:flex;align-items:center;gap:6px}.available{color:#76caa1}.occupied{color:#e8a18e}.timer{font-size:27px;font-weight:800;display:flex;align-items:center;gap:9px}.card input{margin:10px 0}.card .primary{width:100%}.booking-list{display:grid;gap:12px}.booking{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #503039;padding:12px 0}.booking p{margin:3px 0;color:#b9a8a7}footer{text-align:center;padding:26px;color:#ab9998;border-top:1px solid #382a30}@media(max-width:650px){.hamb{display:block}nav{display:none;position:absolute;top:65px;left:0;right:0;background:#21191e;padding:16px 22px;flex-direction:column}nav.show{display:flex}.hero{padding:70px 18px 90px}.form{grid-template-columns:1fr}.panel{padding:22px}.booking{align-items:flex-start;flex-direction:column}.toolbar{justify-content:flex-start}.admin h1{font-size:30px}}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 28px}.stat{background:#231f25;border:1px solid #57404b;border-radius:13px;padding:18px}.stat strong{font-size:25px;color:#f4f1ec;display:block;margin-top:10px}.stat .muted{display:flex;gap:7px;align-items:center;font-size:13px}.stat svg{width:17px;height:17px}.station-card{min-width:0}.bill{margin:13px 0;padding:13px;background:#151217;border:1px solid #8b4155;border-radius:9px;display:flex;flex-direction:column;gap:6px}.bill strong{font-size:25px;color:#f4f1ec}.bill small{color:#a9a5ac}.timeline{margin-top:16px;padding-top:13px;border-top:1px solid #66505b}.timeline-meta{display:flex;justify-content:space-between;font-size:10px;color:#a9a5ac}.timeline-track{height:16px;background:repeating-linear-gradient(to right,#322a31 0,#322a31 calc(25% - 1px),#59454b 25%);position:relative;margin:7px 0;border-radius:6px;overflow:hidden}.timeline-book{position:absolute;top:0;bottom:0;background:#c6a46c;border-radius:4px}.tiny{font-size:12px;overflow-wrap:anywhere}.next{font-size:13px;color:#c6a46c}.mini-label{display:block;margin-top:12px}.payform{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.payform input{width:105px;min-width:80px}.payform select{width:155px;min-width:120px}.history-row{gap:12px}.full{grid-column:1/-1}.form input[type=date],.form select,.mini-label input,.toolbar input{color-scheme:dark}.toolbar{flex-wrap:wrap}@media(max-width:850px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.history-row{flex-direction:column;align-items:stretch}}@media(max-width:500px){.stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:12px}.stat strong{font-size:18px}.payform>*{flex:1}.station-card{width:100%}}.report-tabs{display:flex;gap:10px;margin:20px 0}.report-tabs button{padding:11px 18px;border:1px solid #84505c;border-radius:9px}.report-tabs button.selected{background:#a73750;border-color:#a73750;font-weight:700}.report-panel{margin-top:18px}.report-heading{justify-content:space-between}.report-heading select{width:auto}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.report-box{background:#171217;border:1px solid #503039;border-radius:12px;padding:20px;margin:14px 0;min-width:0}.report-grid .report-box{margin:0}.report-box h3{font-size:19px;margin:0 0 14px}.report-chart{display:flex;align-items:flex-end;gap:8px;overflow-x:auto;min-height:180px;padding:10px 0}.report-bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:54px;font-size:11px}.report-bar-col span{font-size:10px;color:#e0c5ba;white-space:nowrap}.report-bar{background:linear-gradient(180deg,#cc7383,#742d43);width:30px;border-radius:5px 5px 0 0}.report-highlight{font-size:30px;font-weight:800;color:#efc89c;margin:10px 0}.report-hour-list{display:grid;gap:10px}.report-hour-list>div{display:grid;grid-template-columns:55px 1fr 25px;gap:10px;align-items:center;font-size:12px}.report-meter{height:10px;background:#342830;border-radius:5px;overflow:hidden}.report-meter>div{height:100%;background:#c16d7e}.report-station{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #4d303b;padding:9px 0}.report-table-wrap{overflow:auto}.report-table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:13px}.report-table th,.report-table td{text-align:left;border-bottom:1px solid #4d303b;padding:10px}.report-table a{color:#efc89c}@media(max-width:800px){.report-grid{grid-template-columns:1fr}.report-box{padding:14px}.report-tabs{flex-wrap:wrap}}.station-expanded{grid-column:1/-1}.station-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.station-card-heading h3{margin:10px 0}.expand-toggle{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;border:1px solid #805260;border-radius:9px;color:#f4d2c0;font-size:13px}.expand-toggle:hover{background:#492631}.station-detail-divider{border-top:1px solid #63424e;margin:24px 0}.station-detail{padding:0 2px}.station-detail-title{display:flex;justify-content:space-between;gap:16px;align-items:start;flex-wrap:wrap}.station-detail-title h3{margin:0}.timeline-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#cfbcc2}.timeline-legend span{display:flex;align-items:center;gap:5px}.timeline-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-book,.booking-confirmed{background:#c6a46c}.legend-play,.playing-active{background:#62b4a1}.legend-pending,.booking-pending{background:#9b6a9e}.playing-paused{background:#d88966}.detail-time-axis{display:flex;justify-content:space-between;font-size:11px;color:#bdadb5;margin:24px 0 6px}.detail-track{height:32px;border:1px solid #5c4851;border-radius:7px;position:relative;overflow:hidden;margin:8px 0;background:repeating-linear-gradient(90deg,#322830 0,#322830 calc(14.285% - 1px),#58414b 14.285%)}.detail-block{position:absolute;top:3px;bottom:3px;border-radius:4px;min-width:2px;opacity:.95}.detail-kpis{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.detail-kpis>div{background:#171217;border:1px solid #503039;border-radius:10px;padding:12px 16px;min-width:130px;flex:1}.detail-kpis small{display:block;color:#bdadb5}.detail-kpis strong{font-size:22px}.detail-lists{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-lists>div{background:#171217;border:1px solid #503039;border-radius:10px;padding:16px;min-width:0}.detail-lists h4{margin:0 0 10px;font-size:17px}.detail-event{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #49333f;overflow-wrap:anywhere}.detail-event p{margin:3px 0}.detail-status{color:#d9ba91;font-size:12px}.controller-selector{padding:10px 0}.controller-selector select{margin-top:5px}.controller-settings{margin-top:24px;padding:18px;border:1px solid #65414f;border-radius:12px;background:#171217}.controller-settings h3{display:flex;align-items:center;gap:9px;font-size:19px}.rate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.rate-entry{background:#241a20;border:1px solid #503039;border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:8px}.rate-entry input{margin:0}.rate-entry button{border:1px solid #84505c;padding:8px;border-radius:7px;margin-top:auto}.rate-entry button:hover{background:#5c3040}@media(max-width:800px){.detail-lists{grid-template-columns:1fr}.rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.rate-grid{grid-template-columns:1fr}.detail-time-axis{font-size:9px}.station-detail-title{flex-direction:column}}.round-item-list{display:flex;flex-direction:column;gap:6px;margin:12px 0}.round-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid rgba(210,180,140,.28);border-radius:8px;background:#ffffff06}.round-item span{font-size:12px;opacity:.75}.round-item strong:last-child{margin-left:auto;white-space:nowrap}.round-mode-banner{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid #80505a;border-radius:10px;background:#2a171c;color:#f6e7e9;font-size:13px}.round-mode-banner button{padding:6px 9px;font-size:12px}.round-mode-banner small{width:100%;opacity:.8}.completed-round-list{padding:12px;margin-top:9px;border:1px solid #80505a;border-radius:10px;min-width:min(100%,270px)}.completed-round-list>strong{display:block;margin-bottom:8px}.completed-round-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #6c424a;font-size:13px}.completed-round-row.grand{font-size:16px;border-bottom:0;padding-top:9px}.detailed-bill-panel{margin:16px 0;padding:16px;border:1px solid rgba(180,140,140,.35);border-radius:14px;background:#64142314}.detail-invoice{padding:16px;margin:14px 0;border:1px solid rgba(180,140,140,.3);border-radius:12px}.detail-invoice-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.payment-cleared{color:#358359;font-weight:700}.payment-due{color:#ae4343;font-weight:700}.payment-open{color:#bd913c;font-weight:700}.customer-due{padding:10px;background:#aa6e3214;border-radius:8px}.customer-due small{display:block;opacity:.7}.paid-note{color:#358359;font-weight:700}.detail-invoice .payform{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.detail-invoice .payform input{width:170px;min-width:110px}.detail-invoice .payform select{width:auto}.booking-cutoff,.journey-panel{border:1px solid rgba(197,156,104,.55);padding:14px;border-radius:12px;margin:12px 0;background:#5a2a2c24}.booking-cutoff p{margin:6px 0 0;color:#ffdc9a}.journey-panel h4{margin:10px 0}.journey-panel .extras-inputs select{min-width:180px;flex:1}.admin .extras-inputs button,.admin .payform button,.admin .actions button,.admin .rate-entry button,.admin .online-rate-settings button,.admin .booked-start button,.admin .offline-booking-panel button{display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:10px 16px;border-radius:9px;border:1px solid #9f3647;background:#702333;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 2px 5px #26080f29;white-space:normal}.admin .extras-inputs button:hover,.admin .payform button:hover,.admin .actions button:hover,.admin .rate-entry button:hover,.admin .online-rate-settings button:hover,.admin .booked-start button:hover,.admin .offline-booking-panel button:hover{background:#541722;color:#fff}.admin button:disabled{cursor:not-allowed;opacity:.55}.admin button:focus-visible{outline:3px solid #e0b169;outline-offset:3px}.admin .rounded-pay-btn{background:#23664d;border-color:#23664d}.admin .rounded-pay-btn:hover{background:#184d38}.admin .offline-booking-panel{margin-bottom:22px}.admin .offline-booking-panel .form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.admin .offline-booking-panel label{display:grid;gap:5px}.admin .no-show-button{background:#823b32;border-color:#c47363}.admin .no-show-button:hover{background:#a34a3e}.booking-list .booking{padding:15px 0}
