.acp { color:#e1eee8; background:#0a1510; font:14px/1.55 system-ui,sans-serif; max-height:calc(100dvh - 24px); }
.acp .modal__head { display:flex; flex-direction:row; align-items:center; padding:20px 68px 16px 20px; gap:12px; }
.acp .modal__head .micro { font-size:12px; color:#b3cabe; }
.acp .modal__title { font-size:20px; }
.acp .modal__body { padding:0 20px 18px; overflow:auto; overscroll-behavior:contain; max-height:calc(100dvh - 102px); scrollbar-color:#46675a #0a1510; }
.acp .btn { font-size:14px; min-height:44px; padding:8px 12px; }
.acp :is(input,textarea,select) { display:block; box-sizing:border-box; width:100%; padding:10px; border:1px solid #526a5e; background:#08110d; color:#e1eee8; font:inherit; caret-color:#63e6bb; }
.acp :is(input,textarea)::placeholder { color:#a3b8ad; }
.acp :is(button,input,textarea,select):focus-visible { outline:2px solid #63e6bb; outline-offset:3px; }
.acp ::selection { background:#28735b; color:#fff; }
.acp label { display:block; margin:12px 0; font-weight:600; }
.acp p { margin:12px 0; overflow-wrap:anywhere; }
.acp-toolbar { display:flex; justify-content:space-between; min-height:0; }
.acp-close { position:absolute; right:16px; top:10px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #526a5e; background:#0a1510; color:#e1eee8; cursor:pointer; }
.acp-close .icon { width:20px; height:20px; }
.acp-card { position:relative; isolation:isolate; display:flex; align-items:center; gap:16px; padding:16px; min-height:132px; box-sizing:border-box; border:1px solid #526a5e; overflow:hidden; }
.acp-card .nc-layer { z-index:-1; opacity:.48; }
.acp-face { flex:0 0 auto; display:grid; place-items:center; width:96px; height:96px; border:1px solid #6c9482; background:#13261d; font-size:32px; overflow:hidden; }
.acp-face img { width:100%; height:100%; display:block; object-fit:cover; }
.acp-identity { display:grid; gap:6px; min-width:0; }
.acp-identity b { font-size:20px; overflow-wrap:anywhere; }
.acp-identity small { margin-left:5px; font-size:14px; color:#baccc2; font-weight:400; }
.acp-identity>span { overflow-wrap:anywhere; }
.acp-primary-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:14px 0 8px; }
.acp-actions { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.acp-note { color:#a3b8ad; font-size:13px; }
.acp-error { color:#ffb5a4; }
.acp-stats { width:100%; margin:4px 0; }
.acp-tabs { display:flex; border-bottom:1px solid #526a5e; margin:0 0 12px; }
.acp-tabs button { background:transparent; border:0; padding:12px; min-height:44px; color:#baccc2; font:inherit; cursor:pointer; }
.acp-tabs button[aria-pressed=true] { color:#63e6bb; box-shadow:inset 0 -2px #63e6bb; }
.acp-list { list-style:none; padding:0; margin:8px 0; }
.acp-list li { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #314c3f; }
.acp-list .acp-face { width:42px; height:42px; font-size:20px; }
.acp-person { flex:1; min-width:0; overflow-wrap:anywhere; }
.acp-person small { display:block; color:#a3b8ad; }
.acp-section-title { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-top:20px; }
.acp-section-title h3 { font-size:16px; margin:0; }
.acp-empty { padding:16px 0; color:#a3b8ad; }
.acp-report { padding:14px 0; border-bottom:1px solid #314c3f; }
.acp-report h4 { margin:0; font-size:15px; overflow-wrap:anywhere; }
.acp-report h4 span { color:#63e6bb; font-size:13px; }
.acp-report small { color:#a3b8ad; }
.acp-report p { white-space:pre-wrap; }
.acp-reply { background:#10251b; padding:10px; }
.acp-pager { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:12px; }
.acp-pager span { color:#a3b8ad; font-variant-numeric:tabular-nums; }
/* The existing catalog picker has no stylesheet in this fork. Keep its styles
   local to the account hub rather than changing every title/room surface. */
.acp .avpick { position:fixed; inset:0; z-index:420; display:grid; place-items:center; padding:12px; font-size:14px; }
.acp .avpick__scrim { position:absolute; inset:0; background:rgba(3,8,6,.85); }
.acp .avpick__panel { position:relative; display:flex; flex-direction:column; width:min(780px,100%); max-height:calc(100dvh - 24px); background:#0a1510; border:1px solid #526a5e; overflow:hidden; }
.acp :is(.avpick__head,.avpick__bar,.avpick__foot) { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px; }
.acp .avpick__head h3 { font-size:18px; margin:0; }
.acp .avpick__head .micro { display:none; }
.acp .avpick__x { margin-left:auto; width:44px; height:44px; background:#10251b; color:#e1eee8; border:1px solid #526a5e; }
.acp :is(.avpick__tabs,.avpick__subs) { display:flex; flex-wrap:wrap; gap:6px; padding:0 12px; }
.acp :is(.avpick__tab,.avpick__sub) { display:flex; gap:6px; align-items:center; padding:8px; min-height:44px; border:1px solid #526a5e; background:#0a1510; color:#e1eee8; font:inherit; }
.acp :is(.avpick__tab,.avpick__sub).is-on { background:#1c4b38; color:#a1f2d2; }
.acp .avpick__tab .icon { width:18px; height:18px; }
.acp .avpick__list { display:grid; grid-template-columns:repeat(auto-fill,minmax(88px,1fr)); gap:10px; padding:12px; overflow:auto; min-height:80px; scrollbar-color:#46675a #0a1510; }
.acp .avcell { padding:5px; background:#10251b; border:1px solid #526a5e; color:#e1eee8; font:inherit; cursor:pointer; }
.acp .avcell.is-on { border-color:#63e6bb; background:#1c4b38; }
.acp .avcell__img { display:block; aspect-ratio:1; }
.acp .avcell__img img { display:block; width:100%; height:100%; object-fit:cover; }
.acp .avcell__name { display:block; margin-top:5px; overflow-wrap:anywhere; }
.acp .avpick__cur { display:flex; align-items:center; gap:8px; flex:1; }
.acp .avpick__curimg { display:block; width:44px; height:44px; }
.acp .avpick__curimg img { width:100%; height:100%; object-fit:cover; }
.acp .avpick__cur .micro { display:none; }
.acp .avpick__feedback { padding:0 12px 12px; flex-shrink:0; }
.acp .avpick__feedback [role=alert] { color:#ffb5a4; }
.acp .avpick__empty { grid-column:1/-1; }
.acp .avpick__foot { flex-shrink:0; border-top:1px solid #526a5e; }
.acp .nc-pick__x { width:44px; height:44px; }
@media (max-width:560px) {
  .acp .modal__head { padding:16px 52px 14px 14px; }
  .acp .modal__body { padding:0 14px 14px; }
  .acp-card { padding:12px; gap:12px; min-height:112px; }
  .acp-card>.acp-face { width:72px; height:72px; }
  .acp-identity b { font-size:18px; }
  .acp-primary-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .acp-actions>.btn { flex:1 1 auto; }
}
