*{box-sizing:border-box;margin:0;padding:0}body{background:#fbf8f1}:root{--cream:#fbf8f1;--wood:#3a2e22;--celeste:#bfe4e5;--celeste-pale:#eaf7f7;--celeste-deep:#4a8f93;--brown-text:#8a7c68;--ok:#6fa88a;--warn:#c98a6b}.wrap{max-width:720px;color:var(--wood);margin:0 auto;padding:40px 20px 80px;font-family:Jost,sans-serif}header{text-align:center;margin-bottom:24px}.wordmark{color:var(--wood);font-family:Pacifico,cursive;font-size:40px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--celeste-deep);margin-top:6px;font-size:12px}.config-card{border:1.5px solid var(--celeste);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:18px 20px;display:flex}.config-title{font-size:15px;font-weight:500}.config-sub{color:var(--brown-text);margin-top:2px;font-size:12.5px}.switch{cursor:pointer;background:#d9d2c2;border:none;border-radius:20px;flex-shrink:0;width:46px;height:26px;transition:background .25s;position:relative}.switch.on{background:var(--celeste-deep)}.switch-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s;position:absolute;top:3px;left:3px}.switch.on .switch-knob{transform:translate(20px)}.tabs{gap:10px;margin-bottom:20px;display:flex}.tab{border:1.5px solid var(--celeste);color:var(--brown-text);cursor:pointer;background:#fff;border-radius:6px;flex:1;padding:12px;font-family:Jost,sans-serif;font-size:14px;font-weight:500;transition:all .25s}.tab.active{background:var(--celeste-deep);border-color:var(--celeste-deep);color:#fff}.empty{text-align:center;color:var(--brown-text);padding:40px 0;font-size:14px}.list{flex-direction:column;gap:14px;display:flex}.card{border:1.5px solid var(--celeste);background:#fff;border-radius:8px;padding:16px 18px}.card-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.card-name{font-size:15.5px;font-weight:500}.badge{letter-spacing:.04em;text-transform:uppercase;color:#555;background:#eee;border-radius:20px;padding:3px 10px;font-size:11px}.badge-pendiente{color:#9a6a22;background:#fdebd3}.badge-confirmada{color:#3f6b54;background:#6fa88a2e}.badge-completada{color:#2f6265;background:#4a8f9326}.badge-cancelada{color:#a34e2e;background:#c98a6b2e}.badge-no-show{color:#a33333;background:#f0d0d0}.card-details{color:var(--brown-text);flex-wrap:wrap;gap:4px 14px;margin-bottom:8px;font-size:13px;display:flex}.card-notes{color:var(--wood);margin-bottom:10px;font-size:13px}.card-notes p{margin-bottom:2px}.estado-select{background:var(--celeste-pale);width:100%;color:var(--wood);border:1px solid #4a8f934d;border-radius:5px;padding:8px 10px;font-family:Jost,sans-serif;font-size:13.5px}.editor-toolbar{gap:10px;margin-bottom:14px;display:flex}.tool-btn{border:1.5px solid var(--celeste-deep);color:var(--celeste-deep);cursor:pointer;background:#fff;border-radius:6px;padding:8px 14px;font-family:Jost,sans-serif;font-size:13px;font-weight:500}.tool-btn:hover{background:var(--celeste-pale)}.editor-form{border:1.5px solid var(--celeste);background:#fff;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.editor-form input,.editor-form select{border:1px solid #4a8f934d;border-radius:5px;flex:1;min-width:120px;padding:8px 10px;font-family:Jost,sans-serif;font-size:13.5px}.editor-canvas{background:var(--celeste-pale);border:1.5px solid var(--celeste);touch-action:none;border-radius:8px;width:100%;height:auto}.editor-mesa{cursor:grab}.editor-mesa-cuerpo{fill:var(--celeste-deep);stroke:var(--celeste-deep);stroke-width:1.5px}.editor-mesa-num{fill:#fff;pointer-events:none;font-size:11px;font-weight:500}.editor-mesa-cap{fill:#fffc;pointer-events:none;font-size:9.5px}.editor-referencia{cursor:grab}.editor-referencia text{fill:var(--brown-text);text-transform:uppercase;letter-spacing:.06em;text-transform:uppercase;letter-spacing:.06em;pointer-events:none;font-size:12px;font-weight:500}.editor-delete{cursor:pointer;opacity:0;transition:opacity .2s}.editor-delete circle{fill:#c0392b}.editor-delete text{fill:#fff;pointer-events:none;font-size:11px}.editor-asiento{fill:#fff;stroke:var(--celeste-deep);stroke-width:1.2px;pointer-events:none}.editor-resize-handle{fill:var(--celeste-deep);cursor:nwse-resize;opacity:0;transition:opacity .15s}.seccion-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.seccion-tab{border:1.5px solid var(--celeste);color:var(--brown-text);cursor:pointer;background:#fff;border-radius:6px;padding:9px 16px;font-family:Jost,sans-serif;font-size:13.5px;font-weight:500;transition:all .2s}.seccion-tab:hover{background:var(--celeste-pale)}.seccion-tab.active{background:var(--celeste-deep);border-color:var(--celeste-deep);color:#fff}.seccion-tab-nueva{color:var(--celeste-deep);border-style:dashed}.tool-btn-danger{color:#c0392b;border-color:#c0392b}.tool-btn-danger:hover{background:#c0392b14}.editor-canvas-borde{fill:#fff;stroke:var(--celeste);stroke-width:1.5px}.editor-rotar{cursor:grab}.editor-rotar circle{fill:var(--wood);stroke:#fff;stroke-width:1.5px}.editor-rotar-trazo{stroke:#fff;stroke-width:1.4px}.editor-rotar-punta{fill:#fff}.editor-rotar-chico circle{r:7}.aviso-tamano{color:#8a5a1a;background:#fdebd3;border:1px solid #e8b573;border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:12.5px;line-height:1.5}.editor-form-imagen{flex-direction:column;align-items:flex-start}.imagen-preview-wrap{width:100%}.imagen-preview{object-fit:cover;border:1px solid #4a8f934d;border-radius:6px;width:100%;max-height:180px}.imagen-preview-vacia{background:var(--celeste-pale);height:100px;color:var(--brown-text);justify-content:center;align-items:center;font-size:13px;display:flex}.imagen-form-controles{align-items:center;gap:10px;margin-top:10px;display:flex}g:hover>.editor-delete{opacity:1}.tab-content{padding-bottom:90px}.bottom-nav{border-top:1.5px solid var(--celeste);z-index:50;background:#fff;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{max-width:720px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));gap:6px;margin:0 auto;display:flex}.nav-btn{color:var(--brown-text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-family:Jost,sans-serif;font-size:12px;font-weight:500;transition:all .2s;display:flex}.nav-btn.active{background:var(--celeste-pale);color:var(--celeste-deep)}.section-header{margin-bottom:20px}.section-header h2{color:#63a3a3;letter-spacing:1px;margin:0 0 6px;font-family:Pacifico,cursive;font-size:28px}.section-header p{color:var(--brown-text);opacity:.85;margin:0 0 16px;font-size:14px;line-height:1.4}.resumen-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px;display:grid}@media (width>=560px){.resumen-grid{grid-template-columns:repeat(4,1fr)}}.metric-card{border:1.5px solid var(--celeste);background:#fff;border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.metric-label{letter-spacing:.04em;text-transform:uppercase;color:var(--celeste-deep);font-size:11px}.metric-valor{color:var(--wood);font-size:20px;font-weight:500}.metric-valor-chico{font-size:13px}.filtros-bar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.filtros-bar input,.filtros-bar select{background:#fff;border:1px solid #4a8f934d;border-radius:6px;flex:1;min-width:140px;padding:9px 12px;font-family:Jost,sans-serif;font-size:13.5px}.tabla-wrap{border:1.5px solid var(--celeste);background:#fff;border-radius:8px;overflow-x:auto}.tabla-reservas{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.tabla-reservas th{text-align:left;background:var(--celeste-pale);color:var(--celeste-deep);letter-spacing:.04em;text-transform:uppercase;padding:10px 12px;font-size:11px;font-weight:500}.tabla-reservas td{color:var(--wood);border-top:1px solid #4a8f9326;padding:10px 12px}.tabla-notas{cursor:help}.estado-select-chico{width:auto;padding:5px 8px;font-size:12px}.tabla-acciones{gap:6px;display:flex}.btn-wa{white-space:nowrap;border-radius:5px;padding:6px 10px;font-size:11.5px;font-weight:500;text-decoration:none}.btn-wa-confirmar{color:#3f6b54;background:#6fa88a2e}.btn-wa-recordatorio{color:#2f6265;background:#4a8f9326}.stats-periodo{color:var(--brown-text);margin-bottom:14px;font-size:12px}.stats-card{border:1.5px solid var(--celeste);background:#fff;border-radius:8px;margin-bottom:16px;padding:18px 20px}.stats-titulo{color:var(--wood);margin-bottom:14px;font-size:14px;font-weight:500}.stats-linea{width:100%;height:100px;overflow:visible}.stats-linea-area{fill:var(--celeste-pale);stroke:none}.stats-linea-trazo{fill:none;stroke:var(--celeste-deep);stroke-width:2px}.stats-linea-labels{color:var(--brown-text);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.stats-barras{align-items:flex-end;gap:8px;height:140px;display:flex}.stats-barra-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.stats-barra{background:var(--celeste-deep);border-radius:4px 4px 0 0;width:100%;max-width:32px;min-height:4px}.stats-barra-valor{color:var(--wood);margin-top:6px;font-size:11px;font-weight:500}.stats-barra-label{color:var(--brown-text);margin-top:2px;font-size:10.5px}.stats-filas{flex-direction:column;gap:10px;display:flex}.stats-fila{align-items:center;gap:10px;display:flex}.stats-fila-label{color:var(--brown-text);flex-shrink:0;width:64px;font-size:12px}.stats-fila-label-ancho{width:150px}.stats-fila-track{background:var(--celeste-pale);border-radius:4px;flex:1;height:8px;overflow:hidden}.stats-fila-fill{background:var(--celeste-deep);border-radius:4px;height:100%}.stats-fila-fill-wood{background:var(--wood)}.stats-fila-valor{color:var(--wood);text-align:right;width:24px;font-size:12px;font-weight:500}.stats-donut-wrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.stats-donut{flex-shrink:0;width:120px;height:120px}.stats-donut-leyenda{flex-direction:column;flex:1;gap:8px;min-width:160px;display:flex}.stats-donut-item{color:var(--wood);align-items:center;gap:8px;font-size:13px;display:flex}.stats-donut-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.stats-donut-pct{color:var(--brown-text);margin-left:auto;font-size:12px}.stats-nota{color:var(--brown-text);text-align:center;margin-top:8px;font-size:11.5px}
