/* 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}
}

/* Encabezado compacto y contexto horario de la agenda. */
.agenda-commandbar{position:relative;z-index:12;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(430px,1fr);align-items:center;gap:16px;min-height:66px;margin:0 0 10px;padding:10px 12px;border:1px solid #d6e0dc;border-radius:13px;background:rgba(250,252,251,.96);box-shadow:0 8px 24px rgba(26,54,47,.05);backdrop-filter:blur(15px)}
.agenda-command-identity{display:grid;gap:3px}.agenda-command-identity .eyebrow{font-size:8px}.agenda-command-identity>strong{color:#172b27;font-size:14px;font-weight:750;letter-spacing:-.02em}
.agenda-command-nav,.agenda-command-actions{display:flex;align-items:center;gap:7px}.agenda-command-nav{justify-content:center}.agenda-command-actions{justify-content:flex-end}.agenda-command-actions .secondary-button,.agenda-command-actions .primary-button{min-height:38px;white-space:nowrap}.agenda-command-actions .primary-button{background:var(--forest);color:#fff}.agenda-settings-button,.agenda-focus-button{position:relative;width:38px;padding:0!important}.agenda-focus-button span{font-size:16px}.agenda-focus-button.active{border-color:#9fbdb3;background:#e7f2ee;color:var(--forest)}
.agenda-settings-button:after,.agenda-focus-button:after{position:absolute;right:0;top:calc(100% + 7px);z-index:30;width:max-content;max-width:180px;border-radius:7px;background:#173c36;padding:6px 8px;color:#fff;content:attr(data-tooltip);font-size:9px;font-weight:700;line-height:1;opacity:0;pointer-events:none;transform:translateY(-3px);transition:.16s}.agenda-settings-button:hover:after,.agenda-settings-button:focus-visible:after,.agenda-focus-button:hover:after,.agenda-focus-button:focus-visible:after{opacity:1;transform:none}
.view:has(.agenda-workspace) .agenda-toolbar.agenda-toolbar-compact{top:auto;justify-content:space-between;margin:0 0 10px;padding:9px 12px}.agenda-toolbar-compact .agenda-filters{flex:1}.agenda-toolbar-compact .segmented{margin-left:auto}
@media(min-width:761px){.agenda-toolbar-compact .agenda-filters{order:0!important;width:auto!important}.agenda-toolbar-compact [data-agenda-views]{order:1!important}}
.agenda-zone-control{position:relative;display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:100%;border:0;background:transparent;color:#426c62;cursor:pointer;font:inherit}.agenda-zone-control>span{font-size:10px}.agenda-zone-control>b{font-size:8px;letter-spacing:.04em}.agenda-zone-control:hover,.agenda-zone-control:focus-visible{background:#dce9e4;outline:0}.agenda-zone-control>em{position:absolute;z-index:18;left:7px;top:calc(100% + 6px);width:max-content;border-radius:6px;background:#175c50;padding:6px 8px;color:#fff;font-size:8px;font-style:normal;font-weight:700;line-height:1;opacity:0;pointer-events:none;transform:translateY(-3px);transition:.16s}.agenda-zone-control>em:before{position:absolute;left:12px;bottom:100%;border:4px solid transparent;border-bottom-color:#175c50;content:''}.agenda-zone-control:hover>em,.agenda-zone-control:focus-visible>em{opacity:1;transform:none}
.calendar-patient-name{display:flex!important;align-items:center;gap:4px}.patient-zone-mark{position:static!important;display:inline-grid!important;width:12px!important;height:12px!important;place-items:center;flex:0 0 12px;color:#287565!important;font-size:10px!important;font-style:normal!important;line-height:1!important}
.agenda-patient-time-popover{position:fixed;z-index:180;border:1px solid #cfdbd6;border-radius:12px;background:#fffdf9;padding:15px 16px;color:#193a33;box-shadow:0 18px 42px rgba(21,54,46,.18);pointer-events:none;animation:agenda-time-pop .14s ease-out}.agenda-patient-time-popover:after{position:absolute;left:calc(50% - 6px);top:100%;border:6px solid transparent;border-top-color:#fffdf9;content:''}.agenda-patient-time-popover.below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#fffdf9}.agenda-patient-time-popover>span{display:block;color:#357b6f;font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.agenda-patient-time-popover h3{margin:5px 0 12px;font-size:14px}.agenda-patient-time-popover dl{display:grid;gap:7px;margin:0}.agenda-patient-time-popover dl>div{display:flex;align-items:center;justify-content:space-between;gap:18px}.agenda-patient-time-popover dt{color:#586c65;font-size:10px}.agenda-patient-time-popover dd{margin:0;font-size:11px;font-weight:750}.agenda-patient-time-popover p{margin:12px 0 3px;padding-top:10px;border-top:1px solid #e2e8e5;color:#49655d;font-size:10px}.agenda-patient-time-popover small{color:#7c8b86;font-size:8px}@keyframes agenda-time-pop{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
body.agenda-focus-mode .sidebar,body.agenda-focus-mode .main-area>.topbar{display:none!important}body.agenda-focus-mode .app-shell{height:100vh}body.agenda-focus-mode .main-area{width:100%;height:100vh}body.agenda-focus-mode .view:has(.agenda-workspace){height:100%;padding:8px 12px 10px}body.agenda-focus-mode .agenda-commandbar{min-height:60px;margin-bottom:7px}body.agenda-focus-mode .view:has(.agenda-workspace) .agenda-toolbar.agenda-toolbar-compact{margin-bottom:7px;padding-block:7px}
@media(max-width:1200px){.agenda-commandbar{grid-template-columns:minmax(180px,1fr) auto}.agenda-command-actions{grid-column:1/-1;justify-content:flex-end}.agenda-commandbar{min-height:100px}.agenda-toolbar-compact .agenda-filters{overflow-x:auto}}
@media(max-width:760px){.agenda-commandbar{display:flex;min-height:auto;align-items:center;flex-wrap:wrap;margin:0 0 7px;padding:8px}.agenda-command-identity{flex:1;min-width:170px}.agenda-command-identity>strong{font-size:12px}.agenda-command-nav{order:3;width:100%;justify-content:center}.agenda-command-actions{gap:5px}.agenda-command-actions .agenda-settings-button,.agenda-command-actions [data-agenda-new="event"]{display:none}.agenda-command-actions .primary-button{padding:9px 10px;font-size:10px}.agenda-focus-button{width:34px!important}.agenda-patient-time-popover{max-width:calc(100vw - 24px)}.agenda-zone-control>em{display:none}}
