:root{--gh-bg:#f4f7fb;--gh-card:#fff;--gh-text:#14213d;--gh-muted:#738099;--gh-line:#e7ebf2;--gh-blue:#086cf0;--gh-blue2:#3155f5;--gh-shadow:0 14px 40px rgba(20,33,61,.07);--gh-radius:20px}
body{background:var(--gh-bg)!important;color:var(--gh-text)}.main-content{background:linear-gradient(180deg,#f7f9fc 0,#f3f6fa 100%)!important}.card,.gh-panel,.premium-card{border:1px solid rgba(223,229,239,.9)!important;border-radius:18px!important;box-shadow:0 8px 28px rgba(19,33,68,.055)!important}.btn{border-radius:11px;font-weight:650}.form-control,.form-select{border-color:#dfe5ef;border-radius:11px;min-height:44px}.form-control:focus,.form-select:focus{border-color:#8ab9ff;box-shadow:0 0 0 4px rgba(8,108,240,.10)}.modal-content{border:0!important;border-radius:22px!important;box-shadow:0 30px 90px rgba(20,33,61,.22)!important}.modal-header,.modal-footer{border-color:#edf0f5!important}.table>thead th{background:#f8fafc!important;color:#627089!important;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.sidebar{background:linear-gradient(180deg,#0b1426 0%,#101d36 100%)!important}.sidebar .nav-link{border-radius:10px!important;margin:3px 10px!important}.sidebar .nav-link.active{background:linear-gradient(135deg,#086cf0,#3155f5)!important;box-shadow:0 8px 20px rgba(8,108,240,.26)}
.gh-premium-page{max-width:1600px;margin:0 auto}.gh-page-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 24px;padding:8px 2px}.gh-page-hero h1{font-size:2rem;font-weight:800;letter-spacing:-.04em;margin:2px 0 6px}.gh-page-hero p{color:var(--gh-muted);margin:0;max-width:700px}.gh-eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--gh-blue);text-transform:uppercase}.gh-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.agenda-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.agenda-kpi{background:#fff;border:1px solid var(--gh-line);border-radius:18px;padding:16px;display:flex;align-items:center;gap:13px;box-shadow:0 8px 24px rgba(21,35,68,.045)}.agenda-kpi-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:1.05rem}.agenda-kpi-icon.is-blue{background:#eaf3ff;color:#086cf0}.agenda-kpi-icon.is-amber{background:#fff5dc;color:#c37a00}.agenda-kpi-icon.is-green{background:#eaf9f0;color:#15803d}.agenda-kpi-icon.is-purple{background:#f2edff;color:#6d4aff}.agenda-kpi span{display:block;color:var(--gh-muted);font-size:.76rem;font-weight:700}.agenda-kpi strong{font-size:1.65rem;line-height:1.1;letter-spacing:-.04em}.agenda-kpi small{display:block;color:#98a3b7;font-size:.7rem;margin-top:2px}
.agenda-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:16px}.agenda-calendar-card,.agenda-side-card{background:#fff;border:1px solid var(--gh-line);border-radius:20px;box-shadow:var(--gh-shadow)}.agenda-calendar-card{padding:18px}.agenda-calendar-head,.agenda-side-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.agenda-calendar-head h3,.agenda-side-head h4{margin:2px 0 0;font-weight:800;letter-spacing:-.025em}.agenda-nav{display:flex;gap:7px}.btn-icon-soft,.btn-soft{background:#f5f7fb;border:1px solid #e8ecf3;color:#34445f}.btn-icon-soft{width:38px;height:38px;padding:0;display:grid;place-items:center}.agenda-weekdays,.agenda-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.agenda-weekdays{margin-top:17px;border-bottom:1px solid var(--gh-line)}.agenda-weekdays span{text-align:center;padding:8px 4px;color:#8a96aa;font-size:.72rem;font-weight:800;text-transform:uppercase}.agenda-calendar{gap:4px;padding-top:6px}.agenda-day{position:relative;min-height:92px;border:0;background:transparent;border-radius:14px;padding:9px;text-align:left;transition:.18s ease}.agenda-day:not(.is-empty):hover{background:#f2f7ff;transform:translateY(-1px)}.agenda-day.is-empty{pointer-events:none}.agenda-day.is-today{background:#eef5ff;box-shadow:inset 0 0 0 1px #bcd8ff}.day-num{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-weight:800;font-size:.84rem}.is-today .day-num{background:#086cf0;color:#fff}.day-dots{position:absolute;left:10px;bottom:10px;display:flex;gap:4px}.day-dot,.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.task{--kind:#f59e0b}.delivery{--kind:#22a35a}.meeting{--kind:#6d4aff}.day-dot.task,.dot.task{background:#f59e0b}.day-dot.delivery,.dot.delivery{background:#22a35a}.day-dot.meeting,.dot.meeting{background:#6d4aff}.day-count{position:absolute;right:9px;top:9px;min-width:21px;height:21px;border-radius:8px;background:#f0f3f8;color:#657289;font-size:.68rem;font-weight:800;display:grid;place-items:center}.agenda-legend{display:flex;gap:18px;flex-wrap:wrap;padding:15px 5px 2px;color:#7b879b;font-size:.75rem}.agenda-legend span{display:flex;align-items:center;gap:7px}
.agenda-side{display:flex;flex-direction:column;gap:16px}.agenda-side-card{padding:16px}.agenda-timeline{margin-top:10px}.agenda-line{display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;padding:11px 4px;border-top:1px solid #eff2f6;color:inherit;text-decoration:none}.agenda-line:first-child{border-top:0}.agenda-line:hover .agenda-line-main strong{color:#086cf0}.agenda-line-date{text-align:center;border-radius:12px;background:#f7f9fc;padding:7px 3px}.agenda-line-date strong{display:block;font-size:1rem}.agenda-line-date small{display:block;font-size:.59rem;color:#8591a6;text-transform:uppercase}.agenda-line-main{min-width:0}.agenda-line-main strong,.agenda-line-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-line-main strong{font-size:.82rem;margin:3px 0}.agenda-line-main small{font-size:.69rem;color:#8b96a8}.agenda-kind{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;font-size:.59rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;background:color-mix(in srgb,var(--kind) 12%,white);color:var(--kind)}.delivery-mini{display:flex;justify-content:space-between;gap:10px;padding:11px 3px;border-top:1px solid #eff2f6;text-decoration:none;color:inherit}.delivery-mini:first-of-type{margin-top:8px}.delivery-mini strong,.delivery-mini small{display:block}.delivery-mini strong{font-size:.82rem}.delivery-mini small{font-size:.7rem;color:#8b96a8}.delivery-mini>span{font-size:.72rem;font-weight:800;color:#086cf0}.gh-empty-mini,.gh-empty-day{display:flex;flex-direction:column;align-items:center;text-align:center;color:#8b96a8;padding:24px 10px;gap:6px}.gh-empty-day i{font-size:2rem;color:#b7c1d1}.gh-empty-day strong{color:#526077}
.gh-day-modal .modal-body{background:#f7f9fc}.day-detail{display:grid;grid-template-columns:50px 1fr;gap:13px;background:#fff;border:1px solid #e6ebf2;border-radius:17px;padding:15px;margin-bottom:10px}.day-detail-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--kind) 11%,white);color:var(--kind)}.day-detail-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.day-detail h5{font-size:1rem;font-weight:800;margin:7px 0 5px}.day-client{font-size:.76rem;color:#627089;display:flex;gap:6px;align-items:center}.day-detail p{font-size:.78rem;color:#7b879a;margin:8px 0 0}.day-time{font-size:.72rem;font-weight:800;color:#66738a}.day-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.gh-meeting-box{border:1px solid #e4e9f2;background:linear-gradient(180deg,#fbfcff,#f6f9ff);border-radius:16px;padding:15px}.gh-meeting-box .meeting-title{font-weight:800}.gh-meeting-box .meeting-help{font-size:.76rem;color:#7b8797}.meeting-next{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:3px 7px;border-radius:8px;background:#f1edff;color:#6d4aff;font-size:.66rem;font-weight:800}
@media(max-width:1100px){.agenda-grid{grid-template-columns:1fr}.agenda-side{display:grid;grid-template-columns:1fr 1fr}.agenda-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.main-content{padding:12px!important}.gh-page-hero{align-items:flex-start;flex-direction:column;margin-bottom:14px}.gh-page-hero h1{font-size:1.6rem}.gh-hero-actions{width:100%}.gh-hero-actions .btn{flex:1}.agenda-kpis{grid-template-columns:1fr 1fr;gap:8px}.agenda-kpi{padding:11px;gap:9px}.agenda-kpi-icon{width:38px;height:38px;border-radius:11px}.agenda-kpi strong{font-size:1.25rem}.agenda-kpi small{display:none}.agenda-grid{gap:10px}.agenda-calendar-card{padding:10px;border-radius:16px}.agenda-calendar-head{padding:3px 2px}.agenda-calendar-head h3{font-size:1.05rem}.agenda-weekdays span{font-size:.6rem}.agenda-calendar{gap:1px}.agenda-day{min-height:64px;padding:5px;border-radius:10px}.day-num{width:24px;height:24px;font-size:.74rem}.day-dots{left:6px;bottom:6px}.day-count{right:5px;top:5px;min-width:17px;height:17px;font-size:.58rem}.agenda-side{display:flex}.agenda-side-card{border-radius:16px}.day-detail{grid-template-columns:40px 1fr;padding:12px}.day-detail-icon{width:38px;height:38px}.day-detail-top{align-items:flex-start}.day-actions .btn{flex:1}.modal-dialog{margin:.6rem}.modal-content{border-radius:18px!important}}

/* 2.3.2 refinements */
.meeting-mini{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid rgba(15,23,42,.07)}
.meeting-mini:last-child{border-bottom:0}.meeting-mini>div:first-child{min-width:0}.meeting-mini strong{display:block;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meeting-mini small{display:block;color:#64748b;margin-top:3px;font-size:.75rem}.project-stale-alert{box-shadow:0 4px 12px rgba(220,38,38,.08)}
@media(max-width:767px){.meeting-mini{align-items:flex-start}.meeting-mini .btn{min-width:38px}.project-stale-alert{white-space:normal}}


/* === GuateHost 2.3.3: legibilidad final de Agenda === */
.agenda-calendar-card{padding:22px}
.agenda-calendar{gap:7px;padding-top:9px}
.agenda-day{
  min-height:108px;
  border:1px solid #edf1f6;
  background:#fff;
  border-radius:16px;
  padding:10px;
  box-shadow:0 2px 8px rgba(29,45,75,.025);
}
.agenda-day:not(.is-empty):hover{
  background:#f4f8ff;
  border-color:#cfe1ff;
  box-shadow:0 7px 18px rgba(8,108,240,.08);
}
.agenda-day.has-items{border-color:#dce8f8;background:#fbfdff}
.agenda-day.is-today{background:#edf5ff;border-color:#9fc8ff;box-shadow:inset 0 0 0 1px #9fc8ff}
.day-num{
  width:36px;height:36px;border-radius:11px;
  font-weight:900;font-size:1rem;line-height:1;
  color:#1f2b3d;
}
.is-today .day-num{background:#086cf0;color:#fff;box-shadow:0 5px 12px rgba(8,108,240,.22)}
.day-dots{left:11px;bottom:11px;gap:6px}
.day-dot,.dot{
  width:10px;height:10px;border-radius:50%;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.day-count{
  right:9px;top:9px;min-width:26px;height:26px;border-radius:9px;
  background:#eaf1fb;color:#3a587d;font-size:.76rem;font-weight:900;
}
.agenda-weekdays span{padding:10px 4px;font-size:.78rem;color:#64748b}
.agenda-legend{font-size:.82rem;font-weight:700;gap:20px}
.agenda-kpi{padding:18px}
.agenda-kpi strong{font-size:1.8rem}
.agenda-line-main strong{font-size:.9rem}
.agenda-line-main small{font-size:.75rem;color:#708096}
.day-detail{border:1px solid #e5eaf1;box-shadow:0 6px 20px rgba(23,42,74,.045)}
.day-detail h5{font-size:1rem}
.day-client,.day-detail p{font-size:.82rem}

/* Fechas: campos más claros y cómodos */
input[type="date"],input[type="datetime-local"],input[type="time"]{
  min-height:44px;
  font-size:.95rem;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator{
  width:20px;height:20px;cursor:pointer;
}

/* Mayor legibilidad general sin hacer la interfaz pesada */
.gh-premium-page .text-muted{color:#6d788a!important}
.gh-premium-page .form-label{font-weight:700;color:#465164}
.gh-premium-page .btn{font-weight:700}
.gh-premium-page .badge{font-weight:800}

@media (max-width: 767.98px){
  .agenda-calendar-card{padding:12px}
  .agenda-calendar{gap:3px}
  .agenda-day{min-height:72px;padding:5px;border-radius:11px}
  .day-num{width:31px;height:31px;font-size:.92rem;border-radius:9px}
  .day-dot,.dot{width:8px;height:8px;box-shadow:none}
  .day-dots{left:6px;bottom:7px;gap:3px}
  .day-count{right:4px;top:5px;min-width:21px;height:21px;font-size:.66rem;border-radius:7px}
  .agenda-weekdays span{font-size:.65rem;padding:7px 1px}
  .agenda-legend{font-size:.73rem;gap:12px}
}
@media (max-width: 390px){
  .agenda-day{min-height:66px}
  .day-num{width:28px;height:28px;font-size:.86rem}
}


/* === GuateHost 2.3.4 · Agenda compacta + alertas simples === */
@media (min-width: 1200px){
  .agenda-premium .gh-page-hero{
    padding:14px 18px;
    margin-bottom:10px;
  }
  .agenda-premium .gh-page-hero h1{font-size:1.45rem;margin-bottom:2px}
  .agenda-premium .gh-page-hero p{font-size:.82rem;margin:0}
  .agenda-premium .gh-eyebrow{font-size:.62rem}
  .agenda-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-bottom:10px;
  }
  .agenda-kpi{
    min-height:66px;
    padding:10px 12px;
    border-radius:14px;
  }
  .agenda-kpi-icon{width:36px;height:36px;border-radius:11px;font-size:.9rem}
  .agenda-kpi strong{font-size:1.25rem}
  .agenda-kpi span,.agenda-kpi small{font-size:.7rem}
  .agenda-grid{
    grid-template-columns:minmax(0,1.7fr) minmax(300px,.72fr);
    gap:10px;
    align-items:stretch;
  }
  .agenda-calendar-card{
    padding:14px;
    min-width:0;
  }
  .agenda-calendar-head{margin-bottom:4px}
  .agenda-calendar-head h3{font-size:1.05rem;margin:0}
  .agenda-calendar{
    gap:4px;
    padding-top:4px;
  }
  .agenda-weekdays span{padding:5px 2px;font-size:.68rem}
  .agenda-day{
    min-height:70px;
    padding:6px;
    border-radius:11px;
  }
  .day-num{
    width:29px;height:29px;
    font-size:.85rem;
    border-radius:8px;
  }
  .day-count{
    min-width:20px;height:20px;
    right:4px;top:4px;
    font-size:.62rem;
  }
  .day-dots{left:6px;bottom:6px;gap:3px}
  .day-dot,.dot{width:7px;height:7px;box-shadow:none}
  .agenda-legend{
    margin-top:7px;
    padding-top:7px;
    font-size:.7rem;
  }
  .agenda-side-compact{
    min-height:0;
    display:flex;
  }
  .agenda-control-card{
    width:100%;
    margin:0;
    padding:12px;
    display:flex;
    flex-direction:column;
    min-height:0;
    max-height:calc(100vh - 225px);
  }
  .agenda-control-head{margin-bottom:8px}
  .agenda-control-head h4{font-size:1rem;margin:0}
  .agenda-mini-tabs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    margin-bottom:8px;
    padding:4px;
    background:#f4f7fb;
    border-radius:11px;
  }
  .agenda-mini-tabs .nav-item{width:100%}
  .agenda-mini-tabs .nav-link{
    width:100%;
    padding:7px 5px;
    border-radius:8px;
    font-size:.72rem;
    font-weight:800;
    color:#69778a;
  }
  .agenda-mini-tabs .nav-link.active{
    background:#fff;
    color:#086cf0;
    box-shadow:0 2px 8px rgba(30,52,78,.08);
  }
  .agenda-mini-tabs .nav-link span{
    display:inline-flex;
    min-width:17px;height:17px;
    justify-content:center;align-items:center;
    margin-left:2px;
    border-radius:6px;
    background:#eaf1fb;
    font-size:.62rem;
  }
  .agenda-mini-content{
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    padding-right:2px;
  }
  .agenda-line{padding:8px 4px}
  .agenda-line-date{width:38px}
  .agenda-line-date strong{font-size:.9rem}
  .agenda-line-main strong{font-size:.78rem}
  .agenda-line-main small{font-size:.67rem}
  .agenda-kind{font-size:.56rem}
  .delivery-mini,.meeting-mini{padding:9px 3px}
  .delivery-mini strong,.meeting-mini strong{font-size:.78rem}
  .delivery-mini small,.meeting-mini small{font-size:.67rem}
}

/* Monitores realmente altos: que todo respire un poco más */
@media (min-width:1200px) and (min-height:900px){
  .agenda-control-card{max-height:calc(100vh - 240px)}
  .agenda-day{min-height:80px}
}

/* Alertas sencillas */
.simple-alert-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.simple-alert-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  border:1px solid #e8edf4;
  border-radius:15px;
  background:#fff;
  box-shadow:0 4px 14px rgba(27,45,75,.035);
}
.simple-alert-icon{
  width:38px;height:38px;flex:0 0 38px;
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;
  background:#eef5ff;
  color:#086cf0;
}
.simple-alert-main{min-width:0;flex:1}
.simple-alert-main h6{font-weight:850;margin:1px 0 4px}
.simple-alert-main p{font-size:.78rem;color:#7b8797;margin:0 0 10px;line-height:1.4}
.simple-alert-main .form-label{font-size:.72rem;margin-bottom:4px}
.simple-alert-main .form-select{min-height:38px;font-size:.82rem}

@media (max-width: 991.98px){
  .simple-alert-grid{grid-template-columns:1fr}
  .agenda-mini-tabs{
    display:flex;
    gap:5px;
    overflow:auto;
    flex-wrap:nowrap;
    margin-bottom:10px;
  }
  .agenda-mini-tabs .nav-link{white-space:nowrap}
}
