/* Agenda profesional: contraste sereno, jerarquía y foco temporal. */
.main-area:has(.agenda-workspace){background:#edf2ef}
.view:has(.agenda-workspace){max-width:none;padding-bottom:34px}
.view:has(.agenda-workspace) .page-head{padding:3px 2px 2px}
.view:has(.agenda-workspace) .page-head h1{color:#172b27}
.view:has(.agenda-workspace) .page-head p{color:#667670}
.view:has(.agenda-workspace) .timezone-banner{border-color:#cadbd5;background:#e3eeea;color:#315b53;box-shadow:0 1px 0 rgba(26,70,60,.03)}
.view:has(.agenda-workspace) .agenda-rule-strip{gap:8px;margin-top:0}
.view:has(.agenda-workspace) .agenda-rule-strip span{border-color:#d2dcd8;background:rgba(255,255,255,.72);color:#5f706a;box-shadow:0 1px 2px rgba(26,54,47,.025)}

.view:has(.agenda-workspace) .agenda-toolbar{top:64px;margin:0 0 13px;padding:12px 13px;border:1px solid #d6e0dc;border-radius:13px;background:rgba(248,250,249,.94);box-shadow:0 8px 24px rgba(26,54,47,.055);backdrop-filter:blur(15px)}
.agenda-toolbar .field{border-color:#ccd8d3;background:#fff;box-shadow:0 1px 2px rgba(27,55,48,.025)}
.agenda-toolbar .field:hover{border-color:#9fb8af}
.agenda-toolbar .segmented{border-color:#ccd8d3;background:#e8eeeb;padding:3px}
.agenda-toolbar .segmented button{color:#62726c}
.agenda-toolbar .segmented button.active{background:#1c5c50;color:#fff;box-shadow:0 2px 7px rgba(21,77,67,.18)}
.agenda-navigation{gap:8px}
.agenda-navigation strong{color:#203d37;font-weight:750;letter-spacing:-.015em}
.agenda-navigation .soft-button{border:1px solid #d0ddd8;background:#e5efeb;color:#195c50}
.agenda-navigation .soft-button:hover{border-color:#a8c4ba;background:#d8e9e3}

.week-calendar{border:1px solid #cbd8d3;border-radius:15px;background:#f9fbfa;box-shadow:0 14px 34px rgba(24,51,44,.075)}
.week-calendar-scroll{background:#f9fbfa}
.week-header{border-bottom-color:#c8d5d0;background:#f0f5f3;box-shadow:0 5px 14px rgba(25,54,46,.05)!important}
.zone-corner{border-right:1px solid #d2dcd8;background:#e8efec;color:#526a62;font-weight:750;letter-spacing:.04em}
.week-day{position:relative;border-right:1px solid #dce4e1;color:#263b36}
.week-day:last-child{border-right:0}
.week-day small{color:#72837d;letter-spacing:.055em}
.week-day strong{color:#203a34;font-family:Inter,'DM Sans',sans-serif;font-weight:720}
.week-day.today{background:#dcebe5}
.week-day.today:after{content:'HOY';position:absolute;right:7px;top:7px;color:#287565;font-size:7px;font-weight:850;letter-spacing:.08em}
.week-day.today strong{background:#1b6254;box-shadow:0 3px 8px rgba(27,98,84,.22)}

.all-day-row{border-bottom-color:#ccd8d3;background:#eef3f1}
.all-day-row>span{border-right:1px solid #d4ded9;background:#e8eeeb;color:#667972;font-weight:650}
.all-day-row button{border-left-color:#d8e1dd}
.all-day-row button:nth-of-type(1),.all-day-row button:nth-of-type(7){background:rgba(231,236,233,.58)}
.all-day-row button.today-slot{background:#e0eee8;box-shadow:inset 0 0 0 1px rgba(46,120,103,.08)}

.time-column{border-right:1px solid #cfdad6;background:#eef3f1}
.time-column span{color:#5f736c!important;font-weight:700!important}
.time-column span:not(:empty){border-top-color:#cfdad6}
.slot-grid{background:#fbfcfb}
.agenda-slot{border-left-color:#dbe3df;border-top-color:#edf1ef;background:rgba(255,255,255,.52)}
.agenda-slot.major-slot{border-top-color:#cfd9d5}
.agenda-slot:nth-child(7n+1),.agenda-slot:nth-child(7n){background:#f4f6f5}
.agenda-slot.today-slot{background:#edf6f2}
.agenda-slot.today-slot.major-slot{border-top-color:#c3d9d1}
.agenda-slot:hover{z-index:2;background:#dceee7;box-shadow:inset 0 0 0 1px #8fbcae}

.calendar-item{border:1px solid color-mix(in srgb,var(--item-color) 42%,#cbd6d2);border-left:5px solid var(--item-color);border-radius:8px;background:color-mix(in srgb,var(--item-color) 25%,#fff);box-shadow:0 4px 10px rgba(24,54,46,.11);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
.calendar-item strong{color:#2b4841;font-weight:750}
.calendar-item span{color:#152f29;font-weight:800}
.calendar-item small{color:#526b64;font-weight:550}
.calendar-item:hover{z-index:7;transform:translateY(-1px) scale(1.008);filter:saturate(1.08);box-shadow:0 9px 18px rgba(21,57,48,.18)}
.calendar-item.personal-event{background:color-mix(in srgb,var(--item-color) 24%,#fff);border-color:color-mix(in srgb,var(--item-color) 48%,#d4d1dc);border-left-style:solid}
.calendar-item.completed-session{filter:saturate(.78);opacity:.9}
.calendar-item.public-booking{border-color:#d69d47;border-left-color:#d58a21;background:linear-gradient(135deg,#fff8e9,color-mix(in srgb,var(--item-color) 16%,#fff))}
.public-booking-mark{position:absolute;right:4px;bottom:3px!important;width:auto!important;max-width:calc(100% - 8px);border-radius:10px;background:#fff1cc;color:#87560d!important;padding:2px 5px;font-size:7px!important;font-weight:800!important;line-height:1;box-shadow:0 1px 3px rgba(89,58,11,.12)}
.legend-public-booking{border-radius:10px;background:#fff0c9;color:#80510b;padding:3px 7px;font-weight:700}
.public-booking-note{display:flex;align-items:center;gap:9px;margin:10px 0 2px;padding:10px;border:1px solid #ebc77d;border-radius:10px;background:#fff8e8;color:#795015}.public-booking-note>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f6d890;font-size:15px}.public-booking-note strong,.public-booking-note small{display:block}.public-booking-note strong{font-size:9px}.public-booking-note small{margin-top:2px;font-size:8px;color:#8b6b37}
.month-day .public-booking-mark,.agenda-list .public-booking-mark{display:inline-block;position:static!important;margin-left:5px;vertical-align:middle}
.current-time-line{height:2px;background:#d64d44;box-shadow:0 0 0 1px rgba(214,77,68,.08)}
.current-time-line:before{width:9px;height:9px;background:#d64d44;box-shadow:0 0 0 3px rgba(214,77,68,.13)}
.calendar-legend{border-top-color:#cad6d1;background:#f0f5f3;color:#586c65;padding:11px 15px;font-size:10px}
.calendar-legend i{box-shadow:inset 0 0 0 1px rgba(29,67,58,.09)}

.agenda-editor{border-color:#cbd9d4;background:#fbfcfb;box-shadow:0 12px 30px rgba(24,51,44,.08)}
.agenda-editor-head{margin:-18px -18px 13px;padding:18px;border-radius:12px 12px 0 0;background:#1c5248;color:#fff}
.agenda-editor-head .eyebrow{color:#9fd0c4}.agenda-editor-head h3{color:#fff}.agenda-editor-head .row-action{color:#fff;background:rgba(255,255,255,.1)}
.agenda-editor-form input,.agenda-editor-form select,.agenda-editor-form textarea{border-color:#ccd9d4;background:#fff}
.agenda-editor-form input:hover,.agenda-editor-form select:hover,.agenda-editor-form textarea:hover{border-color:#9fb9b0}

.month-calendar,.agenda-list{background:#f8faf9}
.month-weekdays{border-bottom-color:#cbd7d2;background:#e9f0ed}.month-weekdays span{color:#526b63}
.month-day{border-color:#d8e1dd;background:#fbfcfb}.month-day:nth-child(7n+1),.month-day:nth-child(7n){background:#f1f4f2}.month-day:hover{background:#e5f1ec}.month-day.today{background:#e5f2ed;box-shadow:inset 0 0 0 2px rgba(35,112,95,.16)}
.month-day>div>span{border:1px solid color-mix(in srgb,var(--item-color) 30%,#dce4e1);border-left:4px solid var(--item-color);background:color-mix(in srgb,var(--item-color) 22%,#fff)}
.agenda-list>header{border-bottom-color:#cbd7d2}.agenda-list>button{border-bottom-color:#dce4e0;background:#fbfcfb}.agenda-list>button:nth-of-type(even){background:#f4f7f5}.agenda-list>button:hover{background:#e6f1ed}

@media(max-width:760px){
  .main-area:has(.agenda-workspace){background:#eef2f0}
  .view:has(.agenda-workspace) .agenda-toolbar{top:60px;margin:0;padding:7px;border-width:0 0 1px;border-radius:0;box-shadow:0 7px 16px rgba(25,53,46,.07)}
  .week-calendar{border-radius:0;border-left:0;border-right:0;box-shadow:none}
  .week-day.today:after{display:none}.agenda-slot:nth-child(7n+1),.agenda-slot:nth-child(7n){background:#f4f6f5}.agenda-slot.today-slot{background:#e9f4ef}
  .calendar-item{border-width:1px;border-left-width:3px;box-shadow:0 2px 5px rgba(24,54,46,.1)}
  .calendar-item.public-booking .public-booking-mark{display:block;right:1px;bottom:1px;padding:1px 3px;font-size:6px!important}
  .agenda-editor-head{margin:-18px -18px 13px}
}
