
/* KTP Portal Notification Center — P7.8C.2 UI revision */
.header-inner { position:relative; }
.portal-notification-root { position:relative; display:flex; align-items:center; margin-left:auto; }
.portal-bell-trigger { position:relative; display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid var(--border,#dce3ec); border-radius:10px; background:transparent; color:inherit; cursor:pointer; }
.portal-bell-trigger:hover,.portal-bell-trigger[aria-expanded="true"] { background:#eaf2ff; color:#0d6efc; }
.portal-bell-count { position:absolute; top:-5px; right:-7px; padding:2px 5px; min-width:18px; border-radius:14px; font-size:10px; font-weight:700; color:#fff; background:#d12e47; line-height:1.2; }
.portal-notification-panel { position:absolute; z-index:300; top:calc(100% + 12px); right:0; width:clamp(340px,36vw,680px); max-width:calc(100vw - 24px); max-height:min(75vh,720px); display:flex; flex-direction:column; border:1px solid #d9e3f0; border-radius:14px; box-shadow:0 14px 48px rgba(16,40,75,.18); background:#fff; color:#1b2b42; overflow:hidden; }
.portal-notification-panel[hidden] { display:none !important; }
.portal-notification-heading { display:flex; justify-content:space-between; align-items:center; padding:16px 18px 10px; }
.portal-notification-heading strong { display:block; font-size:17px; }
.portal-notification-heading small { display:block; color:#64748b; margin-top:3px; }
.portal-notification-close { border:0; background:transparent; font-size:25px; color:#64748b; cursor:pointer; padding:0 5px; }
.portal-notification-toolbar { display:flex; align-items:center; gap:12px; padding:4px 18px 10px; }
.portal-notification-toolbar label { font-size:13px; font-weight:600; white-space:nowrap; }
.portal-notification-toolbar select { width:100%; min-width:0; padding:8px; border:1px solid #d6e0ee; border-radius:8px; background:#fff; color:#1b2b42; }
.portal-notification-readall { padding:0 18px 10px; text-align:right; border-bottom:1px solid #e7edf5; }
.portal-notification-readall button { padding:0; border:0; background:transparent; color:#0d6efc; font-size:12px; cursor:pointer; }
.portal-notification-items { overflow-y:auto; overscroll-behavior:contain; padding:8px 12px 12px; }
.portal-notification-item { padding:12px; border-radius:10px; margin-bottom:6px; border:1px solid transparent; }
.portal-notification-item.is-unread { background:#f0f6ff; border-color:#e2edff; }
.portal-notification-item.is-read { background:#fff; }
.portal-notification-item-top { display:flex; justify-content:space-between; align-items:center; }
.portal-notification-app { font-size:11px; font-weight:700; color:#557095; }
.portal-notification-dot { display:block; width:8px; height:8px; border-radius:50%; background:#0d6efc; }
.portal-notification-title { display:block; color:#142b4c; text-decoration:none; font-size:14px; font-weight:650; margin:5px 0; overflow-wrap:anywhere; }
.portal-notification-title:hover { text-decoration:underline; }
.portal-notification-item small { display:block; color:#65758b; font-size:12px; }
.portal-notification-item form { margin:7px 0 0; }
.portal-notification-read-one { border:0; background:transparent; padding:0; color:#0d6efc; font-size:12px; cursor:pointer; }
.portal-notification-read-label { display:block; color:#748298; font-size:12px; margin-top:7px; }
.portal-notification-empty { padding:18px; text-align:center; color:#718096; font-size:13px; }
.portal-notification-empty[hidden] { display:none; }
@media (max-width:680px) {
 .portal-notification-root { margin-left:0; }
 .portal-notification-panel { position:fixed; top:64px; right:10px; left:10px; width:auto; max-width:none; max-height:calc(100dvh - 82px); }
}

.portal-notification-item[hidden] { display:none !important; }

/* P7.8C.3B.2 event-open additions */
.portal-notification-open-form{margin:0!important}.portal-notification-open-button{display:block;width:100%;padding:0;border:0;background:none;color:#142b4c;text-align:left;font:inherit;font-weight:650;cursor:pointer}.portal-notification-open-button:hover{text-decoration:underline}.portal-notification-open-button:focus-visible{outline:2px solid #0d6efc;outline-offset:3px}
