/* Clean enterprise login UI */
body{
    background:#f5f7fb;
}

#lNew,
.ltabs,
.seg{
    display:none !important;
}

.lbox{
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    border-radius:20px;
}

.ulist{
    max-width:720px;
    margin:auto;
}

.ucard{
    border:1px solid #e5e7eb;
    transition:all .2s ease;
}

.ucard:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 20px rgba(0,0,0,.08);
}


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#fff;--bg2:#f8fafc;--bg3:#f1f5f9;
  --tx:#0f172a;--tx2:#475569;--tx3:#94a3b8;
  --bd:rgba(15,23,42,0.08);--bd2:rgba(15,23,42,0.14);
  --acc:#1d6fd4;--r:8px;--rl:12px;--warn:#b45309;--danger:#b91c1c;
  --sf:var(--bg2);--sf2:var(--bg3);--input-bg:var(--bg2);--surface:var(--bg);
  --shadow-sm:0 1px 2px rgba(16,24,40,0.04);
  --focus-ring:0 0 0 3px rgba(29,111,212,0.14);
}
[data-module="it"]{
  --acc:#1d6fd4;
  --focus-ring:0 0 0 3px rgba(29,111,212,0.14);
}
[data-module="admin"]{
  --acc:#1d6fd4;
  --focus-ring:0 0 0 3px rgba(29,111,212,0.14);
}
[data-theme="dark"]{
  --bg:#14181f;
  --bg2:#1c2430;
  --bg3:#0e1218;
  --tx:#eceff4;
  --tx2:#b3becd;
  --tx3:#7f8c9d;
  --bd:rgba(255,255,255,.08);
  --bd2:rgba(255,255,255,.14);
  --acc:#7eb0dc;
  --acc2:#5b9fd4;
  --acc-soft:rgba(126,176,220,.14);
  --sf:var(--bg2);--sf2:var(--bg3);--input-bg:#222c3a;--surface:#181f2a;
  --shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --focus-ring:0 0 0 3px rgba(126,176,220,.24);
  color-scheme:dark;
}
[data-theme="dark"][data-module="it"]{
  --acc:#60a5fa;
  --acc2:#3b82f6;
  --acc-soft:rgba(96,165,250,.15);
  --focus-ring:0 0 0 3px rgba(96,165,250,.24);
}
[data-theme="dark"][data-module="admin"]{
  --acc:#60a5fa;
  --acc2:#3b82f6;
  --acc-soft:rgba(96,165,250,.15);
  --focus-ring:0 0 0 3px rgba(96,165,250,.24);
}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg3);color:var(--tx);min-height:100vh;font-size:13px}

