/* Collaboration workspace */
.page-content .erp-collaboration-card { overflow: hidden; border: 1px solid color-mix(in srgb, var(--vz-info) 24%, var(--vz-border-color)); box-shadow: 0 1rem 2.6rem rgba(30, 41, 59, .065); }
.page-content .erp-collaboration-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1.25rem 1.4rem; background: linear-gradient(120deg, color-mix(in srgb, var(--vz-info) 8%, var(--vz-card-bg)), var(--vz-card-bg) 62%); }
.page-content .erp-collaboration-composer { padding: 1rem; border: 1px solid rgba(var(--vz-primary-rgb), .2); border-radius: 1rem; background: linear-gradient(135deg, rgba(var(--vz-primary-rgb), .065), rgba(var(--vz-info-rgb), .025)); box-shadow: inset 0 1px rgba(255, 255, 255, .45); }
.page-content .erp-comment-compose-main { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: .9rem; align-items: start; }
.page-content .erp-comment-compose-avatar,
.page-content .erp-comment-author-avatar { display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .11); font-weight: 800; }
.page-content .erp-comment-compose-avatar { width: 2.75rem; height: 2.75rem; font-size: 1.05rem; }
.page-content .erp-comment-author-avatar { width: 2.5rem; height: 2.5rem; font-size: .78rem; }
.page-content .erp-comment-compose-avatar,
.page-content .erp-comment-author-avatar { overflow: hidden; box-shadow: 0 .3rem .85rem rgba(30, 41, 59, .09); }
.page-content .erp-comment-compose-avatar img,
.page-content .erp-comment-author-avatar img { width: 100%; height: 100%; object-fit: cover; }
.page-content .erp-comment-editor { position: relative; overflow: hidden; border: 1px solid transparent; border-radius: .8rem; background: color-mix(in srgb, var(--vz-card-bg) 92%, transparent); transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }
.page-content .erp-comment-editor:focus-within { border-color: rgba(var(--vz-primary-rgb), .28); box-shadow: 0 0 0 .2rem rgba(var(--vz-primary-rgb), .06); }
.page-content .erp-comment-editor.is-invalid { border-color: var(--vz-danger); }
.page-content .erp-collaboration-composer textarea { position: relative; z-index: 1; min-height: 6.5rem; padding: .9rem 1rem .35rem; resize: vertical; border: 0; color: var(--vz-body-color); background: transparent; }
.page-content .erp-collaboration-composer textarea:focus { box-shadow: none; }
.page-content .erp-comment-live-highlight { position: absolute; z-index: 0; top: 0; right: 0; left: 0; overflow: hidden; padding: .9rem 1rem .35rem; color: transparent; font: inherit; font-size: var(--vz-body-font-size); line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; pointer-events: none; }
.page-content .erp-comment-live-url { padding: .03rem .08rem; border-radius: .2rem; color: transparent; background: rgba(var(--vz-primary-rgb), .105); text-decoration: underline 2px rgba(var(--vz-primary-rgb), .72); text-underline-offset: .16rem; }
.page-content .erp-comment-editor-hint { display: flex; align-items: center; gap: .35rem; padding: .25rem 1rem .75rem; color: var(--vz-secondary-color); font-size: .69rem; }
.page-content .erp-comment-drop-message { position: absolute; inset: .35rem; z-index: 3; display: none; place-items: center; align-content: center; gap: .15rem; border: 1px dashed var(--vz-primary); border-radius: .65rem; color: var(--vz-primary); background: color-mix(in srgb, var(--vz-primary) 8%, var(--vz-card-bg)); text-align: center; pointer-events: none; }
.page-content .erp-comment-drop-message i { font-size: 1.6rem; }
.page-content .erp-comment-drop-message span { color: var(--vz-secondary-color); font-size: .72rem; }
.page-content .erp-comment-editor.is-dragging .erp-comment-drop-message { display: grid; }
.page-content .erp-comment-editor.is-dragging textarea,
.page-content .erp-comment-editor.is-dragging .erp-comment-live-highlight,
.page-content .erp-comment-editor.is-dragging .erp-comment-editor-hint { visibility: hidden; }

.page-content .erp-comment-selected-files { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .55rem; margin: .85rem 0 0 3.65rem; }
.page-content .erp-comment-selected-file { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr) 2rem; gap: .55rem; align-items: center; min-width: 0; padding: .45rem; border: 1px solid var(--vz-border-color); border-radius: .7rem; background: var(--vz-card-bg); }
.page-content .erp-comment-selected-visual { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; overflow: hidden; border-radius: .55rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .09); font-size: 1.2rem; }
.page-content .erp-comment-selected-visual img { width: 100%; height: 100%; object-fit: cover; }
.page-content .erp-comment-selected-file > span:nth-child(2) { display: grid; min-width: 0; }
.page-content .erp-comment-selected-file strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .73rem; }
.page-content .erp-comment-selected-file small { color: var(--vz-secondary-color); font-size: .65rem; }

.page-content .erp-comment-draft-links { display: flex; flex-wrap: wrap; gap: .55rem; margin: .65rem 0 0 3.65rem; }
.page-content .erp-comment-draft-link { display: flex; align-items: center; gap: .65rem; max-width: 21rem; min-width: 14rem; padding: .45rem; border: 1px dashed rgba(var(--vz-primary-rgb), .24); border-radius: .7rem; background: rgba(var(--vz-primary-rgb), .035); }
.page-content .erp-comment-draft-link > img,
.page-content .erp-comment-draft-link > span { width: 3.5rem; height: 2.4rem; flex: 0 0 3.5rem; object-fit: cover; border-radius: .45rem; }
.page-content .erp-comment-draft-link > span { display: grid; place-items: center; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .08); font-size: 1.1rem; }
.page-content .erp-comment-draft-link div { display: grid; min-width: 0; }
.page-content .erp-comment-draft-link strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .71rem; }
.page-content .erp-comment-draft-link small { color: var(--vz-secondary-color); font-size: .63rem; }

