:root {
  --ps-purple:#5f55d8;
  --ps-purple-soft:#f2efff;
  --ps-border:#d9d9dd;
  --ps-border-light:#e9e9ec;
  --ps-bg:#f7f7f8;
  --ps-panel:#ffffff;
  --ps-side:#f8f8f9;
  --ps-selected:#f1f1ef;
  --ps-text:#252837;
  --ps-muted:#6d707d;
  --ps-blue:#5149bc;
  --ps-green:#48a868;
  --ps-shadow:0 10px 28px rgba(0,0,0,.06);
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing:border-box; }
html, body { margin:0; height:100%; font-family:var(--font); color:var(--ps-text); background:#fff; font-size:14px; }
body { overflow:hidden; }
button, input, textarea, select { font:inherit; }
button { cursor:pointer; }
.demo-app { min-height:100vh; display:grid; grid-template-rows:54px 1fr 30px; background:var(--ps-bg); }
.ps-topbar { height:54px; background:#fff; border-bottom:1px solid var(--ps-border); display:grid; grid-template-columns:174px 302px minmax(360px,1fr) 250px; align-items:center; gap:12px; padding:0 12px 0 8px; z-index:20; }
.ps-brand { display:flex; align-items:center; gap:9px; white-space:nowrap; font-size:19px; color:#2c2c35; }
.netwrix-n { font-weight:900; font-size:24px; color:#151826; line-height:1; transform:translateY(-1px); }
.ps-brand strong { font-weight:500; letter-spacing:-.02em; }
.ps-icons { height:100%; display:flex; align-items:center; gap:9px; }
.ps-icons button, .ps-actions button, .light-view-tools button { border:0; background:transparent; color:var(--ps-purple); min-width:34px; height:34px; border-radius:50%; display:grid; place-items:center; transition:.12s ease; }
.ps-icons button:hover, .ps-icons button.active, .ps-actions button:hover, .ps-actions button.active, .light-view-tools button:hover, .light-view-tools button.active { background:var(--ps-purple-soft); }
.ps-search { height:34px; display:grid; grid-template-columns:1fr 34px; align-items:center; border:1px solid #bfc2c8; background:#fff; }
.ps-search input { border:0; outline:0; height:100%; padding:0 12px; color:#3e4350; }
.ps-search input::placeholder { color:#818795; }
.ps-search span { display:grid; place-items:center; color:#596070; }
.ps-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.ps-avatar { width:38px !important; height:38px !important; border-radius:50% !important; border:1px solid #d2d2d7 !important; background:
  radial-gradient(circle at 31% 27%, var(--ps-purple) 0 3px, transparent 4px),
  radial-gradient(circle at 50% 27%, var(--ps-purple) 0 3px, transparent 4px),
  radial-gradient(circle at 69% 27%, var(--ps-purple) 0 3px, transparent 4px),
  radial-gradient(circle at 31% 50%, var(--ps-purple) 0 3px, transparent 4px),
  radial-gradient(circle at 50% 50%, var(--ps-purple) 0 3px, transparent 4px),
  radial-gradient(circle at 69% 50%, var(--ps-purple) 0 3px, transparent 4px),
  radial-gradient(circle at 31% 73%, var(--ps-purple) 0 3px, transparent 4px),
  radial-gradient(circle at 50% 73%, var(--ps-purple) 0 3px, transparent 4px),
  radial-gradient(circle at 69% 73%, var(--ps-purple) 0 3px, transparent 4px), #fff !important;
  color:transparent !important;
}
.demo-home { width:auto !important; min-width:auto !important; border-radius:3px !important; border:1px solid var(--ps-border) !important; color:#555b69 !important; padding:0 8px !important; font-size:12px; }

[data-icon]::before { display:block; line-height:1; font-size:19px; font-weight:600; }
[data-icon="key"]::before { content:"⚿"; font-size:23px; }
[data-icon="document"]::before { content:"▤"; }
[data-icon="org"]::before { content:"♚"; font-size:17px; }
[data-icon="roles"]::before { content:"◴"; }
[data-icon="forms"]::before { content:"▦"; }
[data-icon="book"]::before { content:"▰"; }
[data-icon="bell"]::before { content:"♧"; font-size:18px; }
[data-icon="grid"]::before { content:"▦"; }
[data-icon="search"]::before { content:"⌕"; font-size:24px; }
[data-icon="list"]::before { content:"☷"; }
[data-icon="grid2"]::before { content:"▦"; }
[data-icon="plus"]::before { content:"⊕"; }
[data-icon="shield"]::before { content:"♢"; }
[data-icon="user"]::before { content:"♙"; }
[data-icon="copy"]::before { content:"⧉"; }
[data-icon="eye"]::before { content:"⊙"; }
[data-icon="edit"]::before { content:"✎"; }
[data-icon="download"]::before { content:"⇩"; }
[data-icon="caret"]::before { content:"▾"; }

.ps-main { min-height:0; display:grid; grid-template-columns:250px 1fr; }
.ps-filter { min-width:0; background:#fff; border-right:1px solid var(--ps-border); overflow:auto; }
.filter-tabs { display:grid; grid-template-columns:1fr 1fr 32px; align-items:end; padding:28px 8px 0; gap:2px; }
.filter-tabs span, .filter-tabs button { height:29px; display:flex; align-items:center; padding:0 0 8px; color:#3a3d46; font-weight:500; border:0; background:transparent; }
.filter-tabs .active { border-bottom:4px solid var(--ps-purple); }
.filter-tabs .collapse { justify-content:center; font-size:24px; color:#565b66; padding-bottom:0; }
.filter-actions { display:grid; grid-template-columns:1fr 1fr 28px; gap:4px; padding:14px 8px 12px; }
.filter-actions button { height:31px; border:1px solid var(--ps-border); background:#fff; font-weight:600; color:#666b76; }
.filter-actions .apply { background:var(--ps-purple); color:#fff; border-color:var(--ps-purple); }
.filter-actions .gear { background:#fff; color:#5a5f6c; }
.filter-group { border-top:1px solid var(--ps-border-light); padding:11px 8px; }
.filter-title { display:flex; align-items:center; gap:4px; color:#626672; font-weight:500; margin-bottom:8px; }
.filter-title::before { content:"▴"; font-size:11px; color:#6f7480; }
.filter-row { display:flex; align-items:center; gap:8px; min-height:28px; color:#424754; }
.fake-checkbox { width:19px; height:19px; border:1px solid #bfc2c9; background:#fff; display:inline-grid; place-items:center; color:transparent; }
.fake-checkbox.on { background:var(--ps-purple); border-color:var(--ps-purple); color:#fff; }
.fake-checkbox.on::before { content:"✓"; font-size:12px; }
.fake-toggle { display:inline-flex; align-items:center; height:18px; border:1px solid #777b86; padding:0 3px; font-size:9px; font-weight:800; color:#525661; background:#fff; }
.filter-input { width:100%; height:34px; border:1px solid #bfc2c8; padding:0 9px; outline:none; background:#fff; }
.tree-list { display:grid; gap:0; margin-top:4px; }
.tree-item { display:grid; grid-template-columns:18px 20px 1fr auto; align-items:center; min-height:31px; padding:0 8px; color:#3d424d; border-radius:0; }
.tree-item:hover, .tree-item.active { background:var(--ps-selected); }
.tree-item .arrow { color:#8a8e98; font-size:13px; }
.tree-item .tree-icon { color:#7b7f8c; }
.tree-item .count { color:#808590; font-size:12px; }
.tree-level-1 { padding-left:18px; }
.tree-level-2 { padding-left:32px; }
.tree-level-3 { padding-left:46px; }

.ps-content { min-width:0; min-height:0; overflow:hidden; display:grid; grid-template-rows:76px 40px 1fr; background:#f4f4f5; }
.module-tabs { display:flex; align-items:end; padding:22px 18px 0; border-bottom:1px solid #ececef; }
.module-tabs button { min-width:102px; height:40px; border:1px solid var(--ps-border-light); border-bottom:0; background:#fff; color:#3f424d; }
.toolbar { min-width:0; display:flex; align-items:center; gap:6px; padding:7px 18px 5px; overflow:auto; }
.toolbar button { height:28px; display:inline-flex; align-items:center; gap:8px; border:1px solid #c7c9cf; background:#fff; color:#545a68; padding:0 11px; font-weight:600; white-space:nowrap; }
.toolbar .drop { width:28px; padding:0; justify-content:center; background:var(--ps-purple); color:#fff; border-color:var(--ps-purple); }
.module-body { min-height:0; display:grid; grid-template-columns:minmax(390px, 34%) 1fr; gap:18px; padding:8px 12px 12px 18px; overflow:hidden; }
.list-panel, .detail-panel, .audit-panel { background:#fff; border:1px solid var(--ps-border-light); box-shadow:0 1px 2px rgba(0,0,0,.02); min-height:0; overflow:hidden; }
.list-panel { display:grid; grid-template-rows:31px 1fr; }
.list-title { height:31px; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--ps-border-light); padding:0 10px; color:#696e7b; }
.minus-box { width:14px; height:14px; background:var(--ps-purple); color:#fff; display:grid; place-items:center; border-radius:2px; font-size:13px; line-height:1; }
.records { overflow:auto; }
.record-row { min-height:86px; display:grid; grid-template-columns:28px 44px 1fr 75px; align-items:center; border-bottom:1px solid var(--ps-border-light); padding:6px 8px; gap:8px; }
.record-row:hover, .record-row.active { background:var(--ps-selected); }
.record-row .check { width:14px; height:14px; border:1px solid #bfc2c8; }
.record-row.active .check { background:var(--ps-purple); border-color:var(--ps-purple); position:relative; }
.record-row.active .check::after { content:"✓"; color:#fff; font-size:10px; position:absolute; left:2px; top:-1px; }
.row-icon { width:32px; height:32px; border:1px solid #ececef; display:grid; place-items:center; color:#7b7f8b; background:#fff; font-size:12px; font-weight:800; }
.record-row h4 { margin:0; font-size:15px; line-height:1.2; }
.record-row p { margin:4px 0 0; color:#666b76; font-size:12px; }
.record-row a { color:#5245b9; text-decoration:none; display:block; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.record-date { text-align:right; color:#747987; font-size:13px; }
.record-date .shield { display:block; color:var(--ps-green); font-size:16px; margin-bottom:2px; }
.detail-panel { overflow:auto; padding:12px; }
.detail-head { min-height:70px; background:#f1f0ee; display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:12px; padding:12px 16px; margin:0 0 14px; }
.detail-icon { width:38px; height:38px; background:#fff; border:1px solid #e1e2e5; display:grid; place-items:center; color:#6f7480; font-weight:900; }
.detail-head h3 { margin:0; font-size:17px; font-weight:500; }
.detail-head p { margin:3px 0 0; color:#777b86; font-size:12px; }
.scope { color:var(--ps-purple); font-weight:600; white-space:nowrap; }
.form-section { border-top:1px solid var(--ps-border-light); padding:12px 0; }
.form-section h4 { margin:0 0 10px; font-size:14px; color:#6a6e78; }
.form-grid { display:grid; grid-template-columns:255px 1fr 28px; gap:9px; align-items:center; }
.form-grid label { color:#616672; }
.form-grid input, .form-grid textarea, .form-grid select { width:100%; border:1px solid #bfc2c8; background:#fff; min-height:34px; padding:7px 10px; color:#252837; }
.form-grid textarea { min-height:90px; resize:vertical; }
.form-grid .dots { text-align:center; color:#5d626e; font-size:20px; }
.password-wrap { display:grid; grid-template-columns:1fr 70px 38px; }
.password-wrap input { border-right:0; }
.strength { display:grid; place-items:center; border:1px solid #bfc2c8; border-left:0; color:#316b3f; background:#eef8ee; font-size:12px; font-weight:700; }
.eye-btn { border:1px solid #bfc2c8; border-left:0; background:#fff; color:#6c717d; }
.tags { display:flex; flex-wrap:wrap; gap:6px; }
.tag { border:1px solid #d5d6db; background:#f7f7f8; border-radius:3px; padding:3px 7px; color:#595e6a; font-size:12px; }
.permission-list, .member-list, .field-table, .rights-table { border:1px solid var(--ps-border-light); width:100%; border-collapse:collapse; }
.permission-list td, .member-list td, .field-table td, .field-table th, .rights-table td, .rights-table th { border:1px solid var(--ps-border-light); padding:8px; text-align:left; font-size:13px; }
.permission-list td:last-child, .member-list td:last-child { color:#676c77; }

.structure-layout .list-panel { grid-template-rows:39px 1fr; }
.structure-search { padding:4px; border-bottom:1px solid var(--ps-border-light); }
.structure-search input { width:100%; height:30px; border:1px solid #c6c8ce; padding:0 10px; }
.structure-row { min-height:32px; display:grid; grid-template-columns:24px 1fr 28px; align-items:center; padding:0 9px; border-bottom:1px solid #f0f0f2; }
.structure-row.active, .structure-row:hover { background:var(--ps-selected); }
.structure-row .type { color:#7e838e; }

.audit-body { grid-template-columns:1fr; }
.audit-panel { overflow:auto; }
.audit-toolbar { display:flex; gap:8px; padding:8px; border-bottom:1px solid var(--ps-border-light); }
.audit-toolbar button { height:30px; border:1px solid #c8cbd2; background:#fff; color:#596070; padding:0 12px; font-weight:600; }
.audit-subtabs { display:flex; gap:18px; padding:8px 8px 0; border-bottom:1px solid var(--ps-border-light); }
.audit-subtabs button { border:0; background:transparent; padding:8px 0; color:#596070; }
.audit-subtabs .active { border-bottom:3px solid var(--ps-purple); color:#222; }
.audit-search { padding:10px; }
.audit-search input { width:100%; height:34px; border:1px solid #c4c7ce; padding:0 10px; }
.audit-table { width:100%; border-collapse:collapse; font-size:13px; }
.audit-table th { background:#f7f7f8; color:#777b86; font-weight:500; border:1px solid #e2e2e5; padding:6px; text-align:left; position:sticky; top:0; }
.audit-table td { border:1px solid #e2e2e5; padding:6px; white-space:nowrap; max-width:220px; overflow:hidden; text-overflow:ellipsis; }
.audit-table tr:hover, .audit-table tr.active { background:var(--ps-selected); }

.light-main { min-height:0; overflow:auto; background:#f6f6f7; }
.light-shell { padding:22px 12px 44px; }
.light-tabs { display:flex; gap:2px; align-items:end; border-bottom:1px solid #ececef; }
.light-tabs button { min-width:116px; height:39px; border:1px solid #e5e5e8; border-bottom:0; background:#f6f6f4; color:#444a55; }
.light-tabs button.active { background:#fff; }
.light-tabs button .close { margin-left:9px; color:#626773; }
.light-toolbar { display:flex; align-items:center; justify-content:space-between; margin:18px 0 14px; }
.light-toolbar .primary { height:36px; border:0; background:var(--ps-purple); color:#fff; padding:0 18px; font-weight:700; display:flex; align-items:center; gap:7px; }
.light-view-tools { display:flex; gap:2px; background:#ececee; padding:3px; }
.light-view-tools button { border-radius:0; color:#4c5260; }
.light-records.list { background:#fff; border:1px solid #ececef; }
.light-row { min-height:33px; display:grid; grid-template-columns:34px 1.4fr 1.2fr 2fr 32px; align-items:center; border-bottom:1px solid #ececef; padding:0 10px; gap:12px; }
.light-row:hover { background:#f0f0ef; }
.light-row strong { font-size:13px; }
.light-row span, .light-row a { color:#5146b9; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.light-row .user { color:#252837; }
.light-row .menu { color:#565c68; text-align:center; font-size:19px; }
.light-records.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; background:transparent; border:0; }
.light-card { background:#fff; border:1px solid #e3e3e6; border-radius:2px; padding:14px; display:grid; gap:8px; min-height:142px; }
.light-card strong { font-size:14px; }
.light-card span, .light-card a { color:#5146b9; text-decoration:none; font-size:12px; word-break:break-word; }
.light-card .row-icon { width:28px; height:28px; }

.ps-statusbar { height:30px; background:#fff; border-top:1px solid var(--ps-border); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 8px; color:#5c606c; font-size:12px; white-space:nowrap; }
.ps-statusbar a { color:var(--ps-purple); text-decoration:none; }
.toast { position:fixed; right:18px; bottom:45px; z-index:50; background:#252837; color:#fff; border-radius:3px; padding:10px 12px; box-shadow:0 14px 40px rgba(0,0,0,.22); opacity:0; transform:translateY(10px); pointer-events:none; transition:.18s ease; }
.toast.show { opacity:1; transform:none; }
.modal { position:fixed; inset:0; z-index:60; background:rgba(30,32,40,.32); display:grid; place-items:center; padding:20px; }
.modal[hidden] { display:none; }
.modal-card { width:min(760px,100%); max-height:min(84vh,760px); overflow:auto; background:#fff; border:1px solid #c6c9d1; box-shadow:0 24px 80px rgba(0,0,0,.25); }
.modal-head { height:44px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--ps-border); padding:0 14px; }
.modal-head button { border:0; background:transparent; color:#4c5260; font-size:26px; }
.modal-body { padding:16px; }
.modal-form { display:grid; gap:10px; }
.modal-form label { display:grid; grid-template-columns:170px 1fr; align-items:center; gap:10px; color:#555b66; }
.modal-form input, .modal-form textarea, .modal-form select { border:1px solid #bfc2c8; padding:8px; min-height:34px; }
.modal-form .modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.modal-form button { border:1px solid #c3c6ce; background:#fff; height:32px; padding:0 12px; }
.modal-form .primary { background:var(--ps-purple); color:#fff; border-color:var(--ps-purple); }

body.is-preview .demo-app { grid-template-rows:54px 1fr 0; }
body.is-preview .ps-statusbar { display:none; }
body.is-preview .ps-topbar { grid-template-columns:174px 270px minmax(300px,1fr) 154px; }
body.is-preview .ps-actions .demo-home { display:none; }
body.is-preview .ps-main { grid-template-columns:240px 1fr; }
body.is-preview .ps-content { grid-template-rows:62px 38px 1fr; }
body.is-preview .module-body { grid-template-columns:410px 1fr; padding-right:8px; gap:12px; }
body.is-preview .ps-filter { font-size:13px; }
body.is-preview .toolbar button:nth-child(n+7) { display:none; }
body.is-preview .detail-panel { font-size:13px; }
body.is-preview .form-grid { grid-template-columns:170px 1fr 22px; }

@media (max-width:1100px) {
  body { overflow:auto; }
  .demo-app { min-width:980px; }
}

/* Final demo polish: prevent topbar overlap, make Light View switch immediately usable, and keep right detail pane scrollable. */
.ps-topbar { grid-template-columns:174px 360px minmax(260px,1fr) max-content; }
.ps-icons { min-width:max-content; overflow:visible; }
.ps-search { min-width:0; }
.ps-actions { min-width:max-content; }
.ps-actions [data-view="advanced"] { display:grid; }
.module-body:not(.audit-body) .detail-panel { overflow-y:auto; max-height:calc(100vh - 54px - 30px - 76px - 40px - 20px); }

body.is-light-view .demo-app { grid-template-rows:54px 1fr 30px; }
body.is-light-view .ps-topbar { grid-template-columns:174px minmax(320px,1fr) max-content; }
body.is-light-view .ps-icons { display:none; }
body.is-light-view .ps-actions { gap:10px; }
body.is-light-view .ps-actions [data-view="light"] { display:none; }
body.is-light-view .ps-actions [data-view="advanced"] { border-radius:50%; }
body.is-light-view .light-main { overflow-y:auto; }
.light-records { min-height:160px; }
.light-empty { border:1px dashed #cfd2d8; background:#fff; padding:22px; color:#5d6370; display:grid; gap:4px; }
.light-empty strong { color:#252837; }
.light-card { position:relative; }
.light-card .menu { position:absolute; right:10px; top:8px; color:#565c68; font-size:18px; }

body.is-preview .ps-topbar { grid-template-columns:174px 320px minmax(260px,1fr) 154px; }
body.is-preview.is-light-view .ps-topbar { grid-template-columns:174px minmax(280px,1fr) 154px; }
body.is-preview.is-light-view .ps-icons { display:none; }
body.is-preview .module-body:not(.audit-body) .detail-panel { max-height:calc(100vh - 54px - 62px - 38px - 16px); }

/* v4 demo fixes: reliable Light View switching, non-overlapping topbar, scrollable lists/details. */
.ps-topbar {
  grid-template-columns:174px minmax(300px, auto) minmax(260px, 1fr) max-content;
  column-gap:14px;
}
.ps-icons { min-width:0; overflow:visible; }
.ps-search { min-width:260px; position:relative; z-index:1; }
.ps-actions { position:relative; z-index:2; min-width:max-content; }
.ps-actions [data-view="advanced"] { display:grid; }
.ps-main, .ps-content, .module-body, .list-panel, .detail-panel { min-height:0; }
.passwords-layout .list-panel, .forms-layout .list-panel, .roles-layout .list-panel, .structure-layout .list-panel {
  height:100%;
  max-height:calc(100vh - 54px - 30px - 76px - 40px - 20px);
}
.passwords-layout .records, .forms-layout .records, .roles-layout .records, .structure-layout .records {
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.module-body:not(.audit-body) .detail-panel {
  max-height:calc(100vh - 54px - 30px - 76px - 40px - 20px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.light-main[hidden], .ps-main[hidden] { display:none !important; }
body.is-light-view .demo-app { grid-template-rows:54px minmax(0,1fr) 30px; }
body.is-light-view .ps-topbar { grid-template-columns:174px minmax(260px,1fr) max-content; }
body.is-light-view .ps-search { grid-column:auto; }
body.is-light-view .ps-actions [data-view="advanced"] { display:grid; background:var(--ps-purple-soft); color:var(--ps-purple); }
body.is-light-view .light-main { display:block; min-height:0; overflow-y:auto; }
.light-shell { min-height:100%; }
.light-tabs { overflow-x:auto; padding-left:0; }
.light-tabs button { flex:0 0 auto; }
.light-records.list { max-height:calc(100vh - 54px - 30px - 39px - 72px - 44px); overflow:auto; }
.light-row { cursor:pointer; }
.light-card { cursor:pointer; }
.light-empty { min-height:160px; }

@media (max-width:1100px) {
  .ps-topbar { grid-template-columns:154px minmax(230px, auto) minmax(210px, 1fr) max-content; gap:8px; }
  .ps-icons { gap:4px; }
  .ps-icons button, .ps-actions button { min-width:31px; height:31px; }
  .demo-home { display:none !important; }
}
@media (max-width:760px) {
  .ps-topbar { grid-template-columns:1fr max-content; grid-template-rows:48px 40px; height:auto; padding:0 8px 6px; }
  .demo-app { grid-template-rows:94px 1fr 30px; }
  .ps-brand { grid-column:1; }
  .ps-icons { grid-column:2; grid-row:1; justify-content:flex-end; }
  .ps-search { grid-column:1 / -1; grid-row:2; min-width:0; }
  .ps-actions { grid-column:2; grid-row:1; }
  .ps-main { grid-template-columns:1fr; }
  .ps-filter { display:none; }
  .module-body { grid-template-columns:1fr; }
}

/* v5 demo polish: closer topbar, reliable Light View, favicon records, collapsible OUs and new-password screen. */
.ps-topbar {
  grid-template-columns:166px minmax(300px, auto) minmax(260px, 1fr) max-content;
  gap:12px;
  padding-right:12px;
}
.ps-icons button[title="Anwendungen"] { margin-left:4px; }
.ps-actions { gap:10px; }
.ps-actions::before {
  content:"";
  width:1px;
  height:34px;
  background:var(--ps-border);
  margin-right:6px;
}
.ps-actions [data-view] {
  border-radius:5px !important;
  min-width:34px;
  color:var(--ps-purple);
}
.ps-actions [data-view].active { background:var(--ps-purple-soft); }
.ps-avatar {
  margin-left:4px;
  width:44px !important;
  height:44px !important;
  box-shadow:0 0 0 5px #fff, 0 1px 6px rgba(0,0,0,.12) !important;
}
.profile-menu {
  position:fixed;
  z-index:80;
  right:18px;
  top:54px;
  width:272px;
  background:#fff;
  border:1px solid #e5e6eb;
  border-radius:4px;
  box-shadow:0 18px 45px rgba(15,20,35,.18);
  padding:0;
  overflow:hidden;
}
.profile-menu[hidden] { display:none !important; }
.profile-menu-head { padding:15px 18px 12px; display:grid; gap:3px; }
.profile-menu-head strong { font-size:16px; font-weight:500; }
.profile-menu-head span { color:#697080; }
.profile-menu button {
  width:100%;
  height:44px;
  border:0;
  background:#fff;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 18px;
  color:#2d3141;
  font-size:16px;
  text-align:left;
}
.profile-menu button:hover { background:#f6f6f8; }
.profile-menu button span { width:22px; color:#62677a; text-align:center; font-size:19px; }
.profile-menu button:last-child { border-top:1px solid #e6e7eb; }
[data-icon="apps"]::before { content:"▦"; }
[data-icon="view-advanced"]::before { content:"☷"; font-size:18px; }
[data-icon="view-light"]::before { content:"▦"; font-size:18px; }
[data-icon="bell"]::before { content:""; }

body.is-light-view .ps-topbar { grid-template-columns:166px minmax(260px, 1fr) max-content; }
body.is-light-view .ps-icons { display:none; }
body.is-light-view .ps-actions [data-view="light"] { background:var(--ps-purple-soft); }
body:not(.is-light-view) .ps-actions [data-view="advanced"] { background:var(--ps-purple-soft); }

.tree-item { grid-template-columns:24px 24px minmax(0,1fr) auto; }
.tree-item .arrow {
  border:0;
  background:transparent;
  color:#737884;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  padding:0;
  font-size:13px;
}
.tree-item .arrow:hover { color:var(--ps-purple); background:var(--ps-purple-soft); border-radius:4px; }
.tree-level-4 { padding-left:50px !important; }
.structure-row { grid-template-columns:24px minmax(0,1fr) auto 22px; }
.structure-row small { color:#747986; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; }
.structure-level-1 { padding-left:28px !important; }
.structure-level-2 { padding-left:44px !important; }
.structure-level-3 { padding-left:60px !important; }
.structure-level-4 { padding-left:76px !important; }

.record-row { grid-template-columns:24px 48px minmax(0,1fr) 92px; }
.record-favicon {
  width:34px;
  height:34px;
  border:1px solid #e0e2e8;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#4f55c9;
  font-size:11px;
  font-weight:800;
}
.record-favicon.row { width:34px; height:34px; }
.record-favicon.large { width:42px; height:42px; flex:0 0 42px; }
.record-favicon img { width:22px; height:22px; object-fit:contain; }
.record-favicon.large img { width:26px; height:26px; }
.record-favicon b { display:none; }
.record-favicon.fallback b { display:block; }
.record-favicon.fallback { background:linear-gradient(135deg,#fbfcff,#eef2ff); }
.detail-head .record-favicon { margin-right:12px; }
.light-row { grid-template-columns:34px minmax(240px,1fr) minmax(160px,.65fr) minmax(280px,1fr) 28px; }
.light-card .record-favicon { margin-bottom:8px; }

.ps-main, .ps-content, .module-body, .list-panel, .records { min-height:0; }
.passwords-layout .list-panel { overflow:hidden; }
.passwords-layout .records {
  overflow-y:auto;
  max-height:calc(100vh - 54px - 30px - 76px - 40px - 20px);
}

.new-password-layout { display:block; padding:0; overflow:auto; background:#fafafa; }
.new-entry-panel { padding:0 0 28px; }
.new-entry-form { display:grid; gap:0; }
.new-form-group {
  border-bottom:1px solid #e4e5e8;
  padding:18px 16px 18px 12px;
}
.new-form-group h4 {
  margin:0 0 12px;
  font-size:14px;
  color:#4f5361;
  font-weight:700;
}
.new-form-row {
  display:grid;
  grid-template-columns:430px minmax(300px,1fr) 24px;
  align-items:center;
  gap:12px;
  margin:8px 0;
  position:relative;
}
.new-form-row label { color:#616774; }
.new-form-row input,
.new-form-row select,
.new-form-row textarea,
.permission-chip {
  width:100%;
  border:1px solid #bfc3cc;
  background:#fff;
  min-height:34px;
  padding:6px 10px;
  color:#252837;
  outline:0;
}
.new-form-row input:focus,
.new-form-row select:focus,
.new-form-row textarea:focus { border-color:#4b4fd6; box-shadow:0 0 0 1px #4b4fd6 inset; }
.new-form-row.required input:invalid,
.new-form-row.required input:placeholder-shown { border-color:#e13030; box-shadow:0 0 0 1px #e13030 inset; }
.new-form-row small {
  grid-column:2;
  color:#d83232;
  font-size:12px;
  margin-top:-5px;
}
.new-form-row .dots { color:#4c5161; font-size:21px; display:grid; place-items:center; }
.textarea-row { align-items:start; }
.textarea-row textarea { min-height:92px; resize:vertical; }
.permission-chip { display:flex; align-items:center; color:#293045; }
.permission-chip.muted { color:#565b6a; background:#fff; }
.new-password-field {
  display:grid;
  grid-template-columns:1fr 68px 34px 34px;
  align-items:center;
  border:1px solid #bfc3cc;
  background:#eaf2ff;
}
.new-password-field input { border:0; box-shadow:none !important; background:#eaf2ff; }
.new-password-field .strength {
  height:100%;
  display:grid;
  place-items:center;
  border-left:1px solid #dbe5d7;
  background:#ecfaed;
  color:#2f7338;
  font-size:12px;
}
.new-password-field button {
  height:34px;
  border:0;
  border-left:1px solid #d5d8df;
  background:#fff;
  color:#596070;
}
.new-password-field button:hover { color:var(--ps-purple); background:var(--ps-purple-soft); }

.modal-card { max-height:88vh; overflow:auto; }
@media (max-width:1100px) {
  .ps-topbar { grid-template-columns:154px minmax(260px, auto) minmax(200px, 1fr) max-content; }
  .profile-menu { right:10px; }
  .new-form-row { grid-template-columns:240px minmax(220px,1fr) 24px; }
}
@media (max-width:760px) {
  .ps-actions::before { display:none; }
  body.is-light-view .ps-topbar { grid-template-columns:1fr max-content; grid-template-rows:48px 40px; }
  body.is-light-view .ps-search { grid-column:1 / -1; grid-row:2; }
  .profile-menu { top:48px; right:8px; width:min(280px, calc(100vw - 16px)); }
  .new-form-row { grid-template-columns:1fr; gap:6px; }
  .new-form-row small { grid-column:1; }
  .new-form-row .dots { display:none; }
  .light-row { grid-template-columns:34px 1fr 28px; }
  .light-row .user, .light-row a { grid-column:2; }
}
body.is-new-entry .ps-main { grid-template-columns:1fr; }
body.is-new-entry .ps-filter { display:none; }
body.is-new-entry .module-tabs { background:#f8f8f8; }

/* v6 demo refinements: polished vector icons and real tab behavior for new entries. */
.module-tabs button { padding:0 18px; }
.module-tabs button:not(.active) { background:#f7f7f8; }
.new-entry-tab { min-width:156px; font-style:italic; }
.tab-close { display:inline-grid; place-items:center; width:18px; height:18px; margin-left:8px; border-radius:50%; color:#404553; font-style:normal; }
.tab-close:hover { background:#e9e9ee; color:#171923; }

.ps-icons button, .ps-actions [data-view] {
  position:relative;
  color:#584bd6;
}
.ps-icons button:hover, .ps-icons button.active, .ps-actions button:hover, .ps-actions button.active {
  box-shadow:inset 0 0 0 1px rgba(95,85,216,.08);
}
[data-icon]::before {
  content:"" !important;
  display:block;
  width:19px;
  height:19px;
  background:currentColor;
  -webkit-mask:var(--icon) no-repeat center / contain;
  mask:var(--icon) no-repeat center / contain;
  font-size:0 !important;
  line-height:1;
}
[data-icon="key"]::before { width:21px; height:21px; --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='5.5'/%3E%3Cpath d='m12 12 8-8 3 3-2 2 2 2-2 2-2-2-4 4'/%3E%3C/svg%3E"); }
[data-icon="document"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M8 13h8M8 17h8'/%3E%3C/svg%3E"); }
[data-icon="org"]::before { width:21px; height:21px; --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='3'/%3E%3Ccircle cx='5' cy='19' r='3'/%3E%3Ccircle cx='19' cy='19' r='3'/%3E%3Cpath d='M12 8v4M5 16v-2h14v2'/%3E%3C/svg%3E"); }
[data-icon="roles"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
[data-icon="forms"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M8 4v16M3 10h18M3 15h18'/%3E%3C/svg%3E"); }
[data-icon="book"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M4 4.5A2.5 2.5 0 0 1 6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5z'/%3E%3Cpath d='M8 7h8M8 11h8'/%3E%3C/svg%3E"); }
[data-icon="apps"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
[data-icon="search"]::before { width:18px; height:18px; --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E"); }
[data-icon="view-advanced"]::before, [data-icon="list"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13'/%3E%3Cpath d='M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E"); }
[data-icon="view-light"]::before, [data-icon="grid2"]::before, [data-icon="grid"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
[data-icon="plus"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
[data-icon="caret"]::before { width:13px; height:13px; --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
[data-icon="eye"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
[data-icon] { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E"); }
[data-icon="plus"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
[data-icon="shield"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); }
[data-icon="user"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
[data-icon="copy"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E"); }
[data-icon="edit"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E"); }
[data-icon="download"]::before { --icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E"); }


/* v6.1 demo polish: vector-like PasswordSecure topbar icons and tab close affordance. */
.ps-icons [data-icon]::before, .ps-actions [data-icon]::before, .ps-search [data-icon]::before, .light-view-tools [data-icon]::before, .toolbar [data-icon]::before { content:''; width:20px; height:20px; display:block; background:currentColor; -webkit-mask:var(--icon-svg) center / contain no-repeat; mask:var(--icon-svg) center / contain no-repeat; }
[data-icon="key"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%2714.5%27%20r%3D%273.5%27/%3E%3Cpath%20d%3D%27M10%2012l8-8%203%203-2%202%202%202-2%202-2-2-4%204%27/%3E%3C/svg%3E"); }
[data-icon="document"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%203h7l5%205v13H7z%27/%3E%3Cpath%20d%3D%27M14%203v6h6%27/%3E%3Cpath%20d%3D%27M9%2014h6M9%2018h6%27/%3E%3C/svg%3E"); }
[data-icon="org"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%275%27%20r%3D%273%27/%3E%3Ccircle%20cx%3D%275%27%20cy%3D%2719%27%20r%3D%273%27/%3E%3Ccircle%20cx%3D%2719%27%20cy%3D%2719%27%20r%3D%273%27/%3E%3Cpath%20d%3D%27M12%208v4M5%2016v-2h14v2%27/%3E%3C/svg%3E"); }
[data-icon="roles"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%27/%3E%3Ccircle%20cx%3D%279%27%20cy%3D%277%27%20r%3D%274%27/%3E%3Cpath%20d%3D%27M22%2021v-2a4%204%200%200%200-3-3.87%27/%3E%3Cpath%20d%3D%27M16%203.13a4%204%200%200%201%200%207.75%27/%3E%3C/svg%3E"); }
[data-icon="forms"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%274%27%20width%3D%2718%27%20height%3D%2716%27%20rx%3D%272%27/%3E%3Cpath%20d%3D%27M3%2010h18M9%204v16%27/%3E%3C/svg%3E"); }
[data-icon="book"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2019.5A2.5%202.5%200%200%201%206.5%2017H20%27/%3E%3Cpath%20d%3D%27M4%204.5A2.5%202.5%200%200%201%206.5%202H20v20H6.5A2.5%202.5%200%200%201%204%2019.5z%27/%3E%3Cpath%20d%3D%27M8%206h8M8%2010h8%27/%3E%3C/svg%3E"); }
[data-icon="apps"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2710.5%27%20y%3D%274%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2717%27%20y%3D%274%27%20width%3D%273%27%20height%3D%275%27%20rx%3D%271%27/%3E%3Crect%20x%3D%274%27%20y%3D%2710.5%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2710.5%27%20y%3D%2710.5%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2717%27%20y%3D%2710.5%27%20width%3D%273%27%20height%3D%275%27%20rx%3D%271%27/%3E%3Crect%20x%3D%274%27%20y%3D%2717%27%20width%3D%275%27%20height%3D%273%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2710.5%27%20y%3D%2717%27%20width%3D%275%27%20height%3D%273%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2717%27%20y%3D%2717%27%20width%3D%273%27%20height%3D%273%27%20rx%3D%271%27/%3E%3C/svg%3E"); }
[data-icon="search"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2711%27%20cy%3D%2711%27%20r%3D%277%27/%3E%3Cpath%20d%3D%27M21%2021l-4.35-4.35%27/%3E%3C/svg%3E"); }
[data-icon="view-advanced"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M8%206h12M8%2012h12M8%2018h12%27/%3E%3Cpath%20d%3D%27M4%206h.01M4%2012h.01M4%2018h.01%27/%3E%3C/svg%3E"); }
[data-icon="view-light"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%276%27%20height%3D%276%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2714%27%20y%3D%274%27%20width%3D%276%27%20height%3D%276%27%20rx%3D%271%27/%3E%3Crect%20x%3D%274%27%20y%3D%2714%27%20width%3D%276%27%20height%3D%276%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2714%27%20y%3D%2714%27%20width%3D%276%27%20height%3D%276%27%20rx%3D%271%27/%3E%3C/svg%3E"); }
[data-icon="list"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M8%206h13M8%2012h13M8%2018h13%27/%3E%3Cpath%20d%3D%27M3%206h.01M3%2012h.01M3%2018h.01%27/%3E%3C/svg%3E"); }
[data-icon="grid2"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2713%27%20y%3D%274%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27/%3E%3Crect%20x%3D%274%27%20y%3D%2713%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27/%3E%3Crect%20x%3D%2713%27%20y%3D%2713%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271%27/%3E%3C/svg%3E"); }
[data-icon="plus"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.3%27%20stroke-linecap%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27/%3E%3Cpath%20d%3D%27M12%208v8M8%2012h8%27/%3E%3C/svg%3E"); }
[data-icon="caret"] { --icon-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209l6%206%206-6%27/%3E%3C/svg%3E"); }
.ps-icons button { color:#554bd6; }
.ps-icons button:hover, .ps-icons button.active, .ps-actions button:hover, .ps-actions button.active { color:#4e45d4; }
.module-tabs .new-entry-tab { min-width:152px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-style:italic; }
.module-tabs .tab-close { width:18px; height:18px; border-radius:50%; display:inline-grid; place-items:center; color:#363b48; font-style:normal; line-height:1; }
.module-tabs .tab-close:hover { background:#ebeafc; color:#5149bc; }
.module-tabs [data-tab-switch] { background:#fbfbfc; color:#3c414d; }


/* v6 demo: hochwertigere Topbar-Icons und New-Entry-Tab wie im Webclient */
[data-icon]::before{content:'' !important;width:21px;height:21px;display:block;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;font-size:0 !important;line-height:0 !important;}
[data-icon="key"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%2714.5%27%20r%3D%274.5%27%2F%3E%3Cpath%20d%3D%27M11%2011l9-9%27%2F%3E%3Cpath%20d%3D%27M15%207l2%202%27%2F%3E%3Cpath%20d%3D%27M13%209l2%202%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="document"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%203h7l4%204v14H7z%27%2F%3E%3Cpath%20d%3D%27M14%203v5h5%27%2F%3E%3Cpath%20d%3D%27M9%2013h6M9%2017h6%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="org"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%276%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%276%27%20cy%3D%2718%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%2718%27%20cy%3D%2718%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M12%209v3M6%2015v-2h12v2%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="roles"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203l7%203v5c0%205-3%208-7%2010-4-2-7-5-7-10V6z%27%2F%3E%3Cpath%20d%3D%27M9%2012l2%202%204-5%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="forms"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%2716%27%20height%3D%2716%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M4%2010h16M10%204v16M13%2014h4M13%2017h3%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="book"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%205.5A3.5%203.5%200%200%201%207.5%202H20v17H7.5A3.5%203.5%200%200%200%204%2022z%27%2F%3E%3Cpath%20d%3D%27M4%205.5A3.5%203.5%200%200%201%207.5%209H20%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="apps"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2710%27%20y%3D%274%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2716%27%20y%3D%274%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2710%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2710%27%20y%3D%2710%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2716%27%20y%3D%2710%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2716%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2710%27%20y%3D%2716%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2716%27%20y%3D%2716%27%20width%3D%275%27%20height%3D%275%27%20rx%3D%271%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="search"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%3E%3Ccircle%20cx%3D%2711%27%20cy%3D%2711%27%20r%3D%277%27%2F%3E%3Cpath%20d%3D%27M20%2020l-4-4%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="list"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M8%206h12M8%2012h12M8%2018h12%27%2F%3E%3Cpath%20d%3D%27M4%206h.01M4%2012h.01M4%2018h.01%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="grid2"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%276%27%20height%3D%276%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%274%27%20width%3D%276%27%20height%3D%276%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2714%27%20width%3D%276%27%20height%3D%276%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%2714%27%20width%3D%276%27%20height%3D%276%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="view-advanced"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.1%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%206h12M8%2012h12M8%2018h12%27%2F%3E%3Cpath%20d%3D%27M4%206l1%201%202-2M4%2012l1%201%202-2M4%2018l1%201%202-2%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="view-light"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2713%27%20y%3D%274%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2713%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2713%27%20y%3D%2713%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="plus"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%208v8M8%2012h8%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
[data-icon="caret"]::before{--svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27black%27%3E%3Cpath%20d%3D%27M7%209l5%206%205-6z%27%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:var(--svg);mask-image:var(--svg);}
.ps-icons button{color:#5850cf;}.ps-icons button:hover,.ps-icons button.active{color:#4f46e5;background:#f1efff;box-shadow:0 0 0 1px rgba(95,85,216,.08) inset;}
.ps-actions [data-view]{color:#5f55d8;}.ps-actions [data-view].active{box-shadow:0 0 0 1px rgba(95,85,216,.11) inset;}
.module-tabs .new-entry-tab{min-width:158px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-style:italic;background:#fff;}
.module-tabs .new-entry-tab .tab-close{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;color:#343746;font-style:normal;font-weight:700;line-height:1;}
.module-tabs .new-entry-tab .tab-close:hover{background:#ececf2;color:#111827;}
body.is-new-entry .ps-main{grid-template-columns:250px 1fr !important;}body.is-new-entry .ps-filter{display:block !important;}body.is-new-entry .module-body{grid-template-columns:1fr !important;}body.is-new-entry .ps-content{grid-template-rows:76px 40px 1fr;}


/* v7: context menu and polish */
[data-record], [data-light-record] { cursor:default; }
.context-menu {
  position:fixed;
  inset:0;
  z-index:80;
  pointer-events:none;
}
.context-menu[hidden] { display:none; }
.context-menu-panel {
  position:absolute;
  min-width:320px;
  max-width:360px;
  background:#f8f8f9;
  border:1px solid #d9d9dd;
  box-shadow:0 24px 50px rgba(0,0,0,.16);
  pointer-events:auto;
}
.context-menu-section + .context-menu-section { border-top:1px solid #d8d8dd; }
.context-menu-item {
  width:100%;
  min-height:44px;
  display:grid;
  grid-template-columns:28px 1fr auto 16px;
  gap:12px;
  align-items:center;
  padding:8px 14px;
  border:0;
  background:transparent;
  text-align:left;
  color:#373b47;
  font-size:15px;
}
.context-menu-item:hover, .context-menu-item.active { background:#ececef; }
.context-menu-item .icon { color:#686d79; font-size:20px; text-align:center; }
.context-menu-item .shortcut { color:#757989; font-size:13px; }
.context-menu-item .caret { color:#757989; font-size:14px; }
.context-menu-submenu {
  position:absolute;
  left:100%;
  top:0;
  min-width:250px;
  background:#f8f8f9;
  border:1px solid #d9d9dd;
  box-shadow:0 24px 50px rgba(0,0,0,.16);
  display:none;
}
.context-menu-item.has-submenu:hover > .context-menu-submenu,
.context-menu-item.has-submenu:focus-within > .context-menu-submenu { display:block; }
body.context-open .record-row.active,
body.context-open .light-row.context-active,
body.context-open .light-card.context-active { background:#ececef; }