/* Global tooltips — use data-tip="..." or title="..."; ? icons use class help-tip */
.app-tooltip{
  position:fixed;
  z-index:10050;
  max-width:min(280px,calc(100vw - 24px));
  padding:8px 10px;
  font-size:11px;
  font-weight:400;
  line-height:1.45;
  color:var(--tx);
  background:var(--surface);
  border:1px solid var(--bd2);
  border-radius:8px;
  box-shadow:0 8px 24px rgba(15,23,42,.12);
  pointer-events:none;
}
[data-theme="dark"] .app-tooltip{
  background:var(--bg3);
  border-color:var(--bd2);
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
.help-tip,
.settings-backup-info-tip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  margin-left:4px;
  border-radius:50%;
  font-size:10px;
  font-weight:700;
  line-height:1;
  color:var(--tx3);
  background:var(--bg2);
  border:1px solid var(--bd2);
  cursor:help;
  flex:0 0 auto;
  vertical-align:middle;
  outline:none;
}
.help-tip-card{margin-left:6px}
.scrd > h3:has(.help-tip){
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
label:has(.help-tip),
.chk-label:has(.help-tip){
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
}

#loginScreen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.lbox{background:var(--bg);border:0.5px solid var(--bd);border-radius:var(--rl);padding:36px 32px;width:400px;max-width:100%;box-shadow:0 8px 32px rgba(0,0,0,0.12)}
.llogo{font-size:24px;font-weight:700;margin-bottom:3px}.llogo span{color:var(--acc)}
.lco{font-size:12px;color:var(--tx3);margin-bottom:22px}
.ltabs{display:flex;border:0.5px solid var(--bd2);border-radius:var(--r);overflow:hidden;margin-bottom:16px}
.ltab{flex:1;padding:8px;font-size:13px;font-weight:500;cursor:pointer;border:none;background:transparent;color:var(--tx2)}
.ltab.on{background:var(--tx);color:var(--bg)}
.ulist{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}
.ucard{display:flex;align-items:center;gap:10px;padding:10px 12px;border:0.5px solid var(--bd);border-radius:var(--r);cursor:pointer;background:var(--bg)}
.ucard:hover,.ucard.sel{background:var(--bg2);border-color:var(--acc)}
.av{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:500;flex-shrink:0}
.av-user{
  font-weight:700;
  letter-spacing:.02em;
  line-height:1;
  --av-color:#1d6fd4;
  background:color-mix(in srgb,var(--av-color) 14%,var(--bg));
  color:var(--av-color);
  border:1.5px solid color-mix(in srgb,var(--av-color) 32%,transparent);
}
[data-theme="dark"] .av-user{
  background:color-mix(in srgb,var(--av-color) 42%,var(--bg2));
  color:color-mix(in srgb,var(--av-color) 22%,#f8fafc);
  border-color:color-mix(in srgb,var(--av-color) 58%,var(--bd2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.2);
}
.user-cell{display:flex;align-items:center;gap:8px;min-width:0}
.user-cell-av{flex-shrink:0;line-height:0}
.user-cell-name{font-weight:500;color:var(--tx)}
.ucn{font-size:13px;font-weight:500}.uce{font-size:11px;color:var(--tx3)}
.prow{display:none;padding:4px 4px 8px}
.prow-inner{display:flex;gap:7px;align-items:center}
.prow input{flex:1;padding:7px 9px;border-radius:var(--r);border:0.5px solid var(--bd2);background:var(--bg2);color:var(--tx);font-size:12px;outline:none;font-family:inherit}
.prow input:focus{border-color:var(--acc)}
.perr{font-size:11px;color:#a32d2d;min-height:14px;margin-top:3px}
.rb{font-size:13px;font-weight:500;padding:2px 7px;border-radius:4px;white-space:nowrap}
.r-admin{background:#EEEDFE;color:#534AB7}
.r-subsidiary_admin{background:#FEF3C7;color:#B45309}
.r-editor{background:#DBEAFE;color:#1D4ED8}
.r-subsidiary_editor{background:#CFFAFE;color:#0E7490}
.r-viewer{background:#D1FAE5;color:#047857}
.r-subsidiary_viewer{background:#FFE4E6;color:#BE123C}
.r-assignee{background:#F1F5F9;color:#64748B}
.mb{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap}
.mb-it{background:#DBEAFE;color:#1D4ED8}
.mb-admin{background:#EEEDFE;color:#534AB7}
.mb-both{background:#EEEDFE;color:#534AB7}
.bulk-asset-bar{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;margin:0 0 10px;
  background:var(--surface);
  border:1px solid var(--bd2);
  border-radius:var(--r);
  box-shadow:var(--shadow-sm);
  flex-wrap:wrap;
}
.bulk-asset-bar #bulkAssetCount{
  font-size:13px;font-weight:600;color:var(--tx2);
  line-height:34px;
}
.bulk-asset-bar select,
.bulk-asset-bar .btn{
  height:34px;min-height:34px;
  padding:0 12px;
  font-size:13px;line-height:1;
  box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.bulk-asset-bar select{
  min-width:140px;
  border:0.5px solid var(--bd2);
  border-radius:var(--r);
  background:var(--input-bg);
  color:var(--tx);
  font-family:inherit;outline:none;
}
.bulk-asset-bar select:focus{box-shadow:var(--focus-ring)}
.dash-empty-onboard{margin-top:16px;padding:18px 20px;border-radius:12px;background:var(--bg2);border:1px dashed var(--bd2)}
.dash-empty-onboard h3{margin:0 0 8px;font-size:16px}
.dash-empty-onboard p{margin:0 0 14px;color:var(--tx3);line-height:1.5}
.dash-empty-actions{display:flex;gap:8px;flex-wrap:wrap}
.asset-detail-photo{max-width:100%;max-height:220px;border-radius:10px;margin:12px 0;border:1px solid var(--bd)}
.file-upload{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}
.file-upload-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}
.file-upload-btn{cursor:pointer;margin:0!important}
.file-upload-name{font-size:12px;color:var(--tx3);flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-upload-preview{display:block;max-width:160px;max-height:100px;margin-top:8px;border-radius:10px;border:1px solid var(--bd2);object-fit:cover}
.file-upload-preview[hidden]{display:none!important}
[data-theme="dark"] .file-upload-btn{background:var(--surface)!important;border-color:var(--bd2)!important;color:var(--tx)!important}
[data-theme="dark"] .file-upload-btn:hover{background:var(--bg2)!important}
#app{display:none}
.topnav{background:var(--bg);border-bottom:0.5px solid var(--bd);padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:48px;position:fixed;top:0;left:0;right:0;z-index:100;gap:12px;flex-wrap:wrap}
#app{padding-top:48px}
.nav-brand-wrap{
  display:flex;align-items:center;gap:5px;flex-shrink:0;min-width:0;
  max-width:min(520px,42vw);
}
.nav-brand-text{
  font-size:15px;font-weight:700;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#navTitle{max-width:min(240px,22vw)}
.nav-brand-company{max-width:min(260px,20vw);font-weight:600}
.nav-brand-sep{
  font-size:14px;font-weight:500;line-height:1.2;
  flex-shrink:0;color:var(--tx3);opacity:.9;
}
.nav-logo{max-height:26px;max-width:160px;object-fit:contain;vertical-align:middle}
.nav-logo-preview-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
#navLogoPreview{max-height:28px;max-width:120px;object-fit:contain}
.nav-modules{
  display:inline-flex;align-items:center;gap:2px;padding:3px;
  border-radius:calc(var(--r) + 2px);background:var(--bg2);
  border:0.5px solid var(--bd);flex-shrink:0;
}
.nmodule{
  padding:5px 12px;border-radius:var(--r);font-size:12px;font-weight:600;
  cursor:pointer;border:none;background:transparent;color:var(--tx2);
  letter-spacing:.01em;transition:background .12s,color .12s;
}
.nmodule.on,.nmodule:hover{background:var(--bg);color:var(--tx);box-shadow:0 1px 2px rgba(15,23,42,.06)}
.nmodule.on{color:var(--acc)}
.nav-tab-sep{
  width:1px;height:20px;background:var(--bd);margin:0 4px;align-self:center;flex-shrink:0;
}
.ntabs{display:flex;gap:2px;flex-wrap:wrap;align-items:center}
.ntab{padding:6px 13px;border-radius:var(--r);font-size:13px;font-weight:500;cursor:pointer;border:none;background:transparent;color:var(--tx2)}
.ntab.on,.ntab:hover{background:var(--bg2);color:var(--tx)}
.nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.nuser-wrap{position:relative}
.nuser{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--tx2);cursor:pointer;border:0.5px solid transparent;background:transparent;font-family:inherit;padding:5px 8px 5px 5px;border-radius:999px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}
.nuser:hover,.nuser-wrap.open .nuser{color:var(--tx);background:var(--bg2);border-color:var(--bd2)}
.nuser-wrap.open .nuser{box-shadow:0 2px 8px rgba(15,23,42,.06)}
.nuser-chev{width:14px;height:14px;color:var(--tx3);transition:transform .2s ease;flex-shrink:0}
.nuser-wrap.open .nuser-chev{transform:rotate(180deg)}
.user-menu{
  display:none;
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  width:min(272px,calc(100vw - 24px));
  max-height:min(70vh,520px);
  background:var(--bg);
  border:0.5px solid var(--bd2);
  border-radius:12px;
  box-shadow:0 12px 28px rgba(15,23,42,.12),0 4px 10px rgba(15,23,42,.06);
  z-index:10050;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
.nuser-wrap.open .user-menu{display:flex;flex-direction:column;animation:menuSlideIn .15s cubic-bezier(0,0,.2,1)}
.um-head{position:relative;padding:0;border-bottom:0.5px solid var(--bd2);flex-shrink:0}
.um-head-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(29,111,212,.08) 0%,rgba(59,130,246,.04) 50%,transparent 100%);
  pointer-events:none;
}
[data-theme="dark"] .um-head-bg{background:linear-gradient(135deg,rgba(96,165,250,.1) 0%,rgba(59,130,246,.05) 50%,transparent 100%)}
.um-head-inner{position:relative;display:flex;gap:10px;padding:10px 12px 9px;align-items:flex-start}
.um-av{
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;flex-shrink:0;
}
.um-av.av-user{
  box-shadow:0 0 0 2px var(--bg),0 0 0 3px color-mix(in srgb,var(--av-color) 35%,transparent);
}
[data-theme="dark"] .um-av.av-user{
  box-shadow:0 0 0 2px var(--bg),0 0 0 3px color-mix(in srgb,var(--av-color) 45%,transparent);
}
.um-meta{min-width:0;flex:1}
.um-name{font-size:13px;font-weight:600;color:var(--tx);line-height:1.2;word-break:break-word}
.um-email{font-size:11px;color:var(--tx3);margin-top:1px;word-break:break-all;line-height:1.3}
.um-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.um-badges .rb,.um-badges .mb{font-size:10px;padding:1px 6px;border-radius:4px}
.um-sub{font-size:10px;color:var(--tx3);margin-top:4px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.um-body{overflow-y:auto;flex:1;min-height:0}
.um-section{padding:2px 4px 0}
.um-section+.um-section{padding-top:0}
.um-section-label{
  padding:5px 8px 2px;
  font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--tx3);
}
.um-actions{padding:0 4px 2px}
.um-foot{padding:3px 4px;border-top:0.5px solid var(--bd2);background:var(--bg2);flex-shrink:0}
.um-foot .um-item{min-height:30px;padding:5px 8px}
.um-item{
  width:100%;
  padding:6px 8px;
  background:none;
  border:none;
  border-radius:7px;
  text-align:left;
  font-size:12px;
  font-weight:500;
  color:var(--tx2);
  cursor:pointer;
  font-family:inherit;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  transition:background .12s ease,color .12s ease;
}
.um-item:hover{background:var(--bg2);color:var(--tx)}
.um-item-ico{
  width:24px;height:24px;border-radius:6px;
  background:var(--bg2);border:0.5px solid var(--bd2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  color:var(--tx2);transition:background .12s,border-color .12s,color .12s;
}
.um-item:hover .um-item-ico{background:var(--bg);border-color:var(--bd2);color:var(--acc)}
.um-item-ico svg{width:13px;height:13px;display:block}
.um-signout{color:#dc2626}
.um-signout .um-item-ico{background:#fef2f2;border-color:#fecaca;color:#dc2626}
.um-signout:hover{background:#fef2f2;color:#991b1b}
.um-signout:hover .um-item-ico{background:#fee2e2;border-color:#fca5a5;color:#991b1b}
[data-theme="dark"] .um-signout .um-item-ico{background:#3f1d1d;border-color:#7f1d1d;color:#fca5a5}
[data-theme="dark"] .um-signout:hover{background:#3f1d1d;color:#fca5a5}
[data-theme="dark"] .um-signout:hover .um-item-ico{background:#4c1d1d;border-color:#991b1b}
[data-theme="dark"] .um-item{color:var(--tx)}
[data-theme="dark"] .um-email,[data-theme="dark"] .um-sub{color:var(--tx2)}
[data-theme="dark"] .um-item-ico{background:var(--bg3);border-color:var(--bd2);color:var(--tx2)}
[data-theme="dark"] .um-item:hover .um-item-ico{background:var(--bg2);color:var(--acc)}
[data-theme="dark"] .user-menu{box-shadow:0 12px 32px rgba(0,0,0,.45),0 4px 12px rgba(0,0,0,.28)}
[data-theme="dark"] .um-foot{background:var(--bg3)}
.cp-intro{margin:-4px 0 14px;line-height:1.5}
.theme-toggle-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:999px;border:0.5px solid var(--bd2);background:var(--bg);color:var(--tx2);font-size:12px;font-weight:600;cursor:pointer}
.theme-toggle-btn:hover{background:var(--bg2);color:var(--tx)}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r);font-size:13px;font-weight:500;cursor:pointer;border:0.5px solid var(--bd2);background:var(--bg);color:var(--tx);transition:background .12s}
.btn-ico{width:15px;height:15px;flex-shrink:0;display:block}
.toolbar-field{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 10px 0 8px;
  min-height:36px;
  border:0.5px solid var(--bd2);
  border-radius:var(--r);
  background:var(--bg);
  box-sizing:border-box;
  transition:border-color .12s,box-shadow .12s;
}
.toolbar-field:focus-within{
  border-color:var(--acc);
  box-shadow:0 0 0 2px rgba(24,95,165,.12);
}
.toolbar-field-ico{
  width:16px;
  height:16px;
  flex-shrink:0;
  color:var(--tx3);
  stroke:currentColor;
  fill:none;
}
.toolbar-field input,
.toolbar-field .toolbar-select,
.toolbar-field .toolbar-date{
  border:none;
  background:transparent;
  padding:0;
  margin:0;
  height:34px;
  font-size:13px;
  font-weight:500;
  font-family:inherit;
  color:var(--tx);
  flex:1 1 auto;
  min-width:0;
  outline:none;
  box-shadow:none;
}
.toolbar-field .toolbar-select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:22px;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 2px center;
  background-size:11px;
}
.toolbar-field input::placeholder{color:var(--tx3);font-weight:400}
[data-theme="dark"] .toolbar-field .toolbar-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
[data-theme="dark"] .toolbar-field:focus-within{box-shadow:var(--focus-ring)}
.btn:hover{background:var(--bg2)}.btn:disabled{opacity:.45;cursor:not-allowed}
.bp{
  background:var(--acc);
  color:#fff;
  border-color:var(--acc);
}

.bp:hover{
  background:var(--acc);
  opacity:.92;
}
.ba{background:var(--acc);color:#fff;border-color:var(--acc)}.ba:hover{opacity:.88}
.bd{color:#a32d2d;border-color:rgba(163,45,45,0.3)}.bd:hover{background:#fcebeb}
.bsm{padding:4px 10px;font-size:12px}
.page{
  margin:0 auto;
  padding:20px 20px 24px;
}
.shead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}
.shead h2{font-size:16px;font-weight:600;margin:0;flex:1 1 auto;min-width:140px}
.shead-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;flex:0 1 auto;max-width:100%}
.user-page-hint{font-size:12px;color:var(--tx3);margin:4px 0 0;font-weight:400}
.user-toolbar{margin-bottom:14px}
.user-toolbar input[type=search]{min-width:200px;flex:1 1 200px}
.user-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 4px;flex-wrap:wrap}
.user-pager-info{font-size:12px;color:var(--tx3)}
.user-pager-actions,.user-pager .pag-btns{display:flex;align-items:center;gap:8px}
.user-entra-tag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#e8f2fc;color:#1d6fd4;flex-shrink:0}
.user-modal-hint{font-size:12px;color:var(--tx3);margin:-4px 0 4px;line-height:1.45}
.import-hint-block{font-size:13px;color:var(--tx2);margin-bottom:16px;line-height:1.5}
.btn-link{
  background:none;border:none;padding:0;font-size:inherit;font-weight:600;
  color:var(--acc);cursor:pointer;text-decoration:underline;
  font-family:inherit;
}
.btn-link:hover{color:#134e8a}

.user-asset-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 10px;
  border-radius:20px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  font-size:12px;
  font-weight:600;
  color:#1d4ed8;
  cursor:pointer;
  transition:all .15s;
  font-family:inherit;
  line-height:1;
}
.user-asset-badge:hover{
  background:#dbeafe;
  border-color:#93c5fd;
  box-shadow:0 1px 4px rgba(29,78,216,0.12);
}
.user-asset-badge .uab-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#1d4ed8;
  color:#fff;
  font-size:11px;
  font-weight:700;
}
.user-asset-badge .uab-label{
  color:#1e40af;
  font-weight:500;
}
.user-asset-badge.uab-zero{
  background:#f9fafb;
  border-color:#e5e7eb;
  cursor:default;
  padding:4px 8px;
}
.user-asset-badge.uab-zero .uab-count{
  background:#9ca3af;
  color:#fff;
}
.user-asset-badge.uab-zero:hover{
  background:#f9fafb;
  border-color:#e5e7eb;
  box-shadow:none;
}
.user-asset-cells{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.user-asset-badge.uab-it{
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d6fd4;
}
.user-asset-badge.uab-it .uab-count{background:#1d6fd4}
.user-asset-badge.uab-admin{
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d6fd4;
}
.user-asset-badge.uab-admin .uab-count{background:#2563eb}
.user-asset-badge .uab-mod{
  font-size:10px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  opacity:.85;
}
.user-module-tag{
  display:inline-block;
  padding:3px 8px;
  border-radius:6px;
  background:var(--bg2);
  border:1px solid var(--bd);
  font-size:11px;
  font-weight:600;
  color:var(--tx2);
  white-space:nowrap;
}

.user-combobox{position:relative}
.user-combobox-control{
  display:flex;align-items:center;gap:6px;
  border:0.5px solid var(--bd2);border-radius:10px;background:var(--bg2);
}
.user-combobox-search{
  flex:1;min-width:0;border:none;background:transparent;color:var(--tx);
  padding:10px 12px;font-size:13px;outline:none;font-family:inherit;
}
.user-combobox-clear{
  flex-shrink:0;width:28px;height:28px;margin-right:6px;
  border:none;border-radius:6px;background:var(--bg3);color:var(--tx2);
  font-size:18px;line-height:1;cursor:pointer;
}
.user-combobox-clear:hover{background:var(--bd);color:var(--tx)}
.user-combobox-picked{
  margin:6px 0 0;font-size:12px;color:var(--tx2);line-height:1.4;min-height:1.2em;
}
.user-combobox-list{
  position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;
  max-height:min(420px,60vh);overflow:auto;
  background:var(--bg);border:0.5px solid var(--bd2);border-radius:10px;
  box-shadow:0 8px 24px rgba(15,23,42,.12);
}
.user-combobox-list-hint{
  position:sticky;top:0;z-index:1;
  margin:0;padding:8px 12px;font-size:11px;color:var(--tx3);
  background:var(--bg2);border-bottom:0.5px solid var(--bd);
}
.user-combobox-option{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  width:100%;padding:10px 12px;border:none;border-bottom:0.5px solid var(--bd);
  background:var(--bg);color:var(--tx);text-align:left;cursor:pointer;font-family:inherit;
}
.user-combobox-option:hover,.user-combobox-option:focus{background:var(--bg2);outline:none}
.user-combobox-option-name{font-size:13px;font-weight:500}
.user-combobox-option-email{font-size:11px;color:var(--tx3)}
.user-combobox-tag{
  display:inline-block;margin-left:6px;font-size:10px;font-weight:600;
  color:var(--tx3);text-transform:lowercase;
}
.user-combobox-org{
  display:inline-block;margin-left:6px;font-size:10px;font-weight:500;
  color:var(--tx3);opacity:.85;
}
.user-combobox-empty{padding:16px 12px;font-size:12px;color:var(--tx3);text-align:center}
.req-mark{color:#a32d2d;font-weight:600}
.cfg-spec-req{display:none}
#pg-dashboard{padding-top:14px}
.dash-metrics{margin-bottom:18px;display:flex;flex-direction:column;gap:8px}
.shead.dash-shead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px 16px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.dash-head-left{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:6px 10px;min-width:0;flex:1 1 280px;
}
.dash-head-left h2{
  margin:0;min-width:0;width:auto;flex:none;
  font-size:16px;font-weight:600;line-height:32px;
}
.dash-sep{
  color:var(--tx3);opacity:.45;font-size:12px;line-height:1;user-select:none;
}
.dash-date{
  font-size:13px;font-weight:500;color:var(--tx3);line-height:32px;white-space:nowrap;
}
.dash-shead .shead-actions{
  flex:0 0 auto;align-items:center;gap:8px;
}
.dash-shead .btn{
  height:32px;padding:0 12px;font-size:13px;line-height:1;
  align-items:center;box-sizing:border-box;
}
.dash-loc-field{
  display:inline-flex;align-items:center;gap:8px;
  margin-left:4px;padding-left:12px;
  border-left:0.5px solid var(--bd2);
  cursor:pointer;
}
.dash-loc-label{
  font-size:13px;font-weight:500;color:var(--tx2);white-space:nowrap;line-height:32px;
}
.dash-loc-select{
  height:32px;padding:0 28px 0 10px;min-width:132px;max-width:176px;
  border-radius:var(--r);border:0.5px solid var(--bd2);
  background:var(--bg);color:var(--tx);
  font-size:13px;font-weight:500;font-family:inherit;
  cursor:pointer;outline:none;box-sizing:border-box;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center;background-size:11px;
}
.dash-loc-select:focus{border-color:var(--acc);box-shadow:var(--focus-ring)}
.dash-loc-field.is-active .dash-loc-label{color:var(--acc);font-weight:600}
.dash-loc-field.is-active .dash-loc-select{
  border-color:var(--acc);
  box-shadow:0 0 0 2px rgba(24,95,165,.12);
  font-weight:600;
}
.dash-kpi-legend{
  font-size:11px;
  color:var(--tx3);
  line-height:1.45;
  margin:0;
  padding:0 2px;
}
.dash-metrics{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:14px;
}
.dash-kpi-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.dash-kpi-row-admin{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.dash-kpi-row-admin .dash-kpi-label{white-space:nowrap}
.dash-kpi-row-admin .dash-kpi-hint{white-space:nowrap}
.renewal-block+.renewal-block{margin-top:14px;padding-top:14px;border-top:1px solid var(--bd)}
.renewal-block-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tx3);margin:0 0 8px}
.dash-bottom-panels{
  margin-top:14px;
  align-items:stretch;
}
.dash-bottom-panels .ccrd{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.dash-panel-body{
  flex:1;
  min-height:240px;
  max-height:min(420px,50vh);
  overflow-y:auto;
  padding-right:2px;
}
.dash-panel-renewals .dash-panel-body{min-height:280px}
.dash-kpi{
  background:var(--bg);
  border-radius:var(--rl);
  border:0.5px solid var(--bd);
  padding:16px 18px;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.dash-kpi-click{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.dash-kpi-click:hover{border-color:var(--bd2);box-shadow:0 4px 12px rgba(15,23,42,.06)}
.dash-kpi-label{font-size:12px;color:var(--tx2);margin-bottom:4px;font-weight:500}
.dash-kpi-value{font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--tx)}
.dash-kpi-value-sm{font-size:20px}
.dash-kpi-hint{font-size:11px;color:var(--tx3);margin-top:4px}
.crit-alert{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:11px 0;
  font-size:13px;
}
.crit-alert-click{cursor:pointer;border-radius:6px;margin:0 -6px;padding:11px 6px}
.crit-alert-click:hover{background:var(--bg2)}
.crit-alert-text{display:flex;flex-direction:column;gap:2px;color:var(--tx)}
.crit-alert-hint{font-size:11px;color:var(--tx3);font-weight:400}
.crit-alert-badge{
  flex-shrink:0;
  background:color-mix(in srgb,var(--badge) 12%,transparent);
  color:var(--badge);
  padding:4px 10px;
  border-radius:999px;
  font-weight:600;
  min-width:42px;
  text-align:center;
  font-size:13px;
}
.warranty-tbl{width:100%;border-collapse:collapse;font-size:13px}
.warranty-tbl th{text-align:left;padding:6px 0;color:var(--tx3);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em}
.warranty-tbl td{padding:9px 0;border-top:1px solid var(--bd)}
.warranty-row{cursor:pointer;transition:background .12s}
.warranty-row:hover td{background:var(--bg2)}
.warranty-footer{margin-top:10px;padding:8px 0 0;border-top:1px solid var(--bd);font-size:12px;color:var(--ac);cursor:pointer;font-weight:500;text-align:center}
.warranty-footer:hover{text-decoration:underline}
.dash-chart-wrap{position:relative;height:212px;padding:4px 0 0}
.dash-chart-wrap canvas{cursor:pointer}
.leg-click{cursor:pointer;border-radius:6px;padding:4px 6px;margin:-4px -6px;transition:background .15s ease}
.leg-click:hover{background:var(--bg2)}
.leg-compact{display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:10px;max-height:88px;overflow-y:auto}
.dash-charts .dash-chart-card{padding:16px 18px 14px}
.dash-charts .ctitle{font-size:13px;font-weight:600;color:var(--tx);letter-spacing:-.01em;margin-bottom:8px}
.dash-charts .leg .ld{width:10px;height:10px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
@media(max-width:1100px){
  .dash-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dash-kpi-row-admin{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .dash-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash-kpi-row-admin{grid-template-columns:1fr}
  .dash-bottom-panels{grid-template-columns:1fr}
}
.charts-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.dash-all-charts{grid-template-columns:1fr 1fr}
.dash-all-charts.has-sub-chart.has-loc-chart{grid-template-columns:repeat(4,minmax(0,1fr))}
.dash-all-charts.has-sub-chart:not(.has-loc-chart){grid-template-columns:repeat(3,minmax(0,1fr))}
.dash-all-charts.has-loc-chart:not(.has-sub-chart){grid-template-columns:repeat(3,minmax(0,1fr))}
.subsidiary-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.subsidiary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--bd);border-radius:8px;background:var(--sf)}
.subsidiary-row-meta{font-size:12px;color:var(--tx3)}
.subsidiary-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex-shrink:0}
.subsidiary-add-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.subsidiary-add-panel{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--bd);
}
.subsidiary-add-btn-col{
  min-width:148px;
}
.subsidiary-add-btn-label{
  display:block;
  font-size:12px;
  line-height:1.2;
  margin-bottom:5px;
  visibility:hidden;
  user-select:none;
}
.subsidiary-code-hint{
  margin-top:6px;
  margin-bottom:0;
}
#subsidiariesCard .subsidiary-add-btn{
  width:100%;
  min-height:36px;
  padding:8px 16px;
  white-space:nowrap;
  box-sizing:border-box;
}
#subsidiariesCard .subsidiary-row-actions .btn{
  min-height:36px;
  padding:8px 14px;
  font-size:13px;
}
@media(max-width:900px){
  .dash-all-charts{grid-template-columns:1fr 1fr!important}
}
@media(max-width:640px){
  .dash-all-charts{grid-template-columns:1fr!important}
}
@media(max-width:900px){
  .subsidiary-add-grid{grid-template-columns:1fr}
  .subsidiary-add-btn-col{min-width:0}
  .subsidiary-add-btn-label{display:none}
  #subsidiariesCard .subsidiary-add-btn{width:100%;justify-content:center}
}
@media(max-width:640px){.charts-row{grid-template-columns:1fr}}
.ccrd{background:var(--bg);border-radius:var(--rl);border:0.5px solid var(--bd);padding:16px 18px}
.ctitle{font-size:13px;font-weight:500;color:var(--tx2);margin-bottom:10px}
.alerts-sub{font-size:11px;font-weight:500;color:var(--tx3);margin-left:6px}
.leg{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.li{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--tx2)}
.ld{width:9px;height:9px;border-radius:2px;flex-shrink:0}
.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.toolbar input,.toolbar select{padding:8px 10px;border-radius:var(--r);border:0.5px solid var(--bd2);background:var(--bg);color:var(--tx);font-size:13px;outline:none;font-family:inherit}
.toolbar input{flex:1;min-width:180px}

/* ===== FIX DROP-DOWN VISIBILITY IN TABLE ===== */
.tcard{
  background:var(--bg);
  border-radius:var(--rl);
  border:0.5px solid var(--bd);
  overflow:visible;
}
.thead-bar{display:flex;align-items:center;padding:12px 16px;border-bottom:0.5px solid var(--bd);flex-wrap:wrap;gap:8px;position:relative}
.tlabel{font-size:13px;font-weight:500;color:var(--tx2);margin-right:auto}
.col-select-btn{position:relative;font-size:11px;padding:5px 10px}
.col-select-menu{position:absolute;top:100%;right:0;z-index:100;background:var(--bg);border:1px solid var(--bd);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:8px 0;min-width:200px;max-height:360px;overflow-y:auto}
.col-select-item{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:12px;color:var(--tx);cursor:pointer;user-select:none}
.col-select-item:hover{background:var(--bg2)}
.col-select-item input{accent-color:var(--ac);width:14px;height:14px;cursor:pointer}
.twrap{
  max-height:min(70vh, 700px);
  overflow:auto;
}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;padding:9px 14px;font-size:11px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;background:var(--bg2);border-bottom:0.5px solid var(--bd);white-space:nowrap;cursor:pointer;user-select:none}
th:hover{color:var(--tx2)}

/* ===== STICKY TABLE HEADER ===== */
.twrap thead th{
  position:sticky;
  top:0;
  z-index:30;
  background:var(--bg2);
}
.sortable-th{
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}
.sortable-th:hover{
  color:var(--acc);
}
.sort-arrow{
  font-size:11px;
  opacity:0.3;
  margin-left:2px;
}
.sort-arrow.active{
  opacity:1;
  color:var(--acc);
}

td{padding:11px 14px;border-bottom:0.5px solid var(--bd);color:var(--tx);white-space:nowrap}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--bg2)}
.tdact{display:flex;gap:6px}
.empty{text-align:center;padding:40px;color:var(--tx3);font-size:13px}
.pag{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:0.5px solid var(--bd);flex-wrap:wrap;gap:8px}
.pag-info{font-size:12px;color:var(--tx3)}.pag-btns{display:flex;align-items:center;gap:6px}
.pag-size{font-size:12px;color:var(--tx3);display:flex;align-items:center;gap:6px}
.pag-size select{padding:2px 6px;border:1px solid var(--bd);border-radius:4px;font-size:12px;background:var(--bg);color:var(--tx)}
.badge{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;
  line-height:1.2;white-space:nowrap;vertical-align:middle;min-height:22px;box-sizing:border-box
}
td .badge{vertical-align:middle}
.b-asset-code{
  background:#EEF2FF;
  color:#3730A3;
  font-weight:600;
  letter-spacing:.02em;
}
.td-muted{color:var(--tx3);font-size:13px}
.asset-row-name{font-weight:600;color:var(--tx)}
.warranty-expired{color:#b91c1c;font-weight:600}
.warranty-soon{color:#b45309;font-weight:500}
[data-theme="dark"] .b-asset-code{
  background:rgba(99,102,241,.2);
  color:#A5B4FC;
}
[data-theme="dark"] .b-own-owned{background:rgba(59,109,17,.2);color:#A3D977}
[data-theme="dark"] .b-own-rental{background:rgba(133,79,11,.2);color:#FBC96D}
[data-theme="dark"] .b-own-leased{background:rgba(12,74,110,.2);color:#7DD3FC}
.b-active{background:#EAF3DE;color:#3B6D11}.b-inactive{background:#F1EFE8;color:#5F5E5A}
.b-maintenance{background:#FAEEDA;color:#854F0B}.b-retired{background:#FCEBEB;color:#A32D2D}
.b-own-owned{background:#EAF3DE;color:#3B6D11}.b-own-rental{background:#FAEEDA;color:#854F0B}.b-own-leased{background:#E0F2FE;color:#0C4A6E}
.maint-meta{display:block;font-size:11px;color:var(--tx3);font-weight:400;margin-top:2px}
.maint-meta.maint-overdue{color:#A32D2D;font-weight:500}
.asset-maint-hint{margin:0 0 12px}
.b-software{background:#E8F2FC;color:#1d6fd4}


.mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:200;align-items:center;justify-content:center;padding:20px}
.mo.on{display:flex}
.mbox{position:relative;background:var(--bg);border-radius:var(--rl);border:0.5px solid var(--bd);padding:24px;width:560px;max-width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,0.2)}
.mbox-sm{width:440px}
.mbox-lg{width:min(720px,calc(100vw - 32px));max-height:90vh;overflow:auto}
.asset-form-section-hint{font-size:12px;color:var(--tx3);margin:0 0 14px;line-height:1.45}
.mbox h2{font-size:16px;font-weight:600;margin-bottom:12px}
.mbox-asset-head{
  margin:0 0 14px;
  padding-bottom:12px;
  border-bottom:0.5px solid var(--bd);
}
.mbox-asset-head h2{
  margin:0 0 4px;
  font-size:16px;
  font-weight:600;
}
.asset-form-required-note{
  margin:0;
  padding:0;
  font-size:11px;
  line-height:1.35;
  color:var(--tx3);
  background:transparent;
  border:none;
}
.asset-form-required-note .req-mark{
  font-size:12px;
  font-weight:600;
}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ff{grid-column:1/-1}
.mbox-asset{width:min(600px,calc(100vw - 32px))}
#moAsset .mbox.mbox-asset{
  overflow-y:auto;
  max-height:92vh;
}
.asset-form-grid .fl{
  position:relative;
}
.asset-form-grid{
  gap:16px;
}
.asset-form-grid .fl,
.admin-asset-fields .fl,
.asset-maint-section .fl{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
}
.asset-form-grid .fl label,
.admin-asset-fields .fl label,
.asset-maint-section .fl label{
  margin-bottom:0;
  line-height:1.35;
}
.admin-asset-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  grid-column:1/-1;
  padding-top:4px;
}
.admin-asset-fields .form-section-label{
  grid-column:1/-1;
  margin-bottom:2px;
}
.asset-maint-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.asset-maint-section .form-section-label,
.asset-maint-section .field-hint{
  grid-column:1/-1;
}
@media(max-width:640px){
  .admin-asset-fields,
  .asset-maint-section{
    grid-template-columns:1fr;
  }
}
.asset-form-grid .form-section-label{
  grid-column:1/-1;
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--tx3);
  margin:2px 0 0;
  padding-top:2px;
}
.asset-form-grid .form-section-label:first-child{margin-top:0;padding-top:0}
.asset-form-grid .fl textarea{min-height:52px}
.asset-form-grid .form-section-hint{
  grid-column:1/-1;
  font-size:12px;
  color:var(--tx3);
  margin:0 0 10px;
  line-height:1.45;
}
.custom-fields-section{
  display:flex;
  flex-direction:column;
  gap:0;
  padding-top:8px;
  border-top:0.5px solid var(--bd);
  margin-top:4px;
}
.custom-fields-section .asset-cf-section-label{
  margin:0 0 10px;
  padding-top:0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--tx3);
}
.asset-cf-settings-hint{
  font-size:11px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:var(--tx3);
  opacity:.9;
}
.asset-form-grid .fl label .req-mark,
#customFieldsForm .fl label .req-mark{
  color:#a32d2d;
  font-weight:600;
}
#customFieldsForm.custom-fields-grid,
.custom-fields-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  grid-column:1/-1;
}
#customFieldsForm.custom-fields-grid:empty{
  display:none;
}
#customFieldsForm.custom-fields-grid .fl.cf-span-full{grid-column:1/-1}
#customFieldsForm.custom-fields-grid .fl.cf-checkbox{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
#customFieldsForm.custom-fields-grid .fl.cf-checkbox input{margin-top:6px}
.cf-dup-warn{
  display:inline-block;
  margin-left:6px;
  font-size:10px;
  font-weight:600;
  color:#a32d2d;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.cf-dup-banner{
  font-size:12px;
  color:#854f0b;
  background:#fffaeb;
  border:1px solid #f5e6b8;
  border-radius:8px;
  padding:10px 12px;
  margin-bottom:10px;
}
.cf-item-dup{background:#fff8f6}
[data-theme="dark"] .cf-dup-banner{background:#2a2418;border-color:#4a3f20;color:#e8c96a}
[data-theme="dark"] .cf-item-dup{background:#2a1f1d}
.fl label{display:block;font-size:12px;color:var(--tx2);margin-bottom:10px;font-weight:500;line-height:1.35}
.fl input,.fl select,.fl textarea{width:100%;padding:8px 10px;border-radius:var(--r);border:0.5px solid var(--bd2);background:var(--bg2);color:var(--tx);font-size:13px;outline:none;font-family:inherit}
.fl input:focus,.fl select:focus,.fl textarea:focus{border-color:var(--acc)}
.fl textarea{resize:vertical;min-height:60px;height:auto}
/* Uniform height: text, select, number (not date/month — keeps native year/month/day picker) */
.fl input:not([type="checkbox"]):not([type="range"]):not(.input-color):not([type="date"]):not([type="month"]),
.fl select{
  box-sizing:border-box;
  min-height:38px;
  height:38px;
  line-height:1.35;
}
.fl select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:32px;
  cursor:pointer;
  background-color:var(--bg2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:12px;
}
.fl input[type="number"]{
  -webkit-appearance:none;
  appearance:none;
}
/* Native date/month — do NOT use appearance:none (breaks year/month dropdowns in Chrome/Safari) */
.fl input[type="date"],
.fl input[type="month"]{
  box-sizing:border-box;
  min-height:38px;
  height:38px;
  line-height:normal;
  padding:7px 10px;
  cursor:pointer;
  color-scheme:light;
}
[data-theme="dark"] .fl input[type="date"],
[data-theme="dark"] .fl input[type="month"]{
  color-scheme:dark;
}
.fl input[type="date"]::-webkit-calendar-picker-indicator,
.fl input[type="month"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:1;
  width:18px;
  height:18px;
  margin-left:4px;
}
.fl input[type="number"]{
  -moz-appearance:textfield;
}
.fl input[type="number"]::-webkit-outer-spin-button,
.fl input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
[data-theme="dark"] .fl select{
  background-color:var(--bg2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
.mfoot{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:0.5px solid var(--bd)}
.merr{font-size:12px;color:#a32d2d;margin-top:6px;min-height:16px}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:700px){.sg{grid-template-columns:1fr}}
.scrd{background:var(--bg);border-radius:var(--rl);border:0.5px solid var(--bd);padding:20px}
.scrd h3{font-size:14px;font-weight:600;margin-bottom:4px}
.scrd p{font-size:12px;color:var(--tx2);margin-bottom:14px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;min-height:28px}
.tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg2);border:0.5px solid var(--bd);border-radius:6px;font-size:12px;color:var(--tx)}
.tdel{cursor:pointer;color:var(--tx3);font-size:15px;line-height:1;margin-left:2px}.tdel:hover{color:#A32D2D}
.tadd{display:flex;gap:6px}
.tadd input{flex:1;padding:7px 10px;border-radius:var(--r);border:0.5px solid var(--bd2);background:var(--bg2);color:var(--tx);font-size:13px;outline:none;font-family:inherit}
.dp-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.3);z-index:150;align-items:flex-start;justify-content:flex-end}
.dp-ov.on{display:flex}
.dp{background:var(--bg);width:380px;max-width:100%;height:100vh;overflow-y:auto;border-left:0.5px solid var(--bd);padding:24px;box-shadow:-4px 0 24px rgba(0,0,0,0.12)}
.dp-close{float:right;cursor:pointer;color:var(--tx3);font-size:18px;line-height:1}
.dp-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:0.5px solid var(--bd);font-size:13px}
.dp-label{color:var(--tx2)}.dp-val{color:var(--tx);font-weight:500;text-align:right;max-width:58%;word-break:break-word}
.dp-notes{margin-top:14px;font-size:13px;color:var(--tx2);line-height:1.6;background:var(--bg2);padding:10px 12px;border-radius:var(--r)}
.page-sub{font-size:12px;color:var(--tx3);margin-top:3px}
.audit-retention-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px 16px;
  margin-bottom:12px;
  padding:12px 14px;
  border:0.5px solid var(--bd2);
  border-radius:var(--r);
  background:var(--bg2);
}
.audit-retention-main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  flex:1 1 280px;
  min-width:0;
}
.audit-retention-label{font-size:13px;font-weight:500;color:var(--tx)}
.audit-retention-days{
  width:72px;
  padding:6px 8px;
  border:0.5px solid var(--bd2);
  border-radius:var(--r);
  background:var(--bg);
  color:var(--tx);
  font-size:13px;
  font-family:inherit;
}
.audit-retention-suffix{font-size:13px;color:var(--tx2)}
.audit-retention-hint{font-size:12px;flex:1 1 200px}
.audit-retention-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.audit-retention-status{
  flex:1 1 100%;
  margin:0;
  font-size:12px;
  min-height:1.2em;
}
.audit-toolbar{
  margin-bottom:12px;
  align-items:center;
  gap:8px;
}
.audit-toolbar .toolbar-field input,
.audit-toolbar .toolbar-field .toolbar-select,
.audit-toolbar .toolbar-field .toolbar-date{
  border:none;
  padding:0;
  background:transparent;
  box-shadow:none;
  outline:none;
}
.audit-toolbar .toolbar-field{
  height:36px;
  min-width:0;
  flex:0 1 auto;
}
.audit-toolbar .toolbar-field-grow{
  flex:1 1 160px;
  min-width:min(100%,140px);
  max-width:min(100%,380px);
}
.audit-toolbar .toolbar-field-date{
  flex:0 0 auto;
  min-width:132px;
  max-width:168px;
}
.audit-toolbar .toolbar-date{
  min-width:96px;
  color-scheme:light;
}
.audit-toolbar .toolbar-date::-webkit-calendar-picker-indicator{
  opacity:.55;
  cursor:pointer;
  margin-left:2px;
}
.audit-toolbar .toolbar-reset-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  flex:0 0 auto;
  align-self:center;
  min-width:72px;
  padding:0 16px;
  white-space:nowrap;
  overflow:visible;
  box-sizing:border-box;
  font-size:13px;
  line-height:1;
}
.toolbar.audit-toolbar > input,
.toolbar.audit-toolbar > select{
  display:none;
}
.toolbar.audit-toolbar input,
.toolbar.audit-toolbar select{
  flex:1 1 auto;
  min-width:0;
  width:auto;
  max-width:100%;
}
#pg-audit .shead-actions .btn{
  height:36px;
  padding:0 14px;
}
#pg-audit .shead-actions .btn.bd .btn-ico{color:currentColor}
[data-theme="dark"] .audit-toolbar .toolbar-date{color-scheme:dark}
#pg-audit{
  display:flex;
  flex-direction:column;
  min-height:calc(100vh - 52px);
  box-sizing:border-box;
}
#pg-audit .audit-toolbar{flex-shrink:0}
#pg-audit .audit-page-card{
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}
.audit-list-scroll{
  flex:1;
  min-height:0;
  padding:8px 16px 12px;
  overflow-y:auto;
}
.audit-pag{
  flex-shrink:0;
  padding:10px 16px;
  border-top:0.5px solid var(--bd);
}
.import-modal-desc{
  font-size:13px;
  color:var(--tx2);
  margin-bottom:18px;
  line-height:1.5;
}
.import-dropzone{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:28px 20px;
  border:2px dashed #c7d2fe;
  border-radius:12px;
  background:#fafbff;
  cursor:pointer;
  transition:all .2s;
}
.import-dropzone:hover{
  border-color:#818cf8;
  background:#eef2ff;
}
.import-dropzone.has-file{
  border-color:#6366f1;
  background:#eef2ff;
}
.import-dropzone-icon{
  opacity:0.7;
}
.import-dropzone-text{
  font-size:14px;
  font-weight:500;
  color:#374151;
}
.import-dropzone.has-file .import-dropzone-text{
  color:#4338ca;
  font-weight:600;
}
.import-dropzone-hint{
  font-size:11px;
  color:#9ca3af;
}
.import-help-details{
  margin-top:14px;
  overflow:hidden;
}
.import-help-details summary{
  font-size:12px;
  font-weight:500;
  color:var(--tx3,#6b7280);
  cursor:pointer;
  padding:6px 0;
  user-select:none;
}
.import-help-details summary:hover{
  color:var(--tx2);
}
.import-help-content{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px 14px;
  margin-top:6px;
  background:var(--bg2);
  border:1px solid var(--bd2);
  border-radius:8px;
  overflow:hidden;
}
.import-help-row{
  display:flex;
  align-items:baseline;
  gap:8px;
  font-size:12px;
  line-height:1.8;
  flex-wrap:wrap;
}
.import-help-label{
  flex:0 0 60px;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.4px;
  color:#6b7280;
}
.import-help-row code{
  display:inline-block;
  padding:1px 5px;
  background:#e0e7ff;
  color:#3730a3;
  border-radius:3px;
  font-size:10.5px;
  font-weight:500;
  margin:1px 1px;
}
.import-report-box{max-width:520px}
.import-report-summary{margin-bottom:14px}
.import-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.import-stat{
  text-align:center;
  padding:12px 8px;
  border-radius:var(--r);
  border:0.5px solid var(--bd);
  background:var(--bg2);
}
.import-stat-ok{border-color:rgba(15,110,86,.25);background:rgba(15,110,86,.06)}
.import-stat-warn{border-color:rgba(181,83,9,.3);background:rgba(181,83,9,.06)}
.import-stat-n{display:block;font-size:22px;font-weight:700;color:var(--tx);line-height:1.1}
.import-stat-l{display:block;font-size:10px;color:var(--tx3);margin-top:4px;text-transform:uppercase;letter-spacing:.03em}
.import-report-err-title{font-size:12px;font-weight:600;color:var(--tx2);margin:0 0 8px}
.import-report-ok-msg{font-size:13px;color:#0f6e56;margin:0}
.import-preview-box{max-width:720px}
.import-preview-table-wrap{max-height:min(52vh,420px);overflow:auto;margin:12px 0;border:1px solid var(--bd);border-radius:8px}
.import-preview-table{width:100%;font-size:12px;border-collapse:collapse}
.import-preview-table th,.import-preview-table td{padding:8px 10px;border-bottom:1px solid var(--bd);text-align:left}
.import-preview-table th{background:var(--bg2);font-weight:600;position:sticky;top:0}
.email-log-wrap{min-height:44px;max-height:160px;overflow:auto;border:1px solid var(--bd2);border-radius:10px;background:var(--bg2);font-size:12px}
.email-log-wrap table{width:100%;border-collapse:collapse}
.email-log-wrap th,.email-log-wrap td{padding:6px 12px;border-bottom:1px solid var(--bd);white-space:nowrap}
.email-log-wrap th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--tx3);background:var(--bg2);position:sticky;top:0}
.email-log-wrap td:nth-child(4){max-width:180px;overflow:hidden;text-overflow:ellipsis}
.email-log-empty{margin:0;padding:10px 12px;color:var(--tx3);font-size:12px;line-height:1.4}
.muted-hint{color:var(--tx3);font-size:12px}
.import-err-table-wrap{max-height:220px;overflow:auto;border:0.5px solid var(--bd);border-radius:var(--r)}
.import-err-table{width:100%;border-collapse:collapse;font-size:12px}
.import-err-table th,.import-err-table td{padding:8px 10px;text-align:left;border-bottom:0.5px solid var(--bd)}
.import-err-table th{background:var(--bg2);color:var(--tx2);font-weight:600;position:sticky;top:0}
.import-err-table tr:last-child td{border-bottom:none}
@media(max-width:520px){
  .import-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.audit-empty{padding:40px 16px;text-align:center;color:var(--tx3);font-size:13px}
.aud-item{display:flex;gap:12px;padding:12px 0;border-bottom:0.5px solid var(--bd);font-size:12px;align-items:flex-start}
.aud-item:last-child{border-bottom:none}
.aud-t{color:var(--tx3);white-space:nowrap;min-width:78px;flex-shrink:0;line-height:1.35}
.aud-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.aud-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aud-user{color:var(--tx);font-weight:600;font-size:12px}
.aud-m{color:var(--tx2);line-height:1.45;word-break:break-word}
.aud-item-diff .aud-m{color:var(--tx)}
.aud-prefix{font-size:12px;font-weight:500;color:var(--tx);margin-bottom:5px}
.aud-spec-summary-wrap{margin-top:4px}
.aud-spec-count{
  display:block;
  font-size:10px;
  font-weight:600;
  color:var(--tx3);
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}
.aud-spec-summary{
  font-size:12px;
  line-height:1.5;
  color:var(--tx2);
  word-break:break-word;
}
.aud-spec-sep{color:var(--tx3);padding:0 5px;font-weight:400}
.aud-spec-val{color:var(--tx);font-weight:500}
.aud-spec-grid{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:4px;
}
.aud-spec-chip{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  font-size:11px;
  line-height:1.35;
  padding:4px 9px;
  border-radius:6px;
  background:var(--bg2);
  border:0.5px solid var(--bd);
  max-width:100%;
}
.aud-spec-k{
  color:var(--tx3);
  font-weight:500;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.aud-spec-from{
  color:var(--tx3);
  font-size:11px;
  text-decoration:line-through;
  text-decoration-color:rgba(148,163,184,.7);
}
.aud-spec-v{color:var(--tx);font-weight:500}
.aud-arrow{color:var(--acc);font-weight:600;font-size:10px}
.aud-entity-link{
  font-size:11px;
  font-weight:600;
  color:var(--acc);
  background:transparent;
  border:none;
  cursor:pointer;
  padding:0;
  font-family:inherit;
}
.aud-entity-link:hover{text-decoration:underline}
.timeline-modal{max-width:560px;max-height:85vh;overflow-y:auto}
.timeline-section{padding:0 4px 16px;border-bottom:0.5px solid var(--bd)}
.timeline-section:last-child{border-bottom:none;padding-bottom:8px}
.timeline-h{font-size:12px;font-weight:600;color:var(--tx2);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 8px}
.timeline-activity{max-height:min(60vh,480px);overflow-y:auto;padding:4px 8px}
#activityModal .history-content{max-height:none}
.timeline-activity .aud-item{padding:10px 0}
.timeline-activity .aud-t{min-width:70px;font-size:11px}
.aud-ip{font-size:10px;color:var(--tx3);font-family:ui-monospace,monospace}
.aud-badge{
  display:inline-block;
  font-size:10px;
  font-weight:600;
  padding:2px 8px;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.03em;
  flex-shrink:0;
}
.aud-cat-asset{background:#e6f1fb;color:#185fa5}
.aud-cat-user{background:#eeedfe;color:#534ab7}
.aud-cat-settings{background:#f3f4f6;color:#475569}
.aud-cat-data{background:#e1f5ee;color:#0f6e56}
.aud-cat-security{background:#fcebeb;color:#a32d2d}
.aud-cat-auth-ok{background:#e1f5ee;color:#0f6e56}
.aud-cat-auth-muted{background:#f1f5f9;color:#64748b}
.aud-cat-system{background:#fef3c7;color:#854f0b}
[data-theme="dark"] .aud-cat-settings{background:rgba(255,255,255,.08);color:var(--tx2)}
[data-theme="dark"] .aud-cat-asset{background:rgba(59,130,246,.2);color:#93c5fd}
[data-theme="dark"] .aud-cat-user{background:rgba(139,92,246,.2);color:#c4b5fd}
[data-theme="dark"] .aud-cat-data{background:rgba(16,185,129,.15);color:#6ee7b7}
[data-theme="dark"] .aud-cat-security{background:rgba(239,68,68,.15);color:#fca5a5}
[data-theme="dark"] .aud-cat-auth-ok{background:rgba(16,185,129,.15);color:#6ee7b7}
[data-theme="dark"] .aud-cat-auth-muted{background:rgba(255,255,255,.06);color:var(--tx3)}
[data-theme="dark"] .aud-spec-chip{background:rgba(255,255,255,.05)}
[data-theme="dark"] .aud-cat-system{background:rgba(245,158,11,.15);color:#fcd34d}
.aud-picklist{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;line-height:1.45}
.aud-picklist-action{color:var(--tx2);font-size:12px}
.aud-picklist-val{
  font-weight:600;color:var(--tx);
  padding:2px 8px;border-radius:6px;
  background:var(--sf2,#f1f5f9);
}
.aud-picklist-org{
  font-size:11px;font-weight:500;
  padding:2px 10px;border-radius:999px;
  background:rgba(83,74,183,.08);color:#534ab7;
}
[data-theme="dark"] .aud-picklist-val{background:rgba(255,255,255,.06)}
[data-theme="dark"] .aud-picklist-org{background:rgba(139,92,246,.15);color:#c4b5fd}
.app-toast{
  position:fixed;
  top:64px;
  right:18px;
  left:auto;
  transform:translateY(-10px);
  opacity:0;
  min-width:280px;
  max-width:min(440px, calc(100vw - 24px));
  background:var(--bg);
  color:var(--tx);
  border:1px solid var(--bd2);
  border-radius:12px;
  box-shadow:0 12px 28px rgba(16,24,40,0.16);
  padding:10px 14px;
  z-index:10000;
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}

.app-toast-show{
  opacity:1;
  transform:translateY(0);
}

.app-toast-icon{
  width:20px;
  height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  flex-shrink:0;
}

.app-toast-text{
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  flex:1;
}

.app-toast-success .app-toast-icon{
  background:#ecfdf3;
  color:#067647;
}

.app-toast-error .app-toast-icon{
  background:#fef3f2;
  color:#b42318;
}

.app-toast-close{
  border:0;
  background:transparent;
  color:var(--tx3);
  width:22px;
  height:22px;
  border-radius:6px;
  cursor:pointer;
  font-size:12px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  pointer-events:auto;
}

.app-toast-close:hover{
  background:var(--bg2);
  color:var(--tx2);
}
[data-theme="dark"] .app-toast{
  background:var(--surface);
  border-color:var(--bd2);
  box-shadow:0 12px 28px rgba(0,0,0,.4);
}
[data-theme="dark"] .app-toast-close:hover{
  background:var(--bg3);
  color:var(--tx);
}

[data-theme="dark"] .history-item{background:var(--bg2);border-left-color:#34d399}
[data-theme="dark"] .history-item.returned{border-left-color:#fbbf24}
[data-theme="dark"] .history-user{color:var(--tx)}
[data-theme="dark"] .history-date{color:var(--tx3)}
[data-theme="dark"] .close-btn{background:var(--bg3)}
[data-theme="dark"] .close-btn:hover{background:var(--bg2)}
[data-theme="dark"] .audit-clear-busy{
  background:color-mix(in srgb,var(--acc) 18%,var(--bg2));
  border-color:color-mix(in srgb,var(--acc) 32%,var(--bd2));
  color:var(--acc);
}
.cf-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:0.5px solid var(--bd)}
.cf-item:last-child{border-bottom:none}
.cf-info{flex:1;min-width:0}.cf-label{font-size:13px;font-weight:500}.cf-meta{font-size:11px;color:var(--tx3);margin-top:2px}
#lNew,
.ltabs,
.seg {
    display: none !important;
}
/* HISTORY MODAL */
.modal.hidden {
  display: none;
}
.modal {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(15,23,42,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}
.modal-box {
  position: relative;
  width: 100%;
  max-width: 700px;
  max-height: 80vh;
  overflow-y: auto;
  background: var(--bg);
  color: var(--tx);
  border: 1px solid var(--bd2);
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 16px 40px rgba(16,24,40,0.18);
}
.modal-box-busy{pointer-events:none}
.modal-busy-overlay{
  position:absolute;inset:0;z-index:10;display:none;align-items:center;justify-content:center;gap:10px;
  background:rgba(255,255,255,.82);border-radius:14px;font-size:13px;font-weight:500;color:#475467
}
[data-theme="dark"] .modal-busy-overlay{background:rgba(15,23,42,.75);color:var(--tx2)}
.btn-busy{opacity:.9;cursor:wait}
.btn-spinner{
  display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;
  border-radius:50%;animation:btnSpin .65s linear infinite;flex-shrink:0
}
.btn-busy::before{
  content:'';display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;
  border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btnSpin .65s linear infinite
}
@keyframes btnSpin{to{transform:rotate(360deg)}}
.audit-clear-busy{
  display:none;align-items:center;gap:10px;margin:0 0 12px;padding:12px 16px;
  background:#e0f2fe;border:1px solid #bae6fd;border-radius:10px;font-size:13px;font-weight:500;color:#0369a1
}
.audit-page-busy .audit-toolbar,.audit-page-busy .shead-actions,.audit-page-busy #auditList{pointer-events:none;opacity:.65}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.close-btn {
  border: none;
  background: #ef4444;
  color: white;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
}
.close-btn:hover {
  opacity: 0.9;
}
.history-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.history-item {
  background: var(--bg2);
  padding: 14px;
  border-radius: 10px;
  border-left: 5px solid #22c55e;
}
.history-item.returned {
  border-left-color: #f59e0b;
}
.history-user {
  font-size: 16px;
  font-weight: bold;
  color: var(--tx);
}
.history-status {
  margin-top: 6px;
}
.history-date {
  margin-top: 8px;
  font-size: 12px;
  opacity: 0.7;
  font-family: monospace;
}







/* ===== FINAL SETTINGS FIX ===== */

.ba{
  background:var(--acc) !important;
  color:#fff !important;
  border-color:var(--acc) !important;
}

.ba:hover{
  background:var(--acc) !important;
  opacity:.92;
}

.bd{
  background:var(--bg) !important;
  color:var(--danger) !important;
  border-color:color-mix(in srgb,var(--danger) 28%,transparent) !important;
}

.bd:hover{
  background:color-mix(in srgb,var(--danger) 8%,var(--bg)) !important;
}

#brandLogoPreview{
  border-radius:10px;
}


/* ===== SETTINGS PAGE FINAL BALANCE ===== */

/* tighter settings spacing */
.scrd{
  padding:18px;
}

/* cleaner field spacing */
.fg{
  gap:12px;
}

/* branding sliders visually connected */
.fl input[type="range"]{
  margin-top:6px;
}

/* custom columns no longer oversized */
.custom-columns-card,
#customColumnsCard{
  max-width:540px;
}

/* better branding section balance */
#brandLogoPreview{
  margin-top:6px;
}

/* cleaner save branding spacing */
button[onclick="saveBranding()"]{
  margin-top:10px;
}


/* FINAL SLIDER ALIGNMENT FIX */
#brandLogoSize,
#brandSubtitleSize{
  width:100%;
  margin-top:6px;
}

.branding-sliders{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:10px;
}

.branding-sliders .fl{
  margin-bottom:0;
}


/* ===== LOGOUT CONFIRM ===== */

.logout-confirm{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.logout-confirm-box{
  width:100%;
  max-width:420px;
  background:var(--bg);
  color:var(--tx);
  border:1px solid var(--bd2);
  border-radius:14px;
  padding:22px;
  box-shadow:0 16px 40px rgba(16,24,40,0.18);
}

.logout-confirm-box h3{
  font-size:18px;
  margin-bottom:10px;
  color:var(--tx);
}

.logout-confirm-box p{
  color:var(--tx2);
  line-height:1.6;
  margin-bottom:20px;
}

.logout-confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.logout-confirm-actions .btn{
  min-height:44px;
  padding:0 18px;
  border-radius:12px;
  font-size:14px;
  font-weight:600;
}
[data-theme="dark"] .logout-confirm{background:rgba(0,0,0,.55)}
[data-theme="dark"] .logout-confirm-box{
  background:var(--surface);
  border-color:var(--bd2);
  box-shadow:0 16px 40px rgba(0,0,0,.45);
}






/* ===== FINAL ENTERPRISE TYPE BADGES ===== */

.b-other{
  background:#E0F2FE;
  color:#0891B2;
}

.b-laptop{
  background:#E8F1FD;
  color:#1858A8;
}

.b-desktop{
  background:#ECECEC;
  color:#555555;
}

.b-mobile{
  background:#FCEAF1;
  color:#A23B63;
}

.b-hardware{
  background:#EEEAFE;
  color:#5A4BCF;
}

.b-monitor{
  background:#E8F8FA;
  color:#147C8A;
}

.b-software{
  background:#E8F2FC;
  color:#1d6fd4;
}

.b-external-storage{
  background:#F3E8FF;
  color:#7C3AED;
}

.b-access-point{
  background:#EEF4FF;
  color:#2B6CB0;
}

.b-switch{
  background:#E8FFF3;
  color:#0F8A4B;
}

.b-firewall{
  background:#FFF0F0;
  color:#C53030;
}

.b-server{
  background:#FFF1E8;
  color:#B85A1B;
}

.b-specs-missing{
  background:#FEF3E8;
  color:#B45309;
  font-size:10px;
  font-weight:600;
  margin-top:4px;
}

.b-printer{
  background:#E8F8FA;
  color:#147C8A;
}

.b-network{
  background:#E9F8EE;
  color:#21824A;
}

.b-camera{
  background:#EDE9FE;
  color:#6D28D9;
}

.b-ip-camera{
  background:#F3E8FF;
  color:#7C3AED;
}

.b-dvr{
  background:#E0E7FF;
  color:#3730A3;
}

.b-nvr{
  background:#DBEAFE;
  color:#1D4ED8;
}

.b-access-machine{
  background:#FFEDD5;
  color:#C2410C;
}

.b-network-rack{
  background:#E7E5E4;
  color:#44403C;
}

/* Custom / newly added asset types — consistent pill, rotating palette */
.b-type-custom{
  font-weight:600;
}

.b-type-palette-0{background:#F1F5F9;color:#475569}
.b-type-palette-1{background:#EEF2FF;color:#4338CA}
.b-type-palette-2{background:#CCFBF1;color:#0F766E}
.b-type-palette-3{background:#FEF3C7;color:#B45309}
.b-type-palette-4{background:#FFE4E6;color:#BE123C}
.b-type-palette-5{background:#CFFAFE;color:#0E7490}
.b-type-palette-6{background:#F3E8FF;color:#7E22CE}
.b-type-palette-7{background:#D1FAE5;color:#047857}

[data-theme="dark"] .badge{filter:none;border:1px solid transparent}
[data-theme="dark"] .b-active{background:rgba(59,109,17,.24);color:#86efac;border-color:rgba(134,239,172,.28)}
[data-theme="dark"] .b-inactive{background:rgba(100,116,139,.22);color:#cbd5e1;border-color:rgba(148,163,184,.28)}
[data-theme="dark"] .b-maintenance{background:rgba(133,79,11,.24);color:#fcd34d;border-color:rgba(251,191,36,.28)}
[data-theme="dark"] .b-retired{background:rgba(163,45,45,.24);color:#fca5a5;border-color:rgba(248,113,113,.28)}
[data-theme="dark"] .b-specs-missing{background:rgba(180,83,9,.22);color:#fdba74;border-color:rgba(251,146,60,.3)}
[data-theme="dark"] .b-own-owned{border-color:rgba(163,217,119,.28)}
[data-theme="dark"] .b-own-rental{border-color:rgba(251,201,109,.28)}
[data-theme="dark"] .b-own-leased{border-color:rgba(125,211,252,.28)}
[data-theme="dark"] .b-laptop,
[data-theme="dark"] .b-software,
[data-theme="dark"] .b-nvr,
[data-theme="dark"] .b-access-point,
[data-theme="dark"] .b-type-palette-1{background:rgba(29,111,212,.22);color:#93c5fd;border-color:rgba(96,165,250,.3)}
[data-theme="dark"] .b-other,
[data-theme="dark"] .b-monitor,
[data-theme="dark"] .b-printer,
[data-theme="dark"] .b-type-palette-5{background:rgba(14,116,144,.22);color:#67e8f9;border-color:rgba(34,211,238,.28)}
[data-theme="dark"] .b-hardware,
[data-theme="dark"] .b-camera,
[data-theme="dark"] .b-ip-camera,
[data-theme="dark"] .b-external-storage,
[data-theme="dark"] .b-type-palette-6{background:rgba(109,40,217,.22);color:#c4b5fd;border-color:rgba(167,139,250,.28)}
[data-theme="dark"] .b-network,
[data-theme="dark"] .b-switch,
[data-theme="dark"] .b-type-palette-2,
[data-theme="dark"] .b-type-palette-7{background:rgba(5,150,105,.22);color:#6ee7b7;border-color:rgba(52,211,153,.28)}
[data-theme="dark"] .b-server,
[data-theme="dark"] .b-access-machine,
[data-theme="dark"] .b-type-palette-3{background:rgba(180,83,9,.22);color:#fdba74;border-color:rgba(251,146,60,.28)}
[data-theme="dark"] .b-firewall,
[data-theme="dark"] .b-type-palette-4{background:rgba(197,48,48,.22);color:#fca5a5;border-color:rgba(248,113,113,.28)}
[data-theme="dark"] .b-mobile{background:rgba(162,59,99,.22);color:#f9a8d4;border-color:rgba(244,114,182,.28)}
[data-theme="dark"] .b-desktop,
[data-theme="dark"] .b-network-rack,
[data-theme="dark"] .b-type-palette-0{background:rgba(100,116,139,.22);color:#cbd5e1;border-color:rgba(148,163,184,.28)}
[data-theme="dark"] .b-dvr{background:rgba(55,48,163,.22);color:#a5b4fc;border-color:rgba(129,140,248,.28)}
[data-theme="dark"] .asset-row-name{color:var(--tx);font-weight:600}
[data-theme="dark"] .warranty-expired{color:#fca5a5!important;font-weight:600}
[data-theme="dark"] .warranty-soon{color:#fcd34d!important;font-weight:500}




/* ===== ENTERPRISE RESPONSIVE LAYOUT ===== */

@media (max-width: 1200px){

  .page{
    padding:20px 16px;
  }

  .toolbar{
    gap:10px;
  }

  .toolbar:not(.audit-toolbar) input{
    min-width:240px;
    flex:1 1 100%;
  }

  .toolbar:not(.audit-toolbar) select{
    flex:1 1 calc(50% - 10px);
    min-width:180px;
  }

  .toolbar.audit-toolbar input,
  .toolbar.audit-toolbar .toolbar-select{
    min-width:0;
    flex:1 1 auto;
  }

  .tdact{
    flex-wrap:wrap;
    gap:4px;
  }

  .btn,
  .bsm{
    padding:5px 9px;
    font-size:11px;
  }

  .twrap{
    max-height:min(68vh, 650px);
  }
}

@media (max-width: 768px){

  .page{
    padding:16px 12px;
  }

  .topnav{
    height:auto;
    padding:10px 14px;
    gap:10px;
  }
  #app{padding-top:112px}

  .nav-modules{
    width:100%;
    justify-content:center;
  }

  .ntabs{
    width:100%;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:4px;
  }

  .nav-actions{
    width:100%;
    justify-content:flex-end;
    margin-left:0;
  }

  .shead{
    align-items:flex-start;
  }

  .dash-shead{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }
  .dash-head-left{flex:1 1 100%}
  .dash-shead .shead-actions{
    width:100%;justify-content:flex-start;
  }
  .dash-loc-field{
    margin-left:0;padding-left:0;border-left:none;
    width:100%;
  }
  .dash-loc-select{max-width:100%;flex:1 1 140px}

  .toolbar:not(.audit-toolbar){
    flex-direction:column;
    align-items:stretch;
  }

  .toolbar:not(.audit-toolbar) input,
  .toolbar:not(.audit-toolbar) select{
    width:100%;
    min-width:100%;
  }

  .audit-toolbar .toolbar-field-grow{
    flex:1 1 100%;
    max-width:100%;
  }

  .audit-toolbar .toolbar-reset-btn{
    min-width:88px;
    padding:0 14px;
    font-size:13px;
  }

  .thead-bar{
    padding:10px 12px;
  }

  table{
    min-width:1100px;
  }

  .tdact{
    flex-wrap:nowrap;
  }

  .btn,
  .bsm{
    padding:4px 8px;
    font-size:11px;
  }

  .twrap{
    max-height:min(65vh, 600px);
  }
}


/* ===== DASHBOARD COMPACT OPTIMIZATION ===== */

.dash-metrics{
  margin-bottom:14px;
}

.mv{
  font-size:22px;
}

.ms{
  margin-top:2px;
}

.charts-row{
  gap:10px;
  margin-bottom:14px;
}

.ccrd{
  padding:12px 14px;
}

.ctitle{
  margin-bottom:8px;
}

#dashboardActivity{
  max-height:240px;
  overflow:auto;
}

#warrantyWidget table td,
#warrantyWidget table th{
  padding-top:6px !important;
  padding-bottom:6px !important;
}

#criticalAlerts > div{
  padding-top:9px !important;
  padding-bottom:9px !important;
}

@media (min-width: 1200px){

  #dashboardActivity{
    max-height:220px;
  }

  .charts-row .ccrd{
    min-height:auto;
  }

}

/* ===== COMPACT ROW ACTIONS DROPDOWN ===== */
.row-dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-trigger {
  background: var(--bg) !important;
  color: var(--tx2) !important;
  border: 1px solid var(--bd2) !important;
  border-radius: 6px !important;
  padding: 6px 14px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.dropdown-trigger:hover {
  background: var(--bg2) !important;
  border-color: var(--bd2) !important;
  color: var(--tx) !important;
}

.dropdown-trigger .d-arrow {
  color: var(--tx3);
  font-size: 10px;
  transition: transform 0.15s ease;
}

.row-dropdown-menu {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 5px);
  background: var(--bg);
  min-width: 150px;
  border: 1px solid var(--bd2);
  border-radius: var(--r);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
  z-index: 9999 !important;
  overflow: hidden;
  padding: 4px;
  -webkit-font-smoothing: antialiased;
}
#activeRowMenu,
.active-row-menu{
  display:block !important;
  position:fixed;
  z-index:99999;
  background:var(--bg);
  border:1px solid var(--bd2);
  border-radius:var(--r);
  box-shadow:0 10px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.04);
  padding:4px;
  min-width:160px;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
#activeRowMenu button,
.active-row-menu button,
.row-dropdown-menu button{
  width:100%;
  padding:8px 12px;
  background:none;
  border:none;
  border-radius:6px;
  text-align:left;
  font-size:12px;
  font-weight:500;
  color:var(--tx2);
  cursor:pointer;
  font-family:inherit;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:1px;
}
#activeRowMenu button:hover,
.active-row-menu button:hover,
.row-dropdown-menu button:hover{background:var(--bg2);color:var(--tx)}
#activeRowMenu button svg,
.active-row-menu button svg,
.row-dropdown-menu button svg{opacity:.75;color:var(--tx3)}
#activeRowMenu button:hover svg,
.active-row-menu button:hover svg,
.row-dropdown-menu button:hover svg{opacity:1;color:var(--tx2)}
#activeRowMenu button.m-del,
.active-row-menu button.m-del,
.row-dropdown-menu button.m-del{color:var(--danger);border-top:1px solid var(--bd);margin-top:4px;padding-top:9px}
#activeRowMenu button.m-del:hover,
.active-row-menu button.m-del:hover,
.row-dropdown-menu button.m-del:hover{background:color-mix(in srgb,var(--danger) 12%,var(--bg));color:var(--danger)}

.row-dropdown-menu.show {
  display: block;
  animation: menuSlideIn 0.15s cubic-bezier(0, 0, 0.2, 1);
}

@keyframes menuSlideIn {
  from { opacity: 0; transform: translateY(-4px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.row-dropdown-menu button {
  transition: all 0.12s ease;
  cursor: pointer;
  font-family: inherit;
}

.row-dropdown-menu button svg {
  transition: opacity 0.12s ease;
}

/* ===== AUTOMATIC DROP-UP POSITIONING FOR LAST ROWS ===== */
.row-dropdown-menu.drop-up {
  top: auto !important;
  bottom: calc(100% + 5px) !important;
  box-shadow: 0 -10px 25px -5px rgba(0, 0, 0, 0.08), 0 -8px 10px -6px rgba(0, 0, 0, 0.04);
  animation: menuSlideUp 0.15s cubic-bezier(0, 0, 0.2, 1) !important;
}

@keyframes menuSlideUp {
  from { opacity: 0; transform: translateY(4px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ===== ENTERPRISE SETTINGS POLISH ===== */
#pg-settings{
  max-width:none;
  margin:0;
}
#pg-settings .sg.settings-layout{
  gap:16px;
  align-items:stretch;
}
/* Subsidiary admin: same full-width grid as group admin; compact intro strip only */
#pg-settings.settings-subsidiary-scope .sg.settings-layout{
  grid-template-columns:1fr;
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-intro{
  padding:14px 20px;
  border-color:color-mix(in srgb, var(--acc) 20%, var(--bd));
  background:color-mix(in srgb, var(--acc) 5%, var(--bg));
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-intro p{
  margin-bottom:0;
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-intro-inner{
  display:flex;
  align-items:center;
  gap:14px;
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-avatar{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:700;
  color:var(--acc);
  background:color-mix(in srgb, var(--acc) 12%, var(--bg));
  border:1px solid color-mix(in srgb, var(--acc) 24%, var(--bd));
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-intro-copy{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:10px;
  row-gap:2px;
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-co-title{
  margin:0;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  flex:0 0 auto;
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-co-title::after{
  content:' · ';
  font-weight:400;
  color:var(--tx3);
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-lead{
  margin:0;
  font-size:12px;
  color:var(--tx2);
  line-height:1.45;
  flex:1 1 12rem;
}
#pg-settings.settings-subsidiary-scope .settings-subsidiary-footnote{
  margin:0;
  flex:1 1 100%;
  font-size:11px;
  line-height:1.4;
  color:var(--tx3);
}
@media (min-width:900px){
  #pg-settings.settings-subsidiary-scope .settings-subsidiary-footnote{
    flex:1 1 auto;
    margin-left:auto;
    text-align:right;
    max-width:42%;
  }
}
[data-theme="dark"] #pg-settings.settings-subsidiary-scope .settings-subsidiary-intro{
  border-color:color-mix(in srgb, var(--acc) 32%, var(--bd2));
  background:color-mix(in srgb, var(--acc) 10%, var(--bg2));
}
[data-theme="dark"] #pg-settings.settings-subsidiary-scope .settings-subsidiary-avatar{
  background:color-mix(in srgb, var(--acc) 18%, var(--bg2));
  border-color:color-mix(in srgb, var(--acc) 32%, var(--bd2));
}
@media (max-width:700px){
  #pg-settings.settings-subsidiary-scope .settings-subsidiary-intro-inner{
    align-items:flex-start;
  }
  #pg-settings.settings-subsidiary-scope .settings-subsidiary-intro-copy{
    flex-direction:column;
    align-items:flex-start;
  }
  #pg-settings.settings-subsidiary-scope .settings-subsidiary-co-title::after{
    content:'';
  }
  #pg-settings.settings-subsidiary-scope .settings-subsidiary-footnote{
    text-align:left;
    max-width:none;
  }
}
#pg-settings .settings-card-full{
  grid-column:1/-1;
}
#pg-settings .settings-picklists-head{
  margin-bottom:14px;
}
#pg-settings .settings-picklists-title-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 20px;
  margin-bottom:8px;
}
#pg-settings .settings-picklists-title-row h3{
  margin:0;
  flex:1 1 auto;
  min-width:12rem;
  line-height:36px;
}
#pg-settings .settings-picklists-head > .settings-card-desc{
  margin:0;
  max-width:none;
}
.integrity-ok{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 16px;
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  border-radius:8px;
  color:#166534;
  font-size:13px;
  font-weight:500;
}
.integrity-ok-icon{
  font-size:16px;
  font-weight:700;
}
.health-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
  font-size:12px;
  color:var(--tx2);
}
.health-summary span{
  padding:4px 10px;
  border-radius:999px;
  background:var(--bg2);
  border:0.5px solid var(--bd);
}
.health-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.health-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  border-radius:8px;
  border:0.5px solid var(--bd);
  background:var(--bg2);
  font-size:13px;
}
.health-row.ok{border-color:#bbf7d0;background:#f0fdf4}
.health-row.warn{border-color:#fde68a;background:#fffbeb}
.health-row.fail{border-color:#fecaca;background:#fef2f2}
.health-badge{
  flex-shrink:0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:3px 8px;
  border-radius:999px;
  background:var(--bg);
  color:var(--tx2);
}
.health-row.ok .health-badge{color:#166534}
.health-row.warn .health-badge{color:#b45309}
.health-row.fail .health-badge{color:#b91c1c}
.health-body{flex:1;min-width:0}
.health-body strong{display:block;color:var(--tx);margin-bottom:2px}
.health-body span{color:var(--tx2);line-height:1.4}
[data-theme="dark"] .health-row.ok{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.25)}
[data-theme="dark"] .health-row.warn{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.25)}
[data-theme="dark"] .health-row.fail{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.25)}
#pg-settings .settings-health-card{
  min-height:0;
  min-width:0;
  overflow:hidden;
}
#pg-settings .settings-health-body{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:0;
  min-width:0;
  overflow:hidden;
}
#pg-settings .settings-health-body .health-list{
  max-height:min(320px,42vh);
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:2px;
  flex:1 1 auto;
  min-height:0;
  min-width:0;
}
#pg-settings .settings-health-body .health-row{
  padding:10px 12px;
  border:1px solid var(--bd2);
  border-radius:10px;
  background:var(--bg2);
}
#pg-settings .settings-health-body .health-row.ok,
#pg-settings .settings-health-body .health-row.warn,
#pg-settings .settings-health-body .health-row.fail{
  border-color:var(--bd2);
  background:var(--bg2);
}
#pg-settings .settings-health-body .health-row.ok .health-badge{color:var(--tx2)}
#pg-settings .settings-health-body .health-row.warn .health-badge{color:var(--warn,#b45309)}
#pg-settings .settings-health-body .health-row.fail .health-badge{color:var(--danger,#b91c1c)}
[data-theme="dark"] #pg-settings .settings-health-body .health-row.ok,
[data-theme="dark"] #pg-settings .settings-health-body .health-row.warn,
[data-theme="dark"] #pg-settings .settings-health-body .health-row.fail{
  background:var(--bg2);
  border-color:var(--bd2);
}
#pg-settings .settings-health-body .health-body strong{
  font-size:12px;
  margin-bottom:1px;
}
#pg-settings .settings-health-body .health-body span{
  font-size:11px;
  line-height:1.35;
}
#pg-settings .settings-health-body .health-summary{
  margin-bottom:8px;
}
#pg-settings .settings-health-body .health-rerun-btn{
  align-self:flex-start;
  margin-top:2px;
}
.integrity-count{
  font-size:13px;
  color:var(--tx2);
  margin-bottom:10px;
}
.integrity-issues{
  max-height:300px;
  overflow-y:auto;
}
.integrity-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.integrity-table th{
  text-align:left;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.5px;
  color:var(--tx3);
  padding:8px 10px;
  border-bottom:1px solid var(--bd2);
  background:var(--bg2);
}
.integrity-table td{
  padding:8px 10px;
  border-bottom:1px solid var(--bd);
  vertical-align:middle;
}
.integrity-type-badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:10px;
  background:color-mix(in srgb,var(--acc) 12%,var(--bg2));
  color:var(--acc);
  font-size:11px;
  font-weight:600;
  text-transform:capitalize;
}
.integrity-suggestion{
  color:var(--acc);
  font-weight:600;
}
[data-theme="dark"] .integrity-suggestion{color:var(--acc)}
#pg-settings .picklist-bulk-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}
#pg-settings .picklist-bulk-actions .btn{
  font-size:12px;
  padding:5px 12px;
  border-radius:6px;
  border:1px solid var(--bd2);
  background:var(--surface);
  color:var(--tx2);
  font-weight:500;
}
#pg-settings .picklist-bulk-actions .btn:hover{
  background:var(--bg2);
  border-color:var(--bd2);
  color:var(--tx);
}
#pg-settings .settings-picklists-company{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
#pg-settings .settings-picklists-company label{
  margin:0;
  font-size:12px;
  font-weight:600;
  color:var(--tx2);
  white-space:nowrap;
  line-height:36px;
}
#pg-settings .settings-picklist-sub-select{
  width:min(320px,38vw);
  min-width:200px;
  max-width:100%;
  height:38px;
  min-height:38px;
  box-sizing:border-box;
  font-weight:600;
  margin:0;
  appearance:none;
  -webkit-appearance:none;
  padding-right:32px;
  background-color:var(--bg2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:12px;
}
#pg-settings .settings-picklist-sub-select:invalid,
#pg-settings .settings-picklist-sub-select option[value=""]{
  color:var(--tx3);
}
#pg-settings .settings-picklists-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
@media (max-width:960px){
  #pg-settings .settings-picklists-grid{grid-template-columns:1fr}
}
#pg-settings .settings-picklist-block{
  border:1px solid var(--bd2);
  border-radius:10px;
  padding:12px 12px 10px;
  background:var(--bg2);
  min-width:0;
}
#pg-settings .settings-picklist-block h4{
  margin:0 0 8px;
  font-size:13px;
  font-weight:600;
  color:var(--tx2);
}
#pg-settings .picklist-panel{
  max-height:180px;
  overflow:auto;
  margin-bottom:8px;
  border:1px solid var(--bd2);
  border-radius:8px;
  background:var(--surface);
}
#pg-settings .picklist-items{
  list-style:none;
  margin:0;
  padding:4px 0;
}
#pg-settings .picklist-items li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 10px;
  font-size:13px;
  border-bottom:1px solid var(--bd);
  color:var(--tx);
}
#pg-settings .picklist-items li:last-child{border-bottom:none}
#pg-settings .picklist-name{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#pg-settings .picklist-actions{
  display:flex;
  gap:4px;
  flex:0 0 auto;
}
#pg-settings .picklist-edit{
  flex:0 0 auto;
  width:22px;
  height:22px;
  padding:0;
  border:none;
  background:transparent;
  color:var(--tx3);
  font-size:13px;
  cursor:pointer;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .15s;
}
#pg-settings .picklist-edit:hover{
  background:color-mix(in srgb,var(--acc) 14%,var(--bg2));
  color:var(--acc);
}
#pg-settings .picklist-del{
  flex:0 0 auto;
  width:22px;
  height:22px;
  padding:0;
  border:none;
  border-radius:6px;
  background:transparent;
  color:var(--tx3);
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
#pg-settings .picklist-del:hover{
  background:color-mix(in srgb,#b42318 12%,var(--bg2));
  color:#b42318;
}
[data-theme="dark"] #pg-settings .picklist-del:hover{
  background:#3f1d1d;
  color:#fca5a5;
}
#pg-settings .picklist-empty{
  margin:0;
  padding:14px 10px;
  font-size:12px;
  color:var(--tx3);
  text-align:center;
}
#pg-settings .settings-picklist-block .tadd{margin-top:0}

/* Footer: custom columns | danger zone | database backup */
#pg-settings .settings-footer-grid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
  margin-top:4px;
  padding-top:20px;
  border-top:1px solid var(--bd2);
}
@media (max-width:640px){
  #pg-settings .settings-footer-grid{grid-template-columns:1fr}
}
#pg-settings .settings-footer-col-left,
#pg-settings .settings-footer-col-right{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
  max-width:100%;
}
#pg-settings .settings-footer-col-right{
  align-self:stretch;
  overflow:hidden;
}
#pg-settings .settings-footer-col-left > .scrd,
#pg-settings .settings-footer-col-right > .scrd{
  display:flex;
  flex-direction:column;
  min-height:0;
  margin:0;
  width:100%;
}
#pg-settings .settings-footer-col-right .settings-health-card{
  flex:0 1 auto;
  min-height:0;
}
#pg-settings .settings-footer-col-right > #settingsHealthCard{
  flex:0 1 auto;
}
#pg-settings #settingsIntegrityCard,
#pg-settings .settings-security-card{
  min-height:0;
}
#pg-settings .settings-backup-card{
  min-height:0;
}
#pg-settings .settings-footer-col-left > .scrd > h3,
#pg-settings .settings-footer-col-right > .scrd > h3{
  margin-bottom:4px;
}
#pg-settings .settings-footer-col-left > .scrd > .settings-card-desc,
#pg-settings .settings-footer-col-right > .scrd > .settings-card-desc{
  margin-bottom:10px;
  font-size:12px;
  line-height:1.45;
}
#pg-settings .settings-footer-card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
}
#pg-settings .settings-cf-table{
  flex:1;
  min-height:88px;
  max-height:140px;
  overflow:auto;
  margin:0;
  background:var(--surface);
  border:1px solid var(--bd2);
  border-radius:8px;
  box-shadow:none;
}
#pg-settings .settings-cf-empty{
  padding:20px 12px;
  text-align:center;
  font-size:12px;
  color:var(--tx3);
}
#pg-settings .settings-cf-actions{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--bd2);
}
#pg-settings .settings-danger-card{
  border-color:#fecdca;
  background:color-mix(in srgb,#b42318 4%,var(--surface));
}
#pg-settings .settings-danger-body{
  flex-direction:column;
  align-items:stretch;
}
#pg-settings .settings-danger-clear{
  width:100%;
  border:1px solid #fecdca;
  border-radius:10px;
  background:var(--surface);
  overflow:hidden;
}
#pg-settings .settings-danger-clear summary{
  padding:10px 12px;
  font-size:12px;
  font-weight:600;
  color:#b42318;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
#pg-settings .settings-danger-clear summary::-webkit-details-marker{display:none}
#pg-settings .settings-danger-clear summary::after{
  content:'▾';
  float:right;
  color:#b42318;
  font-size:11px;
  opacity:.7;
}
#pg-settings .settings-danger-clear[open] summary::after{transform:rotate(180deg)}
#pg-settings .settings-danger-clear[open] summary{
  border-bottom:1px solid #fecdca;
  background:color-mix(in srgb,#b42318 6%,var(--bg2));
}
#pg-settings .settings-danger-clear-hint{
  padding:10px 12px 0;
  margin:0;
  font-size:11px;
}
#pg-settings .settings-danger-count{
  margin:8px 12px 0;
  font-size:12px;
  line-height:1.5;
  font-weight:500;
  color:#b42318;
}
#pg-settings .settings-danger-clear .fl{
  padding:0 12px;
  margin-top:8px;
}
#pg-settings .settings-danger-clear .btn{
  margin:10px 12px 12px;
  width:calc(100% - 24px);
  justify-content:center;
}
#pg-settings .settings-backup-body{
  gap:12px;
  min-width:0;
}
#pg-settings .settings-backup-card{
  border-color:var(--bd2);
  min-width:0;
  overflow:hidden;
}
#pg-settings .settings-backup-dl{
  width:100%;
  justify-content:center;
}
#pg-settings .settings-backup-email-chk{display:flex;margin:0 0 10px;padding:0}
#pg-settings .settings-backup-email-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin-top:10px}
#pg-settings .settings-backup-email-actions .btn{flex:1;min-width:120px;justify-content:center}
#pg-settings .settings-backup-smtp-hint{color:var(--warn,#b45309);margin-top:0}
#pg-settings .settings-backup-disk-note{
  margin:10px 12px 0;
  padding:10px 12px;
  font-size:11px;
  line-height:1.45;
  color:var(--tx2);
  background:var(--surface);
  border:1px solid var(--bd2);
  border-radius:8px;
  box-sizing:border-box;
}
#pg-settings .settings-backup-schedule-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0 12px;
  padding:12px 0 0;
  align-items:stretch;
  box-sizing:border-box;
}
#pg-settings .settings-backup-schedule-grid .fl{
  padding:0;
  margin:0;
  min-width:0;
  width:100%;
}
#pg-settings .settings-backup-schedule-grid .fl select{width:100%;max-width:100%;box-sizing:border-box}
#pg-settings #backupEmailPanel .settings-backup-schedule-grid{grid-template-columns:1fr}
#pg-settings .settings-backup-time-field{width:100%;min-width:0}
#pg-settings .settings-backup-ist{
  font-size:10px;
  font-weight:600;
  color:var(--tx3);
  text-transform:uppercase;
  letter-spacing:.04em;
}
#pg-settings .settings-backup-time-picker{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(0,1.1fr);
  align-items:center;
  gap:6px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#pg-settings .settings-backup-time-picker select{
  width:100%;
  min-width:0;
  max-width:100%;
  text-align:center;
  font-variant-numeric:tabular-nums;
  padding-left:4px;
  padding-right:24px;
  box-sizing:border-box;
}
#pg-settings .settings-backup-time-picker .settings-backup-time-hour,
#pg-settings .settings-backup-time-picker .settings-backup-time-minute,
#pg-settings .settings-backup-time-picker .settings-backup-time-ampm{
  width:100%;
  margin-left:0;
}
#pg-settings .settings-backup-time-sep{
  color:var(--tx3);
  font-weight:600;
  line-height:1;
  text-align:center;
}
#pg-settings .settings-backup-status{
  margin:10px 12px 0;
  padding:8px 10px;
  border-radius:8px;
  background:var(--bg2);
  border:1px dashed var(--bd2);
  box-sizing:border-box;
}
#pg-settings .settings-backup-status .field-hint{padding:0;margin:0 0 4px}
#pg-settings .settings-backup-status .field-hint:last-child{margin-bottom:0}
#pg-settings .settings-backup-email-panel{
  margin:12px;
  padding:12px;
  border-radius:10px;
  border:1px solid var(--bd2);
  background:var(--surface);
  box-sizing:border-box;
  min-width:0;
}
#pg-settings .settings-backup-subsection-title{
  margin:0 0 10px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--tx3);
}
#pg-settings .settings-backup-email-panel .fl{padding:0;margin-top:8px;min-width:0}
#pg-settings .settings-backup-email-panel .fl input{width:100%;max-width:100%;box-sizing:border-box}
#pg-settings .settings-backup-email-panel .field-hint{padding:0;margin:8px 0 0}
#pg-settings .settings-backup-email-panel > .chk-label,
#pg-settings .settings-backup-email-panel > .settings-backup-email-chk{
  margin:0 0 10px;
}
#pg-settings #backupEmailPanel .settings-backup-schedule-grid .fl,
#pg-settings #backupEmailPanel .settings-backup-email-panel .fl{
  padding:0;
  margin-top:0;
}
#pg-settings #backupEmailPanel .settings-backup-disk-note{
  margin-left:12px;
  margin-right:12px;
}
#pg-settings .settings-backup-restore{
  margin-top:auto;
  border:1px solid var(--bd2);
  border-radius:10px;
  background:var(--bg2);
  overflow:hidden;
  min-width:0;
}
#pg-settings .settings-backup-restore > .chk-label,
#pg-settings .settings-backup-restore > .settings-backup-email-chk{
  display:flex;
  margin:8px 12px 10px;
  padding:0;
}
#pg-settings .settings-backup-restore summary{
  padding:10px 12px;
  font-size:12px;
  font-weight:600;
  color:var(--tx2);
  cursor:pointer;
  list-style:none;
  user-select:none;
}
#pg-settings .settings-backup-restore summary::-webkit-details-marker{display:none}
#pg-settings .settings-backup-restore summary::after{
  content:'▾';
  float:right;
  color:var(--tx3);
  font-size:11px;
}
#pg-settings .settings-backup-restore[open] summary::after{transform:rotate(180deg)}
#pg-settings .settings-backup-restore[open] summary{
  border-bottom:1px solid var(--bd2);
  background:color-mix(in srgb,var(--acc) 4%,var(--bg2));
}
#pg-settings .settings-backup-restore .field-hint,
#pg-settings .settings-backup-restore .fl{
  padding:0 12px;
}
#pg-settings .settings-backup-restore-hint{
  padding:10px 12px 0;
  margin:0;
  font-size:11px;
}
#pg-settings .settings-backup-restore .fl{margin-top:8px}
#pg-settings .settings-backup-restore .btn{
  margin:10px 12px 12px;
  width:calc(100% - 24px);
  justify-content:center;
}
#pg-settings .settings-backup-file .file-upload{
  width:100%;
}
[data-theme="dark"] #pg-settings .settings-danger-card{
  border-color:#7f1d1d;
  background:#1a1212;
}
[data-theme="dark"] #pg-settings .settings-danger-note{color:#fca5a5}
[data-theme="dark"] #pg-settings .settings-danger-clear{
  background:var(--bg);
  border-color:#7f1d1d;
}
[data-theme="dark"] #pg-settings .settings-danger-clear[open] summary{
  background:#2a1515;
  color:#fca5a5;
}
[data-theme="dark"] #pg-settings .settings-danger-count{color:#fca5a5}
[data-theme="dark"] #pg-settings .settings-backup-card{
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .settings-backup-restore{
  background:var(--bg2);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .settings-backup-restore[open] summary{
  background:color-mix(in srgb,var(--acc) 6%,var(--bg3));
}
[data-theme="dark"] #pg-settings .settings-backup-disk-note,
[data-theme="dark"] #pg-settings .settings-backup-status{
  background:var(--bg3);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .settings-backup-email-panel{
  background:var(--bg);
  border-color:var(--bd2);
}

#pg-settings .settings-card-desc{
  color:var(--tx3);
  margin:0 0 14px;
  line-height:1.45;
}
#pg-settings .field-hint{font-size:12px;color:var(--tx3);margin:6px 0 0;line-height:1.4}
#pg-settings .company-details-grid .field-hint{
  margin-top:6px;
  margin-bottom:0;
}
#pg-settings .settings-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--bd2);
}
#pg-settings .settings-card-actions .btn{
  min-height:38px;
  padding:8px 14px;
  box-sizing:border-box;
}
#pg-settings .branding-form-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
}
#pg-settings .company-details-grid{
  align-items:start;
}
#pg-settings .company-details-grid>.fl{
  align-self:start;
}
#pg-settings .branding-field-stack .branding-slider-label{
  display:block;
  margin-top:10px;
  margin-bottom:6px;
  font-size:12px;
  font-weight:600;
  color:var(--tx2);
}
#pg-settings .branding-field-stack .branding-slider-label span{
  font-weight:500;
  color:var(--tx3);
}
#pg-settings .branding-field-stack input[type=range]{
  width:100%;
  margin:0;
}
#pg-settings .branding-logo-field{
  align-self:start;
}
#pg-settings .logo-slot-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:8px;
  width:100%;
}
#pg-settings .branding-logo-preview{
  display:none;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:52px;
  height:52px;
  padding:6px;
  margin:0;
  background:var(--bg2);
  border:1px solid var(--bd2);
  border-radius:10px;
  box-sizing:border-box;
}
#pg-settings .branding-logo-preview.is-visible{
  display:flex;
}
#pg-settings #brandLogoPreview,
#pg-settings #navLogoPreview{
  display:block;
  max-height:40px;
  max-width:40px;
  width:auto;
  height:auto;
  object-fit:contain;
  margin:0 auto;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
}
#pg-settings .branding-logo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:0;
  justify-content:center;
}
#pg-settings .file-upload,
.file-upload{
  display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;width:100%;
  border:1px solid var(--bd2);border-radius:10px;overflow:hidden;
  background:var(--surface);min-height:40px;box-sizing:border-box;
}
#pg-settings .file-upload-input,
.file-upload-input{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
#pg-settings .file-upload .file-upload-btn,
.file-upload .file-upload-btn,
.fl .file-upload-btn{
  display:inline-flex;align-items:center;justify-content:center;align-self:stretch;
  padding:0 14px;margin:0;margin-bottom:0;
  background:var(--bg2);border-right:1px solid var(--bd2);
  font-size:12px;font-weight:600;line-height:1;color:var(--tx2);
  cursor:pointer;flex-shrink:0;user-select:none;
}
#pg-settings .file-upload .file-upload-btn:hover,
.file-upload .file-upload-btn:hover,
.fl .file-upload-btn:hover{background:var(--bg3);color:var(--tx)}
#pg-settings .file-upload-name,
.file-upload-name{
  flex:1;display:flex;align-items:center;padding:0 12px;
  font-size:12px;color:var(--tx3);min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#pg-settings .file-upload-name.has-file,
.file-upload-name.has-file{color:var(--tx2);font-weight:500}
#pg-settings .file-upload-clear,
.file-upload-clear{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 12px;margin:0;flex-shrink:0;
  background:transparent;border:none;border-left:1px solid var(--bd2);
  border-radius:0;font-size:12px;font-weight:600;color:var(--danger);
  cursor:pointer;
}
#pg-settings .file-upload-clear:hover,
.file-upload-clear:hover{background:color-mix(in srgb,var(--danger) 8%,var(--bg))}
#pg-settings .file-upload-clear[hidden],
.file-upload-clear[hidden]{display:none!important}
#pg-settings .scrd{
  background:var(--surface);
  border:1px solid var(--bd2);
  border-radius:14px;
  padding:14px 16px;
  box-shadow:var(--shadow-sm);
}

#pg-settings .scrd h3{
  font-size:15px;
  margin-bottom:6px;
  color:var(--tx);
}

