/* Online presence (src/live-app.js). Colour is always paired with text. */
:root{--presence-online:#15803d;--presence-idle:#d97706;--presence-offline:#94a3b8;--presence-ink:#10294b;--presence-muted:#64748b;--presence-line:#dce7f4}
[data-presence]{position:relative}
[data-presence]::after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:var(--presence-offline);box-sizing:content-box}
[data-presence="online"]::after{background:var(--presence-online)}
[data-presence="idle"]::after{background:var(--presence-idle)}
.nesa-presence{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:12px;font-weight:600;line-height:1.3;color:var(--presence-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nesa-presence i,.nesa-presence-count i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--presence-offline)}
.nesa-presence[data-status="online"]{color:var(--presence-online)}
.nesa-presence[data-status="online"] i{background:var(--presence-online)}
.nesa-presence[data-status="idle"]{color:#b45309}
.nesa-presence[data-status="idle"] i{background:var(--presence-idle)}
.nesa-presence-count{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 11px;border:1px solid var(--presence-line);border-radius:999px;background:#fff;color:var(--presence-ink);font-weight:600;font-size:13px;line-height:1.2;font-family:inherit;cursor:pointer;white-space:nowrap}
.nesa-presence-count i{background:var(--presence-online);box-shadow:0 0 0 3px #dcfce7}
.nesa-presence-count:hover{border-color:#0b49d0}
.nesa-presence-count:focus-visible,.nesa-presence-close:focus-visible{outline:2px solid #0b49d0;outline-offset:2px}
.nesa-presence-panel{position:fixed;z-index:1200;right:max(16px,env(safe-area-inset-right,0px));top:64px;width:min(340px,calc(100vw - 32px));max-height:min(70vh,520px);overflow:auto;background:#fff;border:1px solid var(--presence-line);border-radius:14px;box-shadow:0 18px 40px rgba(16,41,75,.18);color:var(--presence-ink)}
.nesa-presence-panel:focus{outline:none}
.nesa-presence-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border-bottom:1px solid var(--presence-line)}
.nesa-presence-head strong{display:block;font-size:15px;color:var(--presence-ink)}
.nesa-presence-close{width:32px;height:32px;border:0;border-radius:8px;background:#f1f5fb;color:var(--presence-ink);font-size:20px;line-height:1;cursor:pointer}
.nesa-presence-panel ul{list-style:none;margin:0;padding:6px 8px}
.nesa-presence-panel li{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-areas:"a n" "a s";column-gap:10px;align-items:center;padding:8px 6px;border-radius:10px}
.nesa-presence-panel li+li{border-top:1px solid #eef3f9}
.nesa-presence-avatar{grid-area:a;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#dce9fd;color:#1558ac;font-size:13px;font-weight:750}
.nesa-presence-panel li>span:nth-child(2){grid-area:n;display:flex;gap:6px;align-items:baseline;min-width:0}
.nesa-presence-panel li b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nesa-presence-panel li small{font-size:11.5px;color:var(--presence-muted);white-space:nowrap}
.nesa-presence-panel li em{grid-area:s;font-style:normal;font-size:12.5px;font-weight:600;color:var(--presence-muted)}
.nesa-presence-panel li[data-status="online"] em{color:var(--presence-online)}
.nesa-presence-panel li[data-status="idle"] em{color:#b45309}
.nesa-presence-panel>p{margin:0;padding:10px 14px 14px;font-size:11.5px;line-height:1.45;color:var(--presence-muted);border-top:1px solid var(--presence-line)}
.nesa-presence-count.is-panel{margin:0 16px 10px;align-self:flex-start}
@media (max-width:767px){.nesa-presence-count{min-height:36px;padding:4px 10px;font-size:12.5px}.nesa-presence-panel{left:16px;right:16px;width:auto;top:auto;bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){.nesa-presence-count{transition:none}}
/* Chat entry points (src/chat-launcher.js). The panel itself: src/chat-style.css (lazy). */
:root{--nc-navy:#102654;--nc-navy-2:#1d3463;--nc-blue:#0b49d0;--nc-blue-soft:#e6eefc;--nc-ink:#10294b;--nc-muted:#5b6b85;--nc-line:#dce5f0;--nc-bg:#f4f6fa;--nc-red:#c42b2b}
.nc-bubble{position:fixed;z-index:1150;right:max(24px,env(safe-area-inset-right,0px));bottom:calc(8px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px 0 16px;border:0;border-radius:999px;background:var(--nc-navy);color:#fff;font:650 15px/1.2 NesaInter,Inter,"Segoe UI",system-ui,sans-serif;box-shadow:0 10px 28px rgba(16,41,75,.28);cursor:pointer}
.nc-bubble[hidden]{display:none}
.nc-bubble:hover{background:var(--nc-navy-2)}
.nc-bubble:focus-visible{outline:3px solid #8fb4ff;outline-offset:3px}
.nc-bubble svg{flex:none}
.nc-bubble.is-open{background:var(--nc-navy-2)}
.nc-bubble-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--nc-red);color:#fff;font-size:12.5px;font-weight:750;line-height:22px;text-align:center;box-sizing:border-box}
.nc-bubble-count[hidden]{display:none}
/* Existing bottom-right journey notices move above the bubble instead of under it. */
html.nc-has-bubble .journey-toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.nc-notice{position:fixed;z-index:1160;right:max(24px,env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));display:flex;align-items:stretch;width:min(340px,calc(100vw - 32px));background:#fff;border:1px solid var(--nc-line);border-radius:14px;box-shadow:0 16px 36px rgba(16,41,75,.2);color:var(--nc-ink);font-family:NesaInter,Inter,"Segoe UI",system-ui,sans-serif;overflow:hidden}
.nc-notice[hidden]{display:none}
.nc-notice-body{flex:1;min-width:0;display:grid;gap:3px;padding:12px 14px;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.nc-notice-body b{font-size:14px;font-weight:700}
.nc-notice-body span{font-size:13.5px;line-height:1.4;color:var(--nc-muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nc-notice-close{flex:none;width:44px;border:0;border-left:1px solid var(--nc-line);background:#f7f9fc;color:var(--nc-ink);font-size:20px;cursor:pointer}
.nc-notice-body:focus-visible,.nc-notice-close:focus-visible,.nc-person-chat:focus-visible{outline:2px solid var(--nc-blue);outline-offset:-2px}
.nc-person-chat{display:inline-flex;align-items:center;gap:6px;margin-top:8px;min-height:36px;padding:0 12px;border:1px solid #c9d8f2;border-radius:10px;background:var(--nc-blue-soft);color:var(--nc-blue);font-weight:650;font-size:13px;line-height:1.2;font-family:inherit;cursor:pointer}
.nc-person-chat svg{width:17px;height:17px}
.nc-person-chat:hover{background:#d8e5fb}
.team-person-info .nc-person-chat{margin-top:6px;min-height:32px}
[data-nc-more] .nc-more-count{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--nc-red);color:#fff;font-size:12px;line-height:22px;text-align:center;box-sizing:border-box}
[data-nc-more] .nc-more-count[hidden]{display:none}
.nesa-presence-chat{grid-row:1 / span 2;grid-column:3;align-self:center;min-height:32px;padding:0 10px;border:1px solid #c9d8f2;border-radius:9px;background:var(--nc-blue-soft);color:var(--nc-blue);font-weight:650;font-size:12.5px;line-height:1;font-family:inherit;cursor:pointer}
.nesa-presence-panel li:has(.nesa-presence-chat){grid-template-columns:36px minmax(0,1fr) auto}
/* Phones: a round button above the bottom menu; hidden while a conversation is open. */
@media (max-width:767px){
 .nc-bubble{right:max(16px,env(safe-area-inset-right,0px));bottom:calc(var(--nc-nav-space,76px) + 14px + env(safe-area-inset-bottom,0px));width:56px;height:56px;min-height:56px;padding:0;justify-content:center}
 .nc-bubble-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .nc-bubble-count{position:absolute;top:-4px;right:-4px;border:2px solid #fff;min-width:24px;height:24px;line-height:20px}
 html.nc-open .nc-bubble{display:none}
 html.nc-conv-open .ws-mobile-nav{display:none!important}
 html.nc-has-bubble .journey-toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
 .nc-notice{left:16px;right:16px;width:auto;bottom:calc(var(--nc-nav-space,76px) + 84px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:no-preference){.nc-bubble{transition:background-color .15s}}
@media print{.nc-bubble,.nc-notice,.nc-root{display:none!important}}
/* Management announcements for staff (src/announce-launcher.js): the card, the bell and the notification centre. Colours: chat tokens (--nc-*). */
.na-root{position:fixed;inset:0;z-index:1190;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));font-family:NesaInter,Inter,"Segoe UI",system-ui,sans-serif;color:var(--nc-ink);font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}
.na-root *,.na-root *::before,.na-root *::after,.na-center *{box-sizing:border-box}
.na-backdrop{position:absolute;inset:0;background:rgba(9,19,38,.52)}
html.na-open .nc-bubble{display:none!important}
.na-card{position:relative;display:flex;flex-direction:column;width:min(460px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 64px rgba(9,19,38,.34);overscroll-behavior:contain}
.na-card:focus{outline:none}
.na-card.is-important{box-shadow:0 0 0 2px #e0a100,0 24px 64px rgba(9,19,38,.34)}
.na-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;min-height:54px;padding:8px 8px 8px 18px;background:#fff}
.na-kicker{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--nc-ink)}
.na-kicker svg{color:var(--nc-blue)}
.na-flag{padding:3px 9px;border-radius:999px;background:#fff4d6;color:#7a5200;font-size:12px;font-weight:750}
.na-x{margin-left:auto;display:inline-grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--nc-ink);font:500 28px/1 inherit;cursor:pointer}
.na-x:hover{background:#eef3fa}
.na-hero{display:block;width:calc(100% - 36px);margin:0 18px;aspect-ratio:16/8;object-fit:cover;border-radius:12px;background:#e9eef5}
.na-content{display:grid;gap:12px;padding:16px 18px 18px}
.na-content h2{margin:0;font-size:22px;line-height:1.25;font-weight:780;letter-spacing:-.01em;color:var(--nc-ink);overflow-wrap:anywhere}
.na-text{margin:0;color:#3d4f6c;white-space:pre-line;overflow-wrap:anywhere}
.na-when{display:flex;align-items:center;gap:8px;margin:0;color:var(--nc-muted);font-size:13.5px}
.na-files{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.na-file{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 8px 8px 10px;border:1px solid var(--nc-line);border-radius:12px;background:#fafcff;min-width:0}
.na-doc-icon{flex:none;display:inline-grid;place-items:center;width:36px;height:42px;border-radius:7px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em}
.na-doc-icon.is-pdf{background:#d93025}
.na-doc-icon.is-excel{background:#1d7044;font-size:17px}
.na-file-text{display:grid;flex:1;min-width:0}
.na-file-text b{font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.na-file-text small{color:var(--nc-muted);font-size:12.5px}
.na-dl{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--nc-line);background:#fff;color:var(--nc-ink)}
.na-dl:hover{background:#eef3fa}
.na-go{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 16px;border:0;border-radius:12px;background:var(--nc-blue);color:#fff;font:700 15.5px/1.2 inherit;cursor:pointer}
.na-go:hover{background:#0f4bbd}
.na-ack{min-height:46px;border:1.5px solid var(--nc-blue);border-radius:12px;background:#fff;color:var(--nc-blue);font:700 15px/1.2 inherit;cursor:pointer}
.na-ack:hover{background:var(--nc-blue-soft)}
.na-acked{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin:0;border-radius:12px;background:#e8f6ee;color:#16683c;font-weight:700}
.na-pager{position:sticky;bottom:0;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 12px 12px;background:#fff;border-top:1px solid var(--nc-line);font-weight:700;color:var(--nc-muted)}
.na-pager button{display:inline-grid;place-items:center;width:44px;height:40px;border:1px solid var(--nc-line);border-radius:10px;background:#fff;color:var(--nc-ink);cursor:pointer}
.na-pager button:disabled{opacity:.4;cursor:default}
.na-root button:focus-visible,.na-root a:focus-visible,.na-center button:focus-visible,.na-bell:focus-visible{outline:2px solid var(--nc-blue);outline-offset:2px}
/* Bell: header on desktop, next to the page heading on phones (the home screen: see below). */
.na-bell{position:relative;flex:none;display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--nc-line,#dce5f0);border-radius:999px;background:#fff;color:var(--nc-ink,#10294b);cursor:pointer}
.na-bell:hover{border-color:#0b49d0}
.na-bell[hidden]{display:none}
.na-bell-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:var(--nc-red,#c42b2b);color:#fff;font-size:11px;font-weight:750;line-height:16px;text-align:center}
.na-bell-count[hidden]{display:none}
/* Phone home: a third cell in the plan / map switch, or beside management's "Saha takip paneli" title. */
body:not(.auth-pending) .mobile-overview-switch:has(>.na-bell){grid-template-columns:1fr 1fr auto}
.mobile-overview-switch:has(>.na-bell)>button:not(.na-bell){min-width:0;padding:0 6px;white-space:nowrap}
.mobile-overview-switch>.na-bell{align-self:center;width:44px;height:40px;border:0;border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(18,35,63,.08)}
.mobile-overview-switch>.na-bell .na-bell-count{top:-5px;right:-5px}
.hm-panel-head>.na-bell{order:9;margin-left:8px}
.na-center{position:fixed;z-index:1180;top:72px;right:max(16px,env(safe-area-inset-right,0px));width:min(380px,calc(100vw - 32px));max-height:min(520px,calc(100dvh - 120px));overflow:auto;background:#fff;border:1px solid var(--nc-line);border-radius:14px;box-shadow:0 18px 48px rgba(16,41,75,.22);font-family:NesaInter,Inter,"Segoe UI",system-ui,sans-serif;color:var(--nc-ink)}
.na-center:focus{outline:none}
.na-center-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:10px 8px 10px 16px;background:#fff;border-bottom:1px solid var(--nc-line);font-size:16px}
.na-center-close{width:40px;height:40px;border:0;border-radius:10px;background:transparent;font-size:24px;color:var(--nc-ink);cursor:pointer}
.na-center ul{margin:0;padding:6px;list-style:none}
.na-center li button{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;padding:9px 10px;border:0;border-radius:10px;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}
.na-center li button:hover{background:#f2f6fc}
.na-center-text{display:grid;flex:1;min-width:0}
.na-center-text b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.na-center-text small{color:var(--nc-muted);font-size:12.5px}
.na-chip{flex:none;padding:3px 9px;border-radius:999px;font-size:12px;font-style:normal;font-weight:700}
.na-chip.is-wait{background:#fff4d6;color:#7a5200}
.na-chip.is-new{background:var(--nc-blue-soft);color:var(--nc-blue)}
.na-chip.is-done{background:#e8f6ee;color:#16683c}
.na-dot{flex:none;width:8px;height:8px;border-radius:50%;background:#e0a100}
.na-center-empty{margin:0;padding:18px 16px;color:var(--nc-muted)}
.mobile-more-menu [data-na-more]{position:relative}
.na-more-count{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--nc-red,#c42b2b);color:#fff;font-size:12px;line-height:22px;text-align:center}
.na-more-count[hidden]{display:none}
.na-admin-loading{padding:24px;color:#5b6b85}
@media (max-width:767px){
 .na-root{place-items:end center;padding:12px 12px max(12px,env(safe-area-inset-bottom,0px))}
 .na-card{width:100%;max-height:calc(100dvh - 24px);border-radius:18px}
 .na-content h2{font-size:21px}
 .ws-heading .na-bell{margin-left:auto}
 .na-center{top:auto;bottom:calc(var(--nc-nav-space,76px) + 12px + env(safe-area-inset-bottom,0px));left:12px;right:12px;width:auto}
}
@media (prefers-reduced-motion:no-preference){.na-card{animation:na-in .18s ease-out}@keyframes na-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
