/* =========================================================
   Tenant Portfolio Block — tenant-portfolio.css
   Self-contained: includes all pdlp-* styles needed by the
   block (landlord-portfolio.css doesn't load on tenant pages).
   Scope for pdc-* overrides: .pdtn-wrap
   ========================================================= */

/* --- Base wrapper --- */
.pdtn-wrap { max-width: 100%; padding: 0; }

/* --- CSV export button --- */
.pdtn-csv-btn { margin-left:auto; padding:7px 14px; border-radius:5px; font-size:12px; font-weight:500; text-decoration:none !important; background:#f0faf4; color:#166534 !important; border:1px solid #bbf7d0; white-space:nowrap; }
.pdtn-csv-btn:hover { background:#dcfce7; border-color:#86efac; }

/* --- Email Tenant remind button --- */
.pdtn-remind-btn { padding:4px 10px; border-radius:4px; font-size:12px; font-weight:500; cursor:pointer; border:1px solid #bfdbfe; background:#eff6ff; color:#1e40af; white-space:nowrap; }
.pdtn-remind-btn:hover:not(:disabled) { background:#dbeafe; }
.pdtn-remind-btn:disabled { cursor:default; opacity:.8; }

/* --- Bounced Only quick-filter button --- */
.pdtn-bounced-btn { padding:7px 14px; border-radius:5px; font-size:12px; font-weight:600; cursor:pointer; border:1px solid #fca5a5; background:#fef2f2; color:#991b1b; white-space:nowrap; }
.pdtn-bounced-btn:hover { background:#fee2e2; border-color:#f87171; }

/* --- Tenant status badge --- */
.pdtn-unit-status { display:inline-block; padding:4px 12px; border-radius:12px; font-size:12px; font-weight:700; letter-spacing:.3px; }
.pdtn-us-active   { background:#dcfce7; color:#166534; }
.pdtn-us-inactive { background:#f3f4f6; color:#6b7280; }

/* --- Days remaining badge --- */
.pdtn-days-badge { display:inline-block; padding:2px 7px; border-radius:10px; font-size:11px; font-weight:700; margin-left:4px; vertical-align:middle; }
.pdtn-days-red   { background:#fecaca; color:#991b1b; }
.pdtn-days-amber { background:#fef3c7; color:#92400e; }
.pdtn-days-green { background:#dcfce7; color:#166534; }

/* --- Tab/panel system (scoped to .pdtn-wrap) --- */
.pdtn-wrap .pdc-tabbar { display:flex; gap:0; margin-bottom:0; border:1px solid #dee2e6; border-radius:6px 6px 0 0; overflow:hidden; background:#f1f3f5; }
.pdtn-wrap .pdc-tabn { flex:1; display:inline-block; padding:14px 22px; font-size:14px; font-weight:500; color:#2e8b57; text-decoration:none !important; cursor:pointer; text-align:center; border-bottom:3px solid transparent; border-right:1px solid #dee2e6; background:#f1f3f5; }
.pdtn-wrap .pdc-tabn:last-child { border-right:none; }
.pdtn-wrap .pdc-tabn:hover { color:#267a4c; background:#e9ecef; }
.pdtn-wrap .pdc-tabn-on,
.pdtn-wrap .pdc-tabn-on:hover { color:#2e8b57 !important; background:#fff !important; border-bottom:3px solid #2e8b57 !important; font-weight:700 !important; }
.pdtn-wrap .pdc-panel { display:none; padding-top:18px; }
.pdtn-wrap .pdc-panel-on { display:block; }

/* --- Empty / loading states --- */
.pdtn-wrap .pdc-empty   { padding:18px; text-align:center; color:#6b7280; font-size:14px; background:#f9fafb; border-radius:5px; border:1px dashed #d1d5db; }
.pdtn-wrap .pdc-loading { padding:50px; text-align:center; color:#9ca3af; font-size:14px; }

/* --- Filter bar --- */
.pdtn-wrap .pdc-filters { display:flex; gap:10px; align-items:flex-end; margin-bottom:16px; flex-wrap:wrap; }
.pdtn-wrap .pdc-fg { display:flex; flex-direction:column; gap:4px; }
.pdtn-wrap .pdc-fg label { font-size:11px; color:#6b7280; font-weight:500; }
.pdtn-wrap .pdc-fsel { padding:7px 10px; border:1px solid #d1d5db; border-radius:5px; font-size:13px; background:#fff; color:#374151; min-width:120px; }
.pdtn-wrap .pdc-applybtn { padding:8px 16px; border-radius:5px; font-size:13px; font-weight:500; cursor:pointer; border:none; background:#2e8b57; color:#fff !important; }
.pdtn-wrap .pdc-applybtn:hover { background:#267a4c; }
.pdtn-wrap .pdc-clearbtn { padding:8px 16px; border-radius:5px; font-size:13px; font-weight:500; cursor:pointer; border:1px solid #d1d5db; background:#fff; color:#374151 !important; }

/* --- Table --- */
.pdtn-wrap .pdc-tbl { width:100%; border-collapse:collapse; font-size:14px; line-height:1.5; }
.pdtn-wrap .pdc-tbl thead th { background:#2e8b57; color:#fff; padding:10px 12px; text-align:left; font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:.5px; white-space:nowrap; }
.pdtn-wrap .pdc-tbl tbody td { padding:11px 12px; border-bottom:1px solid #e5e7eb; vertical-align:middle; color:#374151; font-size:14px; text-align:left !important; }
.pdtn-wrap .pdc-tbl tbody tr > td { background-color:inherit !important; }
.pdtn-wrap .pdc-tbl tbody tr:hover > td { background-color:#e2f0e6 !important; }
.pdtn-wrap .pdc-tbl tbody td a { color:#2e8b57; text-decoration:none; }
.pdtn-wrap .pdc-tbl tfoot td { background:#f8fafc; border-top:2px solid #d4e8dc; padding:10px 12px; font-size:13px; }

/* --- Actions --- */
.pdtn-wrap .pdc-acts { display:flex; gap:4px; white-space:nowrap; }
.pdtn-wrap .pdc-ae { display:inline-block; padding:5px 12px; border-radius:4px; font-size:12px; font-weight:500; text-decoration:none !important; background:#2e8b57; color:#fff !important; }
.pdtn-wrap .pdc-ae:hover { background:#267a4c; }

/* --- Status badges --- */
.pdtn-wrap .pdc-st { display:inline-block; padding:3px 10px; border-radius:4px; font-size:11px; font-weight:600; text-transform:capitalize; }
.pdtn-wrap .pdc-st-active    { background:#dcfce7; color:#166534; }
.pdtn-wrap .pdc-st-inactive  { background:#f3f4f6; color:#6b7280; }
.pdtn-wrap .pdc-st-warn      { background:#feebc8; color:#7b341e; }
.pdtn-wrap .pdc-st-received  { background:#dbeafe; color:#1e40af; }
.pdtn-wrap .pdc-st-deposited { background:#fef3c7; color:#92400e; }
.pdtn-wrap .pdc-st-cleared   { background:#dcfce7; color:#166534; }
.pdtn-wrap .pdc-st-bounced   { background:#fecaca; color:#991b1b; }
.pdtn-wrap .pdc-st-replaced  { background:#f3f4f6; color:#6b7280; }

/* --- Section headers --- */
.pdtn-wrap .pd-section-header { padding:14px 18px; margin:16px 0 0; background:#f8f9fa; border:1px solid #e5e7eb; border-radius:8px 8px 0 0; border-left:4px solid #2e8b57; }
.pdtn-wrap .pd-section-title  { font-size:16px; font-weight:700; color:#1a1a1a; }

/* --- Autocomplete --- */
.pdtn-wrap .pdc-ac-wrap    { position:relative; }
.pdtn-wrap .pdc-ac         { width:100%; }
.pdtn-wrap .pdc-ac-results { display:none; position:absolute; top:100%; left:0; right:0; z-index:999; background:#fff; border:1px solid #d1d5db; border-top:none; border-radius:0 0 5px 5px; max-height:200px; overflow-y:auto; box-shadow:0 4px 12px rgba(0,0,0,.1); }
.pdtn-wrap .pdc-ac-item    { padding:8px 12px; font-size:13px; color:#374151; cursor:pointer; border-bottom:1px solid #f3f4f6; }
.pdtn-wrap .pdc-ac-item:hover  { background:#f0fdf4; color:#2e8b57; }
.pdtn-wrap .pdc-ac-item:last-child { border-bottom:none; }
.pdtn-wrap .pdc-ac-empty   { padding:8px 12px; font-size:13px; color:#9ca3af; font-style:italic; }

/* --- Cheque group headers (Section A active / Section B previous) --- */
.pdtn-chq-group-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; padding:10px 16px; background:#f8f9fa; border:1px solid #e5e7eb; border-left:4px solid #9ca3af; border-radius:6px 6px 0 0; margin-top:20px; }
.pdtn-chq-group-header:first-child { margin-top:0; }
.pdtn-chq-group-active  { background:#f0fdf4; border-color:#d4e8dc; border-left-color:#2e8b57; }
.pdtn-chq-group-title   { font-size:14px; font-weight:700; color:#0f3460; }
.pdtn-chq-group-title a { color:#0f3460 !important; text-decoration:none; }
.pdtn-chq-group-active .pdtn-chq-group-title   { color:#166534; }
.pdtn-chq-group-active .pdtn-chq-group-title a { color:#166634 !important; }
.pdtn-chq-group-meta    { font-size:12px; color:#6b7280; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.pdtn-chq-group-meta a  { color:#374151 !important; text-decoration:none; }
.pdtn-wrap .pdtn-chq-group-header + table { border-top:none; border-radius:0 0 6px 6px; margin-bottom:0; }

/* --- Active contract card --- */
.pdtn-active-contract { background:#fff; border:1px solid #d4e8dc; border-left:4px solid #2e8b57; border-radius:10px; padding:20px 24px; margin-bottom:20px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.pdtn-active-contract.pdlp-exp-red   { border-left-color:#fc8181; background:#fff5f5; }
.pdtn-active-contract.pdlp-exp-amber { border-left-color:#f6ad55; background:#fffaf0; }

.pdtn-active-badge { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:#2e8b57; text-transform:uppercase; letter-spacing:.4px; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #e8f5ee; width:100%; }
.pdtn-active-dot   { display:inline-block; width:8px; height:8px; border-radius:50%; background:#2e8b57; flex-shrink:0; }

.pdtn-ac-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; margin-bottom:12px; }
@media (max-width:768px) { .pdtn-ac-grid { grid-template-columns:1fr; } }

.pdtn-ac-notes   { padding:12px 0; border-top:1px solid #f1f5f9; margin-top:6px; }
.pdtn-ac-actions { display:flex; gap:8px; margin-top:14px; padding-top:12px; border-top:1px solid #f1f5f9; }

/* --- No active contract empty state --- */
.pdtn-no-contract { display:flex; align-items:center; justify-content:center; padding:30px; background:#f9fafb; border:1px dashed #d1d5db; border-radius:8px; color:#6b7280; font-size:14px; margin-bottom:20px; }

/* --- Active row in contract history --- */
.pdtn-wrap .pdtn-row-active > td { background:#f0fdf4 !important; font-weight:500; }
.pdtn-active-dot-inline { display:inline-block; width:7px; height:7px; border-radius:50%; background:#2e8b57; margin-left:5px; vertical-align:middle; }

/* --- Report grid --- */
.pdtn-report-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; padding:12px 18px; border:1px solid #e5e7eb; border-top:none; border-radius:0 0 6px 6px; background:#fff; margin-bottom:4px; }
.pdtn-report-grid .pdlp-field-row { border-bottom:1px solid #f1f5f9; }
@media (max-width:768px) { .pdtn-report-grid { grid-template-columns:1fr; } }

/* 2-column info grid */
.pdtn-info-2col { grid-template-columns:1fr 1fr !important; }
@media (max-width:768px) { .pdtn-info-2col { grid-template-columns:1fr !important; } }

/* =========================================================
   Shared pdlp-* styles — self-contained copy
   (landlord-portfolio.css does not load on tenant pages)
   ========================================================= */

.pdlp-info-card { background:#fff; border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; margin-bottom:20px; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.pdlp-info-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; background:linear-gradient(135deg,#f8fafc 0%,#e8f5ee 100%); border-bottom:1px solid #e2e8f0; }
.pdlp-info-header-actions { display:flex; align-items:center; gap:10px; }
.pdlp-info-name { font-size:17px; font-weight:700; color:#0f3460; }
.pdlp-info-sections { display:grid; grid-template-columns:1fr 1fr 1fr; border-bottom:1px solid #e2e8f0; }
@media (max-width:768px) { .pdlp-info-sections { grid-template-columns:1fr; } }
.pdlp-info-section { padding:16px 20px; border-right:1px solid #f1f5f9; }
.pdlp-info-section:last-child { border-right:none; }
.pdlp-section-head { font-size:11px; font-weight:700; color:#2e8b57; text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; padding-bottom:6px; border-bottom:2px solid #e8f5ee; }
.pdlp-field-row { display:flex; align-items:baseline; padding:5px 0; border-bottom:1px solid #f1f5f9; gap:8px; }
.pdlp-field-label { font-size:10px; color:#9ca3af; text-transform:uppercase; letter-spacing:.3px; font-weight:600; min-width:100px; flex-shrink:0; }
.pdlp-field-val { font-size:13px; color:#1f2937; word-break:break-word; }
.pdlp-field-val a { color:#2563eb; text-decoration:none; }
.pdlp-field-mono { font-family:monospace; font-size:12px; letter-spacing:.5px; }
.pdlp-notes-section { padding:14px 20px; border-bottom:1px solid #f1f5f9; background:#fafcff; }
.pdlp-notes-body { font-size:13px; color:#4a5568; line-height:1.7; margin-top:8px; }
.pdlp-notes-body p { margin:0 0 8px; }
.pdlp-notes-body p:last-child { margin-bottom:0; }
.pdlp-attachments-section { padding:14px 20px; border-bottom:1px solid #f1f5f9; }
.pdlp-attachments-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.pdlp-attach-item { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:6px; text-decoration:none !important; color:#374151 !important; font-size:13px; transition:background .15s,border-color .15s; }
.pdlp-attach-item:hover { background:#e8f5ee; border-color:#2e8b57; color:#166534 !important; }
.pdlp-attach-ext { display:inline-block; padding:2px 6px; background:#2e8b57; color:#fff; border-radius:3px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; }
.pdlp-attach-name { font-weight:500; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pdlp-attach-size { font-size:11px; color:#9ca3af; white-space:nowrap; }
.pdlp-info-kpi-strip { display:flex; border-top:1px solid #e2e8f0; background:#f8fafc; }
.pdlp-ik-cell { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px 8px; border-right:1px solid #e2e8f0; text-align:center; }
.pdlp-ik-cell:last-child { border-right:none; }
.pdlp-ik-val { display:block; font-size:20px; font-weight:700; color:#0f3460; line-height:1.2; }
.pdlp-ik-lbl { display:block; font-size:10px; color:#718096; text-transform:uppercase; letter-spacing:.4px; margin-top:3px; }
.pdlp-ik-rev .pdlp-ik-val { font-size:15px; color:#2e8b57; }
.pdlp-edit-btn { display:inline-block; padding:5px 16px; background:#2e8b57; color:#fff !important; border-radius:5px; font-size:12px; font-weight:600; text-decoration:none !important; transition:background .15s; }
.pdlp-edit-btn:hover { background:#267a4c; }
.pdlp-audit-trail { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; padding:8px 20px; border-top:1px solid #f1f5f9; background:#fafcff; font-size:12px; color:#6b7280; }
.pdlp-audit-lbl { font-weight:600; color:#374151; }
.pdlp-audit-sep { color:#d1d5db; font-size:14px; }
.pdlp-port-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid #e2e8f0; }
.pdlp-port-title { font-size:15px; font-weight:600; color:#0f3460; }
.pdlp-pdf-btn { display:inline-flex; align-items:center; gap:6px; background:#2e8b57; color:#fff !important; padding:7px 16px; border-radius:6px; font-size:13px; font-weight:500; text-decoration:none !important; transition:background .15s; }
.pdlp-pdf-btn:hover { background:#267a4c; color:#fff !important; }
.pdlp-status-summary { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; margin-bottom:16px; padding:12px 18px; border:1px solid #e5e7eb; border-top:none; border-radius:0 0 6px 6px; background:#fff; }
.pdlp-ss-item { display:flex; align-items:center; gap:8px; background:#f7fafc; border:1px solid #e2e8f0; border-radius:8px; padding:8px 14px; }
.pdlp-ss-count { font-size:18px; font-weight:700; color:#2d3748; }
.pdlp-ss-amt   { font-size:12px; color:#718096; }
.pdlp-num { text-align:right; font-variant-numeric:tabular-nums; }
.pdlp-exp-red   { border-left-color:#fc8181 !important; background:#fff5f5 !important; }
.pdlp-exp-amber { border-left-color:#f6ad55 !important; background:#fffaf0 !important; }
