dialog.network-attachment-viewer{position:fixed;inset:0;margin:auto;width:min(1100px,calc(100vw - 28px));max-width:none;height:min(860px,calc(100dvh - 28px));max-height:none;padding:0;border:1px solid #ffffff25;border-radius:16px;background:#17191a;color:#e9edef;overflow:hidden;font-family:Arial,sans-serif;box-shadow:0 20px 80px #0008}
.network-attachment-viewer[open]{display:flex;flex-direction:column}.network-attachment-viewer::backdrop{background:#000b}.network-attachment-viewer header{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid #ffffff20;flex-shrink:0}.network-attachment-viewer header strong{flex:1;font-size:14px;overflow-wrap:anywhere}.network-attachment-viewer header button{background:none;color:inherit;border:1px solid #ffffff30;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer}.network-attachment-viewer-body{flex:1;min-height:0;display:grid;place-items:center;padding:16px;overflow:auto;background:#111314}.network-attachment-viewer-body>img,.network-attachment-viewer-body>video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.network-attachment-viewer-body>iframe{border:0;width:100%;height:100%;background:#fff}.network-attachment-viewer-body>audio{width:min(500px,100%)}.network-attachment-viewer-body>pre{align-self:stretch;justify-self:stretch;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;margin:0;color:#e9edef}.network-attachment-viewer footer{padding:14px 20px;border-top:1px solid #ffffff20;text-align:right;flex-shrink:0}.network-attachment-viewer footer a{display:inline-block;padding:11px 18px;background:#50b848;color:#073d24;text-decoration:none;border-radius:8px;font-size:13px;font-weight:600}.network-attachment-viewer :focus-visible{outline:2px solid #50b848;outline-offset:3px}
@media(max-width:600px){dialog.network-attachment-viewer{width:100%;height:100dvh;border:0;border-radius:0}.network-attachment-viewer-body{padding:10px}}

/* Direct native file controls retain the browser's own chooser behavior. */
.network-upload-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:42px;padding:10px 12px;border-radius:9px;cursor:pointer;color:inherit;font-size:13px;font-weight:400;overflow:hidden}
.network-upload-choice:hover{background:var(--chat-hover,#50b84818)}.network-upload-choice:focus-within{outline:2px solid #50b848;outline-offset:-2px}.network-upload-choice>svg{width:20px;height:20px;flex-shrink:0}
.network-upload-choice>input[type=file],#grina-network-admin .network-upload-choice>input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer;border:0!important;font-size:16px}
.network-upload-choice:has(input:disabled){opacity:.5;cursor:default}.network-upload-choice.is-admin{flex-shrink:0;border:1px solid var(--na-line,#dce1d5);border-radius:8px;font-size:12px;white-space:nowrap;min-height:40px;padding:9px 12px}
.network-picker-limit{font-size:11px!important;line-height:1.5;color:var(--chat-muted,#59685e);padding:0 12px;margin:0 0 8px!important}
.network-attachment-previews,[data-nc-files]{display:flex;align-items:flex-start;gap:10px;max-height:min(38dvh,290px);overflow:auto;padding:3px 2px 8px}
.network-attachment-previews:empty,[data-nc-files]:empty{display:none}
.network-chat-app #network-message-form .network-attachment-previews{max-height:min(40dvh,280px)}
.network-upload-card.network-attachment-preview{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;flex:0 0 210px;width:210px;min-width:0;margin:0;padding:9px;border:1px solid var(--chat-line,var(--na-line,#dce1d5));border-radius:12px;background:var(--chat-surface,var(--na-card,#fff));color:var(--chat-ink,var(--na-ink,#073d24));font-size:12px}
.network-upload-media{display:grid;place-items:center;min-height:65px;overflow:hidden;border-radius:8px;background:var(--chat-hover,#50b8480b)}
.network-upload-media>.network-upload-visual{border:0;background:transparent;padding:0;cursor:zoom-in;width:100%;height:128px}.network-upload-media .network-upload-visual img{display:block;width:100%;height:128px;object-fit:contain;border-radius:8px}
.network-upload-media>video{display:block;width:100%;height:128px;object-fit:contain;background:#111;border-radius:8px}.network-upload-card .network-upload-media>audio{display:block;width:100%;max-width:100%;height:38px}
.network-upload-document{font-size:32px;color:#50b848}.network-upload-caption{min-width:0}.network-upload-caption strong{display:block;font-size:11px;line-height:1.5;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.network-upload-caption small{display:block;font-size:10px;opacity:.7;margin-top:2px}
.network-upload-actions{display:flex;justify-content:space-between;gap:8px}.network-upload-actions button,#grina-network-admin .network-upload-actions button{font:inherit;font-size:11px;color:inherit;background:transparent;border:1px solid var(--chat-line,var(--na-line,#dce1d5));border-radius:6px;padding:6px 10px;cursor:pointer}.network-upload-actions button:hover{border-color:#50b848}
.network-chat-app #network-message-form>[data-upload-status]:not(:empty),#grina-network-admin [data-nc-upload-status]:not(:empty){font-size:12px;line-height:1.5;padding:9px 12px;margin:8px 0 0;border-radius:8px;background:var(--chat-hover,#50b84812);color:var(--chat-ink,var(--na-ink,#073d24));white-space:pre-wrap;overflow-wrap:anywhere}
.network-chat-app #network-message-form>[data-upload-status].is-error,#grina-network-admin [data-nc-upload-status].is-error{background:#fff0ed;color:#8b2421;border:1px solid #e8aaa2}
.network-posted-video{display:grid;gap:6px;max-width:100%}.network-open-media{display:block;width:fit-content;border:1px solid var(--chat-line,var(--na-line,#dce1d5));border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:11px;padding:6px 10px;cursor:pointer}
.network-media-error{font-size:14px;line-height:1.6;text-align:center;color:#ffcbc2}.network-media-error[hidden]{display:none}
.network-attachment-viewer-body{position:relative}.network-media-loading{position:absolute;inset:50% 0 auto;margin:0;text-align:center;font-size:14px;color:#e9edef;pointer-events:none}
@media(max-width:600px){.network-upload-card.network-attachment-preview{flex-basis:180px;width:180px}.network-upload-media>.network-upload-visual,.network-upload-media .network-upload-visual img,.network-upload-media>video{height:105px}.network-upload-choice.is-admin{padding-inline:9px;font-size:11px}}

/* A head-only PNG lets the surrounding chat surface show through. */
.network-author-avatar.is-online{position:relative;overflow:visible!important}.network-author-avatar.is-online>img{border-radius:50%}.network-author-avatar.is-online::after{content:'';position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;border-radius:50%;background:#50b848;border:2px solid var(--chat-surface,var(--na-card,#fff));z-index:2}
.network-author-avatar.is-grina-team{position:relative;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.network-author-avatar.is-grina-team>span{visibility:hidden}
.network-author-avatar.is-grina-team>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important;border-radius:0!important;background:transparent!important}

/* Shared, compact message and visitor details. */
.grina-seen-button{border:0;background:transparent;color:inherit;font:inherit;font-size:10px;padding:3px 2px;cursor:pointer;text-decoration:underline;text-decoration-color:#50b848;text-underline-offset:3px;white-space:nowrap}
.chat-message-footer>.grina-seen-button{margin-right:auto;color:var(--chat-muted)}
.grina-engagement-view{padding:22px;font-family:inherit;font-size:13px;line-height:1.6;color:inherit}
.na-panel-body .grina-engagement-view{padding:0}
.grina-engagement-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}
.grina-engagement-stats>span{display:grid;gap:3px;padding:10px 8px;border:1px solid #50b84840;border-radius:9px;font-size:10px;text-align:center;overflow-wrap:anywhere}
.grina-engagement-stats strong{font-size:22px;color:#50b848}
.grina-engagement-hint{font-size:11px;opacity:.7;margin-block:14px}
.grina-engagement-list{padding:0;margin:0;list-style:none;display:grid;gap:0}
.grina-engagement-list>li{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #50b84825}
.grina-engagement-list>li>div{min-width:0}.grina-engagement-list strong{display:block;font-size:13px;overflow-wrap:anywhere}.grina-engagement-list small{display:block;opacity:.7;font-size:11px;margin-top:4px}
.grina-engagement-list .network-author-avatar{position:relative;display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;overflow:hidden;background:#50b84825;font-size:11px}
.grina-engagement-list .network-author-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.grina-engagement-filters,.grina-engagement-pages{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}
.grina-engagement-filters button,.grina-engagement-pages button{padding:8px 11px;border:1px solid #50b84855;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:11px}
.grina-engagement-filters [aria-pressed=true]{background:#50b848;color:#073d24}
#grina-network-admin .grina-seen-button{color:var(--na-muted);font-size:11px;margin-block:6px}
#grina-network-admin .na-member-engagement>.na-profile-list{gap:0}#grina-network-admin .na-member-engagement>.na-profile-list>li{padding:14px 0;border-bottom:1px solid var(--na-line)}
#grina-network-admin .na-member-engagement .na-actions{margin-top:18px}
