/* Ruta 717 V8.58: calendario visual por día, semana o mes */
.r858-calendar,.r858-details{margin:0 0 18px}
.r858-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.r858-head h2{margin:0 0 7px;font-family:Georgia,serif}
.r858-head p,.r858-note{font-size:13px;color:#526d7b}
.r858-views{display:flex;gap:3px;background:#e9f2f3;border-radius:10px;padding:4px}
.r858-view{border:0;background:transparent;border-radius:8px;color:#234458;padding:9px 14px;font-weight:750;cursor:pointer}
.r858-view.current{background:#0c8291;color:#fff;box-shadow:0 2px 6px #0a385024}
.r858-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:20px 0 16px}
.r858-range{flex:1;min-width:120px;text-align:center;text-transform:capitalize;color:#15394b}
.r858-date-picker{font-size:12px;display:flex;gap:5px;align-items:center}
.r858-date-picker input{max-width:155px;border:1px solid #cadbe0;padding:7px;border-radius:8px;background:#fff;color:#183c4d;font:inherit}
.r858-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px}
.r858-weekdays span{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#6a8390;padding:5px}
.r858-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.r858-day{display:flex;flex-direction:column;justify-content:space-between;gap:6px;align-items:flex-start;min-height:98px;padding:11px;border:1px solid #d7e5e7;background:#f8fbfb;color:#143848;border-radius:11px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.r858-day:hover{border-color:#15919e;background:#e7f6f5}
.r858-day:focus-visible{outline:3px solid #e7b968;outline-offset:1px}
.r858-day.selected{border:2px solid #0c8d9b;background:#e2f4f1;box-shadow:inset 0 0 0 1px #5ab6b8}
.r858-day.today .r858-day-n{background:#15394b;color:#fff;border-radius:6px;padding:3px 6px}
.r858-day.outside{opacity:.5}
.r858-day-n{font-size:15px;font-weight:800}
.r858-day-count{display:block;font-size:11px;line-height:1.4;color:#78909b;font-weight:700}
.r858-day-count.filled{background:#d5ede6;border-radius:7px;color:#09626b;padding:4px 6px}
.r858-days.one{grid-template-columns:minmax(0,1fr)}
.r858-days.one .r858-day{min-height:78px}
.r858-details-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.r858-details-head h3{margin:0;text-transform:capitalize;font-family:Georgia,serif;font-size:20px}
.r858-total{background:#dff2ee;color:#0f6772;font-size:12px;font-weight:750;padding:8px 10px;border-radius:9px}
.r858-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.r858-room{border:1px solid #dbe7e9;border-radius:12px;padding:14px;background:#fbfdfd;min-width:0}
.r858-room h4{margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e1ebee;font-size:15px;color:#133b4c;letter-spacing:.06em;display:flex;justify-content:space-between}
.r858-room h4 span{font-size:12px;font-weight:700;background:#e8f2f3;padding:2px 7px;border-radius:7px}
.r858-event{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef3f3;align-items:start}
.r858-event:last-child{border-bottom:0}
.r858-event-name{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.r858-event-name strong{font-size:13px}
.r858-event-name small{font-size:11px;color:#637b87}
.r858-time{white-space:nowrap;font-weight:800;color:#047a87;font-size:12px}
.r858-empty{font-size:12px;color:#8ba0a9;margin:7px 0}
.r858-note{margin:14px 0 0}
.r858-loading{margin:8px 0}
@media(max-width:900px){.r858-room-grid{grid-template-columns:1fr}.r858-day{min-height:75px;padding:8px}.r858-day-count{font-size:10px}}
@media(max-width:640px){.r858-views{width:100%;justify-content:stretch}.r858-view{flex:1}.r858-toolbar{gap:6px}.r858-range{order:-1;flex-basis:100%;font-size:14px}.r858-day{min-height:65px;padding:5px;border-radius:7px}.r858-days,.r858-weekdays{gap:3px}.r858-day-n{font-size:12px}.r858-day-count{font-size:9px}.r858-day-count.filled{padding:3px}.r858-head h2{font-size:21px}.r858-details-head h3{font-size:17px}}

.r858-weekdays.one{grid-template-columns:minmax(0,1fr)}
.r858-details-head h3{text-transform:none}

/* V8.59 — un solo calendario; gestión plegable, ficha interactiva. */
.r859-unified{margin-top:16px}
.r859-calendar,.r859-day-details{margin-bottom:16px}
.r859-heading{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:12px}
.r859-heading h2{font-family:Georgia,serif;font-size:25px;margin:0 0 4px}
.r859-heading p{margin:0;color:#54707d;font-size:13px}
.r859-tabs{display:flex;gap:4px;background:#e8f0f2;border-radius:12px;padding:4px}
.r859-tabs button{border:0;border-radius:9px;background:transparent;color:#244658;padding:10px 17px;font-weight:800;cursor:pointer}
.r859-tabs button.active{background:#0b8795;color:#fff}
.r859-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:17px 0}
.r859-nav strong{flex:1;text-align:center;min-width:150px;text-transform:capitalize;font-size:15px}
.r859-nav label{display:flex;gap:7px;align-items:center;font-size:12px;color:#54707d}
.r859-nav input{padding:7px;max-width:155px;border:1px solid #c4d7dc;border-radius:7px;background:#fff;color:#123a4d}
.r859-weekheads,.r859-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.r859-weekheads span{text-align:center;font-size:11px;color:#68828c;padding:7px 3px;font-weight:800;text-transform:uppercase}
.r859-weekheads.one,.r859-grid.one{grid-template-columns:1fr}
.r859-day{display:flex;flex-direction:column;align-items:start;justify-content:space-between;min-height:92px;border:1px solid #d5e6e8;border-radius:11px;background:#f8fbfb;padding:12px 10px;color:#17384a;cursor:pointer}
.r859-day:hover{border-color:#148d96;background:#e8f5f3}
.r859-day.selected{background:#dff3f0;border:2px solid #078a92}
.r859-day.today .r859-number{background:#123a4b;color:white;border-radius:7px;padding:3px 7px}
.r859-day.other{opacity:.47}
.r859-number{font-size:15px;font-weight:800}
.r859-daycount{font-size:11px;color:#78909b;font-weight:700}
.r859-daycount.has-events{color:#066876;background:#d1ebe5;padding:4px 6px;border-radius:7px}
.r859-day-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.r859-day-title h2{margin:0;text-transform:capitalize;font-family:Georgia,serif;font-size:23px}
.r859-day-title p{margin:5px 0;color:#64808c;font-size:13px}
.r859-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.r859-room{min-width:0;border:1px solid #d8e4e8;border-radius:13px;background:#fbfdfd;padding:15px}
.r859-room h3{display:flex;justify-content:space-between;border-bottom:1px solid #dfe9eb;margin:0 0 9px;padding-bottom:11px;font-size:16px;color:#16384a;letter-spacing:.04em}
.r859-room h3 span{font-size:11px;background:#e5f1f1;padding:3px 8px;border-radius:8px}
.r859-room-empty{padding:10px;color:#8ba2ac;font-size:12px}
.r859-entry{border-bottom:1px solid #e3eeee}
.r859-entry:last-child{border:0}
.r859-entry-button{width:100%;border:0;background:none;text-align:left;padding:11px 0;display:flex;align-items:start;gap:9px;justify-content:space-between;color:#183c4e;cursor:pointer}
.r859-entry-button:hover strong{text-decoration:underline}
.r859-entry-text{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.r859-entry-text strong{font-size:13px}
.r859-entry-text small{color:#677f88;font-size:11px}
.r859-entry-time{white-space:nowrap;font-size:12px;font-weight:800;color:#067d8a}
.r859-entry-arrow{color:#0b8795}
.r859-entry-expanded{background:#f0f8f7;padding:13px;border-radius:10px;margin:0 0 9px;font-size:12px}
.r859-entry-expanded p{margin:0 0 8px}
.r859-existing-card{background:white;border-radius:10px;overflow:hidden}
.r859-management{margin:14px 0;border:1px solid #bfd8db;border-radius:13px;background:#fafcfc;padding:0}
.r859-management>summary{cursor:pointer;padding:16px 20px;font-weight:800;color:#123e50}
.r859-management[open]>summary{border-bottom:1px solid #d7e7e9}
.r859-management>.panel{margin:14px}
.r859-management>.v814-listarea{margin:14px}
@media(max-width:850px){.r859-rooms{grid-template-columns:1fr}.r859-day{min-height:73px;padding:8px}}
@media(max-width:600px){.r859-tabs{width:100%}.r859-tabs button{flex:1}.r859-nav strong{order:-1;flex-basis:100%}.r859-grid,.r859-weekheads{gap:3px}.r859-day{min-height:66px;padding:5px;border-radius:7px}.r859-daycount{font-size:9px}.r859-daycount.has-events{padding:3px}.r859-number{font-size:12px}.r859-heading h2{font-size:22px}}

/* V8.59: acceso rápido al calendario también en móvil de Administración. */
.r859-mobile-nav{display:none}
@media(max-width:899px){
 .admin-shell:has(.r859-unified)>.sidebar{display:none!important}
 .admin-shell:has(.r859-unified)>.r859-mobile-nav{
  display:block;border:1px solid #355766;border-radius:12px;margin:8px 0 16px;
  padding:0;background:#0b3042;color:#e7f0f2;
 }
 .r859-mobile-nav>summary{cursor:pointer;font-weight:750;padding:13px 16px}
 .r859-mobile-links{padding:8px 12px 14px;display:grid;gap:8px}
 .r859-mobile-links .sidebar-btn{border:1px solid #456c7a;display:block;width:100%;padding:12px 14px;
   border-radius:9px;background:#214d62;color:white;text-align:left;font-weight:700;cursor:pointer}
 .r859-mobile-links .sidebar-btn.current{background:#087988;border-color:#dfba69}
 .r859-mobile-links h2,.r859-mobile-links p{display:none}
 .r859-mobile-links .btn{width:100%}
}
