/* Client inbox: Leaf light and Pulse dark. Separate from the admin workspace. */
html[data-client-theme] body[data-app=client]{--xn-surface:#fff;--xn-soft:#f1f5ec;--xn-ink:#24392c;--xn-muted:#5d705e;--xn-line:#dfe6d8;--xn-accent:#315e3b;--xn-accent-soft:#edf3e2;--xn-warning:#94611d;--xn-warning-soft:#faf1df;--xn-danger:#ae4651;--xn-danger-soft:#faecee}
html[data-client-theme=dark] body[data-app=client]{--xn-surface:#222a24;--xn-soft:#2c382c;--xn-ink:#f0f4eb;--xn-muted:#b2c0b2;--xn-line:#3a473a;--xn-accent:#c0df8a;--xn-accent-soft:#303e2c;--xn-warning:#edbf7c;--xn-warning-soft:#3e3527;--xn-danger:#ffb29b;--xn-danger-soft:#44302c}
html[data-client-theme] body[data-app=client] #notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;min-height:42px;padding:9px;border:0;border-radius:50%;background:transparent;color:var(--xn-ink);box-shadow:none;flex:none}
html[data-client-theme] body[data-app=client] #notification-bell>span{display:flex}
html[data-client-theme] body[data-app=client] #notification-bell svg{width:22px;height:22px;stroke-width:1.8;flex:none}
html[data-client-theme] body[data-app=client] #notification-bell:is(:hover,[aria-expanded=true]){background:var(--xn-accent-soft);color:var(--xn-accent)}
html[data-client-theme] body[data-app=client] #notification-bell #notification-dot{display:grid;place-items:center;position:absolute;top:0;right:-1px;min-width:17px;width:auto;height:17px;min-height:17px;padding:0 4px;border:2px solid var(--xn-surface);border-radius:10px;background:var(--xn-accent);color:var(--xn-surface);font:600 10px/1 system-ui,sans-serif;box-shadow:none;animation:none}
html[data-client-theme] body[data-app=client] #notification-bell #notification-dot[hidden]{display:none}
html[data-client-theme=dark] body[data-app=client] #notification-bell #notification-dot{color:#202c17}
html[data-client-theme] body[data-app=client] .notification-center{position:fixed;display:flex;flex-direction:column;z-index:180;width:min(430px,calc(100vw - 32px));max-width:none;max-height:min(680px,calc(100dvh - 100px));min-height:0;overflow:hidden;border:1px solid var(--xn-line);border-radius:16px;background:var(--xn-surface);color:var(--xn-ink);box-shadow:0 16px 54px #14231924;backdrop-filter:none}
html[data-client-theme] body[data-app=client] .notification-center[hidden]{display:none}
html[data-client-theme] body[data-app=client] .notification-center-head{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px 8px;border:0;background:transparent}
html[data-client-theme] body[data-app=client] .notification-center-head h2{margin:0;font:600 20px/1.35 Inter,system-ui,sans-serif;letter-spacing:-.4px;color:var(--xn-ink)}
html[data-client-theme] body[data-app=client] .notification-center .notification-close{display:grid;place-items:center;flex:none;width:36px;height:36px;min-height:36px;padding:7px;background:transparent;color:var(--xn-muted);border:0;border-radius:50%;box-shadow:none}
html[data-client-theme] body[data-app=client] .notification-center .notification-close:hover{background:var(--xn-soft);color:var(--xn-ink)}
html[data-client-theme] body[data-app=client] .notification-center .notification-close svg{width:20px;height:20px}
html[data-client-theme] body[data-app=client] .notification-toolbar{display:flex;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:0 18px 13px;border-bottom:1px solid var(--xn-line)}
html[data-client-theme] body[data-app=client] .notification-toolbar :is(.notification-history,.notification-read-all){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:5px 9px;border:0;border-radius:7px;background:var(--xn-soft);color:var(--xn-ink);font-size:12px;font-weight:500;line-height:1.4;box-shadow:none}
html[data-client-theme] body[data-app=client] .notification-toolbar .notification-read-all{padding-left:0;padding-right:0;background:transparent;color:var(--xn-muted)}
html[data-client-theme] body[data-app=client] .notification-toolbar .notification-read-all[hidden]{display:none}
html[data-client-theme] body[data-app=client] .notification-toolbar .notification-read-all svg{width:15px;height:15px}
html[data-client-theme] body[data-app=client] .notification-history[data-history=true]{color:var(--xn-accent);background:var(--xn-accent-soft)}
html[data-client-theme] body[data-app=client] .notification-list{flex:1;min-height:0;overflow:auto;max-height:none;padding:0 18px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--xn-line) transparent}
html[data-client-theme] body[data-app=client] .notification-entry{position:relative;display:block;padding:18px 0;border:0;border-bottom:1px solid var(--xn-line);border-radius:0;background:transparent;box-shadow:none;color:var(--xn-ink);text-align:left}
html[data-client-theme] body[data-app=client] .notification-entry:last-child{border-bottom:0}
html[data-client-theme] body[data-app=client] .notification-entry:is(.unread,:hover){background:transparent}
html[data-client-theme] body[data-app=client] .notification-open{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:11px;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--xn-ink);text-align:left;box-shadow:none;font-weight:400}
html[data-client-theme] body[data-app=client] .notification-open:hover{background:transparent;box-shadow:none;transform:none}
html[data-client-theme] body[data-app=client] .notification-open:hover strong{color:var(--xn-accent)}
html[data-client-theme] body[data-app=client] .notification-kind{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:9px;background:var(--xn-soft);color:var(--xn-muted)}
html[data-client-theme] body[data-app=client] .notification-kind>span{display:flex}
html[data-client-theme] body[data-app=client] .notification-kind svg{width:18px;height:18px;stroke-width:1.7}
html[data-client-theme] body[data-app=client] .notification-entry[data-tone=success] .notification-kind{background:var(--xn-accent-soft);color:var(--xn-accent)}
html[data-client-theme] body[data-app=client] .notification-entry[data-tone=warning] .notification-kind{background:var(--xn-warning-soft);color:var(--xn-warning)}
html[data-client-theme] body[data-app=client] .notification-entry[data-tone=danger] .notification-kind{background:var(--xn-danger-soft);color:var(--xn-danger)}
html[data-client-theme] body[data-app=client] .notification-copy{display:grid;min-width:0;gap:4px;padding-right:10px}
html[data-client-theme] body[data-app=client] .notification-copy strong{font-size:14px;font-weight:600;line-height:1.4;color:var(--xn-ink);overflow-wrap:anywhere}
html[data-client-theme] body[data-app=client] .notification-time{font-size:11px;font-weight:400;line-height:1.4;color:var(--xn-muted)}
html[data-client-theme] body[data-app=client] .notification-entry.unread .notification-copy:after{content:'';position:absolute;right:0;top:24px;width:5px;height:5px;border-radius:50%;background:var(--xn-accent)}
html[data-client-theme] body[data-app=client] .notification-body{margin:8px 0 0 43px;color:var(--xn-muted);font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
html[data-client-theme] body[data-app=client] .notification-body.is-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal}
html[data-client-theme] body[data-app=client] .notification-center .notification-more{display:block;min-height:30px;margin:2px 0 0 43px;padding:4px 0;background:transparent;color:var(--xn-accent);border:0;border-radius:0;font-size:12px;font-weight:500;box-shadow:none}
html[data-client-theme] body[data-app=client] .notification-controls{display:flex;flex-wrap:wrap;gap:8px;margin:11px 0 0 43px;padding:0;border:0}
html[data-client-theme] body[data-app=client] .notification-center .notification-controls .notification-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;width:auto;max-width:100%;padding:7px 11px;border:1px solid var(--xn-line);border-radius:8px;background:transparent;color:var(--xn-ink);font-size:12px;font-weight:500;line-height:1.4;white-space:normal;box-shadow:none}
html[data-client-theme] body[data-app=client] .notification-center .notification-controls .notification-action.is-primary{background:var(--xn-accent-soft);border-color:var(--xn-accent-soft);color:var(--xn-accent)}
html[data-client-theme] body[data-app=client] .notification-center .notification-controls .notification-action:hover{filter:brightness(1.06);transform:none}
html[data-client-theme] body[data-app=client] .notification-center .notification-empty{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0;padding:42px 12px;color:var(--xn-muted);text-align:center;min-height:200px}
html[data-client-theme] body[data-app=client] .notification-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--xn-soft)}
html[data-client-theme] body[data-app=client] .notification-empty svg{width:22px;height:22px}
html[data-client-theme] body[data-app=client] .notification-empty strong{font-size:15px;line-height:1.4;color:var(--xn-ink)}
html[data-client-theme] body[data-app=client] .notification-empty p{max-width:270px;font-size:13px;line-height:1.6;margin:0;color:var(--xn-muted)}
html[data-client-theme] body[data-app=client] .notification-center :is(button,a):focus-visible{outline:2px solid var(--xn-accent);outline-offset:3px}
html[data-client-theme] body[data-app=client] .notification-backdrop[hidden]{display:none}
html[data-client-theme] body[data-app=client] .notification-backdrop{position:fixed;inset:0;z-index:179;background:#101b146b;backdrop-filter:blur(2px)}
html[data-client-theme=dark] body[data-app=client] .notification-center{box-shadow:0 20px 60px #0005}
@media(max-width:760px){
 html[data-client-theme] body[data-app=client] .notification-center,html[data-client-theme] body[data-app=client] .notification-center.xm-app{inset:auto 0 0;width:100%;max-height:min(740px,calc(100dvh - 32px));height:auto;min-height:0;display:flex;overflow:hidden;background:var(--xn-surface);color:var(--xn-ink);border:1px solid var(--xn-line);border-bottom:0;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}
 html[data-client-theme] body[data-app=client] .notification-center[hidden],html[data-client-theme] body[data-app=client] .notification-center.xm-app[hidden]{display:none}
 html[data-client-theme] body[data-app=client] .notification-center-head{padding:15px 18px 5px}
 html[data-client-theme] body[data-app=client] .notification-center-head h2{font-size:21px}
 html[data-client-theme] body[data-app=client] .notification-center .notification-close{width:42px;height:42px;min-height:42px}
 html[data-client-theme] body[data-app=client] .notification-list{padding:0 18px 12px}
 html[data-client-theme] body[data-app=client] .notification-entry{padding:17px 0}
 html[data-client-theme] body[data-app=client] .notification-open{min-height:44px}
 html[data-client-theme] body[data-app=client] .notification-center .notification-controls .notification-action{min-height:40px;padding:9px 12px;font-size:13px}
 html[data-client-theme] body[data-app=client] .notification-center .notification-more{min-height:36px;font-size:13px}
 html[data-client-theme] body[data-app=client] .notification-backdrop{display:block}
}
@media(prefers-reduced-motion:reduce){html[data-client-theme] body[data-app=client] #notification-bell,html[data-client-theme] body[data-app=client] .notification-center *{animation:none!important;transition:none!important}}

@media(max-width:760px){html[data-client-theme] body[data-app=client].notification-modal-open{overflow:hidden}}
html[data-client-theme] body[data-app=client] .notification-scroll-cue{display:none;position:absolute;bottom:0;left:0;right:0;height:32px;place-items:center;padding-top:9px;pointer-events:none;background:linear-gradient(transparent,var(--xn-surface) 65%);color:var(--xn-muted)}
html[data-client-theme] body[data-app=client] .notification-scroll-cue svg{width:16px;height:16px}
html[data-client-theme] body[data-app=client] .notification-center[data-scroll-more=true] .notification-scroll-cue{display:grid}
