/* Propertex Garantías - App UI */
.pg-app { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#0f172a; }
.pg-topbar{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px 14px; background:#ffffff; border:1px solid #e2e8f0; border-radius:16px; box-shadow:0 1px 10px rgba(15,23,42,.06); }
.pg-title-main{ font-size:18px; font-weight:700; }
.pg-title-sub{ font-size:12px; color:#64748b; margin-top:2px; }
.pg-btn{ border:1px solid #cbd5e1; background:#fff; color:#0f172a; padding:10px 12px; border-radius:12px; cursor:pointer; font-weight:600; }
.pg-btn:hover{ background:#f8fafc; }
.pg-btn-primary{ background:#0b4ea2; border-color:#0b4ea2; color:#fff; }
.pg-btn-primary:hover{ filter:brightness(1.05); }

.pg-filters{ margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; padding:12px 14px; background:#ffffff; border:1px solid #e2e8f0; border-radius:16px; box-shadow:0 1px 10px rgba(15,23,42,.06); }
.pg-field{ display:flex; flex-direction:column; gap:6px; min-width:140px; }
.pg-field label{ font-size:12px; color:#475569; }
.pg-field input, .pg-field select{ border:1px solid #cbd5e1; border-radius:12px; padding:10px 10px; outline:none; background:#fff; }
.pg-field input:focus, .pg-field select:focus{ border-color:#0b4ea2; box-shadow:0 0 0 3px rgba(11,78,162,.15); }
.pg-grow{ flex: 1 1 280px; min-width:240px; }
.pg-actions{ display:flex; align-items:flex-end; padding-bottom:2px; }

.pg-tablewrap{ margin-top:12px; background:#ffffff; border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; box-shadow:0 1px 10px rgba(15,23,42,.06); }
.pg-tablehead, .pg-row{ display:flex; align-items:center; gap:10px; padding:12px 14px; }
.pg-tablehead{ background:#f8fafc; font-size:12px; color:#475569; font-weight:700; }
.pg-tablerows .pg-row{ border-top:1px solid #e2e8f0; }
.pg-tablerows .pg-row:hover{ background:#fbfdff; }
.pg-col{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pg-col-id{ width:86px; }
.pg-col-date{ width:92px; }
.pg-col-status{ width:220px; }
.pg-col-tenant{ flex:1 1 220px; min-width:180px; }
.pg-col-guar{ flex:1 1 260px; min-width:200px; }
.pg-col-view{ width:54px; display:flex; justify-content:flex-end; }
.pg-pill{ display:inline-flex; align-items:center; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:700; border:1px solid #cbd5e1; background:#fff; }
.pg-pill.pg-pill-warn{ border-color:#ffd9a3; background:#fff5e6; color:#8a4b00; }
.pg-pill.pg-pill-ok{ border-color:#b8e6c8; background:#effaf2; color:#0c6b2c; }
.pg-pill.pg-pill-bad{ border-color:#ffc2c2; background:#fff1f1; color:#991b1b; }
.pg-pill.pg-pill-info{ border-color:#bcd7ff; background:#e8f2ff; color:#0b4ea2; }

.pg-iconbtn{ border:1px solid #cbd5e1; background:#fff; width:38px; height:38px; border-radius:12px; cursor:pointer; }
.pg-iconbtn:hover{ background:#f8fafc; }
.pg-empty{ padding:16px; color:#64748b; }
.pg-footnote{ margin-top:10px; font-size:12px; color:#64748b; padding:0 2px; }

/* Modal */
.pg-modal{ position:fixed; inset:0; display:none; z-index:99999; }
.pg-modal[aria-hidden="false"]{ display:block; }
.pg-modal-backdrop{ position:absolute; inset:0; background:rgba(15,23,42,.45); }
.pg-modal-card{ position:relative; width:min(860px, calc(100% - 24px)); max-height:calc(100% - 24px); margin:12px auto; background:#fff; border-radius:18px; border:1px solid #e2e8f0; box-shadow:0 20px 60px rgba(0,0,0,.25); display:flex; flex-direction:column; overflow:hidden; }
.pg-modal-head{ padding:14px 14px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e2e8f0; }
.pg-modal-title{ font-size:16px; font-weight:800; }
.pg-modal-body{ padding:14px; overflow:auto; }
.pg-modal-foot{ padding:12px 14px; display:flex; justify-content:flex-end; gap:10px; border-top:1px solid #e2e8f0; background:#f8fafc; }

/* Form layout */
.pg-grid{ display:grid; grid-template-columns: repeat(12, 1fr); gap:12px; }
.pg-span-3{ grid-column: span 3; }
.pg-span-6{ grid-column: span 6; }
@media (max-width: 740px){
  .pg-span-3,.pg-span-6{ grid-column: span 12; }
  .pg-col-status{ width:160px; }
}
.pg-section{ margin-top:14px; padding-top:14px; border-top:1px dashed #e2e8f0; }
.pg-section-title{ font-size:13px; font-weight:800; margin-bottom:10px; }

.pg-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.pg-chip{ border:1px solid #cbd5e1; background:#fff; border-radius:14px; padding:10px 12px; cursor:pointer; user-select:none; display:flex; align-items:center; gap:10px; }
.pg-chip input{ transform:scale(1.1); }
.pg-badge{ font-size:11px; font-weight:800; padding:2px 8px; border-radius:999px; border:1px solid #bcd7ff; background:#e8f2ff; color:#0b4ea2; }
.pg-badge-warn{ border-color:#ffd9a3; background:#fff5e6; color:#8a4b00; }

.pg-alert{ border-radius:14px; padding:10px 12px; border:1px solid #cbd5e1; background:#f8fafc; font-size:13px; }
.pg-alert-warn{ border-color:#ffd9a3; background:#fff5e6; color:#8a4b00; }

.pg-help{ font-size:12px; color:#64748b; margin-top:8px; }
.pg-error{ margin-top:10px; background:#fff1f1; border:1px solid #ffc2c2; color:#991b1b; padding:10px 12px; border-radius:14px; font-weight:700; }

/* Detail */
.pg-kv{ display:grid; grid-template-columns: 180px 1fr; gap:8px 12px; }
.pg-kv .k{ color:#475569; font-size:12px; font-weight:700; }
.pg-kv .v{ color:#0f172a; font-size:13px; font-weight:600; }
.pg-files{ margin-top:12px; }
.pg-files a{ display:inline-flex; margin:6px 8px 0 0; padding:8px 10px; border:1px solid #cbd5e1; border-radius:12px; text-decoration:none; color:#0f172a; font-weight:700; }
.pg-files a:hover{ background:#f8fafc; }