.page-content .erp-collaboration-tools { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .9rem; padding-top: .9rem; border-top: 1px dashed var(--vz-border-color); }
.page-content .erp-comment-tool-group { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.page-content .erp-comment-tool-group .form-select { width: auto; min-width: 9rem; }
.page-content .erp-comment-tool-group .btn,
.page-content .erp-comment-tool-group .form-select,
.page-content .erp-collaboration-tools > .btn { height: 2.35rem; min-height: 2.35rem; }
.page-content .erp-comment-tool-group .dropdown { display: flex; align-items: center; }
.page-content .erp-comment-tool-group .btn,
.page-content .erp-collaboration-tools > .btn { display: inline-flex; align-items: center; justify-content: center; }
.page-content .erp-timeline-visibility { padding: .85rem .95rem; border: 1px solid rgba(var(--vz-primary-rgb), .18); border-radius: .75rem; background: rgba(var(--vz-primary-rgb), .045); transition: opacity .18s ease, border-color .18s ease; }
.page-content .erp-timeline-visibility.is-disabled { opacity: .58; border-color: var(--vz-border-color); background: var(--vz-secondary-bg); }
.page-content .erp-mention-menu { max-height: 16rem; overflow-y: auto; }

.page-content .erp-collaboration-feed { display: grid; gap: .75rem; }
.page-content .erp-collaboration-item { position: relative; display: flex; gap: .85rem; padding: 1rem; border: 1px solid transparent; border-radius: .9rem; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.page-content .erp-collaboration-item:hover { border-color: var(--vz-border-color); background: color-mix(in srgb, var(--vz-secondary-bg) 66%, transparent); }
.page-content .erp-comment-thread > .erp-collaboration-item:not(.is-reply) { border-color: color-mix(in srgb, var(--vz-border-color) 78%, transparent); background: color-mix(in srgb, var(--vz-card-bg) 97%, var(--vz-primary) 3%); box-shadow: 0 .35rem 1.15rem rgba(30, 41, 59, .035); }
.page-content .erp-collaboration-item.is-client-message { border-color: rgba(247,184,75,.36); background: linear-gradient(135deg,rgba(247,184,75,.08),color-mix(in srgb,var(--vz-card-bg) 97%,transparent)); }
.page-content .erp-collaboration-item.is-client-message .erp-comment-author-avatar { background: rgba(247,184,75,.16); color: #d28a0b; }
.page-content .erp-collaboration-item.is-client-visible:not(.is-client-message) { border-left: 3px solid rgba(var(--vz-info-rgb),.65); }
.page-content .erp-comment-audience-badge { letter-spacing: .045em; font-size: .61rem; }
.page-content .erp-comment-visibility { min-width: 9.8rem; }
.page-content .erp-comment-meta-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.page-content .erp-comment-meta-row > div:first-child { display: grid; }
.page-content .erp-comment-meta-row > div:first-child strong { font-size: .83rem; }
.page-content .erp-comment-meta-row > div:first-child small { color: var(--vz-secondary-color); font-size: .67rem; }
.page-content .erp-comment-meta-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; }
.page-content .erp-comment-meta-actions time { color: var(--vz-secondary-color); font-size: .68rem; white-space: nowrap; }
.page-content .erp-comment-meta-actions form { margin: 0; }
.page-content .erp-comment-type-badge { flex: 0 0 auto; padding: .38rem .58rem; border-radius: 999px; font-size: .63rem; font-weight: 700; }
.page-content .erp-collaboration-body { margin-top: .7rem; color: var(--vz-body-color); line-height: 1.65; overflow-wrap: anywhere; }
.page-content .erp-collaboration-body a { color: var(--vz-primary); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18rem; }
.page-content .erp-comment-mention { display: inline-flex; align-items: center; padding: .08rem .42rem; border-radius: 999px; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .1); font-size: .86em; font-weight: 700; }

.page-content .erp-comment-link-previews { display: grid; gap: .6rem; max-width: 780px; margin-top: .9rem; }
.page-content .erp-comment-video-card,
.page-content .erp-comment-link-card { display: grid; grid-template-columns: 12rem minmax(0, 1fr) auto; align-items: stretch; width: 100%; min-width: 0; overflow: hidden; padding: 0; border: 1px solid var(--vz-border-color); border-radius: .85rem; color: var(--vz-body-color); background: var(--vz-card-bg); text-align: left; box-shadow: 0 .35rem 1rem rgba(30, 41, 59, .045); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.page-content .erp-comment-video-card { grid-template-columns: 12rem minmax(0, 1fr); font: inherit; }
.page-content .erp-comment-video-card:hover,
.page-content .erp-comment-link-card:hover { transform: translateY(-1px); border-color: rgba(var(--vz-primary-rgb), .28); box-shadow: 0 .65rem 1.4rem rgba(30, 41, 59, .075); }
.page-content .erp-comment-preview-media { position: relative; display: grid; min-height: 7.2rem; place-items: center; overflow: hidden; color: var(--vz-primary); background: linear-gradient(145deg, rgba(var(--vz-primary-rgb), .12), rgba(var(--vz-info-rgb), .06)); font-size: 1.65rem; }
.page-content .erp-comment-preview-media img { width: 100%; height: 100%; object-fit: cover; }
.page-content .erp-comment-preview-media.is-placeholder::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 20% 20%, rgba(var(--vz-primary-rgb), .14), transparent 55%); pointer-events: none; }
.page-content .erp-comment-play { position: absolute; z-index: 2; display: grid; width: 3rem; height: 3rem; place-items: center; border: 4px solid rgba(255, 255, 255, .35); border-radius: 50%; color: #fff; background: rgba(15, 34, 58, .78); box-shadow: 0 .45rem 1.2rem rgba(0, 0, 0, .22); font-size: 1.25rem; backdrop-filter: blur(7px); }
.page-content .erp-comment-preview-copy { display: grid; align-content: center; min-width: 0; gap: .25rem; padding: .8rem 1rem; }
.page-content .erp-comment-preview-copy small { display: flex; align-items: center; gap: .4rem; color: var(--vz-primary); font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .055em; }
.page-content .erp-comment-preview-copy small img { width: 1rem; height: 1rem; object-fit: contain; border-radius: .2rem; }
.page-content .erp-comment-preview-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .84rem; }
.page-content .erp-comment-preview-copy > span { display: -webkit-box; overflow: hidden; color: var(--vz-secondary-color); font-size: .71rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-content .erp-comment-link-card > i:last-child { align-self: center; margin-right: .9rem; color: var(--vz-primary); font-size: 1rem; }
.page-content .erp-comment-inline-video { max-width: 780px; overflow: hidden; margin-top: .9rem; border-radius: .85rem; background: #07111f; box-shadow: 0 .65rem 1.6rem rgba(15, 34, 58, .14); }

.page-content .erp-comment-attachments { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .9rem; }
.page-content .erp-comment-attachments a { position: relative; display: block; overflow: hidden; border: 1px solid var(--vz-border-color); border-radius: .75rem; background: var(--vz-secondary-bg); transition: border-color .18s ease, transform .18s ease; }
.page-content .erp-comment-attachments a:hover { transform: translateY(-1px); border-color: rgba(var(--vz-primary-rgb), .3); }
.page-content .erp-comment-attachments .is-image img { display: block; width: 9rem; aspect-ratio: 4 / 3; object-fit: cover; }
.page-content .erp-comment-attachments .is-image::after { content: "\ee3f"; position: absolute; top: .45rem; right: .45rem; display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: 50%; color: #fff; background: rgba(7, 17, 31, .62); font-family: remixicon; font-size: .85rem; opacity: 0; transform: scale(.85); transition: opacity .18s ease, transform .18s ease; backdrop-filter: blur(6px); }
.page-content .erp-comment-attachments .is-image:hover::after { opacity: 1; transform: scale(1); }
.page-content .erp-comment-attachments .is-image > span { position: absolute; inset: auto 0 0; overflow: hidden; padding: 1.2rem .45rem .35rem; color: #fff; background: linear-gradient(transparent, rgba(7, 17, 31, .78)); text-overflow: ellipsis; white-space: nowrap; font-size: .62rem; }
.page-content .erp-comment-attachments .is-document > span { display: flex; width: 10rem; min-height: 6.75rem; flex-direction: column; align-items: center; justify-content: center; gap: .32rem; padding: .7rem; text-align: center; }
.page-content .erp-comment-attachments .is-document i { color: var(--vz-primary); font-size: 1.55rem; }
.page-content .erp-comment-attachments .is-document small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-content .erp-comment-attachments .is-document em { color: var(--vz-secondary-color); font-size: .61rem; font-style: normal; }

.page-content .erp-comment-footer { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-top: 1rem; padding-top: .7rem; border-top: 1px dashed color-mix(in srgb, var(--vz-border-color) 82%, transparent); }
.page-content .erp-comment-footer-meta,
.page-content .erp-comment-footer-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.page-content .erp-comment-footer-meta { color: var(--vz-secondary-color); }
.page-content .erp-comment-footer-meta time,
.page-content .erp-comment-footer-meta span { display: inline-flex; align-items: center; gap: .28rem; padding: .22rem .42rem; border-radius: 999px; font-size: .64rem; line-height: 1; }
.page-content .erp-comment-footer-meta span { color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .07); }
.page-content .erp-comment-footer-actions { justify-content: flex-end; }
.page-content .erp-comment-footer-actions form { display: flex; margin: 0; }
.page-content .erp-comment-footer-actions .btn { display: inline-flex; min-height: 2rem; align-items: center; justify-content: center; border-radius: .55rem; }
.page-content .erp-comment-footer-actions [data-comment-copy-link] i { margin-right: .3rem; }
.erp-comment-reaction-summary { display: flex; align-items: center; flex-wrap: wrap; gap: .28rem; margin-top: .72rem; }
.erp-comment-reaction-summary.is-empty { display: none; }
.erp-comment-reaction-summary:not(.is-empty) + .erp-comment-footer { margin-top: .5rem; }
.erp-comment-reaction-chip { display: inline-flex; min-width: 2.5rem; height: 1.75rem; align-items: center; justify-content: center; gap: .28rem; padding: .16rem .5rem; border: 0; border-radius: 999px; color: var(--vz-secondary-color); background: color-mix(in srgb, var(--vz-secondary-bg) 82%, transparent); box-shadow: none; font: inherit; line-height: 1; transition: transform .16s ease, background-color .16s ease, box-shadow .16s ease; appearance: none; }
.erp-comment-reaction-chip:hover:not(:disabled) { transform: translateY(-1px) scale(1.035); background: rgba(var(--vz-primary-rgb), .085); box-shadow: 0 .3rem .75rem rgba(30, 41, 59, .07); }
.erp-comment-reaction-chip.is-mine { color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .11); }
.erp-comment-reaction-chip:focus-visible { outline: 2px solid rgba(var(--vz-primary-rgb), .35); outline-offset: 2px; }
.erp-comment-reaction-chip:disabled { cursor: default; opacity: 1; }
.erp-comment-reaction-chip > span { font-size: 1.02rem; line-height: 1; filter: drop-shadow(0 .1rem .12rem rgba(15, 34, 58, .1)); }
.erp-comment-reaction-chip > strong { font-size: .67rem; font-weight: 700; }
.erp-comment-reaction-control { position: relative; z-index: 12; }
.erp-comment-reaction-trigger { gap: .35rem; border: 0 !important; user-select: none; touch-action: manipulation; }
.erp-comment-reaction-trigger [data-comment-reaction-trigger-emoji] { font-size: 1rem; line-height: 1; transition: transform .16s ease; }
.erp-comment-reaction-trigger:hover [data-comment-reaction-trigger-emoji],
.erp-comment-reaction-trigger[aria-expanded="true"] [data-comment-reaction-trigger-emoji] { transform: translateY(-1px) scale(1.2); }
.erp-comment-reaction-control.has-reaction .erp-comment-reaction-trigger { color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .085); }
.erp-comment-reaction-control.is-saving { opacity: .68; }
.erp-comment-reaction-picker { position: absolute; right: 0; bottom: calc(100% + .65rem); display: grid; grid-template-columns: repeat(6, 2.35rem); gap: .3rem; width: max-content; padding: .55rem; border: 0; border-radius: 1rem; background: color-mix(in srgb, var(--vz-card-bg) 94%, var(--vz-primary) 6%); box-shadow: 0 1rem 2.8rem rgba(15, 34, 58, .2), 0 0 0 1px rgba(var(--vz-primary-rgb), .055); opacity: 0; transform: translateY(.35rem) scale(.96); transform-origin: right bottom; transition: opacity .16s ease, transform .16s ease; backdrop-filter: blur(16px); }
.erp-comment-reaction-picker[hidden] { display: none; }
.erp-comment-reaction-picker.is-open { opacity: 1; transform: translateY(0) scale(1); }
.erp-comment-reaction-picker::after { content: ""; position: absolute; right: 1.1rem; bottom: -.34rem; width: .68rem; height: .68rem; border: 0; background: color-mix(in srgb, var(--vz-card-bg) 94%, var(--vz-primary) 6%); transform: rotate(45deg); }
.erp-comment-reaction-picker button { position: relative; z-index: 1; display: grid; width: 2.35rem; height: 2.35rem; place-items: center; padding: 0; border: 0; border-radius: .72rem; background: transparent; font: inherit; appearance: none; }
.erp-comment-reaction-picker button:hover,
.erp-comment-reaction-picker button:focus-visible { outline: 0; background: rgba(var(--vz-primary-rgb), .1); }
.erp-comment-reaction-picker button span { font-size: 1.42rem; line-height: 1; filter: drop-shadow(0 .18rem .2rem rgba(15, 34, 58, .12)); transition: transform .14s cubic-bezier(.2, .8, .2, 1.4); }
.erp-comment-reaction-picker button:hover span,
.erp-comment-reaction-picker button:focus-visible span { transform: translateY(-.16rem) scale(1.24); }

.page-content .erp-comment-edit-form { margin-top: .8rem; padding: .9rem; border: 1px solid rgba(var(--vz-primary-rgb), .2); border-radius: .85rem; background: linear-gradient(135deg, rgba(var(--vz-primary-rgb), .055), rgba(var(--vz-info-rgb), .025)); }
.page-content .erp-comment-edit-heading { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-bottom: .65rem; }
.page-content .erp-comment-edit-heading span { display: inline-flex; align-items: center; gap: .38rem; color: var(--vz-heading-color); font-size: .76rem; font-weight: 700; }
.page-content .erp-comment-edit-heading span i { color: var(--vz-primary); font-size: .95rem; }
.page-content .erp-comment-edit-heading small { color: var(--vz-secondary-color); font-size: .64rem; }
.page-content .erp-comment-edit-form .erp-comment-editor { border-color: var(--vz-border-color); background: var(--vz-card-bg); }
.page-content .erp-comment-edit-form textarea { position: relative; z-index: 1; min-height: 6.2rem; padding: .85rem 1rem .35rem; resize: vertical; border: 0; color: var(--vz-body-color); background: transparent; }
.page-content .erp-comment-edit-form textarea:focus { box-shadow: none; }
.page-content .erp-comment-edit-actions { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .7rem; }
.page-content .erp-comment-edit-actions .form-select { width: auto; min-width: 9rem; }

.page-content .erp-comment-thread { position: relative; border: 1px solid transparent; border-radius: 1rem; }
.page-content .erp-comment-thread + .erp-comment-thread { border-top-color: var(--vz-border-color); border-radius: 0; }
.page-content .erp-comment-thread:target,
.page-content .erp-collaboration-item:target { animation: erp-comment-focus 2.8s ease; }
.page-content .erp-comment-replies { position: relative; display: grid; gap: .4rem; margin: 0 1rem .75rem 4.2rem; padding-left: 1.2rem; }
.page-content .erp-comment-replies::before { content: ""; position: absolute; top: -.25rem; bottom: .65rem; left: 0; width: 2px; border-radius: 2px; background: linear-gradient(rgba(var(--vz-primary-rgb), .3), rgba(var(--vz-primary-rgb), .05)); }
.page-content .erp-collaboration-item.is-reply { padding: .85rem; border-color: color-mix(in srgb, var(--vz-border-color) 78%, transparent); background: color-mix(in srgb, var(--vz-secondary-bg) 62%, transparent); }
.page-content .erp-collaboration-item.is-reply::before { content: ""; position: absolute; width: 1.2rem; height: .7rem; margin: .25rem 0 0 -2.07rem; border-bottom: 2px solid rgba(var(--vz-primary-rgb), .22); border-left: 2px solid rgba(var(--vz-primary-rgb), .22); border-radius: 0 0 0 .55rem; }
.page-content .erp-comment-reply-slot:empty { display: none; }
.page-content .erp-comment-reply-composer { margin-top: 1rem; padding: .85rem; border-color: rgba(var(--vz-info-rgb), .24); background: linear-gradient(135deg, rgba(var(--vz-info-rgb), .07), rgba(var(--vz-primary-rgb), .025)); box-shadow: none; }
.page-content .erp-comment-reply-composer textarea { min-height: 5rem; }
.page-content .erp-comment-reply-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: -.15rem 0 .7rem 3.65rem; color: var(--vz-secondary-color); font-size: .72rem; }
.page-content .erp-comment-reply-heading > span { display: inline-flex; align-items: center; gap: .35rem; }
.page-content .erp-comment-reply-heading i { color: var(--vz-primary); font-size: .95rem; }
.page-content .erp-comment-reply-heading strong { color: var(--vz-heading-color); }
.page-content [data-comment-reply-toggle][aria-expanded="true"] { color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .1); }
.page-content .erp-comment-reply-parking { display: none; }