#pg-settings .scrd p{
  color:var(--tx3);
  margin-bottom:12px;
}

#pg-settings .fg{
  gap:10px 12px;
  align-items:start;
}

#pg-settings .fl label{
  color:var(--tx2);
  font-weight:600;
  margin-bottom:6px;
}

#pg-settings .fl input:not([type="checkbox"]):not([type="range"]):not(.input-color):not([type="date"]):not([type="month"]),
#pg-settings .fl select,
#pg-settings .fl textarea{
  background:var(--input-bg);
  border:1px solid var(--bd2);
  border-radius:10px;
  padding:8px 11px;
  box-sizing:border-box;
  min-height:38px;
  color:var(--tx);
}
#pg-settings .fl select{
  height:38px;
  padding-right:32px;
}
#pg-settings .fl input:not([type="checkbox"]):not([type="range"]):not(.input-color):not([type="date"]):not([type="month"]){
  height:38px;
}
#pg-settings .fl input[type="date"],
#pg-settings .fl input[type="month"]{
  height:38px;
  color-scheme:light dark;
}
#pg-settings .fl textarea{
  height:auto;
  min-height:72px;
}

#pg-settings .fl input:focus,
#pg-settings .fl select:focus,
#pg-settings .fl textarea:focus{
  border-color:var(--acc);
  box-shadow:var(--focus-ring);
}

