html[data-interfaz="bufete"] .op-page { max-width: 1440px; margin: 0 auto; padding: 8px 8px 40px; color: var(--mp-tinta); }
.op-page header nav { color: var(--muted, #777); font-size: 13px; margin-bottom: 20px; }
.na-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.na-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; border: 1px solid var(--line, #ddd); border-radius: 14px; padding: 13px; margin: 10px 0; }
.na-row p { margin: 5px 0 0; color: var(--muted, #777); font-size: 13px; overflow-wrap: anywhere; }
.na-panel { margin-top: 18px; padding: 18px; border: 1px solid var(--line, #ddd); border-radius: 16px; background: var(--mp-tarjeta); }
@media (max-width: 520px) { .na-row { grid-template-columns: minmax(0, 1fr) auto; } .na-row .btn { grid-column: 1 / -1; } }
.op-page header h1 { font-size: clamp(28px, 2.4vw, 38px); letter-spacing: -.035em; margin: 0 0 6px; }
.op-page header p { color: var(--muted, #777); line-height: 1.5; margin: 0 0 20px; }
.mp-op-area { border-top: 1px solid var(--line, #ddd); padding-top: 12px; margin-top: 12px; }
.op-counters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.op-counters button { min-width: 0; min-height: 92px; padding: 16px; text-align: left; display: flex; flex-direction: column; gap: 8px; border: 1px solid var(--mp-borde); border-radius: var(--mp-r); background: var(--mp-tarjeta); color: var(--mp-tinta); cursor: pointer; font: inherit; }
.op-counters button:hover, .op-item:hover { border-color: var(--muted, #888); }
.op-counters button[aria-pressed="true"] { outline: 2px solid var(--mp-tinta); outline-offset: -2px; }
.op-counters button span { color: var(--muted, #777); font-size: 14px; }
.op-counters button strong { font-size: 28px; line-height: 1; }
.op-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 14px; align-items: start; }
.op-inbox, .op-box { min-width: 0; padding: 20px; border: 1px solid var(--mp-borde); border-radius: var(--mp-r); background: var(--mp-tarjeta); }
.op-inbox-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.op-inbox h2, .op-box h2 { font-size: 18px; margin: 0; }
.op-inbox-head button, .op-actions button, .op-box button { border: 1px solid var(--line, #d8d8d8); border-radius: 999px; background: var(--mp-tarjeta); color: inherit; padding: 8px 14px; cursor: pointer; font: inherit; }
.op-box > p { color: var(--muted, #777); font-size: 13px; }
.op-box ul, .op-list { margin: 16px 0 0; padding: 0; list-style: none; }
.op-box li { display: flex; align-items: start; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line, #eee); padding: 13px 0; }
.op-box li > div { min-width: 0; display: grid; gap: 4px; }
.op-box li strong { font-size: 14px; overflow-wrap: anywhere; }
.op-box li span { color: var(--muted, #777); font-size: 12px; }
.op-list { display: grid; gap: 10px; }
.op-item { border: 1px solid var(--line, #e1e1e1); border-radius: 14px; padding: 16px; display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.op-item-body { min-width: 0; display: grid; gap: 8px; }
.op-item-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px 12px; }
.op-item-heading b { font-size: 16px; overflow-wrap: anywhere; }
.op-tipo { color: var(--muted, #777); font-size: 12px; }
.op-contexto, .op-meta { display: flex; flex-wrap: wrap; gap: 5px 14px; color: var(--muted, #777); font-size: 13px; }
.op-contexto { color: var(--mp-tinta); }
.op-actions { display: flex; flex-wrap: nowrap; justify-content: flex-end; align-items: center; gap: 8px; }
.op-actions label { display: flex; flex-direction: column; gap: 3px; color: var(--muted, #777); font-size: 12px; }
.op-actions select { max-width: 200px; border: 1px solid var(--line, #ddd); border-radius: 8px; padding: 7px; background: var(--mp-tarjeta); color: inherit; }
.op-empty { padding: 34px 12px; color: var(--muted, #777); text-align: center; }
@media (max-width: 1080px) { .op-layout { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .op-counters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .op-counters button { min-height: 0; padding: 12px 14px; gap: 4px; } .op-counters button span { font-size: .8125rem; } .op-counters button strong { font-size: 1.5rem; } .op-inbox, .op-box { padding: 12px 14px; } .op-inbox h2, .op-box h2 { font-size: 1rem; } .op-item { display: block; } .mp-acciones-fila { margin-top: 14px; } }
@media (max-width: 520px) { .op-page { padding: 0 0 30px; } }
@media print { #nav, .side, .topbar, #mpPestanas, .ad-tools, .ad-actions, .op-page { display: none !important; } body, #view, .ad-page { color: #000 !important; background: #fff !important; max-width: none !important; padding: 0 !important; } .ad-day { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } .ad-week { grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: visible; } .ad-person, .ad-week > section, .ad-overdue { break-inside: avoid; border-color: #000 !important; background: #fff !important; } }
.rec-page { display:grid; gap:16px; }
.rec-form, .rec-list, .rec-activar { min-width:0; padding:20px; border:1px solid var(--line, #ddd); border-radius:18px; background:var(--mp-tarjeta); }
.rec-form h2, .rec-list h2, .rec-activar h2 { margin:0 0 14px; font-size:20px; }
.rec-form form { display:grid; gap:14px; }
.rec-form label, .rec-form fieldset { display:grid; gap:6px; font-size:15px; min-width:0; }
.rec-form input, .rec-form select { min-width:0; width:100%; box-sizing:border-box; border:1px solid var(--line, #ddd); border-radius:8px; padding:9px; font:inherit; color:inherit; background:var(--mp-tarjeta); }
.rec-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.rec-check { display:flex!important; align-items:center; grid-auto-flow:column; justify-content:start; }
.rec-check input { width:auto; }
.rec-otras > div:first-child, .rec-list > div:first-child, .rec-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rec-otras button, .rec-filtros button, .rec-list button { border:1px solid var(--line, #ddd); background:var(--mp-tarjeta); color:inherit; border-radius:999px; padding:7px 11px; font:inherit; }
.rec-otras [data-rec-otra-fila] { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
.rec-conflicto { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:14px; }
.rec-chip { display:inline-block; border-radius:999px; padding:4px 8px; font-size:13px; background:#eaf5ee; color:#176437; }
.rec-chip.revisar { background:#fff3d8; color:#795500; }.rec-chip.alto { background:#fde7e7; color:#a32222; }
.rec-form fieldset { border:0; padding:0; }.rec-form fieldset > label { display:block; margin:6px 0; }.rec-form fieldset input[type="radio"] { width:auto; }
.rec-list ol { list-style:none; padding:0; margin:14px 0 0; }.rec-list li { border-top:1px solid var(--line, #ddd); padding:13px 0; align-items:start; }.rec-list li div:first-child { display:grid; gap:5px; }.rec-list li span { font-size:14px; color:var(--muted, #777); }.rec-list li div:last-child { display:flex; gap:6px; flex-wrap:wrap; }
@media (max-width:520px) { .rec-grid, .rec-otras [data-rec-otra-fila] { grid-template-columns:minmax(0, 1fr); }.rec-list li, .rec-list > div:first-child { display:grid; }.rec-list, .rec-form, .rec-activar { padding:16px; } }
/* Mesa de cobros (admin-cobros-ui.js): secciones, filas y el formulario de pago. */
.ac-sec { min-width: 0; margin: 0 0 16px; padding: 20px; border: 1px solid var(--line, #ddd); border-radius: 18px; background: var(--mp-tarjeta); }
.ac-sec-head { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: space-between; gap: 8px 14px; }
.ac-sec-head h2 { font-size: 18px; margin: 0; }
.ac-hint { color: var(--muted, #777); font-size: 13px; line-height: 1.5; margin: 8px 0 0; }
.ac-totales { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 12px 0 0; }
.ac-tot { display: grid; gap: 3px; }
.ac-tot b { font-size: 22px; line-height: 1.1; }
.ac-tot em { color: var(--muted, #777); font-size: 12px; font-style: normal; }
.ac-list { display: grid; gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.ac-row { min-width: 0; border: 1px solid var(--line, #e1e1e1); border-radius: 14px; padding: 16px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ac-late { border-left: 4px solid #B42318; }
.ac-body { min-width: 0; display: grid; gap: 7px; }
.ac-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px 12px; }
.ac-head b { font-size: 16px; overflow-wrap: anywhere; }
.ac-badge { border-radius: 999px; background: var(--mp-relleno, rgba(0, 0, 0, .06)); color: var(--mp-tinta); font-size: 12px; padding: 3px 9px; }
.ac-badge-late { background: #FEE4E2; color: #912018; }
.ac-contexto, .ac-meta { display: flex; flex-wrap: wrap; gap: 5px 14px; color: var(--muted, #777); font-size: 13px; }
.ac-contexto { color: var(--mp-tinta); }
.ac-num { flex: none; display: grid; gap: 3px; text-align: right; }
.ac-num b { font-size: 18px; }
.ac-num span { color: var(--muted, #777); font-size: 12px; }
.ac-acts { flex: none; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.ac-acts button, .ac-grupo-head button, .ac-form button { border: 1px solid var(--line, #d8d8d8); border-radius: 999px; background: var(--mp-tarjeta); color: inherit; padding: 8px 14px; cursor: pointer; font: inherit; }
.ac-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0 0; }
.ac-form label { min-width: 0; display: grid; gap: 5px; color: var(--muted, #777); font-size: 13px; }
.ac-form select, .ac-form input { width: 100%; min-width: 0; border: 1px solid var(--line, #ddd); border-radius: 8px; padding: 8px; background: var(--mp-tarjeta); color: inherit; font: inherit; }
.ac-form button { align-self: end; justify-self: start; }
.ac-grupo { margin: 14px 0 0; border: 1px solid var(--line, #e1e1e1); border-radius: 14px; padding: 14px; }
.ac-grupo-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px 12px; }
.ac-grupo-head span { color: var(--muted, #777); font-size: 13px; }
.ac-grupo ul { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.ac-check { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 14px; }
.ac-check span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 1080px) { .op-layout { grid-template-columns: 1fr; } .ac-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .op-counters { grid-template-columns: repeat(2, minmax(0, 1fr)); } .op-item { display: block; } .op-actions { justify-content: flex-start; margin-top: 14px; } .ac-row { display: block; } .ac-num { text-align: left; margin-top: 10px; } .ac-acts { justify-content: flex-start; margin-top: 12px; } }
@media (max-width: 520px) { .op-page { padding: 0 0 30px; } .ac-form { grid-template-columns: 1fr; } .ac-sec { padding: 16px 12px; } }