.erp-comment-image-viewer { --bs-offcanvas-width: min(94vw, 980px); border-left: 0; background: color-mix(in srgb, var(--vz-body-bg) 94%, #07111f 6%); box-shadow: -1.3rem 0 3.5rem rgba(7, 17, 31, .2); }
.erp-comment-image-viewer-head { min-height: 5.25rem; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--vz-border-color); background: var(--vz-card-bg); }
.erp-comment-image-viewer-head .offcanvas-title { max-width: min(72vw, 720px); margin-top: .15rem; }
.erp-comment-image-viewer-body { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: .85rem; padding: 1rem; }
.erp-comment-image-stage { position: relative; display: grid; min-height: 0; place-items: center; overflow: auto; padding: 0; border: 1px solid var(--vz-border-color); border-radius: 1rem; color: var(--vz-secondary-color); background: radial-gradient(circle at center, rgba(var(--vz-primary-rgb), .07), transparent 58%), #07111f; cursor: zoom-in; }
.erp-comment-image-stage img { display: block; max-width: 100%; max-height: calc(100vh - 10.5rem); object-fit: contain; opacity: 0; transition: opacity .2s ease, max-width .2s ease, max-height .2s ease; }
.erp-comment-image-stage img.is-ready { opacity: 1; }
.erp-comment-image-stage.is-zoomed { place-items: start; cursor: zoom-out; }
.erp-comment-image-stage.is-zoomed img { max-width: none; max-height: none; }
.erp-comment-image-stage.has-error::after { content: "Imaginea nu a putut fi incarcata."; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; }
.erp-comment-image-viewer-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .15rem .15rem 0; }
.erp-comment-image-viewer-actions > span { display: inline-flex; align-items: center; gap: .45rem; color: var(--vz-secondary-color); font-size: .72rem; }

.page-content .erp-avatar-upload { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 1px dashed rgba(var(--vz-primary-rgb), .25); border-radius: .9rem; background: linear-gradient(135deg, rgba(var(--vz-primary-rgb), .055), rgba(var(--vz-info-rgb), .025)); }
.page-content .erp-avatar-upload-preview { display: grid; width: 5.25rem; height: 5.25rem; flex: 0 0 5.25rem; place-items: center; overflow: hidden; border: 4px solid var(--vz-card-bg); border-radius: 50%; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .1); box-shadow: 0 .55rem 1.4rem rgba(30, 41, 59, .12); font-size: 1.7rem; }
.page-content .erp-avatar-upload-preview img,
.page-content .erp-user-avatar img,
.page-content .erp-user-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.page-content .erp-user-avatar,
.page-content .erp-user-profile-avatar { overflow: hidden; }