#pg-settings .color-bar-box{
  position:relative;
  width:100%;
  height:36px;
  border:1px solid var(--bd2);
  border-radius:10px;
  background:var(--input-bg);
  overflow:hidden;
  box-sizing:border-box;
}
#pg-settings .color-bar-box:focus-within{
  border-color:var(--acc);
  box-shadow:var(--focus-ring);
}
#pg-settings .color-bar-box .input-color{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0;
  padding:0!important;
  border:none!important;
  border-radius:0;
  background:transparent;
  cursor:pointer;
  box-sizing:border-box;
  -webkit-appearance:none;
  appearance:none;
}
#pg-settings .color-bar-box .input-color::-webkit-color-swatch-wrapper{
  position:absolute;
  left:10px;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:10px;
  padding:0;
}
#pg-settings .color-bar-box .input-color::-webkit-color-swatch{
  width:100%;
  height:10px;
  border:none;
  border-radius:4px;
}
#pg-settings .color-bar-box .input-color::-moz-color-swatch{
  border:none;
  border-radius:4px;
}
#pg-settings .color-bar-box .input-color:focus{
  outline:none;
  box-shadow:none!important;
}
#pg-settings .tags{
  gap:7px;
}

#pg-settings .tag{
  border:1px solid var(--bd2);
  background:var(--bg2);
  border-radius:999px;
  padding:3px 9px;
  color:var(--tx2);
}
[data-theme="dark"] #pg-settings .settings-picklist-sub-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c7ced8' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
[data-theme="dark"] .integrity-ok{
  background:color-mix(in srgb,#166534 18%,var(--bg2));
  border-color:color-mix(in srgb,#166534 35%,var(--bd2));
  color:#86efac;
}
[data-theme="dark"] #pg-settings .backup-restore-zone{
  border-top-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .backup-zone-title{color:var(--tx)}
[data-theme="dark"] #pg-settings .backup-zone-desc{color:var(--tx3)}

#pg-settings .settings-location-aliases{
  margin-top:12px;
  border:1px solid var(--bd2);
  border-radius:10px;
  padding:0 12px 12px;
  background:var(--bg2);
}
#pg-settings .settings-location-aliases summary{
  cursor:pointer;
  font-size:12px;
  font-weight:600;
  color:var(--tx2);
  padding:10px 0;
  list-style-position:inside;
}
#pg-settings .settings-location-aliases[open] summary{margin-bottom:8px}

