@import url('./fonts.css');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-main);background:#f4f7fb;color:#14202b}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 32px));margin:auto}.muted{color:#718093}.text-right{text-align:right}.text-center{text-align:center}.hidden{display:none!important}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-0{margin-bottom:0}.mb-2{margin-bottom:16px}.w-100{width:100%}.flex{display:flex}.gap-1{gap:8px}.gap-2{gap:16px}.between{justify-content:space-between}.center{align-items:center}.wrap{flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;padding:11px 15px;background:#0d6efd;color:#fff;font-weight:700;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn-sm{padding:7px 10px;font-size:13px;border-radius:8px}.btn-lg{padding:14px 20px}.btn-outline{background:transparent;color:var(--accent,#0d6efd);border:1px solid currentColor}.btn-muted{background:#e8eef4;color:#314252}.btn-danger{background:#d94755}.btn-success{background:#14915f}.btn-warning{background:#ffb020;color:#332200}.btn-dark{background:#111c27}.btn-accent{background:var(--accent,#0d6efd);color:var(--accent-text,#fff)}
.card{background:#fff;border:1px solid #e3e9ef;border-radius:16px;box-shadow:0 8px 30px rgba(25,48,71,.06);padding:18px}.card-title{font-size:16px;font-weight:800;margin:0 0 12px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.form-group{margin-bottom:14px}.form-group label{display:block;font-weight:700;font-size:13px;margin-bottom:6px;color:#3c4b59}.form-control{width:100%;border:1px solid #d6e0e8;background:#fff;border-radius:10px;padding:11px 12px;outline:none;transition:.15s}.form-control:focus{border-color:var(--accent,#0d6efd);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#0d6efd) 12%,transparent)}textarea.form-control{min-height:96px;resize:vertical}.checkbox{display:flex;gap:8px;align-items:flex-start}.checkbox input{margin-top:3px}.help{font-size:12px;color:#7a8794;margin-top:5px}
.badge{display:inline-flex;align-items:center;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:800}.badge-success{background:#dcf7eb;color:#087347}.badge-warning{background:#fff3cf;color:#906300}.badge-danger{background:#ffe1e4;color:#9b2130}.badge-info{background:#e0f0ff;color:#135d99}.badge-dark{background:#dbe1e5;color:#26303a}.badge-muted{background:#edf1f4;color:#667582}
.alert{padding:12px 14px;border-radius:11px;margin:0 0 14px;border:1px solid transparent}.alert-success{background:#e5f8ee;color:#106c43;border-color:#c7ead7}.alert-danger{background:#ffe9eb;color:#9e2633;border-color:#f2c7cb}.alert-warning{background:#fff6da;color:#77590a;border-color:#f1e0a8}.alert-info{background:#eaf5ff;color:#155f91;border-color:#cfe5f6}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:11px 10px;border-bottom:1px solid #edf1f4;text-align:left;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6d7b88;background:#fafcfd;position:sticky;top:0}.table td{font-size:14px}
/* public */.public-nav{position:sticky;top:0;z-index:20;background:rgba(7,19,29,.92);backdrop-filter:blur(14px);color:#fff;border-bottom:1px solid #ffffff18}.public-nav .inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:900}.brand img{width:42px;height:42px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:22px;font-weight:600}.hero{background:radial-gradient(circle at 80% 20%,#1b7690 0,#07131d 46%,#050c12 100%);color:#fff;min-height:680px;display:flex;align-items:center;overflow:hidden;position:relative}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center}.hero h1{font-size:clamp(38px,5vw,72px);line-height:1.02;margin:0 0 18px;letter-spacing:-.03em}.hero p{font-size:18px;line-height:1.7;color:#cae0ec;max-width:680px}.hero-art{border-radius:28px;overflow:hidden;box-shadow:0 40px 90px #0008;border:1px solid #ffffff25}.hero-art img{width:100%;aspect-ratio:16/10;object-fit:cover}.sport-pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.sport-pill{background:#ffffff12;border:1px solid #ffffff24;padding:8px 12px;border-radius:99px}.section{padding:72px 0}.section-title{font-size:36px;margin:0 0 12px}.sport-card{position:relative;overflow:hidden;padding:0;background:#fff}.sport-card .media{height:190px;background:#0b1722;display:flex;align-items:center;justify-content:center}.sport-card .media img{width:100%;height:100%;object-fit:cover}.sport-card .body{padding:18px}.sport-card h3{margin:0 0 8px;font-size:22px}.feature-icon{width:44px;height:44px;border-radius:12px;background:#e9f7f4;display:grid;place-items:center;font-size:22px}.cta-band{background:#07131d;color:#fff;border-radius:28px;padding:40px;display:flex;justify-content:space-between;gap:24px;align-items:center}.public-footer{background:#07131d;color:#9cb2c1;padding:34px 0}.public-footer b{color:#fff}
/* app */.app-body{--accent:#0d6efd;--accent-text:#fff;--app-dark:#0e1a25;background:#f4f7fb}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--app-dark);color:#b9c8d5;position:sticky;top:0;height:100vh;padding:18px 14px;overflow:auto}.sidebar .brand{color:#fff;padding:0 8px 14px;border-bottom:1px solid #ffffff12}.venue-chip{margin:14px 0;background:#ffffff0c;border:1px solid #ffffff12;border-radius:13px;padding:11px}.venue-chip b{display:block;color:#fff}.side-nav{display:grid;gap:4px}.side-nav a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;font-weight:650}.side-nav a:hover,.side-nav a.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:#fff}.side-nav .sep{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#667a8c;padding:16px 10px 5px}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid #e4eaf0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:15}.page{padding:22px 24px 42px;max-width:1500px;margin:auto}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title h1{font-size:26px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{padding:16px;border-radius:15px;background:#fff;border:1px solid #e4eaf0}.stat .k{color:#7d8b97;font-size:12px;font-weight:700}.stat .v{font-size:25px;font-weight:900;margin-top:4px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.resource-card{background:#fff;border:1px solid #e2e8ee;border-radius:16px;overflow:hidden;position:relative}.resource-card .img{height:120px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 25%,#0d1b25),#0d1b25);overflow:hidden}.resource-card .img img{width:100%;height:100%;object-fit:cover;opacity:.85}.resource-card .body{padding:14px}.resource-card h3{margin:0 0 5px}.timer{font-variant-numeric:tabular-nums;font-weight:900;color:var(--accent);font-size:18px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:12px}.menu-card{border:1px solid #e1e8ee;border-radius:14px;overflow:hidden;background:#fff}.menu-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.menu-card .body{padding:11px}.menu-card h4{margin:0 0 5px;font-size:14px}.price{font-weight:900;color:var(--accent)}.bill-total{font-size:32px;font-weight:950;color:var(--accent)}.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:18px}.sticky-card{position:sticky;top:88px}.chart-card canvas{width:100%;height:260px}.empty{padding:36px;text-align:center;color:#7e8c98;border:1px dashed #ccd6de;border-radius:14px}.thumb{width:50px;height:50px;object-fit:cover;border-radius:9px;background:#edf2f5}.mobile-toggle{display:none;border:0;background:#eef3f7;border-radius:9px;padding:8px 10px}
/* booking public */.booking-body{background:#0b1118;color:#edf4f7;min-height:100vh}.booking-header{background:#101a23;border-bottom:1px solid #ffffff15}.booking-header .inner{height:80px;display:flex;align-items:center;justify-content:space-between}.booking-brand{display:flex;align-items:center;gap:12px}.booking-brand img{width:54px;height:54px;border-radius:12px;object-fit:contain;background:#fff}.booking-page{padding:30px 0 60px}.booking-hero{border-radius:24px;overflow:hidden;position:relative;min-height:270px;background:#17232e}.booking-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.booking-hero .overlay{position:relative;padding:42px}.booking-hero h1{font-size:42px;margin:0 0 8px}.date-strip{display:flex;gap:8px;overflow:auto;padding:12px 0}.date-chip{min-width:86px;padding:10px;border:1px solid #ffffff20;border-radius:12px;text-align:center;background:#ffffff09}.date-chip.active{background:var(--accent);color:#111;border-color:transparent}.court-row{background:#131e28;border:1px solid #ffffff12;border-radius:16px;padding:14px;margin-bottom:12px}.slot-grid{display:flex;gap:8px;flex-wrap:wrap}.slot{border:1px solid #ffffff1e;color:#dfeaf0;background:#ffffff08;border-radius:9px;padding:8px 10px;cursor:pointer}.slot.busy{opacity:.35;text-decoration:line-through;cursor:not-allowed}.slot.selected{background:var(--accent);color:#111;font-weight:800}.booking-form{background:#111b24;border:1px solid #ffffff12;border-radius:18px;padding:18px;position:sticky;top:20px}.booking-form .form-control{background:#0c141b;border-color:#2a3945;color:#fff}
/* admin */.admin-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.admin-side{background:#101827;color:#bdc8d8;padding:18px;position:sticky;top:0;height:100vh}.admin-side h3{color:#fff}.admin-side a{display:block;padding:10px;border-radius:8px}.admin-side a.active,.admin-side a:hover{background:#233044;color:#fff}.admin-main{padding:24px}.admin-auth{min-height:100vh;display:grid;place-items:center;background:#0c1420}.login-box{width:min(420px,calc(100% - 32px));background:#fff;padding:26px;border-radius:20px}
/* print */.print-wrap{max-width:420px;margin:24px auto;background:#fff;padding:24px;color:#111}.print-table{width:100%;border-collapse:collapse}.print-table td{padding:6px 0;border-bottom:1px dashed #bbb}

/* V1.1 full-screen marketing hero */
.hero-cover{min-height:calc(100vh - 72px);padding:0;background:#06111b;isolation:isolate;position:relative;overflow:hidden}.hero-cover::before{content:"";position:absolute;inset:0;background-image:var(--hero-bg);background-size:cover;background-position:center center;background-repeat:no-repeat;z-index:-2}.hero-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,19,.96) 0%,rgba(4,16,28,.92) 28%,rgba(5,23,39,.62) 49%,rgba(3,15,26,.10) 72%,rgba(3,12,21,.05) 100%);z-index:-1}.hero-cover-inner{min-height:calc(100vh - 72px);display:flex;align-items:center;padding-top:54px;padding-bottom:54px}.hero-copy{width:min(610px,50%)}.hero-copy h1{font-size:clamp(42px,5vw,76px);line-height:1.02;margin:12px 0 18px;letter-spacing:-.04em}.hero-copy>p{font-size:18px;line-height:1.75;color:#d3e6f2}.hero-note{font-size:14px!important;color:#a9c0cf!important;margin-top:18px}.hero-cover .sport-pill{backdrop-filter:blur(10px)}
@media(max-width:1000px){.grid-4,.grid-5,.stats{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.sticky-card{position:static}.hero-grid{grid-template-columns:1fr}.hero{padding:70px 0}.nav-links{display:none}}
@media(max-width:760px){.container{width:min(100% - 22px,1180px)}.section{padding:48px 0}.grid-2,.grid-3,.grid-4,.grid-5,.stats{grid-template-columns:1fr 1fr}.app-shell{display:block}.sidebar{position:fixed;left:-270px;top:0;width:250px;z-index:40;transition:.2s}.sidebar.open{left:0}.mobile-toggle{display:inline-flex}.topbar{padding:0 14px}.page{padding:16px 12px 36px}.page-title{align-items:center}.page-title h1{font-size:22px}.resource-grid{grid-template-columns:1fr 1fr}.menu-grid{grid-template-columns:1fr 1fr}.admin-shell{display:block}.admin-side{position:static;height:auto}.booking-page .grid-2{grid-template-columns:1fr}.booking-hero h1{font-size:30px}.cta-band{display:block}.cta-band .btn{margin-top:16px}}
@media(max-width:480px){.grid-2,.grid-3,.grid-4,.grid-5,.stats{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}.hero h1{font-size:40px}.hero-art{border-radius:18px}.page-title{display:block}.page-title .actions{margin-top:10px}.topbar .right small{display:none}}
@media print{.no-print{display:none!important}body{background:#fff}.print-wrap{box-shadow:none;margin:0 auto;padding:0}}

@media(max-width:1000px){.hero-cover{min-height:720px}.hero-cover-inner{min-height:720px}.hero-copy{width:min(680px,82%)}.hero-cover::before{background-position:64% center}.hero-cover::after{background:linear-gradient(90deg,rgba(3,11,19,.97) 0%,rgba(3,14,24,.90) 52%,rgba(3,14,24,.42) 100%)}}
@media(max-width:760px){.hero-cover{min-height:760px}.hero-cover-inner{min-height:760px;padding-top:58px;padding-bottom:58px}.hero-copy{width:100%}.hero-cover::before{background-position:72% center;opacity:.55}.hero-cover::after{background:linear-gradient(180deg,rgba(3,11,19,.86) 0%,rgba(3,11,19,.93) 52%,rgba(3,11,19,.98) 100%)}.hero-copy h1{font-size:46px}.hero-copy>p{font-size:16px}}

/* V1.3 UX: mobile landing, booking sheet, court operations and separated configuration */
.btn-outline-accent{background:transparent;color:var(--accent,#0d6efd);border:1px solid color-mix(in srgb,var(--accent,#0d6efd) 50%,#d6e0e8)}
.public-mobile-actions,.public-mobile-menu,.public-mobile-cta{display:none}
.public-menu-toggle{width:42px;height:42px;border:1px solid #ffffff24;background:#ffffff0d;color:#fff;border-radius:11px;font-size:20px;align-items:center;justify-content:center;cursor:pointer}
.public-mobile-menu{background:#0c1a25;border-top:1px solid #ffffff12}.public-mobile-menu .container{display:grid;padding:9px 0 14px}.public-mobile-menu a{padding:12px 4px;border-bottom:1px solid #ffffff10;font-weight:700}.public-mobile-menu.open{display:block}
.side-nav-primary{border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.sidebar-backdrop{display:none}
.config-tabs{display:flex;gap:8px;overflow:auto;padding:2px 0 14px;margin-bottom:18px;scrollbar-width:none}.config-tabs::-webkit-scrollbar{display:none}.config-tabs a{white-space:nowrap;padding:10px 13px;border-radius:11px;background:#fff;border:1px solid #e1e8ee;font-weight:750;color:#44525f}.config-tabs a.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text,#fff)}.config-count{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:99px;background:#eef3f6;font-size:11px;color:#50606c}.config-tabs a.active .config-count{background:#ffffff2b;color:inherit}.config-cover{width:100%;height:230px;object-fit:cover;border-radius:13px}.config-logo{width:68px;height:68px;border-radius:16px;object-fit:contain;background:#f1f5f7;border:1px solid #e3e9ef}.config-resource-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.court-stats .stat:nth-child(2) .v{color:#e67e22}.court-stats .stat:nth-child(3) .v{color:#15935f}.court-ops-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.court-ops-card{border-width:1px}.court-ops-card.is-busy{border-color:color-mix(in srgb,#ff9f43 35%,#e2e8ee)}.court-ops-card.is-free{border-color:color-mix(in srgb,#1aa66a 28%,#e2e8ee)}.court-ops-card .img{height:150px;position:relative}.court-live-badge{position:absolute;top:10px;left:10px;padding:7px 10px;border-radius:99px;font-size:11px;font-weight:900;backdrop-filter:blur(8px);box-shadow:0 4px 18px #0003}.court-live-badge.busy{background:#fff0e0;color:#b85a00}.court-live-badge.free{background:#dff8eb;color:#087347}.current-booking,.court-free-message,.next-booking{margin-top:12px;border-radius:12px;padding:11px 12px;background:#f7f9fb;border:1px solid #e7edf2;display:grid;gap:4px}.current-booking{background:#fff8ef;border-color:#f5dfc2}.current-booking small,.next-booking small{font-size:10px;font-weight:900;letter-spacing:.08em;color:#80909d}.current-booking b{font-size:18px;color:#c05b00}.current-booking span,.court-free-message span,.next-booking span{font-size:13px;color:#6c7b87}.court-free-message b{color:#118455}.next-booking .flex{align-items:center}.empty-next{opacity:.8}.operation-tip{display:flex;justify-content:space-between;gap:20px;align-items:center}

/* Public booking: only choose slot first; form opens as modal / mobile bottom sheet */
.booking-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:22px}.booking-section-head h2{font-size:22px;margin:2px 0 0}.booking-step{font-weight:900;letter-spacing:.12em;color:var(--accent);font-size:10px}.booking-courts{margin-top:10px}.court-name{font-size:20px}.court-thumb{width:70px;height:54px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:9px}.slot{min-height:46px;padding:10px 8px;font-size:15px}.slot:not(.busy):hover{border-color:var(--accent);transform:translateY(-1px)}.slot.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 32%,transparent)}
body.modal-open{overflow:hidden}.booking-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;opacity:0;pointer-events:none;transition:.18s}.booking-modal.open{visibility:visible;opacity:1;pointer-events:auto}.booking-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.68);backdrop-filter:blur(4px);cursor:pointer}.booking-sheet{position:relative;width:min(620px,100%);max-height:min(820px,calc(100vh - 40px));overflow:auto;background:#111b24;border:1px solid #ffffff18;border-radius:24px;padding:22px;box-shadow:0 30px 100px #000a;transform:translateY(14px) scale(.985);transition:.2s;color:#edf4f7}.booking-modal.open .booking-sheet{transform:none}.booking-sheet-handle{display:none}.booking-sheet-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.booking-sheet-head h2{margin:3px 0 0;font-size:26px}.booking-close{width:38px;height:38px;border-radius:50%;border:1px solid #ffffff1d;background:#ffffff0c;color:#fff;font-size:24px;line-height:1;cursor:pointer}.booking-selected-card{display:flex;gap:12px;align-items:center;background:color-mix(in srgb,var(--accent) 13%,#0b141d);border:1px solid color-mix(in srgb,var(--accent) 30%,#24313c);border-radius:14px;padding:13px;margin-bottom:16px}.booking-selected-card b,.booking-selected-card span{display:block}.booking-selected-card b{font-size:17px}.booking-selected-card span{font-size:13px;color:#a9bac7;margin-top:3px}.booking-selected-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#111;font-size:20px;flex:0 0 auto}.booking-sheet .form-group label{color:#d8e4eb}.booking-sheet .form-control{background:#0c141b;border-color:#2a3945;color:#fff}.booking-sheet .form-control::placeholder{color:#667986}.required{color:#ff7d86}.deposit-box{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:13px;background:#0c141b;border:1px solid #2a3945;margin-bottom:12px}.deposit-box small,.deposit-box b{display:block}.deposit-box small{color:#8598a5}.deposit-box b{font-size:19px;color:var(--accent)}.booking-check{padding:10px 0;color:#d5e0e7}.booking-form-message{padding:10px 12px;border-radius:10px;margin:8px 0 12px;font-size:13px}.booking-form-message.error{display:block;background:#3a171c;color:#ffdfe2;border:1px solid #72323b}.booking-submit:disabled{opacity:.65;cursor:wait}.booking-form-grid{gap:12px}.booking-form-grid .form-group{margin-bottom:4px}

@media(max-width:1000px){.public-mobile-actions{display:flex;align-items:center;gap:8px}.public-menu-toggle{display:inline-flex}.public-mobile-login{display:inline-flex}.operation-tip{align-items:flex-start;flex-direction:column}.court-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .public-nav .inner{height:64px}.public-nav .brand img{width:36px;height:36px}.public-nav .brand span{font-size:15px}.public-mobile-login{padding:9px 12px;font-size:13px}.public-menu-toggle{width:38px;height:38px}.public-mobile-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;background:#09141e;border:1px solid #ffffff1b;border-radius:14px;padding:5px;box-shadow:0 14px 40px #0008}.public-mobile-cta a{padding:11px 8px;text-align:center;color:#d7e7f1;font-weight:800;border-radius:10px}.public-mobile-cta a.primary{background:#1675f8;color:#fff}.public-footer{padding-bottom:88px}
  .hero-cover{min-height:calc(100svh - 64px)}.hero-cover-inner{min-height:calc(100svh - 64px);padding-top:40px;padding-bottom:88px}.hero-copy h1{font-size:clamp(38px,12vw,54px)}.hero-copy .sport-pill-row{gap:6px;margin:18px 0}.hero-copy .sport-pill{font-size:13px;padding:7px 9px}.hero-copy .flex.gap-2{gap:8px}.hero-copy .btn-lg{padding:12px 14px;font-size:14px}
  .booking-header .inner{height:64px}.booking-brand{gap:8px;min-width:0}.booking-brand img{width:42px;height:42px;border-radius:10px}.booking-brand>div{min-width:0}.booking-brand b{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.booking-brand .muted{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.booking-header .inner>div:last-child{font-size:12px;white-space:nowrap}.booking-page{padding:12px 0 40px}.booking-hero{min-height:180px;border-radius:18px}.booking-hero .overlay{padding:22px}.booking-hero h1{font-size:26px}.booking-hero p{font-size:13px}.booking-section-head{align-items:flex-start;margin-top:18px}.booking-section-head h2{font-size:19px}.booking-desktop-hint{display:none}.date-strip{margin-right:-11px;padding:10px 11px 10px 0}.date-chip{min-width:76px;padding:9px 8px}.court-row{padding:13px;border-radius:14px}.court-name{font-size:18px}.court-thumb{width:62px;height:48px}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.slot{min-height:44px;padding:8px 4px;font-size:14px}
  .booking-modal{padding:0;align-items:flex-end}.booking-sheet{width:100%;max-height:90svh;border-radius:24px 24px 0 0;border-left:0;border-right:0;border-bottom:0;padding:12px 16px calc(18px + env(safe-area-inset-bottom));transform:translateY(100%)}.booking-modal.open .booking-sheet{transform:translateY(0)}.booking-sheet-handle{display:block;width:44px;height:5px;background:#ffffff2a;border-radius:99px;margin:0 auto 12px}.booking-sheet-head h2{font-size:22px}.booking-close{width:36px;height:36px}.booking-selected-card{margin-bottom:13px}.booking-form-grid{grid-template-columns:1fr}.booking-sheet .form-control{font-size:16px}.booking-submit{min-height:50px;position:sticky;bottom:0;margin-top:12px;box-shadow:0 -10px 24px #111b24}
  .sidebar{box-shadow:12px 0 40px #0004}.sidebar-backdrop{position:fixed;inset:0;background:#0007;z-index:35}.sidebar.open~.main+.sidebar-backdrop,.sidebar-backdrop.open{display:block}.court-ops-grid{grid-template-columns:1fr}.court-stats{grid-template-columns:1fr 1fr}.config-tabs{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.config-resource-grid{grid-template-columns:1fr}.operation-tip .flex{width:100%}.operation-tip .btn{flex:1}
}
@media(max-width:480px){.public-nav .brand span{display:none}.public-mobile-login{font-size:12px;padding:9px 10px}.booking-header .inner>div:last-child{display:none}.booking-brand b,.booking-brand .muted{max-width:260px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.court-stats{grid-template-columns:1fr 1fr}.court-stats .stat{padding:13px}.court-stats .stat .v{font-size:22px}.config-tabs a{padding:9px 11px;font-size:13px}}

/* ===== Admin SaaS V1.4: drawer trong viewport + tạo tài khoản khách ===== */
html,body{max-width:100%;overflow-x:hidden}.admin-shell{max-width:100vw}.admin-main{min-width:0;max-width:100%;overflow-x:hidden}.btn-info{background:#1687e8;color:#fff}
.admin-users-title{gap:16px}.admin-users-actions{justify-content:flex-end}.admin-users-card{max-width:100%;overflow:hidden}.admin-table-wrap{max-width:100%;overflow:auto;overscroll-behavior:contain}.admin-users-table{min-width:880px}.admin-users-table th:last-child,.admin-users-table td:last-child{position:sticky;right:0;background:#fff;box-shadow:-10px 0 18px rgba(20,32,43,.04)}.admin-users-table th:last-child{background:#fafcfd;z-index:2}
.admin-credentials-card{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:16px;border-color:#c9ead8;background:linear-gradient(135deg,#f1fff7,#f7fbff)}.admin-credentials-card h3{margin:4px 0 12px}.admin-credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}.admin-credential-grid small{display:block;color:#718093;margin-bottom:2px}.admin-credential-grid b{word-break:break-word}.credential-url{font-size:12px}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:#718093;text-transform:uppercase}
.admin-drawer{position:fixed;inset:0;z-index:300;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.admin-drawer.open{visibility:visible;opacity:1;pointer-events:auto}.admin-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(5,12,20,.55);backdrop-filter:blur(2px);cursor:pointer}.admin-drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(430px,calc(100vw - 24px));max-width:100vw;background:#f7f9fc;box-shadow:-24px 0 70px rgba(5,20,35,.2);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .22s ease;overflow:hidden}.admin-drawer.open .admin-drawer-panel{transform:translateX(0)}.admin-drawer-head{padding:20px 20px 16px;background:#fff;border-bottom:1px solid #e4eaf0;display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.admin-drawer-head h2{margin:3px 0 4px;font-size:24px}.admin-drawer-head p{margin:0;color:#718093;font-size:13px}.admin-drawer-x{width:38px;height:38px;flex:0 0 38px;border:1px solid #dce4eb;background:#f3f6f9;border-radius:50%;font-size:24px;line-height:1;color:#2a3946;cursor:pointer}.admin-drawer-body{padding:18px 20px 28px;overflow:auto;overscroll-behavior:contain}.admin-drawer-open{overflow:hidden}
.admin-form-grid{gap:10px}.admin-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-sample-check{padding:12px;border:1px solid #dce5ec;border-radius:12px;background:#fff;margin-bottom:14px}.admin-sample-check span{display:block}.admin-sample-check small{display:block;color:#718093;margin-top:3px;line-height:1.4}.admin-create-note{padding:12px 13px;background:#edf5ff;border:1px solid #d5e9ff;border-radius:12px;color:#37556e;font-size:13px;line-height:1.5;margin:4px 0 15px}
.admin-account-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.admin-account-summary>div{padding:11px 12px;border:1px solid #e0e7ed;background:#fff;border-radius:12px;min-width:0}.admin-account-summary small{display:block;color:#748391;font-size:11px;margin-bottom:4px}.admin-account-summary b{font-size:13px;word-break:break-word}.admin-action-box{background:#fff;border:1px solid #e1e8ee;border-radius:14px;padding:14px;margin-bottom:12px}.admin-action-box>div:first-child b{font-size:14px}.admin-action-box p{font-size:12px;color:#718093;margin:3px 0 10px;line-height:1.45}.admin-action-paid{border-color:#bfe7d3;background:#f8fffb}.admin-history{border-left:2px solid #dfe7ed;margin-left:5px;padding-left:14px}.admin-history-item{display:flex;gap:9px;position:relative;padding:0 0 12px}.admin-history-item>span{position:absolute;width:8px;height:8px;border-radius:50%;background:#0d6efd;left:-19px;top:5px}.admin-history-item b,.admin-history-item small{display:block}.admin-history-item b{font-size:12px}.admin-history-item small{font-size:11px;color:#7a8794;margin-top:2px;line-height:1.4}
@media(max-width:900px){.admin-users-title{align-items:flex-start;flex-direction:column}.admin-users-actions{justify-content:flex-start}.admin-credentials-card{align-items:stretch;flex-direction:column}.admin-credential-grid{grid-template-columns:1fr 1fr}.admin-main{padding:16px}.admin-side{padding:14px}.admin-side h3{margin:0 0 8px}.admin-side .muted{margin-bottom:10px!important}.admin-side a{display:inline-flex;margin-right:5px}.admin-users-table{min-width:820px}}
@media(max-width:600px){.admin-main{padding:12px}.admin-users-title .actions{width:100%}.admin-users-title .actions .btn-accent{width:100%;order:-1}.admin-credential-grid{grid-template-columns:1fr}.admin-drawer-panel{width:100vw}.admin-drawer-head{padding:16px}.admin-drawer-body{padding:14px 14px calc(24px + env(safe-area-inset-bottom))}.admin-drawer-head h2{font-size:21px}.admin-account-summary{grid-template-columns:1fr 1fr}.admin-form-grid{grid-template-columns:1fr}.admin-password-row .btn{padding-inline:11px}.admin-users-card{padding:8px}.admin-side{overflow-x:auto;white-space:nowrap}.admin-side h3,.admin-side>.muted{display:none}}
.public-booking-link-card{border-color:#cfe1ff;background:linear-gradient(135deg,#f9fcff,#f2f7ff)}.public-booking-url{padding:12px 14px;border:1px dashed #9fc2ee;background:#fff;border-radius:11px;font-weight:800;color:#244b78;word-break:break-all}.booking-slug-input{display:flex;align-items:center;border:1px solid #d6e0e8;background:#fff;border-radius:10px;overflow:hidden}.booking-slug-input span{padding:0 10px;color:#7a8794;font-size:12px;white-space:nowrap;border-right:1px solid #e4eaf0}.booking-slug-input .form-control{border:0;border-radius:0;box-shadow:none}
@media(max-width:600px){.booking-slug-input{display:block}.booking-slug-input span{display:block;border-right:0;border-bottom:1px solid #e4eaf0;padding:8px 10px}.public-booking-link-card .flex:last-child{width:100%}.public-booking-link-card .btn{flex:1}}
.onboarding-card{display:flex;justify-content:space-between;align-items:center;gap:18px;border-color:#cfe0ff;background:linear-gradient(135deg,#f8fbff,#eef6ff)}
@media(max-width:700px){.onboarding-card{align-items:stretch;flex-direction:column}.onboarding-card .btn{width:100%}}

/* ===== V1.5 Realtime POS + protected settings ===== */
.realtime-pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:16px;align-items:start}.pos-floor{min-width:0;padding:16px}.pos-floor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.pos-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#657686}.pos-legend span{display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%}.dot.free{background:#21a56c}.dot.busy{background:var(--accent)}.pos-table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}.pos-table-card{min-height:132px;border-radius:14px;border:1px solid #dfe7ed;background:#f9fbfd;padding:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:.16s;position:relative;overflow:hidden}.pos-table-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(25,48,71,.1)}.pos-table-card.busy{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,#fff),#fff);border-color:color-mix(in srgb,var(--accent) 38%,#dfe7ed)}.pos-table-card.busy.selected{border:2px solid var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}.pos-table-card.free{background:#fbfdfc}.pos-table-card.disabled{opacity:.52}.pos-table-icon{font-size:28px;margin-bottom:5px}.pos-table-name{font-weight:900;font-size:15px}.pos-table-time{font-size:14px;margin-top:6px}.pos-table-money{font-weight:950;color:var(--accent);margin-top:4px}.pos-table-card small{font-size:11px;color:#758592;margin-top:3px}.pos-start-table{padding:0}.pos-table-button{appearance:none;border:0;background:transparent;width:100%;height:100%;min-height:130px;cursor:pointer;color:inherit;padding:13px}.pos-table-free{color:#12855a;font-weight:850;margin-top:6px}.pos-session-panel{position:sticky;top:84px;min-width:0}.pos-session-inner,.pos-session-empty{background:#fff;border:1px solid #dfe7ed;border-radius:16px;box-shadow:0 12px 32px rgba(25,48,71,.08);overflow:hidden}.pos-session-empty{padding:44px 24px;text-align:center}.pos-session-empty-icon{font-size:48px}.pos-session-empty h3{margin:8px 0}.pos-session-head{padding:16px 17px;border-bottom:1px solid #edf1f4;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.pos-session-head h2{margin:3px 0;font-size:22px}.pos-panel-close{width:34px;height:34px;border-radius:50%;background:#eef3f6;display:grid;place-items:center;font-size:23px;line-height:1;color:#30404c}.pos-live-summary{display:grid;grid-template-columns:1fr 1fr;padding:12px 16px;gap:9px;background:#f7fafc;border-bottom:1px solid #e8eef3}.pos-live-summary>div{padding:10px;border:1px solid #e0e8ee;border-radius:11px;background:#fff}.pos-live-summary small{display:block;color:#718093;font-size:11px;margin-bottom:4px}.pos-live-summary b{display:block;font-size:15px}.pos-live-summary .total{grid-column:1/-1;background:color-mix(in srgb,var(--accent) 9%,#fff);border-color:color-mix(in srgb,var(--accent) 30%,#e0e8ee)}.pos-live-summary .total b{font-size:25px;color:var(--accent)}.pos-session-tabs{padding:14px 15px}.pos-tab-buttons{display:grid;grid-template-columns:1fr 1fr;background:#edf2f6;border-radius:11px;padding:4px;margin-bottom:12px}.pos-tab-buttons button{border:0;background:transparent;padding:9px;border-radius:8px;font-weight:800;color:#657684;cursor:pointer}.pos-tab-buttons button.active{background:#fff;color:#172431;box-shadow:0 2px 8px #17243112}.pos-tab-buttons span{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border-radius:99px;background:#dfe7ed;font-size:10px}.pos-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:390px;overflow:auto;padding-right:2px}.pos-menu-card{margin:0}.pos-menu-card button{width:100%;border:1px solid #e0e8ee;background:#fff;border-radius:12px;padding:7px;display:grid;grid-template-columns:48px minmax(0,1fr) 24px;gap:8px;align-items:center;text-align:left;cursor:pointer}.pos-menu-card button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,#fff)}.pos-menu-card img{width:48px;height:48px;border-radius:9px;object-fit:cover}.pos-menu-card span{min-width:0}.pos-menu-card b,.pos-menu-card small,.pos-menu-card strong{display:block}.pos-menu-card b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-menu-card small{font-size:10px;color:#7b8995;margin:1px 0}.pos-menu-card strong{font-size:12px;color:var(--accent)}.pos-menu-card i{font-style:normal;font-size:20px;color:var(--accent)}.pos-bill-list{max-height:360px;overflow:auto}.pos-bill-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:10px 2px;border-bottom:1px solid #edf1f4}.pos-bill-line.service{grid-template-columns:1fr auto}.pos-bill-item-name b,.pos-bill-item-name small{display:block}.pos-bill-item-name b{font-size:13px}.pos-bill-item-name small{font-size:10px;color:#7a8794}.pos-bill-line>strong{font-size:12px;white-space:nowrap}.pos-qty-control{display:flex;align-items:center;gap:5px}.pos-qty-control form{margin:0}.pos-qty-control button{width:27px;height:27px;border:1px solid #dce4ea;background:#f4f7f9;border-radius:7px;cursor:pointer;font-weight:900}.pos-qty-control>b{min-width:20px;text-align:center}.pos-bill-totals{padding-top:12px}.pos-bill-totals>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.pos-bill-totals .grand{font-size:18px;border-top:1px solid #dfe7ed;margin-top:6px;padding-top:10px}.pos-bill-totals .grand b{color:var(--accent);font-size:24px}.pos-session-actions{border-top:1px solid #e8eef3;padding:12px 15px 15px;display:grid;gap:8px;background:#fbfcfd}.pos-transfer-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.pos-pay-form .btn{width:100%;min-height:46px}.pos-session-mobile-backdrop{display:none}.settings-lock-wrap{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:20px}.settings-lock-card{width:min(480px,100%);padding:30px}.settings-lock-icon{width:64px;height:64px;border-radius:18px;background:color-mix(in srgb,var(--accent) 12%,#eef5fb);display:grid;place-items:center;font-size:31px;margin-bottom:18px}.settings-lock-card h1{margin:6px 0 10px;font-size:27px}.settings-pin-input{font-size:18px;letter-spacing:.08em}.settings-lock-help{margin-top:14px;text-align:center;color:#7a8794;font-size:12px;padding:10px;background:#f6f8fa;border-radius:9px}
@media(max-width:1150px){.realtime-pos-layout{grid-template-columns:minmax(0,1fr) 390px}.pos-table-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.pos-menu-grid{grid-template-columns:1fr}}
@media(max-width:900px){.realtime-pos-layout{display:block}.pos-floor{padding:12px}.pos-table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-session-panel.open{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-end;justify-content:center;padding-top:8vh}.pos-session-panel:not(.open){display:none}.pos-session-mobile-backdrop{display:block;position:absolute;inset:0;background:#0008}.pos-session-inner{position:relative;width:100%;max-height:92vh;border-radius:22px 22px 0 0;border-bottom:0;overflow:auto;z-index:1}.pos-session-head{position:sticky;top:0;background:#fff;z-index:4}.pos-session-actions{position:sticky;bottom:0;z-index:4}.pos-menu-grid{grid-template-columns:1fr 1fr;max-height:none}.realtime-page-title .btn{display:none}}
@media(max-width:600px){.realtime-stats{grid-template-columns:1fr 1fr}.realtime-stats .stat{padding:12px}.realtime-stats .stat .v{font-size:22px}.pos-floor-head{display:block}.pos-legend{margin-top:8px}.pos-table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pos-table-card,.pos-table-button{min-height:116px}.pos-table-card{padding:10px}.pos-table-button{padding:10px}.pos-table-icon{font-size:24px}.pos-session-inner{max-height:94svh}.pos-live-summary{padding:10px}.pos-session-tabs{padding:11px}.pos-menu-grid{grid-template-columns:1fr 1fr}.pos-menu-card button{grid-template-columns:42px minmax(0,1fr) 20px;padding:6px}.pos-menu-card img{width:42px;height:42px}.settings-lock-wrap{padding:8px;min-height:calc(100vh - 110px)}.settings-lock-card{padding:22px 17px}.settings-lock-card h1{font-size:23px}}

/* ===== V1.6 POS workflow, modals, sample library, audit log ===== */
body.lw-modal-open{overflow:hidden}.compact-title{margin-bottom:12px}.pos-quick-stats{display:grid;grid-template-columns:repeat(4,minmax(110px,.7fr)) minmax(200px,1.25fr);gap:0;padding:0;overflow:hidden;margin-bottom:14px}.pos-quick-stats>div{padding:12px 16px;border-right:1px solid #e5ebf0;display:flex;align-items:center;justify-content:space-between;gap:12px}.pos-quick-stats span{font-size:12px;color:#72808d}.pos-quick-stats b{font-size:20px}.pos-search{display:flex;align-items:center;gap:8px;padding:8px 12px}.pos-search input,.pos-menu-search input{border:0;outline:0;background:transparent;width:100%;min-width:0}.pos-search:focus-within,.pos-menu-search:focus-within{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 35%,#dce6ed)}
.realtime-pos-layout{grid-template-columns:minmax(0,55fr) minmax(430px,45fr);gap:14px}.pos-floor{min-height:calc(100vh - 230px)}.pos-table-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.pos-table-card{min-height:162px;align-items:stretch;text-align:left;justify-content:flex-start;padding:12px 13px;border-radius:14px}.pos-table-card button{font-family:inherit}.pos-table-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:8px}.pos-table-status{font-size:9px;font-weight:900;letter-spacing:.06em;border-radius:99px;padding:4px 7px}.pos-table-status.busy{background:#fff2da;color:#a86e00}.pos-table-status.free{background:#e4f8ef;color:#0e8658}.pos-table-status.maintenance{background:#eef1f4;color:#667784}.pos-table-name{font-size:16px}.pos-table-time{font-size:15px;color:#9a6700;font-weight:800;margin-top:5px}.pos-table-breakdown,.pos-table-total{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:7px;font-size:11px;color:#6f7f8b}.pos-table-breakdown b{color:#30404d;font-size:11px}.pos-table-total{border-top:1px dashed #dfe5e9;padding-top:7px;margin-top:auto}.pos-table-total strong{font-size:15px;color:var(--accent)}button.pos-table-card{appearance:none;width:100%;cursor:pointer;font:inherit}.pos-open-label{margin-top:auto;padding-top:8px;font-size:12px;font-weight:900;color:#13855a}.pos-table-card.free small{margin-top:3px}.pos-session-panel{top:72px}.pos-session-inner{max-height:calc(100vh - 88px);display:flex;flex-direction:column}.pos-session-tabs{min-height:0;overflow:hidden;display:flex;flex-direction:column}.pos-tab-panel:not(.hidden){min-height:0;overflow:auto}.pos-live-summary-v16{grid-template-columns:1fr 1fr}.pos-live-summary-v16 .total{grid-column:1/-1}.pos-menu-tools{display:grid;gap:8px;margin-bottom:10px}.pos-menu-search{height:39px;border:1px solid #dfe7ed;border-radius:10px;display:flex;align-items:center;gap:6px;padding:0 10px;background:#fff}.pos-menu-categories{display:flex;gap:6px;overflow:auto;padding-bottom:2px;scrollbar-width:none}.pos-menu-categories::-webkit-scrollbar{display:none}.pos-menu-categories button{white-space:nowrap;border:1px solid #dfe6ec;background:#f5f8fa;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800;cursor:pointer}.pos-menu-categories button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text,#fff)}.pos-session-actions-v16{gap:7px}.pos-secondary-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pos-secondary-actions .btn{padding:9px 7px;font-size:11px}.pos-pay-main{min-height:49px;font-size:14px;display:flex;justify-content:center}.pos-pay-main span{font-size:16px}.pos-transfer-form{margin-top:0}

.lw-modal{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:18px}.lw-modal.open{display:flex}.lw-modal-backdrop{position:absolute;inset:0;background:rgba(5,14,22,.68);backdrop-filter:blur(3px)}.lw-modal-card{position:relative;z-index:1;width:min(560px,100%);max-height:min(90vh,760px);overflow:auto;background:#fff;border:1px solid #dfe7ed;border-radius:22px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.3);animation:lwModalIn .16s ease-out}.lw-modal-card-sm{width:min(440px,100%)}@keyframes lwModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.lw-modal-x{position:absolute;right:14px;top:14px;width:34px;height:34px;border:0;border-radius:50%;background:#edf2f5;color:#31414d;font-size:22px;cursor:pointer}.lw-modal-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--accent) 12%,#eef5f8);font-size:26px;margin-bottom:12px}.lw-modal-card h2{font-size:23px;margin:0 42px 8px 0}.lw-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.lw-confirm-summary{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;padding:12px;background:#f6f9fb;border:1px solid #e3e9ee;border-radius:13px;margin:14px 0}.lw-confirm-summary>div{min-width:0}.lw-confirm-summary span{display:block;font-size:11px;color:#71808d;margin-bottom:4px}.lw-confirm-summary b{font-size:16px}.lw-confirm-total{display:flex;justify-content:space-between;align-items:center;gap:12px;background:color-mix(in srgb,var(--accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--accent) 28%,#e1e7ec);border-radius:13px;padding:15px;margin-top:14px}.lw-confirm-total span{font-size:12px;color:#657582}.lw-confirm-total b{font-size:23px;color:var(--accent)}.pay-modal-breakdown{border:1px solid #e1e7ec;border-radius:14px;overflow:hidden;margin:14px 0}.pay-modal-breakdown>div{display:flex;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #edf1f4}.pay-modal-breakdown>div:last-child{border-bottom:0}.pay-modal-breakdown .grand{background:color-mix(in srgb,var(--accent) 8%,#fff);align-items:center}.pay-modal-breakdown .grand b{font-size:24px;color:var(--accent)}.payment-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.payment-choice-grid label{position:relative}.payment-choice-grid input{position:absolute;opacity:0;pointer-events:none}.payment-choice-grid span{display:block;border:1px solid #dae4ea;border-radius:10px;padding:10px 7px;text-align:center;font-size:12px;font-weight:800;cursor:pointer}.payment-choice-grid input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}

.settings-first-note{background:#f3f7fa;border:1px solid #dde7ee;border-radius:11px;padding:10px 12px;font-size:12px;color:#536674;margin:0 0 15px}.sample-library-card{padding:20px}.sample-filter-row{display:flex;gap:7px;overflow:auto;padding-bottom:10px;scrollbar-width:none}.sample-filter-row::-webkit-scrollbar{display:none}.sample-filter-row button{border:1px solid #dbe5ec;background:#f7f9fb;border-radius:99px;padding:7px 11px;white-space:nowrap;font-size:11px;font-weight:800;cursor:pointer}.sample-filter-row button.active{background:var(--app-dark,#112338);color:#fff;border-color:var(--app-dark,#112338)}.sample-product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sample-product-card{position:relative;border:1px solid #dfe7ed;border-radius:14px;background:#fff;overflow:hidden;cursor:pointer;transition:.15s}.sample-product-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px rgba(21,48,68,.08)}.sample-product-card>input{position:absolute;opacity:0}.sample-check{position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:8px;border:1px solid #d8e2e8;background:#fff;color:transparent;display:grid;place-items:center;font-weight:900;z-index:2}.sample-product-card:has(input:checked){border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 5%,#fff)}.sample-product-card:has(input:checked) .sample-check{background:var(--accent);border-color:var(--accent);color:var(--accent-text,#fff)}.sample-product-card.exists{opacity:.55;cursor:not-allowed}.sample-product-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#fff}.sample-product-body{padding:9px}.sample-product-body small,.sample-product-body b{display:block}.sample-product-body small{font-size:9px;color:#81909c}.sample-product-body b{font-size:12px;margin:3px 0 6px;line-height:1.25;min-height:30px}.sample-product-body span{font-size:11px;font-weight:850;color:var(--accent)}.sample-product-body em{font-size:9px;font-style:normal;padding:3px 6px;border-radius:99px;background:#e8eef2;color:#61717d}.sample-library-actions{position:sticky;bottom:-1px;margin:14px -20px -20px;padding:12px 20px;background:#fff;border-top:1px solid #e4eaf0;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:3}.sample-library-actions .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.activity-log-filters{display:grid;grid-template-columns:180px 160px minmax(180px,1fr) auto auto;gap:8px}.activity-log-list{display:grid;gap:8px}.activity-log-row{border:1px solid #e0e8ee;border-radius:13px;background:#fbfcfd;overflow:hidden}.activity-log-row summary{list-style:none;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;cursor:pointer}.activity-log-row summary::-webkit-details-marker{display:none}.activity-log-icon{width:34px;height:34px;border-radius:10px;background:#eef3f6;display:grid;place-items:center}.activity-log-main b,.activity-log-main span{display:block}.activity-log-main b{font-size:13px}.activity-log-main span{font-size:10px;color:#7a8995;margin-top:2px}.activity-log-row summary code{font-size:9px;color:#6f7e8b;background:#edf2f5;padding:4px 6px;border-radius:7px}.activity-log-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid #e5ebef;padding:10px 13px;background:#fff}.activity-log-detail small{font-size:9px;color:#73838f;font-weight:900}.activity-log-detail pre{white-space:pre-wrap;word-break:break-word;margin:4px 0 0;background:#f6f8fa;border-radius:8px;padding:8px;font:10px/1.45 monospace;max-height:180px;overflow:auto}

@media(max-width:1250px){.realtime-pos-layout{grid-template-columns:minmax(0,1fr) minmax(390px,1fr)}.pos-table-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}.sample-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.pos-quick-stats{grid-template-columns:repeat(4,1fr)}.pos-search{grid-column:1/-1;border-top:1px solid #e5ebf0}.pos-table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sample-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-log-filters{grid-template-columns:1fr 1fr}.activity-log-filters input[type=search]{grid-column:1/-1}.activity-log-detail{grid-template-columns:1fr}}
@media(max-width:600px){.compact-title h1{font-size:24px}.pos-quick-stats{grid-template-columns:1fr 1fr}.pos-quick-stats>div{padding:9px 11px}.pos-quick-stats b{font-size:18px}.pos-table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-table-card{min-height:150px}.pos-table-name{font-size:15px}.pos-table-breakdown{font-size:10px}.pos-secondary-actions{grid-template-columns:1fr 1fr 1fr}.pos-secondary-actions .btn{font-size:10px;padding-inline:4px}.lw-modal{padding:0;align-items:flex-end}.lw-modal-card,.lw-modal-card-sm{width:100%;max-height:92svh;border-radius:22px 22px 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom))}.lw-modal-card h2{font-size:21px}.lw-modal-actions{position:sticky;bottom:0;background:#fff;padding-top:10px}.lw-modal-actions .btn{flex:1}.lw-confirm-summary{grid-template-columns:1fr}.payment-choice-grid{grid-template-columns:1fr 1fr}.sample-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-library-card{padding:14px}.sample-library-actions{margin:12px -14px -14px;padding:11px 14px;display:block}.sample-library-actions .btn{width:100%;margin-top:8px}.activity-log-filters{grid-template-columns:1fr}.activity-log-filters input[type=search]{grid-column:auto}.activity-log-row summary{grid-template-columns:34px 1fr}.activity-log-row summary code{grid-column:2/3;justify-self:start}}

/* ===== LiteApp V2 timeline / scheduling ===== */
.segmented{display:flex;background:#eef3f8;border:1px solid #dbe5ed;border-radius:12px;padding:3px;gap:2px}.segmented a{padding:8px 11px;border-radius:9px;color:#54697a;text-decoration:none;font-weight:700;font-size:13px}.segmented a.active{background:#fff;color:#102334;box-shadow:0 2px 8px #17334c14}.timeline-open-note{margin:-4px 0 14px;color:#60788b;font-size:13px}.timeline-card{padding:0;overflow:hidden}.timeline-scroll,.public-timeline-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:5px}.court-timeline{display:grid;grid-template-columns:180px repeat(var(--slot-count),minmax(58px,1fr));min-width:max(100%,calc(180px + var(--slot-count)*58px));position:relative}.timeline-header{position:sticky;top:0;z-index:6;background:#f7fafc;border-bottom:1px solid #dfe8ef}.timeline-header>div{min-height:42px;display:flex;align-items:center;justify-content:center;border-right:1px solid #e6edf2;font-size:12px;color:#5a7183}.court-label{position:sticky;left:0;z-index:5;background:#fff;border-right:1px solid #dce6ed;padding:10px 13px;display:flex;flex-direction:column;justify-content:center;min-width:0}.timeline-header .court-label{z-index:8;background:#f7fafc}.court-label small{color:#7890a2;margin-top:3px}.timeline-row{min-height:74px;border-bottom:1px solid #e6edf2;align-items:stretch}.timeline-cell{border:0;border-right:1px solid #edf2f5;background:#fff;grid-row:1;cursor:pointer;min-height:74px}.timeline-cell.hour-mark{border-left:1px solid #d5e1e9}.timeline-cell.free:hover{background:#e9f9f1}.timeline-cell.occupied{background:#f6f8fa;cursor:default}.timeline-cell.blocked{background:repeating-linear-gradient(135deg,#eef1f3,#eef1f3 7px,#e2e7ea 7px,#e2e7ea 14px)}.timeline-booking,.timeline-block{grid-row:1;z-index:3;margin:7px 3px;border-radius:11px;padding:9px 10px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;justify-content:center;box-shadow:0 3px 12px #16314918;min-width:0}.timeline-booking b,.timeline-booking span,.timeline-booking small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-booking b{font-size:13px}.timeline-booking span,.timeline-booking small{font-size:11px;margin-top:2px}.timeline-booking.status-pending{background:#fff0c9;color:#6d4b00;border:1px solid #efd17b}.timeline-booking.status-confirmed{background:#ddebff;color:#13549a;border:1px solid #9fc9f7}.timeline-booking.status-checked_in{background:#d9f7e8;color:#06713c;border:1px solid #8bd8af}.timeline-booking.status-completed{background:#edf1f4;color:#596c78;border:1px solid #cdd8df}.timeline-block{background:#eee8f8;color:#62408b;border:1px dashed #a58bc2}.timeline-block.block-maintenance{background:#eceff1;color:#59636a}.timeline-block.block-event{background:#f5ddfb;color:#7b348c}.timeline-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:12px 16px;background:#fbfcfd;border-top:1px solid #e4ebf0;font-size:12px;color:#617788}.timeline-legend span{display:flex;align-items:center;gap:6px}.lg{width:12px;height:12px;border-radius:4px;display:inline-block}.lg.pending{background:#f3c95e}.lg.confirmed{background:#88bff7}.lg.checked{background:#65cb98}.lg.completed{background:#b9c5cb}.lg.blocked{background:#9da8ae}.lg.free{background:#f7fff9;border:1px solid #79c49a}.booking-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.lw-modal-wide{max-width:760px}.weekly-hours{display:grid;gap:8px}.weekly-row{display:grid;grid-template-columns:92px 90px 1fr 24px 1fr;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf1f4}.compact-list{display:grid;gap:8px}.compact-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #edf1f4}.compact-row small{display:block;color:#718797;margin-top:2px}

/* Public booking timeline */
.booking-hero.compact{height:270px}.booking-brand-logo{width:58px;height:58px;object-fit:contain;border-radius:15px;background:#fff;padding:5px}.public-timeline{padding:0;overflow:hidden}.public-tl-header,.public-tl-row{display:grid;grid-template-columns:190px repeat(var(--slot-count),minmax(62px,1fr));min-width:max(100%,calc(190px + var(--slot-count)*62px));position:relative}.public-tl-header{background:#f4f8fb;border-bottom:1px solid #dae5ec;position:sticky;top:0;z-index:5}.pt-court-label{position:sticky;left:0;z-index:4;background:#fff;border-right:1px solid #dce6ed;min-height:68px;padding:8px 12px;display:flex;align-items:center;gap:8px}.public-tl-header .pt-court-label{background:#f4f8fb;z-index:7;font-weight:800}.pt-court-label img{width:44px;height:44px;border-radius:10px;object-fit:cover}.pt-court-label span{min-width:0}.pt-court-label b,.pt-court-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-court-label small{color:#7b8e9d;margin-top:2px}.pt-time{display:flex;align-items:center;justify-content:center;border-right:1px solid #e5edf2;color:#5e7484;font-size:12px;font-weight:700}.public-tl-row{border-bottom:1px solid #e5edf2}.pt-slot{grid-row:1;min-height:68px;border:0;border-right:1px solid #edf2f5;background:#fafffc;cursor:pointer;position:relative}.pt-slot.free:hover{background:#dff7e9}.pt-slot.free span{font-size:11px;color:#39875f}.pt-slot.busy{background:#fde7e7;cursor:not-allowed}.pt-slot.blocked{background:repeating-linear-gradient(135deg,#eceff1,#eceff1 7px,#dfe4e7 7px,#dfe4e7 14px)}.public-legend{padding:12px 14px}.public-closed-day{border:1px solid #f1d49a;background:#fff8e6;padding:22px;border-radius:18px;display:flex;flex-direction:column;gap:4px}.public-closed-day b{font-size:20px}.public-closed-day span{color:#856b30}

@media(max-width:900px){.booking-stats{grid-template-columns:repeat(2,1fr)}.court-timeline{grid-template-columns:125px repeat(var(--slot-count),56px);min-width:calc(125px + var(--slot-count)*56px)}.public-tl-header,.public-tl-row{grid-template-columns:125px repeat(var(--slot-count),58px);min-width:calc(125px + var(--slot-count)*58px)}.weekly-row{grid-template-columns:1fr 85px 1fr 18px 1fr}.pt-court-label{padding:7px}.pt-court-label img{display:none}.timeline-booking{padding:7px}.timeline-booking small{display:none}}
@media(max-width:600px){.booking-stats{grid-template-columns:1fr 1fr}.booking-toolbar .between{align-items:stretch}.booking-toolbar .form-control{max-width:100%}.weekly-row{grid-template-columns:1fr 80px}.weekly-row input[type=time]{grid-column:span 1}.weekly-row>span{display:none}.booking-hero.compact{height:230px}.public-timeline-page{padding-left:10px;padding-right:10px}.lw-modal-wide{width:calc(100vw - 20px)}}

.liteapp-home{background:radial-gradient(circle at 85% 20%,#0d76a5 0,#06354c 32%,#061923 68%,#051018 100%);min-height:680px}.hero-split{min-height:680px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);gap:44px;align-items:center}.hero-showcase img{width:100%;max-height:610px;object-fit:contain;border-radius:26px;box-shadow:0 30px 80px #0008}.hero-copy{position:relative;z-index:2}@media(max-width:1000px){.hero-split{grid-template-columns:1fr;min-height:auto;padding-top:80px;padding-bottom:60px}.hero-showcase{order:2}.hero-showcase img{max-height:none}}

.booking-ops-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:18px;align-items:start}.booking-bill-sticky{position:sticky;top:82px}.bill-service-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #e7edf2}.booking-bill-items{display:grid;gap:0}.booking-bill-item{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f4}.booking-bill-item small{display:block;color:#758b9b;margin-top:3px}.mini-qty{width:54px;border:1px solid #d8e2e9;border-radius:8px;padding:6px}.bill-breakdown{margin-top:14px;border-top:1px solid #dfe7ed;padding-top:10px}.bill-breakdown>div{display:flex;justify-content:space-between;padding:5px 0}.bill-breakdown .total{font-size:18px;border-top:1px solid #dfe7ed;margin-top:7px;padding-top:12px}.bill-breakdown strong{font-size:23px;color:var(--accent)}.menu-live-search{max-width:250px}@media(max-width:1000px){.booking-ops-grid{grid-template-columns:1fr}.booking-bill-sticky{position:relative;top:auto}}
.booking-price-preview{display:flex;justify-content:space-between;align-items:center;background:#eef7ff;border:1px solid #cfe5f8;border-radius:13px;padding:12px 14px;margin-bottom:14px}.booking-price-preview b{font-size:20px;color:#0b6fc2}


/* ===== LiteApp V2.1 Super Admin + account UX ===== */
.super-admin-body{background:#f2f6fb}.super-admin-shell{grid-template-columns:250px minmax(0,1fr)}.super-admin-side{background:linear-gradient(180deg,#07192e,#0d2541);display:flex;flex-direction:column;gap:5px}.super-admin-brand{display:flex;align-items:center;gap:10px;padding:6px 4px 22px;border-bottom:1px solid #ffffff16;margin-bottom:12px}.super-admin-brand img{width:44px;height:44px;object-fit:contain}.super-admin-brand b,.super-admin-brand small{display:block}.super-admin-brand b{font-size:18px;color:#fff}.super-admin-brand small{font-size:9px;letter-spacing:.14em;color:#70b9ff;margin-top:2px}.super-admin-spacer{flex:1}.super-admin-main{background:#f4f7fb;min-height:100vh}.super-admin-auth{background:radial-gradient(circle at 20% 10%,#173d6a,#07111e 68%)}.super-admin-login{box-shadow:0 30px 90px #0007;border:1px solid #ffffff22}.super-create-title{align-items:flex-start}.super-create-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.super-create-form{padding:24px}.super-create-help{position:sticky;top:24px}.super-create-section{display:flex;align-items:flex-start;gap:10px;margin:6px 0 15px;padding-top:12px;border-top:1px solid #e6edf3}.super-create-section:first-of-type{border-top:0;padding-top:0}.super-create-section .step{width:30px;height:30px;border-radius:10px;background:#0d6efd;color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.super-create-section h3{margin:1px 0 2px;font-size:16px}.super-create-section p{margin:0;color:#758797;font-size:11px}.super-checklist{display:grid;gap:9px;margin:14px 0 18px}.super-checklist span{padding:9px 10px;background:#f3f7fb;border-radius:9px;font-size:12px;color:#365069}
@media(max-width:1000px){.super-create-grid{grid-template-columns:1fr}.super-create-help{position:static}.super-admin-shell{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){.super-admin-shell{display:block}.super-admin-side{position:static;height:auto;display:block;white-space:nowrap;overflow:auto}.super-admin-brand{display:none}.super-admin-side a{display:inline-flex;margin-right:5px}.super-admin-spacer{display:none}.super-create-title{gap:12px}.super-create-title .btn{white-space:nowrap}}
@media(max-width:600px){.super-create-form{padding:16px}.super-create-form .grid-2{grid-template-columns:1fr}.super-create-title{display:block}.super-create-title .btn{margin-top:10px;width:100%}}

/* ===== LiteApp V2.2 onboarding + operations-first dashboard ===== */
.setup-body{min-height:100vh;background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--accent) 18%,#fff),#f4f7fb 36%,#eef3f8 100%)}.setup-shell{min-height:100vh}.setup-top{height:74px;padding:0 max(22px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e1e8ef;position:sticky;top:0;z-index:20}.setup-top .brand img{width:38px;height:38px}.setup-main{width:min(1040px,calc(100% - 28px));margin:34px auto 70px}.setup-progress-wrap{margin-bottom:18px}.setup-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.setup-heading h1{font-size:30px;margin:5px 0 2px}.setup-heading p{margin:0;color:#718093}.setup-percent{font-size:24px;font-weight:900;color:var(--accent)}.setup-progress{height:8px;background:#dce5ed;border-radius:20px;overflow:hidden;margin:16px 0}.setup-progress span{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:.3s}.setup-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.setup-step{display:flex;align-items:center;gap:7px;color:#8593a0;font-size:12px;min-width:0}.setup-step b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e3e9ef;color:#60707d;flex:0 0 auto}.setup-step.active{color:#172736;font-weight:800}.setup-step.active b,.setup-step.done b{background:var(--accent);color:var(--accent-text,#fff)}.setup-step span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.setup-card{background:#fff;border:1px solid #dfe7ed;border-radius:22px;box-shadow:0 18px 55px rgba(24,55,80,.09);padding:28px}.setup-card-wide{width:min(1180px,calc(100vw - 28px));margin-left:50%;transform:translateX(-50%)}.setup-card-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.setup-card-title>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 16%,#fff);color:color-mix(in srgb,var(--accent) 74%,#000);font-weight:900}.setup-card-title h2{margin:0;font-size:23px}.setup-card-title p{margin:5px 0 0;color:#738493}.setup-card-title em{font-size:12px;font-style:normal;background:#edf2f6;color:#617384;padding:4px 8px;border-radius:30px;margin-left:6px;vertical-align:middle}.setup-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #ebf0f4;margin-top:24px;padding-top:20px}.setup-count-box{width:min(430px,100%);margin:10px auto 24px;display:grid;grid-template-columns:72px 1fr 72px;gap:12px;align-items:center}.setup-count-box button{height:64px;border:1px solid #d9e2e9;background:#f6f9fb;border-radius:16px;font-size:30px;cursor:pointer}.setup-count-box>div{display:flex;flex-direction:column;align-items:center}.setup-count-box input{width:120px;border:0;background:transparent;text-align:center;font-size:48px;font-weight:900;color:#142636;outline:0}.setup-count-box small{color:#748696}.setup-preview{background:#f7fafc;border:1px dashed #d7e2e9;border-radius:15px;padding:16px}.setup-resource-preview{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.setup-resource-preview span{padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #dde7ee;font-size:12px}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice-pill input{display:none}.choice-pill span{display:inline-flex;padding:10px 16px;border-radius:11px;border:1px solid #d7e1e8;background:#fff;cursor:pointer;font-weight:700}.choice-pill input:checked+span{background:var(--accent);color:var(--accent-text,#fff);border-color:var(--accent)}.weekly-setup{display:grid;gap:7px}.weekly-setup-row{display:grid;grid-template-columns:110px 80px 1fr 24px 1fr;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #eef2f5}.money-input{position:relative}.money-input span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#7a8995}.money-input input{padding-right:76px}.setup-check{margin-top:29px;padding:12px;background:#f6f9fb;border-radius:11px}.setup-menu-toolbar{display:flex;gap:8px;margin-bottom:14px}.setup-sample-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.setup-sample-grid .sample-card{cursor:pointer}.setup-sample-grid .sample-card input{position:absolute;opacity:0}.setup-sample-grid .sample-card:has(input:checked){outline:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,#fff)}.setup-pin-box{margin-top:20px;padding:17px;border-radius:15px;background:#f6f9fb;border:1px solid #e1e8ee;display:grid;grid-template-columns:1fr 1.2fr;gap:18px;align-items:center}.setup-pin-box p{font-size:12px;margin-top:5px}.setup-finish{text-align:center;max-width:760px;margin:auto}.finish-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#def7e9;color:#0a8b50;font-size:36px;font-weight:900;margin:0 auto 14px}.setup-finish h2{font-size:30px;margin:0}.setup-finish>p{color:#738493}.setup-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:24px 0;text-align:left}.setup-summary>div{padding:14px;border:1px solid #e2e9ee;border-radius:12px;background:#fafcfd}.setup-summary span,.setup-summary b{display:block}.setup-summary span{font-size:11px;color:#758695;text-transform:uppercase;margin-bottom:4px}
.dashboard-filter{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #e1e8ee;border-radius:12px;padding:5px;margin:0 0 14px}.dashboard-filter span{font-size:12px;color:#708291;padding:0 7px}.dashboard-filter a{padding:7px 11px;border-radius:8px;font-size:12px;font-weight:800}.dashboard-filter a.active{background:var(--accent);color:var(--accent-text,#fff)}.dashboard-stats{margin-bottom:16px}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.dash-chart-card{min-height:310px}.dash-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.dash-card-head h3{margin:0;font-size:17px}.dash-card-head p{margin:3px 0 0;color:#7a8b98;font-size:12px}.dash-card-head>b{font-size:17px;color:var(--accent)}.dash-card-head>a{font-size:12px;color:var(--accent);font-weight:800}.revenue-line-chart{position:relative;height:230px;padding-bottom:32px}.revenue-line-chart svg{width:100%;height:198px;overflow:visible}.chart-grid-lines line{stroke:#e6edf2;stroke-width:1}.chart-label-row{position:absolute;left:0;right:0;bottom:0;height:25px}.chart-label-row span{position:absolute;transform:translateX(-50%);font-size:10px;color:#738693}.activity-bars{height:230px;display:flex;align-items:stretch;gap:8px;padding-top:10px}.activity-bar-col{flex:1;min-width:20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px}.activity-bar-value{font-size:10px;color:#637787}.activity-bar-track{height:170px;width:min(32px,80%);background:#eef3f6;border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.activity-bar-track i{width:100%;display:block;background:var(--accent);border-radius:8px 8px 0 0;min-height:4px}.activity-bar-col small{font-size:9px;color:#7b8a96;white-space:nowrap}.revenue-mix{height:220px;display:flex;align-items:center;justify-content:center;gap:34px}.donut{--service:50;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) 0 calc(var(--service)*1%),#6fb6f0 calc(var(--service)*1%) 100%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:#fff}.donut>div{z-index:1;text-align:center}.donut strong,.donut small{display:block}.donut strong{font-size:28px}.donut small{font-size:10px;color:#738592}.mix-legend{min-width:230px}.mix-legend>div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f4}.mix-dot{width:10px;height:10px;border-radius:3px}.mix-dot.service{background:var(--accent)}.mix-dot.items{background:#6fb6f0}.mix-legend span{font-size:12px;color:#5e7383}.mix-legend b{font-size:12px}.top-item-list{display:grid;gap:10px}.top-item-row{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start}.top-item-row .rank{width:26px;height:26px;border-radius:8px;background:#edf3f7;display:grid;place-items:center;font-weight:900;font-size:11px}.top-item-row b,.top-item-row small{display:block}.top-item-row b{font-size:12px}.top-item-row small{font-size:10px;color:#7b8c98;margin:2px 0 5px}.top-item-row i{display:block;height:5px;background:var(--accent);border-radius:8px}.compact-dashboard-resources{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-dashboard-resources .resource-card .body{padding:11px}
@media(max-width:1000px){.setup-sample-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.setup-pin-box{grid-template-columns:1fr}.setup-steps{overflow:auto;padding-bottom:5px}.setup-step{min-width:110px}.setup-card-wide{width:100%;margin-left:0;transform:none}}
@media(max-width:700px){.setup-main{margin-top:20px}.setup-top{padding:0 14px}.setup-top .text-right{display:none}.setup-heading h1{font-size:24px}.setup-heading p{font-size:12px}.setup-card{padding:18px;border-radius:17px}.setup-card .grid-2{grid-template-columns:1fr}.weekly-setup-row{grid-template-columns:1fr 80px 1fr 18px 1fr}.weekly-setup-row>b{grid-column:1/-1}.setup-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-actions{align-items:stretch;flex-direction:column-reverse}.setup-actions>*{width:100%}.setup-actions .flex{width:100%;display:grid}.setup-summary{grid-template-columns:1fr}.revenue-mix{flex-direction:column;height:auto;gap:16px;padding:10px 0}.mix-legend{width:100%;min-width:0}.compact-dashboard-resources{grid-template-columns:repeat(2,1fr)}}
.setup-sample-grid{display:grid;gap:10px}.setup-sample-grid .sample-card{position:relative;display:block;border:1px solid #e1e8ee;border-radius:14px;background:#fff;overflow:hidden;transition:.16s}.setup-sample-grid .sample-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #17324a12}.setup-sample-grid .sample-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f7f9fb}.setup-sample-grid .sample-card>div{padding:9px}.setup-sample-grid .sample-card b,.setup-sample-grid .sample-card small{display:block}.setup-sample-grid .sample-card b{font-size:12px;line-height:1.3;min-height:31px}.setup-sample-grid .sample-card small{font-size:9px;color:#788b98;margin-top:4px}.setup-sample-grid .sample-card:has(input:checked)::after{content:"✓";position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-text,#fff);font-weight:900}

/* V2.3 homepage + menu UX */
.public-nav .brand img{width:44px;height:44px}.public-nav .brand span{font-size:18px}.liteapp-home{min-height:calc(100svh - 72px);padding:34px 0;background:radial-gradient(circle at 86% 24%,#0d779f 0,#06425c 27%,#071d29 58%,#050e15 100%)}.hero-split{min-height:calc(100svh - 140px);grid-template-columns:minmax(0,44%) minmax(0,56%);gap:56px;align-items:center}.hero-copy{min-width:0}.hero-copy h1{font-size:clamp(48px,4.25vw,68px);line-height:1.02;letter-spacing:-.045em;margin:18px 0 20px;max-width:660px}.hero-copy h1 span{display:block;white-space:nowrap}.hero-copy>p:not(.hero-note){font-size:17px;line-height:1.65;max-width:620px}.hero-kicker{display:inline-flex}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.hero-login-btn{color:#fff!important;border-color:#ffffff70}.hero-note{font-size:13px!important;color:#9fc2d3!important;margin-top:14px}.hero-showcase{display:flex;align-items:center;justify-content:center;min-width:0}.hero-showcase img{width:min(760px,100%);max-height:calc(100svh - 170px);object-fit:contain;border-radius:24px;box-shadow:0 28px 85px #0008;border:1px solid #ffffff20}.menu-page-title .actions{justify-content:flex-end}.menu-category-bar{padding:15px 18px}.menu-empty-state{display:flex;flex-direction:column;gap:5px}.lw-modal-library{width:min(1120px,96vw);max-height:92vh}.lw-modal-library .sample-product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.danger-zone{border-color:#f2c8ce;background:#fffafb}.danger-zone b{color:#a62938}
@media(max-width:1100px){.hero-split{grid-template-columns:minmax(0,48%) minmax(0,52%);gap:28px}.hero-copy h1{font-size:clamp(42px,5vw,58px)}.hero-showcase img{max-height:540px}.lw-modal-library .sample-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.liteapp-home{padding:54px 0 42px;min-height:auto}.hero-split{grid-template-columns:1fr;min-height:auto}.hero-copy h1{font-size:clamp(42px,8vw,60px);max-width:760px}.hero-copy h1 span{white-space:normal}.hero-showcase{margin-top:10px}.hero-showcase img{width:min(820px,100%);max-height:none}.lw-modal-library .sample-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.public-nav .brand img{width:38px;height:38px}.public-nav .brand span{font-size:16px}.liteapp-home{padding:36px 0 72px}.hero-copy h1{font-size:clamp(38px,12vw,50px);line-height:1.04}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .btn{padding-inline:9px}.lw-modal-library{width:100%;max-height:92svh}.lw-modal-library .sample-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-page-title .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.menu-page-title .actions>a:first-child{grid-column:1/-1}}
