:root{--shell:#f4f6f8;--ground:#fcfdfe;--line:#e2e6ea;--ink:#1e2530;--muted:#616a78;--accent:#c9854d;--green:#49735e;--side:244px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0!important;background:var(--ground)!important;color:var(--ink)!important;font-family:Inter,system-ui,sans-serif!important;font-size:14px;-webkit-font-smoothing:antialiased}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:3px solid #c9854d;outline-offset:3px}
button:disabled{cursor:not-allowed}
.skip-link{position:fixed;top:-60px;left:20px;z-index:150;background:#fff;padding:12px}
.skip-link:focus{top:12px}
.preview-ribbon{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#f7f4ee;border-bottom:1px solid #e2e6ea;position:relative;z-index:55;color:#3b4654;font-size:12px}
.preview-ribbon>span:first-child{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.12em;font-weight:600}
.preview-ribbon i{width:5px;height:5px;background:var(--accent);border-radius:50%}
.preview-ribbon button{border:0;background:transparent;color:#995821;font-size:12px;min-height:36px;padding:0 5px}
.preview-ribbon>span:nth-child(2){opacity:.9}
#sidebar{position:fixed;top:36px;bottom:0;left:0;width:var(--side);background:var(--shell);border-right:1px solid var(--line);z-index:45;display:flex;flex-direction:column;padding:26px 17px 16px}
.brand{display:flex;align-items:center;gap:12px;padding:0 13px 28px;text-decoration:none}
.brand img{width:98px;height:auto;max-height:32px;object-fit:contain}
.brand>span{font-size:9px;letter-spacing:.12em;color:#616a78;border-left:1px solid #e2e6ea;padding-left:10px}
.business{display:flex;align-items:center;gap:11px;padding:15px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.business-icon{width:37px;height:40px;background:#e8edf2;border:1px solid #e2e6ea;border-radius:10px;display:grid;place-items:center;font:24px Georgia,serif;color:#3b4654;flex-shrink:0}
.business strong{font-size:12px;font-weight:600}
.business small{display:block;color:#616a78;font-size:10px;margin-top:4px}
.search-trigger{display:flex;gap:8px;align-items:center;background:#e8edf2;border:1px solid #e2e6ea;border-radius:8px;font:11px Inter,system-ui;color:#616a78;padding:10px 8px;min-height:40px;width:100%;text-align:left}
.search-trigger>span{font-size:21px}
.search-trigger kbd{font:10px Inter,system-ui;margin-left:auto;white-space:nowrap;color:#616a78}
#nav-slot{overflow:auto;flex:1;scrollbar-width:thin;margin-top:20px;min-height:0}
#main-nav{display:flex;flex-direction:column;gap:3px}
.nav-group{font-size:10px;font-weight:600;letter-spacing:.12em;color:#616a78;margin:17px 13px 6px}
.nav-group:first-child{margin-top:0}
#main-nav .tab{color:#3b4654;display:flex;width:100%;border-radius:8px;padding:10px 13px;gap:12px;min-height:42px;font-size:12px;line-height:1.3;font-weight:500;text-align:left;transition:background .15s,color .15s}
#main-nav .tab:hover{background:#e8edf2;color:#1e2530}
#main-nav .tab.on{background:#e8edf2;color:#1e2530}
#main-nav .tab.on::after{content:'';width:5px;height:5px;border-radius:50%;background:#c9854d;margin-left:auto}
svg.nav-icon{width:17px;height:17px;stroke:currentColor;stroke-width:1.55;fill:none;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}
.sidebar-foot{display:flex;gap:9px;padding:16px 11px;margin-top:14px;border-top:1px solid var(--line);align-items:center}
.live-dot{width:7px;height:7px;background:#6b917a;border-radius:50%;box-shadow:0 0 0 4px #e4eade;flex-shrink:0}
.sidebar-foot strong{display:block;font-size:10px;font-weight:500;color:#586c58}
.sidebar-foot small{display:block;font-size:10px;color:#616a78;margin-top:4px}
.profile{display:flex;align-items:center;gap:9px;padding:10px;border-radius:9px;border:1px solid #e2e6ea;background:#f4f6f8}
.profile>span{width:30px;height:30px;background:#e8edf2;border-radius:50%;display:grid;place-items:center;color:#3b4654;font-size:10px}
.profile strong{font-size:10px;font-weight:600}
.profile small{display:block;font-size:9px;color:#616a78;margin-top:2px}
.workspace-header{margin-left:var(--side);height:70px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(252,253,254,.96);position:sticky;top:0;z-index:40;gap:14px}
.workspace-header>div{display:flex;align-items:center;gap:10px}
.breadcrumb{color:#616a78;font-size:12px}
.breadcrumb>span{padding:0 13px;color:#98a2b1}
.breadcrumb b{color:#3b4654;font-weight:500}
.header-actions{gap:18px!important}
.icon-button{width:40px;height:40px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:#616a78;font-size:22px;flex-shrink:0}
.simulation-control{display:flex;align-items:center;gap:8px;font:11px Inter,system-ui;background:transparent;border:0;color:#616a78;min-height:40px;white-space:nowrap}
.simulation-control>span{font-size:16px}
.simulation-control[aria-pressed=true]{color:#427258}
#menu-open,#menu-close{display:none}
#app{margin-left:var(--side);width:calc(100% - var(--side));max-width:none;padding:38px 38px 60px}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:29px;border-bottom:1px solid var(--line);margin-bottom:26px}
.eyebrow{color:#995821;letter-spacing:.15em;font-size:10px;font-weight:600;margin:0 0 13px}
#page-title{font-family:Fraunces,Georgia,serif;font-size:38px;font-weight:400;line-height:1.15;letter-spacing:-1.5px;color:#1e2530;margin:0}
#page-subtitle{margin:10px 0 0;font-size:12px;color:#616a78;line-height:1.7}
.heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:13px;flex-shrink:0}
.heading-actions>p{font-size:10px;color:#616a78;text-transform:capitalize}
.heading-actions>div{display:flex;gap:9px}
.btn{border-radius:8px!important;padding:10px 16px;min-height:40px!important;font-size:12px;font-weight:500;line-height:1.5;box-shadow:none;transition:background .18s,border-color .18s}
.btn-p{background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent)!important}
.btn-p:hover{background:#dda06a!important}
.btn-s{background:#fff!important;color:#3b4654!important;border:1px solid #e2e6ea!important}
.btn-s:hover{background:#f3f0e9!important}
.btn-d{background:#1e2530!important}
.btn-p:disabled{opacity:.38}
.mini{font-size:11px;min-height:36px!important;padding:7px 12px}
.float,.floatlg{box-shadow:none!important}
.rounded-2xl,.rounded-3xl{border-radius:12px!important}
.border-rule{border-color:var(--line)!important}
.bg-paper{background:#f4f6f8!important}
.text-mute{color:#616a78!important}
.text-ink{color:#1e2530!important}
.font-display{font-family:Inter,system-ui,sans-serif!important;font-weight:500!important;letter-spacing:-.03em}
.text-xl.font-display{font-size:16px!important}
.text-lg.font-display{font-size:14px!important}
.text-3xl.font-display{font-size:29px!important}
.text-sm{font-size:12px;line-height:1.65}
.text-xs{font-size:11px;line-height:1.6}
[data-vista]{margin-top:0!important}
.metrics-grid{gap:0!important;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;margin-bottom:24px}
.metrics-grid>div{border:0!important;border-radius:0!important;border-right:1px solid var(--line)!important;padding:22px 24px!important;position:relative}
.metrics-grid>div:last-child{border:0!important;background:#f4f6f8}
.metrics-grid>div>p:first-of-type{font-size:10px;color:#616a78;letter-spacing:.02em;text-transform:none;font-weight:500}
.metrics-grid>div>p:nth-of-type(2){font-family:Inter,system-ui!important;font-size:32px!important;letter-spacing:-1.4px;font-weight:500!important;color:#1e2530!important;margin-top:12px}
.metrics-grid>div>p:nth-of-type(3){font-size:10px;margin-top:6px;color:#616a78!important}
.metric-icon{position:absolute;top:20px;right:21px;color:#616a78}
.metric-icon svg{width:17px;height:17px}
.overview-analysis{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(255px,1fr);gap:20px;margin-bottom:20px}
.chart-panel,.focus-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;min-width:0}
.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.panel-title h2,.focus-panel h2{font-size:14px;font-weight:500;letter-spacing:-.02em;margin:0;color:#1e2530}
.panel-title p{font-size:10px;color:#616a78;margin:7px 0 0}
.period-pill{font-size:10px;color:#616a78;border:1px solid #e2e6ea;border-radius:6px;padding:6px 9px;white-space:nowrap}
.chart-total{font-size:26px;letter-spacing:-1px;margin-top:20px;color:#1e2530}
.chart-total small{font-size:10px;color:#616a78;margin-left:9px;letter-spacing:0}
.bar-chart{height:136px;display:flex;gap:15px;align-items:flex-end;padding:0 5px;margin-top:18px;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#e2e6ea 39px,#e2e6ea 40px)}
.bar-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;height:100%;position:relative}
.bar-fill{width:65%;max-width:35px;border-radius:5px 5px 0 0;background:#e8edf2;min-height:3px;position:relative}
.bar-day:last-child .bar-fill{background:#c9854d}
.bar-day .bar-value{opacity:0;font-size:9px;background:#1e2530;color:white;border-radius:5px;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);padding:4px 6px;white-space:nowrap;pointer-events:none}
.bar-day:hover .bar-value,.bar-day:focus .bar-value{opacity:1}
.bar-labels{display:flex;gap:15px;padding:9px 5px 0}
.bar-labels span{flex:1;text-align:center;font-size:9px;color:#616a78}
.chart-caption{font-size:10px;color:#616a78;margin:17px 0 0}
.focus-panel{background:#f4f6f8}
.focus-panel .eyebrow{font-size:9px;margin:0 0 10px}
.focus-panel h2{font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-.7px;line-height:1.25}
.focus-intro{color:#616a78;font-size:11px;line-height:1.65;margin:10px 0 16px}
.focus-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #e2e6ea;color:#3b4654;font-size:11px}
.focus-row .focus-count{font-size:18px;color:#5c684a;min-width:30px;font-family:Fraunces,Georgia,serif}
.focus-row button{margin-left:auto;border:0;background:none;color:#995821;font-size:19px;min-width:36px;min-height:36px}
.focus-row small{display:block;font-size:10px;color:#616a78;margin-top:3px}
#alerta-stock{background:#f7f4ee!important;border-color:#e6c4a8!important;padding:14px 18px!important;display:flex;align-items:center;gap:14px;margin:0 0 20px!important}
#alerta-stock.hidden{display:none!important}
#alerta-stock>p:first-child{font-size:12px;white-space:nowrap}
#alerta-stock-lista{font-size:11px;margin:0!important;flex:1}
#alerta-stock .btn{margin:0!important;white-space:nowrap}
[data-vista=hoy]>.lg\:grid-cols-2{gap:20px}
#hoy-citas>div,#hoy-ventas>div{background:#fff!important;border-radius:0!important;border:0!important;border-bottom:1px solid #e2e6ea!important;padding:14px 0!important}
#hoy-citas>div:last-child,#hoy-ventas>div:last-child{border:0!important}
#hoy-citas .text-sm,#hoy-ventas .text-sm{font-size:12px}
#hoy-citas .text-xs,#hoy-ventas .text-xs{font-size:10px}
#hoy-citas .font-display,#hoy-ventas .font-display{font-size:13px}
.chip{font-size:9px;letter-spacing:.02em;text-transform:none;font-weight:500;padding:3px 7px}
.chip-ok{background:#edf3e8;color:#648052}
.chip-esp{background:#f7f4ee;color:#995821}
.chip-no{background:#faeeee;color:#aa6460}
.campo{border-color:#e2e6ea;background:#fff;border-radius:8px!important;font-size:13px!important;padding:10px 12px;min-height:42px;box-shadow:none!important}
.campo:focus{border-color:#995821;outline:2px solid #f7f4ee;outline-offset:1px}
.etq{font-size:11px;color:#3b4654;font-weight:500}
table.t th{font-size:10px;color:#616a78;padding:14px 12px;background:#fcfdfe;font-weight:500;letter-spacing:.04em}
table.t td{font-size:12px;padding:15px 12px;border-color:#f4f6f8}
table.t tr:hover td{background:#fcfdfe}
.tabla-wrap{border:1px solid #e8edf2;border-radius:10px}
.ef td{font-size:12px;padding:9px 5px}
.ef tr.gr td{font-size:10px}
.ef tr.grande td{font-family:Inter,system-ui;font-size:15px}
.tab:not([data-v]){border-radius:7px;font-size:11px;padding:8px 12px;min-height:38px}
.tab.on:not([data-v]){background:#e8edf2;color:#1e2530}
.tabs:not(#main-nav){gap:4px}
.bp-sub{font-size:12px!important;min-height:40px!important}
.bp-marco{height:calc(100dvh - 280px);min-height:480px;border-color:var(--line);border-radius:12px}
.bp-pr-caja{border-color:var(--line)!important}
#bp-chat{background:#f4f6f8}
.bp-glo-bot{background:#e9efdf;color:#45523b}
.bp-pr-barra{background:#f4f6f8!important}
.tl-quien{background:#fcfdfe!important}
.tl-horas .tl-pista{background:#f4f6f8}
.tl-cita{background:#f7f4ee;border-color:#e6c4a8;color:#995821}
.tl-atendida{background:#e6eddf;border-color:#d3ddc7;color:#5b7648}
.tl{--alto:76px}
.tl-bloque b{font-size:12px}
.tl-bloque i,.tl-quien span{font-size:11px}
.tl-quien b{font-size:12px}
.tl-pie{font-size:10px}
.tl-hora{font-size:10px}
.modal-fondo{z-index:90;background:rgba(30,37,48,.3);backdrop-filter:blur(5px)}
.modal{border-radius:14px!important;border:1px solid #e2e6ea;box-shadow:0 25px 90px #1e253014}
.modal .font-display{font-family:Fraunces,Georgia,serif!important;font-size:26px!important;font-weight:400!important}
.modal .text-sm{font-size:12px}
.modal .campo{font-size:14px!important}
.modal-pie{background:#fff}
#aviso{position:fixed;bottom:28px;left:calc(var(--side) + 30px);right:30px;z-index:100;max-width:700px;box-shadow:0 8px 40px #1e253014;border:1px solid var(--line);background:#fff}
body>footer{margin-left:var(--side);border-color:var(--line)}
body>footer>div{padding:22px 38px;font-size:10px}
.mobile-dock{display:none}
dialog{border:1px solid #e2e6ea;border-radius:15px;box-shadow:0 30px 100px #1e253033;background:#fcfdfe;color:#1e2530;padding:0;max-height:85dvh;overflow:auto}
dialog::backdrop{background:rgba(30,37,48,.28);backdrop-filter:blur(5px)}
#command-dialog{width:min(590px,92vw)}
.command-top{display:flex;align-items:center;gap:15px;padding:18px;border-bottom:1px solid var(--line)}
.command-top>span{font-size:26px;color:#616a78}
.command-top input{border:0;background:none;outline:0;flex:1;min-width:0;font:14px Inter,system-ui}
.command-result{display:flex;width:100%;border:0;background:transparent;padding:13px 24px;align-items:center;gap:13px;text-align:left;color:#3b4654;min-height:48px}
.command-result:hover,.command-result:focus{background:#e8edf2}
.command-result small{margin-left:auto;color:#616a78;font-size:10px}
.command-hint{font-size:10px;padding:18px 24px;color:#616a78;border-top:1px solid var(--line)}
#command-results{max-height:370px;overflow:auto}
.command-empty{padding:30px;color:#616a78}
#research-dialog{width:min(840px,94vw);padding:38px}
.research-close{float:right}
#research-title{font:42px/1.1 Fraunces,Georgia,serif;letter-spacing:-1.3px;margin:18px 0}
#research-dialog>p:not(.eyebrow){max-width:620px;line-height:1.7;font-size:13px;color:#616a78}
.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:20px 0}
.research-grid article{padding:22px 0;border-top:1px solid var(--line)}
.research-grid span{font-size:9px;letter-spacing:.1em;color:#995821}
.research-grid h3{font-size:16px;letter-spacing:-.5px;margin:12px 0}
.research-grid p{font-size:12px;color:#616a78;line-height:1.7}
.research-grid a{display:inline-flex;min-height:44px;align-items:center;font-size:11px;color:#995821}
.research-note{border-top:1px solid var(--line);padding-top:18px;font-size:11px!important}
.row-card-label{display:none}
.home-action{cursor:pointer}
.home-action:focus{outline:2px solid var(--accent);outline-offset:-3px}
.home-action:hover{background:#fcfdfe}
.section-jump{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.section-jump button{font-size:11px;color:#616a78;border:1px solid #e2e6ea;border-radius:7px;padding:8px 12px;background:#f4f6f8;min-height:38px}
#menu-shade{position:fixed;inset:0;z-index:44;background:#1e253044;backdrop-filter:blur(3px)}
#menu-shade[hidden]{display:none}

@media(min-width:1500px){#app{padding:46px 64px}
.workspace-header{padding:0 64px}
.overview-analysis{grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr)}
.metrics-grid>div{padding:26px 30px!important}
.bar-chart{height:166px}
}

@media(max-width:1100px){:root{--side:218px}
#sidebar{padding:24px 12px 12px}
.brand{padding-left:8px;gap:7px}
.brand img{width:88px}
.brand>span{font-size:8px;padding-left:7px}
.business{gap:8px}
.business strong{font-size:11px}
#app{padding:28px 24px 50px}
.workspace-header{padding:0 24px}
.page-heading{gap:16px}
#page-title{font-size:32px}
.heading-actions .btn{font-size:11px;padding:9px 12px}
.metrics-grid>div{padding:18px 16px!important}
.metrics-grid>div>p:nth-of-type(2){font-size:28px!important}
.metric-icon{right:14px;top:15px}
.overview-analysis{grid-template-columns:1.45fr 1fr;gap:14px}
.chart-panel,.focus-panel{padding:20px}
.preview-ribbon{padding:0 20px}
.search-trigger{font-size:10px}
.search-trigger kbd{display:none}
#hoy-citas .flex,#hoy-ventas .flex{flex-wrap:wrap}
#alerta-stock{flex-wrap:wrap}
}

@media(max-width:850px){:root{--side:0px}
.preview-ribbon{padding:0 16px;height:34px}
.preview-ribbon>span:nth-child(2){display:none}
.preview-ribbon>span:first-child{font-size:9px}
.preview-ribbon button{font-size:11px}
#sidebar{width:270px;transform:translateX(-100%);transition:transform .2s ease;top:0;z-index:80;padding-top:25px}
body.menu-visible #sidebar{transform:translateX(0)}
body.menu-visible{overflow:hidden}
#menu-close{display:grid;margin-left:auto;border:0;background:none}
#menu-shade{z-index:75}
#menu-open{display:grid;background:none;border:0}
.workspace-header{padding:0 15px;height:59px;gap:6px}
.breadcrumb{font-size:11px}
.breadcrumb>span{padding:0 7px}
.header-actions{gap:6px!important}
.simulation-control{font-size:10px;gap:6px}
.header-actions>.icon-button{width:34px;height:38px;background:transparent;border:0}
#app{padding:26px 20px 85px}
.page-heading{align-items:flex-start;gap:12px;padding-bottom:22px;margin-bottom:22px}
#page-title{font-size:32px}
.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:10px}
#page-subtitle{font-size:11px;margin-top:8px}
.heading-actions>p{font-size:9px}
.heading-actions{gap:9px}
.mobile-dock{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:stretch;z-index:50;background:#fcfdfef5;backdrop-filter:blur(12px);border-top:1px solid #e2e6ea;padding:7px 8px calc(7px + env(safe-area-inset-bottom));gap:5px}
.mobile-dock button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;border:0;border-radius:8px;background:transparent;color:#616a78;min-height:49px;padding:4px}
.mobile-dock button.on{background:#e8edf2;color:#995821}
.mobile-dock svg{width:19px;height:19px}
.mobile-dock button:nth-child(3){color:#fff;background:#c9854d}
.mobile-dock button:nth-child(3).on{background:#dda06a}
body>footer{margin-left:0;margin-bottom:70px}
#aviso{left:16px;right:16px;bottom:80px}
.business strong{font-size:13px}
.business small{font-size:11px}
.brand>span{font-size:10px}
.search-trigger{font-size:12px}
#main-nav .tab{font-size:13px;min-height:44px}
.nav-group{font-size:11px}
.sidebar-foot strong,.profile strong{font-size:11px}
.sidebar-foot small,.profile small{font-size:10px}
.btn,.mini,.tab,.bp-sub,.focus-row button{min-height:44px!important}
.icon-button{min-width:44px;min-height:44px}
.search-trigger{min-height:44px}
.bar-labels span{font-size:10px}
}

@media(max-width:600px){.workspace-header .breadcrumb{font-size:11px}
.breadcrumb{white-space:nowrap}
.breadcrumb>span{padding:0 6px}
.header-actions{margin-left:auto}
.simulation-control{font-size:0;gap:0;min-width:44px;min-height:44px}
.simulation-control>span{font-size:22px}
.header-actions>.icon-button{display:none}
#app{padding:23px 16px 50px}
.page-heading{display:block;position:relative;margin-bottom:20px;padding-bottom:20px}
#page-title{font-size:33px;letter-spacing:-1.25px}
#page-subtitle{font-size:12px;max-width:300px;line-height:1.6}
.heading-actions{align-items:flex-start;margin-top:17px}
.heading-actions>p{font-size:11px;order:2;color:#616a78;margin-top:3px}
.heading-actions>div{width:100%;gap:8px}
.heading-actions .btn{font-size:12px;min-height:44px!important}
.heading-actions .btn-p{flex:1}
.heading-actions .btn-s{flex:1}
.metrics-grid{display:grid!important;grid-template-columns:1fr 1fr!important;margin-bottom:17px}
.metrics-grid>div{padding:18px 17px!important;min-height:134px;border-bottom:1px solid var(--line)!important}
.metrics-grid>div:nth-child(2){border-right:0!important}
.metrics-grid>div:nth-child(3){border-bottom:0!important}
.metrics-grid>div>p:first-of-type{font-size:11px;padding-right:16px}
.metrics-grid>div>p:nth-of-type(2){font-size:29px!important;margin-top:12px}
.metrics-grid>div>p:nth-of-type(3){font-size:11px;line-height:1.45}
.metric-icon{right:13px;top:18px}
.metric-icon svg{width:14px;height:14px}
.overview-analysis{grid-template-columns:1fr;gap:15px;margin-bottom:16px}
.chart-panel,.focus-panel{padding:20px}
.panel-title h2{font-size:14px}
.panel-title p,.period-pill,.chart-caption{font-size:11px}
.chart-total{font-size:29px;margin-top:16px}
.chart-total small{font-size:10px}
.bar-chart{height:130px}
.bar-labels span{font-size:10px}
.focus-panel h2{font-size:26px}
.focus-intro,.focus-row{font-size:12px}
.focus-row small{font-size:11px}
.focus-panel .eyebrow{font-size:10px}
.focus-row{padding:10px 0}
.focus-row:last-child{padding-bottom:0}
#alerta-stock{padding:15px!important;gap:8px;align-items:flex-start}
#alerta-stock>p:first-child{font-size:13px;width:100%}
#alerta-stock-lista{font-size:12px;line-height:1.65}
#alerta-stock .btn{width:100%;margin-top:7px!important}
#hoy-citas .text-sm,#hoy-ventas .text-sm{font-size:13px}
#hoy-citas .text-xs,#hoy-ventas .text-xs{font-size:12px}
.chip{font-size:11px;white-space:normal}
.text-xs{font-size:12px!important}
.text-sm{font-size:13px!important}
.campo{font-size:16px!important;min-height:46px!important;padding:11px 12px}
.etq{font-size:12px}
.text-xl.font-display{font-size:17px!important}
.text-lg.font-display{font-size:15px!important}
.p-5,.sm\:p-6{padding:18px}
.mini{font-size:12px!important;padding:8px 12px}
.tab:not([data-v]){font-size:12px;padding:8px 11px}
table.t th{font-size:11px}
table.t td{font-size:13px}
.mobile-cards,.mobile-cards tbody,.mobile-cards tr,.mobile-cards td{display:block!important;min-width:0!important;width:100%!important}
.mobile-cards thead{display:none}
.mobile-cards tr{padding:14px 12px;border-bottom:1px solid var(--line)}
.mobile-cards tr:last-child{border:0}
.mobile-cards td{padding:5px 0!important;border:0!important;text-align:left!important;position:static!important;white-space:normal!important}
.mobile-cards .row-card-label{display:inline-block;width:40%;color:#616a78;font-size:11px;vertical-align:top;padding-right:8px}
.mobile-cards td:first-child{font-size:14px;font-weight:500;margin-bottom:6px}
.mobile-cards td:first-child .row-card-label{display:none}
.mobile-cards td:first-child+td .row-card-label{display:inline-block}
.mobile-cards tfoot{display:block}
.mobile-cards tfoot tr{background:#f4f6f8}
#cl-cuerpo .tabla-wrap,#in-cuerpo .tabla-wrap,#as-cuerpo .tabla-wrap,#no-pagos .tabla-wrap{border:0}
[data-vista=clientes]>section>div:first-child,[data-vista=inventario] section>div:first-child{flex-wrap:wrap!important;gap:16px!important}
[data-vista=clientes]>section>div:first-child>div:last-child{flex-direction:row!important;width:100%}
[data-vista=clientes]>section>div:first-child>div:last-child>button{flex:1}
[data-vista=agenda] .tabs{width:100%;justify-content:space-between}
[data-vista=agenda] .tabs .tab{flex:1;justify-content:center;padding:8px}
.tl-bloque{min-height:56px}
.tl-quien b{font-size:12px}
.tl-hora,.tl-quien span,.tl-pie,.tl-bloque i{font-size:12px}
#cj-resumen{grid-template-columns:1fr!important}
#cj-resumen>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ef td{font-size:13px}
.ef tr.gr td{font-size:12px}
.ef tr.grande td{font-size:16px}
.bp-marco{height:65dvh;min-height:450px}
.bp-pr-barra{flex-wrap:wrap}
.bp-pr-barra .btn{font-size:11px}
.bp-pr-escribir{flex-wrap:nowrap;padding:10px;gap:8px}
#bp-dice{min-width:0}
.modal{padding:22px 18px;border-radius:16px 16px 0 0!important}
.modal-pie{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}
.modal .campo{font-size:16px!important}
body>footer>div{padding:20px 16px;flex-wrap:wrap}
.section-jump{gap:6px}
.section-jump button{font-size:12px;min-height:44px}
#research-dialog{padding:25px}
#research-title{font-size:35px}
.research-grid{grid-template-columns:1fr}
.research-grid span{font-size:11px}
.research-grid p{font-size:13px}
.research-note{font-size:12px!important}
.command-top{padding:12px;gap:7px}
.command-top input{font-size:16px}
.command-result{padding:12px 17px}
.command-hint{font-size:12px}
.command-result small{font-size:11px}
.modal .grid{min-width:0}
input[type=date],input[type=time]{max-width:100%}
#main-nav .tab{min-height:44px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}

@media print{#sidebar,.workspace-header,.mobile-dock,body>footer{display:none!important}
#impresion{display:block!important}
}


/* Legibilidad: etiquetas operativas nunca debajo de 12px. */
.preview-ribbon>span:first-child,.preview-ribbon button,.search-trigger,#main-nav .tab,.business small,.sidebar-foot strong,.sidebar-foot small,.profile strong,.profile small,.breadcrumb,.simulation-control,.heading-actions>p,.eyebrow,.nav-group,.text-xs,.chip,.metrics-grid>div>p:first-of-type,.metrics-grid>div>p:nth-of-type(3),.panel-title p,.period-pill,.chart-caption,.chart-total small,.bar-labels span,.focus-panel .eyebrow,.focus-intro,.focus-row,.focus-row small,.etq,.mini,table.t th,.section-jump button{font-size:12px}
.brand>span{font-size:10px}
.business strong{font-size:13px}
.profile{gap:7px}
.profile strong{font-size:11px}
.profile small{font-size:10px}
.sidebar-foot{padding-left:8px}
.sidebar-foot strong{font-size:11px}
.sidebar-foot small{font-size:10px}
.search-trigger{font-size:11px}
.metrics-grid>div>p:first-of-type{padding-right:14px}
.metric-icon{top:23px}
.chart-panel .panel-title{flex-wrap:wrap}
.preview-ribbon>span:first-child{font-size:10px}
.nav-group{font-size:10px}
.focus-row .focus-count{min-width:28px}
@media(max-width:600px){.simulation-control{font-size:0}
.metrics-grid>div>p:first-of-type{font-size:12px;padding-right:17px}
.metrics-grid>div>p:nth-of-type(2){font-size:28px!important}
.metric-icon{top:20px}
.metrics-grid>div>p:nth-of-type(3){font-size:11px}
.page-heading{padding-bottom:16px}
.heading-actions{margin-top:13px}
.preview-ribbon>span:first-child{font-size:9px}
.focus-intro,.focus-row{font-size:12px}
.brand>span{font-size:10px}
}


@media(min-width:851px){#sidebar{padding-top:20px}
.brand{padding-bottom:19px}
.business{padding:12px 10px;margin-bottom:13px}
#nav-slot{margin-top:14px}
#main-nav{gap:2px}
#main-nav .tab{min-height:36px;padding:8px 12px}
.nav-group{margin-top:10px;margin-bottom:4px;line-height:14px}
.sidebar-foot{margin-top:8px;padding-top:11px;padding-bottom:11px}
.profile{padding:8px}
.search-trigger{min-height:38px}
}
@media(min-width:851px) and (max-height:800px){.sidebar-foot{display:none}
.brand{padding-bottom:12px}
.business{padding:9px 8px;margin-bottom:10px}
#sidebar{padding-top:16px}
#nav-slot{margin-top:10px}
.nav-group{margin-top:6px}
.profile{margin-top:8px}
}



/* Hostess · official Slate Boutique palette. */
:root{--ink:#1e2530;--paper:#f4f6f8;--canvas:#fcfdfe;--shell:#f4f6f8;--ground:#fcfdfe;--muted:#616a78;--mute:#616a78;--line:#e2e6ea;--rule:#e2e6ea;--accent:#c9854d;--accent-texto:#995821;--on-accent:#1e2530;--accent-soft:#e8edf2;--display:"Helvetica Neue",Helvetica,Arial,sans-serif;--editorial:Fraunces,Georgia,serif}

::selection{background:#c9854d40;color:var(--ink)}

.brand{gap:10px}
.brand img{width:112px;max-height:36px}
.brand>span{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10px;letter-spacing:.12em;color:var(--mute);padding-left:9px}

.business-icon{font-family:var(--display);font-weight:600;font-size:22px;border-color:var(--line)}

.preview-ribbon>span:first-child,.eyebrow,.nav-group,.period-pill{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-weight:500}

.eyebrow{color:var(--accent-texto)}

#page-title{font-family:var(--display);font-weight:700;letter-spacing:-1.3px;color:var(--ink);text-wrap:balance}

.hostess-word{font-family:var(--editorial);font-style:italic;font-weight:500;font-optical-sizing:auto;letter-spacing:-.045em}

.hostess-period{color:var(--accent)}

.font-display,.modal .font-display{font-family:var(--display)!important;font-weight:600!important}

.modal .font-display{font-size:26px!important;letter-spacing:-.8px}

.focus-panel h2{font-family:var(--display);font-weight:600;color:var(--ink);letter-spacing:-.6px}

.focus-row .focus-count{font-family:var(--display);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}

.focus-row{color:var(--ink)}

.panel-title h2{font-family:var(--display);font-size:16px;font-weight:600}

.btn-p{background:var(--accent)!important;color:var(--on-accent)!important;font-weight:600;border-color:var(--accent)!important}

.btn-p:hover{background:#dda06a!important;border-color:#dda06a!important}

.btn-s{color:var(--ink)!important}
.btn-d{background:var(--ink)!important;color:#fff!important}

.text-accent{color:var(--accent-texto)!important}

.bg-accent{color:var(--on-accent)!important}

.metrics-grid>div>p:nth-of-type(2){font-family:var(--display)!important;font-weight:600!important;font-variant-numeric:tabular-nums;color:var(--ink)!important}

.metrics-grid>div:last-child{background:var(--paper);box-shadow:inset 0 3px 0 var(--accent)}

.metric-icon{color:var(--mute)}

.metrics-grid,.chart-panel,.focus-panel{box-shadow:0 1px 2px #1e253006,0 6px 18px #1e253007}

.chart-total{font-family:var(--display);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}

.chart-total small{font-family:Inter,system-ui,sans-serif;font-weight:400}

.bar-fill{background:#b7c1ce}
.bar-day:last-child .bar-fill{background:var(--accent)}

.bar-day .bar-value{background:var(--ink)}

#main-nav .tab.on{color:var(--ink);background:var(--accent-soft);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}

#main-nav .tab.on::after{background:var(--accent)}

.campo:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px #c9854d24!important}

.tab.on:not([data-v]){color:var(--ink);background:var(--accent-soft)}

.section-jump button{color:var(--ink)}

#bp-chat{background:var(--paper)}
.bp-glo-bot{background:#e8edf2;color:var(--ink)}

.bp-pr-barra{background:var(--paper)!important}

#research-title{font-family:var(--display);font-weight:700;color:var(--ink)}

.ef tr.grande td{font-family:var(--display);font-weight:600}

.mobile-dock button{color:var(--mute)}

.mobile-dock button.on{background:var(--accent-soft);color:var(--ink)}

.mobile-dock button:nth-child(3){background:var(--accent);color:var(--on-accent);font-weight:600}

.mobile-dock button:nth-child(3).on{background:#dda06a;color:var(--on-accent)}

@media(max-width:600px){#page-title{font-size:33px;line-height:1.12;letter-spacing:-1px}
.brand img{width:112px}
.panel-title h2{font-size:15px}
}


/* Production shell: the existing NIP gate controls access. */
.panel-shell{display:none!important}

body.panel-unlocked #sidebar,body.panel-unlocked .workspace-header{display:flex!important}

body.panel-unlocked .mobile-dock{display:none!important}

#sidebar{top:0}

#gate{min-height:100svh}

#gate.hidden,#app.hidden{display:none!important}

body:not(.panel-unlocked)>footer{margin-left:0}

.brand img{width:112px}

.workspace-header .header-actions a{font-size:12px;color:var(--mute);min-height:44px;display:inline-flex;align-items:center}

#salir{font-size:12px;min-height:44px;padding:8px 12px;width:auto;white-space:nowrap}

.business-icon img{width:30px;height:30px;object-fit:contain}

.chart-loading,.chart-error{padding:28px 0;color:var(--mute);font-size:14px;line-height:1.6}

.chart-error button{display:block;margin-top:12px}

.bar-fill{min-height:0}

.profile>a{font-size:12px;color:var(--ink);min-height:44px;display:flex;align-items:center;gap:8px;width:100%}

@media(max-width:850px){body.panel-unlocked .mobile-dock{display:flex!important}
}

@media(max-width:600px){.workspace-header .header-actions a{display:none}
.header-actions>#salir{display:inline-flex;width:auto}
.breadcrumb{font-size:11px}
}

@media print{body.panel-unlocked #sidebar,body.panel-unlocked .workspace-header,body.panel-unlocked .mobile-dock,.panel-shell{display:none!important}
}