[data-theme="dark"] #pg-settings .scrd{
  background:var(--surface);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .settings-picklist-block{
  background:var(--bg2);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .picklist-panel{
  background:var(--bg3);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .subsidiary-row-actions .btn{
  background:var(--bg3);
  border-color:var(--bd2);
  color:var(--tx2);
}
[data-theme="dark"] #pg-settings .subsidiary-row-actions .btn:hover{
  background:var(--bg2);
  color:var(--tx);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .email-smtp-details,
[data-theme="dark"] #pg-settings .settings-location-aliases,
[data-theme="dark"] #pg-settings .email-help-details{
  background:var(--bg2);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .settings-location-aliases summary,
[data-theme="dark"] #pg-settings .email-smtp-details summary,
[data-theme="dark"] #pg-settings .email-help-details summary{
  color:var(--tx2);
}
[data-theme="dark"] #pg-settings .email-log-wrap{
  background:var(--bg3);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .email-log-wrap th{
  background:var(--bg2);
  color:var(--tx3);
}
[data-theme="dark"] #pg-settings .email-log-wrap td{
  color:var(--tx2);
  border-bottom-color:var(--bd);
}
[data-theme="dark"] #pg-settings .integrity-table th{
  background:var(--bg2);
}
[data-theme="dark"] #pg-settings .cf-item{
  border-bottom-color:var(--bd);
}
[data-theme="dark"] #pg-settings .report-preview{
  background:var(--bg2);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .email-junk-hint{
  background:var(--bg3);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .settings-card-actions,
[data-theme="dark"] #pg-settings .settings-footer-grid,
[data-theme="dark"] #pg-settings .email-log-section{
  border-top-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .settings-cf-actions{
  border-top-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .picklist-bulk-actions .btn{
  background:var(--bg3);
  border-color:var(--bd2);
  color:var(--tx2);
}
[data-theme="dark"] #pg-settings .picklist-bulk-actions .btn:hover{
  background:var(--bg2);
  color:var(--tx);
}
[data-theme="dark"] #pg-settings .file-upload{
  background:var(--bg3);
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-settings .file-upload-btn{
  background:var(--bg2);
  border-right-color:var(--bd2);
  color:var(--tx2);
}
[data-theme="dark"] #pg-settings .tag{
  background:var(--bg3);
  border-color:var(--bd2);
  color:var(--tx2);
}
[data-theme="dark"] .email-diag-ok{color:#6ee7b7}
[data-theme="dark"] .email-diag-warn{color:#fcd34d}
[data-theme="dark"] .email-diag-fail{color:#fca5a5}
[data-theme="dark"] .assign-email-preview.ok{color:#6ee7b7}
[data-theme="dark"] .assign-email-preview.warn{color:#fcd34d}
[data-theme="dark"] #pg-settings .muted-hint,
[data-theme="dark"] #pg-settings .field-hint,
[data-theme="dark"] #pg-settings .email-hint{color:var(--tx3)}
[data-theme="dark"] #pg-settings code{
  background:var(--bg3);
  color:var(--tx2);
  border:1px solid var(--bd2);
  border-radius:4px;
  padding:1px 5px;
}

/* Dark theme — layout & chrome */
[data-theme="dark"] body{background:var(--bg3)}
[data-theme="dark"][data-module="it"] body{background:linear-gradient(180deg,#0e1218 0%,#141a22 100%)}
[data-theme="dark"][data-module="admin"] body{background:linear-gradient(180deg,#0e1218 0%,#141a22 100%)}
[data-theme="dark"] .topnav{
  background:color-mix(in srgb,var(--surface) 92%,var(--bg3));
  border-bottom-color:var(--bd2);
  box-shadow:0 1px 0 rgba(0,0,0,.25);
}
[data-theme="dark"] .nav-modules{
  background:var(--bg2);
  border-color:var(--bd2);
}
[data-theme="dark"] .nmodule{color:var(--tx3)}
[data-theme="dark"] .nmodule:hover{color:var(--tx2);background:rgba(255,255,255,.04)}
[data-theme="dark"] .nmodule.on{
  background:var(--surface);
  color:var(--acc);
  box-shadow:0 1px 4px rgba(0,0,0,.35),inset 0 0 0 1px var(--bd2);
}
[data-theme="dark"] .ntab{color:var(--tx3)}
[data-theme="dark"] .ntab:hover{color:var(--tx2);background:rgba(255,255,255,.05)}
[data-theme="dark"] .ntab.on{
  background:var(--acc-soft);
  color:var(--acc);
  font-weight:600;
}
[data-theme="dark"] .btn{
  background:var(--surface);
  border-color:var(--bd2);
  color:var(--tx2);
}
[data-theme="dark"] .btn:hover{
  background:var(--bg2);
  color:var(--tx);
  border-color:var(--bd2);
}
[data-theme="dark"] .bp,
[data-theme="dark"] .ba{
  background:var(--acc2);
  border-color:var(--acc2);
  color:#fff;
}
[data-theme="dark"] .bp:hover,
[data-theme="dark"] .ba:hover{
  background:var(--acc);
  border-color:var(--acc);
  opacity:1;
}
[data-theme="dark"] .bd{
  color:#fca5a5 !important;
  border-color:rgba(248,113,113,.35) !important;
  background:transparent !important;
}
[data-theme="dark"] .bd:hover{background:rgba(127,29,29,.35) !important}
[data-theme="dark"] .toolbar input,
[data-theme="dark"] .toolbar select,
[data-theme="dark"] .toolbar-field{
  background:var(--input-bg);
  border-color:var(--bd2);
  color:var(--tx);
}
[data-theme="dark"] .toolbar-field:focus-within{
  border-color:var(--acc2);
  box-shadow:var(--focus-ring);
}
[data-theme="dark"] .twrap{
  background:var(--surface);
  border:0.5px solid var(--bd2);
  border-radius:var(--rl);
}
[data-theme="dark"] table{background:transparent}
[data-theme="dark"] th{
  background:color-mix(in srgb,var(--bg2) 88%,var(--acc-soft));
  color:var(--tx3);
  border-bottom-color:var(--bd2);
}
[data-theme="dark"] td{
  border-bottom-color:var(--bd);
  color:var(--tx);
}
[data-theme="dark"] tbody tr:nth-child(even) td{background:rgba(255,255,255,.02)}
[data-theme="dark"] tr:hover td{background:var(--acc-soft)!important}
[data-theme="dark"] .twrap td:last-child,
[data-theme="dark"] .twrap th:last-child{
  background:inherit;
  box-shadow:none;
}
[data-theme="dark"] .twrap tr:hover td:last-child{background:var(--acc-soft)!important}
[data-theme="dark"] .pag-size select,
[data-theme="dark"] .dash-loc-select{
  background-color:var(--input-bg);
  border-color:var(--bd2);
  color:var(--tx);
}
[data-theme="dark"] .shead h2{color:var(--tx)}
[data-theme="dark"] .page-sub,
[data-theme="dark"] .user-page-hint{color:var(--tx3)}
[data-theme="dark"] .subsidiary-row{background:var(--surface);border-color:var(--bd2)}

/* Dark theme component polish */
[data-theme="dark"] .tcard,
[data-theme="dark"] .ccrd,
[data-theme="dark"] .dash-kpi{
  background:var(--surface);
  border-color:var(--bd2);
  box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .dash-kpi-click:hover{
  border-color:var(--acc);
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
[data-theme="dark"] .dash-kpi-value{color:var(--tx)}
[data-theme="dark"] .crit-alert-badge{
  background:color-mix(in srgb,var(--badge) 26%,transparent);
  color:color-mix(in srgb,var(--badge) 22%,#f8fafc);
  border:1px solid color-mix(in srgb,var(--badge) 42%,transparent);
}
[data-theme="dark"] .dash-loc-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c7ced8' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
[data-theme="dark"] .dash-loc-field.is-active .dash-loc-select{
  box-shadow:var(--focus-ring);
}

[data-theme="dark"] .thead-bar,
[data-theme="dark"] th{
  background:var(--bg2);
  border-color:var(--bd);
}

[data-theme="dark"] tr:hover td{
  background:rgba(255,255,255,0.03);
}

[data-theme="dark"] .row-dropdown-menu{
  background:var(--bg);
  border-color:var(--bd2);
}

[data-theme="dark"] .row-dropdown-menu button{
  color:var(--tx2);
}

[data-theme="dark"] .row-dropdown-menu button:hover{
  background:var(--bg2);
  color:var(--tx);
}

[data-theme="dark"] .dropdown-trigger{
  background:color-mix(in srgb,var(--bg2) 90%,var(--acc-soft)) !important;
  border-color:var(--bd2) !important;
  color:var(--tx) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.25);
}

[data-theme="dark"] .dropdown-trigger:hover{
  background:var(--bg3) !important;
  border-color:color-mix(in srgb,var(--acc) 32%,var(--bd2)) !important;
  color:var(--tx) !important;
}
[data-theme="dark"] .dropdown-trigger .d-arrow{color:var(--tx3)}
[data-theme="dark"] #activeRowMenu,
[data-theme="dark"] .active-row-menu{
  background:var(--surface);
  border-color:var(--bd2);
  box-shadow:0 12px 28px rgba(0,0,0,.45);
}
[data-theme="dark"] #activeRowMenu button.m-del,
[data-theme="dark"] .active-row-menu button.m-del,
[data-theme="dark"] .row-dropdown-menu button.m-del{color:#fca5a5}
[data-theme="dark"] #activeRowMenu button.m-del:hover,
[data-theme="dark"] .active-row-menu button.m-del:hover,
[data-theme="dark"] .row-dropdown-menu button.m-del:hover{background:rgba(163,45,45,.18);color:#fecaca}

[data-theme="dark"] .tag{
  background:var(--bg2);
  border-color:var(--bd2);
  color:var(--tx2);
}

[data-theme="dark"] .empty{
  color:var(--tx3);
}

[data-theme="dark"] .col-select-menu{
  background:var(--surface);
  border-color:var(--bd2);
  box-shadow:0 12px 28px rgba(0,0,0,.4);
}
[data-theme="dark"] .bulk-asset-bar{
  background:var(--surface);
  border-color:var(--bd2);
  box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .bulk-asset-bar #bulkAssetCount{color:var(--tx2)}
[data-theme="dark"] .bulk-asset-bar select{
  background:var(--input-bg);
  border-color:var(--bd2);
  color:var(--tx);
}
[data-theme="dark"] #pg-assets .tcard,
[data-theme="dark"] #pg-assets .twrap{
  border-color:var(--bd2);
}
[data-theme="dark"] #pg-assets tbody tr:hover td{
  background:color-mix(in srgb,var(--acc-soft) 65%,transparent)!important;
}
[data-theme="dark"] #pg-assets .td-actions .dropdown-trigger{
  background:var(--surface)!important;
}

[data-theme="dark"] .r-admin{background:#3B3480;color:#D4D0FF}
[data-theme="dark"] .r-subsidiary_admin{background:#78350F;color:#FDE68A}
[data-theme="dark"] .r-editor{background:#1E3A8A;color:#BFDBFE}
[data-theme="dark"] .r-subsidiary_editor{background:#164E63;color:#A5F3FC}
[data-theme="dark"] .r-viewer{background:#064E3B;color:#A7F3D0}
[data-theme="dark"] .r-subsidiary_viewer{background:#881337;color:#FECDD3}
[data-theme="dark"] .r-assignee{background:#334155;color:#CBD5E1}

[data-theme="dark"] .mb-it{background:#1e3a8a;color:#bfdbfe}
[data-theme="dark"] .mb-admin{background:#3B3480;color:#D4D0FF}
[data-theme="dark"] .mb-both{background:#3b3480;color:#d4d0ff}
[data-theme="dark"] .user-entra-tag{background:rgba(29,111,212,.22);color:#93c5fd;border:1px solid rgba(96,165,250,.28)}
[data-theme="dark"] .user-asset-badge.uab-it{
  background:rgba(29,111,212,.2);
  border-color:rgba(96,165,250,.38);
  color:#bfdbfe;
}
[data-theme="dark"] .user-asset-badge.uab-it:hover{
  background:rgba(29,111,212,.3);
  border-color:rgba(96,165,250,.5);
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}
[data-theme="dark"] .user-asset-badge.uab-it .uab-count{background:#3b82f6}
[data-theme="dark"] .user-asset-badge.uab-admin{
  background:rgba(59,130,246,.18);
  border-color:rgba(96,165,250,.38);
  color:#bfdbfe;
}
[data-theme="dark"] .user-asset-badge.uab-admin:hover{
  background:rgba(59,130,246,.28);
  border-color:rgba(96,165,250,.5);
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}
[data-theme="dark"] .user-asset-badge.uab-admin .uab-count{background:#3b82f6}
[data-theme="dark"] .user-asset-badge.uab-zero{
  background:rgba(255,255,255,.04);
  border-color:var(--bd2);
  color:var(--tx3);
}
[data-theme="dark"] .user-asset-badge.uab-zero .uab-count{background:#475569}

/* Settings responsive refinement */
@media (max-width: 1024px){
  #pg-settings .sg.settings-layout{
    grid-template-columns:1fr;
  }
  #pg-settings .fg,
  #pg-settings .branding-form-grid{
    grid-template-columns:1fr 1fr;
  }
  #pg-settings .settings-picklists-title-row h3{
    line-height:1.3;
  }
  #pg-settings .settings-picklists-company{
    width:100%;
    justify-content:flex-end;
  }
  #pg-settings .settings-picklist-sub-select{
    width:100%;
    flex:1;
  }
}

@media (max-width: 768px){
  #pg-settings .scrd{
    padding:14px;
    border-radius:12px;
  }

  #pg-settings .fg,
  #pg-settings .branding-form-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  #pg-settings .tadd{
    flex-direction:column;
    gap:8px;
  }

  #pg-settings .tadd .btn{
    width:100%;
    justify-content:center;
  }

  #pg-settings button[onclick="uploadLogo()"],
  #pg-settings button[onclick="removeLogo()"]{
    width:100%;
    margin-left:0;
  }

  #pg-settings #brandLogoPreview{
    max-width:100%;
    width:100%;
    object-fit:contain;
  }

  #pg-settings .tag{
    font-size:11px;
    padding:3px 8px;
  }
}

/* Enterprise confirmation modal */
#confirmModal .confirm-modal-box,
#promptModal .confirm-modal-box{
  max-width:430px;
  border:1px solid var(--bd2);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(16,24,40,0.18);
  background:var(--bg);
  color:var(--tx);
}

#confirmModal .confirm-modal-header{
  margin-bottom:14px;
}

#confirmModal .confirm-title-wrap{
  display:flex;
  align-items:center;
  gap:10px;
}

#confirmModal .confirm-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:color-mix(in srgb,#c2410c 12%,var(--bg2));
  color:#c2410c;
  font-size:13px;
  font-weight:700;
}
.confirm-icon-prompt{
  background:color-mix(in srgb,var(--acc) 12%,var(--bg2)) !important;
  color:var(--acc) !important;
}

#confirmModal #confirmTitle,
#promptModal #promptTitle{
  font-size:17px;
  font-weight:600;
  color:var(--tx);
}

#confirmModal .confirm-message,
#promptModal .confirm-message{
  font-size:14px;
  color:var(--tx2);
  line-height:1.55;
  white-space:pre-line;
}

#confirmModal .confirm-actions,
#promptModal .confirm-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
  padding-top:14px;
  border-top:1px solid var(--bd2);
}

#confirmModal .confirm-close-btn,
#promptModal .confirm-close-btn{
  width:30px;
  height:30px;
  border-radius:8px;
  background:var(--bg2);
  color:var(--tx3);
  border:1px solid var(--bd2);
  font-size:14px;
  font-weight:600;
}

#confirmModal .confirm-close-btn:hover,
#promptModal .confirm-close-btn:hover{
  background:var(--bg3);
  color:var(--tx2);
  opacity:1;
}

#confirmModal .confirm-danger-btn{
  background:#b42318;
  border-color:#912018;
  color:#fff;
}
#confirmModal .confirm-danger-btn:hover{
  background:#912018;
  border-color:#7a271a;
  color:#fff;
  opacity:1;
}

#promptModal .confirm-modal-header{
  margin-bottom:14px;
}
#promptModal .confirm-title-wrap{
  display:flex;
  align-items:center;
  gap:10px;
}
#promptModal .confirm-icon{
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:700;
}
#promptModal #promptInput{
  margin-top:8px;
  padding:10px 12px;
  border:1px solid var(--bd2);
  border-radius:8px;
  font-size:14px;
  outline:none;
  transition:border-color .15s;
  background:var(--input-bg);
  color:var(--tx);
}
#promptModal #promptInput:focus{
  border-color:var(--acc);
  box-shadow:var(--focus-ring);
}

