.p-shell { max-width: 760px; margin: 0 auto; padding: 2em 1.2em 4em; }
.p-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.6em; }
.p-topbar .brand { display: flex; align-items: center; gap: .5em; font-weight: 700; }
.p-topbar .brand .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--primary); }

.section-card { margin-bottom: 1.2em; }
.section-card h3 { margin-bottom: .8em; }

.kv { display: grid; grid-template-columns: 140px 1fr; gap: .5em .8em; font-size: .92rem; }
.kv dt { color: var(--ink-soft); }
.kv dd { margin: 0; }

.tabs-p { display: flex; gap: .3em; border-bottom: 1px solid var(--border); margin-bottom: 1.4em; }
.tabs-p button { background: none; border: none; border-bottom: 2px solid transparent; border-radius: 0; padding: .8em .3em; margin-left: 1.4em; color: var(--ink-soft); }
.tabs-p button.active { color: var(--primary); border-bottom-color: var(--primary); font-weight: 600; }
.tab-panel-p { display: none; }
.tab-panel-p.active { display: block; }

.attachments-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8em; }
.attachment-thumb { border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; background: var(--surface-sunken); text-align: center; font-size: .85rem; }
.attachment-thumb img { width: 100%; height: 100px; object-fit: cover; display: block; }
.attachment-thumb .meta { padding: .5em; }