@keyframes erp-comment-focus {
    0%, 100% { box-shadow: none; }
    15%, 70% { box-shadow: 0 0 0 .22rem rgba(var(--vz-primary-rgb), .13); background: rgba(var(--vz-primary-rgb), .045); }
}

@media (max-width: 767.98px) {
    .page-content .erp-comment-replies { margin-right: 0; margin-left: 1rem; padding-left: .75rem; }
    .page-content .erp-collaboration-item.is-reply::before { display: none; }
    .page-content .erp-comment-reply-heading { margin-left: 0; }
    .page-content .erp-comment-footer,
    .page-content .erp-comment-edit-actions,
    .page-content .erp-comment-edit-heading { align-items: stretch; flex-direction: column; }
    .page-content .erp-comment-footer-actions { justify-content: flex-start; }
    .page-content .erp-comment-footer-actions [data-comment-copy-link] span { display: none; }
    .erp-comment-reaction-picker { right: auto; left: 0; grid-template-columns: repeat(4, 2.35rem); transform-origin: left bottom; }
    .erp-comment-reaction-picker::after { right: auto; left: 1.1rem; }
    .page-content .erp-comment-edit-actions > div { justify-content: space-between; }
    .page-content .erp-comment-edit-actions .form-select { flex: 1 1 auto; width: auto; }
    .page-content .erp-avatar-upload { align-items: flex-start; flex-direction: column; }
    .erp-comment-image-viewer-actions { align-items: stretch; flex-direction: column; }
    .erp-comment-image-viewer-actions .btn { width: 100%; }
}

