:root{color-scheme:light;font-family:Manrope,system-ui,sans-serif;--bg: #f5f2ec;--surface: #ffffff;--surface-alt: #f0ebe4;--ink: #111214;--muted: #5f646f;--primary: #d32f2f;--primary-soft: #fdecec;--accent: #1e4fb3;--line: #e2ddd6;--shadow: 0 16px 32px rgba(17, 18, 20, .12);--shadow-soft: 0 8px 18px rgba(17, 18, 20, .08)}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(circle at top,#fff,#f7f3ee 35%,#efe9e1);color:var(--ink);min-height:100vh}input[type=date],input[type=time]{accent-color:var(--primary);color-scheme:light}#root{min-height:100vh}.app{display:flex;justify-content:center;padding:32px 16px 56px}.app-shell{width:min(430px,100%);display:flex;flex-direction:column;gap:22px}.app-footer{margin-top:2px;padding:10px 4px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font-size:.75rem}.top-bar{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand img{width:46px;height:46px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid #f0e4e4;box-shadow:var(--shadow-soft)}.top-actions{display:flex;align-items:center;gap:10px}.top-bar h1{font-family:Sora,sans-serif;font-size:1.35rem;letter-spacing:-.02em}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;color:var(--muted);margin-bottom:6px}.icon-btn{width:42px;height:42px;border-radius:16px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;position:relative;box-shadow:var(--shadow-soft);cursor:pointer}.icon-btn svg{width:18px;height:18px}.dot{position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--primary)}.segmented{display:none}.vista{display:flex;flex-direction:column;gap:18px}.landing-plain{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center;background:radial-gradient(circle at top,#fff,#f7f3ee 35%,#efe9e1)}.landing-plain h1{font-family:Sora,sans-serif;font-size:clamp(2rem,7vw,3.25rem);line-height:1.05;letter-spacing:-.04em;color:var(--ink);margin:0}.card{background:var(--surface);border-radius:18px;padding:16px;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.hero{display:flex;justify-content:space-between;gap:16px;align-items:center;background:linear-gradient(140deg,#fff,#f1f4ff)}.hero.alt{background:linear-gradient(145deg,#fff,#f7f2ec)}.hero.compact{padding:12px 16px}.hero h2{font-size:1.1rem;margin-bottom:8px}.muted{color:var(--muted);font-size:.9rem}.hero-badge{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface);text-align:center;min-width:110px;box-shadow:var(--shadow-soft)}.cita-resumen{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,#fff,#f7f3ee);flex-wrap:wrap}.cita-resumen.compact{align-items:flex-start;padding:14px 16px;gap:8px}.cita-resumen .name{margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cita-resumen .muted{margin-top:2px}.cita-subtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cita-inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.cita-status-label{font-size:.76rem;color:#374151;font-weight:600}.next-cita-body{width:100%;display:grid;gap:3px}.next-cita-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.next-cita-top .name{margin:0;flex:1;min-width:0}.next-cita-price{margin:0;white-space:nowrap;font-weight:700;color:#1f1c1c;font-size:.95rem}.next-cita-time{margin-top:0;font-size:.86rem}.next-cita-actions{margin-top:4px;justify-content:space-between}.next-cita-actions .cita-status-label{font-size:.78rem}.next-cancel-btn{padding:4px 10px}.cita-resumen .cita-actions{flex-direction:column;align-items:flex-end;gap:6px}.cita-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.cita-badge{display:grid;gap:6px;text-align:right;padding:10px 12px;border-radius:14px;border:1px dashed var(--line);color:var(--muted);font-size:.8rem}.cita-badge.small{padding:0;border:none;background:transparent}.notif-card{display:flex;justify-content:space-between;align-items:center;gap:12px}.info-card{display:grid;gap:16px}.info-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.info-form,.alias-card{display:grid;gap:12px}.alias-form{display:flex;gap:10px;align-items:end}.alias-form .field{flex:1}.alias-inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.balance-cards{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.balance{display:grid;gap:6px}.simple-panel{display:flex;flex-direction:column;gap:8px;align-items:stretch}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-link{margin-top:2px;align-self:center;display:inline-flex;justify-content:center;width:100%}.cita-resumen .panel-link{margin-top:6px;flex-basis:100%;transform:scale(.92)}.panel-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.badge-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.panel-metrics>div{border:1px solid var(--line);border-radius:12px;padding:6px 8px;text-align:center;background:var(--surface)}.panel-metrics strong{display:block;font-size:1.05rem}.section{display:flex;flex-direction:column;gap:12px}.section-tight-links{gap:6px}.section-tight-links .panel-link{margin-top:0}.section-header{display:flex;align-items:center;justify-content:space-between}.section-header h3{font-size:1rem}.link-btn{border:none;background:transparent;color:var(--accent);font-weight:600;cursor:pointer;display:inline-flex;justify-content:center;width:100%;margin-top:8px;text-decoration:none}.link-text{display:inline-flex;align-items:center;color:#6b6b6b;text-decoration:none;font-size:.85rem;margin-top:8px;justify-content:center;width:100%}.link-text:hover{color:var(--accent)}.barberos,.servicios{display:grid;gap:12px;width:100%}.barbero,.servicio{display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease;width:100%;overflow:hidden}.barbero-info{min-width:0;flex:1;overflow:hidden}.barbero .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.barbero.selected,.servicio.selected{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}.name{font-weight:600}.servicio .name{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.servicio .muted{margin-top:6px}.booking-section,.booking-list{gap:10px}.booking-card{border-radius:16px;padding:14px;box-shadow:0 5px 12px #1112140f;border-color:#e8e2d9;background:#fff}.booking-card.selected{border-color:var(--primary);box-shadow:0 10px 20px #d32f2f24;transform:translateY(0)}.barbero-meta{display:grid;gap:4px;font-size:.75rem;color:var(--muted);text-align:right}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.chip{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.82rem;cursor:pointer;box-shadow:var(--shadow-soft)}.chip.small{padding:6px 10px;font-size:.75rem}.state-chip{border-color:var(--line);background:var(--surface-alt);color:var(--muted)}.state-pendiente{border-color:#f6c8c8;background:#fdecec;color:#b51f1f}.state-confirmada{border-color:#c9d8ff;background:#e8f0ff;color:#1e4fb3}.state-reagendada{border-color:#e2ddd6;background:#f0ebe4;color:#5f646f}.state-progreso{border-color:#c9e6df;background:#e5f4f1;color:#1f6f63}.chip:disabled{opacity:.5;cursor:not-allowed}.date-picker{position:relative;overflow:hidden;border:1px solid var(--primary);box-shadow:0 6px 16px -12px #b22e2e99}.date-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.chip.ghost{background:transparent;border-style:dashed;box-shadow:none}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.booking-date-trigger{height:36px;padding:0 12px;display:inline-flex;align-items:center;font-weight:600;color:#4f5561;border-style:solid}.day-chips .chip{min-width:56px;justify-content:center}.day-chips{gap:10px;flex:1}.day-chip-btn{height:34px;padding:0 14px;font-weight:600;box-shadow:none;border-color:#e3ddd4}.day-chip-btn.chip.active{box-shadow:0 8px 14px -10px #b22e2e99}.date-week-nav{display:flex;align-items:center;gap:8px}.day-nav-btn{width:34px;min-width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;box-shadow:none;border-color:#e3ddd4}.hour-chip-btn{box-shadow:none;border-color:#e3ddd4;height:34px;padding:0 10px;font-weight:500}.time-section .chips.grid,.time-section .hour-group{gap:8px}.time-section .hour-group-label{font-size:.7rem}.date-section,.time-section{background:linear-gradient(145deg,#fff,#f8f5f1);border:1px solid #e8e2d9;border-radius:16px;padding:12px}.date-section .section-header,.time-section .section-header{margin-bottom:2px}.time-section .hour-groups{gap:12px}.time-section .time-chips .chip{min-width:88px;justify-content:center}.resumen{display:flex;align-items:center;justify-content:space-between}.resumen>div:first-child{flex:1;min-width:0;padding-right:12px}.resumen>div:first-child p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resumen-total{text-align:right;display:grid}.booking-summary{border-radius:16px;background:linear-gradient(145deg,#fff,#f9f5ef)}.booking-summary .eyebrow{margin-bottom:4px}.booking-summary .muted{font-size:.86rem}.booking-summary .resumen-total span{color:#555b66}.balance-total{margin-top:6px}.balance-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.balance-card .name{font-size:1.4rem}.balance-filters{display:grid;gap:8px;padding:12px;background:linear-gradient(145deg,#fff,#f8f5f1)}.filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.balance-filters .field{gap:4px;min-width:0}.balance-filters .field span{font-size:.78rem;font-weight:600;color:#636973}.balance-filters .field input{width:100%;min-width:0;padding:8px 10px;font-size:.9rem}.balance-filters .reset-hours{justify-self:end;margin-top:0;font-size:.84rem}.filter-date{font-size:.85rem;color:var(--muted);font-weight:500}.hero-inline-left{display:flex;align-items:center;gap:0}.page-title-row{margin-bottom:4px}.page-title{margin:0;font-family:Sora,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.02em;color:#2b2f36}.back-native{width:40px;height:40px;border:none;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer}.back-native svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.back-native:active{background:#0000000f}@media (max-width: 420px){.balance-grid{grid-template-columns:1fr}.panel-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-row{grid-template-columns:1fr}.balance-filters .filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 340px){.balance-filters .filter-row{grid-template-columns:1fr}}.cta{background:var(--primary);color:#fff;border:none;padding:14px;border-radius:14px;font-weight:600;font-size:1rem;cursor:pointer;box-shadow:var(--shadow)}.cta:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:grayscale(.1)}.agenda{display:grid;gap:12px}.cita{display:flex;justify-content:space-between;align-items:center}.queue-card{align-items:flex-start}.queue-card .cita-info{flex:1;min-width:0;padding-right:10px}.queue-card .cita-info .muted{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.queue-card .cita-meta{flex:0 0 auto;min-width:max-content}.queue-card .cita-meta .hora{white-space:nowrap;overflow:visible;text-overflow:clip}.queue-card .queue-actions{flex-wrap:nowrap}.cita-meta{display:grid;gap:6px;text-align:right}.cita-meta .chip,.cita-meta .estado{justify-self:end}.queue-actions .chip.uppercase{padding:6px 10px;font-size:.72rem}.queue-actions .chip.small{padding:4px 8px;font-size:.68rem}.queue-actions .chip.primary{background:var(--primary);color:#fff;border-color:transparent;box-shadow:0 8px 14px -10px #b22e2eb3}.queue-actions .chip.primary:hover{filter:brightness(.98)}.chip.icon{width:36px;height:36px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;line-height:1}.queue-actions .chip.uppercase{font-weight:700}.queue-actions .chip.ghost,.chip.ghost.strong{border-color:var(--primary);color:var(--primary);font-weight:700}.chip.motive-btn{border-color:var(--primary);color:var(--primary);background:#fff}.cita-meta .hora{font-size:.8rem}.hora{font-weight:600}.estado{font-size:.62rem;text-transform:none;letter-spacing:.06em;padding:4px 8px;border-radius:999px;border:1px solid transparent}.section-note{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:8px 0 2px}.list-hint{font-size:.72rem;margin-top:4px}.tiny-label{font-size:.72rem}.helper-note{font-size:.78rem;margin:6px 0 8px;display:flex;align-items:center;gap:6px}.hour-groups{display:grid;gap:10px}.hour-group{display:grid;gap:8px}.hour-group-heading{display:flex;align-items:center;gap:8px}.hour-group-label{margin:0;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-width:24px}.hour-group-line{flex:1;height:1px;background:var(--line);opacity:.75}.hours-chips .chip{min-width:74px;justify-content:center}.hour-chip{background:#fff;color:#4c4f57;border:1px solid #ddd4c8;border-style:solid;box-shadow:none}.hour-chip:hover{border-color:#c7b9a8}.info-dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid #d8d5cf;color:#6b7280;font-size:.7rem;font-weight:700;background:#f8f6f2;flex:0 0 auto}.estado-ok{background:#fff;color:#1f1c1c;border:1px dashed #1e4fb3}.estado-warn{background:#fdecec;color:#b51f1f;border-color:#f6c8c8}.estado-alt{background:#f0ebe4;color:#5f646f;border-color:#e2ddd6}.queue-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.header-actions{display:flex;align-items:center;gap:10px}.service-editor{display:grid;gap:14px}.service-inputs{display:grid;gap:12px}.field-row{display:grid;gap:12px;grid-template-columns:1fr}.chip-group{display:flex;gap:8px;flex-wrap:wrap}.chip.mini{padding:6px 10px;font-size:.75rem}.chip.uppercase{text-transform:uppercase;letter-spacing:.08em}.chip.danger{background:var(--primary-soft);border-color:#f6c8c8;color:#b51f1f}.service-list{display:grid;gap:12px}.service-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.service-actions{display:flex;gap:8px;align-items:center}.price-input{width:90px;text-align:right;border:1px solid var(--line);border-radius:10px;padding:6px 8px;background:var(--surface);color:var(--ink)}.cita.current.idle{opacity:.7;border-style:dashed}.cita.completed{opacity:.6;background:var(--surface-alt)}.empty{text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11121466;display:grid;place-items:center;z-index:20;padding:16px}.modal{width:min(420px,100%);display:grid;gap:14px}.modal-fields{display:grid;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.error-text{color:#b51f1f;font-size:.85rem}.status-text{color:var(--muted);font-size:.85rem}.acciones{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.accion{display:grid;gap:8px;text-align:left;font-size:.85rem}.realtime{display:flex;justify-content:space-between;align-items:center}.availability{display:grid;gap:8px}.hours-card{display:grid;gap:10px;background:linear-gradient(145deg,#fff,#f8f5f1)}.reset-hours{margin-top:4px;align-self:center;color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:2px;box-shadow:none}.chip.reset-hours,.chip.reset-hours.ghost{border:none;border-style:none;background:transparent}.panel-link.reset-hours{margin-top:0}.hours-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.hours-base-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.hours-base-form .field{margin:0}.hours-base-form .chip{height:42px;align-self:end}.hours-form .field{margin:0}.hours-form .chip{height:42px;align-self:end}.hours-add-btn{background:var(--primary);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 8px 16px -10px #b22e2e99}.hours-add-btn:hover{filter:brightness(.98)}.hours-actions{display:flex;justify-content:flex-end;margin-top:2px}.hours-reset-btn{margin-top:0}.availability-row{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:linear-gradient(145deg,#fff,#f8f5f1)}.availability-row.is-inactive{opacity:.9}.availability-info .name{margin-bottom:1px;font-size:.96rem}.availability-info .muted{font-size:.84rem}.availability-actions{display:flex;gap:8px}.availability-switch{width:50px;height:30px;border-radius:999px;border:1px solid #d9d1c7;background:#f1ede7;padding:3px;display:inline-flex;align-items:center;justify-content:flex-start;transition:all .2s ease;cursor:pointer}.availability-switch.on{background:#e53a3a;border-color:#e53a3a;justify-content:flex-end}.availability-thumb{width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000024}.break-card{display:grid;gap:10px;background:linear-gradient(145deg,#fff,#f8f5f1)}.break-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid #ece4d9;border-radius:12px;background:#fff}.break-row .name{margin-bottom:2px}.break-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.break-form .field{gap:4px}.break-form .field span{font-size:.78rem;color:#636973}.blocked-card{margin-top:0;display:grid;gap:8px;padding:12px;border-radius:16px;background:linear-gradient(145deg,#fff,#f8f5f1)}.blocked-title{margin:0;font-size:1rem}.blocked-add-btn{height:40px;align-self:end;background:var(--primary);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 8px 16px -10px #b22e2e8c;padding:0 14px}.blocked-add-btn:hover{filter:brightness(.98)}.blocked-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.blocked-form .field{gap:0}.blocked-form .field input{padding:8px 10px}.blocked-chips{gap:6px}.blocked-chip{background:#fff;border:1px solid #ddd4c8;border-style:solid;color:#565b66;box-shadow:none;padding:6px 10px}.blocked-chip:hover{border-color:#c7b9a8}.info-dot.subtle{color:#6b7280;border-color:#d8d5cf;background:#f8f6f2}.sync-card{display:flex;justify-content:space-between;align-items:center;background:var(--surface-alt);border-style:dashed;box-shadow:none;gap:12px}.sync-meta{display:grid;gap:4px;text-align:right;font-size:.85rem;color:var(--muted)}.form-card{display:grid;gap:12px}.login-form{display:grid;gap:14px}.field{display:grid;gap:8px;font-weight:600}.field input{border-radius:12px;border:1px solid var(--line);padding:10px 12px;font-size:.95rem;font-family:inherit;background:var(--surface)}@media (min-width: 860px){.app-shell{width:min(820px,100%)}.barberos,.servicios{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:24px}}@media (max-width: 480px){.chips.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.acciones{grid-template-columns:repeat(2,minmax(0,1fr))}.hours-base-form{grid-template-columns:1fr 1fr}.hours-base-form .chip{grid-column:1 / -1}}
