:root{--accent:#e4e4e7;--accent-ink:#050506;--mal:#ef4444;--sus:#f59e0b;--ok:#22c55e;--r:8px}
img.logo{object-fit:contain}
.portal-user{position:relative}
.portal-avatar{font:700 12px var(--sans,sans-serif);width:30px;height:30px;border-radius:50%!important;background:var(--panel3,#1a1a1f);border:1px solid var(--line2,#2a2a31)}
.portal-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:230px;background:var(--panel2,#141418);border:1px solid var(--line2,#2a2a31);border-radius:10px;padding:6px;box-shadow:0 14px 40px rgba(0,0,0,.45)}
.portal-menu form{margin:0}
.portal-who{padding:8px 10px 4px}.portal-who b{display:block}.portal-who span{color:var(--muted,#80808a);font-size:12px;word-break:break-all}
.portal-usage{padding:0 10px 8px;color:var(--muted,#80808a);font-size:12px;border-bottom:1px solid var(--line,#1f1f25);margin-bottom:4px}
.portal-item{display:block;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:8px 10px;color:var(--text,#e4e4e7);cursor:pointer;font:inherit}
.portal-item:hover{background:var(--panel3,#1a1a1f)}
.portal-legal{display:flex;flex-wrap:wrap;gap:4px 12px;padding:8px 10px 4px;margin-top:4px;border-top:1px solid var(--line,#1f1f25);font-size:11.5px}
.portal-legal a{color:var(--muted,#80808a);text-decoration:none}.portal-legal a:hover{color:var(--text,#e4e4e7);text-decoration:underline}
.portal-banner{position:fixed;left:50%;transform:translateX(-50%);top:62px;z-index:55;max-width:min(760px,calc(100vw - 24px));display:flex;gap:12px;align-items:center;padding:9px 14px;border-radius:10px;font-size:13px;border:1px solid;box-shadow:0 10px 30px rgba(0,0,0,.4);white-space:pre-wrap}
.portal-banner.lvl-info{background:#0f1d33;border-color:#2c4f86;color:#dbe7ff}
.portal-banner.lvl-success{background:#0d2417;border-color:#1f6b3d;color:#d3f7e0}
.portal-banner.lvl-warning{background:#2a1f08;border-color:#80611a;color:#fdecc4}
.portal-banner.lvl-critical{background:#2c0d0d;border-color:#8a2626;color:#ffd9d9}
.portal-x{background:none;border:0;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.7;padding:0 2px}
.portal-x:hover{opacity:1}
@media (max-width:900px){.portal-banner{top:auto;bottom:calc(64px + env(safe-area-inset-bottom));}}