/* Skills and capacity */
.page-content .erp-skill-matrix { min-width: 820px; }
.page-content .erp-skill-matrix thead th { position: sticky; top: 0; z-index: 2; min-width: 7rem; vertical-align: bottom; background: var(--vz-tertiary-bg); }
.page-content .erp-skill-matrix thead th:first-child,
.page-content .erp-skill-matrix tbody td:first-child { position: sticky; left: 0; z-index: 3; min-width: 14rem; background: var(--vz-card-bg); box-shadow: 8px 0 18px rgba(31, 44, 67, .04); }
.page-content .erp-skill-head { display: grid; justify-items: center; gap: .35rem; }
.page-content .erp-skill-head i { color: var(--skill-color); font-size: 1.15rem; }
.page-content .erp-skill-person { display: flex; align-items: center; gap: .7rem; }
.page-content .erp-skill-person > span { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; place-items: center; border-radius: .7rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .1); font-weight: 700; }
.page-content .erp-skill-person strong,
.page-content .erp-skill-person small { display: block; }
.page-content .erp-skill-rating { display: inline-flex; align-items: center; gap: .15rem; padding: .35rem .5rem; border: 1px solid var(--vz-border-color); border-radius: 2rem; background: var(--vz-secondary-bg); }
.page-content .erp-skill-rating i { color: color-mix(in srgb, var(--vz-warning) 28%, var(--vz-border-color)); }
.page-content .erp-skill-rating i.is-active { color: var(--vz-warning); }
.page-content .erp-skill-catalog-item { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: .75rem; border: 1px solid var(--vz-border-color); border-radius: .8rem; }
.page-content .erp-skill-catalog-item > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .65rem; color: var(--skill-color); background: color-mix(in srgb, var(--skill-color) 12%, transparent); }

.page-content .erp-heatmap-scroll { max-height: min(68vh, 720px); }
.page-content .erp-capacity-heatmap { min-width: 900px; }
.page-content .erp-capacity-heatmap thead th { position: sticky; top: 0; z-index: 3; min-width: 8rem; text-align: center; background: var(--vz-tertiary-bg); }
.page-content .erp-capacity-heatmap thead th:first-child,
.page-content .erp-capacity-heatmap tbody td:first-child { position: sticky; left: 0; z-index: 4; min-width: 13rem; text-align: left; background: var(--vz-card-bg); }
.page-content .erp-capacity-heatmap small { display: block; color: var(--vz-secondary-color); font-size: .65rem; }
.page-content .erp-heat-cell { display: grid; min-height: 4.5rem; place-content: center; padding: .55rem; border: 1px solid transparent; border-radius: .7rem; text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
.page-content .erp-heat-cell:hover { z-index: 2; transform: translateY(-2px); box-shadow: 0 8px 22px rgba(31, 44, 67, .12); }
.page-content .erp-heat-cell.is-available { color: var(--vz-success); background: var(--vz-success-bg-subtle); }
.page-content .erp-heat-cell.is-busy { color: color-mix(in srgb, var(--vz-warning) 78%, #805d00); background: var(--vz-warning-bg-subtle); }
.page-content .erp-heat-cell.is-over { color: var(--vz-danger); background: var(--vz-danger-bg-subtle); }
.page-content .erp-heat-cell strong { font-size: 1rem; }
.page-content .erp-heat-cell span { font-size: .65rem; opacity: .8; }
.page-content .erp-heatmap-legend { display: flex; flex-wrap: wrap; gap: .85rem; color: var(--vz-secondary-color); font-size: .7rem; }
.page-content .erp-heatmap-legend span { display: flex; align-items: center; gap: .35rem; }
.page-content .erp-heatmap-legend i { width: .75rem; height: .75rem; border-radius: .25rem; }
.page-content .erp-heatmap-legend .is-available { background: var(--vz-success); }
.page-content .erp-heatmap-legend .is-busy { background: var(--vz-warning); }
.page-content .erp-heatmap-legend .is-over { background: var(--vz-danger); }
.page-content .erp-capacity-period { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: .7rem; border: 1px solid var(--vz-border-color); border-radius: .75rem; }
.page-content .erp-capacity-period > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .65rem; color: var(--vz-info); background: var(--vz-info-bg-subtle); }
.page-content .erp-capacity-period strong,
.page-content .erp-capacity-period small { display: block; }

/* Inventory locations, kits and private documents */
.page-content .erp-location-tree { display: grid; gap: .55rem; }
.page-content .erp-location-row { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto auto; align-items: center; gap: .85rem; margin-left: calc(var(--location-depth, 0) * 1.35rem); padding: .8rem; border: 1px solid var(--vz-border-color); border-radius: .85rem; background: var(--vz-card-bg); }
.page-content .erp-location-icon { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: .75rem; color: var(--location-color); background: color-mix(in srgb, var(--location-color) 12%, transparent); font-size: 1.2rem; }
.page-content .erp-location-stats { display: flex; gap: .4rem; }
.page-content .erp-location-example { padding: 1rem; border: 1px dashed rgba(var(--vz-primary-rgb), .28); border-radius: .9rem; color: var(--vz-secondary-color); background: rgba(var(--vz-primary-rgb), .04); }

.page-content .erp-kit-card { position: relative; overflow: hidden; height: 100%; border-top: 3px solid var(--kit-color); }
.page-content .erp-kit-card::after { content: ""; position: absolute; top: -5rem; right: -5rem; width: 11rem; height: 11rem; border-radius: 50%; background: color-mix(in srgb, var(--kit-color) 10%, transparent); }
.page-content .erp-kit-icon { position: relative; z-index: 1; display: grid; width: 3.3rem; height: 3.3rem; place-items: center; border-radius: .85rem; color: var(--kit-color); background: color-mix(in srgb, var(--kit-color) 13%, transparent); font-size: 1.35rem; }
.page-content .erp-kit-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-top: 1rem; }
.page-content .erp-kit-metrics > div { padding: .65rem; border-radius: .65rem; background: var(--vz-secondary-bg); }
.page-content .erp-kit-metrics small,
.page-content .erp-kit-metrics strong { display: block; }
.page-content .erp-kit-metrics small { color: var(--vz-secondary-color); font-size: .62rem; }

.page-content .erp-equipment-document-form { padding: 1rem; border: 1px dashed rgba(var(--vz-info-rgb), .3); border-radius: 1rem; background: linear-gradient(135deg, rgba(var(--vz-info-rgb), .07), transparent); }
.page-content .erp-document-upload-icon { display: grid; width: 3rem; height: 3rem; flex: 0 0 3rem; place-items: center; border-radius: .8rem; color: var(--vz-info); background: var(--vz-info-bg-subtle); font-size: 1.25rem; }
.page-content .erp-equipment-document { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; height: 100%; padding: .85rem; border: 1px solid var(--vz-border-color); border-radius: .8rem; background: var(--vz-card-bg); }
.page-content .erp-equipment-document > span { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .7rem; color: var(--vz-info); background: var(--vz-info-bg-subtle); font-size: 1.15rem; }
.page-content .erp-equipment-document small,
.page-content .erp-equipment-document strong,
.page-content .erp-equipment-document p { display: block; overflow: hidden; margin: 0; text-overflow: ellipsis; white-space: nowrap; }
.page-content .erp-equipment-document small,
.page-content .erp-equipment-document p { color: var(--vz-secondary-color); font-size: .65rem; }

/* Knowledge base */
.page-content .erp-kb-hero { position: relative; overflow: hidden; padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid rgba(var(--vz-primary-rgb), .16); border-radius: 1.2rem; background: radial-gradient(circle at 90% 10%, rgba(var(--vz-info-rgb), .18), transparent 34%), linear-gradient(135deg, rgba(var(--vz-primary-rgb), .13), var(--vz-card-bg)); }
.page-content .erp-kb-hero-icon { display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 1rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .12); font-size: 1.7rem; }
.page-content .erp-kb-search { position: relative; max-width: 720px; }
.page-content .erp-kb-search i { position: absolute; top: 50%; left: 1rem; z-index: 2; transform: translateY(-50%); color: var(--vz-primary); font-size: 1.1rem; }
.page-content .erp-kb-search .form-control { min-height: 3.4rem; padding-left: 3rem; padding-right: 7rem; border-color: rgba(var(--vz-primary-rgb), .2); border-radius: .9rem; background: var(--vz-card-bg); box-shadow: 0 10px 35px rgba(31, 44, 67, .08); }
.page-content .erp-kb-search .btn { position: absolute; top: .45rem; right: .45rem; bottom: .45rem; }
.page-content .erp-kb-category { display: flex; align-items: center; gap: .7rem; padding: .75rem; border: 1px solid transparent; border-radius: .75rem; color: var(--vz-body-color); }
.page-content .erp-kb-category:hover,
.page-content .erp-kb-category.active { border-color: rgba(var(--vz-primary-rgb), .18); color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .07); }
.page-content .erp-kb-category .card-body { display: flex; align-items: flex-start; gap: 1rem; }
.page-content .erp-kb-category span { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; place-items: center; border-radius: .65rem; color: var(--kb-color, var(--vz-primary)); background: color-mix(in srgb, var(--kb-color, var(--vz-primary)) 12%, transparent); }
.page-content .erp-kb-article-card { display: flex; height: 100%; flex-direction: column; padding: 1.1rem; border: 1px solid var(--vz-border-color); border-top: 3px solid var(--kb-color, var(--vz-primary)); border-radius: .9rem; color: var(--vz-body-color); background: var(--vz-card-bg); transition: transform .2s ease, box-shadow .2s ease; }
.page-content .erp-kb-article-card:hover { color: var(--vz-body-color); transform: translateY(-3px); box-shadow: 0 12px 30px rgba(31, 44, 67, .1); }
.page-content .erp-kb-article-card p { flex-grow: 1; color: var(--vz-secondary-color); }
.page-content .erp-kb-reading { max-width: 860px; margin: 0 auto; }
.page-content .erp-kb-article-body { color: var(--vz-body-color); font-size: .9rem; line-height: 1.85; white-space: pre-line; }
.page-content .erp-kb-keywords { display: flex; flex-wrap: wrap; gap: .4rem; }
.page-content .erp-kb-keywords span { padding: .3rem .55rem; border-radius: 2rem; color: var(--vz-primary); background: rgba(var(--vz-primary-rgb), .08); font-size: .65rem; }
.page-content .erp-kb-related { display: grid; gap: .5rem; }
.page-content .erp-kb-related a { padding: .7rem; border: 1px solid var(--vz-border-color); border-radius: .7rem; color: var(--vz-body-color); background: var(--vz-card-bg); }

