/* Rule Radar public styles, matched to the PickAPropFirm brand guidelines:
   navy ink headings, Deep Blue #045CB4 accent on light surfaces, soft tinted
   pills like the site's chips, semantic green/amber/red, slate neutrals. */
h2.hcw-pub-key-head { font-size: 1.05em; font-weight: 700; color: #0A2450; margin: 0 0 10px; }
.hcw-pub-feed-starred { border-left: 4px solid #045CB4; margin-bottom: 16px; }
.hcw-pub-muted { color: #64748B; font-size: 0.85em; }
.hcw-pub-fbar { background: #f9fafb; border: 1px solid #E2E8F0; border-radius: 8px; padding: 12px 14px; margin: 0 0 12px; }
.hcw-pub-fbar-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.hcw-pub-fbar-row + .hcw-pub-fbar-row { margin-top: 10px; border-top: 1px solid #E2E8F0; padding-top: 10px; }
.hcw-pub-search { flex: 1; min-width: 200px; padding: 8px 12px; border: 1px solid #E2E8F0; border-radius: 8px; font-size: 13px; color: #334155; background: #FFFFFF; }
.hcw-pub-firmsel { padding: 8px 10px; border: 1px solid #E2E8F0; border-radius: 8px; font-size: 13px; font-weight: 600; color: #334155; background: #FFFFFF; }
.hcw-pub-search:focus, .hcw-pub-firmsel:focus { outline: none; border-color: #93C5FD; }
.hcw-pub-flabel { font-size: 10px; font-weight: 700; letter-spacing: 0.7px; text-transform: uppercase; color: #475569; }
.hcw-pub-track { display: inline-flex; background: #E8EDF3; border-radius: 8px; padding: 3px; }
.hcw-pub-choice { font-size: 12px; font-weight: 600; color: #3F4E66; padding: 5px 12px; border-radius: 6px; border: none; background: transparent; cursor: pointer; white-space: nowrap; transition: background 150ms ease, color 150ms ease; }
.hcw-pub-choice:hover { color: #334155; }
.hcw-pub-choice.active { background: #045CB4; color: #FFFFFF; font-weight: 700; }
.hcw-pub-tier { font-size: 9px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; border-radius: 999px; padding: 2px 7px; background: #F1F5F9; color: #64748B; }
.hcw-pub-tier-premier { background: #E6F1FB; color: #045CB4; }
.hcw-pub-feed { background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 10px; padding: 2px 18px; }
.hcw-pub-row { border-bottom: 1px solid #F1F5F9; }
.hcw-pub-row:last-child { border-bottom: 0; }
.hcw-pub-row summary { display: flex; gap: 10px; align-items: center; padding: 8px 0; cursor: pointer; list-style: none; flex-wrap: wrap; }
.hcw-pub-row summary::-webkit-details-marker { display: none; }
.hcw-pub-row summary:hover .hcw-pub-row-title { color: #045CB4; }
.hcw-pub-row-title { flex: 1; min-width: 200px; font-weight: 500; font-size: 0.85em; color: #0A2450; }
.hcw-pub-type { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; border-radius: 999px; padding: 2px 7px; min-width: 48px; text-align: center; }
.hcw-pub-type-new { background: #E8F7EE; color: #15803D; }
.hcw-pub-type-updated { background: #FCF0DC; color: #B45309; }
.hcw-pub-type-deleted { background: #FDECEC; color: #B91C1C; }
.hcw-pub-type-moved, .hcw-pub-type-restored, .hcw-pub-type-title_changed { background: #F1F5F9; color: #475569; }
.hcw-pub-body { padding: 4px 0 14px; }
.hcw-pub-body a { color: #045CB4; font-weight: 600; }
.hcw-pub-diff { background: #F8FAFC; border: 1px solid #E2E8F0; overflow-x: auto; border-radius: 8px; padding: 12px 14px; font-size: 13.5px; line-height: 1.6; white-space: pre-wrap; word-break: break-word; color: #1E293B; }
.hcw-pub-diff-add { color: #14532D; font-weight: 600; }
.hcw-pub-diff-del { color: #991B1B; text-decoration: line-through; text-decoration-thickness: 1px; }
.hcw-pub-diff-delrow { background: #FDECEC; box-shadow: 0 0 0 2px #FDECEC; border-radius: 2px; }
.hcw-pub-diff-addrow { background: #E8F7EE; box-shadow: 0 0 0 2px #E8F7EE; border-radius: 2px; }
.hcw-pub-diff mark.hcw-pub-wdel { background: #F6D4D4; color: #991B1B; font-weight: 600; text-decoration: line-through; text-decoration-thickness: 1px; border-radius: 3px; padding: 1px 0; }
.hcw-pub-diff mark.hcw-pub-wadd { background: #CDEDDB; color: #14532D; font-weight: 600; border-radius: 3px; padding: 1px 0; }
.hcw-pub-diff-ctx { color: #64748B; }
.hcw-pub-diff-gap { color: #94A3B8; }
.hcw-pub-widget { background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 10px; padding: 16px 20px; margin: 0 0 14px; }
.hcw-pub-widget-head { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #64748B; margin-bottom: 10px; }
.hcw-pub-stat { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; color: #334155; }
.hcw-pub-stat strong { color: #0A2450; font-weight: 700; font-variant-numeric: tabular-nums; }
.hcw-pub-pager { margin-top: 12px; }
.hcw-pub-pagelink { margin-right: 12px; font-weight: 600; color: #045CB4; }

/* Dark mode, matching NativeTables' html[data-theme="dark"] treatment. */
html[data-theme="dark"] .hcw-pub-key-head { color: #E7EAEE; }
html[data-theme="dark"] .hcw-pub-feed, html[data-theme="dark"] .hcw-pub-widget { background: #18191B; border-color: #43484E; }
html[data-theme="dark"] .hcw-pub-row { border-bottom-color: #212225; }
html[data-theme="dark"] .hcw-pub-row-title, html[data-theme="dark"] .hcw-pub-card-title { color: #E7EAEE; }
html[data-theme="dark"] .hcw-pub-row summary:hover .hcw-pub-row-title { color: #70B8FF; }
html[data-theme="dark"] .hcw-pub-muted { color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-fbar { background: #18191B; border-color: #43484E; }
html[data-theme="dark"] .hcw-pub-fbar-row + .hcw-pub-fbar-row { border-top-color: #43484E; }
html[data-theme="dark"] .hcw-pub-search, html[data-theme="dark"] .hcw-pub-firmsel { background: #212225; border-color: #43484E; color: #D3D6DA; }
html[data-theme="dark"] .hcw-pub-flabel { color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-track { background: #212225; }
html[data-theme="dark"] .hcw-pub-choice { color: #D3D6DA; }
html[data-theme="dark"] .hcw-pub-choice.active { background: #045CB4; color: #FFFFFF; }
html[data-theme="dark"] .hcw-pub-tier { background: #212225; color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-tier-premier { background: #1E2A41; color: #70B8FF; }
html[data-theme="dark"] html[data-theme="dark"] html[data-theme="dark"] html[data-theme="dark"] html[data-theme="dark"] html[data-theme="dark"] .hcw-pub-type-new { background: #0E2A1C; color: #2FD07E; }
html[data-theme="dark"] .hcw-pub-type-updated { background: #33230A; color: #FFB61A; }
html[data-theme="dark"] .hcw-pub-type-deleted { background: #3A1414; color: #F09595; }
html[data-theme="dark"] .hcw-pub-type-moved, html[data-theme="dark"] .hcw-pub-type-restored, html[data-theme="dark"] .hcw-pub-type-title_changed { background: #212225; color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-diff { background: #131416; border-color: #43484E; color: #D3D6DA; }
html[data-theme="dark"] .hcw-pub-diff-add { color: #2FD07E; }
html[data-theme="dark"] .hcw-pub-diff-del { color: #F09595; }
html[data-theme="dark"] .hcw-pub-diff-delrow { background: #3A1414; box-shadow: 0 0 0 2px #3A1414; }
html[data-theme="dark"] .hcw-pub-diff-addrow { background: #0E2A1C; box-shadow: 0 0 0 2px #0E2A1C; }
html[data-theme="dark"] .hcw-pub-diff mark.hcw-pub-wdel { background: #5A1D1D; color: #FCA5A5; font-weight: 600; border-radius: 3px; padding: 1px 0; }
html[data-theme="dark"] .hcw-pub-diff mark.hcw-pub-wadd { background: #1B4A31; color: #4ADE80; font-weight: 600; border-radius: 3px; padding: 1px 0; }
html[data-theme="dark"] .hcw-pub-widget-head { color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-stat { color: #D3D6DA; }
html[data-theme="dark"] .hcw-pub-stat strong { color: #E7EAEE; }
html[data-theme="dark"] .hcw-pub-body a, html[data-theme="dark"] .hcw-pub-pagelink { color: #70B8FF; }
html[data-theme="dark"] .hcw-pub-feed-starred { border-left-color: #045CB4; }

/* Horizontal stats bar (0.9.45), replaces the sidebar stat cards. */
.hcw-pub-statsbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; background: #f9fafb; border: 1px solid #E2E8F0; border-radius: 8px; padding: 10px 16px; margin: 0 0 14px; }
.hcw-pub-sb-stats { display: flex; gap: 18px; flex-wrap: wrap; align-items: baseline; }
.hcw-pub-sb-stat { font-size: 13px; color: #64748B; white-space: nowrap; }
.hcw-pub-sb-stat strong { font-size: 16px; color: #0A2450; font-weight: 700; font-variant-numeric: tabular-nums; margin-right: 3px; }
.hcw-pub-sb-active { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.hcw-pub-sb-chip { font-size: 12px; font-weight: 600; color: #334155; background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 999px; padding: 3px 11px; text-decoration: none; white-space: nowrap; }
.hcw-pub-sb-chip:hover { border-color: #045CB4; color: #045CB4; }
.hcw-pub-sb-chip strong { color: #045CB4; }
html[data-theme="dark"] .hcw-pub-statsbar { background: #18191B; border-color: #43484E; }
html[data-theme="dark"] .hcw-pub-sb-stat { color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-sb-stat strong { color: #E7EAEE; }
html[data-theme="dark"] .hcw-pub-sb-chip { background: #212225; border-color: #43484E; color: #D3D6DA; }
html[data-theme="dark"] .hcw-pub-sb-chip:hover, html[data-theme="dark"] .hcw-pub-sb-chip strong { color: #70B8FF; }

/* Firm favicon stack (0.9.47): icon with the tier pill straddling its base. */
.hcw-pub-firmbox { position: relative; display: inline-flex; flex-direction: column; align-items: center; width: 44px; min-width: 44px; padding-bottom: 12px; }
.hcw-pub-firmicon { width: 22px; height: 22px; border-radius: 5px; display: block; }
.hcw-pub-monogram { width: 22px; height: 22px; border-radius: 5px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; background: #F1F5F9; color: #475569; }
.hcw-pub-firmbox .hcw-pub-tier { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); font-size: 8px; padding: 1px 6px; white-space: nowrap; }

/* Before-and-after view (0.9.48). */
.hcw-pub-viewtoggle { margin: 6px 0 8px; }
.hcw-pub-sbs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 640px) { .hcw-pub-sbs { grid-template-columns: 1fr; } }
.hcw-pub-sbs-head { font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #64748B; margin-bottom: 4px; }
.hcw-pub-sbs-del { background: #FDECEC; color: #7F1D1D; display: inline; }
.hcw-pub-sbs-add { background: #E8F7EE; color: #14532D; display: inline; }
html[data-theme="dark"] .hcw-pub-sbs-head { color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-sbs-del { background: #3A1414; color: #F09595; }
html[data-theme="dark"] .hcw-pub-sbs-add { background: #0E2A1C; color: #2FD07E; }

/* Stats bar period toggle (0.9.49). */
.hcw-pub-sb-periods { display: inline-flex; background: #E8EDF3; border-radius: 8px; padding: 2px; margin-right: 4px; }
.hcw-pub-sb-period { font-size: 11px; padding: 3px 9px; }
.hcw-pub-sb-group { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.hcw-pub-sb-group[hidden], .hcw-pub-sb-count[hidden], .hcw-pub-view-inline[hidden], .hcw-pub-view-sbs[hidden] { display: none; }
html[data-theme="dark"] .hcw-pub-sb-periods { background: #212225; }

/* Mobile full-bleed (0.9.53): on phones the shell slims its side padding and
   the data containers stretch across it, side borders dropped. */
.hcw-pub-staradmin { margin-left: auto; flex: 0 0 auto; border: 1px solid #E2E8F0; background: #FFFFFF; color: #94A3B8; border-radius: 999px; width: 26px; height: 26px; line-height: 1; font-size: 14px; cursor: pointer; padding: 0; }
.hcw-pub-staradmin:hover { border-color: #045CB4; color: #045CB4; }
.hcw-pub-staradmin.is-on { color: #D97706; border-color: #FBBF24; background: #FFFBEB; }
html[data-theme="dark"] .hcw-pub-staradmin { background: #212225; border-color: #43484E; color: #7D848D; }
html[data-theme="dark"] .hcw-pub-staradmin.is-on { color: #FBBF24; border-color: #92670F; background: #2A2313; }
@media (max-width: 700px) {
	.hcw-shell { padding-left: 12px !important; padding-right: 12px !important; }
	.hcw-pub-feed, .hcw-pub-statsbar, .hcw-pub-fbar { margin-left: -12px; margin-right: -12px; border-left: none; border-right: none; border-radius: 0; }
	.hcw-pub-feed { padding-left: 10px; padding-right: 10px; }
	.hcw-pub-feed-starred { border-left: 4px solid #045CB4; }
	.hcw-pub-statsbar { padding-left: 12px; padding-right: 12px; }
	.hcw-pub-fbar { padding-left: 12px; padding-right: 12px; }
	.hcw-pub-firmbox { width: 36px; min-width: 36px; }
	.hcw-pub-row summary { gap: 7px; }
}

html[data-theme="dark"] .hcw-pub-monogram { background: #212225; color: #B0B4BA; }

/* Last update stamp pinned to the bar's right edge (0.9.57). */
.hcw-pub-sb-last { font-size: 12px; color: #64748B; white-space: nowrap; }
.hcw-pub-sb-last strong { color: #0A2450; font-weight: 700; }
html[data-theme="dark"] .hcw-pub-sb-last { color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-sb-last strong { color: #E7EAEE; }

/* Per-firm pages + profile embeds (0.9.59). */
.hcw-pub-fphead { display: flex; gap: 12px; align-items: center; margin: 0 0 14px; }
.hcw-pub-fpicon { width: 34px; height: 34px; border-radius: 7px; font-size: 15px; }
.hcw-pub-fpname { font-size: 1.1em; font-weight: 700; color: #0A2450; display: flex; gap: 8px; align-items: center; }
html[data-theme="dark"] .hcw-pub-fpname { color: #E7EAEE; }
.hcw-pub-profile-embed { margin-top: 28px; }

/* Firm page shell (0.9.61): the calendar/giveaways container, from the plugin. */
.hcw-pub-shell { background: #FAFAFF; border: 1px solid #E2ECF5; border-radius: 16px; padding: 32px 36px 40px; }
.hcw-pub-eyebrow { text-align: center; font-size: 13px; font-weight: 700; letter-spacing: 3px; color: #045CB4; margin: 0 0 6px; }
.hcw-pub-fpbrand { text-align: center; font-size: 40px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.1; margin: 0 0 4px; }
.hcw-pub-fpbrand a { text-decoration: none; color: #0E3870; }
.hcw-pub-fpbrand a span { color: inherit; }
.hcw-pub-fptitle { text-align: center; font-size: 24px; font-weight: 700; letter-spacing: -0.01em; color: #475569; margin: 0 0 10px; }
.hcw-pub-fpsub { text-align: center; font-size: 18px; color: #334155; margin: 0 0 18px; }
.hcw-pub-fphead-center { justify-content: center; }
@media (max-width: 700px) { .hcw-pub-shell { padding: 20px 12px 24px; } .hcw-pub-fpbrand { font-size: 30px; } .hcw-pub-fptitle { font-size: 20px; } }
html[data-theme="dark"] .hcw-pub-shell { background: #131416; border-color: #43484E; }
html[data-theme="dark"] .hcw-pub-fpbrand a { color: #E7EAEE; }
html[data-theme="dark"] .hcw-pub-fpbrand a span { color: inherit; }
html[data-theme="dark"] .hcw-pub-fptitle { color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-fpsub { color: #B0B4BA; }
html[data-theme="dark"] .hcw-pub-eyebrow { color: #70B8FF; }

/* Firm directory hub (0.9.62). */
.hcw-pub-index { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.hcw-pub-index-card { display: flex; align-items: center; gap: 10px; background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 10px; padding: 12px 14px; text-decoration: none; }
.hcw-pub-index-card:hover { border-color: #045CB4; }
.hcw-pub-index-name { flex: 1; font-weight: 600; color: #0A2450; }
html[data-theme="dark"] .hcw-pub-index-card { background: #18191B; border-color: #43484E; }
html[data-theme="dark"] .hcw-pub-index-name { color: #E7EAEE; }