.chk-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--tx2);cursor:pointer}
.chk-label input{width:auto;accent-color:var(--acc)}
#pg-settings .email-settings-card{grid-column:1/-1}
#pg-settings .azure-settings-card{grid-column:1/-1}
#pg-settings .backup-download-actions{
  margin-top:12px;padding-top:0;border-top:none;
}
#pg-settings .backup-restore-zone{
  margin-top:18px;padding-top:18px;
  border-top:1px solid var(--bd2);
}
#pg-settings .backup-zone-title{
  margin:0 0 4px;font-size:13px;font-weight:600;color:var(--tx2);
}
#pg-settings .backup-zone-desc{
  margin:0 0 14px;font-size:12px;line-height:1.45;color:var(--tx3);
}
#pg-settings .backup-fields{
  display:flex;flex-direction:column;gap:14px;
  max-width:min(480px,100%);
}
#pg-settings .backup-fields .fl{width:100%}
#pg-settings .backup-fields .file-upload{width:100%}
#pg-settings .backup-restore-confirm{
  width:100%;max-width:none;box-sizing:border-box;
  font-family:ui-monospace,monospace;letter-spacing:.04em;
}
#pg-settings .backup-restore-actions{
  margin-top:14px;padding-top:14px;border-top:1px solid var(--bd2);
}
#pg-settings .azure-settings-grid{align-items:start}
#pg-settings .azure-enable-row{margin:0 0 10px;font-weight:500}
#pg-settings .azure-assignee-row{
  display:block;margin:0 0 6px;font-weight:600;color:var(--tx);
}
#pg-settings .azure-assignee-hint{margin:0 0 14px;font-size:12px;line-height:1.45}
#pg-settings .az-default-role-wrap{
  padding-top:4px;border-top:0.5px dashed var(--bd);
}
#pg-settings .azure-perms-hint,#pg-settings .azure-sync-status{font-size:12px;line-height:1.5;margin:0 0 12px}
#pg-settings .azure-sync-status{color:var(--tx2)}
#pg-settings .email-settings-card .settings-card-desc,
#pg-settings .email-settings-card .email-settings-desc{margin-bottom:12px}
#pg-settings .email-settings-card .email-settings-desc{margin-bottom:10px}
.email-toggles{display:flex;flex-wrap:wrap;gap:8px 16px;margin:10px 0}
.email-toggles .chk-label{font-size:12px;gap:6px}
.email-inbox-grid{grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:0}
@media(max-width:700px){.email-inbox-grid{grid-template-columns:1fr}}
.email-smtp-details{margin:10px 0 0;border:1px solid var(--bd);border-radius:10px;padding:0 12px 12px;background:var(--bg2)}
.email-smtp-details summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--tx2);padding:10px 0;list-style-position:inside}
.email-smtp-details[open] summary{margin-bottom:8px}
.email-smtp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin-top:4px}
@media(max-width:900px){.email-smtp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.email-smtp-grid{grid-template-columns:1fr}}
#pg-settings .email-test-field{max-width:320px;margin-top:10px;margin-bottom:0}
#pg-settings .email-save-actions{margin-bottom:0}
.email-log-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--bd)}
.email-log-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.email-log-title{font-size:12px;font-weight:600;margin:0 0 8px;color:var(--tx2)}
.email-help-details{margin-top:12px;font-size:12px}
.email-help-details summary{cursor:pointer;font-weight:600;color:var(--tx2);padding:4px 0}
.email-help-details[open] summary{margin-bottom:8px}
.email-help-details .email-hint{margin:0 0 8px}
.email-hint{font-size:12px;color:var(--tx3);margin:8px 0 0;line-height:1.45}
.email-diag-ok{color:#0f6e56}
.email-diag-warn{color:#854f0b}
.email-diag-fail{color:#a32d2d}
.email-junk-hint{margin-top:0;padding:8px 10px;background:var(--bg2);border-radius:8px;border:1px solid var(--bd)}
.assign-email-chk{margin:4px 0 8px}
.assign-email-preview{font-size:12px;margin:8px 0 0;line-height:1.45}
.assign-email-preview.muted{color:var(--tx3)}
.assign-email-preview.ok{color:#0F6E56}
.assign-email-preview.warn{color:#854F0B}
.reports-toolbar{margin-bottom:4px}
.reports-toolbar .fl{max-width:240px}
.reports-actions .btn{
  min-height:38px;
  padding:8px 14px;
  box-sizing:border-box;
}
.reports-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
  margin-bottom:4px;
}
.report-preview{
  margin-top:20px;
  padding:16px 18px;
  background:var(--bg2);
  border-radius:10px;
  border:1px solid var(--bd);
  font-size:13px;
  line-height:1.5;
}
.report-preview.muted{color:var(--tx3)}
.report-preview-org{
  margin:0 0 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--tx1);
}
.report-preview-block{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--bd);
}
.report-kpis{display:flex;flex-wrap:wrap;gap:14px 24px}
.report-kpis span{color:var(--tx2)}
.report-kpis strong{color:var(--tx);font-weight:700}

/* ===== SLIM SCROLLBAR ===== */
*{scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.15) transparent}
::-webkit-scrollbar{width:7px;height:7px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(15,23,42,.15);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,.3)}
[data-theme="dark"] *{scrollbar-color:rgba(255,255,255,.14) transparent}
[data-theme="dark"] ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14)}
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.28)}

