/* NexoDent | refinamento visual exclusivo da Agenda. Nenhuma regra funcional. */
.ag-date-panel,.ag-new-form,.ag-rental-panel,.ov-agenda-chairs > .card{
  background:#fff!important;border:1px solid #e8edf0!important;border-radius:18px!important;
  box-shadow:0 5px 22px rgba(28,42,54,.055)!important;
}
.ag-date-panel{padding:20px 22px!important;border-top:3px solid #f28a35!important}
.ag-date-panel strong{color:#253342;font-size:18px;letter-spacing:-.025em}
.ag-date-panel .note{color:#7a8794}
.ag-date-panel input,.ag-date-panel select,.ag-new-form input,.ag-new-form select,
.ag-rental-panel input,.ag-rental-panel select{
  background:#fff!important;border:1px solid #dfe5ea!important;border-radius:10px!important;
  color:#283646!important;min-height:40px;box-shadow:none!important;
}
.ag-date-panel input:focus,.ag-date-panel select:focus,.ag-new-form input:focus,
.ag-new-form select:focus,.ag-rental-panel input:focus,.ag-rental-panel select:focus{
  outline:2px solid rgba(234,112,0,.18)!important;border-color:#ed9a58!important;
}
.ag-new-form,.ag-rental-panel{padding:20px 22px!important;margin-bottom:16px!important}
.ag-new-form h2{font-size:19px!important;letter-spacing:-.03em;color:#243342;margin:0 0 18px!important}
.ag-new-form label,.ag-rental-panel label,.ag-date-panel label{font-size:12px!important;font-weight:700;color:#657487!important}
.ag-new-form .row,.ag-rental-panel .row{gap:12px!important}
.ag-new-form button[data-act="addag"]{border-radius:11px!important;min-height:44px;font-weight:700;box-shadow:0 4px 12px rgba(234,112,0,.13)}
.ag-rental-head strong{font-size:17px;color:#293747}
.ov-agenda-chairs{gap:18px!important}
.ov-agenda-chairs>.card{overflow:hidden;padding:16px!important}
.ov-agenda-chairs>.card>.ag{border-radius:12px!important;background:#fff8f2!important;
  border:1px solid #fae8d9!important;padding:12px 14px!important;margin-bottom:12px!important}
.ov-agenda-chairs>.card>.ag strong{font-size:16px!important;color:#263748!important}
.ov-agenda-chairs>.card>.ag .badge{background:#fff!important;color:#c76517!important;
  border:1px solid #f4d5bd!important;border-radius:999px!important;padding:5px 10px!important}
.ag-flow-list{border:1px solid #edf0f2!important;border-radius:12px!important;overflow:hidden}
.ag-flow-row{border-bottom:1px solid #edf0f2!important;background:#fff!important}
.ag-flow-row:last-child{border-bottom:0!important}
.ag-flow-row.ag-flow-free:nth-child(even){background:#fbfcfd!important}
.ag-flow-time{color:#687787!important;font-weight:650!important;font-variant-numeric:tabular-nums}
.ag-flow-content .slot-free{color:#86949f!important;border-radius:8px!important}
.ag-flow-content .slot-free:hover{background:#fff4e9!important;color:#c76517!important}
.ag-flow-booked .ag-appointment{border-radius:10px!important;box-shadow:0 1px 4px rgba(27,42,55,.045)!important}
.ag-appointment .ag-patient{font-weight:400!important}
.ag-appointment .ag-actions button{border-radius:8px!important}
.ag-sug{border-radius:12px!important;box-shadow:0 12px 32px rgba(27,42,55,.12)!important}
@media(max-width:760px){
  .ag-date-panel,.ag-new-form,.ag-rental-panel{padding:15px!important;border-radius:14px!important}
  .ov-agenda-chairs>.card{padding:10px!important;border-radius:14px!important}
  .ag-new-form .row,.ag-rental-panel .row{gap:9px!important}
  .ag-date-panel input,.ag-date-panel select,.ag-new-form input,.ag-new-form select{font-size:16px!important}
}

/* NexoDent 90: acabamento premium apenas nos componentes da Agenda. */
.ag-date-panel{background:linear-gradient(110deg,#fff 56%,#fff2e8 100%)!important;border:1px solid #f5e2d4!important;border-top:0!important;box-shadow:0 10px 28px rgba(31,42,62,.07)!important;position:relative;overflow:hidden}
.ag-date-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff7200,#ffb87b)}
.ag-date-panel strong{font-size:clamp(21px,2.4vw,28px)!important;color:#121d32!important;font-weight:800!important}
.ag-date-panel .row{gap:12px}
.ag-date-panel button[data-act="agtoday"]{background:#fff0e3!important;color:#db6200!important;border:1px solid #ffd6b7!important;border-radius:12px!important}
.ag-date-panel button[data-act="agdate"]{border-radius:12px!important;min-width:36px!important}
.ag-date-panel #agDate,.ag-date-panel #agDent{border-radius:12px!important;background:#fff!important;border-color:#e3e6ec!important}
.ov-agenda-chairs{gap:18px!important}
.ov-agenda-chairs>.card{background:#fff!important;border:1px solid #e7eaf0!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(24,37,57,.075)!important;overflow:hidden}
.ov-agenda-chairs>.card>.ag{background:linear-gradient(110deg,#fff7f0,#fff)!important;border:0!important;border-bottom:1px solid #f1e5da!important;border-radius:0!important;margin:-1px -1px 12px!important;padding:17px 19px!important}
.ov-agenda-chairs>.card>.ag strong{font-size:18px!important;font-weight:800!important;color:#15233a!important}
.ag-flow-list{border:0!important;border-radius:12px!important}
.ag-flow-row{min-height:44px!important;border-bottom:1px solid #edf0f4!important}
.ag-flow-time{color:#59677b!important;font-size:13px!important}
.ag-flow-booked .ag-appointment{border:1px solid #e8eaf0!important;border-left:4px solid #ff7900!important;border-radius:12px!important;box-shadow:0 3px 10px rgba(31,42,62,.06)!important}
.ag-appointment .ag-patient{color:#172238!important;font-weight:400!important}
.ag-new-form,.ag-rental-panel{border:1px solid #e9eaf0!important;box-shadow:0 8px 25px rgba(31,42,62,.055)!important}
.ag-new-form button,.ag-rental-panel button{border-radius:11px!important}
@media(max-width:760px){.ag-date-panel strong{font-size:21px!important}.ov-agenda-chairs>.card>.ag{padding:13px!important}.ov-agenda-chairs>.card{border-radius:15px!important}}

/* NexoDent 111 — reorganização exclusiva dos formulários da Agenda.
   Mantém IDs, botões, eventos e toda a lógica JavaScript existente. */
.nexo-agenda-page .nexo-agenda-tools{align-items:start!important;grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr)!important;gap:18px!important}
.nexo-agenda-page .nexo-agenda-tools .ag-new-form,
.nexo-agenda-page .nexo-agenda-tools .ag-rental-panel{height:auto!important;min-height:0!important;padding:24px!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 26px rgba(25,38,59,.075)!important}
.nexo-agenda-page .ag-new-form h2{font-size:21px!important;margin:0 0 19px!important;color:#17233a!important}
.nexo-agenda-page .ag-new-form>.row,
.nexo-agenda-page .ag-rental-panel>.row{display:grid!important;gap:14px!important;align-items:end!important;margin-bottom:14px!important}
.nexo-agenda-page .ag-new-form>.row:nth-of-type(1){grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)!important}
.nexo-agenda-page .ag-new-form>.row:nth-of-type(2){grid-template-columns:repeat(4,minmax(0,1fr))!important}
.nexo-agenda-page .ag-new-form>.row:nth-of-type(3){grid-template-columns:repeat(2,minmax(0,1fr))!important}
.nexo-agenda-page .ag-rental-panel>.row{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))!important}
.nexo-agenda-page .ag-new-form>.row>div,
.nexo-agenda-page .ag-rental-panel>.row>div{min-width:0!important;width:100%!important;flex:none!important}
.nexo-agenda-page .ag-new-form label,
.nexo-agenda-page .ag-rental-panel label{display:block!important;font-size:12px!important;font-weight:700!important;color:#536276!important;margin-bottom:7px!important}
.nexo-agenda-page .ag-new-form input,
.nexo-agenda-page .ag-new-form select,
.nexo-agenda-page .ag-rental-panel input,
.nexo-agenda-page .ag-rental-panel select{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;min-height:46px!important;padding:9px 12px!important;border:1px solid #dfe5ec!important;border-radius:11px!important;background:#fff!important;color:#1d2b3e!important;font-size:14px!important;line-height:1.35!important;opacity:1!important}
.nexo-agenda-page .ag-new-form input::placeholder{color:#8b97a6!important;opacity:1!important}
.nexo-agenda-page .ag-new-form input:focus,
.nexo-agenda-page .ag-new-form select:focus,
.nexo-agenda-page .ag-rental-panel input:focus,
.nexo-agenda-page .ag-rental-panel select:focus{border-color:#f28a35!important;outline:2px solid #ffead9!important}
.nexo-agenda-page .ag-new-form button[data-act="addag"]{min-height:46px!important;font-size:14px!important;border-radius:11px!important}
.nexo-agenda-page .ag-rental-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;margin-bottom:20px!important}
.nexo-agenda-page .ag-rental-head strong{font-size:20px!important;color:#17233a!important}
.nexo-agenda-page .ag-rental-head .note{font-size:12px!important;color:#68778a!important}
.nexo-agenda-page .ag-rental-panel button[data-act="agrentadd"]{min-height:44px!important;width:100%!important;padding:10px 14px!important;border-radius:11px!important;white-space:normal!important;font-size:13px!important;line-height:1.25!important}
.nexo-agenda-page .ag-rental-panel>.row>div:last-child{grid-column:1/-1!important}
@media(max-width:1100px){
 .nexo-agenda-page .nexo-agenda-tools{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:650px){
 .nexo-agenda-page .nexo-agenda-tools .ag-new-form,.nexo-agenda-page .nexo-agenda-tools .ag-rental-panel{padding:16px!important}
 .nexo-agenda-page .ag-new-form>.row:nth-of-type(1),
 .nexo-agenda-page .ag-new-form>.row:nth-of-type(2),
 .nexo-agenda-page .ag-new-form>.row:nth-of-type(3),
 .nexo-agenda-page .ag-rental-panel>.row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .nexo-agenda-page .ag-new-form input,.nexo-agenda-page .ag-new-form select,.nexo-agenda-page .ag-rental-panel input,.nexo-agenda-page .ag-rental-panel select{font-size:16px!important}
}
@media(max-width:380px){
 .nexo-agenda-page .ag-new-form>.row:nth-of-type(1),
 .nexo-agenda-page .ag-new-form>.row:nth-of-type(3),
 .nexo-agenda-page .ag-rental-panel>.row{grid-template-columns:1fr!important}
}


