.profile-rapsheet { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 2px; width: 148px; max-width: 100%; margin: 8px auto 0; }
.profile-rapsheet[hidden] { display: none; }
.rapsheet-icon { position: relative; flex: 0 0 28px; box-sizing: border-box; display: inline-grid; place-items: center; width: 28px; height: 32px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.rapsheet-icon svg { width: 26px; height: 30px; overflow: visible; filter: drop-shadow(1px 2px 0 #c5b2cd80); transition: transform 120ms ease; }
.rapsheet-icon:hover { background: transparent; }
.rapsheet-icon:hover svg { transform: translateY(-2px); }
.rapsheet-icon::after { content: attr(data-issued); position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); z-index: 10; padding: 6px 9px; border: 1px solid #e7bfd6; border-radius: 5px; background: #fff8fc; color: #394464; box-shadow: 0 2px 6px #25264a1a; font: 12px/1.3 Arial, sans-serif; white-space: nowrap; pointer-events: none; opacity: 0; visibility: hidden; }
.rapsheet-icon:hover::after, .rapsheet-icon:focus-visible::after { opacity: 1; visibility: visible; }
.rapsheet-icon:focus-visible { outline: 2px dashed #b85b96; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .rapsheet-icon svg { transition: none; } }
.rapsheet-dialog { box-sizing: border-box; width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px; border: 1px solid #e7bfd6; border-top: 5px solid #ed83b6; border-radius: 12px; background: #fff8fc; color: #15204a; font: inherit; }
.rapsheet-dialog::backdrop { background: rgb(16 25 65 / 55%); }
.rapsheet-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rapsheet-dialog h2 { margin: 0; font-size: 26px; }
.rapsheet-dialog header button { width: 40px; height: 40px; border: 1px solid #e7bfd6; background: white; border-radius: 6px; color: inherit; font: inherit; font-size: 24px; cursor: pointer; }
.rapsheet-note { font-size: .9em; color: #59647e; }
.rapsheet-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.rapsheet-facts dt { font-size: .8em; text-transform: uppercase; font-weight: bold; color: #59647e; }
.rapsheet-facts dd { margin: 5px 0 0; overflow-wrap: anywhere; }
.rapsheet-comment { white-space: pre-wrap; overflow-wrap: anywhere; }
.rapsheet-panel { margin: 20px 0; padding: 18px; background: #fff8fc; border: 1px solid #e7bfd6; border-radius: 8px; }
.rapsheet-panel h3 { margin: 0; }
.rapsheet-entry + .rapsheet-entry { border-top: 1px solid #e7bfd6; margin-top: 18px; padding-top: 8px; }
.rapsheet-search { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; padding: 16px; background: #f6f5fc; border: 1px solid #dadced; border-radius: 8px; }
.rapsheet-search label { display: grid; gap: 6px; flex: 1 1 200px; }
.rapsheet-search input { min-width: 0; width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid #afb8d2; border-radius: 5px; font: inherit; }
.rapsheet-search button { margin: 0; }
@media (max-width: 420px) { .rapsheet-facts { grid-template-columns: 1fr; } }
