/* Mi agenda - libreta privada de la profesional */
.planner-page{display:block;min-width:0}
.planner-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:0 0 18px}
.planner-toolbar-title .eyebrow{margin:0 0 6px;font-size:11px}
.planner-toolbar-title h2{margin:0;font-size:25px;text-transform:capitalize;font-family:Georgia,serif;color:#344432;font-weight:500}
.planner-toolbar-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.planner-toolbar-controls .btn{min-width:38px;height:42px;padding:8px 11px}
.planner-toolbar-controls select{width:auto;max-width:150px;min-width:78px;height:42px;padding:7px 11px;font-size:14px}
.planner-helper,.planner-footnote{font-size:13px;line-height:1.6;color:#64705d}
.planner-helper{margin:0 0 16px}
.planner-footnote{margin:18px 0}
.planner-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:20px;align-items:start}
.planner-layout>section{min-width:0}
.planner-month-panel{padding:20px;position:sticky;top:85px}
.planner-weekdays,.planner-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.planner-weekdays{margin-bottom:8px}
.planner-weekdays span{font-size:12px;font-weight:600;text-align:center;color:#68785e}
.planner-calendar-empty{height:44px}
.planner-day{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;height:44px;padding:3px 1px;border:1px solid transparent;border-radius:9px;background:#f6f7f2;color:#364633}
.planner-day-number{font-size:15px;line-height:1.3}
.planner-day.today{border-color:#b19b56}
.planner-day.selected{background:#859873;color:#fff}
.planner-day.selected .planner-day-count{background:#eff5e8;color:#475e39}
.planner-day-count{display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1.3;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#dde8d0;color:#475e39}
.planner-day:focus-visible{outline:3px solid #856a20;outline-offset:2px}
.planner-day:hover:not(.selected){background:#eaf0e4}
.planner-day-panel{padding:20px}
.planner-day-head{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap;border-bottom:1px solid #e3e7dc;padding-bottom:17px}
.planner-day-head h2{font-size:21px;font-weight:500;text-transform:capitalize;margin:0 0 5px}
.planner-day-head p{font-size:12px;line-height:1.5;color:#64705d;margin:0}
.planner-day-head .btn{white-space:nowrap}
.planner-schedule{margin:8px 0 0}
.planner-timeslot{display:grid;grid-template-columns:102px minmax(0,1fr);gap:12px;min-height:56px;padding:12px 0;border-bottom:1px solid #ebeee7}
.planner-time{font-size:13px;color:#546647;padding:7px 0;white-space:nowrap}
.planner-slot-content{min-width:0;display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap}
.planner-free{font-size:12px;color:#9aa492;padding:7px 0}
.planner-add-slot{margin-left:auto;background:transparent;border:1px solid #d9e1ce;border-radius:8px;padding:7px 10px;font-size:12px;color:#526541}
.planner-add-slot:hover{background:#f0f4eb}
.planner-entry{background:#f5f8f1;border:1px solid #dfe7d7;border-left:4px solid #8ca478;border-radius:10px;padding:11px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-width:0}
.planner-entry-content{min-width:0;display:flex;flex-direction:column;gap:5px;color:#394a35}
.planner-entry-content strong{font-size:15px;overflow-wrap:anywhere}
.planner-entry-content span{font-size:13px;overflow-wrap:anywhere}
.planner-entry-content small{font-size:12px;color:#607351}
.planner-entry-content p{font-size:12px;line-height:1.6;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.planner-entry-actions{display:flex;flex-direction:column;flex-shrink:0;gap:6px}
.planner-entry-actions .btn{font-size:11px;padding:7px 9px}
.planner-error{padding:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.planner-loading{padding:24px}
.planner-dialog{width:620px;max-width:calc(100vw - 28px);max-height:90dvh;overflow-y:auto}
.planner-form{display:flex;flex-direction:column;gap:15px}
.planner-form .field{font-size:14px;line-height:1.45;min-width:0;gap:7px}
.planner-form .field input,.planner-form .field select,.planner-form .field textarea{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;font-size:16px}
.planner-form .field input,.planner-form .field select{height:48px;min-height:48px;max-height:48px}
.planner-form textarea{min-height:110px;resize:vertical}
.planner-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch;width:100%;min-width:0;box-sizing:border-box}
.planner-form-grid>.field{min-width:0}
.planner-form .dialog-buttons{margin-top:2px}
@media(max-width:1050px){
  .planner-layout{grid-template-columns:minmax(0,1fr)}
  .planner-month-panel{position:static}
  .planner-calendar-grid{max-width:570px}
}
@media(max-width:760px){
  .mobile-bar{overflow-x:auto;justify-content:flex-start;gap:0;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .mobile-bar button{flex:0 0 72px;min-width:72px;padding:4px 5px;scroll-snap-align:start}
  .planner-toolbar-controls{gap:7px}
  .planner-toolbar-title h2{font-size:22px}
  .planner-toolbar-controls .btn{padding:8px 9px}
  .planner-layout{gap:13px}
  .planner-month-panel,.planner-day-panel{padding:16px}
  .planner-day{height:43px}
  .planner-day-head h2{font-size:18px}
  .planner-timeslot{grid-template-columns:80px minmax(0,1fr);gap:7px}
  .planner-time{font-size:12px}
  .planner-entry{flex-direction:column;gap:10px}
  .planner-entry-actions{flex-direction:row;align-self:flex-end}
  .planner-add-slot{padding:7px}
  .planner-dialog .dialog-head{padding:20px}
  .planner-dialog .dialog-body{padding:20px 18px}
}
@media(max-width:430px){
  .planner-form-grid{gap:14px}
  .planner-toolbar-controls{width:100%}
  .planner-toolbar-controls select{flex:1 1 80px;min-width:75px}
  .planner-calendar-empty{height:39px}
  .planner-day{height:39px}
  .planner-day-number{font-size:14px}
  .planner-timeslot{grid-template-columns:68px minmax(0,1fr)}
}

/* Nueva anotación: controles compactos y sin superposición en Safari móvil. */
.planner-dialog,
.planner-dialog .dialog-body,
.planner-dialog .planner-form,
.planner-dialog .planner-form-grid,
.planner-dialog .planner-form-grid > .field{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
}
.planner-dialog .planner-form > .field,
.planner-dialog .planner-form-grid > .field{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:8px;
  overflow-wrap:anywhere;
  font-size:14px;
  line-height:1.45;
}
.planner-dialog .planner-form .field > input,
.planner-dialog .planner-form .field > select,
.planner-dialog .planner-form .field > textarea{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  min-inline-size:0;
  flex:0 0 auto;
  margin:0;
  font-size:16px;
}
.planner-dialog .planner-form .field > input:not([type="checkbox"]),
.planner-dialog .planner-form .field > select{
  height:50px;
  min-height:50px;
  max-height:50px;
  padding:10px 12px;
  border-radius:10px;
}
.planner-dialog .planner-form .field > input[type="date"]{
  -webkit-min-logical-width:0;
  text-align:left;
}
.planner-dialog .planner-form .field > input[type="date"]::-webkit-date-and-time-value{
  min-width:0;
  text-align:left;
}
.planner-dialog .planner-form .field > textarea{
  min-height:112px;
  padding:12px;
}
@media(min-width:1000px){
  .planner-dialog .planner-form-grid--payment{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:999px){
  .planner-dialog .planner-form-grid{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
}
