:root{--navy:#051b32;--blue:#087dff;--blue-dark:#0066dc;--ink:#112840;--muted:#617287;--line:#e2e9f2;--bg:#f3f6fb;--pale:#eaf3ff;--white:#fff;--radius:18px;font:16px/1.5 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--blue-dark);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #65adff;outline-offset:3px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-.04em;line-height:1.2}h2{font-size:1.2rem;letter-spacing:-.025em}h3{font-size:1.05rem}small,.small{font-size:.875rem}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 18px;border-radius:11px;background:var(--blue);color:white;font-weight:650;font-size:.9rem;text-decoration:none;transition:background .18s,transform .18s}.btn:hover{background:var(--blue-dark);text-decoration:none}.btn.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.btn.secondary:hover{background:var(--pale)}.btn.ghost{background:transparent;color:var(--muted)}.btn.danger{background:#fff0f1;color:#b52442}.btn.sm{padding:7px 12px;min-height:38px;font-size:.875rem}.btn.full{width:100%}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:20px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{position:relative;width:157px;height:42px;overflow:hidden;display:block;flex-shrink:0}.brand img{position:absolute;width:313.5px;max-width:none;left:-12.5px;top:-20px}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:#b1c2d3;display:flex;flex-direction:column;z-index:20}.brand-block{background:#fff;padding:26px 35px}.workspace{padding:22px 23px;border-bottom:1px solid #ffffff16;margin-bottom:14px}.workspace b{display:block;color:white;font-size:.95rem}.workspace small{font-size:.8rem}.nav{padding:0 12px;display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:13px;color:#b5c6d9;padding:12px 15px;border-radius:10px;font-size:.9rem;text-decoration:none}.nav a:hover{background:#ffffff0b;color:white}.nav a.active{color:white;background:#087dff}.nav .nav-label{font-size:.7rem;letter-spacing:.14em;padding:20px 15px 5px}.sidebar-bottom{margin-top:auto;padding:22px;font-size:.8rem;color:#a9bbcf}.sidebar-bottom .plan-label{border:1px solid #ffffff25;border-radius:12px;padding:15px;margin-bottom:17px;color:white}.shell{margin-left:240px}.topbar{height:82px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;gap:12px}.crumb{font-size:.875rem;color:var(--muted)}.crumb b{font-weight:550;color:var(--ink)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e8f2ff;color:#0762c3;font-size:.8rem;font-weight:750;flex-shrink:0}.user{display:flex;align-items:center;gap:12px}.demo-ribbon{background:#eaf3ff;color:#315775;padding:8px 36px;font-size:.8rem;display:flex;justify-content:space-between;gap:12px}.demo-ribbon a{white-space:nowrap}.main{padding:32px 36px 50px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.page-heading p{color:var(--muted);margin-top:8px;font-size:.95rem}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:22px;margin-top:24px}.stat{position:relative}.stat .icon-wrap{width:38px;height:38px;background:var(--pale);color:var(--blue);border-radius:11px;display:grid;place-items:center;margin-bottom:16px}.stat .value{font-size:2rem;font-weight:700;letter-spacing:-.045em;margin:5px 0}.stat small{color:var(--muted)}.badge{padding:5px 9px;border-radius:7px;font-size:.75rem;font-weight:650;white-space:nowrap;display:inline-block}.badge.Confirmada,.badge.Activo{background:#e8f2ff;color:#0762c3}.badge.Pendiente{background:#fff5df;color:#946411}.badge.Completada{background:#e7f7f2;color:#19745c}.badge.Cancelada,.badge.Suspendido{background:#fcecef;color:#ac3852}.badge.Neutral{background:#eef1f6;color:#526177}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}.data-table th{font-size:.75rem;color:var(--muted);font-weight:550;padding:12px 13px;background:#f8fafd;white-space:nowrap}.data-table td{padding:17px 13px;border-bottom:1px solid #eef2f7;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.client-cell{display:flex;align-items:center;gap:10px;min-width:140px}.client-cell small{display:block;color:var(--muted);font-size:.8rem}.time{font-weight:700;white-space:nowrap}.upcoming{background:var(--navy);color:white;border:0;position:relative;overflow:hidden}.upcoming .muted{color:#b5c6d9}.upcoming h3{font-size:1.5rem;margin:18px 0 4px}.upcoming .tag{display:inline-flex;background:#ffffff12;color:#bfdbff;border:1px solid #ffffff15;padding:5px 10px;border-radius:7px;font-size:.75rem}.upcoming .btn{margin-top:24px}.time-big{font-size:2.8rem;font-weight:650;letter-spacing:-.04em;line-height:1.15;margin-top:8px}.week-chart{height:160px;display:flex;align-items:end;gap:15px;padding-top:20px;margin-top:10px}.bar-group{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:9px;font-size:.75rem;color:var(--muted)}.bar{width:100%;max-width:34px;background:#d5e8ff;border-radius:6px 6px 2px 2px;min-height:3px}.bar.highlight{background:var(--blue)}.mini-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.mini-row:last-child{border:0}.mini-row small{display:block;color:var(--muted)}.notice{padding:14px 17px;border-radius:12px;background:var(--pale);color:#345c82;font-size:.875rem;line-height:1.6}.notice.warning{background:#fff6e4;color:#846024}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.field{display:grid;gap:7px;font-size:.875rem;min-width:0}.field input,.field select,.field textarea,.input{border:1px solid #d6e0ec;background:white;color:var(--ink);border-radius:9px;padding:11px 12px;width:100%;min-height:44px;min-width:0}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field select:focus,.input:focus,.field textarea:focus{border-color:var(--blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span-2{grid-column:1/-1}.search{max-width:340px;min-width:220px}.empty{text-align:center;padding:44px 18px;color:var(--muted)}.empty .icon{width:32px;height:32px;margin-bottom:14px}.empty h3{color:var(--ink);margin-bottom:6px}.empty .btn{margin-top:15px}.segmented{display:flex;gap:3px;background:#e9eff7;padding:4px;border-radius:10px}.segmented button{background:transparent;padding:7px 13px;color:var(--muted);border-radius:7px;font-size:.875rem}.segmented button.selected{background:white;color:var(--ink);box-shadow:0 1px 4px #00153010}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:22px}.day{background:white;border:1px solid var(--line);border-radius:12px;padding:13px 4px;text-align:center;color:var(--muted)}.day strong{display:block;font-size:1.4rem;color:var(--ink)}.day.selected{background:var(--blue);color:white;border-color:var(--blue)}.day.selected strong{color:white}.timeline-item{display:grid;grid-template-columns:65px 1fr;gap:16px;margin-bottom:14px}.timeline-item .event{border-left:3px solid var(--blue);padding:16px 19px;background:var(--pale);border-radius:0 12px 12px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.event small{color:var(--muted)}.event.cancelled{border-color:#b6c2d1;background:#f3f5f8;opacity:.75}.plans{margin-top:24px}.plan{position:relative;display:flex;flex-direction:column;gap:18px;padding:30px}.plan.featured{border:2px solid var(--blue);box-shadow:0 12px 28px #0b6be00c}.plan .price{font-size:2.9rem;font-weight:700;letter-spacing:-.05em;line-height:1}.plan .price small{font-size:.875rem;letter-spacing:0;color:var(--muted);font-weight:450}.plan ul{list-style:none;margin:0 0 15px;padding:0;display:grid;gap:14px;font-size:.9rem}.plan li{display:flex;gap:10px;align-items:start}.plan li .icon{color:var(--blue);width:18px}.plan .btn{margin-top:auto}.popular{position:absolute;top:-13px;right:23px;background:var(--blue);color:white;padding:4px 12px;border-radius:6px;font-size:.75rem}.qr-card{text-align:center;padding:36px}.qr-frame{margin:25px auto;background:white;padding:15px;border:1px solid var(--line);border-radius:17px;max-width:250px;aspect-ratio:1}.qr-frame svg{width:100%;height:100%}.link-box{overflow-wrap:anywhere;background:var(--bg);padding:12px;border-radius:9px;font-size:.875rem;text-align:left}.check-row{display:flex;gap:10px;align-items:flex-start;font-size:.875rem}.check-row input{width:18px;height:18px;accent-color:var(--blue);flex-shrink:0;margin-top:3px}.phone-preview{border:7px solid var(--navy);border-radius:30px;max-width:320px;margin:0 auto;background:#eef2f6;overflow:hidden}.phone-header{background:var(--navy);color:white;padding:22px 17px;font-size:.875rem}.chat-bubble{background:white;border-radius:13px 13px 13px 0;margin:30px 17px;padding:17px;font-size:.875rem;white-space:pre-wrap;box-shadow:0 2px 5px #051b3208}.phone-foot{padding:10px 17px 20px;color:var(--muted);font-size:.75rem}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.auth-art{background:var(--navy);color:white;padding:70px;display:flex;flex-direction:column;justify-content:center;gap:32px}.auth-art h1{font-size:3.5rem;max-width:520px}.auth-art h1 em{font-style:normal;color:#258cff}.auth-art p{color:#b5c6d9;max-width:400px}.auth-art img{width:100%;max-width:520px;border-radius:18px}.auth-form{display:grid;place-items:center;padding:40px}.auth-form>div{max-width:460px;width:100%}.auth-form .brand{margin-bottom:34px}.auth-form h1{font-size:1.8rem}.auth-form form{display:grid;gap:16px;margin-top:23px}.auth-form .notice{margin-top:20px}.form-error{color:#a82644;font-size:.875rem;min-height:20px}.public{max-width:960px;margin:auto;padding:30px 24px 60px}.public-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.public-header .brand{background:white;border-radius:5px}.booking-layout{display:grid;grid-template-columns:290px 1fr;gap:22px}.booking-business{background:var(--navy);color:white;align-self:start}.booking-business p,.booking-business small{color:#b7c8da}.booking-business h1{font-size:1.5rem;margin:20px 0 10px}.booking-business .avatar{width:58px;height:58px;background:#087dff;color:white;font-size:1.15rem}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.slot{background:white;color:var(--blue-dark);border:1px solid #cbdff8;border-radius:9px;padding:11px}.slot.selected{background:var(--blue);color:white;border-color:var(--blue)}.steps{display:flex;gap:18px;margin-bottom:25px;color:var(--muted);font-size:.8rem}.steps b{color:var(--blue-dark)}.success-icon{width:64px;height:64px;background:#e7f7f2;color:#19745c;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px}.success-icon .icon{width:32px;height:32px}.mobile-menu{display:none}.mobile-bottom{display:none}dialog{border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 100px #00112840;width:min(620px,calc(100% - 30px));max-height:90vh;overflow:auto;overscroll-behavior:contain;padding:26px;color:var(--ink);background:white}dialog::backdrop{background:#03182b80;backdrop-filter:blur(3px)}dialog .card-head{margin-bottom:20px}dialog form{display:grid;gap:18px}dialog .actions{justify-content:flex-end;margin-top:5px}.modal-copy{color:var(--muted);font-size:.95rem}.close{background:#f0f4f8;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--muted);flex-shrink:0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--navy);color:white;padding:14px 22px;border-radius:12px;box-shadow:0 8px 30px #00112830;z-index:100;transition:transform .2s;max-width:90vw;text-align:center;font-size:.9rem}#toast.show{transform:translateX(-50%) translateY(0)}.skip{position:fixed;left:10px;top:-60px;background:white;padding:10px;z-index:200}.skip:focus{top:10px}.report-value{font-size:1.2rem;font-weight:650}.service-bar{height:8px;background:#edf3fb;border-radius:5px;margin-top:10px;overflow:hidden}.service-bar span{display:block;height:100%;background:var(--blue);border-radius:5px}.brand-reference{width:100%;border-radius:14px;border:1px solid var(--line)}.settings-service{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:10px;align-items:end}.hidden{display:none!important}body.menu-open{overflow:hidden}.nav-overlay{display:none}
@media(min-width:1500px){.main{padding-top:40px}.grid-4{gap:24px}.dashboard-grid{gap:26px}}
@media(max-width:1180px){.sidebar{width:210px}.brand-block{padding-left:25px}.shell{margin-left:210px}.main{padding:25px}.topbar{padding:0 25px}.demo-ribbon{padding:8px 25px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.grid-4{gap:12px}.stat{padding:18px}.stat .value{font-size:1.7rem}.auth-art{padding:40px}.auth-art h1{font-size:2.6rem}}
@media(max-width:960px){.grid-3{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.stack{display:grid;grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}.plans{max-width:600px;margin:25px auto}.auth{grid-template-columns:.8fr 1fr}.auth-art{padding:30px}.auth-art h1{font-size:2.2rem}.auth-art img{display:none}.page-heading{align-items:start}.settings-service{grid-template-columns:1fr 1fr}.booking-layout{grid-template-columns:240px 1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px}.menu-open .sidebar{transform:translateX(0)}.menu-open .nav-overlay{display:block;position:fixed;inset:0;background:#03182b80;z-index:19}.shell{margin:0}.mobile-menu{display:grid;place-items:center;background:transparent;color:var(--ink);padding:8px}.topbar{height:67px;padding:0 18px}.topbar .user .user-text{display:none}.crumb{display:none}.topbar .mobile-brand{display:block}.demo-ribbon{padding:9px 18px;font-size:.75rem}.main{padding:25px 18px 100px}.page-heading{gap:15px;flex-wrap:wrap;margin-bottom:24px}h1{font-size:1.7rem}.grid-4{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:18px}.stat .icon-wrap{margin-bottom:10px}.stat .value{font-size:1.8rem}.card{padding:19px}.dashboard-grid>.stack{grid-template-columns:1fr}.mobile-bottom{display:flex;position:fixed;inset:auto 0 0;background:white;border-top:1px solid var(--line);justify-content:space-around;padding:9px 4px max(10px,env(safe-area-inset-bottom));z-index:15}.mobile-bottom a{display:grid;justify-items:center;gap:3px;color:var(--muted);font-size:.7rem;min-width:54px}.mobile-bottom a.active{color:var(--blue)}.mobile-bottom .icon{width:22px;height:22px}.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-form{padding:35px 24px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.booking-layout{grid-template-columns:1fr}.booking-business{padding:22px}.booking-business h1{margin-top:12px}.public{padding:20px 16px 45px}.public-header{gap:10px}.slots{grid-template-columns:repeat(3,1fr)}.calendar-days{gap:5px}.day{padding:9px 2px;font-size:.75rem}.day strong{font-size:1.2rem}.timeline-item{grid-template-columns:46px 1fr;gap:10px}.timeline-item .event{flex-wrap:wrap;padding:13px}.toolbar .search{width:100%;max-width:none}.toolbar>.actions{width:100%}.qr-card{padding:25px}.plan{padding:26px}#toast{bottom:90px}.topbar .btn.ghost{padding:8px}.settings-service{grid-template-columns:1fr 1fr}dialog{padding:22px}.data-table td{padding:13px 10px}}
@media(min-width:761px){.mobile-brand{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:760px){.sidebar{visibility:hidden}.menu-open .sidebar{visibility:visible}}

/* TRNO v6 · disponibilidad semanal */
.availability-card{overflow:hidden}.availability-title .icon{color:var(--blue)}.availability-list{display:grid;gap:12px;margin:18px 0}.availability-day{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfdff}.availability-day.closed{background:#f7f9fc}.availability-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.availability-toggle{display:flex;align-items:center;gap:11px;cursor:pointer}.availability-toggle input{width:20px;height:20px;accent-color:var(--blue)}.availability-toggle span{display:grid}.availability-toggle small{color:var(--muted);font-size:.78rem}.hours-blocks{display:grid;gap:10px;margin-top:14px}.availability-block{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:12px;border-radius:11px;background:white;border:1px solid #edf1f6}.danger-icon{color:#a82644;min-width:44px;padding:9px}.availability-day.closed .hours-blocks,.availability-day.closed .add-hours{display:none}.availability-day.closed .availability-toggle b{color:var(--muted)}
@media(max-width:760px){.availability-day-head{align-items:flex-start}.availability-day-head .add-hours{font-size:.78rem;padding:7px 9px}.availability-block{grid-template-columns:1fr 1fr auto;gap:7px;padding:10px}.availability-block .field span{font-size:.75rem}.availability-block .field input{padding:9px 8px}.availability-toggle{align-items:flex-start}}

/* TRNO v9 · gestión rápida de citas */
.badge.Reprogramada{background:#f0edff;color:#6254b7}.badge.NoAsistio{background:#eef1f6;color:#526177}.appointment-manage{display:grid;gap:16px;padding:16px;border:1px solid var(--line);background:#f8fafd;border-radius:14px;margin-bottom:18px}.appointment-state{display:flex;align-items:center;justify-content:space-between;gap:12px}.appointment-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.appointment-action-grid .btn{width:100%}.appointment-contact{display:flex;gap:14px;flex-wrap:wrap;padding-top:2px;color:var(--muted)}
@media(max-width:520px){.appointment-action-grid{grid-template-columns:1fr}.appointment-state{align-items:flex-start;flex-direction:column}.appointment-action-grid .btn{justify-content:flex-start}}


/* TRNO v12 · consumo de WhatsApp con alertas 80/90/100 */
.wa-progress span,.wa-mini-progress span{transition:width .25s ease,background .2s ease}
.wa-progress.ok span,.wa-mini-progress.ok span{background:var(--blue)}
.wa-progress.warning span,.wa-mini-progress.warning span{background:#d98a16}
.wa-progress.critical span,.wa-mini-progress.critical span{background:#d65b31}
.wa-progress.blocked span,.wa-mini-progress.blocked span{background:#b52442}
.wa-progress.none span,.wa-mini-progress.none span{background:#aeb9c6}
.wa-mini-progress{height:5px;border-radius:5px;background:#ffffff20;overflow:hidden;margin:0 0 6px}
.wa-mini-progress span{display:block;height:100%;border-radius:5px}
.wa-mini-status{display:block;margin:0 0 10px;color:#b9cde1}
.wa-mini-status.warning{color:#ffd590}.wa-mini-status.critical{color:#ffad92}.wa-mini-status.blocked{color:#ff9bad}
.usage-alert{display:flex;gap:13px;align-items:flex-start;padding:15px 17px;border:1px solid #dbe8f7;background:#f4f9ff;border-radius:13px;color:#315775}
.usage-alert .usage-alert-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e2efff;color:var(--blue);flex-shrink:0}
.usage-alert p{margin:3px 0 0;font-size:.88rem;line-height:1.55}.usage-alert small{display:block;margin-top:5px;color:var(--muted)}
.usage-alert.warning{background:#fff8e9;border-color:#f2deb0;color:#78551b}.usage-alert.warning .usage-alert-icon{background:#fff0c9;color:#b96f00}
.usage-alert.critical{background:#fff1eb;border-color:#f3c7b8;color:#803e29}.usage-alert.critical .usage-alert-icon{background:#ffe0d5;color:#c44b26}
.usage-alert.blocked{background:#fff0f2;border-color:#efc0c9;color:#8b2940}.usage-alert.blocked .usage-alert-icon{background:#ffdce3;color:#b52442}
.usage-alert.none{background:#f6f8fb;border-color:var(--line);color:var(--muted)}.usage-alert.none .usage-alert-icon{background:#e9edf3;color:#728095}
.whatsapp-usage-card.usage-warning,.current-plan-summary.usage-warning{border-color:#ecd59e}.whatsapp-usage-card.usage-critical,.current-plan-summary.usage-critical{border-color:#efb7a4}.whatsapp-usage-card.usage-blocked,.current-plan-summary.usage-blocked{border-color:#e9a9b6}
.usage-summary-line{display:flex;justify-content:space-between;gap:12px;margin-top:9px;font-size:.82rem;color:var(--muted)}
.usage-inline-alert{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center;margin-top:13px;padding-top:13px;border-top:1px solid var(--line);font-size:.82rem}.usage-inline-alert span{color:var(--muted)}
.usage-inline-alert.warning b{color:#a26300}.usage-inline-alert.critical b{color:#bd4824}.usage-inline-alert.blocked b{color:#a82644}
.wa-dashboard-usage{margin-top:10px}.wa-dashboard-usage .service-bar{margin-top:0}.wa-dashboard-usage small{display:block;margin-top:6px}.usage-emphasis.warning{color:#a26300}.usage-emphasis.critical{color:#bd4824}.usage-emphasis.blocked{color:#a82644;font-weight:650}
@media(max-width:520px){.usage-inline-alert{grid-template-columns:1fr}.usage-alert{padding:13px}.wa-usage-number{font-size:1.45rem}}


/* TRNO v15 · ficha de cliente corregida y clasificación de recurrencia */
dialog:has(.client-profile){width:min(840px,calc(100% - 30px))}
.client-profile{display:grid;gap:18px}.client-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#f2f7ff,#fbfdff);border:1px solid #dce9f8}.client-profile-person{display:flex;align-items:center;gap:14px}.client-avatar-lg{width:54px;height:54px;font-size:1rem}.client-profile-person h3{font-size:1.2rem;margin-bottom:5px}.client-contact-line{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.client-contact-line span{display:inline-flex;gap:5px;align-items:center}.client-contact-line .icon{width:16px;height:16px}.client-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.client-kpis>div{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px}.client-kpis span{display:block;color:var(--muted);font-size:.75rem}.client-kpis b{display:block;font-size:1.25rem;margin-top:3px}.client-visit-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px}.client-visit-strip>div{padding:13px 15px;border-radius:13px;background:#f8fafd;border:1px solid var(--line)}.client-visit-strip span{display:block;font-size:.75rem;color:var(--muted)}.client-visit-strip b{display:block;margin-top:4px;font-size:.88rem}.client-edit-details{border:1px solid var(--line);border-radius:14px;background:#fff}.client-edit-details summary{cursor:pointer;padding:14px 16px;font-weight:650;color:var(--blue)}.client-edit-details[open] summary{border-bottom:1px solid var(--line)}.client-edit-details form{padding:16px}.client-section{padding-top:3px}.client-section+.client-section{border-top:1px solid var(--line);padding-top:20px}.client-history-list{display:grid;gap:8px}.client-history-row{width:100%;display:flex;justify-content:space-between;gap:14px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;color:var(--ink)}.client-history-row:hover{border-color:#b8d4f5;background:#f8fbff}.client-history-row>div{display:grid;gap:3px}.client-history-row>div:last-child{justify-items:end}.client-history-row small{color:var(--muted);font-size:.75rem}.client-records{display:grid;gap:12px}.client-record-item{border-left:3px solid var(--blue);background:#f8fbff;border-radius:10px;padding:13px 14px}.client-record-item p{white-space:pre-wrap;margin:9px 0 4px;line-height:1.55;font-size:.88rem}.client-record-item small{display:block;color:var(--muted);font-size:.72rem}.client-record-item .danger-icon{min-width:auto;padding:6px}.client-record-form{margin-top:6px;padding:16px;border:1px dashed #bad3ef;border-radius:14px;background:#fbfdff}
@media(max-width:760px){dialog:has(.client-profile){width:calc(100% - 22px)}.client-profile-hero{align-items:flex-start;flex-direction:column}.client-kpis{grid-template-columns:1fr 1fr}.client-visit-strip{grid-template-columns:1fr}.client-history-row{align-items:flex-start}.client-history-row>div:last-child{justify-items:start}.client-contact-line{display:grid}.client-record-form{padding:13px}}
.team-card{overflow:hidden}.team-list{display:grid;gap:9px}.team-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.team-row:last-child{border-bottom:0}.team-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.record-actions{gap:2px}.record-actions .btn{min-height:34px;padding:5px 7px}.record-actions .icon{width:17px;height:17px}
@media(max-width:760px){.team-row{align-items:flex-start;flex-direction:column}.team-row>.actions{width:100%;justify-content:space-between}.team-actions{align-items:flex-start;flex-direction:column}.record-actions{flex-wrap:nowrap}}

.business-cover{width:100%;max-height:220px;object-fit:cover;border-radius:12px}.business-logo{width:90px;height:90px;object-fit:contain;background:white;border-radius:16px;padding:8px;margin:12px 0}fieldset{border:1px solid #d5dfeb;border-radius:10px;padding:14px}summary{cursor:pointer;font-weight:600;padding:12px}details form{margin-top:20px}

/* TRNO v17.2 · selector de clientes con búsqueda accesible */
.client-picker{position:relative}
.client-picker-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%);overflow:hidden;padding:0!important;border:0!important}
.client-picker-results{display:grid;gap:6px;max-height:240px;overflow:auto;padding:7px;border:1px solid #c9daed;border-radius:11px;background:#fff;box-shadow:0 12px 30px #05203d1c}
.client-picker-results[hidden]{display:none}
.client-picker-option{display:grid;gap:2px;width:100%;padding:11px 12px;text-align:left;border:1px solid transparent;border-radius:9px;background:#f8fbff;color:var(--ink)}
.client-picker-option:hover,.client-picker-option:focus-visible{border-color:#9fc6f3;background:#edf6ff}
.client-picker-option b{font-size:.9rem}
.client-picker-option small{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}
.client-picker-empty{padding:12px;color:var(--muted);font-size:.85rem;text-align:center}
.client-picker-selected{padding:9px 11px;border-radius:9px;background:#f4f6f9;color:var(--muted);font-size:.82rem}
.client-picker-selected.has-value{background:#eef6ff;color:#24577f}
@media(max-width:760px){.client-picker-results{max-height:190px}.client-picker-option{padding:12px}}

/* Bloque 2, sin alterar estilos de agenda v17.3. */
.platform-shell{max-width:1400px;margin:auto}.user [data-b2-count]{min-width:1.3em;font-weight:700}.workspace select{max-width:100%;font-size:.875rem}.platform-shell .mini-row{gap:16px;flex-wrap:wrap}


/* TRNO v20.2 · correcciones PWA iPhone */
@media(max-width:760px){
  .sidebar{
    height:100dvh;
    max-height:100dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-top:env(safe-area-inset-top);
    padding-bottom:max(18px,env(safe-area-inset-bottom));
  }
  .sidebar .nav{flex:0 0 auto}
  .sidebar-bottom{margin-top:12px;flex-shrink:0}
  .topbar{
    height:auto;
    min-height:calc(67px + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top);
    padding-left:18px;
    padding-right:18px;
  }
  #toast{bottom:calc(90px + env(safe-area-inset-bottom))}
}

/* TRNO v20.3 · ajuste final iPhone/PWA */
#toast{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
#toast.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
#toast:empty{display:none!important}
@media(max-width:760px){
  .topbar{
    height:auto;
    min-height:82px;
    padding-top:max(18px,calc(env(safe-area-inset-top) + 8px));
    padding-bottom:8px;
    padding-left:18px;
    padding-right:18px;
  }
  .topbar>.actions,.topbar>.user{align-self:center}
  .mobile-menu{align-self:center;margin-top:2px}
  #toast{
    bottom:calc(90px + env(safe-area-inset-bottom));
    transform:translateX(-50%) translateY(180px);
  }
  #toast.show{transform:translateX(-50%) translateY(0)}
}

/* ========================================================================== 
   TRNO v22.0 · UI/UX refresh
   Solo presentación: conserva Supabase, WhatsApp, pagos y automatizaciones.
   ========================================================================== */
:root{
  --navy:#061c33;
  --navy-2:#0b2747;
  --blue:#087dff;
  --blue-dark:#0068df;
  --blue-soft:#eaf4ff;
  --ink:#10253d;
  --muted:#65778c;
  --line:#e4ebf3;
  --bg:#f5f8fc;
  --pale:#edf5ff;
  --surface:#fff;
  --shadow-sm:0 7px 24px rgba(8,34,64,.055);
  --shadow-md:0 16px 42px rgba(8,34,64,.09);
  --radius:20px;
}
body{background:var(--bg);color:var(--ink);text-rendering:optimizeLegibility}
h1{font-size:clamp(1.85rem,2.2vw,2.35rem);font-weight:760;letter-spacing:-.048em}
h2{font-weight:720;letter-spacing:-.03em}
.btn{border-radius:13px;min-height:46px;padding:11px 18px;box-shadow:0 5px 14px rgba(8,125,255,.12);transition:background .18s,transform .18s,box-shadow .18s,border-color .18s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(8,125,255,.16)}
.btn.secondary{box-shadow:none;background:#fff;border-color:#dfe7f1}
.btn.secondary:hover{background:#f7fbff;border-color:#c8dcf3;box-shadow:none}
.btn.ghost{box-shadow:none}
.card{border-color:#e6edf5;box-shadow:var(--shadow-sm);transition:border-color .18s,box-shadow .18s,transform .18s}
.card:hover{border-color:#dce7f3}
.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--blue-dark);font-size:.84rem;font-weight:650;text-decoration:none;white-space:nowrap}
.text-link .icon{width:16px;height:16px}
.text-link:hover{text-decoration:none;color:var(--blue)}
.eyebrow{color:#6d8299;font-size:.69rem;letter-spacing:.13em;font-weight:780}

/* Logo oficial v22: PNG transparente y sin fondo propio. */
.brand{width:156px;height:54px;overflow:visible;display:flex;align-items:center;flex-shrink:0}
.brand img{position:static;width:100%;height:auto;max-width:100%;object-fit:contain;display:block}
.brand-block{padding:20px 26px;background:linear-gradient(180deg,#fff,#fbfdff);border-bottom:1px solid #e5edf6}
.mobile-brand .brand{width:116px;height:44px}
.auth-form .brand{width:180px;height:66px;margin-bottom:30px}
.public-header .brand{width:160px;height:58px;background:rgba(255,255,255,.94);padding:7px 10px;border-radius:14px;box-shadow:0 8px 22px rgba(6,28,51,.06)}

/* Navegación */
.sidebar{width:248px;background:linear-gradient(180deg,#061c33 0%,#071a2e 100%);box-shadow:10px 0 35px rgba(4,25,46,.08)}
.shell{margin-left:248px}
.workspace{padding:19px 22px 18px;margin-bottom:10px;border-bottom-color:rgba(255,255,255,.08)}
.workspace b{font-weight:680}
.nav{padding:2px 13px;gap:4px}
.nav a{min-height:44px;padding:10px 13px;border-radius:12px;color:#b8c9d9;font-size:.885rem}
.nav a .icon{width:19px;height:19px;opacity:.9}
.nav a.active{background:linear-gradient(135deg,#0b85ff,#0874ed);box-shadow:0 9px 22px rgba(8,125,255,.23)}
.sidebar-bottom{padding:18px 20px 22px}
.sidebar-bottom .plan-label{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.12);border-radius:15px}
.topbar{height:78px;padding:0 32px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:12}
.topbar .btn.secondary.sm{border-radius:12px;background:#f8fbff}
.main{padding:32px 34px 56px}
.page-heading{margin-bottom:24px}
.page-heading p{font-size:.94rem;margin-top:6px}

/* Dashboard hero */
.dashboard-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 32px;margin-bottom:22px;border-radius:26px;background:linear-gradient(118deg,#071f39 0%,#0b3157 70%,#0d4475 100%);color:#fff;box-shadow:0 20px 50px rgba(3,30,56,.12)}
.dashboard-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-110px;top:-195px;background:radial-gradient(circle,rgba(31,137,255,.38),rgba(31,137,255,0) 68%);pointer-events:none}
.dashboard-hero-copy{position:relative;z-index:1}
.dashboard-hero .eyebrow{color:#9fcaff}
.dashboard-hero h1{font-size:clamp(2.05rem,3vw,2.75rem);margin:6px 0 7px;color:#fff}
.dashboard-hero p{color:#c2d5e8;max-width:620px;font-size:.98rem}
.dashboard-hero-actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap}
.dashboard-hero-actions .btn{box-shadow:0 9px 22px rgba(3,18,34,.2)}
.today-pill{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 14px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.075);backdrop-filter:blur(8px)}
.today-pill-dot{width:9px;height:9px;border-radius:50%;background:#39d99b;box-shadow:0 0 0 5px rgba(57,217,155,.12)}
.today-pill div{display:grid;line-height:1.15}
.today-pill small{font-size:.62rem;letter-spacing:.12em;color:#a9bfd6;font-weight:750}
.today-pill b{font-size:.88rem;color:#fff;font-weight:650}

/* Dashboard stats */
.dashboard-stats{gap:14px}
.dashboard-stats .stat{padding:20px 21px;overflow:hidden}
.stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.stat .icon-wrap{margin:0;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#eaf4ff,#f5f9ff);border:1px solid #e0edfb;color:#087dff}
.stat-dot{width:6px;height:6px;border-radius:50%;background:#d8e4f1}
.stat-label{display:block;color:#65778c;font-size:.77rem;font-weight:620}
.stat .value{font-size:1.95rem;margin:2px 0 1px}
.stat small{font-size:.76rem}
.dashboard-grid-v22{grid-template-columns:minmax(0,1.65fr) minmax(310px,.85fr);gap:20px;margin-top:20px}
.dashboard-grid-v22 .card{padding:23px}
.card-head.compact{margin-bottom:15px}
.card-head .eyebrow+ h2,.card-head .eyebrow+h2{margin-top:4px}
.agenda-today-card .card-head,.week-card .card-head{margin-bottom:18px}
.agenda-today-card .data-table th{background:#f8fbff}
.agenda-today-card .data-table td{padding-top:15px;padding-bottom:15px}
.week-card .week-chart{height:145px;margin-top:3px}
.qr-shortcut{background:linear-gradient(145deg,#fff,#f8fbff)}
.qr-shortcut .feature-icon,.upcoming-empty .feature-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e9f4ff;color:var(--blue)}
.qr-shortcut .feature-icon .icon,.upcoming-empty .feature-icon .icon{width:21px;height:21px}
.qr-shortcut .btn{margin-top:18px}
.daily-summary .mini-row{padding:12px 0}

/* Próxima cita */
.upcoming-v22{background:linear-gradient(150deg,#061c33,#0b2f54);padding:25px;box-shadow:0 18px 42px rgba(6,28,51,.14)}
.upcoming-v22:after{content:"";position:absolute;width:170px;height:170px;right:-80px;top:-60px;border-radius:50%;background:rgba(8,125,255,.14)}
.upcoming-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}
.upcoming-top .eyebrow{color:#91bce5}
.upcoming-clock{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;color:#9fcaff;background:rgba(255,255,255,.07)}
.upcoming-client{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin:22px 0 12px}
.upcoming-client h3{font-size:1.18rem;margin:0 0 2px}
.upcoming-client p{color:#b9cbdd;font-size:.84rem}
.upcoming-avatar{width:46px;height:46px;background:#e7f2ff;color:#0768cc}
.upcoming-time-row{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:6px}
.upcoming-v22 .time-big{font-size:2.7rem;margin:0}
.upcoming-v22 .badge{margin-bottom:7px;background:rgba(255,255,255,.12);color:#d8eaff;border:1px solid rgba(255,255,255,.1)}
.upcoming-meta{position:relative;z-index:1;color:#b7c9dc;font-size:.8rem;margin:2px 0 0}
.upcoming-v22 .btn{position:relative;z-index:1;margin-top:21px}
.upcoming-empty{position:relative;z-index:1;display:grid;gap:10px;margin-top:20px}
.upcoming-empty h3{margin:0}.upcoming-empty p{color:#b8cadc}

/* Agenda */
.agenda-page{max-width:1220px;margin:0 auto}
.agenda-control-panel{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;padding:15px 17px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.84);box-shadow:0 8px 24px rgba(8,34,64,.035)}
.agenda-date-nav,.agenda-filter-row{display:flex;align-items:end;gap:9px;flex-wrap:wrap}
.agenda-date-field input{height:46px;border:1px solid #dce6f1;border-radius:13px;background:#fff;padding:10px 13px;color:var(--ink);font-weight:620}
.icon-only{width:46px;padding:0}
.agenda-prof-filter,.agenda-prof-readonly{min-width:230px}
.agenda-prof-filter>span,.agenda-prof-readonly>span{font-size:.71rem;color:#718296;font-weight:650;margin-left:3px}
.agenda-segmented{height:46px;padding:4px;border-radius:13px;background:#edf2f8}
.agenda-segmented button{padding:7px 16px;border-radius:10px}
.calendar-days-v22{display:flex;overflow-x:auto;gap:9px;padding:2px 1px 8px;margin-bottom:18px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x}.calendar-days-v22::-webkit-scrollbar{display:none}
.calendar-days-v22 .day{position:relative;flex:0 0 calc((100% - 54px)/7);min-width:82px;min-height:80px;padding:9px 5px;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(8,34,64,.025);transition:transform .15s,border-color .15s,background .15s;scroll-snap-align:start}
.calendar-days-v22 .day:hover{transform:translateY(-1px);border-color:#c7dbf0}
.calendar-days-v22 .day span{display:block;text-transform:capitalize;font-size:.74rem}
.calendar-days-v22 .day strong{font-size:1.38rem;margin-top:2px}
.calendar-days-v22 .day small{display:block;font-size:.59rem;color:var(--blue);font-weight:750;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.calendar-days-v22 .day.today:not(.selected){border-color:#cfe3fa;background:#f8fbff}
.calendar-days-v22 .day.selected{background:linear-gradient(145deg,#0b86ff,#0875ed);box-shadow:0 10px 25px rgba(8,125,255,.18)}
.calendar-days-v22 .day.selected small{color:#dcebff}
.agenda-card{padding:25px 27px}
.agenda-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.agenda-card-head h2{font-size:1.25rem;margin-top:3px;text-transform:none}
.appointment-count{display:inline-flex;align-items:center;padding:7px 10px;border-radius:10px;background:#f3f7fb;color:#64768a;font-size:.76rem;font-weight:650}
.agenda-summary{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0 18px;margin-bottom:4px;border-bottom:1px solid #edf2f7}
.agenda-summary span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:9px;background:#fafcff;color:#64768a;font-size:.72rem}
.agenda-summary b{color:#304861}
.status-indicator{width:7px;height:7px;border-radius:50%}.status-indicator.confirmed{background:#087dff}.status-indicator.pending{background:#e4a72f}.status-indicator.rescheduled{background:#7668d6}
.agenda-content{padding-top:15px}
.timeline-item{grid-template-columns:72px 1fr;gap:13px;margin-bottom:12px}
.timeline-time{display:grid;align-content:start;justify-items:end;padding-top:14px}
.timeline-time b{font-size:.96rem;color:#1c334d}.timeline-time small{font-size:.67rem;color:#8494a6;margin-top:2px}
.timeline-item .event{min-height:80px;padding:14px 15px;border-left-width:4px;border-radius:15px;background:#f4f9ff;border-top:1px solid #e8f1fb;border-right:1px solid #e8f1fb;border-bottom:1px solid #e8f1fb;box-shadow:0 5px 17px rgba(8,34,64,.025)}
.timeline-item.status-pending .event{border-left-color:#e5ad38;background:#fffaf0;border-top-color:#f3ead3;border-right-color:#f3ead3;border-bottom-color:#f3ead3}
.timeline-item.status-rescheduled .event{border-left-color:#7668d6;background:#f7f5ff;border-top-color:#e9e5fb;border-right-color:#e9e5fb;border-bottom-color:#e9e5fb}
.timeline-item.status-cancelled .event{border-left-color:#aebaca;background:#f6f7f9}
.event-main{display:flex;align-items:center;gap:12px;min-width:0}
.event-avatar{width:42px;height:42px;background:#fff;border:1px solid #e0e9f3;color:#086acb;box-shadow:0 4px 12px rgba(8,34,64,.04)}
.event-copy{display:grid;gap:2px;min-width:0}.event-copy>b{font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-copy small{font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-detail{font-size:.67rem;color:#8796a7;margin-top:1px}
.event-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.icon-btn{width:40px;min-height:40px;padding:0;border-radius:12px}.icon-btn .icon{width:18px;height:18px}
.agenda-footnote{display:flex;align-items:center;gap:7px;margin:14px 4px 0;color:#738499;font-size:.77rem}.agenda-footnote .icon{width:16px;height:16px}

/* Estados más claros en toda la app */
.badge{border-radius:9px;padding:5px 9px;font-size:.7rem;letter-spacing:.01em;border:1px solid transparent}
.badge.Confirmada{background:#eaf4ff;color:#0868c9;border-color:#d8eaff}.badge.Pendiente{background:#fff7e7;color:#98670d;border-color:#f4e7c7}.badge.Reprogramada{background:#f2efff;color:#6655bb;border-color:#e4defb}.badge.Completada{background:#e9f8f2;color:#1e765d;border-color:#d9f0e8}.badge.Cancelada{background:#f9eef1;color:#a53c53;border-color:#f0dce2}

/* Mobile-first polish */
@media(max-width:1180px){
  .sidebar{width:220px}.shell{margin-left:220px}.brand-block{padding-left:25px;padding-right:25px}
  .dashboard-grid-v22{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr)}
  .agenda-control-panel{align-items:stretch;flex-direction:column}.agenda-filter-row{justify-content:space-between}.agenda-prof-filter,.agenda-prof-readonly{flex:1}
}
@media(max-width:960px){
  .dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero-actions{width:100%;justify-content:space-between}
  .dashboard-grid-v22{grid-template-columns:1fr}.dashboard-grid-v22>.stack{display:grid;grid-template-columns:1fr 1fr}.dashboard-grid-v22>.stack:first-child{grid-template-columns:1fr}
}
@media(max-width:760px){
  .sidebar{width:274px}.shell{margin:0}.main{padding:20px 16px 105px}.topbar{padding-left:14px;padding-right:14px;background:#fff}.topbar .user{gap:7px}.topbar .user .avatar{display:none}.topbar .btn.secondary.sm{min-width:42px;padding:8px}.brand-block{padding:18px 23px}.brand-block .brand{width:148px}
  .page-heading{align-items:center;margin-bottom:18px}.page-heading>div{min-width:0}.page-heading h1{font-size:1.72rem}.page-heading p{font-size:.83rem}.page-heading>.btn{min-height:42px;padding:9px 13px;font-size:.8rem}
  .dashboard-hero{padding:24px 21px;border-radius:22px;margin-bottom:16px}.dashboard-hero h1{font-size:2rem}.dashboard-hero p{font-size:.87rem}.dashboard-hero-actions{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.today-pill{min-height:46px;padding:7px 11px}.dashboard-hero-actions .btn{width:100%;padding-left:10px;padding-right:10px}
  .dashboard-stats{grid-template-columns:1fr 1fr;gap:10px}.dashboard-stats .stat{padding:16px}.stat .icon-wrap{width:36px;height:36px}.stat .value{font-size:1.65rem}.stat small{font-size:.69rem}.stat-label{font-size:.71rem}
  .dashboard-grid-v22{margin-top:14px;gap:14px}.dashboard-grid-v22>.stack,.dashboard-grid-v22>.stack:first-child{grid-template-columns:1fr;gap:14px}.dashboard-grid-v22 .card{padding:18px}.upcoming-v22{padding:21px}.upcoming-v22 .time-big{font-size:2.35rem}
  .agenda-control-panel{padding:12px;border-radius:16px;gap:12px}.agenda-date-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px auto;width:100%;gap:7px}.agenda-date-nav .btn{min-height:42px}.agenda-date-field input{width:100%;height:42px;padding:8px 9px;font-size:.83rem}.icon-only{width:42px}.agenda-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;width:100%;gap:8px}.agenda-prof-filter,.agenda-prof-readonly{min-width:0}.agenda-prof-filter select,.agenda-prof-readonly .input{min-height:42px;padding:9px 10px;font-size:.82rem}.agenda-segmented{height:42px}.agenda-segmented button{padding:6px 11px;font-size:.8rem}
  .calendar-days-v22{gap:7px;padding:2px 1px 8px;margin:0 -1px 12px;scroll-snap-type:x proximity}.calendar-days-v22 .day{flex:0 0 70px;min-width:70px;min-height:72px;scroll-snap-align:start;border-radius:14px}.calendar-days-v22 .day strong{font-size:1.25rem}.calendar-days-v22 .day small{font-size:.55rem}
  .agenda-card{padding:18px 15px;border-radius:18px}.agenda-card-head{align-items:flex-start}.agenda-card-head h2{font-size:1.08rem}.agenda-summary{gap:6px;padding-bottom:14px}.agenda-summary span{font-size:.65rem;padding:5px 7px}.agenda-content{padding-top:11px}
  .timeline-item{grid-template-columns:49px minmax(0,1fr);gap:8px;margin-bottom:10px}.timeline-time{padding-top:11px}.timeline-time b{font-size:.82rem}.timeline-time small{font-size:.57rem}.timeline-item .event{align-items:flex-start;flex-direction:column;gap:10px;padding:12px;border-radius:13px}.event-main{width:100%}.event-avatar{width:38px;height:38px}.event-copy>b{font-size:.86rem}.event-copy small{font-size:.69rem}.event-detail{font-size:.61rem}.event-actions{width:100%;justify-content:space-between;padding-left:50px}.icon-btn{width:38px;min-height:38px}.agenda-footnote{align-items:flex-start;font-size:.69rem;line-height:1.45}
  .mobile-bottom{border-top-color:#e5ecf4;box-shadow:0 -8px 26px rgba(5,27,50,.05);padding-top:8px}.mobile-bottom a{font-weight:570}.mobile-bottom a.active{font-weight:700}
}
@media(max-width:430px){
  .dashboard-hero-actions{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:1fr 1fr}.today-pill{justify-content:flex-start}.agenda-filter-row{grid-template-columns:1fr}.agenda-segmented{justify-self:start}.agenda-summary span{flex:1 1 auto}.page-heading>.btn{width:auto}.mobile-brand .brand{width:108px}
}
.brand-v22{background:transparent}


/* TRNO v22.1 · correcciones Dashboard, iconografía y cliente rápido */
.client-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.inline-client-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--blue-dark);font-weight:700;font-size:.82rem;padding:5px 2px}
.inline-client-toggle .icon{width:17px;height:17px}
.appointment-inline-client{margin-top:10px;padding:16px;border:1px solid #cfe1f6;border-radius:13px;background:#f7fbff;display:grid;gap:14px}
.inline-client-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink)}
.inline-client-title small{display:block;color:var(--muted);font-weight:400;margin-top:2px}
.inline-client-title>.icon{color:var(--blue);width:24px;height:24px}
.inline-consent{padding:10px 12px;background:white;border:1px solid #dfebf7;border-radius:10px}
@media(max-width:760px){.client-picker-heading{align-items:flex-start}.inline-client-toggle{min-height:34px}.appointment-inline-client{padding:14px}.appointment-inline-client .form-grid{gap:12px}}

/* TRNO v22.2 · tarjetas rápidas del Dashboard */
.stat-link{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.stat-link:hover{color:inherit;text-decoration:none;transform:translateY(-2px);border-color:#cbdff5;box-shadow:0 12px 28px rgba(5,27,50,.08)}
.stat-link:active{transform:translateY(0)}
.stat-link:focus-visible{outline:3px solid #65adff;outline-offset:3px}
.stat-open{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f1f7ff;color:var(--blue)}
.stat-open .icon{width:17px;height:17px}
@media(max-width:760px){.stat-link:hover{transform:none;box-shadow:none}.stat-open{width:26px;height:26px}}


/* TRNO v22.3 · Clientes */
.client-directory-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.client-directory-summary>div{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon small" "icon value";column-gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px 17px}.client-directory-summary .icon-wrap{grid-area:icon;width:40px;height:40px;border-radius:11px;background:var(--pale);color:var(--blue);display:grid;place-items:center}.client-directory-summary small{grid-area:small;color:var(--muted);font-size:.76rem}.client-directory-summary b{grid-area:value;font-size:1.25rem;letter-spacing:-.03em}.client-toolbar{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px 14px}.client-search-wrap{display:flex;align-items:center;gap:9px;flex:1;min-width:240px}.client-search-wrap>.icon{color:var(--muted)}.client-search-wrap .search{max-width:none;border:0;background:transparent;padding-left:2px}.client-search-wrap .search:focus{outline:none;border:0}.client-filter-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem}.client-filter-label .input{min-width:190px;padding:9px 34px 9px 11px;min-height:40px}.client-results-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 2px 12px;color:var(--muted);font-size:.82rem}.client-results-head b{color:var(--ink)}.client-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.client-directory-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.client-directory-card:hover{transform:translateY(-1px);border-color:#c6dcf6;box-shadow:0 10px 28px #05203d0a}.client-card-open{width:100%;text-align:left;background:#fff;color:var(--ink);padding:18px}.client-directory-person{display:flex;align-items:center;gap:12px;position:relative}.client-avatar-card{width:44px;height:44px;font-size:.9rem}.client-directory-person h3{font-size:1rem;margin-bottom:2px}.client-directory-person p{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.client-card-chevron{margin-left:auto;color:#9db2c9}.client-card-chevron .icon{width:18px}.client-directory-details{display:grid;grid-template-columns:1.3fr .9fr .8fr;gap:8px;margin-top:16px}.client-directory-details>div{display:grid;gap:3px;min-width:0}.client-directory-details small{font-size:.7rem;color:var(--muted)}.client-directory-details b{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-directory-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.client-directory-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #edf2f7;background:#fbfdff}.client-wa-link{color:#17775e}.client-profile-v23{gap:20px}.client-profile-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.client-status-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:-8px}.client-kpis-v23>div{display:grid;gap:3px;align-content:start}.client-kpis-v23 small{color:var(--muted);font-size:.68rem}.client-kpis-v23 .kpi-text{font-size:.87rem;line-height:1.35;letter-spacing:-.01em}.client-upcoming-section{padding-top:0}.client-upcoming-list{display:grid;gap:8px}.client-next-appointment{width:100%;display:grid;grid-template-columns:95px 1fr auto 18px;gap:12px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 14px;color:var(--ink)}.client-next-appointment.primary{background:linear-gradient(135deg,#edf6ff,#f8fbff);border-color:#bad8fb}.client-next-appointment:hover{border-color:#8bbbf2}.client-next-date{display:grid;gap:2px}.client-next-date span{font-size:.7rem;color:var(--muted);text-transform:capitalize}.client-next-date b{font-size:1.2rem;color:var(--blue-dark)}.client-next-info{display:grid;gap:3px}.client-next-info small{color:var(--muted);font-size:.74rem}.client-next-appointment>.icon{width:17px;color:#9bb1c8}.client-no-upcoming{display:flex;align-items:center;gap:12px;padding:16px;border:1px dashed #bfd2e7;border-radius:13px;background:#fbfdff;color:var(--muted)}.client-no-upcoming>.icon{color:var(--blue)}.client-no-upcoming small{display:block;margin-top:2px}.client-notes-card{border:1px solid #dce8f4;background:#f8fbff;border-radius:14px;padding:15px 16px}.client-notes-head>div{display:flex;align-items:center;gap:9px}.client-notes-head .icon{color:var(--blue);width:18px}.client-notes-head span{display:grid}.client-notes-head small{color:var(--muted);font-size:.72rem;font-weight:400}.client-notes-card p{margin-top:10px;white-space:pre-wrap;font-size:.86rem;line-height:1.55}
@media(max-width:980px){.client-directory-summary{grid-template-columns:1fr 1fr}.client-directory-grid{grid-template-columns:1fr}.client-directory-details{grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:760px){.client-directory-summary{gap:9px}.client-directory-summary>div{padding:12px}.client-directory-summary .icon-wrap{width:35px;height:35px}.client-toolbar{align-items:stretch}.client-search-wrap{width:100%;min-width:0}.client-filter-label{width:100%;justify-content:space-between}.client-filter-label .input{flex:1;min-width:0}.client-results-head{align-items:flex-start;display:grid}.client-directory-card{border-radius:15px}.client-card-open{padding:15px}.client-directory-details{grid-template-columns:1fr 1fr}.client-directory-details>div:last-child{grid-column:1/-1}.client-directory-actions{padding:9px 12px}.client-profile-actions{width:100%}.client-profile-actions .btn{flex:1}.client-kpis-v23{grid-template-columns:1fr 1fr}.client-next-appointment{grid-template-columns:78px 1fr auto;padding:11px}.client-next-appointment>.icon{display:none}.client-next-appointment .badge{grid-column:2/4;justify-self:start}.client-upcoming-section .card-head{align-items:flex-start}.client-upcoming-section .card-head>.btn{flex-shrink:0}}


/* TRNO v22.4 · Reservas y QR intuitivos */
.qr-hub-v24{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:18px}.qr-share-card-v24{padding:25px}.qr-ready-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.qr-ready-head h2{font-size:1.45rem;margin:5px 0 7px}.qr-ready-head p{color:var(--muted);max-width:650px;line-height:1.55}.qr-main-v24{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:center;margin-top:24px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#fff);border:1px solid #dbe9f7}.qr-frame-v24{margin:0;width:100%;aspect-ratio:1;background:#fff;border:1px solid #dce8f4;border-radius:18px;padding:16px;display:grid;place-items:center}.qr-frame-v24 svg{width:100%;height:auto}.qr-share-copy h3{font-size:1.3rem}.qr-share-copy>p{margin-top:5px}.qr-action-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9px;margin-top:17px}.qr-action-grid .btn:last-child{grid-column:1/-1}.qr-link-box-v24{display:flex;align-items:center;gap:8px;margin-top:12px;min-width:0}.qr-link-box-v24 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.qr-link-box-v24 button{background:#fff;border:1px solid #dbe6f1;color:var(--blue);width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}.qr-preview-btn{margin-top:10px}.qr-trust-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px;color:#5e7288;font-size:.76rem}.qr-trust-row span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;background:#f8fbff;border:1px solid #e3edf7;border-radius:9px}.qr-trust-row .icon{width:15px}.qr-side-v24{gap:18px}.qr-step-v24{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:12px 0;border-bottom:1px solid #edf2f7}.qr-step-v24:last-child{border-bottom:0}.qr-step-v24>span{width:30px;height:30px;border-radius:9px;background:var(--pale);color:var(--blue);display:grid;place-items:center;font-weight:800}.qr-step-v24 p{color:var(--muted);font-size:.76rem;margin-top:2px;line-height:1.4}.qr-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.qr-status-grid>div{padding:11px;border:1px solid #e4edf6;border-radius:11px;background:#fbfdff;display:grid;gap:3px}.qr-status-grid .feature-icon{width:28px;height:28px}.qr-status-grid small{font-size:.66rem;color:var(--muted)}.qr-status-grid b{font-size:.88rem}.qr-service-list-v24{display:grid;gap:0;margin:6px 0 14px;border-top:1px solid #edf2f7}.qr-service-list-v24>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f7}.qr-service-list-v24 span{display:grid}.qr-service-list-v24 small{font-size:.68rem;color:var(--muted)}.qr-service-list-v24 strong{font-size:.76rem;color:#51677e;text-align:right}
.public-v24{background:#f4f8fc;min-height:100vh}.public-header-v24{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid #e4ebf3;position:sticky;top:0;z-index:20}.booking-layout-v24{max-width:1120px;grid-template-columns:340px minmax(0,1fr);align-items:start;gap:20px}.booking-business-v24{position:sticky;top:88px;overflow:hidden;padding:0;min-height:570px}.booking-business-v24 .brand-cover{height:165px}.booking-business-copy-v24{padding:24px}.booking-business-copy-v24 .avatar{margin-bottom:15px}.booking-business-copy-v24 h1{font-size:1.8rem;margin:7px 0 4px}.booking-business-copy-v24>p{opacity:.82;margin-bottom:24px}.booking-business-benefit{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid rgba(255,255,255,.16);font-size:.8rem}.booking-business-benefit .icon{width:17px;opacity:.9}.booking-panel-v24{padding:26px 28px;min-height:570px}.booking-progress-v24{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:25px}.booking-progress-v24>div{display:flex;align-items:center;gap:7px;color:#8a9aac;font-size:.72rem}.booking-progress-v24>div span{width:27px;height:27px;border-radius:50%;background:#edf2f7;display:grid;place-items:center;font-weight:800}.booking-progress-v24>div.active{color:var(--blue-dark)}.booking-progress-v24>div.active span{background:var(--blue);color:#fff}.booking-progress-v24>i{height:1px;width:48px;background:#dbe5ef}.booking-mobile-business-v24{display:none}.booking-flow-v24,.booking-details-step-v24{display:grid;gap:25px}.booking-section-v24{display:grid;gap:13px}.booking-section-title{display:flex;align-items:flex-start;gap:10px}.booking-section-title>span{width:29px;height:29px;border-radius:9px;background:#edf6ff;color:var(--blue);display:grid;place-items:center;font-size:.78rem;font-weight:800;flex:0 0 auto}.booking-section-title h2{font-size:1.08rem}.booking-section-title p{color:var(--muted);font-size:.76rem;margin-top:1px}.booking-service-grid-v24{display:grid;grid-template-columns:1fr 1fr;gap:9px}.booking-service-card-v24{min-height:72px;display:grid;grid-template-columns:34px 1fr 22px;gap:10px;align-items:center;text-align:left;padding:11px 12px;border:1px solid #dfe8f1;border-radius:13px;background:#fff;color:var(--ink);transition:.16s}.booking-service-card-v24:hover{border-color:#a9cdf5;background:#f9fcff}.booking-service-card-v24.selected{border-color:#6baaf0;background:#edf6ff;box-shadow:0 0 0 2px rgba(8,125,255,.08)}.booking-service-icon{width:32px;height:32px;border-radius:9px;background:#f1f6fb;color:var(--blue);display:grid;place-items:center}.booking-service-card-v24.selected .booking-service-icon{background:#fff}.booking-service-card-v24 span:nth-child(2){display:grid;gap:3px;min-width:0}.booking-service-card-v24 b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-service-card-v24 small{font-size:.68rem;color:var(--muted)}.service-check-v24{color:#9fb1c3}.booking-service-card-v24.selected .service-check-v24{color:var(--blue)}.booking-prof-v24 .field{margin:0}.booking-date-chips-v24{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.booking-date-chip-v24{display:grid;gap:2px;padding:10px 6px;border:1px solid #dfe8f1;border-radius:11px;background:#fff;color:var(--ink);text-align:center}.booking-date-chip-v24 small{font-size:.64rem;color:var(--muted);text-transform:capitalize}.booking-date-chip-v24 b{font-size:.76rem;text-transform:capitalize}.booking-date-chip-v24.selected{background:#edf6ff;border-color:#69a9ef;color:var(--blue-dark)}.booking-date-chip-v24.selected small{color:#5684b3}.booking-other-date-v24{max-width:230px}.booking-slot-group-v24{display:grid;gap:7px;margin-top:3px}.booking-slot-group-v24>small{font-size:.68rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.booking-slots-v24{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.booking-slots-v24 .slot{min-height:40px}.booking-no-slots-v24{display:flex;align-items:flex-start;gap:11px;padding:15px;background:#fafcff;border:1px dashed #c9d8e7;border-radius:12px;color:#6b7f93}.booking-no-slots-v24>.icon{color:var(--blue);margin-top:1px}.booking-no-slots-v24 b{color:var(--ink);font-size:.82rem}.booking-no-slots-v24 p{font-size:.72rem;margin-top:2px}.booking-loading-v24{display:flex;gap:10px;align-items:center;color:var(--muted);padding:12px}.booking-spinner{width:18px;height:18px;border:2px solid #d8e8f7;border-top-color:var(--blue);border-radius:50%;animation:trnoSpin .8s linear infinite}@keyframes trnoSpin{to{transform:rotate(360deg)}}.booking-summary-v24{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;padding:13px 14px;background:#f6faff;border:1px solid #d9e8f7;border-radius:13px}.booking-summary-v24.compact{grid-template-columns:42px 1fr auto}.booking-summary-icon{width:40px;height:40px;border-radius:11px;background:#fff;color:var(--blue);display:grid;place-items:center}.booking-summary-v24>div{display:grid;gap:2px}.booking-summary-v24 small{font-size:.66rem;color:var(--muted);text-transform:uppercase}.booking-summary-v24 b{font-size:.86rem}.booking-summary-v24 p{font-size:.73rem;color:#5f748a}.booking-continue-v24{min-height:50px;font-size:.91rem}.booking-form-v24{margin-top:-10px}.booking-contact-help-v24{font-size:.72rem;color:var(--muted);margin-top:-5px}.booking-consent-v24{align-items:flex-start;padding:11px 12px;border:1px solid #e2eaf3;border-radius:11px;background:#fbfdff;line-height:1.4}.booking-consent-v24 span{font-size:.75rem;color:#52687f}.booking-confirm-v24{min-height:50px}.booking-success-v24{text-align:center;display:grid;justify-items:center;gap:11px;padding:35px 10px}.booking-success-icon{width:64px;height:64px;border-radius:50%;background:#e8f8f2;color:#1c8162;display:grid;place-items:center}.booking-success-icon .icon{width:30px;height:30px}.booking-success-v24 h1{font-size:1.7rem}.booking-success-v24>p{max-width:560px;color:var(--muted)}.booking-confirmed-card-v24{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;max-width:560px;text-align:left;margin:10px 0}.booking-confirmed-card-v24>div{padding:12px 13px;border-radius:11px;background:#f8fbff;border:1px solid #e0eaf4;display:grid;gap:3px}.booking-confirmed-card-v24 small{font-size:.65rem;color:var(--muted);text-transform:uppercase}.booking-confirmed-card-v24 b{font-size:.82rem}.booking-footer-v24{text-align:center;margin-top:20px;padding-bottom:25px}
@media(max-width:1000px){.qr-hub-v24{grid-template-columns:1fr}.qr-side-v24{display:grid;grid-template-columns:1fr 1fr}.booking-layout-v24{grid-template-columns:280px minmax(0,1fr)}.booking-service-grid-v24{grid-template-columns:1fr}.booking-slots-v24{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.qr-share-card-v24{padding:18px}.qr-ready-head{display:grid}.qr-main-v24{grid-template-columns:1fr;padding:16px;gap:16px}.qr-frame-v24{max-width:250px;justify-self:center}.qr-action-grid{grid-template-columns:1fr 1fr}.qr-side-v24{grid-template-columns:1fr}.qr-status-grid{grid-template-columns:repeat(3,1fr)}.booking-layout-v24{display:block;margin:0;padding:14px}.booking-business-v24{display:none}.booking-panel-v24{padding:18px 15px;min-height:0;border-radius:18px}.booking-mobile-business-v24{display:grid;gap:2px;margin:-5px 0 20px;padding-bottom:14px;border-bottom:1px solid #e8eef5}.booking-mobile-business-v24 b{font-size:1rem}.booking-mobile-business-v24 small{color:var(--muted);font-size:.7rem}.booking-progress-v24{margin-bottom:18px}.booking-progress-v24>div b{display:none}.booking-progress-v24>i{width:58px}.booking-flow-v24,.booking-details-step-v24{gap:21px}.booking-service-grid-v24{grid-template-columns:1fr}.booking-date-chips-v24{display:flex;overflow-x:auto;gap:7px;margin-right:-15px;padding-right:15px;scrollbar-width:none}.booking-date-chips-v24::-webkit-scrollbar{display:none}.booking-date-chip-v24{flex:0 0 82px}.booking-other-date-v24{max-width:none}.booking-slots-v24{grid-template-columns:repeat(4,1fr)}.booking-summary-v24.compact{grid-template-columns:40px 1fr}.booking-summary-v24.compact .btn{grid-column:1/-1;width:100%}.booking-confirmed-card-v24{grid-template-columns:1fr}.booking-success-v24{padding:24px 5px}.public-header-v24{padding-left:17px;padding-right:17px}.public-header-v24 .brand{width:112px}}
@media(max-width:420px){.qr-action-grid{grid-template-columns:1fr}.qr-action-grid .btn:last-child{grid-column:auto}.qr-status-grid{grid-template-columns:1fr 1fr}.booking-slots-v24{grid-template-columns:repeat(3,1fr)}}

/* TRNO v22.4.1 · QR responsive móvil */
.qr-hub-v24,.qr-share-card-v24,.qr-main-v24,.qr-share-copy{min-width:0}
.qr-frame-v24{box-sizing:border-box;overflow:hidden}
.qr-frame-v24 svg{display:block;max-width:100%;max-height:100%;margin:auto}
.qr-action-grid .btn,.qr-preview-btn{justify-content:center}
@media(max-width:760px){
  .qr-hub-v24{overflow-x:hidden;padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .qr-share-card-v24{padding:16px;overflow:hidden}
  .qr-ready-head{gap:10px}
  .qr-ready-head h2{font-size:1.28rem}
  .qr-ready-head p{font-size:.82rem;line-height:1.5}
  .qr-main-v24{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr);padding:14px;gap:18px;margin-top:18px;box-sizing:border-box;overflow:hidden}
  .qr-frame-v24{width:min(100%,224px);max-width:224px;aspect-ratio:1;justify-self:center;margin-inline:auto;padding:13px;border-radius:16px}
  .qr-frame-v24 svg{width:100%!important;height:auto!important;max-width:100%!important}
  .qr-share-copy{width:100%;max-width:100%}
  .qr-share-copy h3{text-align:center;font-size:1.15rem}
  .qr-share-copy>p{text-align:center;margin:5px auto 0;max-width:300px}
  .qr-action-grid{grid-template-columns:1fr;gap:9px;width:100%;margin-top:16px}
  .qr-action-grid .btn,.qr-preview-btn{width:100%;min-height:48px}
  .qr-action-grid .btn:last-child{grid-column:auto}
  .qr-link-box-v24{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}
  .qr-link-box-v24 span{min-width:0}
  .qr-preview-btn{margin-top:9px}
  .qr-trust-row{justify-content:center;margin-top:16px}
}
@media(max-width:420px){
  .qr-share-card-v24{padding:14px}
  .qr-main-v24{padding:12px;border-radius:15px}
  .qr-frame-v24{width:min(100%,210px);max-width:210px;padding:12px}
  .qr-trust-row span{font-size:.7rem}
}

/* TRNO v22.5.1 · Centro de Notificaciones */
.notifications-v225{max-width:1120px;margin:0 auto;display:grid;gap:18px}
.notification-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 30px;border-radius:24px;background:linear-gradient(120deg,#071f39 0%,#0a335d 72%,#0b4b86 100%);color:#fff;box-shadow:0 18px 42px rgba(5,34,63,.12)}
.notification-hero:after{content:"";position:absolute;width:270px;height:270px;right:-82px;top:-145px;border-radius:50%;background:radial-gradient(circle,rgba(42,145,255,.38),rgba(42,145,255,0) 70%);pointer-events:none}
.notification-hero>div:first-child{position:relative;z-index:1}.notification-hero .eyebrow{color:#9fcaff}.notification-hero h2{color:#fff;font-size:clamp(1.65rem,2.4vw,2.15rem);margin:5px 0 6px}.notification-hero p{color:#c4d8eb;max-width:650px;font-size:.9rem}
.notification-hero-bell{position:relative;z-index:1;width:66px;height:66px;flex:0 0 66px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(8px)}
.notification-hero-bell .icon{width:29px;height:29px}.notification-hero-bell>span{position:absolute;right:-7px;top:-7px;min-width:25px;height:25px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#1388ff;color:#fff;border:3px solid #0b3b69;font-size:.65rem;font-weight:800}
.notification-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.notification-stat{display:flex;align-items:center;gap:12px;padding:16px 17px;border:1px solid #e2ebf4;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(8,34,64,.035)}.notification-stat-icon{width:39px;height:39px;flex:0 0 39px;border-radius:12px;display:grid;place-items:center}.notification-stat-icon .icon{width:19px;height:19px}.notification-stat-icon.unread{background:#eaf4ff;color:#087dff}.notification-stat-icon.today{background:#f2efff;color:#7162d4}.notification-stat-icon.appointments{background:#eaf8f3;color:#208462}.notification-stat div{display:grid;gap:1px}.notification-stat small{color:#738498;font-size:.7rem}.notification-stat b{font-size:1.2rem;color:#17324f}
.notification-device-card{padding:18px 20px}.notification-device-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px}.notification-device-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef6ff;color:#087dff}.notification-device-icon .icon{width:20px;height:20px}.notification-device-head h2{font-size:1rem;margin:0}.notification-device-head p{color:var(--muted);font-size:.75rem;margin-top:2px}.notification-device-status{margin:0!important;padding:6px 10px;border-radius:999px;background:#f4f8fc;color:#62778c;font-size:.7rem!important;white-space:nowrap}.notification-push-actions{margin-top:15px}.notification-device-help{margin-top:12px!important}
.notification-feed-card{padding:0;overflow:hidden}.notification-feed-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px 17px;border-bottom:1px solid #eaf0f6}.notification-feed-head h2{font-size:1.14rem;margin-top:3px}.notification-total{padding:6px 9px;border-radius:10px;background:#f3f7fb;color:#64768a;font-size:.7rem;font-weight:700}.notification-feed{display:grid}.notification-item{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 20px;border-bottom:1px solid #edf2f7;background:#fff;transition:background .16s,border-color .16s}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:#fbfdff}.notification-item.unread{background:linear-gradient(90deg,#f4f9ff 0%,#fff 36%)}.notification-item.unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#087dff}
.notification-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef5fc;color:#527493}.notification-icon .icon{width:19px;height:19px}.notification-confirmed .notification-icon{background:#e9f8f2;color:#217f61}.notification-cancelled .notification-icon{background:#fff0f1;color:#c24e5b}.notification-rescheduled .notification-icon{background:#f2efff;color:#6f62ca}.notification-qr .notification-icon{background:#eaf4ff;color:#087dff}.notification-whatsapp .notification-icon{background:#e9f8ef;color:#21805a}.notification-waitlist .notification-icon{background:#fff7e7;color:#a97813}.notification-copy{min-width:0;display:grid;gap:4px}.notification-title-row{display:flex;align-items:center;gap:7px}.notification-category{font-size:.62rem;letter-spacing:.055em;text-transform:uppercase;color:#7a8ca0;font-weight:800}.notification-unread-dot{width:7px;height:7px;border-radius:50%;background:#087dff;box-shadow:0 0 0 3px rgba(8,125,255,.1)}.notification-title{font-size:.86rem;color:#19334e;line-height:1.35}.notification-time{display:flex;align-items:center;gap:5px;color:#8191a2;font-size:.68rem}.notification-time .icon{width:13px;height:13px}.notification-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.notification-actions .btn{white-space:nowrap}.notification-actions .btn.ghost{color:#718398}.notification-empty{text-align:center;display:grid;justify-items:center;gap:7px;padding:44px 20px}.notification-empty>span{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#eff5fb;color:#6c8299}.notification-empty>span .icon{width:23px;height:23px}.notification-empty h3{font-size:1rem}.notification-empty p{max-width:500px;color:var(--muted);font-size:.78rem}
@media(max-width:760px){.notifications-v225{gap:14px}.notification-hero{padding:21px 18px;border-radius:20px}.notification-hero-bell{width:54px;height:54px;flex-basis:54px;border-radius:16px}.notification-hero-bell .icon{width:24px;height:24px}.notification-hero h2{font-size:1.55rem}.notification-hero p{font-size:.8rem}.notification-stats{grid-template-columns:1fr}.notification-stat{padding:13px 14px}.notification-device-card{padding:16px}.notification-device-head{grid-template-columns:40px minmax(0,1fr)}.notification-device-status{grid-column:1/-1;justify-self:start}.notification-push-actions{display:grid;grid-template-columns:1fr}.notification-push-actions .btn{width:100%}.notification-feed-head{padding:17px 16px}.notification-item{grid-template-columns:40px minmax(0,1fr);align-items:start;padding:15px 14px;gap:11px}.notification-icon{width:40px;height:40px}.notification-actions{grid-column:2;justify-content:flex-start;margin-top:3px}.notification-actions .btn{min-height:34px}.notification-title{font-size:.82rem}}
@media(max-width:420px){.notification-hero-bell{display:none}.notification-feed-head{align-items:flex-start}.notification-total{flex:0 0 auto}.notification-actions{display:grid;grid-template-columns:1fr}.notification-actions .btn{width:100%;justify-content:center}}


/* TRNO v22.5.2 · Centro de Notificaciones organizado */
.notifications-v252{max-width:1080px;margin:0 auto;display:grid;gap:16px}
.notification-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;padding:22px 24px;border:1px solid #e2eaf2;box-shadow:0 10px 30px rgba(8,34,64,.045)}
.notification-overview-copy{min-width:0}.notification-overview-copy .eyebrow{color:#167de5}.notification-overview-copy h2{margin:4px 0 5px;font-size:1.5rem;color:#102e4c}.notification-overview-copy p{margin:0;color:#728398;font-size:.82rem;max-width:620px}.notification-overview-actions{align-self:center;justify-self:end}.notification-overview-actions .btn{white-space:nowrap}
.notification-kpis{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.notification-kpis>div{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;border-radius:13px;background:#f7f9fc;border:1px solid #edf1f5}.notification-kpis small{color:#728398;font-size:.7rem}.notification-kpis b{font-size:1rem;color:#15324f}.notification-kpi-icon{grid-row:1/2;width:36px;height:36px;border-radius:11px;display:grid;place-items:center}.notification-kpi-icon .icon{width:17px;height:17px}.notification-kpi-icon.unread{background:#e9f4ff;color:#0b7fe9}.notification-kpi-icon.today{background:#f1efff;color:#6f62ca}.notification-kpi-icon.total{background:#edf7f3;color:#278165}
.notification-workspace{padding:0;overflow:hidden;border:1px solid #e2eaf2}.notification-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px 13px}.notification-workspace-head h2{margin:3px 0 0;font-size:1.15rem}.notification-result-count{font-size:.7rem;color:#6f8092;background:#f3f6f9;border-radius:999px;padding:6px 9px;white-space:nowrap}
.notification-filters{display:flex;gap:7px;overflow-x:auto;padding:0 20px 14px;scrollbar-width:none;border-bottom:1px solid #edf1f5}.notification-filters::-webkit-scrollbar{display:none}.notification-filter{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #e1e8f0;border-radius:999px;background:#fff;color:#51677e;font-size:.72rem;font-weight:700;text-decoration:none;transition:.15s}.notification-filter:hover{background:#f7faff;border-color:#cfdbea}.notification-filter b{min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#eef3f8;color:#667b91;font-size:.62rem}.notification-filter.active{background:#092d50;border-color:#092d50;color:#fff}.notification-filter.active b{background:rgba(255,255,255,.14);color:#fff}
.notification-list-v252{display:grid;background:#f8fafc;padding:0 14px 14px}.notification-day{display:flex;align-items:center;gap:10px;padding:16px 4px 9px;color:#6f8194;font-size:.7rem;font-weight:800;text-transform:capitalize}.notification-day i{height:1px;flex:1;background:#e5ebf1}
.notification-row{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 15px;margin-bottom:7px;border:1px solid #e5ebf1;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(8,34,64,.025)}.notification-row.unread{border-color:#cfe3f8;background:linear-gradient(90deg,#f4f9ff 0,#fff 35%)}.notification-row-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef4fa;color:#52708e}.notification-row-icon .icon{width:18px;height:18px}.notification-row.tone-confirmed .notification-row-icon{background:#eaf8f2;color:#227d60}.notification-row.tone-cancelled .notification-row-icon{background:#fff0f1;color:#bf4b59}.notification-row.tone-rescheduled .notification-row-icon{background:#f1efff;color:#6d5fca}.notification-row.tone-qr .notification-row-icon{background:#eaf4ff;color:#087dff}.notification-row.tone-whatsapp .notification-row-icon{background:#e9f8ef;color:#21805a}.notification-row.tone-waitlist .notification-row-icon{background:#fff7e8;color:#9d7118}.notification-row-main{min-width:0}.notification-row-meta{display:flex;align-items:center;gap:7px;min-height:18px;color:#8795a5;font-size:.66rem}.notification-kind{font-size:.61rem;letter-spacing:.055em;text-transform:uppercase;color:#65798e;font-weight:850}.notification-new-dot{width:7px;height:7px;border-radius:50%;background:#0b84f3;box-shadow:0 0 0 3px rgba(11,132,243,.1)}.notification-row-title{display:block;margin-top:3px;color:#18344f;font-size:.84rem;line-height:1.4}.notification-row-links{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:9px}.notification-link{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:0;color:#718396;font:inherit;font-size:.68rem;font-weight:700;cursor:pointer}.notification-link:hover{color:#174b78}.notification-link.primary{color:#087dff}.notification-link .icon{width:13px;height:13px}
.notification-empty-v252{display:grid;justify-items:center;text-align:center;gap:7px;padding:45px 20px 38px;background:#fff;border-radius:14px;margin-top:14px}.notification-empty-v252>span{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eef5fb;color:#64809c}.notification-empty-v252>span .icon{width:22px;height:22px}.notification-empty-v252 h3{font-size:1rem;margin:2px 0 0}.notification-empty-v252 p{font-size:.76rem;color:#78899a;margin:0 0 5px}
.notification-settings{padding:0;overflow:hidden;border:1px solid #e2eaf2}.notification-settings summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:16px 18px}.notification-settings summary::-webkit-details-marker{display:none}.notification-settings-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef6ff;color:#087dff}.notification-settings-icon .icon{width:18px;height:18px}.notification-settings summary span:nth-child(2){display:grid;gap:2px}.notification-settings summary b{font-size:.84rem;color:#18344f}.notification-settings summary small{font-size:.68rem;color:#78899a}.notification-settings-chevron{color:#8696a7;transition:transform .18s}.notification-settings-chevron .icon{width:16px;height:16px}.notification-settings[open] .notification-settings-chevron{transform:rotate(90deg)}.notification-settings-body{padding:0 18px 17px 69px;border-top:1px solid #edf1f5}.notification-settings-body>p{font-size:.75rem;color:#738497;margin:14px 0}.notification-push-actions{margin-top:10px}
@media(max-width:760px){.notifications-v252{gap:13px}.notification-overview{grid-template-columns:1fr;padding:18px 16px;gap:14px}.notification-overview-actions{justify-self:start}.notification-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.notification-kpis>div{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px}.notification-kpis b{grid-column:2}.notification-kpi-icon{width:30px;height:30px;border-radius:9px}.notification-workspace-head{padding:16px 14px 12px}.notification-filters{padding:0 14px 12px}.notification-list-v252{padding:0 9px 10px}.notification-row{padding:13px 12px;gap:10px}.notification-settings summary{padding:14px}.notification-settings-body{padding:0 14px 15px}.notification-settings-body .actions{display:grid;grid-template-columns:1fr}.notification-settings-body .btn{width:100%;justify-content:center}}
@media(max-width:480px){.notification-overview-copy h2{font-size:1.3rem}.notification-kpis{grid-template-columns:1fr}.notification-kpis>div{grid-template-columns:32px minmax(0,1fr) auto}.notification-kpis b{grid-column:auto}.notification-row{grid-template-columns:38px minmax(0,1fr)}.notification-row-icon{width:38px;height:38px}.notification-row-links{gap:10px}.notification-link{font-size:.67rem}.notification-settings summary{grid-template-columns:38px minmax(0,1fr) 16px}.notification-settings-icon{width:38px;height:38px}.notification-workspace-head{align-items:flex-start}.notification-result-count{margin-top:2px}}

/* TRNO v22.5.4 · Directorio de clientes */
.clients-page-v2254{display:block}
.clients-page-v2254 .client-directory-summary{margin-bottom:18px}
.clients-page-v2254 .client-directory-summary>div{box-shadow:0 8px 24px rgba(5,32,61,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.clients-page-v2254 .client-directory-summary>div:hover{transform:translateY(-1px);border-color:#c7dcf4;box-shadow:0 12px 30px rgba(5,32,61,.07)}
.clients-page-v2254 .client-toolbar{margin-bottom:4px;box-shadow:0 8px 24px rgba(5,32,61,.035)}
.client-results-v2254{margin-top:16px}
.client-directory-card{position:relative;box-shadow:0 6px 20px rgba(5,32,61,.035)}
.client-card-open{display:block;cursor:pointer;border:0}
.client-card-open:focus-visible{outline:3px solid rgba(45,138,235,.26);outline-offset:-3px}
.client-directory-identity{min-width:0;display:grid;gap:2px}
.client-directory-identity h3{margin:0}
.client-directory-identity p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}
.client-directory-card:hover .client-card-chevron{transform:translateX(3px);color:var(--blue)}
.client-card-chevron{transition:transform .18s ease,color .18s ease}
.client-directory-tags{margin-top:13px}
.client-directory-details{padding-top:14px;border-top:1px solid #edf2f7}
.client-directory-details>div{padding:1px 0}
.client-directory-details b{font-size:.79rem}
.client-open-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:10px 12px;border-radius:11px;background:#f2f7fd;color:var(--blue-dark);font-size:.78rem;font-weight:700}
.client-open-hint span{display:flex;align-items:center;gap:7px}
.client-open-hint .icon{width:16px;height:16px}
.client-directory-actions>span{max-width:70%;line-height:1.35}
@media(max-width:760px){
 .clients-page-v2254 .page-heading{gap:14px}
 .clients-page-v2254 .page-heading>.btn{width:100%;justify-content:center}
 .clients-page-v2254 .client-directory-summary{grid-template-columns:1fr 1fr}
 .clients-page-v2254 .client-toolbar{padding:11px}
 .client-directory-identity p{max-width:220px}
 .client-directory-details{grid-template-columns:1fr}
 .client-directory-details>div:last-child{grid-column:auto}
 .client-directory-actions{align-items:center}
 .client-directory-actions>span{max-width:58%}
 .client-wa-link{white-space:nowrap}
}
@media(max-width:430px){
 .clients-page-v2254 .client-directory-summary{grid-template-columns:1fr 1fr}
 .clients-page-v2254 .client-directory-summary>div{padding:11px}
 .clients-page-v2254 .client-directory-summary b{font-size:1.08rem}
 .client-directory-person{align-items:flex-start}
 .client-directory-identity p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:none}
 .client-directory-actions{display:grid;grid-template-columns:1fr auto}
 .client-directory-actions>span{max-width:none}
}

/* TRNO v22.5.6 · menú lateral desplazable en iPad/Safari y navegadores táctiles */
.sidebar{
  height:100vh;
  height:100dvh;
  max-height:100vh;
  max-height:100dvh;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.2) transparent;
}
.sidebar::-webkit-scrollbar{width:5px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.sidebar .nav{flex:0 0 auto}
.sidebar-bottom{flex:0 0 auto}
@supports(-webkit-touch-callout:none){
  .sidebar{height:-webkit-fill-available;max-height:-webkit-fill-available}
}

/* TRNO v22.5.9 · Edición visible de información del cliente */
.client-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.client-admin-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 16px;border:1px solid #dce8f4;background:#fff;border-radius:14px}
.client-admin-card h3{font-size:.94rem;margin:3px 0 4px}.client-admin-card p{margin:0;line-height:1.45}.client-admin-card>.btn{flex-shrink:0}
.client-edit-form-v2259{display:grid;gap:15px}.client-edit-modal-note{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border:1px solid #cfe2f7;background:#f4f9ff;border-radius:13px;color:var(--ink)}.client-edit-modal-note>.icon{color:var(--blue);width:19px;flex:0 0 auto;margin-top:1px}.client-edit-modal-note div{display:grid;gap:2px}.client-edit-modal-note small{color:var(--muted);line-height:1.4}.client-edit-actions{justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){.client-directory-actions{grid-template-columns:1fr}.client-card-actions{justify-content:flex-start}.client-admin-card{align-items:flex-start;display:grid}.client-admin-card>.btn{width:100%}.client-edit-actions{display:grid;grid-template-columns:1fr 1fr}.client-edit-actions .btn:last-child{grid-column:1/-1}.client-profile-actions .btn,.client-profile-actions a.btn{min-width:0}}

/* TRNO v22.6.0 · Disponibilidad por horas puntuales */
.schedule-professional-card{overflow:hidden}
.schedule-professional-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.schedule-mode-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef6ff;color:#176ebf;font-size:.67rem;font-weight:800;white-space:nowrap}
.professional-hours-form{display:grid;gap:16px;margin-top:18px}
.schedule-mode-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:18px;align-items:start;padding:16px;border:1px solid #dfe9f4;border-radius:15px;background:#fbfdff}
.schedule-mode-card h3{margin:4px 0 5px;font-size:1rem}.schedule-mode-card p{margin:0}
.schedule-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.schedule-mode-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:flex-start;padding:12px;border:1px solid #dbe5ef;border-radius:13px;background:#fff;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}
.schedule-mode-option:hover{border-color:#bcd4ec}.schedule-mode-option.selected{border-color:#48a3f4;background:#f1f8ff;box-shadow:0 0 0 2px rgba(72,163,244,.08)}
.schedule-mode-option input{margin-top:3px}.schedule-mode-option span{display:grid;gap:3px}.schedule-mode-option b{font-size:.78rem;color:#173650}.schedule-mode-option small{font-size:.68rem;line-height:1.35;color:#74879a}
.schedule-mode-help{margin:0}
.schedule-panel{min-width:0;margin:0;padding:0;border:0}
.schedule-panel[hidden]{display:none!important}
.point-slots{display:grid;gap:9px;margin-top:10px}
.point-slot-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:10px;border:1px solid #e1e9f1;border-radius:12px;background:#fff}
.point-slot-row .field{margin:0}.point-slot-row .field>span{font-size:.7rem}.point-slot-row input{font-weight:700;text-align:center}
.point-day .availability-day-head{align-items:center}.schedule-close-week{margin-top:2px}
@media(max-width:760px){.schedule-mode-card{grid-template-columns:1fr}.schedule-mode-picker{grid-template-columns:1fr}.schedule-professional-card>summary{align-items:flex-start}.schedule-mode-badge{margin-top:1px}.point-slot-row{grid-template-columns:minmax(0,1fr) 44px}.point-slot-row .danger-icon{min-width:44px;height:44px}}

/* TRNO v22.6.1 · Horarios de cita personalizados */
.appointment-day-title{display:grid;gap:2px}.appointment-day-title b{font-size:.9rem;color:#173650}.appointment-day-title small{font-size:.72rem;color:var(--muted)}
.point-day.closed .add-hours{display:inline-flex}.point-slots-empty{padding:14px 12px;border:1px dashed #cbd9e7;border-radius:11px;background:#f9fbfd;color:var(--muted);font-size:.76rem;line-height:1.45}.point-slot-row input[type=time]{font-size:1rem}

/* TRNO v22.6.2 · Acciones rápidas de cliente y eliminación segura */
.client-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.client-quick-action{appearance:none;-webkit-appearance:none;width:100%;min-height:74px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:13px 14px;display:flex;align-items:center;gap:11px;text-align:left;text-decoration:none;box-shadow:none;transition:border-color .16s,background .16s,transform .16s}
.client-quick-action:hover{border-color:#a9caef;background:#f8fbff;transform:translateY(-1px)}
.client-quick-action>span:last-child{display:grid;gap:2px;min-width:0}
.client-quick-action b{font-size:.9rem;line-height:1.2}
.client-quick-action small{font-size:.7rem;line-height:1.3;color:var(--muted);font-weight:500}
.client-quick-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:#eef6ff;color:var(--blue)}
.client-quick-icon .icon{width:18px;height:18px}
.client-quick-action.primary{background:linear-gradient(135deg,#0878f9,#006de6);border-color:#0878f9;color:#fff}
.client-quick-action.primary:hover{background:linear-gradient(135deg,#006fe9,#0065d6);border-color:#0065d6}
.client-quick-action.primary small{color:#eaf4ff}
.client-quick-action.primary .client-quick-icon{background:#ffffff20;color:#fff}
.client-quick-action.whatsapp{border-color:#cfe8dd;background:#f7fcfa}
.client-quick-action.whatsapp .client-quick-icon{background:#e7f7f0;color:#17775e}
.client-quick-action.whatsapp:hover{border-color:#9fd0bb;background:#f0faf6}
@media(max-width:760px){.client-quick-actions{grid-template-columns:1fr 1fr}.client-quick-action.primary{grid-column:1/-1;min-height:68px}.client-quick-action{min-height:70px;padding:12px}.client-quick-action b{font-size:.86rem}.client-quick-action small{font-size:.66rem}}

/* TRNO v22.6.3 · menú móvil estable */
.mobile-more-page{max-width:900px;margin:0 auto;display:grid;gap:18px}
.mobile-more-page>.page-heading{margin-bottom:2px}
.mobile-more-card{padding:0;overflow:hidden}
.mobile-more-head{padding:20px 20px 14px;border-bottom:1px solid var(--line)}
.mobile-more-head p{margin-top:5px;color:var(--muted);font-size:.86rem}
.mobile-more-list{display:grid}
.mobile-more-item{display:grid;grid-template-columns:46px minmax(0,1fr) 20px;align-items:center;gap:13px;padding:15px 18px;color:var(--ink);border-bottom:1px solid #edf2f7;text-decoration:none;background:#fff;min-height:74px}
.mobile-more-item:last-child{border-bottom:0}
.mobile-more-item:hover{background:#f8fbff;text-decoration:none}
.mobile-more-icon{width:42px;height:42px;border-radius:12px;background:var(--pale);color:var(--blue);display:grid;place-items:center}
.mobile-more-icon .icon{width:21px;height:21px}
.mobile-more-copy{display:grid;gap:2px;min-width:0}
.mobile-more-copy b{font-size:.93rem}
.mobile-more-copy small{color:var(--muted);font-size:.77rem;line-height:1.35}
.mobile-more-chevron{color:#9bb1c8;display:grid;place-items:center}
.mobile-more-chevron .icon{width:17px}

@media(max-width:760px){
  .mobile-menu{text-decoration:none;border-radius:10px}
  .mobile-menu:hover{text-decoration:none;background:#f4f7fb}
  .mobile-more-page{gap:14px}
  .mobile-more-card{border-radius:16px}
  .mobile-more-head{padding:17px 16px 12px}
  .mobile-more-item{grid-template-columns:42px minmax(0,1fr) 18px;gap:11px;padding:13px 15px;min-height:68px}
  .mobile-more-icon{width:39px;height:39px;border-radius:11px}
  .mobile-more-copy b{font-size:.9rem}
  .mobile-more-copy small{font-size:.74rem}
}


/* TRNO v22.6.4 · navegación móvil sin hamburguesa, logo estable y Más en azul TRNO */
@media(max-width:760px){
  .topbar>.actions{min-width:118px}
  .mobile-brand{display:flex;align-items:center;min-width:108px;min-height:44px}
  .mobile-brand .brand{display:block;visibility:visible;opacity:1}
  .mobile-more-page{
    max-width:none;
    margin:-20px -16px -105px;
    padding:22px 16px 120px;
    min-height:calc(100dvh - 78px);
    background:var(--navy);
    color:#fff;
  }
  .mobile-more-page>.page-heading{padding:0 4px 4px}
  .mobile-more-page>.page-heading h1{color:#fff}
  .mobile-more-page>.page-heading p{color:#b5c6d9}
  .mobile-more-card{background:#0a2947;border-color:#ffffff1c;box-shadow:none}
  .mobile-more-head{border-bottom-color:#ffffff18}
  .mobile-more-head .eyebrow{color:#85bdff}
  .mobile-more-head p{color:#b5c6d9}
  .mobile-more-item{background:transparent;color:#fff;border-bottom-color:#ffffff14}
  .mobile-more-item:hover,.mobile-more-item:active{background:#ffffff0b;color:#fff}
  .mobile-more-icon{background:#ffffff12;color:#85bdff}
  .mobile-more-copy b{color:#fff}
  .mobile-more-copy small{color:#b5c6d9}
  .mobile-more-chevron{color:#85bdff}
}


/* TRNO v22.6.6 · Más como centro de control y accesos rápidos */
.more-control-center{--more-panel:#0a2947;--more-line:#ffffff18;--more-soft:#ffffff0c;--more-blue:#85bdff}
.more-progress-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px;box-shadow:var(--shadow);display:grid;gap:18px}
.more-progress-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.more-progress-top h2{margin:4px 0 5px}.more-progress-top p{color:var(--muted);font-size:.85rem}.more-progress-top>strong{font-size:1.7rem;color:var(--blue)}
.more-progress-track{height:8px;border-radius:999px;background:#e8eff6;overflow:hidden}.more-progress-track>span{display:block;height:100%;background:linear-gradient(90deg,#0878f9,#31a5ff);border-radius:inherit;transition:width .2s}
.more-setup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.more-setup-card{border:1px solid #dde8f2;border-radius:15px;padding:14px;background:#f9fbfd;color:var(--ink);text-decoration:none;display:flex;align-items:flex-start;gap:10px;min-height:118px}.more-setup-card:hover{text-decoration:none;border-color:#a9caef;background:#f5f9fe}.more-setup-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:#eaf4ff;color:var(--blue)}.more-setup-copy{display:grid;gap:4px;min-width:0}.more-setup-copy b{font-size:.88rem}.more-setup-copy small{font-size:.69rem;color:var(--muted);line-height:1.35}.more-setup-copy em{margin-top:4px;font-style:normal;font-size:.69rem;font-weight:800;color:#a46500;display:flex;align-items:center;gap:4px}.more-setup-card.ready .more-setup-copy em{color:#17775e}.more-setup-copy em .icon{width:13px;height:13px}
.more-next-step{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;border-radius:14px;padding:13px 15px;background:#eef6ff;border:1px solid #cce2fb;color:var(--ink);text-decoration:none}.more-next-step:hover{text-decoration:none;background:#e5f2ff}.more-next-step>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff;color:var(--blue)}.more-next-step small{display:block;color:var(--blue);font-size:.64rem;font-weight:900;letter-spacing:.06em}.more-next-step b{display:block;margin:2px 0;font-size:.9rem}.more-next-step p{font-size:.72rem;color:var(--muted)}.more-group-card .mobile-more-head{padding-bottom:10px}.more-group-card .mobile-more-head .eyebrow{font-size:.68rem}
.dashboard-quick-settings{margin:22px 0 0}.dashboard-quick-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:11px}.dashboard-quick-head h2{margin-top:3px;font-size:1.05rem}.dashboard-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.dashboard-quick-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;color:var(--ink);display:flex;gap:11px;text-decoration:none;min-height:96px}.dashboard-quick-card:hover{text-decoration:none;border-color:#a9caef;background:#f8fbff}.dashboard-quick-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:#eef6ff;color:var(--blue)}.dashboard-quick-card>span:last-child{display:grid;gap:3px}.dashboard-quick-card b{font-size:.86rem}.dashboard-quick-card small{font-size:.68rem;line-height:1.3;color:var(--muted)}.dashboard-quick-card em{font-style:normal;font-size:.67rem;font-weight:800;color:#a46500;display:flex;align-items:center;gap:4px}.dashboard-quick-card.ready em{color:#17775e}.dashboard-quick-card em .icon{width:12px;height:12px}
@media(max-width:900px){.more-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .more-progress-card{background:#0a2947;border-color:#ffffff1c;box-shadow:none;padding:17px 15px;border-radius:16px}.more-progress-top h2{color:#fff}.more-progress-top p{color:#b5c6d9}.more-progress-top>strong{color:#85bdff}.more-progress-track{background:#ffffff18}.more-setup-grid{grid-template-columns:1fr 1fr;gap:8px}.more-setup-card{background:#ffffff0a;border-color:#ffffff18;color:#fff;min-height:122px;padding:12px}.more-setup-card:hover,.more-setup-card:active{background:#ffffff10;border-color:#ffffff2c}.more-setup-icon{background:#ffffff12;color:#85bdff}.more-setup-copy b{color:#fff}.more-setup-copy small{color:#b5c6d9}.more-setup-copy em{color:#ffcf7e}.more-setup-card.ready .more-setup-copy em{color:#89e5bd}.more-next-step{background:#0e3b64;border-color:#ffffff1f;color:#fff}.more-next-step:hover,.more-next-step:active{background:#12466f}.more-next-step>span{background:#ffffff12;color:#85bdff}.more-next-step small{color:#85bdff}.more-next-step b{color:#fff}.more-next-step p{color:#b5c6d9}.dashboard-quick-settings{margin-top:18px}.dashboard-quick-grid{grid-template-columns:1fr}.dashboard-quick-card{min-height:82px}.dashboard-quick-head{align-items:center}.dashboard-quick-head h2{font-size:1rem}
}

/* TRNO v22.6.7 · ajustes visuales móviles de Agenda y Más */
@media(max-width:760px){
  .agenda-date-nav{
    grid-template-columns:42px minmax(0,1fr) 42px 72px;
    align-items:center;
    gap:8px;
  }
  .agenda-date-nav>.agenda-date-field{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:hidden;
  }
  .agenda-date-nav>.agenda-date-field input{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0;
  }
  .agenda-date-nav>.icon-only{
    width:42px;
    min-width:42px;
    height:42px;
    min-height:42px;
    padding:0;
    justify-self:stretch;
  }
  .agenda-date-nav>[data-action="today"]{
    width:72px;
    min-width:0;
    padding-left:10px;
    padding-right:10px;
  }
  .main{overflow-x:hidden}
  .mobile-more-page{
    width:auto;
    max-width:none;
    margin:-25px -18px -100px;
    padding:24px 18px 120px;
    overflow-x:hidden;
  }
  .mobile-more-page>*{
    min-width:0;
    max-width:100%;
  }
  .more-progress-card,
  .more-group-card,
  .mobile-more-page>.page-heading{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
  }
  .more-setup-grid,
  .more-setup-card,
  .mobile-more-list,
  .mobile-more-item{min-width:0;max-width:100%}
}

/* TRNO v22.6.8 · Servicios más visibles e intuitivos */
.services-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.65fr);gap:18px;margin-bottom:22px;padding:24px;border-radius:20px;background:linear-gradient(135deg,#071f3b,#0b4f89);color:#fff;box-shadow:0 14px 32px #0b4f8918}.services-hero .eyebrow{color:#86c4ff}.services-hero h2{font-size:1.55rem;margin:7px 0 8px}.services-hero p{color:#c5d8ea;max-width:760px}.services-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.services-how-grid>div{background:#ffffff0d;border:1px solid #ffffff16;border-radius:14px;padding:13px;display:grid;gap:4px}.services-how-grid>div>span{width:28px;height:28px;border-radius:9px;background:#ffffff14;color:#91caff;display:grid;place-items:center;font-weight:800}.services-how-grid b{font-size:.86rem}.services-how-grid small{font-size:.71rem;color:#b8cee2;line-height:1.35}.services-hero-status{border:1px solid #ffffff1c;background:#ffffff0b;border-radius:17px;padding:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:7px}.services-hero-status strong{font-size:3.2rem;line-height:1;color:#fff}.services-hero-status span{color:#bcd2e6;font-size:.82rem;margin-bottom:11px}.service-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-management-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px;display:grid;gap:15px}.service-management-card.inactive{opacity:.72}.service-management-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:12px}.service-management-icon{width:42px;height:42px;border-radius:12px;background:#eaf4ff;color:var(--blue);display:grid;place-items:center;flex:0 0 42px}.service-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.service-title-line h3{font-size:1rem}.service-management-top p{font-size:.78rem;color:var(--muted);margin-top:3px}.service-management-meta{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}.service-management-meta>span{display:flex;align-items:center;gap:6px;background:#f6f9fd;border-radius:10px;padding:8px 10px;font-size:.72rem;color:var(--muted);min-width:0}.service-management-meta .icon{width:16px;height:16px;color:var(--blue)}.service-management-meta b{color:var(--ink);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.service-empty-state{border:1px dashed #bdd4ed;background:#f8fbff;border-radius:20px;padding:38px 24px;text-align:center;display:grid;justify-items:center;gap:9px}.service-empty-icon{width:64px;height:64px;border-radius:18px;background:#eaf4ff;color:var(--blue);display:grid;place-items:center;margin-bottom:3px}.service-empty-icon .icon{width:30px;height:30px}.service-empty-state h2{font-size:1.35rem}.service-empty-state p{max-width:620px;color:var(--muted);font-size:.88rem;margin-bottom:9px}.service-modal-intro{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:#eef6ff;border:1px solid #d7e9fb;margin-bottom:18px}.service-modal-intro b{display:block;font-size:.92rem}.service-modal-intro p{color:#55708a;font-size:.78rem;line-height:1.45;margin-top:3px}.settings-services-gateway{display:grid;gap:14px;border:2px solid #b7d8fb;background:linear-gradient(180deg,#fff,#f7fbff)}.settings-services-icon{width:48px;height:48px;border-radius:14px;background:#e7f3ff;color:var(--blue);display:grid;place-items:center}.settings-services-icon .icon{width:25px;height:25px}.settings-services-gateway h2{margin:4px 0}.mobile-more-item.services-primary{position:relative;background:#0f3c67;border-bottom-color:#ffffff20}.mobile-more-item.services-primary:hover,.mobile-more-item.services-primary:active{background:#124875}.mobile-more-item.services-primary .mobile-more-icon{background:#1877d2;color:#fff}.essential-pill{display:inline-flex!important;margin-left:7px!important;padding:2px 6px!important;border-radius:999px!important;background:#1877d2!important;color:#fff!important;font-size:.55rem!important;font-style:normal!important;letter-spacing:.05em!important;vertical-align:middle!important}.dashboard-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.dashboard-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-management-grid{grid-template-columns:1fr}.services-hero{grid-template-columns:1fr}.services-hero-status{align-items:flex-start;text-align:left}.services-hero-status .btn{width:auto}}
@media(max-width:760px){.services-hero{padding:18px 15px;border-radius:17px}.services-hero h2{font-size:1.28rem}.services-how-grid{grid-template-columns:1fr}.services-hero-status{padding:15px}.services-hero-status strong{font-size:2.5rem}.services-hero-status .btn{width:100%}.service-management-grid{grid-template-columns:1fr}.service-management-card{padding:15px}.service-management-top{grid-template-columns:40px minmax(0,1fr)}.service-management-top>.btn{grid-column:1/-1;width:100%}.service-management-meta{display:grid;grid-template-columns:1fr 1fr}.service-management-meta>span:last-child{grid-column:1/-1}.service-management-meta b{max-width:none}.dashboard-quick-grid{grid-template-columns:1fr}.mobile-more-item.services-primary{margin:6px 8px;border:1px solid #2f6eaa;border-radius:14px}.mobile-more-item.services-primary+.mobile-more-item{border-top:1px solid #ffffff0f}}

/* TRNO v22.7.0 · Configuración clara, resumen de horarios y navegación estable */
.settings-schedule-overview{display:grid;gap:16px}
.settings-schedule-overview>.card-head{align-items:flex-start;margin-bottom:2px}
.settings-schedule-overview>.card-head h2{margin:4px 0}
.settings-schedule-overview>.card-head p{max-width:600px}
.settings-schedule-professionals{display:grid;gap:13px}
.settings-schedule-professional{border:1px solid #dce7f2;border-radius:16px;background:#fbfdff;padding:15px;display:grid;gap:13px}
.settings-schedule-professional-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.settings-schedule-professional-head .client-cell small{margin-top:2px}
.settings-week-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.settings-schedule-day{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border-radius:10px;background:#fff;border:1px solid #edf2f7;min-width:0}
.settings-schedule-day span{font-size:.75rem;color:var(--muted);white-space:nowrap}
.settings-schedule-day b{font-size:.76rem;text-align:right;overflow-wrap:anywhere}
.settings-schedule-day.closed{background:#f7f9fc}.settings-schedule-day.closed b{color:#8797a8;font-weight:600}
.settings-schedule-note{display:flex;gap:9px;align-items:flex-start;padding:12px 13px;border-radius:12px;background:#eef6ff;color:#456783;font-size:.78rem;line-height:1.45}
.settings-schedule-note .icon{color:var(--blue);width:18px;height:18px;margin-top:1px}
.schedule-mode-badge.mode-slots{background:#edf5ff;color:#126ec5}.schedule-mode-badge.mode-blocks{background:#eef7f4;color:#21735f}.schedule-mode-badge.mode-empty{background:#f1f3f6;color:#697889}
.schedule-mode-card.schedule-mode-card-v227{grid-template-columns:1fr;gap:15px;padding:18px;background:linear-gradient(180deg,#fbfdff,#f7fbff);border-color:#d8e5f1}
.schedule-mode-intro{display:grid;gap:4px}.schedule-mode-intro h3{font-size:1.08rem;margin:1px 0}.schedule-mode-intro p{max-width:720px}
.schedule-mode-card-v227 .schedule-mode-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.schedule-mode-option.schedule-mode-option-v227{position:relative;display:block;padding:0;border-radius:16px;overflow:hidden;min-height:188px}
.schedule-mode-option-v227>input{position:absolute;top:17px;left:17px;width:20px;height:20px;accent-color:var(--blue);z-index:2;margin:0}
.schedule-choice-main{display:grid!important;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;padding:16px 16px 16px 49px;height:100%}
.schedule-choice-icon{width:42px;height:42px;border-radius:12px;background:#eef6ff;color:var(--blue);display:grid!important;place-items:center;margin-left:-32px;margin-top:29px}
.schedule-choice-icon .icon{width:21px;height:21px}
.schedule-choice-copy{display:grid!important;gap:5px;min-width:0}
.schedule-choice-copy b{font-size:1rem!important;color:var(--ink)!important;padding-right:78px}
.schedule-choice-copy strong{font-size:.78rem;color:#2b5f89;line-height:1.35}
.schedule-choice-copy small{font-size:.75rem!important;line-height:1.45!important;color:var(--muted)!important}
.schedule-choice-copy em{font-style:normal;font-size:.68rem;font-weight:800;color:#52718e;background:#f2f6fa;border-radius:999px;padding:5px 8px;width:max-content;max-width:100%}
.schedule-mode-option-v227.selected{border:2px solid var(--blue);background:#f2f8ff;box-shadow:0 0 0 3px rgba(8,125,255,.07)}
.schedule-mode-option-v227.selected::after{content:'SELECCIONADO';position:absolute;top:14px;right:13px;padding:4px 7px;border-radius:999px;background:#e4f1ff;color:#086ac8;font-size:.56rem;font-weight:900;letter-spacing:.05em}
.schedule-mode-option-v227.selected .schedule-choice-icon{background:#ddecff;color:#006fe9}
.schedule-mode-help{border:1px solid #d2e5f8}
.mobile-bottom a[href="#more"]{min-width:68px}
.mobile-brand .brand,.mobile-brand .brand img{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.mobile-brand .brand{contain:layout paint;transform:translateZ(0)}

@media(max-width:760px){
  .settings-schedule-overview>.card-head{display:grid;grid-template-columns:1fr;gap:12px}.settings-schedule-overview>.card-head .btn{width:100%}
  .settings-week-summary{grid-template-columns:1fr}.settings-schedule-professional{padding:13px}.settings-schedule-professional-head{align-items:flex-start}
  .schedule-mode-card.schedule-mode-card-v227{padding:14px;border-radius:16px}
  .schedule-mode-card-v227 .schedule-mode-picker{grid-template-columns:1fr;gap:10px}
  .schedule-mode-option.schedule-mode-option-v227{min-height:0}
  .schedule-choice-main{grid-template-columns:38px minmax(0,1fr);padding:14px 13px 14px 44px;gap:9px}
  .schedule-choice-icon{width:36px;height:36px;border-radius:10px;margin-left:-29px;margin-top:28px}
  .schedule-choice-copy b{font-size:.94rem!important;padding-right:76px}.schedule-choice-copy strong{font-size:.75rem}.schedule-choice-copy small{font-size:.72rem!important}
  .schedule-mode-option-v227>input{top:15px;left:14px;width:19px;height:19px}
  .schedule-mode-option-v227.selected::after{top:12px;right:10px;font-size:.52rem}
  .mobile-bottom a[href="#more"]{font-size:.64rem}
}

/* TRNO v22.7.1 · Ajustes finos de espaciado en Horarios */
.schedule-mode-option-v227 .schedule-choice-main{
  padding-right:24px;
}
.schedule-mode-option-v227 .schedule-choice-copy{
  padding-right:4px;
}
.schedule-mode-option-v227 .schedule-choice-copy small,
.schedule-mode-option-v227 .schedule-choice-copy strong{
  padding-right:4px;
}
.point-slot-row{
  grid-template-columns:minmax(0,1fr) 50px;
  column-gap:16px;
  padding:12px 14px;
}
.point-slot-row .danger-icon{
  width:44px;
  min-width:44px;
  height:44px;
  padding:8px;
  margin:0;
  justify-self:center;
  align-self:end;
}
.point-slot-row .field input[type=time]{
  width:100%;
}
@media(max-width:760px){
  .schedule-choice-main{
    padding-right:20px;
  }
  .schedule-choice-copy{
    padding-right:6px;
  }
  .schedule-choice-copy small,
  .schedule-choice-copy strong{
    padding-right:6px;
  }
  .point-slot-row{
    grid-template-columns:minmax(0,1fr) 48px;
    column-gap:16px;
    padding:12px 14px;
  }
  .point-slot-row .danger-icon{
    width:42px;
    min-width:42px;
    height:42px;
    padding:7px;
  }
}

/* TRNO v22.7.2 · Ajuste visual de tarjetas de disponibilidad en móvil */
@media(max-width:760px){
  /* Acerca el contenido al borde izquierdo sin mover el radio ni el icono fuera de la tarjeta. */
  .schedule-mode-option-v227 .schedule-choice-main{
    grid-template-columns:30px minmax(0,1fr);
    gap:4px;
    padding:14px 14px 14px 30px;
  }
  .schedule-mode-option-v227 .schedule-choice-icon{
    width:32px;
    height:32px;
    margin-left:-16px;
    margin-top:29px;
  }
  .schedule-mode-option-v227 .schedule-choice-copy{
    padding-right:0;
  }
  .schedule-mode-option-v227 .schedule-choice-copy b{
    padding-right:112px;
    line-height:1.22;
  }
  .schedule-mode-option-v227 .schedule-choice-copy strong,
  .schedule-mode-option-v227 .schedule-choice-copy small{
    padding-right:0;
  }
  /* La insignia no invade el título de la opción seleccionada. */
  .schedule-mode-option-v227.selected::after{
    top:12px;
    right:12px;
    max-width:96px;
    text-align:center;
    white-space:nowrap;
  }
}

/* TRNO v22.7.4 · Fecha de Agenda centrada y contorno completo */
.agenda-date-nav>.agenda-date-field{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:46px;
  border:1px solid #dce6f1;
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}
.agenda-date-nav>.agenda-date-field input{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  margin:0;
  padding:0 40px;
  border:0!important;
  border-radius:inherit;
  background:transparent;
  color:var(--ink);
  font-weight:620;
  text-align:center;
  text-align-last:center;
  outline:0;
  box-shadow:none;
}
.agenda-date-nav>.agenda-date-field input::-webkit-date-and-time-value{
  width:100%;
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.agenda-date-nav>.agenda-date-field input::-webkit-datetime-edit{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.agenda-date-nav>.agenda-date-field input::-webkit-datetime-edit-fields-wrapper{
  display:flex;
  justify-content:center;
  width:100%;
}
.agenda-date-nav>.agenda-date-field:focus-within{
  border-color:var(--blue);
  outline:3px solid #65adff;
  outline-offset:3px;
}
@media(max-width:760px){
  .agenda-date-nav>.agenda-date-field{
    height:42px;
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .agenda-date-nav>.agenda-date-field input{
    height:100%;
    padding:0 32px;
    font-size:.83rem;
  }
}


/* TRNO v22.7.5 · Selector de fecha robusto en Agenda (iOS/Safari) */
.agenda-date-nav>.agenda-date-field{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  height:46px;
  border:1px solid #dce6f1;
  border-radius:13px;
  background:#fff;
  overflow:hidden;
  box-sizing:border-box;
}
.agenda-date-nav>.agenda-date-field .agenda-date-display{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  color:var(--ink);
  font-weight:620;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
  z-index:1;
}
.agenda-date-nav>.agenda-date-field .agenda-date-native{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0!important;
  border-radius:inherit;
  background:transparent;
  opacity:0;
  cursor:pointer;
  z-index:2;
  -webkit-appearance:none;
  appearance:none;
}
.agenda-date-nav>.agenda-date-field:focus-within{
  border-color:var(--blue);
  outline:3px solid #65adff;
  outline-offset:3px;
}
@media(max-width:760px){
  .agenda-date-nav>.agenda-date-field{
    height:42px;
  }
  .agenda-date-nav>.agenda-date-field .agenda-date-display{
    font-size:.83rem;
    padding:0 8px;
  }
}
