/* RA CLIENT VISUAL FINISH v1.0.1 - estilos del cliente aislados del panel administrativo */
.client-report-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:2rem!important;padding:1.65rem 1.8rem!important}
.client-report-card .row{display:flex!important;gap:.7rem!important;padding:0!important;border:0!important;flex-wrap:wrap!important}
.client-report-card .primary,.client-report-card .button-link{width:auto!important;min-width:150px!important;margin:0!important;padding:.72rem 1rem!important;border-radius:8px!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important}
.client-report-card .button-link{background:#fff!important;color:var(--navy)!important;border:1px solid var(--navy)!important}
.content .status-grid article{min-height:0!important;padding:1rem 1.15rem!important;border-top-width:3px!important;box-shadow:none!important}
.content .status-grid article strong{font-size:1.15rem!important;overflow-wrap:anywhere}
.content section.card>form:first-child,.history-filter{display:flex!important;align-items:end!important;gap:.7rem!important;margin-bottom:1rem}
.history-filter label{display:grid!important;gap:.3rem!important;font-weight:700!important}.history-filter input[type=number]{width:110px!important;min-height:42px!important;padding:.55rem .7rem!important;border:1px solid #c4d4dc!important;border-radius:8px!important;background:#fff!important}.history-filter button{width:auto!important;margin:0!important;padding:.62rem 1rem!important}

/* Encabezado fijo y compacto, con una separación cómoda antes del contenido. */
.workspace>.topbar{position:fixed!important;left:270px!important;right:0!important;top:0!important;z-index:1000!important;box-sizing:border-box!important;min-height:88px!important;height:88px!important;padding:5px 1.25rem 21px!important;gap:.75rem!important;overflow:hidden!important;background:#fff!important;box-shadow:0 3px 12px rgba(30,58,71,.1)!important}
.workspace>.topbar+.content{padding-top:calc(2.5rem + 88px)!important}
.workspace>.topbar:before{left:.8rem!important;top:3px!important;width:190px!important;height:60px!important;background-position:left center!important;background-size:contain!important}
.workspace>.topbar .portal-message{position:absolute!important;left:50%!important;right:auto!important;top:18px!important;width:min(620px,42vw)!important;max-width:none!important;transform:translateX(-50%)!important;text-align:center!important;font-family:"Times New Roman",Times,serif!important;font-size:12pt!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.workspace>.topbar>.portal-ribbon{position:fixed!important;left:270px!important;right:0!important;top:64px!important;bottom:auto!important;width:auto!important;height:24px!important;z-index:1001!important}
body:has(.topbar>form[method="GET"]) .topbar{display:grid!important;grid-template-columns:minmax(240px,1fr) minmax(250px,420px) auto auto!important;align-items:center!important}
body:has(.topbar>form[method="GET"]) .topbar>.portal-ribbon{height:24px!important}
body:has(.topbar>form[method="GET"]) .topbar>.portal-message{grid-column:1/-1!important;display:block!important;left:50%!important;right:auto!important;top:18px!important;width:min(620px,42vw)!important;max-width:none!important;transform:translateX(-50%)!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body:has(.topbar>form[method="GET"]) .topbar>form[method="GET"]{position:fixed!important;z-index:999!important;top:94px!important;right:2rem!important;width:min(420px,calc(100vw - 310px))!important;padding:4px 8px 6px!important;border:1px solid #dbe3e6!important;border-radius:0 0 9px 9px!important;background:#fff!important;box-shadow:0 4px 12px rgba(30,58,71,.08)!important}
body:has(.topbar>form[method="GET"]) .topbar>form[method="GET"] label{display:grid!important;gap:0!important;color:var(--slate)!important;font-size:.65rem!important;line-height:1.1!important}
body:has(.topbar>form[method="GET"]) .topbar>form[method="GET"] select{width:100%!important;min-height:32px!important;height:32px!important;padding:.2rem .55rem!important;border:1px solid #cbd9df!important;border-radius:7px!important;background:#fff!important;font-size:.8rem!important}
body:has(.topbar>form[method="GET"]) .topbar>div{grid-column:3!important;align-self:center!important}
body:has(.topbar>form[method="GET"]) .topbar>form[method="POST"]{grid-column:4!important;align-self:center!important}
body:has(.topbar>form[method="GET"]) .topbar+.content{padding-top:calc(2.5rem + 134px)!important}

/* Calendario mensual compartido por Clientes y Administración. */
.calendar-heading,.calendar-nav,.calendar-filter{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important}
.calendar-nav a{display:inline-flex!important;min-width:2.5rem!important;height:2.5rem!important;align-items:center!important;justify-content:center!important;border:1px solid #d6e0e5!important;border-radius:.6rem!important;text-decoration:none!important}
.calendar-weekdays,.calendar-week{display:grid!important;grid-template-columns:repeat(7,minmax(110px,1fr))!important}
.calendar-weekdays strong{padding:.8rem!important;text-align:center!important}
.calendar-day{min-height:105px!important;border-top:1px solid #d6e0e5!important;padding:.55rem!important}
.calendar-day.outside{opacity:.45!important}
.calendar-day.today .day-number{display:inline-block!important;background:#1e3a47!important;color:#fff!important;border-radius:.65rem!important;padding:.35rem .55rem!important}
.calendar-event{background:#edf3f5!important;border-radius:.4rem!important;padding:.45rem!important;margin:.25rem 0!important;font-size:.82rem!important}
.calendar-event small{display:block!important}
.tax-calendar{overflow-x:auto!important}
.calendar-filter{justify-content:flex-start!important;align-items:end!important}
.calendar-filter label{display:grid!important;gap:.3rem!important}
.calendar-filter select{min-width:150px!important;padding:.65rem!important;border:1px solid #c4d4dc!important;border-radius:8px!important;background:#fff!important}
.calendar-filter .primary{width:auto!important;margin:0!important}

.password-field{position:relative}.password-field input{padding-right:82px!important}.password-toggle{position:absolute!important;right:7px!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;height:auto!important;padding:7px 9px!important;margin:0!important;border:0!important;border-radius:7px!important;background:#edf2f5!important;color:#18344b!important;font-size:12px!important;line-height:1!important;box-shadow:none!important}.password-toggle:before{content:none!important}.password-toggle:hover{background:#dfe9ed!important}
.legal-report-notice{margin-top:1.2rem;padding:1rem 1.1rem;border-left:4px solid #d9a63c;background:#f8fafb;border-radius:.45rem}.legal-report-notice p{margin:.35rem 0 0}
@media(max-width:1100px){.workspace>.topbar:before{width:135px!important;opacity:.5!important}.workspace>.topbar .portal-message{display:none!important}body:has(.topbar>form[method="GET"]) .topbar>.portal-message{display:block!important;width:min(500px,48vw)!important;font-size:11pt!important}body:has(.topbar>form[method="GET"]) .topbar{grid-template-columns:minmax(120px,1fr) auto auto!important}body:has(.topbar>form[method="GET"]) .topbar>div{grid-column:2!important}body:has(.topbar>form[method="GET"]) .topbar>form[method="POST"]{grid-column:3!important}.client-report-card{grid-template-columns:1fr!important}}
@media(max-width:820px){.workspace>.topbar{left:0!important}.workspace>.topbar>.portal-ribbon{left:0!important}.workspace>.topbar+.content{padding-top:calc(1.25rem + 88px)!important}.calendar-heading,.calendar-filter{align-items:stretch!important;flex-direction:column!important}.calendar-weekdays,.calendar-week{grid-template-columns:repeat(7,minmax(88px,1fr))!important}}
@media(max-width:620px){.workspace>.topbar{height:88px!important;min-height:88px!important;display:flex!important;flex-wrap:nowrap!important;padding:5px .75rem 21px!important}.workspace>.topbar:before{display:none!important}body:has(.topbar>form[method="GET"]) .topbar>.portal-message{width:55vw!important;font-size:10pt!important}body:has(.topbar>form[method="GET"]) .topbar>form[method="GET"]{top:92px!important;left:.75rem!important;right:.75rem!important;width:auto!important}.client-report-card .row{align-items:stretch!important;flex-direction:column!important}.client-report-card .primary,.client-report-card .button-link{width:100%!important}}
