/* StudioBook V3.18 · Nuevo sistema visual; estilos de presentación sin cambios en API/DB */
:root{--bg:#f7faf8;--card:#fff;--ink:#192720;--muted:#7b8c82;--gold:#185b40;--gold2:#91baa0;--line:#e5ede7;--soft:#f0f7f2;--green:#e4f4e9}
html{scrollbar-gutter:stable}body{background:#f7faf8;color:#192720;font-family:Montserrat,Arial,sans-serif}
.shell{grid-template-columns:258px minmax(0,1fr)!important;min-height:100svh;background:#f7faf8}
.side{height:100svh;overflow-y:auto;position:sticky;top:0;background:#fff;padding:30px 18px 24px;border-right:1px solid #e9f0ec;box-shadow:4px 0 20px #1c443408;scrollbar-width:thin;scrollbar-color:#d8e8df transparent}
.side .sb-brand-sidebar{min-height:52px;margin-bottom:4px;padding:0 10px}
.side .sb-brand-sidebar .sb-brand-wordmark{max-height:55px;width:min(205px,100%)}
.side>.muted{font-size:12px;font-weight:600;line-height:1.4;padding:0 12px;margin:0 0 24px;color:#899b90}
.side .nav{margin-top:16px;gap:5px;display:grid;align-content:start}
.side .nav button{min-width:0;display:flex;gap:13px;align-items:center;padding:13px 14px;border-radius:12px;font-size:12px;font-weight:650;min-height:44px;color:#53685c;background:transparent;border:0;transition:background .16s,color .16s;line-height:1.4}
.side .nav button span.nav-label{min-width:0;width:auto!important;text-align:left!important;color:inherit!important;overflow-wrap:break-word}
.side .nav button .svg-icon,.side .nav button .svg-icon img{width:19px;height:19px;flex-shrink:0;opacity:.92}
.side .nav button:hover{background:#f4f9f5;color:#185b40}
.side .nav button.active{color:#185b40;background:#e7f4eb;box-shadow:inset 3px 0 #206747}
.side .nav .superadmin-nav{background:#182c22;color:#fff!important;justify-content:flex-start;margin:4px 0 11px;font-weight:700}
.side .nav .superadmin-nav .svg-icon{filter:brightness(0) invert(1)}
.side .superadmin-context{border:1px solid #deece2;background:#f7fbf8;border-radius:13px;padding:14px;margin-bottom:12px;font-size:12px}
.side .superadmin-context small{font-size:10px;letter-spacing:.08em;color:#237353;font-weight:700}
.side .superadmin-context strong{display:block;margin:5px 0;font-weight:800}
.main{max-width:none!important;margin:0!important;width:100%;padding:0 32px 52px!important;overflow:visible;min-width:0;background:#f7faf8}
.sb-workspace{min-width:0;max-width:1380px;margin:0 auto}
.sb-app-topbar{height:85px;margin:0 auto 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1380px;border-bottom:1px solid #e6eee8}
.sb-app-top-business{display:flex;flex-direction:column;gap:5px}
.sb-app-top-business span{font-size:10px;letter-spacing:.16em;color:#8b9c92;font-weight:800}
.sb-app-top-business strong{font-size:14px;color:#354a3e;font-weight:700}
.sb-app-top-controls{display:flex;align-items:center;gap:11px}
.sb-app-top-icon,.sb-app-top-profile,.sb-app-top-create{display:flex;justify-content:center;align-items:center;border:1px solid #e2ebe4;background:#fff;cursor:pointer;flex-shrink:0;color:#305b41;min-height:39px}
.sb-app-top-icon{width:42px;height:42px;border-radius:13px}.sb-app-top-icon .svg-icon{width:18px;height:18px}
.sb-app-top-create{border-radius:11px;gap:8px;padding:9px 15px;background:#185b40;border-color:#185b40;color:#fff;font-weight:700;font-size:12px}.sb-app-top-create .svg-icon{filter:brightness(0) invert(1);width:17px}
.sb-app-top-profile{width:39px;height:39px;border-radius:50%;background:#e8f4ec;color:#226247;font-weight:800;border:2px solid #fff;box-shadow:0 0 0 1px #dce9e0}
.sb-app-mobile-logo{display:none}
/* Common sections: sharper typography, lighter surfaces and coherent buttons */
.main .panel,.main .card,.main .booking,.main .studio-service-item,.main .studio-team-card{background:#fff;border-color:#e5eee7;box-shadow:0 5px 24px #193e2d06;border-radius:18px}
.main .top h1{font-family:'Playfair Display',Georgia,serif;font-weight:700;color:#172e22;letter-spacing:-.025em}
.main .panel-head h3,.main .settings-section h3{color:#172e22}
.main .primary{background:#185b40;color:#fff;border:0;border-radius:11px}
.main .ghost{border-color:#dfeae2;border-radius:11px}
.main .primary:hover,.sb-app-top-create:hover{background:#11482f}
.main input,.main textarea,.main select{border:1px solid #dae6df;border-radius:11px;background:#fff}
/* Dashboard layout */
.sbp-screen{width:100%;min-width:0;padding-bottom:60px}
.sbp-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 23px}
.sbp-kicker{font-size:10px;font-weight:800;letter-spacing:.14em;color:#6c9d7d;display:block;margin-bottom:7px}
.sbp-heading h1{font:700 clamp(30px,2.8vw,41px)/1.14 'Playfair Display',Georgia,serif;margin:0 0 9px;letter-spacing:-.025em;color:#172c20}
.sbp-wave{color:#70ac83;font-size:25px;vertical-align:middle}
.sbp-heading p{font-size:13px;line-height:1.5;color:#849489;margin:0}
.sbp-new{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:45px;padding:11px 18px!important;white-space:nowrap;font-size:12px}.sbp-new .svg-icon{width:18px;height:18px;filter:brightness(0) invert(1)}
.sbp-search-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}
.sbp-search{position:relative;width:min(460px,100%);margin:0!important;z-index:12;display:flex;align-items:center;gap:9px;border:1px solid #e0eae3;border-radius:12px;background:#fff;padding:0 13px;box-shadow:0 4px 14px #112d1b06}
.sbp-search input{font-size:12px;border:0!important;background:transparent!important;padding:13px 2px!important;width:100%!important;box-shadow:none!important;outline:none!important}
.sbp-search .svg-icon{width:17px;height:17px;opacity:.65;flex-shrink:0}
.sbp-search .search-results{left:0;right:0;top:calc(100% + 5px)}
.sbp-today-pill{display:inline-flex;gap:8px;align-items:center;white-space:nowrap;color:#486753;background:#fff;border:1px solid #e4eee7;border-radius:11px;padding:10px 14px;font-size:11px;font-weight:700;text-transform:capitalize}
.sbp-today-pill .svg-icon{width:17px;height:17px}
.sbp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.sbp-stat{min-width:0;text-align:left;display:flex;align-items:flex-start;gap:13px;padding:19px 15px;border:1px solid #e4eee7;border-radius:16px;background:#fff;cursor:pointer;box-shadow:0 6px 22px #16422a05;min-height:122px;transition:transform .2s,box-shadow .2s}
.sbp-stat:hover{transform:translateY(-2px);box-shadow:0 9px 25px #16422a0b}
.sbp-stat-icon{width:41px;height:41px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:#eaf6ed;color:#236b47}
.sbp-stat-icon .svg-icon{width:20px;height:20px}
.sbp-stat-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.sbp-stat-copy strong{font-size:clamp(19px,1.7vw,26px);font-weight:800;letter-spacing:-.045em;color:#172b20;line-height:1.35;overflow-wrap:anywhere}
.sbp-stat-copy>span{font-size:11px;font-weight:700;color:#496153;line-height:1.4}
.sbp-stat-copy small{font-size:10px;color:#849589;line-height:1.4}
.sbp-content{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.92fr);gap:17px;align-items:start}
.sbp-left,.sbp-right{min-width:0;display:grid;gap:17px}
.sbp-panel{min-width:0;border:1px solid #e4eee7;border-radius:18px;background:#fff;padding:21px;box-shadow:0 6px 23px #123f2405}
.sbp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 21px}
.sbp-panel-head h2{font-size:18px;letter-spacing:-.02em;color:#193227;font-weight:800;margin:0}
.sbp-view-link{background:transparent;border:0;padding:7px 0;color:#1d6b46;cursor:pointer;font-size:11px;white-space:nowrap;font-weight:750}
.sbp-view-link:hover{text-decoration:underline}
.sbp-week-head{display:flex;align-items:center;gap:10px;border-top:1px solid #f1f5f2;padding-top:17px;margin-bottom:13px}
.sbp-week-head strong{text-align:center;font-size:12px;flex:1;text-transform:capitalize;color:#314d3d}
.sbp-week-arrow{border:1px solid #e5eee7;background:#fff;border-radius:9px;min-width:31px;min-height:31px;font-size:21px;cursor:pointer;color:#3b654d}
.sbp-week-today{border:0;border-radius:8px;color:#246347;background:#edf7ef;padding:8px 11px;font-size:11px;font-weight:750;cursor:pointer}
.sbp-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:22px}
.sbp-day{display:grid;justify-items:center;align-content:center;gap:4px;background:#f8fbf9;border:1px solid #e8f0ea;border-radius:11px;min-height:74px;padding:8px 2px;cursor:pointer;color:#65786a}
.sbp-day span{font-size:10px;text-transform:capitalize}.sbp-day strong{font-size:16px;line-height:1.4}.sbp-day i{height:4px;width:4px;border-radius:50%;background:#70aa83}.sbp-day i.blank{background:transparent}
.sbp-day.selected{background:#185b40;border-color:#185b40;color:#fff;box-shadow:0 8px 16px #185b4022}.sbp-day.selected i{background:#d7f7e0}
.sbp-day-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:11px}.sbp-day-caption span{text-transform:capitalize;color:#253c2e;font-size:12px;font-weight:750}.sbp-day-caption small{font-size:10px;color:#9aaba0}
.sbp-day-list{display:grid;gap:9px;min-height:210px;align-content:start}
.sbp-event{border:0;width:100%;display:flex;align-items:center;gap:11px;min-width:0;text-align:left;border-radius:12px;padding:13px;background:#edf8f0;border-left:3px solid #badfc5;cursor:pointer;color:#223e2f;transition:filter .15s}
.sbp-event:hover{filter:brightness(.97)}
.sbp-event-1{background:#fff6eb;border-color:#eacfa8}.sbp-event-2{background:#edf4ff;border-color:#bfcef0}.sbp-event-3{background:#fff0f3;border-color:#e9bccb}
.sbp-event-avatar{width:34px;height:34px;border-radius:50%;background:#d4eadb;color:#1b6243;flex-shrink:0;display:grid;place-items:center;font-size:11px;font-weight:850}
.sbp-event-1 .sbp-event-avatar{background:#f3dfc7;color:#8c5524}.sbp-event-2 .sbp-event-avatar{background:#dce5fb;color:#446ba4}.sbp-event-3 .sbp-event-avatar{background:#f3dbe4;color:#954d64}
.sbp-event-info{display:grid;gap:4px;min-width:0;flex:1}.sbp-event-info strong{font-size:11px;font-weight:800;color:#22362b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sbp-event-info small{font-size:10px;color:#67796d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sbp-event-meta{font-size:10px;color:#647667;flex-shrink:0}.sbp-event-arrow{font-size:20px;color:#91a394;flex-shrink:0}
.sbp-panel-footer{text-align:right;margin-top:16px;padding-top:13px;border-top:1px solid #edf3ef}
.sbp-empty{background:#f8fbf9;border-radius:12px;padding:23px 14px;display:grid;justify-items:center;align-content:center;gap:8px;text-align:center;min-height:165px}
.sbp-empty span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e7f2e9;color:#23674c}.sbp-empty strong{font-size:13px;color:#43604d}.sbp-empty p{margin:0;color:#7e9084;font-size:11px;line-height:1.5}
.sbp-recent .sbp-panel-head{margin-bottom:14px}.sbp-recent-list{display:grid;gap:9px}
.sbp-recent-wrapper{padding-bottom:9px;border-bottom:1px solid #edf2ee}.sbp-recent-wrapper:last-child{padding-bottom:0;border-bottom:0}
.sbp-recent .sbp-event{background:transparent;border:0;border-radius:8px;padding:9px 2px}
.sbp-recent .sbp-event-avatar{background:#e4f2e8}.sbp-recent .sbp-event-meta{color:#36714d;background:#eef8ef;border-radius:7px;padding:6px}
.sbp-revenue{min-height:290px}.sbp-revenue-number{display:block;font-size:clamp(26px,2.6vw,37px);font-weight:800;letter-spacing:-.04em;margin:10px 0 3px;color:#1e3227}
.sbp-revenue-sub{font-size:11px;color:#829588;display:block;margin-bottom:14px}
.sbp-bars{height:138px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;border-bottom:1px solid #e6eee8;padding:0 2px 0}
.sbp-bar-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;min-width:0}
.sbp-bar-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;min-height:0}
.sbp-bar-fill{width:min(100%,28px);border-radius:5px 5px 0 0;background:#b8d9c3;min-height:0}.sbp-bar-fill.active{background:#236d4c}
.sbp-bar-col small{font-size:9px;color:#87988d;text-transform:capitalize;padding-bottom:6px}.sbp-chart-empty{font-size:11px;color:#829388;line-height:1.5;padding:27px 0}.sbp-revenue-note{font-size:10px;color:#92a398;line-height:1.5;display:block;margin-top:15px}
.sbp-quick{padding:7px 0 0}.sbp-quick-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:13px}.sbp-quick-title h3{font-size:15px;margin:0;color:#23412d}.sbp-quick-title span{font-size:10px;color:#91a195}
.sbp-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.sbp-quick-grid button{min-height:65px;background:#fff;border:1px solid #e5eee8;border-radius:13px;text-align:left;display:flex;align-items:center;gap:7px;padding:10px;cursor:pointer;color:#395a46;font-size:11px;font-weight:700}
.sbp-quick-grid button>span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#edf7ef;flex-shrink:0}.sbp-quick-grid .svg-icon{width:15px;height:15px}.sbp-quick-grid b{color:#5c9976;margin-left:auto}
.sbp-quick-grid button:hover{background:#f5faf6}
/* Tablet: responsive bento */
@media(max-width:1250px){.sbp-content{grid-template-columns:minmax(0,1fr) minmax(275px,.88fr)}.sbp-stat{flex-direction:column;gap:10px}.sbp-stats{gap:9px}.sbp-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1080px){.shell{grid-template-columns:225px minmax(0,1fr)!important}.main{padding:0 20px 35px!important}.side{padding:24px 12px}.side .nav button{gap:9px;padding:12px 10px}.sbp-content{grid-template-columns:1fr}.sbp-right{grid-template-columns:1fr 1fr}.sbp-stat{padding:14px;min-height:109px}.sbp-stat-copy strong{font-size:21px}.sbp-revenue{min-height:auto}}
@media(max-width:800px){
 html{scrollbar-gutter:auto}.shell{display:block!important}.main{padding:0 15px 20px!important;overflow-x:clip!important}.side{display:none!important}
 .sb-app-topbar{position:relative;height:65px;margin-bottom:18px;border-bottom:1px solid #e7eee8;gap:10px}
 .sb-app-mobile-logo{display:flex;min-width:0;flex:1;align-items:center}.sb-app-mobile-logo img{width:143px;height:36px;object-fit:contain;object-position:left center}
 .sb-app-top-business{display:none}.sb-app-top-controls{gap:10px}.sb-app-top-create{display:none}.sb-app-top-profile{height:35px;width:35px}.sb-app-top-icon{height:37px;width:37px}
 .sbp-heading{margin-bottom:17px;align-items:flex-start}.sbp-heading h1{font-size:clamp(26px,7.5vw,35px)}.sbp-heading p{font-size:11px}.sbp-new{display:none}
 .sbp-search-row{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-bottom:14px}.sbp-search{width:100%;max-width:none}.sbp-today-pill{display:none}
 .sbp-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}.sbp-stat{flex-direction:row;min-height:93px;gap:10px;padding:13px 11px}.sbp-stat-icon{width:34px;height:34px;border-radius:10px}.sbp-stat-icon .svg-icon{width:17px;height:17px}.sbp-stat-copy strong{font-size:clamp(17px,5vw,23px)}.sbp-stat-copy>span{font-size:10px}.sbp-stat-copy small{font-size:9px}
 .sbp-content,.sbp-right{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.sbp-panel{padding:15px;border-radius:15px}.sbp-panel-head h2{font-size:16px}.sbp-panel-head{margin-bottom:15px}
 .sbp-week-strip{gap:5px;margin-bottom:16px}.sbp-day{min-height:63px;padding:7px 1px}.sbp-day strong{font-size:14px}.sbp-day span{font-size:9px}.sbp-day-caption{align-items:center}.sbp-day-caption span{font-size:11px}.sbp-day-list{min-height:190px}.sbp-recent .sbp-event{padding:8px 0}
 .sbp-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sbp-quick-title span{display:none}
 .mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;padding:8px 5px calc(8px + env(safe-area-inset-bottom))!important;box-shadow:0 -6px 24px #17432b10!important;border-top:1px solid #e4eee7!important}
 .mobile-nav button{color:#76897b!important;min-height:48px!important}.mobile-nav button.active{color:#186342!important}.mobile-nav .svg-icon{width:21px;height:21px}
 .mobile-nav .sb-mobile-quick-add{display:grid!important;align-content:center;justify-items:center;gap:1px;background:transparent!important;color:#185b40!important;padding:0 0 2px!important}
 .mobile-nav .sb-mobile-quick-add>span{width:42px;height:42px;display:grid;place-items:center;background:#185b40;border-radius:50%;box-shadow:0 5px 12px #14523539;margin-top:-15px}
 .mobile-nav .sb-mobile-quick-add>span .svg-icon{filter:brightness(0) invert(1);width:24px;height:24px}
 .mobile-nav .sb-mobile-quick-add small{font-size:9px;color:#185b40;font-weight:700}
 .sb-mobile-more:not([hidden]){bottom:calc(67px + env(safe-area-inset-bottom))!important}
 body{padding-bottom:calc(89px + env(safe-area-inset-bottom))!important}
 .main .top h1{font-size:29px}
}
@media(max-width:400px){.main{padding:0 12px 20px!important}.sbp-stat{padding:11px 9px}.sbp-stat-copy small{display:none}.sbp-stat-icon{width:31px;height:31px}.sbp-panel{padding:12px}.sbp-week-strip{gap:3px}.sbp-day{border-radius:8px}.sbp-event{padding:11px 8px;gap:8px}.sbp-event-avatar{width:30px;height:30px}.sbp-event-meta{font-size:9px}.sbp-event-arrow{display:none}}
/* Accessibility */
.sbp-screen button:focus-visible,.sb-app-topbar button:focus-visible{outline:3px solid #74b38f;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.sbp-stat,.sbp-event,.side .nav button{transition:none}}
