/* v7.2.13G65 — unified in-app notification center */
.g65-notification-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border,#d8e0e6);border-radius:10px;background:var(--card,#fff);color:var(--text,#17324a);cursor:pointer;flex:0 0 auto;box-shadow:0 1px 2px rgba(20,45,65,.06)}
.g65-notification-button:hover{border-color:#9fb4c4;background:#f7fafc}.g65-notification-button.has-unread{background:#f7fbff;border-color:#b9d4e7}.g65-notification-button.has-urgent{box-shadow:0 0 0 3px rgba(176,41,41,.10)}
.g65-bell-icon{font-size:17px;line-height:1}.g65-notification-badge{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#b42318;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-sizing:border-box}.g65-notification-badge.hidden{display:none}
.g65-notification-scrim{position:fixed;inset:0;background:rgba(12,28,40,.35);backdrop-filter:blur(2px);z-index:1190}.g65-notification-scrim.hidden{display:none}
.g65-notification-drawer{position:fixed;top:0;right:0;width:min(430px,94vw);height:100dvh;background:#fff;z-index:1200;box-shadow:-18px 0 50px rgba(10,35,52,.22);transform:translateX(105%);transition:transform .2s ease;display:flex;flex-direction:column}.g65-notification-drawer.open{transform:translateX(0)}
.g65-drawer-head,.g65-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.g65-drawer-head{padding:24px 22px 16px;border-bottom:1px solid #e3e9ed}.g65-drawer-head h3,.g65-center-head h2{margin:2px 0 0;color:#17324a}.g65-icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid #d8e0e6;background:#fff;font-size:24px;line-height:1;cursor:pointer;color:#526b7c}.g65-icon-btn:hover{background:#f3f7f9}
.g65-drawer-tools{padding:12px 18px;display:flex;gap:8px;border-bottom:1px solid #edf1f3}.g65-recent-list{overflow:auto;flex:1;padding:6px 10px}.g65-drawer-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #e3e9ed}.g65-drawer-footer .btn{width:100%}
.g65-notification-row{width:100%;border:0;border-bottom:1px solid #edf1f3;background:#fff;padding:14px 10px;display:grid;grid-template-columns:38px 1fr 10px;gap:11px;text-align:left;cursor:pointer;border-radius:10px;color:inherit}.g65-notification-row:hover{background:#f6f9fb}.g65-notification-row.unread{background:#f3f9fd}.g65-notification-row.unread:hover{background:#edf6fb}.g65-notification-row.urgent{border-left:3px solid #b42318}
.g65-notification-icon{width:36px;height:36px;border-radius:10px;background:#e9f1f6;color:#17324a;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}.g65-notification-icon.large{width:46px;height:46px;border-radius:13px;font-size:20px}.g65-notification-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.g65-row-title{font-weight:750;color:#17324a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g65-row-message{font-size:12.5px;color:#526b7c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.g65-row-meta{font-size:11px;color:#7b8f9e}.g65-unread-dot{width:8px;height:8px;background:#1677a6;border-radius:50%;align-self:center}
.g65-empty{padding:44px 20px;text-align:center;color:#6b7f8d;display:flex;flex-direction:column;align-items:center;gap:6px}.g65-empty>span{font-size:26px}.g65-empty strong{color:#29495f}
.g65-notification-center{position:fixed;inset:3.5vh 3vw;z-index:1210}.g65-notification-center.hidden{display:none}.g65-center-card{height:93vh;max-width:1180px;margin:0 auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(12,34,48,.28);display:flex;flex-direction:column;overflow:hidden}.g65-center-head{padding:24px 28px 18px;border-bottom:1px solid #e3e9ed}.g65-center-head p{margin:5px 0 0;color:#617988;max-width:760px}.g65-center-head-actions{display:flex;gap:10px;align-items:center}
.g65-filter-bar{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #edf1f3;overflow:auto;background:#fafcfd}.g65-filter{border:1px solid #d7e0e6;border-radius:999px;background:#fff;padding:7px 12px;font-size:12px;font-weight:700;color:#466276;cursor:pointer;white-space:nowrap}.g65-filter.selected{background:#173f59;color:#fff;border-color:#173f59}.g65-filter span{display:inline-flex;margin-left:4px;background:#fff;color:#173f59;padding:1px 6px;border-radius:999px;font-size:10px}
.g65-center-body{display:grid;grid-template-columns:minmax(330px,42%) 1fr;min-height:0;flex:1}.g65-center-list{overflow:auto;border-right:1px solid #e3e9ed;padding:5px 9px}.g65-detail-panel{overflow:auto;padding:30px}.g65-detail-empty{height:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#718795;gap:7px}.g65-detail-empty>span{font-size:34px}.g65-detail-empty strong{font-size:18px;color:#29495f}.g65-detail-empty small{max-width:380px}.g65-detail-head{display:flex;gap:14px;align-items:flex-start}.g65-detail-category{text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;color:#6b8291}.g65-detail-head h3{font-size:24px;line-height:1.2;margin:4px 0 5px;color:#17324a}.g65-detail-time{font-size:12px;color:#718795}.g65-detail-message{margin:24px 0;padding:20px;border-radius:14px;background:#f6f9fb;color:#29495f;line-height:1.6;font-size:15px}.g65-detail-meta{display:flex;flex-wrap:wrap;gap:8px}.g65-detail-meta span{font-size:11px;background:#edf3f6;border-radius:999px;padding:5px 9px;color:#536d7e}.g65-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.g65-detail-actions .danger-text{color:#a52a24}
@media(max-width:760px){.g65-notification-center{inset:0}.g65-center-card{height:100dvh;border-radius:0}.g65-center-head{padding:18px 16px}.g65-center-head p{display:none}.g65-center-head-actions .btn{display:none}.g65-center-body{grid-template-columns:1fr}.g65-center-list{border-right:0}.g65-detail-panel{position:absolute;inset:116px 0 0;background:#fff;z-index:2;display:none}.g65-detail-panel:not(:has(.g65-detail-empty)){display:block}.g65-filter-bar{padding-left:12px}.g65-notification-button{width:36px;height:36px}.top-actions,.portal-top-actions,.picker-actions{gap:7px}}