[data-bs-theme="dark"] .page-content .erp-client-timeline::before,
[data-bs-theme="dark"] .page-content .erp-client-health-card,
[data-bs-theme="dark"] .page-content .erp-kb-hero { filter: saturate(.86); }

@media (max-width: 991.98px) {
    .page-content .erp-lifetime-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-content .erp-location-row { margin-left: calc(min(var(--location-depth, 0), 2) * .65rem); }
}

@media (max-width: 767.98px) {
    .page-content .erp-lifetime-summary { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .page-content .erp-intelligence-heading { align-items: flex-start; flex-direction: column; }
    .page-content .erp-intelligence-heading .erp-health-ring { align-self: center; }
    .page-content .erp-intelligence-badge { align-self: flex-start; }
    .page-content .erp-health-components > div { grid-template-columns: 1fr 5rem 2rem; }
    .page-content .erp-lifetime-grid,
    .page-content .erp-risk-strip { grid-template-columns: 1fr; }
    .page-content .erp-lifetime-metric { min-height: 6.4rem; }
    .page-content .erp-health-metric-head { grid-template-columns: 2.35rem minmax(0, 1fr) auto; }
    .page-content .erp-margin-panel { align-items: flex-start; }
    .page-content .erp-margin-panel .d-flex { align-items: flex-start !important; flex-direction: column; gap: .2rem !important; }
    .page-content .erp-margin-panel .d-flex > span { text-align: left; }
    .page-content .erp-comment-compose-main { grid-template-columns: 1fr; }
    .page-content .erp-comment-compose-avatar { display: none; }
    .page-content .erp-comment-selected-files,
    .page-content .erp-comment-draft-links { margin-left: 0; }
    .page-content .erp-collaboration-tools { align-items: stretch; flex-direction: column; }
    .page-content .erp-comment-tool-group { display: grid; grid-template-columns: 1fr 1fr; }
    .page-content .erp-comment-tool-group .form-select { grid-column: 1 / -1; width: 100%; }
    .page-content .erp-collaboration-tools > .btn { width: 100%; }
    .page-content .erp-collaboration-item { gap: .55rem; }
    .page-content .erp-comment-meta-row { flex-direction: column; }
    .page-content .erp-comment-meta-actions { justify-content: flex-start; }
    .page-content .erp-comment-video-card,
    .page-content .erp-comment-link-card { grid-template-columns: 1fr; }
    .page-content .erp-comment-preview-media { min-height: auto; aspect-ratio: 16 / 9; }
    .page-content .erp-comment-link-card > i:last-child { display: none; }
    .page-content .erp-location-row { grid-template-columns: 2.6rem minmax(0, 1fr) auto; margin-left: 0; }
    .page-content .erp-location-stats { display: none; }
    .page-content .erp-kit-metrics { grid-template-columns: 1fr; }
}

/* Notification surfaces: constrain long content without horizontal scrolling. */
#page-topbar .erp-notification-menu {
    width: min(390px, calc(100vw - 1.25rem));
    max-width: calc(100vw - 1.25rem);
    overflow: hidden;
    border: 0;
    border-radius: .9rem;
    background: var(--vz-card-bg, #fff);
    box-shadow: 0 1.2rem 3rem rgba(15, 34, 62, .2);
    isolation: isolate;
    opacity: 1;
}

#page-topbar .erp-notification-scroll {
    max-height: 370px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

#page-topbar .erp-notification-item {
    display: grid;
    grid-template-columns: 2.35rem minmax(0, 1fr) .55rem;
    align-items: center;
    gap: .8rem;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: .82rem 1rem;
    overflow: hidden;
    border-bottom: 1px solid var(--vz-border-color);
    background: var(--vz-card-bg, #fff);
    opacity: 1;
    transition: background-color .16s ease, transform .16s ease;
}

#page-topbar .erp-notification-item:hover {
    background: color-mix(in srgb, var(--vz-primary) 5%, var(--vz-card-bg, #fff));
}

#page-topbar .erp-notification-icon {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border-radius: 50%;
    font-size: 1rem;
}

#page-topbar .erp-notification-copy {
    display: block;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    color: inherit;
    background: transparent;
    text-align: left;
}

