.prod-empty{padding:42px 20px;text-align:center;color:var(--text-3);font-size:13px}
.prod-empty b{display:block;color:var(--text-2);font-size:15px;margin-bottom:6px}
.prod-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}
.prod-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.prod-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.prod-period-board{padding:18px;margin-bottom:18px;background:var(--surface,#0b1d33);border:1px solid var(--border,#1d3552);border-radius:16px}
.prod-period-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.prod-period-title{font-size:16px;font-weight:700;color:var(--text-1,#fff)}
.prod-period-sub{font-size:12px;color:var(--text-3,#7890ad);margin-top:3px}
.prod-year-select{min-width:110px;background:var(--bg-root,#04091a);color:var(--text-1,#fff);border:1px solid var(--border,#1d3552);border-radius:10px;padding:9px 12px;font-weight:700}
.prod-month-kanban{display:grid;grid-template-columns:repeat(12,minmax(62px,1fr));gap:8px}
.prod-month-btn{border:1px solid var(--border,#1d3552);background:var(--bg-root,#04091a);color:var(--text-2,#9bb0ca);border-radius:10px;padding:10px 5px;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease}
.prod-month-btn:hover{border-color:#27c878;color:#fff;transform:translateY(-1px)}
.prod-month-btn.active{background:rgba(39,200,120,.16);border-color:#27c878;color:#4de39a;box-shadow:0 0 0 1px rgba(39,200,120,.16)}
.prod-close-status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;padding:8px 11px;border-radius:999px}
.prod-close-status.closed{color:#4de39a;background:rgba(39,200,120,.13)}
.prod-close-status.pending{color:#ff6666;background:rgba(255,77,77,.13)}
.prod-close-status.open{color:#f5b942;background:rgba(245,185,66,.13)}
.prod-table-wrap{overflow:auto}.prod-table-wrap .tbl{min-width:760px}
.prod-link{color:var(--accent);cursor:pointer;font-weight:600}.prod-danger{color:var(--danger)!important}.prod-success{color:var(--success)!important}
.prod-modal-msg{padding:10px 12px;border-radius:8px;margin-bottom:12px;display:none;font-size:12px}
.prod-modal-msg.on{display:block}.prod-modal-msg.err{color:#fecaca;background:rgba(239,68,68,.12)}
.prod-progress{height:8px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden;margin-top:8px}
.prod-progress span{display:block;height:100%;background:var(--accent);border-radius:999px}
.prod-filter{width:min(330px,100%);padding:9px 12px;border:1px solid var(--border);background:var(--surface);color:var(--text-1);border-radius:8px}
.prod-rule-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 16px;border:1px solid var(--border);border-radius:10px;background:rgba(37,99,235,.05);margin:14px 0}.prod-rule-summary>b{color:var(--text-1);font-size:13px}.prod-rule-summary>span:last-child{color:var(--text-3);font-size:12px}
.prod-payment-preview{display:grid;gap:0;margin:14px 0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.018)}.prod-payment-preview>div{display:flex;justify-content:space-between;gap:18px;padding:10px 13px;border-bottom:1px solid var(--border);font-size:12px}.prod-payment-preview>div span{color:var(--text-3)}.prod-payment-preview>div b{color:var(--text-1)}.prod-payment-preview>div.total{padding:13px;background:rgba(37,99,235,.08);font-size:14px}.prod-payment-preview>div.total b{color:var(--accent)}.prod-payment-preview>small{padding:10px 13px;color:var(--text-3);line-height:1.45}
.prod-fee-line{font-size:11px;line-height:1.45;color:var(--text-3);white-space:nowrap}
#v-clientes .badge.b-ok{background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.46);color:#4ade80;font-weight:800;letter-spacing:.02em}
#v-clientes .badge.b-err{background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.52);color:#ff6b6b;font-weight:800;letter-spacing:.02em}
.ta-toast-region{position:fixed;right:22px;bottom:22px;z-index:120000;display:flex;flex-direction:column;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.ta-toast{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 26px;gap:12px;align-items:center;padding:14px 14px 14px 13px;border:1px solid var(--border);border-radius:12px;background:rgba(10,23,43,.98);color:var(--text-1);box-shadow:0 18px 50px rgba(0,0,0,.38);pointer-events:auto;animation:ta-toast-in .22s ease-out both;overflow:hidden}
.ta-toast::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent)}
.ta-toast.success::before{background:var(--success)}.ta-toast.error::before{background:var(--danger)}
.ta-toast-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:21px;font-weight:800;line-height:1;background:rgba(37,99,235,.14);color:var(--accent)}
.ta-toast.success .ta-toast-icon{background:rgba(34,197,94,.14);color:var(--success)}.ta-toast.error .ta-toast-icon{background:rgba(239,68,68,.14);color:var(--danger)}
.ta-toast-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.ta-toast-copy b{font-size:13px;color:var(--text-1)}.ta-toast-copy span{font-size:12px;line-height:1.45;color:var(--text-2);white-space:pre-line}
.ta-toast-close{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--text-3);font:600 18px/1 inherit;cursor:pointer}.ta-toast-close:hover{background:rgba(255,255,255,.07);color:var(--text-1)}
.ta-toast.leaving{animation:ta-toast-out .18s ease-in both}@keyframes ta-toast-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes ta-toast-out{to{opacity:0;transform:translateY(8px) scale(.98)}}
@media(max-width:1100px){.prod-month-kanban{grid-template-columns:repeat(6,minmax(70px,1fr))}}
@media(max-width:900px){.prod-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.prod-kpis{grid-template-columns:1fr}.prod-toolbar{align-items:stretch}.prod-actions{width:100%}.prod-actions .btn{flex:1}.prod-month-kanban{grid-template-columns:repeat(3,minmax(70px,1fr))}.ta-toast-region{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.ta-toast,.ta-toast.leaving{animation:none}}
