:root{--rab-bg:#f7f2ea;--rab-card:#fff;--rab-text:#34373d;--rab-muted:#8a8a8a;--rab-accent:#654b36;--rab-accent-soft:#efe6da;--rab-border:#ece7df;--rab-danger:#b94242;--rab-success:#356a4c}
.rab-portal{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:760px;background:var(--rab-bg);border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(59,45,33,.10);font-family:"Segoe UI",Roboto,Arial,sans-serif;color:var(--rab-text);margin:30px auto;max-width:1380px}
.rab-sidebar{background:#2f2925;color:#fff;padding:28px 20px;display:flex;flex-direction:column;justify-content:space-between;min-height:760px}
.rab-brand{display:flex;align-items:center;gap:12px;padding:0 8px 25px;border-bottom:1px solid rgba(255,255,255,.10)}
.rab-brand>span,.rab-brand-mark{width:44px;height:44px;border-radius:14px;background:#f2e6d5;color:#654b36;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.5px}
.rab-brand strong{display:block;font-size:16px}.rab-brand small{display:block;color:#bfb4ab;margin-top:2px}
.rab-nav{padding-top:26px}.rab-nav a{display:flex;align-items:center;gap:11px;color:#d7cec7;text-decoration:none;padding:12px 14px;border-radius:12px;margin-bottom:8px;font-weight:600;transition:.2s}.rab-nav a:hover,.rab-nav a.active{background:rgba(255,255,255,.10);color:#fff}.rab-nav .dashicons{font-size:20px;width:20px;height:20px}
.rab-side-bottom{border-top:1px solid rgba(255,255,255,.10);padding-top:18px}.rab-user{display:flex;align-items:center;gap:10px;margin-bottom:14px}.rab-avatar{width:38px;height:38px;border-radius:50%;background:#f2e6d5;color:#654b36;display:flex;align-items:center;justify-content:center;font-weight:800}.rab-user strong,.rab-user small{display:block}.rab-user small{color:#bfb4ab;font-size:12px}.rab-logout{color:#d7cec7;text-decoration:none;font-size:13px}.rab-logout:hover{color:#fff}
.rab-main{padding:36px;min-width:0}.rab-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.rab-top h1{margin:0;font-size:30px;line-height:1.1;color:#353942}.rab-eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:1.6px;font-size:11px;font-weight:800;color:#987a61}.rab-today{background:#fff;border:1px solid var(--rab-border);padding:10px 14px;border-radius:12px;font-size:13px;color:#71675e}
.rab-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.rab-stat{background:#fff;border:1px solid var(--rab-border);border-radius:18px;padding:20px 22px}.rab-stat span{display:block;color:#8b8178;font-size:13px;margin-bottom:7px}.rab-stat strong{font-size:24px;color:#3d3834}
.rab-card{background:#fff;border:1px solid var(--rab-border);border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(60,44,30,.04)}.rab-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.rab-card-head h3{margin:0 0 5px;font-size:20px}.rab-card-head p{margin:0;color:#8d857e;font-size:13px}.rab-count{min-width:34px;height:34px;border-radius:999px;background:var(--rab-accent-soft);color:var(--rab-accent);display:flex;align-items:center;justify-content:center;font-weight:800}
.rab-calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:18px}.rab-calendar-toolbar h3{text-align:center;margin:0;font-size:20px}.rab-calendar-toolbar a{width:38px;height:38px;border:1px solid var(--rab-border);border-radius:11px;text-decoration:none;color:#4a423c;display:flex;align-items:center;justify-content:center;font-size:26px;background:#fff}.rab-calendar-toolbar a:last-child{justify-self:end}
.rab-front-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--rab-border);border-top:1px solid var(--rab-border)}.rab-front-calendar>div{border-right:1px solid var(--rab-border);border-bottom:1px solid var(--rab-border)}.rab-week{border:none;margin-bottom:0}.rab-week>div{border:none;text-align:center;padding:9px 4px;color:#9b9189;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.rab-cell{min-height:120px;padding:10px;background:#fff}.rab-cell.muted{background:#fbfaf8}.rab-cell.today{background:#fffaf2}.rab-date{font-weight:800;font-size:13px;color:#67615c;margin-bottom:8px}.rab-cell.today .rab-date{width:28px;height:28px;border-radius:50%;background:var(--rab-accent);color:#fff;display:flex;align-items:center;justify-content:center}.rab-front-event{background:var(--rab-accent-soft);border-left:3px solid var(--rab-accent);padding:7px 8px;border-radius:7px;margin:6px 0;line-height:1.25}.rab-front-event strong{display:block;font-size:11px;color:var(--rab-accent)}.rab-front-event span{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4c453f}
.rab-table-wrap{overflow:auto}.rab-table{width:100%;border-collapse:collapse;min-width:880px}.rab-table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--rab-border);font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#948a81}.rab-table td{padding:15px 10px;border-bottom:1px solid #f0ece7;vertical-align:top;font-size:13px}.rab-table td small{display:block;color:#9a918a;margin-top:4px;max-width:260px}.rab-table a{color:var(--rab-accent);text-decoration:none}.rab-pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}.rab-pill.confirmed{background:#e8f3ec;color:var(--rab-success)}.rab-pill.cancelled{background:#f8e8e8;color:var(--rab-danger)}.rab-pill.pending{background:#f5efe2;color:#886a31}.rab-actions{position:relative}.rab-actions summary{cursor:pointer;list-style:none;font-weight:800;font-size:18px}.rab-actions summary::-webkit-details-marker{display:none}.rab-actions>div{position:absolute;right:0;top:28px;background:#fff;border:1px solid var(--rab-border);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.12);padding:8px;z-index:5;min-width:120px}.rab-actions a{display:block;padding:8px 10px;border-radius:7px}.rab-actions a:hover{background:#f7f3ee}.rab-actions a.danger{color:var(--rab-danger)}.rab-empty{text-align:center;padding:40px!important;color:#999}
.rab-login-shell{display:block;min-height:620px;padding:70px 20px;background:linear-gradient(135deg,#f7f0e6,#fff8ee)}.rab-login-card{max-width:430px;margin:0 auto;background:#fff;padding:38px;border-radius:24px;box-shadow:0 24px 70px rgba(67,48,31,.12);border:1px solid #eee4d8}.rab-login-card .rab-brand-mark{margin-bottom:18px}.rab-login-card h2{font-size:28px;margin:0 0 8px;color:#34373d}.rab-login-card>p{color:#827970;margin:0 0 24px}.rab-login-card label{font-size:13px;font-weight:700;color:#59514a}.rab-login-card input[type=text],.rab-login-card input[type=password]{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #ddd4ca;border-radius:10px;margin-top:6px;outline:none}.rab-login-card input:focus{border-color:#8a6a50;box-shadow:0 0 0 3px rgba(101,75,54,.08)}.rab-login-card .login-remember{margin:14px 0}.rab-login-card .button-primary,.rab-btn{width:100%;border:0;background:var(--rab-accent);color:#fff;padding:12px 16px;border-radius:10px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;box-sizing:border-box}
@media(max-width:960px){.rab-portal{grid-template-columns:1fr;border-radius:0;margin:0;min-height:100vh}.rab-sidebar{min-height:auto;padding:16px;display:block}.rab-brand{padding-bottom:14px}.rab-nav{display:flex;padding-top:14px;gap:8px}.rab-nav a{margin:0;flex:1;justify-content:center}.rab-side-bottom{display:none}.rab-main{padding:22px 14px}.rab-top{align-items:flex-start}.rab-top h1{font-size:24px}.rab-stats{grid-template-columns:1fr 1fr}.rab-card{padding:14px;border-radius:16px}.rab-front-calendar{min-width:760px}.rab-card{overflow:auto}}
@media(max-width:600px){.rab-top{gap:12px}.rab-today{display:none}.rab-stats{grid-template-columns:1fr}.rab-nav a{font-size:12px}.rab-cell{min-height:100px}.rab-login-card{padding:28px 22px}}

/* v1.2 - reservas primero, calendario compacto y reprogramacion */
.rab-calendar-card{max-width:980px;margin:0 auto}.rab-calendar-card .rab-cell{min-height:82px;padding:8px}.rab-calendar-card .rab-front-event{padding:5px 6px;margin:4px 0}.rab-calendar-card .rab-front-event strong{font-size:10px}.rab-calendar-card .rab-front-event span{font-size:11px}.rab-calendar-card .rab-date{margin-bottom:4px}
.rab-notice{padding:13px 16px;border-radius:12px;margin-bottom:16px;font-size:13px;font-weight:700}.rab-notice.success{background:#e8f3ec;color:#356a4c;border:1px solid #cfe6d8}.rab-notice.error{background:#f8e8e8;color:#a33939;border:1px solid #efd0d0}
.rab-reschedule-card{margin-bottom:18px;border-color:#dfd1c2;background:#fffdf9}.rab-close-link{color:var(--rab-accent);text-decoration:none;font-size:13px;font-weight:700}.rab-reschedule-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;gap:14px;align-items:end}.rab-reschedule-form label span{display:block;font-size:12px;font-weight:800;color:#6f655d;margin-bottom:7px}.rab-reschedule-form input,.rab-reschedule-form select{width:100%;height:44px;border:1px solid #ddd4ca;border-radius:10px;background:#fff;padding:0 12px;color:#443e39;box-sizing:border-box}.rab-primary-btn{height:44px;border:0;border-radius:10px;background:var(--rab-accent);color:#fff;padding:0 18px;font-weight:800;cursor:pointer;white-space:nowrap}.rab-primary-btn:hover{filter:brightness(.95)}
@media(max-width:960px){.rab-calendar-card{max-width:none}.rab-reschedule-form{grid-template-columns:1fr 1fr}.rab-primary-btn{grid-column:1/-1}.rab-calendar-card .rab-front-calendar{min-width:700px}}
@media(max-width:600px){.rab-reschedule-form{grid-template-columns:1fr}.rab-primary-btn{grid-column:auto}}
.rab-table{min-width:1000px}.rab-table .rab-status-col{width:88px;white-space:nowrap}.rab-table .rab-pill{padding:4px 7px;font-size:10px}
.rab-karen-zone{font-size:11px;color:#8a7460;white-space:nowrap}.rab-client-time{display:block;margin-top:7px;font-size:12px;font-weight:700;color:#3d7480;white-space:nowrap}
.rab-phone-wrap{display:block;margin-top:8px}.rab-table .rab-whatsapp-link{display:inline-flex;align-items:center;gap:5px;color:#178445;font-size:12px;font-weight:700;line-height:1.4;text-decoration:none}.rab-table .rab-whatsapp-link:hover{text-decoration:underline;color:#0d6f37}.rab-whatsapp-link .dashicons{font-size:16px;width:16px;height:16px}.rab-phone-plain{font-size:12px;color:#70665e}


/* v1.3 - tipografia aislada del tema para compatibilidad completa con acentos y numeros */
.rab-portal,.rab-login-shell{font-family:"Segoe UI",Roboto,Arial,sans-serif;}
.rab-portal input,.rab-portal select,.rab-portal textarea,.rab-portal button,.rab-login-shell input,.rab-login-shell select,.rab-login-shell textarea,.rab-login-shell button{font-family:inherit;}
.rab-portal .dashicons{font-family:dashicons;}

/* v1.5 - configuracion privada */
.rab-client-settings{max-width:920px}.rab-client-google{display:grid;grid-template-columns:56px 1fr auto;gap:18px;align-items:center;padding:22px;border:1px solid #eadfd5;border-radius:16px;background:linear-gradient(135deg,#fbf7f1,#f5eee6)}.rab-google-round{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ddd;font-weight:800;font-size:23px;color:#4285f4;box-shadow:0 4px 14px rgba(0,0,0,.05)}.rab-google-info{display:flex;flex-direction:column;gap:4px}.rab-google-info strong{font-size:16px;color:#2f2924}.rab-google-info span{font-size:14px;color:#574a42}.rab-google-info small{font-size:12px;color:#87776c;line-height:1.45}.rab-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid #cdbba9;border-radius:10px;text-decoration:none!important;color:#5d493a!important;background:#fff;font-weight:700}.rab-setup-pending{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border-radius:999px;background:#fff0dc;border:1px solid #efd8b8;color:#8a5c2d;font-size:12px;font-weight:700}.rab-settings-note{display:flex;gap:12px;margin-top:16px;padding:16px 18px;border-radius:14px;background:#faf8f5;color:#62554b}.rab-settings-note .dashicons{color:#8a725f}.rab-settings-note strong{display:block;margin-bottom:3px}.rab-settings-note p{margin:0;font-size:13px;line-height:1.55;color:#77695f}
@media(max-width:780px){.rab-client-google{grid-template-columns:52px 1fr}.rab-client-google .rab-primary-btn,.rab-client-google .rab-secondary-btn,.rab-client-google .rab-setup-pending{grid-column:1/-1;justify-self:start}}