#page-topbar .erp-notification-copy strong,
#page-topbar .erp-notification-copy small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#page-topbar .erp-notification-copy strong {
    color: var(--vz-heading-color);
    font-size: .78rem;
    line-height: 1.35;
}

#page-topbar .erp-notification-copy small {
    margin-top: .18rem;
    color: var(--vz-secondary-color);
    font-size: .68rem;
}

#page-topbar .erp-notification-unread {
    width: .48rem;
    height: .48rem;
    border-radius: 50%;
    background: var(--vz-primary);
    box-shadow: 0 0 0 4px rgba(var(--vz-primary-rgb), .1);
}

#page-topbar .erp-notification-empty {
    display: grid;
    min-height: 150px;
    place-content: center;
    justify-items: center;
    gap: .55rem;
    color: var(--vz-secondary-color);
}

#page-topbar .erp-notification-empty i {
    font-size: 1.65rem;
}

/* Full notification registry: readable rows on desktop and stacked cards on mobile. */
.page-content .erp-notification-registry {
    overflow: hidden;
}

.page-content .erp-notification-filters {
    gap: 0.35rem;
    padding: 0.3rem;
    border: 1px solid var(--vz-border-color);
    border-radius: 0.85rem;
    background: var(--vz-light);
}

.page-content .erp-notification-filters .nav-link {
    min-width: 4.4rem;
    padding: 0.55rem 0.85rem;
    color: var(--vz-secondary-color);
    text-align: center;
}