/* Dark mode — modals & misc surfaces */
[data-theme="dark"] .modal,
[data-theme="dark"] .logout-confirm{
  background:rgba(0,0,0,.55);
}
[data-theme="dark"] .modal-box,
[data-theme="dark"] #confirmModal .confirm-modal-box,
[data-theme="dark"] #promptModal .confirm-modal-box{
  background:var(--surface);
  border-color:var(--bd2);
  box-shadow:0 16px 40px rgba(0,0,0,.45);
}
[data-theme="dark"] #confirmModal .confirm-icon{
  background:color-mix(in srgb,#c2410c 22%,var(--bg2));
  color:#fdba74;
}
[data-theme="dark"] .confirm-icon-prompt{
  background:color-mix(in srgb,var(--acc) 22%,var(--bg2)) !important;
  color:var(--acc) !important;
}
[data-theme="dark"] .mo{
  background:rgba(0,0,0,.55);
}
[data-theme="dark"] code{
  background:var(--bg2);
  color:var(--tx2);
  border-radius:4px;
  padding:1px 4px;
}
[data-theme="dark"] .import-help-content{background:var(--bg2);border-color:var(--bd2)}
[data-theme="dark"] .tadd input{background:var(--input-bg);border-color:var(--bd2);color:var(--tx)}
[data-theme="dark"] .prow input{background:var(--input-bg);border-color:var(--bd2);color:var(--tx)}
[data-theme="dark"] #pg-settings .fl input[type="date"],
[data-theme="dark"] #pg-settings .fl input[type="month"],
[data-theme="dark"] .fl input[type="date"],
[data-theme="dark"] .fl input[type="month"]{
  color-scheme:dark;
}

