/* ═══════════════════════════════════════════════════════════════
   TradeForge — Municipal Permits & Inspection Readiness Styles
   ═══════════════════════════════════════════════════════════════ */

/* ── Module Container ── */
.pm-module{margin:0}

/* ── Summary Stats Row ── */
.pm-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 18px}
.pm-stat{background:linear-gradient(135deg,rgba(46,49,54,.55) 0%,rgba(30,32,35,.65) 100%);border:1px solid rgba(140,106,62,.12);border-radius:10px;padding:14px 12px;text-align:center}
.pm-stat-val{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.02em}
.pm-stat-label{font-size:11px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:3px 0 0}

/* ── Readiness Banner ── */
.pm-readiness{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:10px;margin:0 0 18px;border:1px solid}
.pm-readiness svg{width:20px;height:20px;flex-shrink:0}
.pm-readiness-text{flex:1}
.pm-readiness-title{font-size:14px;font-weight:700;margin:0}
.pm-readiness-desc{font-size:12px;margin:3px 0 0;opacity:.8}
.pm-readiness.ready{background:rgba(106,191,105,.08);border-color:rgba(106,191,105,.25);color:#6abf69}
.pm-readiness.warning{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.25);color:#f59e0b}
.pm-readiness.critical{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.25);color:#ef4444}
.pm-readiness.neutral{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.25);color:#3b82f6}

/* ── Sub-navigation (Permits / Documents / Inspections / Municipal) ── */
.pm-subnav{display:flex;gap:4px;margin:0 0 18px;border-bottom:1px solid rgba(140,106,62,.12);padding:0 0 2px;overflow-x:auto}
.pm-subnav-btn{padding:10px 16px;font-size:12px;font-weight:650;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all .2s;text-transform:uppercase;letter-spacing:.03em}
.pm-subnav-btn:hover{color:var(--ash)}
.pm-subnav-btn.active{color:var(--bronze);border-bottom-color:var(--bronze)}

/* ── Cards ── */
.pm-card{background:linear-gradient(135deg,rgba(46,49,54,.55) 0%,rgba(30,32,35,.65) 100%);border:1px solid rgba(140,106,62,.12);border-radius:var(--r);overflow:hidden;margin:0 0 16px}
.pm-card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(140,106,62,.08);gap:10px;flex-wrap:wrap}
.pm-card-head h3{font-size:15px;font-weight:700;color:#fff;margin:0;display:flex;align-items:center;gap:8px}
.pm-card-head h3 svg{width:16px;height:16px;color:var(--bronze);flex-shrink:0}
.pm-card-action{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:650;color:var(--bronze);background:rgba(140,106,62,.1);border:1px solid rgba(140,106,62,.2);cursor:pointer;transition:all .2s;white-space:nowrap}
.pm-card-action:hover{background:rgba(140,106,62,.2);border-color:rgba(140,106,62,.35);color:#fff}
.pm-card-body{padding:18px}
.pm-card-empty{text-align:center;padding:28px 18px;color:var(--muted);font-size:13px}

/* ── Permit Checklist ── */
.pm-checklist{list-style:none;padding:0;margin:0}
.pm-checklist-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid rgba(181,183,185,.06)}
.pm-checklist-item:last-child{border-bottom:none}
.pm-check-toggle{width:22px;height:22px;border-radius:6px;border:2px solid rgba(181,183,185,.25);background:transparent;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:1px;padding:0}
.pm-check-toggle svg{width:14px;height:14px;opacity:0;transition:opacity .2s}
.pm-check-toggle.checked{border-color:#6abf69;background:rgba(106,191,105,.15)}
.pm-check-toggle.checked svg{opacity:1;color:#6abf69}
.pm-check-info{flex:1;min-width:0}
.pm-check-name{font-size:14px;font-weight:600;color:#fff}
.pm-check-name.done{text-decoration:line-through;opacity:.5}
.pm-check-meta{font-size:12px;color:var(--muted);margin:3px 0 0}

/* ── Status Badges ── */
.pm-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.pm-badge.draft{background:rgba(181,183,185,.12);color:var(--muted)}
.pm-badge.applied{background:rgba(59,130,246,.12);color:#3b82f6}
.pm-badge.under-review{background:rgba(245,158,11,.12);color:#f59e0b}
.pm-badge.approved{background:rgba(106,191,105,.12);color:#6abf69}
.pm-badge.rejected{background:rgba(239,68,68,.12);color:#ef4444}
.pm-badge.expired{background:rgba(239,68,68,.12);color:#ef4444}
.pm-badge.conditional{background:rgba(245,158,11,.12);color:#f59e0b}
.pm-badge.active{background:rgba(140,106,62,.15);color:var(--bronze)}

/* ── Permit List Items ── */
.pm-permit-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid rgba(181,183,185,.06)}
.pm-permit-item:last-child{border-bottom:none}
.pm-permit-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px}
.pm-permit-dot.draft{background:var(--muted)}
.pm-permit-dot.applied{background:#3b82f6}
.pm-permit-dot.under-review{background:#f59e0b}
.pm-permit-dot.approved{background:#6abf69}
.pm-permit-dot.rejected{background:#ef4444}
.pm-permit-dot.expired{background:#ef4444}
.pm-permit-info{flex:1;min-width:0}
.pm-permit-name{font-size:14px;font-weight:600;color:#fff}
.pm-permit-detail{font-size:12px;color:var(--muted);margin:3px 0 0}

/* ── Document List ── */
.pm-doc-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(181,183,185,.06)}
.pm-doc-item:last-child{border-bottom:none}
.pm-doc-icon{width:36px;height:36px;border-radius:8px;background:rgba(140,106,62,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pm-doc-icon svg{width:16px;height:16px;color:var(--bronze)}
.pm-doc-info{flex:1;min-width:0}
.pm-doc-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-doc-meta{font-size:11px;color:var(--muted);margin:2px 0 0}
.pm-doc-status{flex-shrink:0}

/* ── Inspection Schedule ── */
.pm-insp-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid rgba(181,183,185,.06)}
.pm-insp-item:last-child{border-bottom:none}
.pm-insp-date-box{width:52px;min-width:52px;text-align:center;border-radius:8px;border:1px solid rgba(140,106,62,.2);background:rgba(140,106,62,.06);padding:6px 4px;flex-shrink:0}
.pm-insp-date-month{font-size:10px;font-weight:700;color:var(--bronze);text-transform:uppercase;letter-spacing:.04em}
.pm-insp-date-day{font-size:20px;font-weight:800;color:#fff;line-height:1.1}
.pm-insp-info{flex:1;min-width:0}
.pm-insp-title{font-size:14px;font-weight:600;color:#fff}
.pm-insp-detail{font-size:12px;color:var(--muted);margin:3px 0 0}
.pm-insp-readiness{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;margin:5px 0 0}
.pm-insp-readiness .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.pm-insp-readiness.ready{color:#6abf69}
.pm-insp-readiness.ready .dot{background:#6abf69}
.pm-insp-readiness.not-ready{color:#ef4444}
.pm-insp-readiness.not-ready .dot{background:#ef4444}
.pm-insp-readiness.partial{color:#f59e0b}
.pm-insp-readiness.partial .dot{background:#f59e0b}

/* ── Municipal Contact Card ── */
.pm-contact-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid rgba(181,183,185,.06)}
.pm-contact-item:last-child{border-bottom:none}
.pm-contact-avatar{width:40px;height:40px;border-radius:10px;background:rgba(140,106,62,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pm-contact-avatar svg{width:18px;height:18px;color:var(--bronze)}
.pm-contact-info{flex:1;min-width:0}
.pm-contact-name{font-size:14px;font-weight:600;color:#fff}
.pm-contact-role{font-size:12px;color:var(--bronze);margin:2px 0}
.pm-contact-detail{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;margin:2px 0 0}
.pm-contact-detail svg{width:12px;height:12px;flex-shrink:0;color:var(--muted)}

/* ── Forms ── */
.pm-form{display:grid;gap:10px}
.pm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pm-form label{font-size:12px;font-weight:650;color:var(--muted);display:block;margin:0 0 4px;text-transform:uppercase;letter-spacing:.03em}
.pm-form .input{width:100%;background:rgba(15,17,20,.4);border:1px solid rgba(181,183,185,.12);border-radius:8px;color:var(--ash);font-size:13px;padding:10px 12px;box-sizing:border-box}
.pm-form .input:focus{border-color:rgba(140,106,62,.4);outline:none}
.pm-form select.input{appearance:auto}
.pm-form textarea.input{min-height:60px;resize:vertical;font-family:inherit}

/* ── Grid Layout ── */
.pm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ── Responsive ── */
@media(max-width:900px){
  .pm-stats{grid-template-columns:repeat(3,1fr)}
  .pm-grid-2{grid-template-columns:1fr}
  .pm-form-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .pm-stats{grid-template-columns:repeat(2,1fr)}
  .pm-subnav-btn{padding:8px 12px;font-size:11px}
}

/* ── Mobile Field Optimization ── */
@media(max-width:900px){
  /* Touch targets — buttons and nav */
  .pm-subnav-btn{min-height:44px;padding:12px 16px;font-size:12px}
  .pm-card-action{min-height:44px;padding:10px 16px;font-size:13px}
  .pm-check-toggle{width:32px;height:32px;border-radius:8px}
  .pm-check-toggle svg{width:18px;height:18px}
  /* Form inputs — prevent iOS zoom */
  .pm-form .input{font-size:16px;min-height:48px;padding:12px 14px}
  .pm-form select.input{font-size:16px;min-height:44px}
  .pm-form textarea.input{font-size:16px;min-height:70px}
  /* Permit checklist touch targets */
  .pm-checklist-item{padding:14px 0;min-height:48px;gap:14px}
  .pm-check-name{font-size:15px}
  .pm-check-meta{font-size:13px}
  /* Permit list items */
  .pm-permit-item{padding:16px 0;gap:14px}
  .pm-permit-name{font-size:15px}
  .pm-permit-detail{font-size:13px}
  /* Document list items */
  .pm-doc-item{padding:14px 0;min-height:48px;gap:14px}
  .pm-doc-icon{width:40px;height:40px}
  .pm-doc-name{font-size:14px}
  .pm-doc-meta{font-size:12px}
  /* Inspection items */
  .pm-insp-item{padding:16px 0;gap:14px}
  .pm-insp-date-box{width:56px;min-width:56px;padding:8px 6px}
  .pm-insp-date-day{font-size:22px}
  .pm-insp-title{font-size:15px}
  .pm-insp-detail{font-size:13px}
  /* Contact items */
  .pm-contact-item{padding:16px 0;gap:14px}
  .pm-contact-avatar{width:44px;height:44px}
  .pm-contact-name{font-size:15px}
  /* Badge readability */
  .pm-badge{font-size:12px;padding:4px 12px}
  /* Stat readability */
  .pm-stat{padding:16px 14px}
  .pm-stat-val{font-size:24px}
  .pm-stat-label{font-size:12px}
  /* Card spacing */
  .pm-card-body{padding:16px}
  .pm-card-head{padding:14px 16px}
  /* Readiness banner */
  .pm-readiness{padding:16px 18px}
  .pm-readiness-title{font-size:15px}
  .pm-readiness-desc{font-size:13px}
}
