/* Extiende el patrón compartido de consulta hp-*; los colores pertenecen a theme.css. */
.report-page { color: var(--ink); }
.report-nav { margin-bottom: 18px; }
.report-page .report-nav [aria-current="page"] { background:var(--brand-soft); border-color:var(--brand); }
.report-page .hp-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: var(--brand); border-color: var(--line-strong); background: var(--surface); min-height: 44px; box-sizing: border-box; }
.report-page .hp-primary { background: var(--brand); border-color: var(--brand); color: var(--surface); }
.report-page .hp-button:hover { background: var(--brand-soft); }
.report-page .hp-primary:hover { background: var(--brand-hover); }
.report-page :focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
.report-page .hp-filters { align-items: start; }
.report-field { display: grid; gap: 6px; flex: 1 1 165px; min-width: 0; }
.report-checkbox { display:flex; align-items:center; flex:0 0 auto; gap:8px; min-height:44px; margin-top:22px; white-space:nowrap; }
.report-checkbox input { flex:none; margin:0; }
.report-totals { display:flex; flex-wrap:wrap; gap:12px 24px; margin:16px 0; }
.report-page .report-checkbox input { width:18px; height:18px; }
.report-page .report-checkbox label { display:block; cursor:pointer; }
.report-page .hp-filters input, .report-page .hp-filters select { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; color: var(--ink); border-color: var(--line-strong); }
.report-page .hp-filters button, .report-page .hp-filters > a { margin-top: 22px; }
.report-page .field-validation-error { color: var(--danger); max-width: 260px; }
.report-error { padding: 16px; margin-bottom: 16px; color: var(--ink); border: 1px solid var(--danger); border-radius: 9px; background: var(--danger-bg); }
.report-summary { display: flex; gap: 16px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin: 16px 0; }
.report-summary p { margin: 0; }
.report-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.report-note { color: var(--ink-muted); font-size: 13px; }
.report-caption { text-align: left; padding: 12px; color: var(--ink-muted); }
.report-page .hp-table tbody th { background: var(--surface); color: var(--ink); text-transform: none; letter-spacing: normal; font-size: 13px; }
.report-page .hp-table td:last-child, .report-page .hp-table tbody th { white-space: normal; min-width: 180px; overflow-wrap: anywhere; }
@media (max-width: 600px) {
    .report-page { padding: 0 8px; margin: 18px auto; }
    .report-page .hp-head h1 { font-size: 25px; }
    .report-page .hp-filters { padding: 12px; }
    .report-field { flex-basis: 100%; }
    .report-checkbox { margin-top:0; }
    .report-page .hp-filters button, .report-page .hp-filters > a { margin-top: 0; width: 100%; }
    .report-actions { width: 100%; }
    .report-actions > * { flex: 1 1 180px; }
}
@media print {
    .report-nav { display:none; }
    body:has(.report-page) .sidebar, body:has(.report-page) .userbar, body:has(.report-page) .mobile-trigger, body:has(.report-page) .backdrop { display: none !important; }
    body:has(.report-page) .admin-container { display: block !important; }
    body:has(.report-page) .admin-content { margin: 0 !important; padding: 0 !important; width: 100% !important; }
    .report-page .hp-table th, .report-page .hp-table td { white-space: normal; min-width: 0 !important; font-size: 9px !important; }
    .report-page .hp-table thead { display: table-header-group; }
    .report-page .hp-table tr { break-inside: avoid; }
    .report-page .hp-head > a { display: none; }
}
/* Agenda MVC */
.agenda-page{--agenda-line:#e5ebed;--agenda-muted:#647783}
.agenda-page .agenda-filters{align-items:end}
.report-success{margin:0 0 14px;padding:12px 15px;border:1px solid #b8e1d0;border-radius:12px;background:#effaf5;color:#176847}
.agenda-followups{margin:18px 0;padding:16px;border:1px solid var(--agenda-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px #173b4c0b}
.agenda-followups>header h2{margin:0;font-size:17px}.agenda-followups>header h2 span{display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:#fff1d9;color:#9a5b00;font-size:12px}.agenda-followups>header p,.agenda-followups article p{margin:4px 0;color:var(--agenda-muted);font-size:12px}
.agenda-followups article{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--agenda-line)}.agenda-followups article:first-of-type{margin-top:10px}.agenda-followups article a{color:#175f63}.agenda-followups article small{color:var(--agenda-muted)}.agenda-followups details{margin-top:12px}.agenda-followups summary{cursor:pointer;font-weight:650;color:#175f63}
.agenda-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0 12px}.agenda-toolbar h2{min-width:190px;margin:0;text-align:center;text-transform:capitalize;font-size:19px}
.agenda-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid var(--agenda-line);border-radius:14px;background:#fff}.agenda-weekday{padding:10px 8px;background:#f3f7f7;color:#536873;text-align:center;font-size:11px;font-weight:700}.agenda-day{min-height:130px;padding:8px;border-top:1px solid var(--agenda-line);border-right:1px solid var(--agenda-line);overflow:hidden}.agenda-day-number{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#344c56;text-decoration:none;font-size:12px;font-weight:700}.agenda-day-today .agenda-day-number{background:#1f6e71;color:#fff}.agenda-day-out{background:#f9fbfb}.agenda-day-out .agenda-day-number{color:#aab5ba}.agenda-event{display:block;overflow:hidden;margin:4px 0;padding:4px 6px;border-left:3px solid #7b8f98;border-radius:5px;background:#f0f4f5;color:#263b45;text-decoration:none;font-size:10px;line-height:1.25}.agenda-event strong,.agenda-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-event small{opacity:.8}.agenda-event-pago{border-color:#d36b66;background:#fff1ef}.agenda-event-liquidación{border-color:#d59b35;background:#fff7e7}.agenda-event-tarea{border-color:#7360ad;background:#f4f1ff}.agenda-more{display:block;padding:4px;color:#175f63;font-size:10px}
.agenda-list-day{margin:22px 0}.agenda-list-day h3{margin:0 0 8px;text-transform:capitalize;color:#536873;font-size:15px}.agenda-list-event{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;margin:7px 0;border:1px solid var(--agenda-line);border-left:4px solid #7360ad;border-radius:12px;background:#fff}.agenda-event-pago{border-left-color:#d36b66}.agenda-event-liquidación{border-left-color:#d59b35}.agenda-event-time{font-variant-numeric:tabular-nums;font-weight:700;color:#536873}.agenda-list-event small{color:var(--agenda-muted)}.agenda-list-event h4{margin:2px 0;font-size:14px}.agenda-list-event p{margin:0;color:var(--agenda-muted);font-size:12px}
.agenda-task-form{max-width:1000px}.agenda-task-form>.hp-button{margin-bottom:20px}.agenda-form{padding:20px;border:1px solid var(--agenda-line);border-radius:16px;background:#fff}.agenda-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.agenda-field-wide{grid-column:1/-1}.agenda-form .report-field{display:grid;align-content:start;gap:7px}.agenda-form .report-field>label{font-size:12px;font-weight:650;color:#354d58}.agenda-form input:not([type=checkbox]),.agenda-form textarea,.agenda-form select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d7e0e3;border-radius:9px;background:#fff;color:#243b45;font:inherit}.agenda-form textarea{resize:vertical}.agenda-form .report-field small,.agenda-form span{color:#a4423c;font-size:11px}.agenda-form .report-field small{color:var(--agenda-muted)}.agenda-alert{display:flex!important;align-items:center}.agenda-check{display:flex;align-items:center;gap:8px}.agenda-check input{width:18px;height:18px}.agenda-form-actions{margin-top:18px}
@media(max-width:760px){.agenda-calendar{grid-template-columns:repeat(7,minmax(100px,1fr));overflow-x:auto}.agenda-page:has(.agenda-calendar){overflow-x:hidden}.agenda-day{min-height:100px}.agenda-toolbar{flex-wrap:wrap}.agenda-form-grid{grid-template-columns:1fr}.agenda-field-wide{grid-column:auto}.agenda-list-event{grid-template-columns:64px minmax(0,1fr)}.agenda-list-event>.hp-button{grid-column:2}.agenda-followups article{align-items:flex-start}}
@media print{.agenda-calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.agenda-day{min-height:90px;padding:4px}.agenda-event{font-size:7px}.agenda-followups,.agenda-day,.agenda-list-event{break-inside:avoid}}
