/* Communication, error journal and recoverable product removal. */
.app-shell .topbar{z-index:12;isolation:auto}
.app-shell .topbar-end{display:flex!important;gap:18px!important}
.message-notifications{position:relative;flex-shrink:0}
.notification-button{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dfe7f5;background:#f7faff;border-radius:12px;color:#31527f}
.notification-button:hover,.notification-button[aria-expanded="true"]{background:#eaf1ff;border-color:#a8c2f7}
.notification-button svg{width:22px;height:22px}
.notification-count,.nav-unread,.chat-unread{font-size:10px;line-height:1.2;min-width:20px;text-align:center;border-radius:20px;padding:4px 5px;background:#245de8;color:#fff;font-weight:700}
.notification-count{position:absolute;top:-5px;right:-6px;border:2px solid #fff;background:#db6540}
.app-shell .nav-unread{margin-left:auto;min-width:21px;background:#ffb45e;color:#0b1934}
.notifications-panel{position:absolute;top:calc(100% + 13px);right:0;width:345px;max-width:calc(100vw - 36px);border:1px solid #dce6f6;border-radius:17px;background:#fff;box-shadow:0 18px 55px #102c5c26;overflow:hidden;color:#18355e;z-index:50}
.notifications-heading{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e8eef8}
.notifications-heading strong{font-size:14px;font-weight:600}
.notifications-heading button{border:0;background:#f0f5ff;border-radius:8px;width:30px;height:30px;color:#527091;font-size:24px;line-height:1}
#notifications-content{max-height:350px;overflow-y:auto}
.notification-item{display:flex;align-items:center;gap:14px;justify-content:space-between;text-align:left;width:100%;padding:16px 19px;border:0;border-bottom:1px solid #edf2f9;background:#fff;color:#244568}
.notification-item:hover{background:#f5f8ff}
.notification-item>span{min-width:0}
.notification-item strong{font-size:14px;display:block;overflow-wrap:anywhere}
.notification-item small{display:block;font-size:11px;line-height:1.6;color:#718199;margin-top:4px}
.notification-item b{font-size:11px;border-radius:20px;background:#eaf1ff;padding:5px 8px;color:#245de8}
.notification-empty{font-size:13px;color:#718199;margin:0;padding:22px 19px;line-height:1.7}
.notifications-all{display:block;width:100%;padding:16px 20px;border:0;background:#f7faff;color:#245de8;text-align:left;font-size:13px;font-weight:600}
.chat-layout{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:630px;overflow:hidden}
.chat-directory{min-width:0;background:linear-gradient(160deg,#f6f9ff,#fdfefe);border-right:1px solid #e5ecf7;padding:20px 13px}
.chat-search{padding:4px 8px 20px}
.chat-search label{display:block;font-size:12px;color:#637894;margin-bottom:10px;font-weight:550}
.chat-search input{width:100%;min-width:0;min-height:43px;border:1px solid #dce6f5;background:#fff;color:#284b73;border-radius:11px;padding:10px 12px;font-size:13px}
.chat-directory-label{padding:22px 12px 13px;font-size:9px;letter-spacing:.13em;font-weight:650;color:#738baa}
#chat-conversations{max-height:610px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d2def0 transparent}
.chat-person{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:transparent;text-align:left;width:100%;padding:12px 10px;border-radius:12px;margin:3px 0;color:#26496f;min-width:0}
.chat-person:hover{background:#eef4ff}
.chat-person.selected{background:#e6efff;border-color:#d1e1ff}
.chat-avatar{display:grid;place-items:center;border-radius:12px;width:38px;height:38px;background:#fff;border:1px solid #dce6f4;color:#466c9b;font-size:16px;font-weight:600;flex-shrink:0}
.chat-person.selected .chat-avatar{color:#245de8;border-color:#bccff5}
.chat-person-copy{min-width:0;flex:1}
.chat-person strong{display:block;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.chat-person small{display:block;font-size:11px;line-height:1.55;color:#7688a0;margin-top:3px;overflow-wrap:anywhere}
.chat-no-people{font-size:12px;color:#71849e;padding:8px 12px;line-height:1.6}
.chat-unread{flex-shrink:0}
.chat-thread{display:flex;flex-direction:column;min-width:0;background:#fff}
.chat-thread-head{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:25px 28px 22px;border-bottom:1px solid #e8eef8}
.chat-thread-head>div{min-width:0}
.chat-thread-head .eyebrow{font-size:9px;letter-spacing:.15em}
.chat-thread-head h2{font-size:23px;line-height:1.35;margin:10px 0 7px;overflow-wrap:anywhere}
.chat-thread-head p{font-size:12px;color:#73849b;line-height:1.6;margin:0}
.chat-thread-status{font-size:10px;color:#427b72;background:#ecf7f4;border:1px solid #d9ede7;border-radius:20px;padding:7px 10px;white-space:nowrap}
.chat-messages{height:400px;min-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:15px;align-items:flex-start;padding:25px 28px;background:radial-gradient(ellipse at 100% 0,#edf7fc80,transparent 65%),#f8faff;scrollbar-width:thin;scrollbar-color:#c8d6ec transparent;scroll-behavior:auto}
.chat-message{max-width:min(88%,650px);padding:13px 17px 14px;border:1px solid #e1e9f7;border-radius:15px 15px 15px 4px;background:#fff;box-shadow:0 3px 11px #143f7605;color:#294669;flex-shrink:0}
.chat-message.own{align-self:flex-end;background:#eaf1ff;border-color:#d5e3ff;border-radius:15px 15px 4px 15px}
.chat-message-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;margin-bottom:8px}
.chat-message-meta strong{font-weight:650;color:#315680;overflow-wrap:anywhere}
.chat-message-meta time{font-size:10px;color:#7b8aa1;white-space:nowrap}
.chat-message p{font-size:14px;line-height:1.7;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-empty{margin:auto;text-align:center;max-width:300px;color:#7286a0;padding:30px 0}
.chat-empty>span{display:grid;place-items:center;width:58px;height:58px;background:#edf3ff;border-radius:17px;color:#5d85bd;font-size:28px;margin:0 auto 18px}
.chat-empty h3{font-size:19px;color:#3e5e85;margin:0 0 10px}
.chat-empty p{font-size:13px;line-height:1.7;margin:0}
.chat-load-older{align-self:center;padding:9px 15px;border:1px solid #dbe6f5;border-radius:20px;background:#fff;font-size:11px;color:#5b7aa1;flex-shrink:0}
.chat-compose{padding:21px 27px 22px;border-top:1px solid #e6edf8;margin-top:auto}
.chat-compose textarea{width:100%;border:1px solid #dbe5f5;border-radius:13px;background:#fff;padding:13px 15px;resize:vertical;min-height:80px;max-height:250px;font-size:14px;line-height:1.6;color:#28486e;display:block}
.chat-compose textarea:focus{border-color:#a6c0f6}
.chat-compose textarea::placeholder{color:#8293ac}
.chat-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px}
.chat-compose-foot small{font-size:10px;line-height:1.6;color:#7c8da5}
.chat-compose-foot .button{min-height:43px;padding:11px 19px;font-size:13px;white-space:nowrap}
.chat-compose-error{font-size:12px;color:#a64040;margin:12px 0 0;line-height:1.6}
.logs-panel{overflow:hidden}
.logs-filters{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:20px;padding:24px 28px;border-bottom:1px solid #e6edf8;background:#f8faff}
.logs-filters .field{margin:0;gap:9px}
.logs-filters .field label{font-size:12px;color:#657c98}
.logs-filters .field select{font-size:14px;border-color:#dce6f5;background:#fff;min-height:45px}
.error-log-list{padding:4px 28px}
.error-log-entry{padding:22px 0;border-bottom:1px solid #e9eff8}
.error-log-entry:last-child{border-bottom:0}
.error-log-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.error-log-source{font-size:11px;color:#6a829f;font-weight:600}
.error-log-top time{font-size:11px;color:#8191a7;margin-left:auto}
.error-log-entry h3{font-size:17px;line-height:1.5;margin:0 0 13px;color:#35557a;overflow-wrap:anywhere}
.error-log-entry dl{display:grid;grid-template-columns:1fr 1.5fr;gap:10px 22px;margin:0}
.error-log-entry dl>div{min-width:0}
.error-log-entry dt{font-size:10px;color:#8a9ab0;line-height:1.5;margin-bottom:3px}
.error-log-entry dd{margin:0;font-size:12px;color:#627c9c;line-height:1.6;overflow-wrap:anywhere}
.logs-empty{text-align:center;padding:65px 25px;color:#7890ac}
.logs-empty>span{display:grid;place-items:center;width:60px;height:60px;border-radius:19px;background:#edf7f4;color:#558b7e;font-size:28px;margin:0 auto 20px}
.logs-empty h2{font-size:23px;color:#3a5b81;margin-bottom:12px}
.logs-empty p{font-size:14px;line-height:1.7;max-width:440px;margin:0 auto}
.logs-pagination{padding:0 28px 25px;text-align:center}
.logs-pagination:empty{padding:0}
.button-danger{background:#fff3f0!important;border-color:#edc5bb!important;color:#a74432!important}
.button-danger:hover{background:#ffe8e1!important;border-color:#d99b8b!important}
.form-dialog .delete-product-button{margin-right:auto}
.product-delete-confirm{background:#fff8f5;border:1px solid #efd3cb;padding:19px 20px;border-radius:13px;margin:18px 0}
.product-delete-confirm h3{font-size:19px;color:#934b39;margin-bottom:10px}
.product-delete-confirm p{font-size:13px;line-height:1.7;color:#9b6e61;margin:0 0 15px;overflow-wrap:anywhere}
.delete-confirm-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.delete-confirm-actions .button{font-size:13px;min-height:43px}
.deleted-product{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:17px 0;border-bottom:1px solid #e7edf7}
.deleted-product>div{min-width:0}
.deleted-product strong{display:block;font-size:14px;line-height:1.6;color:#3d5b80;overflow-wrap:anywhere}
.deleted-product small{display:block;font-size:11px;color:#8193ad;margin-top:5px}
.deleted-product .button{font-size:12px;min-height:41px;padding:9px 13px;flex-shrink:0}
.deleted-products-empty{padding:25px 0;color:#8293ac}
.deleted-products-empty h3{font-size:22px;color:#54749a;margin-bottom:12px}
.deleted-products-empty p{font-size:13px;line-height:1.7}
.employee-position{min-width:165px;max-width:230px}
.employee-position .job-title-input{width:100%;display:block;min-height:39px;padding:8px 10px;border:1px solid #dce6f5;border-radius:9px;color:#34587e;background:#fff;font-size:12px}
.employee-position .table-action{font-size:11px;margin-top:8px;white-space:nowrap}
@media(max-width:1250px){.chat-layout{grid-template-columns:215px minmax(0,1fr)}.chat-directory{padding-inline:10px}.chat-thread-status{display:none}.chat-thread-head,.chat-messages{padding-inline:23px}.chat-compose{padding-inline:22px}}
@media(max-width:1000px) and (min-width:801px){.app-shell .topbar-end .secure-label,.app-shell .topbar-end .topbar-date{display:none}.chat-layout{grid-template-columns:1fr}.chat-directory{border-right:0;border-bottom:1px solid #e5ecf7;padding:18px}.chat-search{padding:0 0 14px;max-width:340px}#chat-conversations{display:flex;gap:7px;max-height:180px;flex-wrap:wrap}.chat-person{width:200px;flex-shrink:0}.chat-directory-label{display:none}.chat-person-copy{min-width:0}.chat-messages{height:360px}}
@media(max-width:700px){.chat-layout{grid-template-columns:1fr}.chat-directory{border-right:0;border-bottom:1px solid #e5ecf7;padding:19px 20px}.chat-search{padding:0 0 15px}#chat-conversations{display:flex;gap:8px;max-height:190px;flex-wrap:wrap}.chat-person{width:calc(50% - 4px);padding:10px 8px;gap:8px;margin:0}.chat-directory-label{display:none}.chat-avatar{width:30px;height:34px;border-radius:10px;font-size:14px}.chat-person strong{font-size:12px}.chat-person small{font-size:10px}.chat-unread{font-size:9px;min-width:17px;padding:3px 4px}.chat-thread-head{padding:23px 22px}.chat-thread-head h2{font-size:23px}.chat-messages{height:390px;padding:22px 20px;min-height:260px}.chat-message{max-width:94%;padding:12px 14px}.chat-message p{font-size:14px}.chat-compose{padding:19px 21px}.chat-compose textarea{font-size:16px}.chat-compose-foot small{font-size:10px;max-width:150px}.logs-filters{padding:21px 23px;gap:14px}.error-log-list{padding-inline:23px}.error-log-entry dl{grid-template-columns:1fr}.logs-pagination{padding-inline:23px}.error-log-entry h3{font-size:16px}.app-shell .topbar-end{gap:0!important}.app-shell .topbar-end .secure-label,.app-shell .topbar-end .topbar-date{display:none}}
@media(max-width:520px){.app-shell .topbar{gap:9px}.app-shell .breadcrumb{font-size:10px;gap:6px}.app-shell .topbar>div:first-child{gap:8px;min-width:0}.notification-button{width:35px;height:37px;border-radius:10px}.notification-button svg{width:21px;height:21px}.notifications-panel{position:fixed;top:77px;right:18px;width:345px;max-width:calc(100vw - 36px)}.chat-search input{font-size:16px}.chat-thread-head .eyebrow{font-size:8px}.chat-thread-head p{font-size:11px}.chat-thread-head h2{font-size:21px}.chat-directory{padding:18px}.chat-person{width:100%}#chat-conversations{max-height:190px}.chat-messages{padding:21px 17px;height:370px}.chat-message-meta{font-size:9px;gap:12px}.chat-message-meta time{font-size:9px}.chat-compose{padding:19px 18px}.chat-compose-foot{align-items:flex-start;gap:10px}.chat-compose-foot .button{font-size:12px;padding-inline:14px}.logs-filters{grid-template-columns:1fr;padding:21px;gap:15px}.logs-filters .field select{font-size:16px}.error-log-list{padding-inline:21px}.error-log-top{gap:8px}.error-log-top time{font-size:10px}.product-delete-confirm{padding:17px}.delete-confirm-actions{justify-content:stretch}.delete-confirm-actions .button{flex:1;min-width:120px}.form-dialog .dialog-actions{flex-wrap:wrap}.form-dialog .delete-product-button{margin-right:0}.deleted-product{align-items:flex-start;flex-wrap:wrap;gap:11px}.logs-empty{padding:48px 23px}.logs-empty h2{font-size:22px}.logs-empty p{font-size:13px}}

.product-technical-link{display:inline-flex;align-items:center;color:#245de8;font-size:12px;line-height:1.6;margin:5px 0 10px;border-bottom:1px solid #b5cafa;overflow-wrap:anywhere;max-width:100%}.product-technical-link:hover{color:#163a9b;border-bottom-color:#245de8}

/* Presence and private-file controls share the existing glass surfaces. */
.chat-presence-controls{padding:4px 8px 17px;margin-bottom:18px;border-bottom:1px solid var(--glass-line,#dce6f6)}
.chat-presence-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.chat-presence-top>span:first-child{font-size:9px;font-weight:650;letter-spacing:.12em;color:var(--glass-muted,#65728a)}
.chat-presence{--presence-tone:#7b8da7;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--presence-tone);font-size:10px;line-height:1.5}
.chat-presence>i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--presence-tone);flex-shrink:0}
.chat-presence.online{--presence-tone:#257965}.chat-presence.lunch{--presence-tone:#a06c23}.chat-presence.vacation{--presence-tone:#466baf}.chat-presence.away{--presence-tone:#786996}
.chat-presence small{font-size:9px;color:var(--glass-muted,#65728a)}
.chat-person-copy>.chat-presence{margin-top:5px}.chat-person-copy>.chat-presence small{margin-top:0}
.chat-presence-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.chat-presence-options button{display:flex;align-items:center;gap:6px;text-align:left;min-height:39px;padding:7px 8px;border:1px solid var(--glass-line,#dce6f6);border-radius:5px 12px 5px 12px;background:var(--glass-surface,#fff);color:var(--glass-muted,#65728a);font:inherit;font-size:10px;line-height:1.4;cursor:pointer}
.chat-presence-options button svg{width:18px;height:18px;flex-shrink:0}
.chat-presence-options button[aria-pressed=true]{color:var(--glass-gold,#245de8);border-color:var(--glass-gold,#245de8);background:var(--glass-glow,#eaf1ff)}
.chat-presence-options button:disabled{cursor:wait;opacity:.65}
.chat-presence-controls>p{font-size:10px;line-height:1.65;margin:11px 0 0;color:var(--glass-muted,#65728a)}
.chat-presence-controls #chat-presence-error{color:var(--red,#b34444)}
.chat-thread-head .chat-thread-status:has(.chat-presence){background:var(--glass-raised,#f5f9ff);border-color:var(--glass-line,#dce6f6);white-space:normal}
.chat-compose-tools{display:flex;align-items:center;gap:12px;min-width:0}
.chat-attach{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:66px;min-height:40px;padding:8px 10px;border:1px solid var(--glass-line,#dce6f6);border-radius:6px 13px 6px 13px;background:var(--glass-raised,#f5f9ff);color:var(--glass-gold,#245de8);font:inherit;font-size:12px;cursor:pointer;flex-shrink:0}
.chat-attach svg{width:20px;height:20px}.chat-attach:disabled{opacity:.5;cursor:default}
.chat-attach:not(:disabled):hover{border-color:var(--glass-gold,#245de8);background:var(--glass-glow,#eaf1ff)}
.chat-upload-preview:empty{display:none}.chat-upload-preview{display:grid;gap:8px;margin-top:11px}
.chat-upload{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--glass-line,#dce6f6);border-radius:6px 14px 6px 14px;background:var(--glass-raised,#f5f9ff);color:var(--glass-ink,#18355e);min-width:0}
.chat-upload>img{width:46px;height:46px;object-fit:cover;border-radius:7px;flex-shrink:0}
.chat-upload>div:not(.chat-upload-actions){min-width:0;flex:1}.chat-upload strong{display:block;font-size:12px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.chat-upload small{display:block;font-size:10px;line-height:1.6;color:var(--glass-muted,#65728a);overflow-wrap:anywhere}
.chat-upload.error{border-color:#ca72626b}.chat-upload.error small{color:var(--red,#b34444)}
.chat-upload-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}
.chat-upload-actions button{min-width:29px;min-height:31px;padding:4px 7px;border:1px solid var(--glass-line,#dce6f6);border-radius:6px;background:var(--glass-surface,#fff);color:var(--glass-gold,#245de8);font:inherit;font-size:11px;line-height:1.3;cursor:pointer}
.chat-upload-actions button[data-chat-upload-remove]{font-size:20px}.chat-upload-actions button:disabled{opacity:.5;cursor:wait}
.chat-file-symbol{display:grid;place-items:center;width:36px;height:42px;border:1px solid var(--glass-line,#dce6f6);border-radius:6px 12px 6px 12px;background:var(--glass-glow,#eaf1ff);color:var(--glass-gold,#245de8);flex-shrink:0}
.chat-file-symbol svg{width:22px;height:24px}.chat-message-files{display:grid;gap:8px;margin-top:10px}
.chat-file{display:flex;align-items:flex-start;gap:10px;padding:10px 11px;border:1px solid var(--glass-line,#dce6f6);border-radius:6px 13px 6px 13px;background:var(--glass-raised,#f5f9ff);min-width:0}
.chat-file-copy{min-width:0;flex:1}.chat-file-copy>strong{display:block;font-size:12px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.chat-file-copy>small{display:block;color:var(--glass-muted,#65728a);font-size:10px;line-height:1.5;margin:3px 0 5px}
.chat-file-download{color:var(--glass-gold,#245de8);font-size:11px;font-weight:600}.chat-file-unavailable{color:var(--red,#b34444);font-size:11px}
.employee-head-tag{display:inline-flex;font-size:10px;color:var(--glass-gold,#245de8);margin:5px 0 0}
:root[data-theme=night] .chat-presence.online{--presence-tone:#77d7b7}:root[data-theme=night] .chat-presence.lunch{--presence-tone:#ffcb8b}:root[data-theme=night] .chat-presence.vacation{--presence-tone:#99bfff}:root[data-theme=night] .chat-presence.away{--presence-tone:#c5b7e6}
:root[data-theme=night] .chat-presence.offline{--presence-tone:#9caec6}
@media(max-width:700px){.chat-presence-controls{padding-inline:0}.chat-presence-options{grid-template-columns:repeat(4,minmax(0,1fr))}.chat-presence-options button{font-size:11px;min-height:43px}.chat-presence-controls>p{max-width:440px}.chat-compose-tools{gap:8px}.chat-compose-foot{align-items:flex-end}.chat-compose-tools small{max-width:170px}}
@media(max-width:520px){.chat-presence-options{grid-template-columns:1fr 1fr}.chat-presence-options button{font-size:12px;min-height:43px}.chat-presence-controls{margin-bottom:15px}.chat-compose-tools{align-items:flex-start;flex-direction:column;gap:6px}.chat-compose-tools small{font-size:10px;max-width:175px}.chat-upload{gap:8px;padding:9px}.chat-upload-actions{flex-direction:column}.chat-upload-actions button{min-height:33px}.chat-upload>img{width:38px;height:43px}.chat-file{padding:9px}.chat-file-symbol{width:30px;height:37px}.chat-file-copy>strong{font-size:12px}.chat-file-copy .dm-art{height:28px}.chat-file-copy .dm-art svg{height:28px}}