/* ===== WIDE SCREEN (27"+) ===== */
.twrap table{width:max-content;min-width:100%;margin-bottom:8px}
.twrap th:last-child{position:sticky;right:0;background:var(--bg2);z-index:32;box-shadow:-2px 0 4px rgba(0,0,0,.04)}
.twrap td:last-child{position:sticky;right:0;background:var(--bg);z-index:2;box-shadow:-2px 0 4px rgba(0,0,0,.04)}
.td-actions{cursor:pointer}
.twrap tr:hover td:last-child{background:var(--bg2)}

@media(min-width:1800px){
  .page{padding:24px 40px 32px}
  th{padding:12px 18px}
  td{padding:14px 18px;font-size:14px}
  .dash-kpi-value{font-size:32px}
  .dash-kpi{padding:20px 24px}
  .dash-chart-wrap{height:clamp(220px,26vh,360px)}
  .twrap{max-height:min(75vh,900px)}
}
@media(min-width:2400px){
  .page{padding:28px 56px 36px}
  th{padding:14px 22px}
  td{padding:16px 22px}
  .dash-kpi-value{font-size:36px}
  .dash-chart-wrap{height:clamp(260px,28vh,420px)}
  .dash-kpi{padding:24px 28px}
}

@keyframes skeleton-shimmer{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}
.skeleton-line{
  height:12px;border-radius:6px;
  background:linear-gradient(90deg,var(--bg3,#e8ecf0) 25%,var(--bg2,#f4f6f8) 50%,var(--bg3,#e8ecf0) 75%);
  background-size:200% 100%;
  animation:skeleton-shimmer 1.4s ease-in-out infinite;
}
.skeleton-line.sk-xs{width:35%;height:10px}
.skeleton-line.sk-sm{width:50%;height:10px}
.skeleton-line.sk-md{width:75%}
.skeleton-line.sk-lg{width:92%}
.skeleton-line.sk-xl{width:55%;height:28px;margin:6px 0}
.skeleton-kpi{pointer-events:none;min-height:88px}
.skeleton-kpi .skeleton-line{margin:4px 0}
.skeleton-row td{padding:12px 10px}
.skeleton-row .skeleton-line{max-width:120px}
.skeleton-audit{pointer-events:none}
.skeleton-audit .skeleton-line{margin:3px 0}
.skeleton-wrap .skeleton-line{margin:8px 0}
#tbody.assets-loading{opacity:.55;pointer-events:none;transition:opacity .12s ease}
[data-theme="dark"] .skeleton-line{
  background:linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.06) 75%);
  background-size:200% 100%;
}
#promptModal .confirm-danger-btn{background:var(--danger,#b91c1c);border-color:var(--danger,#b91c1c);color:#fff}
#promptModal .confirm-danger-btn:hover{filter:brightness(1.08)}