@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";
:root{color:#1b1f1a;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f1ea;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}body{margin:0}h1,h2,h3,strong,b,.metric strong,.price{font-family:Space Grotesk,Manrope,sans-serif}.app{background:#f4f1ea;min-height:100vh}.app-dark{color:#eef1ec;background:#15181b}.demo-bar{z-index:20;color:#eef1ec;background:#11241c;border-bottom:1px solid #20392e;grid-template-columns:minmax(210px,1fr) auto auto;align-items:center;gap:16px;padding:12px 22px;display:grid;position:sticky;top:0}.brand,.mini-brand{align-items:center;gap:10px;display:flex}.brand strong{font-size:18px;display:block}.brand small{color:#a6ada4;font-size:11px;font-weight:700;display:block}.mark{color:#fff;background:#1c6b4d;border-radius:10px;place-items:center;width:34px;height:34px;font-family:Space Grotesk,sans-serif;font-weight:800;display:inline-grid}.mark.small{border-radius:8px;width:28px;height:28px}.role-tabs,.lang-tabs,.tabs,.filter-row,.desk-toolbar,.choice-grid{flex-wrap:wrap;gap:8px;display:flex}.role-tabs button,.lang-tabs button,.tabs button,.filter-row button,.desk-toolbar button,.chip,.loc-button,.tile,.slot,.ghost-button,.link-button{color:#1b1f1a;white-space:nowrap;background:#fff;border:1px solid #dcd6c8;border-radius:11px;min-height:40px;padding:0 14px;font-size:12px;font-weight:800;box-shadow:0 1px 3px #0000000f}.role-tabs button,.lang-tabs button{color:#d8ded6;box-shadow:none;background:#1a2f25;border-color:#29473a}button.active,.chip.active,.loc-button.active,.tile.active,.slot.active{color:#fff;background:#1c6b4d;border-color:#1c6b4d}.lang-tabs button.active,.role-tabs button.active{color:#102219;background:#d9efe3;border-color:#d9efe3}.customer-shell{width:min(1120px,100%);margin:0 auto;padding:26px 18px 60px}.booking-header{background:#fffdf8;border:1px solid #e7e1d5;border-radius:18px;width:min(540px,100%);margin:0 auto 16px;padding:18px;box-shadow:0 1px 3px #00000014}.booking-header>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.badge{color:#155a40;background:#e7f0ea;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.location-note,.muted{color:#5c615a;font-size:13px;line-height:1.45}.booking-layout{place-items:start center;display:grid}.panel,.card,.state-panel,.modal{background:#fffdf8;border:1px solid #e7e1d5;border-radius:18px;box-shadow:0 1px 3px #00000014}.panel{width:min(540px,100%);padding:22px}.panel.narrow{width:min(470px,100%)}.panel h1,.state-panel h1,.page-title h1,.desk-head h1{letter-spacing:0;margin:0 0 8px;font-size:30px;line-height:1.05}.choice-block{margin-top:18px}.label-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.label-row label,.field span{color:#8b9087;letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:800}.label-row span{color:#1c6b4d;font-size:11px;font-weight:800}.tile,.slot{place-items:center;gap:2px;min-width:76px;min-height:58px;padding:8px 10px;display:grid}.slot{min-width:100px}.tile small,.slot small{color:inherit;opacity:.78;text-transform:uppercase;font-size:10px;font-weight:800}.slot:disabled,.chip:disabled{color:#a8a79f;box-shadow:none;background:#f4f1ea;border-color:#e5dfd3}.chip{min-width:78px}.bottom-summary{background:#fffdf8;border-radius:14px;margin:22px -8px -8px;padding:8px;position:sticky;bottom:0}.bottom-summary>div{color:#5c615a;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.bottom-summary b{color:#1b1f1a;font-size:22px}.primary,.danger,.desk-primary{color:#fff;background:#1c6b4d;border:0;border-radius:11px;min-height:46px;padding:0 18px;font-size:13px;font-weight:900}.primary:disabled{color:#8b9087;background:#e7e1d5}.danger{background:#b34a2f}.full{width:100%}.small-button{min-height:38px}.field{gap:8px;margin-top:16px;display:grid}.field input{color:#1b1f1a;background:#fff;border:1px solid #dcd6c8;border-radius:12px;min-height:48px;padding:0 14px;font-weight:700}.review-card{background:#fff;border:1px solid #e7e1d5;border-radius:14px;gap:7px;margin:18px 0;padding:16px;display:grid}.review-card span{color:#5c615a;font-size:13px;font-weight:700}.review-card b{font-size:26px}.toggle-row{color:#1b1f1a;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:800;display:flex}.link-button,.ghost-button{color:#5c615a;box-shadow:none;background:0 0}.centered-state{place-items:center;min-height:calc(100vh - 67px);padding:24px;display:grid}.state-panel{text-align:center;width:min(480px,100%);padding:34px 28px}.state-panel p{color:#5c615a;line-height:1.55}.state-icon{color:#1c6b4d;background:#e7f0ea;border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:16px;font-weight:900;display:inline-grid}.state-panel.bad .state-icon{color:#b34a2f;background:#f6e4dc}.spinner{border:4px solid #dce7df;border-top-color:#1c6b4d;animation:.8s linear infinite lb-spin}.ops-shell{width:min(1240px,100%);margin:0 auto;padding:28px 22px 70px}.page-title{margin-bottom:18px}.page-title p,.desk-head p{color:#5c615a;margin:0;font-weight:700}.tabs{margin-bottom:18px}.metric-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:14px;display:grid}.metric,.health-item{background:#fffdf8;border:1px solid #e7e1d5;border-radius:16px;padding:16px;box-shadow:0 1px 3px #00000014}.metric span,.health-item span{color:#8b9087;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.metric strong{margin-top:8px;font-size:32px;display:block}.metric.warn strong{color:#b87814}.split-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.card{padding:18px}.card h2{margin:0 0 16px;font-size:20px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-head h2{margin:0}.bar-row{grid-template-columns:120px 1fr 48px;align-items:center;gap:10px;min-height:36px;font-size:13px;font-weight:800;display:grid}.bar-row>div{background:#f0f6f2;border-radius:999px;height:12px;overflow:hidden}.bar-row i{border-radius:inherit;background:#1c6b4d;height:100%;display:block}.booking-list,.block-list,.health-grid{gap:10px;display:grid}.list-row{text-align:left;background:#fff;border:1px solid #e7e1d5;border-radius:13px;grid-template-columns:minmax(140px,1.2fr) minmax(180px,2fr) auto;align-items:center;gap:10px;width:100%;padding:12px;display:grid}.list-row.clickable:hover,.list-row.new{background:#f0f9f4}.list-row strong{gap:2px;display:grid}.list-row small,.list-row span{color:#5c615a;font-size:12px;font-weight:700}.status{text-transform:uppercase;border-radius:7px;justify-self:end;padding:5px 9px;font-size:10.5px;font-weight:900}.status.paid{color:#155a40;background:#e7f0ea}.status.pending{color:#8a5b0c;background:#f6ecd7}.status.failed,.status.cancelled{color:#b34a2f;background:#f6e4dc}.desk-shell{padding:20px}.desk-head,.desk-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.desk-head h1{color:#eef1ec}.desk-primary{color:#102219;background:#46c08a}.desk-toolbar{flex-wrap:wrap;justify-content:flex-start}.desk-toolbar button{color:#d8ded6;box-shadow:none;background:#1d2125;border-color:#2c3239}.desk-toolbar button.active{color:#102219;background:#7adcae;border-color:#7adcae}.legend{flex-wrap:wrap;gap:10px;margin-left:auto;display:flex}.dot{color:#a6ada4;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.dot:before{content:"";background:currentColor;border-radius:999px;width:9px;height:9px}.dot-paid{color:#46c08a}.dot-pending{color:#e3b352}.dot-coaching{color:#6ea7d2}.dot-event{color:#a091f0}.dot-maintenance{color:#9aa29a}.board-scroll{background:#1d2125;border:1px solid #262c31;border-radius:16px;overflow-x:auto}.board{min-width:980px;display:grid;position:relative}.board-corner,.court-head{z-index:2;background:#1a1e21;border-bottom:1px solid #2c3239;min-height:58px;position:sticky;top:0}.court-head{color:#eef1ec;border-left:1px solid #2c3239;place-items:center;font-size:12px;font-weight:900;display:grid}.time-rail{background:#1a1e21;border-right:1px solid #2c3239;position:relative}.time-rail span{color:#767d74;font-size:10px;font-weight:800;position:absolute;right:10px}.court-col{border-left:1px solid #262c31;position:relative}.grid-line{background:#262c31;height:1px;position:absolute;left:0;right:0}.board-item{text-align:left;border-radius:8px;padding:6px 7px;position:absolute;left:3px;right:3px;overflow:hidden}.board-item b{color:#7adcae;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;display:block;overflow:hidden}.board-item span{color:#9aa29a;font-size:9px;font-weight:700}.board-item.paid{background:#46c08a29;border:1px solid #46c08a}.board-item.pending{background:#e3b35226;border:1px solid #e3b352}.board-item.pending b{color:#e8bd62}.board-item.flagged{z-index:4;background:#e0856829;border-color:#e08568;transform:translate(8px,7px)}.board-item.flagged b{color:#e89074}.board-item.block{z-index:3;background:#ffffff0d;border:1px dashed #3a424a}.board-item.block.coaching{background:#6ea7d229;border-style:solid;border-color:#6ea7d2}.board-item.block.event{background:#a091f029;border-style:solid;border-color:#a091f0}.board-item.block.coaching b{color:#9cc4e6}.board-item.block.event b{color:#b5a8f5}.now-line{z-index:4;pointer-events:none;background:#e08568;height:2px;position:absolute;left:70px;right:0}.now-line span{color:#e89074;font-size:10px;font-weight:900;position:absolute;bottom:3px;left:5px}.drawer{z-index:25;background:#fffdf8;border-left:1px solid #e7e1d5;width:min(390px,100vw);padding:24px;position:fixed;inset:67px 0 0 auto;overflow:auto;box-shadow:-18px 0 44px #141e1633}.drawer.dark{color:#eef1ec;background:#1d2125;border-color:#2c3239;box-shadow:-18px 0 44px #0006}.drawer h2{margin:14px 0;font-size:26px}.drawer dl{grid-template-columns:100px 1fr;gap:12px;margin:20px 0;display:grid}.drawer dt{color:#8b9087;text-transform:uppercase;font-size:11px;font-weight:900}.drawer dd{margin:0;font-weight:800}.close{float:right}.modal-backdrop{z-index:40;background:#141e1661;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{width:min(560px,100%);padding:20px;animation:.2s ease-out lb-slideup}.conflict-banner{color:#8e321e;background:#f6e4dc;border:1px solid #ecc0b2;border-radius:13px;gap:4px;margin:18px 0;padding:12px;font-size:13px;font-weight:700;display:grid}.toast{z-index:50;color:#fff;background:#11241c;border-radius:999px;padding:12px 18px;font-size:13px;font-weight:900;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 14px 44px #00000038}@keyframes lb-spin{to{transform:rotate(360deg)}}@keyframes lb-slideup{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.demo-bar{grid-template-columns:1fr;align-items:stretch;padding:12px}.role-tabs,.lang-tabs{grid-template-columns:repeat(3,1fr);display:grid}.lang-tabs{grid-template-columns:repeat(2,1fr)}.customer-shell,.ops-shell,.desk-shell{padding-left:12px;padding-right:12px}.panel h1,.state-panel h1,.page-title h1,.desk-head h1{font-size:26px}.metric-grid,.split-grid,.list-row{grid-template-columns:1fr}.status{justify-self:start}.desk-head{flex-direction:column;align-items:stretch}.legend{margin-left:0}}