.page-content .erp-notification-filters .nav-link.active,
.page-content .erp-notification-filters .nav-link.active:hover,
.page-content .erp-notification-filters .nav-link.active:focus {
    color: #fff;
    background: linear-gradient(135deg, var(--vz-primary), #6d5dfc);
    box-shadow: 0 0.45rem 1rem rgba(var(--vz-primary-rgb), 0.22);
}

.page-content .erp-notification-registry-row {
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid var(--vz-border-color);
}

.page-content .erp-notification-registry-row:last-child {
    border-bottom: 0;
}

.page-content .erp-notification-registry-row.is-unread {
    background: linear-gradient(90deg, rgba(var(--vz-primary-rgb), .065), transparent 55%);
}

.page-content .erp-notification-registry-copy {
    min-width: 0;
}

.page-content .erp-notification-registry-copy strong,
.page-content .erp-notification-registry-copy p {
    overflow-wrap: anywhere;
}

.page-content .erp-notification-registry-copy p {
    display: -webkit-box;
    margin: .3rem 0 .35rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.page-content .erp-notification-registry-actions {
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* Operation overlay used for saves, uploads, email delivery and slow navigation. */
.erp-operation-overlay {
    position: fixed;
    z-index: 99999;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    visibility: hidden;
    background: rgba(8, 20, 39, .68);
    opacity: 0;
    backdrop-filter: blur(6px) saturate(.8);
    transition: opacity .18s ease, visibility .18s ease;
}

.erp-operation-overlay.is-visible {
    visibility: visible;
    opacity: 1;
}

.erp-operation-panel {
    position: relative;
    display: grid;
    grid-template-columns: 3.3rem minmax(0, 1fr);
    gap: 1rem;
    width: min(460px, 100%);
    padding: 1.3rem 1.35rem 1.5rem;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 1rem;
    color: var(--vz-body-color, #495057);
    background: var(--vz-card-bg, #fff);
    box-shadow: 0 2rem 5rem rgba(5, 18, 38, .3);
    transform: translateY(8px) scale(.985);
    transition: transform .2s ease;
}

.erp-auth-body .erp-operation-overlay {
    background: rgba(6, 18, 36, .78);
}

.erp-auth-body .erp-operation-panel {
    border-color: rgba(255, 255, 255, .92);
    background: #fff;
    box-shadow: 0 2rem 5rem rgba(1, 10, 25, .42);
}

.erp-operation-overlay.is-visible .erp-operation-panel {
    transform: translateY(0) scale(1);
}

.erp-operation-icon {
    display: grid;
    width: 3.3rem;
    height: 3.3rem;
    place-items: center;
    border-radius: .85rem;
    color: var(--vz-primary, #405189);
    background: rgba(var(--vz-primary-rgb, 64, 81, 137), .11);
    font-size: 1.55rem;
}

.erp-operation-overlay.is-visible .erp-operation-icon i {
    animation: erp-operation-spin .95s linear infinite;
}

.erp-operation-copy {
    min-width: 0;
}

.erp-operation-copy small,
.erp-operation-copy strong,
.erp-operation-copy p {
    display: block;
}

.erp-operation-copy small {
    margin-bottom: .28rem;
    color: var(--vz-primary, #405189);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.erp-operation-copy strong {
    color: var(--vz-heading-color, #343a40);
    font-size: 1rem;
}

.erp-operation-copy p {
    margin: .35rem 0 0;
    color: var(--vz-secondary-color, #878a99);
    font-size: .72rem;
    line-height: 1.5;
}

.erp-operation-progress {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    overflow: hidden;
    background: rgba(var(--vz-primary-rgb, 64, 81, 137), .1);
}

.erp-operation-progress span {
    display: block;
    width: 38%;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--vz-primary, #405189), var(--vz-info, #299cdb), transparent);
    animation: erp-operation-progress 1.15s ease-in-out infinite;
}

@keyframes erp-operation-spin {
    to { transform: rotate(360deg); }
}

@keyframes erp-operation-progress {
    from { transform: translateX(-110%); }
    to { transform: translateX(340%); }
}

/* Delivery receipt shown after real or test email operations. */
.erp-delivery-toast {
    --delivery-rgb: var(--vz-primary-rgb, 64, 81, 137);
    position: fixed;
    z-index: 99950;
    top: calc(var(--vz-header-height, 70px) + 1rem);
    right: 1rem;
    display: grid;
    grid-template-columns: 2.85rem minmax(0, 1fr) 2rem;
    align-items: start;
    gap: .8rem;
    width: min(430px, calc(100vw - 2rem));
    padding: 1rem;
    overflow: hidden;
    border: 1px solid var(--vz-border-color);
    border-left: 4px solid var(--vz-primary);
    border-radius: .9rem;
    background:
        linear-gradient(135deg, rgba(var(--delivery-rgb), .075), transparent 48%),
        var(--vz-card-bg, #fff);
    box-shadow: 0 1.25rem 3.5rem rgba(12, 31, 60, .2);
    isolation: isolate;
    opacity: 1;
    backdrop-filter: none;
    animation: erp-toast-in .28s ease both;
}

.erp-delivery-toast.is-success { --delivery-rgb: var(--vz-success-rgb, 10, 179, 156); border-left-color: var(--vz-success); }
.erp-delivery-toast.is-error { --delivery-rgb: var(--vz-danger-rgb, 240, 101, 72); border-left-color: var(--vz-danger); }
.erp-delivery-toast.is-warning { --delivery-rgb: var(--vz-warning-rgb, 247, 184, 75); border-left-color: var(--vz-warning); }

.erp-delivery-toast-icon {
    display: grid;
    width: 2.85rem;
    height: 2.85rem;
    place-items: center;
    border-radius: .75rem;
    color: var(--vz-primary);
    background: rgba(var(--vz-primary-rgb), .1);
    font-size: 1.25rem;
}

.erp-delivery-toast.is-success .erp-delivery-toast-icon { color: var(--vz-success); background: rgba(var(--vz-success-rgb), .1); }
.erp-delivery-toast.is-error .erp-delivery-toast-icon { color: var(--vz-danger); background: rgba(var(--vz-danger-rgb), .1); }
.erp-delivery-toast.is-warning .erp-delivery-toast-icon { color: var(--vz-warning); background: rgba(var(--vz-warning-rgb), .12); }

.erp-delivery-toast-copy {
    min-width: 0;
}

.erp-delivery-toast-copy small,
.erp-delivery-toast-copy strong,
.erp-delivery-toast-copy p,
.erp-delivery-toast-copy span {
    display: block;
    overflow-wrap: anywhere;
}

.erp-delivery-toast-copy small {
    margin-bottom: .2rem;
    color: var(--vz-secondary-color);
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.erp-delivery-toast-copy strong {
    color: var(--vz-heading-color);
    font-size: .82rem;
}

.erp-delivery-toast-copy p {
    margin: .22rem 0 0;
    color: var(--vz-body-color);
    font-size: .72rem;
    line-height: 1.45;
}

.erp-delivery-toast-copy span {
    margin-top: .45rem;
    padding-top: .45rem;
    border-top: 1px dashed var(--vz-border-color);
    color: var(--vz-secondary-color);
    font-size: .64rem;
}

.erp-delivery-toast-close {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: .55rem;
    color: var(--vz-secondary-color);
    background: transparent;
}

.erp-delivery-toast-close:hover {
    color: var(--vz-heading-color);
    background: var(--vz-light);
}

.erp-delivery-toast.is-leaving {
    animation: erp-toast-out .2s ease both;
}

/* Lightweight feedback emitted by collaboration and inline modules. */
.toastify {
    z-index: 99960 !important;
    max-width: min(360px, calc(100vw - 2rem));
    border: 1px solid rgba(255,255,255,.22);
    border-radius: .8rem;
    color: #fff !important;
    background: var(--vz-primary, #405189) !important;
    box-shadow: 0 1rem 2.8rem rgba(12, 31, 60, .24);
    opacity: 1 !important;
}

.toastify.bg-success {
    background: var(--vz-success, #0ab39c) !important;
}

.toastify.bg-danger {
    background: var(--vz-danger, #f06548) !important;
}

.toastify.bg-warning {
    color: #49360d !important;
    background: var(--vz-warning, #f7b84b) !important;
}

.swal2-popup {
    background: var(--vz-card-bg, #fff) !important;
    opacity: 1 !important;
}

@keyframes erp-toast-in {
    from { opacity: 0; transform: translateY(-12px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes erp-toast-out {
    to { opacity: 0; transform: translateY(-8px) scale(.98); }
}

@media (max-width: 767.98px) {
    .page-content .erp-notification-registry-row {
        grid-template-columns: 2.65rem minmax(0, 1fr);
        align-items: start;
        gap: .75rem;
        padding: .95rem;
    }

    .page-content .erp-notification-registry-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-top: .25rem;
    }

    .erp-delivery-toast {
        top: calc(var(--vz-header-height, 70px) + .6rem);
        right: .6rem;
        width: calc(100vw - 1.2rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .erp-operation-overlay,
    .erp-operation-panel,
    .erp-delivery-toast {
        transition: none;
        animation-duration: .01ms !important;
    }
}

/* Running timer exit protection. */
.erp-timer-exit-notice {
    position: fixed;
    z-index: 1065;
    right: 1.25rem;
    bottom: 7.65rem;
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr) 1.8rem;
    align-items: center;
    gap: .8rem;
    width: min(25rem, calc(100vw - 2rem));
    padding: .85rem;
    border: 1px solid rgba(247, 184, 75, .35);
    border-radius: 1rem;
    color: #fff;
    background: linear-gradient(125deg, rgba(18, 37, 65, .98), rgba(48, 58, 89, .97));
    box-shadow: 0 1.25rem 3rem rgba(5, 18, 38, .3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(.75rem) scale(.98);
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
}

.erp-timer-exit-notice.is-visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.erp-timer-exit-notice-icon { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .8rem; color: #f7b84b; background: rgba(247, 184, 75, .14); font-size: 1.3rem; }
.erp-timer-exit-notice small { display: block; margin-bottom: .1rem; color: #f7b84b; font-size: .57rem; font-weight: 800; letter-spacing: .1em; }
.erp-timer-exit-notice strong { display: block; font-size: .82rem; }
.erp-timer-exit-notice p { margin: .15rem 0 0; color: rgba(255, 255, 255, .66); font-size: .68rem; line-height: 1.45; }
.erp-timer-exit-notice button { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; padding: 0; border: 0; border-radius: 50%; color: rgba(255,255,255,.62); background: rgba(255,255,255,.08); }
.erp-timer-exit-notice button:hover { color: #fff; background: rgba(255,255,255,.15); }

@media (max-width: 575.98px) {
    .erp-timer-exit-notice { right: .75rem; bottom: 6.75rem; width: calc(100vw - 1.5rem); }
}

/* Explicit system diagnostic launch state. */
.page-content .erp-diagnostic-launch {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    min-height: 155px;
    padding: 1.4rem;
    border: 1px dashed color-mix(in srgb, var(--vz-primary) 28%, var(--vz-border-color));
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(var(--vz-primary-rgb), .06), color-mix(in srgb, var(--vz-card-bg) 96%, transparent));
}

.page-content .erp-diagnostic-launch-icon {
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    border-radius: 1rem;
    color: var(--vz-primary);
    background: rgba(var(--vz-primary-rgb), .11);
    font-size: 1.75rem;
}

.page-content .erp-diagnostic-launch h5 {
    margin-bottom: .35rem;
}

.page-content .erp-diagnostic-launch p {
    max-width: 720px;
    margin: 0;
    color: var(--vz-secondary-color);
    font-size: .75rem;
    line-height: 1.55;
}

.page-content table td {
    max-width: min(420px, 36vw);
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .page-content .erp-diagnostic-launch {
        grid-template-columns: 3.25rem minmax(0, 1fr);
        align-items: start;
        padding: 1.1rem;
    }

    .page-content .erp-diagnostic-launch-icon {
        width: 3.25rem;
        height: 3.25rem;
    }

    .page-content .erp-diagnostic-launch .btn {
        grid-column: 1 / -1;
        width: 100%;
    }

    .page-content table td {
        max-width: 75vw;
    }
}

/* Cursor pagination keeps long discussions fast without changing their visual rhythm. */
.erp-comments-pagination {
    display: flex;
    justify-content: center;
    padding: 1.15rem 0 .25rem;
}

.erp-comments-pagination .btn {
    min-height: 42px;
    padding-inline: 1.1rem;
    border-radius: 12px;
}

.erp-spin {
    display: inline-block;
    animation: erp-spin .8s linear infinite;
}

@keyframes erp-spin {
    to { transform: rotate(360deg); }
}
