/* Prop Firms v2 — compact directory + technically explicit rule-to-policy mapping */
@media (min-width:1151px){
  .prop-firm-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .prop-firm-card{min-height:286px;padding:17px}
}
.prop-firm-card{min-height:0}
.prop-firm-card>p{min-height:0;font-size:13px;line-height:1.52;margin:12px 0}
.prop-firm-card__head{grid-template-columns:40px minmax(0,1fr);gap:10px}
.prop-firm-monogram{width:40px;height:40px;border-radius:11px}
.prop-firm-card h3{font-size:19px}
.prop-verify-badge{grid-column:auto;margin-left:auto;align-self:start;font-size:10px;padding:5px 8px}
.prop-verify-badge.verified{border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand)}
.prop-verify-badge.verified i{background:var(--brand)}
.prop-rule-preview>div{padding:7px 0;grid-template-columns:.82fr 1.18fr}
.prop-rule-preview dt,.prop-rule-preview dd{font-size:11.5px;line-height:1.4}
.prop-firm-card__actions{padding-top:12px;gap:9px}
.prop-firm-card__actions button{min-height:36px;padding:0 10px}
.prop-firm-card__actions a{font-size:11px}
.prop-policy-jump{width:100%;min-height:38px;margin-top:9px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.018);color:var(--muted);font-size:11px;font-weight:700;text-align:left;padding:0 11px;transition:.18s}
.prop-policy-jump:hover{border-color:var(--brand-border);background:var(--brand-soft);color:var(--brand)}

.prop-policy-selector{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px!important;overflow-x:auto;padding-bottom:3px}
.prop-policy-selector button{min-width:118px;justify-content:flex-start!important;padding:0 10px!important}
.prop-policy-selector button span{flex:0 0 auto}

.prop-policy-workspace__body{align-items:start}
.prop-policy-rules>div[data-policy-rules],.prop-policy-controls>div[data-policy-controls]{display:grid;gap:9px}
.prop-v2-rule,.prop-v2-map{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.018)}
.prop-v2-rule>span,.prop-v2-map>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted2);font-size:10px;font-weight:800}
.prop-v2-rule strong,.prop-v2-rule b,.prop-v2-rule small{display:block}
.prop-v2-rule strong{font-size:13px;line-height:1.35}
.prop-v2-rule b{margin-top:3px;color:var(--brand);font-size:12px}
.prop-v2-rule p,.prop-v2-map p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.prop-v2-rule small{margin-top:8px;color:var(--muted2);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.prop-v2-map__title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.prop-v2-map__title strong{font-size:13px;line-height:1.35}
.prop-v2-map__title em{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid var(--line);border-radius:999px;font-size:9.5px;font-style:normal;font-weight:800;white-space:nowrap}
.prop-v2-map__title em.is-enforced{border-color:var(--brand-border);background:var(--brand-soft);color:var(--brand)}
.prop-v2-map__title em.is-guard{border-color:rgba(106,157,255,.35);background:rgba(106,157,255,.10);color:#91b7ff}
.prop-v2-map__title em.is-monitor{border-color:rgba(161,140,255,.35);background:rgba(161,140,255,.10);color:#b4a5ff}
.prop-v2-map__title em.is-manual{border-color:rgba(245,185,79,.34);background:rgba(245,185,79,.09);color:#f1c978}
.prop-v2-map__title em.is-unsupported{border-color:rgba(255,102,117,.30);background:rgba(255,102,117,.08);color:#ff8b96}

.prop-policy-sources{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 20px;border-top:1px solid var(--line);background:rgba(255,255,255,.012)}
.prop-policy-sources strong{font-size:10px;color:var(--muted2);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.prop-policy-sources span{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.prop-policy-sources a{padding:5px 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:10.5px;font-weight:650}
.prop-policy-sources a:hover{border-color:var(--brand-border);color:var(--brand)}

.prop-comparison th,.prop-comparison td{font-size:11.5px;line-height:1.45;padding:13px 15px}
.prop-comparison thead th{font-size:11.5px}
.prop-comparison tbody th{font-size:11px}
.prop-comparison__head p{font-size:12px;line-height:1.5;max-width:720px}
.prop-comparison__placeholder strong{font-size:13px}.prop-comparison__placeholder small{font-size:11px}

html[data-theme="light"] .prop-v2-rule,html[data-theme="light"] .prop-v2-map{background:#f8fafb}
html[data-theme="light"] .prop-v2-rule p,html[data-theme="light"] .prop-v2-map p,html[data-theme="light"] .prop-policy-sources a{color:#5e6e79}
html[data-theme="light"] .prop-policy-sources{background:#f7fafb}

@media(max-width:1150px){
  .prop-policy-selector{grid-template-columns:repeat(4,minmax(135px,1fr))}
  .prop-verify-badge{grid-column:1/-1;margin-left:0}
}
@media(max-width:850px){
  .prop-firm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prop-policy-selector{display:flex!important}
  .prop-policy-selector button{min-width:142px}
  .prop-policy-sources{display:grid}
  .prop-policy-sources span{justify-content:flex-start}
}
@media(max-width:620px){
  .prop-firm-grid{grid-template-columns:1fr}
  .prop-v2-rule,.prop-v2-map{grid-template-columns:30px minmax(0,1fr);padding:12px}
  .prop-v2-map__title{display:grid}
  .prop-policy-sources{padding:14px}
  .prop-policy-sources a{font-size:10px}
}
