:root{
  --win:#c0c0c0;--dark:#808080;--darker:#404040;--light:#fff;--blue:#000080;--teal:#008080;
  --text:#000;--danger:#800000;--ui-font:"MS Sans Serif",Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}

/* Windows 95/NT scrollbar treatment. The main client keeps the classic
   16px control size and a dithered trough instead of a modern overlay thumb. */
*{scrollbar-color:#c0c0c0 #dfdfdf;scrollbar-width:auto}
*::-webkit-scrollbar{width:16px;height:16px;background:#c0c0c0}
*::-webkit-scrollbar-track{
  background-color:#dfdfdf;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Crect width='4' height='4' fill='%23dfdfdf'/%3E%3Cpath d='M0 0h1v1H0zM2 2h1v1H2z' fill='%23bfbfbf'/%3E%3C/svg%3E");
  border:1px solid #808080
}
*::-webkit-scrollbar-thumb{
  min-width:28px;min-height:28px;background:#c0c0c0;
  border:2px solid;border-color:#fff #404040 #404040 #fff;
  box-shadow:inset 1px 1px 0 #dfdfdf,inset -1px -1px 0 #808080
}
*::-webkit-scrollbar-thumb:hover{background:#c8c8c8}
*::-webkit-scrollbar-thumb:active{
  background:#b8b8b8;border-color:#404040 #fff #fff #404040;
  box-shadow:inset 1px 1px 0 #808080,inset -1px -1px 0 #dfdfdf
}
*::-webkit-scrollbar-corner{
  background:#c0c0c0;border-top:1px solid #fff;border-left:1px solid #fff
}
*::-webkit-scrollbar-button:single-button{
  display:block;width:16px;height:16px;background-color:#c0c0c0;
  border:2px solid;border-color:#fff #404040 #404040 #fff;
  background-repeat:no-repeat;background-position:center;background-size:7px 7px
}
*::-webkit-scrollbar-button:single-button:hover{background-color:#c8c8c8}
*::-webkit-scrollbar-button:single-button:active{
  background-color:#b8b8b8;border-color:#404040 #fff #fff #404040;
  background-position:calc(50% + 1px) calc(50% + 1px)
}
*::-webkit-scrollbar-button:single-button:vertical:decrement{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 7 7'%3E%3Cpath d='M3.5 1L7 5H0z' fill='%23000'/%3E%3C/svg%3E")
}
*::-webkit-scrollbar-button:single-button:vertical:increment{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 7 7'%3E%3Cpath d='M0 2h7L3.5 6z' fill='%23000'/%3E%3C/svg%3E")
}
*::-webkit-scrollbar-button:single-button:horizontal:decrement{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 7 7'%3E%3Cpath d='M1 3.5L5 0v7z' fill='%23000'/%3E%3C/svg%3E")
}
*::-webkit-scrollbar-button:single-button:horizontal:increment{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 7 7'%3E%3Cpath d='M2 0l4 3.5L2 7z' fill='%23000'/%3E%3C/svg%3E")
}
html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:var(--ui-font);font-size:clamp(11px,.72vw,13px);color:var(--text)}
body{background:var(--teal)}
a{color:#000080}
button,input,select,textarea{font:inherit}\nbutton{cursor:pointer}

.desktop{
  width:100%;height:100dvh;min-height:360px;padding:clamp(4px,.7vw,12px);
  background:var(--teal);display:flex;align-items:stretch;justify-content:stretch;overflow:hidden
}
.window{background:var(--win);border:2px outset #fff;box-shadow:2px 2px 0 #000}
.app-window{
  width:100%;height:100%;max-width:var(--pride-max-width,1440px);margin:0 auto;min-width:0;min-height:0;
  display:flex;flex-direction:column;overflow:hidden
}
.titlebar{
  min-height:27px;flex:0 0 auto;background:var(--blue);color:#fff;font-weight:bold;padding:3px 4px 3px 6px;
  display:flex;justify-content:space-between;align-items:center;user-select:none
}
.titlebar-brand{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}
.titlebar-brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.titlebar-logo{width:18px;height:18px;object-fit:contain;flex:0 0 18px}
.window-buttons{display:flex;gap:2px}
.window-control{
  width:22px;height:19px;padding:0;line-height:15px;background:var(--win);color:#000;border:2px outset #fff;
  font:bold 12px Arial;cursor:pointer
}
.window-control:hover,.win-button:hover,.tab:hover,.menu-button:hover{background:#d7d7d7}
.window-control:focus-visible,.win-button:focus-visible,.tab:focus-visible,.menu-button:focus-visible{
  outline:1px dotted #000;outline-offset:-4px
}
.window-control:active,.window-control.is-pressed,.win-button:active,.win-button.is-pressed,.tab:active,.tab.is-pressed,.menu-button:active,.menu-button.is-pressed{
  border-style:inset;transform:translate(1px,1px)
}
.window-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.window-minimized{height:auto!important;align-self:flex-start}
.window-minimized .window-body{display:none}
.window-maximized{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:9999;border-width:2px}

.menubar{
  min-height:28px;flex:0 0 auto;border-bottom:1px solid var(--dark);padding:3px 8px;display:flex;align-items:center;
  gap:clamp(8px,1.3vw,20px);overflow-x:auto;overflow-y:hidden;white-space:nowrap
}
.menubar a{color:#000;text-decoration:none;padding:2px 3px}
.menubar a:hover{text-decoration:underline;background:#ddd}
.menu-spacer{flex:1 0 12px}
.menu-button{border:1px solid transparent;background:transparent;padding:2px 5px;cursor:pointer}
.toolbar{
  min-height:42px;flex:0 0 auto;border-top:1px solid #fff;border-bottom:2px groove #fff;padding:5px;
  display:flex;gap:5px;align-items:center;overflow-x:auto;white-space:nowrap
}
.toolbar-user{margin-left:auto;padding-right:5px;white-space:nowrap}
.win-button{
  display:inline-block;background:var(--win);color:#000;text-decoration:none;border:2px outset #fff;
  padding:5px 10px;font-weight:bold;cursor:pointer;white-space:nowrap
}
.win-button.compact{padding:2px 6px;font-size:10px}
.win-button.danger{color:#600}

.masthead{
  flex:0 0 auto;background:#e5e5e5;border-bottom:2px groove #fff;padding:8px 18px;min-height:96px;
  font-size:clamp(12px,1vw,15px);display:grid;grid-template-columns:104px minmax(0,1fr) 104px;align-items:center;gap:14px
}
.masthead b{font-size:clamp(16px,1.35vw,21px)}
.mast-title{text-align:center;line-height:1.08}
.mast-title span{font-size:clamp(13px,1.05vw,17px)}
.mast-logo-wrap{height:80px;display:flex;align-items:center;justify-content:flex-start;padding:0 8px}
.mast-logo-wrap.right{justify-content:flex-end}
.mast-logo{max-width:82px;max-height:78px;object-fit:contain}.mast-logo.iab{max-width:80px;max-height:78px}

.flash{flex:0 0 auto;margin:7px 10px 0;background:#ffffcc;border:1px solid #777;padding:6px;font-weight:bold}
.content{
  flex:1 1 auto;min-height:0;overflow:auto;padding:clamp(7px,1vw,14px)
}
.statusbar{
  flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;border-top:2px groove #fff;
  padding:3px;background:var(--win);min-height:29px
}
.statusbar span{border:1px inset #fff;padding:3px 6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

h1{font-size:clamp(15px,1.2vw,18px);margin:0 0 12px}
fieldset{border:2px groove #fff;margin:0 0 12px;padding:12px 9px 9px;min-width:0}
legend{font-weight:bold;padding:0 4px}
.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.branding-upload-grid fieldset{height:100%;box-sizing:border-box}
.findings-case-role{letter-spacing:.15px}
.compact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px 12px}
.person-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:5px 12px}
.person-grid .wide-row{grid-column:1/-1}
.person-entry{border:2px inset #fff;background:#d6d6d6;padding:7px;margin:0 0 8px}
.person-entry-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #999;padding-bottom:5px;margin-bottom:4px}
.field-row{display:grid;grid-template-columns:minmax(95px,135px) minmax(0,1fr);align-items:start;gap:6px;margin:5px 0}
.field-row label{font-weight:bold;padding-top:4px}
.field-row input,.field-row select,.field-row textarea,input,select,textarea{
  width:100%;min-width:0;background:#fff;border:2px inset #fff;padding:3px
}
textarea{resize:vertical;min-height:62px}
small,.help-line{font-size:10px;color:#333}
.dialog-buttons{margin-top:10px;text-align:right}
.inline-form{display:inline-flex;gap:4px;align-items:center;margin:4px 2px;max-width:100%}
.inline-form input,.inline-form select{width:auto;max-width:260px}

.panel{border:2px inset #fff;background:#fff;margin-bottom:12px;min-width:0;overflow:hidden}
.panel-title{background:var(--blue);color:#fff;font-weight:bold;padding:4px 6px}
.table-scroll{max-width:100%;overflow:auto}
.data-table{width:100%;border-collapse:collapse;background:#fff;min-width:720px}
.data-table th{background:#808080;color:#fff;border:1px solid #555;padding:4px;text-align:left;position:sticky;top:0;z-index:1}
.data-table td{border:1px solid #aaa;padding:4px;vertical-align:top}
.data-table tr:nth-child(even) td{background:#efefef}
.data-table tbody tr:hover td,.data-table tr[data-href]:hover td{background:#d8e4ff!important}
.data-table tr[data-href]{cursor:default}
.data-table.small{font-size:10px}
.row-archived td{color:#666;background:#ddd!important}.row-void td{text-decoration:line-through;color:#800000;background:#f3dede!important}

.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px}
.stat{border:2px inset #fff;background:#e6e6e6;padding:clamp(8px,1vw,14px);text-align:center}.stat b{display:block;font-size:clamp(20px,2vw,28px)}.stat span{font-weight:bold}
.button-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}
.big-button{border:2px outset #fff;background:var(--win);padding:clamp(12px,1.4vw,20px);color:#000;text-decoration:none;font-weight:bold;text-align:center}
.big-button:hover{background:#d7d7d7}.big-button:active{border-style:inset;transform:translate(1px,1px)}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.badge{background:#fff;border:2px inset #fff;padding:5px 10px;font-weight:bold}

.tabs{display:flex;gap:2px;margin-bottom:0;overflow-x:auto;white-space:nowrap}
.tab{border:2px outset #fff;border-bottom:0;background:var(--win);padding:6px 10px;font-weight:bold;cursor:pointer;flex:0 0 auto}
.tab.active{background:#fff}
.tab-panel{display:none;background:#fff;border:2px inset #fff;padding:10px;min-width:0}
.tab-panel.active{display:block}
.timeline article{border:1px solid #777;margin-bottom:8px;background:#fff}.timeline header{background:#ddd;padding:5px;display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}.timeline pre{white-space:pre-wrap;font:12px "Courier New";padding:8px;margin:0}
.mini-pre{white-space:pre-wrap;font:10px "Courier New";max-width:420px;max-height:90px;overflow:auto;margin:0}
.chips{margin:5px 0}.chip{display:inline-block;background:#ddd;border:1px solid #777;padding:3px 5px;margin:2px}.chip.deny{background:#f1cccc;color:#700}
.search-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;margin-bottom:12px}
.login-desktop{display:flex;align-items:center;justify-content:center}.login-window{width:min(510px,calc(100vw - 20px))}.login-banner{text-align:center;background:#e5e5e5;padding:18px;font-size:15px;border-bottom:2px groove #fff}.dialog-body{padding:18px}.error-box{background:#fff0f0;border:1px solid #800;padding:6px;margin:8px 0;color:#700}
.error-window{width:min(500px,calc(100vw - 20px));margin:auto}.error-icon{float:left;width:38px;height:38px;border-radius:50%;background:#900;color:#fff;font:bold 27px Arial,sans-serif;display:flex;align-items:center;justify-content:center;line-height:1;box-sizing:border-box;padding:1px 0 0;margin-right:12px}
.sync-status{background:#eee;border:1px inset #fff;padding:6px;margin:6px 0}
.admin-row{display:grid;grid-template-columns:70px 1.3fr 1.5fr 55px 85px 60px;gap:4px;padding:4px;border-bottom:1px solid #aaa;align-items:center}.admin-row input,.admin-row select{min-width:0}.admin-row .short{width:55px}
.chip-form{display:inline-flex;align-items:center;margin:2px}.chip-form .chip{margin:0}.chip-form button{height:22px;border:1px outset #fff;background:#c0c0c0}

@media(max-width:900px){
  .app-window{max-width:100%}
  .desktop{padding:4px}
  .form-grid.two,.form-grid.three{grid-template-columns:1fr}
  .masthead{grid-template-columns:72px 1fr 72px;min-height:76px;padding:6px 10px;gap:8px}.mast-logo-wrap{height:62px;padding:0 4px}.mast-logo{max-height:60px;max-width:64px}.mast-logo.iab{max-height:60px;max-width:62px}
  .toolbar-user{display:none}
  .admin-row{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  html,body{font-size:11px}
  .desktop{padding:0}
  .app-window{border-left:0;border-right:0}
  .masthead{grid-template-columns:50px 1fr 50px;min-height:58px;padding:4px 6px;gap:4px}.mast-logo{max-width:46px;max-height:46px}.mast-logo.iab{max-width:44px;max-height:44px}.mast-logo-wrap{height:48px;padding:0 2px}
  .field-row{grid-template-columns:1fr;gap:1px}.field-row label{padding-top:0}
  .statusbar{grid-template-columns:1fr}.statusbar span:nth-child(2),.statusbar span:nth-child(3){display:none}
  .content{padding:6px}
  .search-bar{grid-template-columns:1fr}.search-bar label{display:none}
}


/* ------------------------------------------------------------------
   Administration master/detail layouts
   ------------------------------------------------------------------ */
.admin-hint{font-size:10px;color:#444;font-weight:bold}
.admin-master-detail{
  display:grid;
  grid-template-columns:minmax(230px,290px) minmax(0,1fr);
  gap:10px;
  align-items:start
}
.admin-sidebar{
  border:2px inset #fff;
  background:#d0d0d0;
  min-width:0;
  overflow:hidden
}
.admin-editor{min-width:0}
.admin-card{
  border:2px inset #fff;
  background:#ededed;
  margin-bottom:10px;
  padding:0 8px 8px
}
.admin-card>.panel-title{margin:0 -8px 8px}
.role-list,.structure-tree{max-height:54vh;overflow:auto;background:#fff;border-bottom:2px groove #fff}
.role-list-item{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;
  color:#000;text-decoration:none;padding:7px 8px;border-bottom:1px solid #bdbdbd
}
.role-list-item:hover,.role-list-item.selected,.structure-node:hover,.structure-node.selected{
  background:#000080;color:#fff
}
.role-list-item small{display:block;color:#555;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.role-list-item.selected small,.role-list-item:hover small{color:#ddd}
.role-priority{font-weight:bold;border:1px inset #fff;background:#c0c0c0;color:#000;padding:2px 5px;height:max-content}
.sidebar-create{padding:8px}
.sidebar-create label{display:block;font-weight:bold;margin:6px 0}
.sidebar-create input,.sidebar-create select,.sidebar-create textarea{margin-top:2px}
.role-profile-grid,.structure-editor-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px
}
.role-profile-grid label,.structure-editor-grid label{font-weight:bold}
.role-profile-grid input,.role-profile-grid select,.structure-editor-grid input,.structure-editor-grid select,.structure-editor-grid textarea{
  display:block;margin-top:3px
}
.span-all{grid-column:1/-1}
.admin-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}
.permission-card{padding-bottom:0}
.permission-group{border:1px solid #888;background:#fff;margin:8px 0}
.permission-group-title{background:#000080;color:#fff;font-weight:bold;padding:4px 6px}
.permission-row{
  display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;align-items:center;
  padding:5px 7px;border-top:1px solid #ddd
}
.permission-row:first-of-type{border-top:0}
.permission-copy b{display:block}
.permission-copy small{display:block;color:#555;margin-top:1px}
.permission-select{font-weight:bold}
.permission-select.allow{background:#e8f5e8}
.permission-select.deny{background:#f7dddd;color:#700}
.permission-select.none{background:#fff}
.sticky-actions{
  position:sticky;bottom:0;background:#d0d0d0;border-top:2px groove #fff;padding:7px;margin:10px -8px 0
}
.admin-empty{border:2px inset #fff;background:#fff;padding:30px;text-align:center}

/* structure hierarchy */
.structure-node{
  display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:3px;
  padding:5px 7px 5px calc(7px + (var(--depth) * 16px));
  border-bottom:1px solid #ddd;color:#000;text-decoration:none;align-items:center
}
.structure-node em{font-size:9px;font-style:normal;border:1px solid #777;padding:1px 3px;background:#ddd;color:#600}
.tree-branch{font-family:"Courier New",monospace}
.inheritance-explainer{
  background:#ffffdc;border:1px solid #888;padding:7px;margin-top:6px;font-size:10px
}
.danger-zone{
  display:flex;justify-content:space-between;align-items:center;gap:15px;
  border:2px inset #fff;background:#eadede;padding:8px;margin-bottom:10px
}
.danger-zone small{display:block;color:#633;margin-top:2px}
.lookup-type-bar{padding:7px;background:#d0d0d0;border-bottom:2px groove #fff}
.lookup-type-bar label{display:grid;grid-template-columns:auto minmax(160px,320px);gap:8px;align-items:center;font-weight:bold}
.lookup-table{background:#fff;border:1px solid #888;overflow:auto}
.lookup-row{
  display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.4fr) 70px 105px minmax(125px,auto);
  gap:5px;padding:4px;align-items:center;border-top:1px solid #ddd;min-width:720px
}
.lookup-row:first-child{border-top:0}
.lookup-head{background:#808080;color:#fff;font-weight:bold}
.lookup-actions{display:flex;gap:3px;justify-content:flex-end}
.lookup-add{
  display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(160px,1.5fr) 70px auto;
  gap:6px;align-items:center;padding:8px;background:#d0d0d0;border-top:2px groove #fff
}
.supervisor-notices{border:2px inset #fff;background:#fff3b0;margin:0 0 8px}
.supervisor-notice{padding:6px 8px;border-top:1px solid #d4c36c}
.supervisor-notice:first-of-type{border-top:0}
.audit-table .nowrap{white-space:nowrap}

@media(max-width:980px){
  .admin-master-detail{grid-template-columns:1fr}
  .role-list,.structure-tree{max-height:240px}
}
@media(max-width:760px){
  .role-profile-grid,.structure-editor-grid{grid-template-columns:1fr}
  .permission-row{grid-template-columns:1fr}
  .lookup-add{grid-template-columns:1fr}
}

/* Compact late-1990s admin density. */
.content fieldset > .field-row input,
.content fieldset > .field-row select{
  min-height:22px;
}

/* Searchable personnel-directory picker */
.directory-autocomplete{position:relative;min-width:0}
.directory-autocomplete .directory-search{width:100%}
.directory-search-results{
  position:absolute;z-index:50;left:0;right:0;top:100%;max-height:220px;overflow:auto;
  background:#fff;border:2px outset #fff;box-shadow:2px 2px 0 #555
}
.directory-result{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #aaa;padding:5px 7px;font:inherit;color:#000;cursor:default}
.directory-result:hover,.directory-result:focus{background:#000080;color:#fff;outline:none}
.directory-result b,.directory-result span{display:block}
.directory-result span{font-size:10px;margin-top:1px}
.directory-result-status{padding:6px;background:#eee;font-size:10px;font-weight:bold}

/* Multi-investigator / supervisor case staffing */
.case-staff-block{margin-top:8px;border:2px inset #fff;background:#e4e4e4;padding:5px}
.case-staff-head{font-weight:bold;background:#808080;color:#fff;padding:3px 5px;margin:-5px -5px 5px}
.case-staff-list{border:1px solid #888;background:#fff}
.case-staff-row{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:6px;align-items:center;padding:4px 5px;border-top:1px solid #ddd}
.case-staff-row:first-child{border-top:0}
.case-staff-role{font-weight:bold}
.case-staff-add{margin-top:8px}
.assignment-entry{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:5px;align-items:center;margin:4px 0}
.assignment-entry select{min-width:0}

@media(max-width:600px){
  .case-staff-row,.assignment-entry{grid-template-columns:1fr}
}

/* ------------------------------------------------------------------
   Directory source workstation
   ------------------------------------------------------------------ */
.directory-page-heading{margin-bottom:10px}
.directory-page-heading h1{margin-bottom:3px}
.directory-admin-layout{
  display:grid;grid-template-columns:minmax(250px,315px) minmax(0,1fr);gap:10px;align-items:start
}
.directory-source-sidebar{border:2px inset #fff;background:#d0d0d0;min-width:0;overflow:hidden}
.directory-workbook-list{max-height:58vh;overflow:auto;background:#fff}
.directory-sidebar-empty{padding:18px 9px;text-align:center;color:#555;font-weight:bold}
.directory-workbook-group{border-bottom:2px groove #fff;background:#d0d0d0}
.directory-workbook-title{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:6px 7px;background:#a8a8a8;border-bottom:1px solid #777}
.directory-workbook-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.directory-workbook-title small{white-space:nowrap;color:#222}
.directory-source-item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:6px;align-items:center;padding:6px 8px 6px 12px;color:#000;text-decoration:none;border-bottom:1px solid #ddd;background:#fff}
.directory-source-item:hover,.directory-source-item.selected{background:#000080;color:#fff}
.directory-source-item.selected small,.directory-source-item:hover small{color:#ddd}
.directory-source-state{width:9px;height:9px;border:1px solid #333;background:#777}
.directory-source-state.enabled{background:#008000}
.directory-source-state.disabled{background:#b0b0b0}
.directory-source-copy{min-width:0}
.directory-source-copy b,.directory-source-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.directory-source-copy small{color:#555;margin-top:2px}
.directory-add-tab-form{padding:5px 7px;text-align:right;background:#d0d0d0}
.directory-new-workbook{border-top:2px groove #fff;background:#c8c8c8}
.directory-new-workbook summary{padding:7px;font-weight:bold;cursor:pointer;user-select:none}
.directory-new-workbook form{padding:0 8px 8px}
.directory-new-workbook label{display:block;font-weight:bold;margin:6px 0}
.directory-new-workbook input{display:block;margin-top:2px}
.directory-new-workbook small{display:block;font-weight:normal;margin-top:2px}
.directory-source-editor{min-width:0}
.directory-source-summary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:5px;margin-bottom:8px}
.directory-source-summary>div{border:2px inset #fff;background:#fff;padding:5px;min-width:0}
.directory-source-summary b,.directory-source-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.directory-source-summary b{font-size:9px;color:#555;margin-bottom:2px}
.sync-result.ok{color:#006000;font-weight:bold}.sync-result.error{color:#800000;font-weight:bold}
.directory-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}
.directory-config-grid label{font-weight:bold;min-width:0}
.directory-config-grid input,.directory-config-grid select{display:block;margin-top:3px}
.directory-config-grid small{font-weight:normal}
.directory-config-grid .span-two{grid-column:1/-1}
.directory-map-help{background:#ffffdc;border:1px solid #888;padding:6px;margin-bottom:7px;font-size:10px}
.directory-mapping-table{border:1px solid #888;background:#fff}
.directory-mapping-row{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(220px,1.25fr);gap:6px;align-items:center;padding:4px 6px;border-top:1px solid #ddd;margin:0}
.directory-mapping-row:first-child{border-top:0}
.directory-mapping-row>span small{display:block;color:#666;margin-top:1px}
.directory-mapping-head{background:#808080;color:#fff;font-weight:bold}
.directory-mapping-row input{margin:0}
.directory-source-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.directory-action-strip{display:flex;gap:4px;flex-wrap:wrap;align-items:center;border:2px inset #fff;background:#d7d7d7;padding:4px;margin:-2px 0 10px}
.directory-match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:5px;margin-bottom:8px}
.directory-match{border:1px solid #888;background:#fff;padding:5px;min-width:0}
.directory-match b,.directory-match span,.directory-match small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.directory-match span{margin:2px 0}
.directory-match.matched{border-left:5px solid #008000}.directory-match.missing{border-left:5px solid #800000;background:#fff0f0}
.directory-preview-table .data-table{min-width:900px}
.directory-cache-panel{margin-top:10px}

@media(max-width:980px){
  .directory-admin-layout{grid-template-columns:1fr}
  .directory-workbook-list{max-height:260px}
}
@media(max-width:700px){
  .directory-source-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-config-grid{grid-template-columns:1fr}
  .directory-config-grid .span-two{grid-column:auto}
  .directory-mapping-row{grid-template-columns:1fr}
}

/* Directory workbook defaults / roster hierarchy */
.directory-default-profile{border-top:2px groove #fff;background:#c8c8c8;max-height:46vh;overflow:auto}
.directory-default-profile summary{padding:7px;font-weight:bold;cursor:pointer;user-select:none;position:sticky;top:0;background:#c8c8c8;z-index:2}
.directory-default-profile form{padding:0 8px 8px}
.directory-default-profile>form>label{display:block;font-weight:bold;margin:6px 0}
.directory-default-profile input{margin-top:2px}
.directory-default-map{border:1px solid #888;background:#fff;margin:6px 0}
.directory-default-map-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:5px;align-items:end;padding:4px;border-top:1px solid #ddd}
.directory-default-map-row:first-child{border-top:0}
.directory-default-map-row label{font-weight:bold;min-width:0}
.directory-default-map-row label>input:not([type="checkbox"]){display:block;width:100%;margin-top:2px}
.default-badge{display:inline-block;margin-left:5px;padding:1px 3px;border:1px solid #555;background:#ffffcf;color:#700;font-size:8px;font-style:normal;font-weight:bold}
.workbook-default-control{padding-bottom:8px}
.workbook-default-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center}
.workbook-default-row small{display:block;color:#555;margin-top:2px}
.forced-default-note,.command-explainer{border:1px solid #888;background:#ffffdc;padding:6px;margin:6px 0;font-size:10px}
.directory-mapping-row{grid-template-columns:minmax(145px,.65fr) minmax(220px,1.2fr) 110px}
.directory-mapping-head{align-items:center}
.fill-box{display:flex!important;align-items:center;gap:4px;font-size:9px;font-weight:bold;white-space:nowrap}
.fill-box input{width:auto!important;margin:0!important}
.directory-results-table{min-width:1450px}
.directory-name-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:3px;align-items:center;min-width:230px}
.directory-name-form input{min-width:0}

/* User directory organised by configured IAB hierarchy */
.user-hierarchy{margin-bottom:12px}
.user-group-section{margin-left:calc(var(--depth) * 14px);border-left:1px dotted #777;padding-left:5px;margin-bottom:6px}
.user-group-heading{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:4px;align-items:center;background:#808080;color:#fff;border:2px outset #fff;padding:4px 6px}
.user-group-heading small{font-size:9px}
.user-group-empty{border:2px inset #fff;background:#e4e4e4;color:#666;padding:5px 8px;font-size:9px;font-weight:bold}
.user-admin-card{margin:4px 0 7px;background:#dedede}
.user-account-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,1fr) minmax(210px,1.2fr) 110px;gap:6px 10px;align-items:end}
.user-access-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.user-group-section.unassigned .user-group-heading{background:#704040}

@media(max-width:900px){
  .workbook-default-row{grid-template-columns:1fr}
  .user-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .directory-mapping-row{grid-template-columns:1fr}
  .directory-default-map-row,.user-account-grid{grid-template-columns:1fr}
}
.directory-interpreted-preview{margin-top:9px;border-top:2px groove #fff;padding-top:7px}
.directory-interpreted-preview>b,.directory-interpreted-preview>small{display:block}
.directory-interpreted-preview>small{color:#555;margin:2px 0 5px}
.directory-interpreted-preview .data-table{min-width:1050px}

/* Directory mapping v3: mapped value + blank fallback + merged-cell carry-forward. */
.directory-mapping-row{grid-template-columns:minmax(145px,.65fr) minmax(210px,1.15fr) minmax(150px,.72fr) 110px}
.directory-default-map-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) 92px}
@media(max-width:900px){.directory-mapping-row,.directory-default-map-row{grid-template-columns:1fr}}

/* Case record workstation refinements */
.page-heading-actions{display:flex;align-items:center;gap:7px}
.narrative-text,.activity-entry pre{font-family:"Courier New",Courier,monospace;font-size:12px;line-height:1.35}
.activity-sections{margin-top:9px}
.activity-type-section{margin-bottom:10px;border:2px inset #fff;background:#d7d7d7;padding:4px}
.activity-entry{margin:5px 0;border:2px outset #fff;background:#fff}
.activity-entry>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;background:#d5d5d5;padding:5px 7px;font-weight:normal;list-style-position:inside}
.activity-entry[open]>summary{border-bottom:1px solid #777;background:#c7c7c7}
.activity-entry-body{padding:7px;background:#fff}
.activity-entry-body>pre{white-space:pre-wrap;margin:0 0 8px;padding:8px;border:1px solid #aaa;background:#f7f7f7}
.activity-reports{border:2px inset #fff;background:#e7e7e7;padding:6px;margin:7px 0}
.activity-reports>b{display:block;margin-bottom:4px}
.activity-editor{margin-top:6px;border:1px solid #888;background:#ddd}
.activity-editor>summary{cursor:pointer;font-weight:bold;padding:4px 6px;background:#c8c8c8}
.activity-editor>form{padding:7px}
.report-attach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px;margin:7px 0}
.pride-time-input{font-family:"Courier New",monospace}
.field-row small{display:block;font-size:9px;margin-top:2px;color:#444}

/* Native PRIDE confirmation / information dialog */
.pride-dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.pride-dialog-overlay[hidden]{display:none}
.pride-dialog{width:min(460px,calc(100vw - 40px));background:#c0c0c0;border:2px outset #fff;box-shadow:2px 2px 0 #000}
.pride-dialog-body{padding:12px}
.pride-dialog-message{background:#fff;border:2px inset #fff;padding:11px;min-height:40px;white-space:pre-wrap}
.pride-dialog-buttons{margin-top:10px;justify-content:flex-end}

@media(max-width:760px){
  .activity-entry>summary{grid-template-columns:1fr}.report-attach-grid{grid-template-columns:1fr}.page-heading-actions{align-items:flex-end;flex-direction:column}
}

/* Directory source editor tabs: keep global defaults out of the workbook sidebar. */
.directory-admin-tabs{margin-bottom:0}
.directory-admin-tabs .tab{color:#000;text-decoration:none}
.directory-source-tab-panel,.directory-defaults-panel{padding:8px;min-width:0}
.directory-defaults-form{margin:0}
.directory-defaults-overview{margin-top:0}
.directory-default-header-row{display:block;font-weight:bold;max-width:520px}
.directory-default-header-row input{display:block;margin-top:3px;max-width:180px}
.directory-default-header-row small{display:block;font-weight:normal;margin-top:2px;color:#444}
.directory-source-tab-panel>.admin-card:first-child,.directory-defaults-panel .admin-card:first-child{margin-top:0}

/* MDT report/incident records nested under investigative activity. */
.mdt-report-list{border:2px inset #fff;background:#ddd;padding:6px;margin:7px 0}
.mdt-report-list>b{display:block;margin:0 0 5px}
.mdt-report-entry{margin:4px 0;border:1px solid #888;background:#f3f3f3}
.mdt-report-entry>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;background:#cfcfcf;padding:4px 6px;list-style-position:inside}
.mdt-report-entry[open]>summary{border-bottom:1px solid #888;background:#c4c4c4}
.mdt-report-body{padding:6px}
.mdt-report-body>pre{white-space:pre-wrap;margin:0 0 7px;padding:8px;border:1px solid #aaa;background:#fff;font-family:"Courier New",Courier,monospace;font-size:12px;line-height:1.35}
@media(max-width:760px){.mdt-report-entry>summary{grid-template-columns:1fr}}

/* Evidence index / maintenance */
.evidence-table .evidence-number{font-weight:bold;white-space:nowrap}
.evidence-table .evidence-notes{white-space:pre-wrap;min-width:220px}
.evidence-maintenance{margin-top:8px}
.evidence-editor{margin:5px 0;border:2px outset #fff;background:#f5f5f5}
.evidence-editor>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;background:#d3d3d3;padding:5px 7px;list-style-position:inside}
.evidence-editor[open]>summary{border-bottom:1px solid #777;background:#c7c7c7}
.evidence-editor-body{padding:7px;background:#fff}
.evidence-editor-body .help-line{margin:0 0 7px;padding:5px;border:1px inset #fff;background:#efefef;overflow-wrap:anywhere}
.evidence-actions{display:flex;gap:6px;align-items:center;margin-top:6px}
.evidence-delete-form{margin-top:6px}
@media(max-width:760px){.evidence-editor>summary{grid-template-columns:1fr}}

/* Per-MOS findings, policy allegations and discipline. */
.findings-help{margin-bottom:8px}
.empty-record{border:2px inset #fff;background:#eee;padding:7px;color:#555;font-size:10px}
.mos-findings{margin:7px 0;border:2px outset #fff;background:#d2d2d2}
.mos-findings>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;cursor:pointer;background:#8a8a8a;color:#fff;padding:6px 8px;list-style-position:inside}
.mos-findings[open]>summary{border-bottom:1px solid #555;background:#777}
.mos-findings-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:8px;padding:7px;background:#d8d8d8}
.findings-counts{font-size:9px;white-space:nowrap}
.findings-column,.discipline-column{min-width:0;border:2px inset #fff;background:#ececec;padding:5px}
.finding-add{margin:5px 0;border:1px solid #888;background:#ddd}
.finding-add>summary{cursor:pointer;font-weight:bold;padding:5px 6px;background:#c9c9c9}
.finding-add>form{padding:7px}
.finding-entry,.discipline-entry{margin:5px 0;border:2px outset #fff;background:#fff}
.finding-entry>summary,.discipline-entry>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer;background:#d2d2d2;padding:5px 7px;list-style-position:inside}
.finding-entry[open]>summary,.discipline-entry[open]>summary{border-bottom:1px solid #777;background:#c5c5c5}
.finding-entry-body,.discipline-entry-body{padding:7px;background:#fff}
.finding-narrative{margin:5px 0}
.finding-narrative>b,.discipline-penalty>b{display:block;margin-bottom:3px;font-size:10px}
.finding-narrative pre{white-space:pre-wrap;margin:0;padding:7px;border:1px solid #aaa;background:#f7f7f7;font-family:"Courier New",Courier,monospace;font-size:12px;line-height:1.35}
.finding-meta{margin:4px 0;font-size:9px;color:#333}
.finding-status,.discipline-status{display:inline-block;border:1px solid #555;background:#eee;color:#000;padding:2px 5px;font-size:9px;font-weight:bold;white-space:nowrap}
.finding-substantiated,.finding-partially_substantiated{background:#d8ead2}
.finding-exonerated,.finding-unfounded{background:#d7e4f5}
.finding-unsubstantiated{background:#eee6c9}
.finding-pending{background:#fff2a8}
.discipline-penalty{margin:4px 0;padding:6px;border:2px inset #fff;background:#f0f0f0}
.finding-delete{margin-top:6px}
@media(max-width:980px){.mos-findings-body{grid-template-columns:1fr}.findings-counts{white-space:normal}}
@media(max-width:700px){.mos-findings>summary,.finding-entry>summary,.discipline-entry>summary{grid-template-columns:1fr}}

/* Larger, paginated audit trail. Keep the dense NT-client look while allowing
   before/after payloads to be inspected without a tiny 90px JSON viewport. */
.audit-table-scroll{border:2px inset #fff;background:#fff}
.audit-table-large{min-width:1180px;font-size:11px}
.audit-table-large th{white-space:nowrap}
.audit-table-large td{padding:6px 7px}
.audit-table-large .audit-actor{min-width:145px;word-break:break-word}
.audit-table-large .audit-action{min-width:175px;font-weight:bold}
.audit-detail-cell{min-width:520px;width:52%}
.audit-json-block{margin:0 0 7px}.audit-json-block:last-child{margin-bottom:0}
.audit-json-block>b{display:block;background:#d6d6d6;border:1px solid #999;padding:2px 5px;font-size:10px;letter-spacing:.2px}
.audit-json{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.35 "Courier New",monospace;background:#fff;border:1px inset #fff;padding:6px;margin:0;min-height:34px;max-height:220px;overflow:auto}
.audit-no-detail{color:#666;font-style:italic}
.audit-case-panel{margin-bottom:0}
.audit-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#d4d0c8;border:1px solid #888;padding:5px 6px;margin:7px 0;font-size:10px}
.audit-page-status{white-space:nowrap}
.audit-page-divider{padding:0 5px;color:#777}
.audit-page-buttons{display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.audit-page-button{display:inline-block;width:auto;min-width:28px;padding:3px 7px;text-decoration:none;color:#000;text-align:center;font-size:10px;line-height:14px}
.audit-page-button.current{border-style:inset;background:#fff;font-weight:bold}
.audit-page-button.disabled{color:#777;text-shadow:1px 1px #fff;cursor:default}
.audit-page-ellipsis{padding:0 3px}
@media(max-width:900px){.audit-detail-cell{min-width:420px}.audit-pagination{align-items:flex-start;flex-direction:column}.audit-page-buttons{width:100%}}

/* Review-type group locks / supervisory review workload */
.review-type-locks{margin-top:10px;border:2px inset #fff;background:#d7d7d7;padding:6px}
.review-type-picker{margin:6px 0}.review-type-picker label{display:grid;grid-template-columns:115px minmax(220px,420px);gap:7px;align-items:center;font-weight:bold}
.review-group-checklist{border:2px inset #fff;background:#fff;max-height:280px;overflow:auto;margin:6px 0;padding:3px}
.review-group-option{display:flex;align-items:center;gap:6px;padding:4px 6px 4px calc(6px + (var(--depth) * 16px));border-bottom:1px solid #ddd;font-weight:normal}
.review-group-option:last-child{border-bottom:0}.review-group-option:hover{background:#000080;color:#fff}.review-group-option input{width:auto;margin:0}
.review-new-form{margin-bottom:8px}.review-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-notes-field{display:block;margin:7px 0}.review-notes-field label{display:block;margin-bottom:3px}.review-notes-field textarea{width:100%}
.review-history-panel{margin-top:8px}.review-record{margin:5px;border:2px outset #fff;background:#f4f4f4}.review-record>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;background:#d1d1d1;padding:5px 7px;cursor:pointer;list-style-position:inside}.review-record[open]>summary{border-bottom:1px solid #777;background:#c6c6c6}.review-record-body{padding:7px;background:#fff}.review-summary-meta{font-size:9px;white-space:nowrap}.review-state-badge{display:inline-block;min-width:68px;text-align:center;border:1px solid #555;padding:2px 5px;font-size:9px;font-weight:bold;background:#eee}.review-state-badge.overdue{background:#f2c1c1;color:#700}.review-state-badge.due{background:#fff0a8}.review-state-badge.completed{background:#cfe7c9}.review-readonly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:6px}.review-readonly-grid>div{border:1px solid #aaa;background:#eee;padding:5px}.review-readonly-grid b{display:block;font-size:9px}.review-readonly-grid span{display:block;margin-top:2px}.review-notes-readonly{white-space:pre-wrap;border:1px solid #aaa;background:#f8f8f8;margin:0;padding:8px;font:12px/1.35 "Courier New",monospace}.review-entry-meta{margin:5px 0;color:#555;font-size:9px}.review-empty{margin:6px}
.review-workload-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:9px}.review-count-box{border:2px outset #fff;background:#d4d0c8;padding:8px;display:flex;align-items:baseline;gap:9px}.review-count-box b{font-size:22px}.review-count-box span{font-weight:bold}.review-count-box.overdue{background:#e2bcbc}.review-count-box.due{background:#e9dea5}.review-count-box.completed{background:#c6d9c0}.review-workload-panel{margin-bottom:9px}.review-workload-table{min-width:850px}.review-overdue-text{font-weight:bold;color:#800}.review-completed-block{border:2px outset #fff;background:#d4d0c8;margin-top:8px}.review-completed-block>summary{font-weight:bold;cursor:pointer;padding:6px 8px;background:#c8c8c8}.review-completed-block[open]>summary{border-bottom:1px solid #777}

/* Full case-file contextual search */
.case-search-bar{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:7px;align-items:center}.search-help{margin-top:8px;padding:8px}.search-results-panel{margin-top:8px}.search-results-list{display:grid;gap:6px}.search-case-result{border:2px outset #fff;background:#d6d6d6}.search-case-result>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 8px;background:#c9c9c9;cursor:pointer;list-style-position:inside}.search-case-result[open]>summary{background:#bdbdbd;border-bottom:1px solid #777}.search-case-identity{min-width:0}.search-case-meta{font-size:9px;white-space:nowrap}.search-case-body{background:#fff;padding:7px}.search-case-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px;border:1px solid #aaa;background:#eee;padding:5px 6px}.search-match-list{display:grid;gap:5px}.search-match-row{border:1px solid #aaa;background:#f8f8f8}.search-match-heading{display:grid;grid-template-columns:150px minmax(0,1fr) 140px;gap:6px;background:#d8d8d8;border-bottom:1px solid #aaa;padding:3px 5px;font-size:9px}.search-match-source{font-weight:bold}.search-match-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-match-field{text-align:right;color:#444;font-weight:bold}.search-match-snippet{padding:6px 8px;font:11px/1.4 "Courier New",monospace;white-space:normal;overflow-wrap:anywhere}.search-hit{background:#ffff67;color:#000;border:1px solid #a88b00;padding:0 1px}.search-no-results{border:2px inset #fff;background:#fff;padding:12px;text-align:center;font-weight:bold}
@media(max-width:900px){.review-form-grid,.review-readonly-grid,.review-workload-summary{grid-template-columns:1fr}.search-case-result>summary,.search-match-heading{grid-template-columns:1fr}.search-case-meta,.review-summary-meta{white-space:normal}.search-match-field{text-align:left}.review-type-picker label{grid-template-columns:1fr}}
@media(max-width:650px){.case-search-bar{grid-template-columns:1fr}.search-case-actions{align-items:flex-start;flex-direction:column}}

/* Contextual search deep-link navigation. */
.search-match-heading{grid-template-columns:150px minmax(0,1fr) 140px auto;align-items:center}
.search-jump-button{white-space:nowrap;justify-self:end}
.search-jump-target{outline:3px solid #000080;outline-offset:2px}
.search-jump-target>summary,.search-jump-target>td,fieldset.search-jump-target,.case-staff-block.search-jump-target,.case-record-actions.search-jump-target{background:#fff7a8!important}
@media(max-width:900px){.search-match-heading{grid-template-columns:1fr}.search-jump-button{justify-self:start}}

/* Historical support tools / IXLO-style reference terminal */
.historical-tool-grid{margin-bottom:12px}.ixlo-terminal{background:#000;color:#39ff5a;border:3px inset #fff;padding:10px;font:12px/1.35 "Courier New",monospace;min-height:420px;text-shadow:0 0 2px #0a0}.ixlo-title{font-weight:bold;font-size:14px;border-bottom:1px solid #39ff5a;padding-bottom:4px}.ixlo-subtitle{margin:4px 0 12px;color:#20cc45}.ixlo-query{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:7px;align-items:center;margin-bottom:10px}.ixlo-query input,.ixlo-query button{background:#001b05;color:#39ff5a;border:1px solid #39ff5a;font:inherit;padding:4px}.ixlo-query button{cursor:pointer}.ixlo-status{border:1px solid #168b2d;padding:5px;margin:6px 0}.ixlo-record{border-top:1px dashed #168b2d;padding:7px 3px}.ixlo-record a{color:#8cff9d;text-decoration:none}.ixlo-record a:hover{text-decoration:underline}@media(max-width:650px){.ixlo-query{grid-template-columns:1fr}}

/* Personnel Files / Discord ingestion */
.personnel-index-table{min-width:900px}.personnel-file-header{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:4px;margin-bottom:8px;border:2px inset #fff;background:#d4d0c8;padding:5px}.personnel-file-header>div{border:1px solid #888;background:#fff;padding:5px;min-width:0}.personnel-file-header b{display:block;font-size:9px;color:#444}.personnel-file-header span{display:block;margin-top:2px;font-weight:bold;overflow:hidden;text-overflow:ellipsis}.readonly-box{background:#eee;border:2px inset #fff;padding:4px;min-height:22px;overflow-wrap:anywhere}.boxed-empty{border:2px inset #fff;background:#eee;padding:10px;text-align:center;font-weight:bold}.personnel-record-body{padding:7px}.personnel-record-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.4 "Courier New",monospace;background:#f7f7f7;border:1px solid #aaa;padding:7px}.personnel-discipline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:6px}.personnel-discipline-grid>div{border:1px solid #999;background:#eee;padding:5px}.personnel-discipline-grid b,.personnel-discipline-grid span{display:block}.personnel-discipline-grid b{font-size:9px}.personnel-integration-status{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:5px;margin-bottom:10px}.personnel-integration-status>div{border:2px inset #fff;background:#fff;padding:6px}.personnel-integration-status b,.personnel-integration-status span{display:block}.personnel-integration-status b{font-size:9px;color:#555;margin-bottom:2px}.personnel-review-entry{margin:6px;border:2px outset #fff;background:#d4d0c8}.personnel-review-entry>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;background:#ccc;cursor:pointer}.personnel-review-entry[open]>summary{border-bottom:1px solid #777;background:#c2c2c2}.personnel-review-body{padding:8px;background:#fff}.personnel-import-meta{border:1px solid #999;background:#eee;padding:6px;margin-top:6px;font-size:10px}.personnel-source-list article header{font-size:10px}.personnel-tabs{margin-top:8px}
@media(max-width:900px){.personnel-file-header,.personnel-integration-status,.personnel-discipline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-review-entry>summary{grid-template-columns:1fr}}
@media(max-width:600px){.personnel-file-header,.personnel-integration-status,.personnel-discipline-grid{grid-template-columns:1fr}}
.personnel-source-context{margin-top:7px;border:1px solid #888;background:#eee}.personnel-source-context>summary{cursor:pointer;font-weight:bold;padding:5px;background:#d4d0c8}.personnel-source-context>div{padding:5px;max-height:330px;overflow:auto;background:#fff}.personnel-context-message{border-bottom:1px solid #ccc;padding:4px 2px}.personnel-context-message:last-child{border-bottom:0}.personnel-context-message pre{white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.3 "Courier New",monospace;margin:3px 0 0;background:#f8f8f8;padding:4px;border:1px solid #ddd}

/* Classic Windows application menus. The menubar exposes commands; the toolbar below
   remains the one-click shortcut strip for common investigator actions. */
.menubar{
  position:relative;z-index:120;overflow:visible;gap:1px;padding:2px 4px;min-height:27px
}
.menu-root{position:relative;flex:0 0 auto}
.menu-trigger{
  display:block;border:1px solid transparent;background:transparent;color:#000;padding:3px 7px;
  min-height:22px;line-height:1.2;text-align:left;white-space:nowrap;cursor:default
}
.menu-trigger:hover{background:#d7d7d7;text-decoration:none}
.menu-root.is-open>.menu-trigger,.menu-trigger:focus-visible{
  background:#000080;color:#fff;border-color:#000080;outline:1px dotted #fff;outline-offset:-3px
}
.menu-mnemonic{text-decoration:underline;text-underline-offset:2px}
.menu-popup{
  position:absolute;top:calc(100% - 1px);left:0;z-index:300;min-width:205px;max-width:min(330px,calc(100vw - 20px));
  padding:2px;background:var(--win);border:2px outset #fff;box-shadow:2px 2px 0 #000;white-space:nowrap
}
.menu-popup[hidden]{display:none!important}
.menu-popup.align-right{left:auto;right:0}
.menu-item{
  display:block;box-sizing:border-box;width:100%;border:0;background:transparent;color:#000;text-decoration:none;
  padding:4px 22px 4px 20px;line-height:1.2;text-align:left;font:inherit;white-space:nowrap;cursor:default
}
.menu-item:hover,.menu-item:focus-visible,.menu-item.is-active{
  background:#000080;color:#fff;text-decoration:none;outline:none
}
.menu-item-button{appearance:none;-webkit-appearance:none}
.menu-separator{height:2px;margin:3px 2px;border-top:1px solid #808080;border-bottom:1px solid #fff}
.menu-root-administration>.menu-popup{min-width:235px}
@media (max-width:900px){
  .menubar{flex-wrap:wrap;white-space:normal}
  .menu-spacer{display:none}
  .menu-trigger{padding-left:5px;padding-right:5px}
}
