/* Client portal v2: formal, flat. */
.pv{max-width:1180px;margin:0 auto;padding:24px 20px 40px;box-sizing:border-box}
.pv *{box-sizing:border-box}
.pv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--g200)}
.pv-id h1{margin:0 0 6px;font-size:24px;color:var(--navy);font-weight:700}
.pv-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.pv-ro{font-size:12px;font-weight:600;color:#475569;border:1px solid #cbd5e1;border-radius:4px;padding:2px 8px;background:#fff}
.pv-nums{display:flex;flex-wrap:wrap;gap:6px}.pv-nums span{font-size:12px;color:#334155;direction:ltr;unicode-bidi:isolate}
.pv-h{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0 0 10px}
.pv section{margin-bottom:22px}
.pv-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pv-kpi{background:#fff;border:1px solid var(--g200);border-radius:8px;padding:14px 16px}
.pv-kpi .v{font-size:26px;font-weight:700;color:var(--navy);line-height:1.2}.pv-kpi .l{font-size:12.5px;color:#64748b;margin-top:2px}
.pv-forms{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.pv-fc{all:unset;box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid var(--g200);border-radius:8px;padding:14px 16px;display:block;min-width:0}
.pv-fc:hover{border-color:#94a3b8}.pv-fc:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.pv-fc.act{border-color:var(--blue);box-shadow:inset 0 3px 0 var(--blue)}
.pv-fc .t{font-weight:600;color:var(--g900);font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-fc .id{font-size:11.5px;color:#94a3b8;direction:ltr;unicode-bidi:isolate}
.pv-fc .n{font-size:22px;font-weight:700;color:var(--navy);margin:8px 0 2px}
.pv-fc .lst{font-size:12.5px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-panel{background:#fff;border:1px solid var(--g200);border-radius:8px;padding:16px}
.pv-ph{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.pv-ph h2{margin:0;font-size:17px;color:var(--navy)}
.pv-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding-bottom:12px;border-bottom:1px solid var(--g200)}
.pv-in{font:inherit;font-size:14px;height:36px;padding:0 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--g900);max-width:100%}
.pv-q{flex:1 1 240px;min-width:0}
.pv-dl{display:flex;flex-direction:column;font-size:11.5px;color:#64748b;gap:2px}
.pv-btn{height:36px;padding:0 14px;border-radius:6px;font-size:13.5px}
.pv-tbl{width:100%;border-collapse:collapse;font-size:14px}
.pv-tbl th{text-align:start;font-size:12px;font-weight:600;color:#64748b;background:#f8fafc;padding:10px;border-bottom:1px solid var(--g200);position:static}
.pv-tbl td{padding:10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.pv-tbl tbody tr{cursor:pointer}.pv-tbl tbody tr:hover{background:#f8fafc}.pv-tbl tbody tr:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.pv-tbl .nm{font-weight:600;color:var(--g900)}.pv-tbl .fm{color:#475569;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-tbl .em{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-st{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid;white-space:nowrap}
.pv-st.sent{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.pv-st.partial{color:#92400e;border-color:#fde68a;background:#fffbeb}.pv-st.failed{color:#991b1b;border-color:#fecaca;background:#fef2f2}
.pv-cards{display:none}
.pv-card{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;border-bottom:1px solid #f1f5f9;padding:12px 2px}
.pv-card .r1{display:flex;justify-content:space-between;gap:8px;align-items:center}.pv-card .nm{font-weight:600;color:var(--g900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-card .r2{font-size:13px;color:#475569;margin-top:4px;display:flex;flex-wrap:wrap;gap:2px 12px}.pv-card .r3{font-size:12px;color:#64748b;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.pv-pager div{display:flex;gap:8px}
.pv-empty{text-align:center;color:#64748b;padding:36px 10px}
.pv-dlg{border:1px solid var(--g200);border-radius:10px;padding:0;width:min(560px,calc(100vw - 24px));max-height:85vh}
.pv-dlg::backdrop{background:rgba(7,20,51,.45)}
.pv-dh{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--g200)}.pv-dh h3{margin:0;font-size:16px;color:var(--navy)}
#pDet{padding:6px 18px 18px}#pDet dl{display:grid;grid-template-columns:minmax(90px,35%) 1fr;margin:0}
#pDet dt,#pDet dd{padding:9px 0;border-bottom:1px solid #f1f5f9;margin:0;font-size:14px;overflow-wrap:anywhere}#pDet dt{color:#64748b;padding-inline-end:10px}
@media (max-width:900px){.pv-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.pv{padding:16px 12px 30px}.pv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-kpi .v{font-size:22px}
 .pv-tbl{display:none}.pv-cards{display:block}.pv-tools select,.pv-dl{flex:1 1 45%}.pv-dl input{width:100%}.pv-panel{padding:12px}}
/* admin forms dialog */
.fm-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #f1f5f9}
.fm-row .fid{font-size:12px;color:#64748b;direction:ltr;unicode-bidi:isolate;min-width:140px}.fm-row input{flex:1 1 180px;min-width:0}
.pv-tools .pv-in{width:auto;margin:0}.pv-tools .pv-q{width:auto}.pv-tools select.pv-in{flex:0 1 190px}.pv-dl{margin:0;font-weight:400}.pv-dl .pv-in{width:150px}
@media (max-width:640px){.pv-tools .pv-q{flex:1 1 100%}.pv-tools select.pv-in{flex:1 1 45%}.pv-dl .pv-in{width:100%}}
#pDet dd{unicode-bidi:plaintext;text-align:start}
