/* PDI shell: the parts every system shares. Load after pdi-theme.css (or inline it after the tokens).
   One navy header band (wordmark · app name | identity, Systems menu, theme, sign out), one white navigation
   strip under it, one footer line. Apps keep their own content styles; only the frame is common. */

/* Header band */
.pdi-band{background:var(--band);color:var(--band-text);display:flex;align-items:center;gap:18px;min-height:58px;padding:0 24px;}
.pdi-brand{display:flex;align-items:center;gap:12px;min-width:0;flex:none;text-decoration:none;color:inherit;}
.pdi-brand .org{font-family:var(--font-brand);font-weight:600;font-size:20px;line-height:1.1;color:#fff;white-space:nowrap;letter-spacing:.1px;}
.pdi-brand .sep{width:1px;height:22px;background:var(--band-rule);flex:none;}
.pdi-brand .app{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--band-faint);white-space:nowrap;}
.pdi-band-right{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none;}
.pdi-band-right .who{font-size:13px;color:var(--band-faint);white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;}
.pdi-band-btn{border:1px solid var(--band-rule);background:transparent;color:var(--band-text);padding:5px 11px;border-radius:6px;font:inherit;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer;text-decoration:none;white-space:nowrap;}
.pdi-band-btn:hover{background:var(--band-hover);color:#fff;}

/* Navigation strip */
.pdi-tabs{background:var(--surface);border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:12px;padding:0 24px;min-height:44px;}
.pdi-tabs > nav,.pdi-tabs .tabs{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1;}
.pdi-tabs > nav::-webkit-scrollbar{display:none;}
.pdi-tabs .tab,.pdi-tabs > nav > a,.pdi-tabs .module-tabs .module-tab{border:0;background:none;margin:0;padding:12px 14px;border-bottom:2px solid transparent;border-radius:0;color:var(--text-soft);font:inherit;font-size:14px;font-weight:500;line-height:1.3;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px;box-shadow:none;}
.pdi-tabs .tab:hover,.pdi-tabs > nav > a:hover,.pdi-tabs .module-tabs .module-tab:hover{color:var(--text);background:none;}
.pdi-tabs [aria-selected="true"],.pdi-tabs [aria-current],.pdi-tabs .module-tabs .module-tab.active{color:var(--text);border-bottom-color:var(--gate);font-weight:600;background:none;box-shadow:none;}
.pdi-tabs .module-submenu .module-tab{border-bottom:0;padding:8px 12px;border-radius:6px;width:100%;}
.pdi-tabs .module-submenu .module-tab.active{background:var(--gate-bg);color:var(--gate-deep);}
.pdi-tabs-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex:none;padding:6px 0;}

/* Footer line */
.pdi-foot{padding:16px 24px 28px;font-size:12.5px;color:var(--text-faint);border-top:1px solid var(--rule);margin-top:32px;}

/* Baseline every app shares */
button,input,select,textarea{font-family:inherit;}
:focus-visible{outline:2px solid var(--gate);outline-offset:2px;}

@media (max-width:640px){
  .pdi-band{padding:0 14px;gap:10px;min-height:52px;}
  .pdi-brand .app,.pdi-brand .sep,.pdi-band-right .who{display:none;}
  .pdi-tabs{padding:0 8px;}
  .pdi-tabs .tab,.pdi-tabs > nav > a,.pdi-tabs .module-tabs .module-tab{padding:11px 10px;font-size:13.5px;}
}
