/* Control del despacho (pestañas de Honorarios). Usa las variables del tema, oscuro y claro. */
#fin-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0 0 10px;border-bottom:1px solid var(--line)}
.fn-tab{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 14px;cursor:pointer;font:inherit;font-size:.9rem}
.fn-tab:hover{color:var(--text,inherit);border-color:var(--gold)}
.fn-tab.on{border-color:var(--gold);color:var(--gold);font-weight:600}
.fn-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#fin-panel h2{margin:0 0 4px}#fin-panel>.muted{margin:0 0 14px}
#fin-panel .fu-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 16px}
.fn-tiles .fu-total small{font-size:.75rem}
.fn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
#fin-panel .card{margin:0 0 14px}#fin-panel .card h3{margin:0 0 10px;font-size:1rem}
.fn-scroll{overflow-x:auto}
.fn-table{width:100%;border-collapse:collapse;font-size:.9rem}
.fn-table th{text-align:left;color:var(--muted);font-weight:500;font-size:.8rem;border-bottom:1px solid var(--line);padding:6px 10px 6px 0;white-space:nowrap}
.fn-table td{padding:8px 10px 8px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.fn-table tr.void td{opacity:.5;text-decoration:line-through}
.fn-table tr.warn td{color:#e07a6a}
.fn-age{display:grid;grid-template-columns:130px 1fr 130px;align-items:center;gap:12px;margin:6px 0}
.fn-age strong{text-align:right}
.fu-bar.warn i{background:#e07a6a}
.fn-form{display:block}
.fn-form .two-fields{margin:0 0 10px}
.fn-monthbar{margin:0 0 10px;max-width:220px}
.fn-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.fn-rent{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(80px,1fr) minmax(220px,1.4fr) auto;gap:6px 14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.fn-rent small{display:block}.fn-rent-nums{display:flex;flex-wrap:wrap;gap:2px 12px;color:var(--muted);font-size:.82rem}
.fn-rent.neg>strong:last-child{color:#e07a6a}
#fin-panel .notice:empty{display:none}
@media(max-width:700px){.fn-age{grid-template-columns:1fr 1fr}.fn-age .fu-bar{grid-column:1/-1;order:3}.fn-rent{grid-template-columns:1fr auto}.fn-rent .fu-bar,.fn-rent-nums{grid-column:1/-1}}
@media(prefers-reduced-motion:no-preference){.fu-bar i{transition:width .25s ease}}
/* Recordatorios */
.fn-mail{white-space:pre-wrap;font:inherit;border:1px solid var(--line);border-radius:10px;padding:14px;margin:8px 0 12px;background:rgba(127,127,127,.06)}
.fn-subject{font-weight:600}.fn-preview{border-color:var(--gold)}
.fn-checks{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px 18px}.fn-checks legend{color:var(--muted);font-size:.85rem;padding:0 6px}
.fn-form textarea{width:100%;font:inherit}.fn-list{margin:0;padding-left:20px;color:var(--muted)}.fn-list li{margin:4px 0}
/* QR del recibo (el documento siempre es claro, como un papel) */
.fd-verify{display:flex;gap:16px;align-items:center;margin:20px 0 0;padding:12px 14px;border:1px solid #ccc;border-radius:6px}
.fd-verify svg{flex:none;border:1px solid #ddd}.fd-verify-text p{margin:2px 0;font-size:.8rem;color:#444}.fd-verify-url{word-break:break-all;font-family:Consolas,monospace;font-size:.72rem!important;color:#111!important}
.fd-local{color:#8a5a00!important}@media print{.fd-local{display:none}}
.fn-form textarea,.fn-form input[type=text],.fn-form select{font-weight:400}
/* Soportes, tiempo, conciliación y cierre */
.fn-files{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.fn-file{color:var(--gold);font-size:.82rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline}
.fn-file:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.fn-form input[type=file]{padding:6px 0;font-weight:400}
.fn-timelog{margin-top:14px}.fn-timelog h4{margin:0 0 8px;font-size:.95rem}
.fn-closeform{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.fn-closeform input{flex:1 1 220px;min-width:0}.fn-closeform .notice{flex-basis:100%;margin:0}
.fn-recon details.card summary,details.card>summary{cursor:pointer;font-weight:600}
.fn-recon .card p.muted{margin:0 0 10px}
/* Contrato de servicios con firma */
.fd-contract .fd-clause{margin:10px 0}.fd-items{margin:4px 0 8px 22px;padding:0}.fd-sigs{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}.fd-sigs p{margin:2px 0}
.fd-constancia{border:1px solid #888;border-radius:4px;padding:10px 14px;margin-top:22px;font:.78rem/1.45 Consolas,monospace;color:#222;word-break:break-all}.fd-constancia strong{display:block;font:700 .9rem Georgia,serif;margin-bottom:4px}.fd-const-k{font-weight:700}
.fn-form textarea{min-height:70px}.fn-linkbox{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.fn-linkbox input{flex:1 1 320px;min-width:0;font-family:Consolas,monospace;font-size:.82rem}
.fn-state{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid var(--line);font-size:.8rem;white-space:nowrap}.fn-state.ok{border-color:#5fae7a;color:#5fae7a}.fn-state.wait{border-color:var(--gold);color:var(--gold)}.fn-state.off{color:var(--muted)}
@media(max-width:600px){.fd-sigs{grid-template-columns:1fr}}

.fd-pre{white-space:pre-wrap;font:inherit;line-height:1.5;margin:0}
.fn-inline{display:inline-flex;gap:8px;align-items:center}
.fn-table tr.fn-void td{opacity:.55;text-decoration:line-through}
.fn-table tr.fn-void td:last-child{text-decoration:none;opacity:1}
