/* WPU Research Hub V40.28 — Simple Shell, Intelligent Core
   Modern productivity-suite presentation layer. Backend research stages,
   evidence services, provenance, and advanced controls remain unchanged. */
:root{
  --sx-blue:#0b57d0;
  --sx-blue-strong:#0842a0;
  --sx-blue-soft:#eaf2ff;
  --sx-green:#188038;
  --sx-ink:#1f1f1f;
  --sx-muted:#5f6368;
  --sx-border:#dfe3e8;
  --sx-border-strong:#c7cdd4;
  --sx-bg:#f7f9fc;
  --sx-surface:#fff;
  --sx-shadow:0 1px 2px rgba(60,64,67,.08),0 4px 14px rgba(60,64,67,.06);
  --sx-radius:16px;
}

/* Universal overflow safeguards for authenticated pages. */
.researcher-portal-body *,
.researcher-portal-body *::before,
.researcher-portal-body *::after{box-sizing:border-box}
.researcher-portal-body :where(.row,.col,.card,.rp-card,.rjw-shell,.rjw-workspace-main,.rjw-aira-rail,.rp-topbar-inner,.rp-brand,.rp-brand span,.rp-desktop-nav,.dropdown,.modal-dialog,.modal-content){min-width:0}
.researcher-portal-body :where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,label,strong,small,span,a,button,summary,td,th){overflow-wrap:anywhere}
.researcher-portal-body :where(img,video,iframe,canvas,svg){max-width:100%}
.researcher-portal-body :where(input,select,textarea,button){max-width:100%}
.researcher-portal-body{background:var(--sx-bg);color:var(--sx-ink);font-family:Arial,"Segoe UI",Roboto,sans-serif}
.researcher-portal-body .rp-main{width:min(100% - 32px,1480px);margin-inline:auto;padding-block:24px 48px}

/* Unified compact header. */
.researcher-portal-body .rp-topbar{position:sticky;top:0;z-index:1035;border-bottom:1px solid var(--sx-border);background:rgba(255,255,255,.96);box-shadow:0 1px 2px rgba(60,64,67,.06);backdrop-filter:saturate(160%) blur(14px)}
.researcher-portal-body .rp-topbar-inner{width:min(100% - 32px,1480px);min-height:64px;margin-inline:auto;display:flex;align-items:center;gap:24px}
.researcher-portal-body .rp-brand{display:flex;align-items:center;gap:11px;max-width:min(420px,42vw);text-decoration:none;color:var(--sx-ink)}
.researcher-portal-body .rp-brand img{width:38px;height:38px;object-fit:contain;flex:0 0 auto}
.researcher-portal-body .rp-brand span{display:grid;line-height:1.2}
.researcher-portal-body .rp-brand strong,.researcher-portal-body .rp-brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.researcher-portal-body .rp-brand strong{font-size:.95rem;font-weight:700}
.researcher-portal-body .rp-brand small{margin-top:2px;color:var(--sx-muted);font-size:.72rem}
.researcher-portal-body .rp-desktop-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.researcher-portal-body .rp-desktop-nav>a{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border-radius:20px;color:#3c4043;text-decoration:none;font-size:.88rem;font-weight:600;white-space:nowrap}
.researcher-portal-body .rp-desktop-nav>a:hover,.researcher-portal-body .rp-desktop-nav>a.active{background:var(--sx-blue-soft);color:var(--sx-blue-strong)}
.researcher-portal-body .rp-user-menu{max-width:230px;display:flex;align-items:center;gap:8px;padding:4px 9px 4px 5px;border:1px solid var(--sx-border);border-radius:22px;background:#fff;color:var(--sx-ink)}
.researcher-portal-body .rp-user-menu__name{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.researcher-portal-body .rp-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--sx-blue);color:#fff;font-size:.78rem;font-weight:700}
.researcher-portal-body .dropdown-menu{max-width:min(320px,calc(100vw - 24px));border:1px solid var(--sx-border);border-radius:14px;padding:7px;box-shadow:0 8px 30px rgba(60,64,67,.18)}
.researcher-portal-body .dropdown-item,.researcher-portal-body .dropdown-item-text{border-radius:9px;white-space:normal}

/* Shared subpage balance and compact cards. */
.researcher-portal-body .rp-breadcrumb{display:flex;align-items:center;gap:7px;margin:0 0 14px;color:var(--sx-muted);font-size:.8rem}
.researcher-portal-body .rp-breadcrumb a{color:var(--sx-blue);text-decoration:none}
.researcher-portal-body .rp-page-head,.researcher-portal-body .rjw-selector-head{gap:18px;margin-bottom:18px}
.researcher-portal-body .rp-page-head h1,.researcher-portal-body .rjw-selector-head h1{font-size:clamp(1.55rem,2.5vw,2.15rem);letter-spacing:-.025em}
.researcher-portal-body .rp-card,.researcher-portal-body .rjw-project-card,.researcher-portal-body .rjw-new-project-card{border:1px solid var(--sx-border);border-radius:var(--sx-radius);background:var(--sx-surface);box-shadow:var(--sx-shadow)}
.researcher-portal-body .rp-card{padding:20px}
.researcher-portal-body .form-control,.researcher-portal-body .form-select{min-height:44px;border-color:var(--sx-border-strong);border-radius:10px}
.researcher-portal-body textarea.form-control{min-height:auto}
.researcher-portal-body .form-control:focus,.researcher-portal-body .form-select:focus{border-color:var(--sx-blue);box-shadow:0 0 0 3px rgba(11,87,208,.13)}
.researcher-portal-body .btn{border-radius:10px;font-weight:600}
.researcher-portal-body .rp-btn-primary{border-color:var(--sx-blue);background:var(--sx-blue);color:#fff}
.researcher-portal-body .rp-btn-primary:hover{border-color:var(--sx-blue-strong);background:var(--sx-blue-strong);color:#fff}
.researcher-portal-body .modal-content{overflow:hidden;border:0;border-radius:20px;box-shadow:0 24px 70px rgba(32,33,36,.28)}
.researcher-portal-body .modal-header,.researcher-portal-body .modal-footer{border-color:var(--sx-border)}

/* Project list. */
.researcher-portal-body .rjw-selector-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.researcher-portal-body .rjw-project-card,.researcher-portal-body .rjw-new-project-card{min-height:245px;padding:20px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.researcher-portal-body .rjw-project-card:hover,.researcher-portal-body .rjw-new-project-card:hover{border-color:#a8c7fa;box-shadow:0 8px 24px rgba(60,64,67,.11);transform:translateY(-1px)}
.researcher-portal-body .rjw-project-card h2,.researcher-portal-body .rjw-new-project-card h2{line-height:1.3}
.researcher-portal-body .rjw-project-card__meta span{background:#f1f3f4;color:#4f565d}
.researcher-portal-body .rjw-current-phase-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:var(--sx-blue-soft);color:var(--sx-blue-strong);font-size:.75rem;font-weight:700}

/* Five-phase workspace shell. */
.research-journey-workspace.simple-experience-v40-28{background:var(--sx-bg)}
.rjw-simple-shell{--rjw-border:var(--sx-border);--rjw-text:var(--sx-ink);--rjw-muted:var(--sx-muted);max-width:1480px}
.rjw-simple-shell :where(.rjw-project-head,.rjw-simple-phase-nav,.rjw-current-task,.rjw-workspace-layout,.rjw-workspace-main,.rjw-aira-rail,.rjw-source-grid,.rjw-note-grid,.rjw-tool-grid,.rjw-details-grid){min-width:0}
.rjw-simple-project-head{align-items:center;margin-bottom:16px;padding:20px 22px;border:1px solid var(--sx-border);border-radius:18px;background:#fff;box-shadow:var(--sx-shadow)}
.rjw-simple-project-head__copy{min-width:0;flex:1}
.rjw-simple-project-head__meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.rjw-simple-project-head h1{max-width:100%;margin:.55rem 0 .35rem;font-size:clamp(1.55rem,2.6vw,2.15rem);letter-spacing:-.03em;line-height:1.18}
.rjw-simple-project-head p{display:-webkit-box;max-width:880px;margin:0;color:var(--sx-muted);line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rjw-current-phase{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f1f3f4;color:#4b5156;font-size:.76rem;font-weight:700}
.rjw-project-stats{gap:7px;margin-top:13px}
.rjw-project-stats span{padding:5px 9px;border-color:var(--sx-border);background:#f8f9fa;font-size:.78rem}
.rjw-project-head__actions{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:8px}

/* Contextual tools popover. */
.rjw-more-tools{position:relative}
.rjw-more-tools>summary{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 11px;border:1px solid var(--sx-border-strong);border-radius:10px;background:#fff;color:#3c4043;cursor:pointer;list-style:none;font-size:.84rem;font-weight:600;white-space:nowrap}
.rjw-more-tools>summary::-webkit-details-marker{display:none}
.rjw-more-tools>summary>i:last-child{font-size:.72rem;transition:transform .16s ease}
.rjw-more-tools[open]>summary>i:last-child{transform:rotate(180deg)}
.rjw-more-tools__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:1020;width:min(330px,calc(100vw - 28px));display:grid;gap:3px;padding:8px;border:1px solid var(--sx-border);border-radius:14px;background:#fff;box-shadow:0 16px 44px rgba(60,64,67,.22)}
.rjw-more-tools__heading{display:grid;gap:2px;padding:8px 9px 10px;border-bottom:1px solid var(--sx-border)}
.rjw-more-tools__heading small{color:var(--sx-muted)}
.rjw-more-tools__menu>a,.rjw-context-mode-control button{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:#303134;text-align:left;text-decoration:none;font-size:.84rem}
.rjw-more-tools__menu>a:hover,.rjw-context-mode-control button:hover{background:#f1f3f4}
.rjw-more-tools__menu>a i,.rjw-context-mode-control button i{color:var(--sx-blue)}
.rjw-context-mode-control{margin:0;padding-top:3px;border-top:1px solid var(--sx-border)}

/* Five visible phases. */
.rjw-simple-phase-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 8px}
.rjw-simple-phase-nav>a{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:72px;padding:11px;border:1px solid var(--sx-border);border-radius:14px;background:#fff;color:#3c4043;text-decoration:none;box-shadow:0 1px 2px rgba(60,64,67,.04);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.rjw-simple-phase-nav>a:hover{border-color:#a8c7fa;background:#f8fbff}
.rjw-simple-phase-nav>a.is-active{border-color:#8ab4f8;background:var(--sx-blue-soft);box-shadow:0 0 0 1px rgba(11,87,208,.08)}
.rjw-simple-phase-nav>a.is-complete:not(.is-active){border-color:#c7e4d0;background:#f4fbf6}
.rjw-simple-phase-nav__number{color:#7a8085;font-size:.68rem;font-weight:700}
.rjw-simple-phase-nav__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f1f3f4;color:#4b5156}
.rjw-simple-phase-nav>a.is-active .rjw-simple-phase-nav__icon{background:var(--sx-blue);color:#fff}
.rjw-simple-phase-nav>a.is-complete .rjw-simple-phase-nav__state{color:var(--sx-green)}
.rjw-simple-phase-nav__copy{min-width:0;display:grid;gap:2px}
.rjw-simple-phase-nav__copy strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rjw-simple-phase-nav__copy small{display:-webkit-box;color:var(--sx-muted);font-size:.68rem;line-height:1.3;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rjw-simple-phase-nav__state{color:#8a9095;font-size:.8rem}
.rjw-simple-progress{height:4px;margin:0 4px 16px;border-radius:999px;background:#e8eaed;overflow:hidden}
.rjw-simple-progress span{display:block;height:100%;border-radius:inherit;background:var(--sx-blue);transition:width .22s ease}

/* One dominant task. */
.rjw-current-task{gap:13px;margin-bottom:16px;padding:18px 20px;border:1px solid var(--sx-border);border-radius:16px;background:#fff;box-shadow:var(--sx-shadow)}
.rjw-current-task__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.rjw-current-task__heading h2{margin:4px 0 4px;font-size:1.2rem;letter-spacing:-.015em}
.rjw-current-task__heading p{max-width:900px;margin:0;color:var(--sx-muted);line-height:1.55}
.rjw-current-task__status{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f1f3f4;color:#555b60;font-size:.74rem;font-weight:700;white-space:nowrap}
.rjw-current-task__status i{color:var(--sx-green)}
.rjw-current-task__notice{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:11px;background:#fff8e1;color:#6b5200;font-size:.84rem}
.rjw-current-task__notice span{display:grid;gap:1px}
.rjw-current-task__details{border-top:1px solid var(--sx-border)}
.rjw-current-task__details>summary{display:flex;align-items:center;gap:8px;padding:12px 0 0;color:var(--sx-blue);cursor:pointer;list-style:none;font-size:.82rem;font-weight:700}
.rjw-current-task__details>summary::-webkit-details-marker{display:none}
.rjw-current-task__details>summary i:last-child{margin-left:auto;transition:transform .16s ease}
.rjw-current-task__details[open]>summary i:last-child{transform:rotate(180deg)}
.rjw-current-task__detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:12px}
.rjw-current-task__detail-grid>div{padding:12px;border-radius:11px;background:#f8f9fa}
.rjw-current-task__detail-grid ul{display:grid;gap:7px;margin:8px 0 0;padding:0;list-style:none}
.rjw-current-task__detail-grid li{display:flex;align-items:flex-start;gap:7px;color:#4d5156;font-size:.82rem}
.rjw-current-task__detail-grid p{margin:8px 0 0;color:#4d5156;font-size:.84rem;line-height:1.5}
.rjw-simplified-guide__actions{padding-top:12px;border-top:1px solid var(--sx-border)}

/* Main work + collapsed AIRA. */
.rjw-simple-layout{grid-template-columns:minmax(0,1fr) minmax(285px,340px);gap:16px;align-items:start}
.rjw-simple-layout .rjw-workspace-main>.rp-card,.rjw-simple-layout .rjw-workspace-main>.rjw-card{border-color:var(--sx-border);border-radius:16px;box-shadow:var(--sx-shadow)}
.rjw-simple-aira{position:sticky;top:82px;display:grid;gap:10px;padding:0;border:0;background:transparent;box-shadow:none}
.rjw-aira-recommendation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:14px;border:1px solid #a8c7fa;border-radius:15px;background:var(--sx-blue-soft)}
.rjw-aira-recommendation__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--sx-blue);color:#fff}
.rjw-aira-recommendation div{min-width:0;display:grid;gap:2px}
.rjw-aira-recommendation small{color:#4d6385;font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.rjw-aira-recommendation strong{font-size:.9rem}
.rjw-aira-recommendation p{display:-webkit-box;margin:2px 0 0;color:#4d5156;font-size:.76rem;line-height:1.4;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rjw-aira-recommendation>a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--sx-blue);text-decoration:none}
.rjw-aira-recommendation>a:hover{background:rgba(11,87,208,.1)}
.rjw-aira-panel{overflow:hidden;border:1px solid var(--sx-border);border-radius:15px;background:#fff;box-shadow:var(--sx-shadow)}
.rjw-aira-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;cursor:pointer;list-style:none}
.rjw-aira-panel>summary::-webkit-details-marker{display:none}
.rjw-aira-panel>summary span{display:flex;align-items:center;gap:8px}
.rjw-aira-panel>summary span i{color:var(--sx-blue)}
.rjw-aira-panel>summary>i{transition:transform .16s ease}
.rjw-aira-panel[open]>summary>i{transform:rotate(180deg)}
.rjw-aira-panel__body{display:grid;gap:12px;padding:0 14px 14px;border-top:1px solid var(--sx-border)}
.rjw-aira-form{padding-top:13px}
.rjw-aira-form textarea{resize:vertical}
.rjw-aira-answer{padding:12px;border:1px solid #c7e4d0;border-radius:11px;background:#f4fbf6}
.rjw-aira-answer p{margin:7px 0;color:#303134;line-height:1.55}
.rjw-aira-reasoning{border-top:1px solid var(--sx-border)}
.rjw-aira-reasoning>summary{display:flex;align-items:center;gap:7px;padding-top:12px;color:var(--sx-blue);cursor:pointer;list-style:none;font-size:.78rem;font-weight:700}
.rjw-aira-reasoning>summary::-webkit-details-marker{display:none}
.rjw-aira-reasoning>summary i:last-child{margin-left:auto;transition:transform .16s ease}
.rjw-aira-reasoning[open]>summary i:last-child{transform:rotate(180deg)}
.rjw-aira-reasoning__body{display:grid;gap:10px;padding-top:11px}
.rjw-aira-reasoning__body>p{margin:0;color:var(--sx-muted);font-size:.78rem;line-height:1.5}
.rjw-aira-context{gap:5px}
.rjw-aira-context span{max-width:100%;white-space:normal}
.rjw-aira-contract{margin:0;background:#f8f9fa}
.rjw-aira-boundary{margin:0}

/* Dense content modules remain readable, not cramped. */
.rjw-simple-shell .rjw-source-grid,.rjw-simple-shell .rjw-note-grid{gap:12px}
.rjw-simple-shell .rjw-source-card,.rjw-simple-shell .rjw-note-card{padding:16px;border-radius:14px;box-shadow:0 1px 2px rgba(60,64,67,.05)}
.rjw-simple-shell .rjw-source-card h3,.rjw-simple-shell .rjw-note-card h3{overflow-wrap:anywhere}
.rjw-simple-shell .rjw-source-meta,.rjw-simple-shell .rjw-source-summary{overflow-wrap:anywhere}
.rjw-simple-shell .rjw-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rjw-simple-shell .rjw-tool-card{padding:14px;border-radius:13px;box-shadow:none}
.rjw-simple-shell table{width:100%}
.rjw-simple-shell .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:1199.98px){
  .researcher-portal-body .rjw-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rjw-simple-phase-nav{grid-template-columns:repeat(5,minmax(135px,1fr));overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .rjw-simple-layout{grid-template-columns:1fr}
  .rjw-simple-aira{position:relative;top:auto;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}
}
@media(max-width:991.98px){
  .researcher-portal-body .rp-brand{max-width:70vw}
  .researcher-portal-body .rp-desktop-nav{display:none}
  .researcher-portal-body .rp-mobile-toggle{display:inline-flex}
  .rjw-simple-project-head{align-items:flex-start;flex-direction:column}
  .rjw-project-head__actions{width:100%;justify-content:flex-start}
  .rjw-more-tools__menu{left:0;right:auto}
  .rjw-simple-aira{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  .researcher-portal-body .rp-main{width:min(100% - 20px,1480px);padding-block:16px 36px}
  .researcher-portal-body .rp-topbar-inner{width:min(100% - 20px,1480px);min-height:58px}
  .researcher-portal-body .rp-brand img{width:34px;height:34px}
  .researcher-portal-body .rp-brand small{display:none}
  .researcher-portal-body .rjw-selector-grid{grid-template-columns:1fr}
  .researcher-portal-body .rp-card{padding:16px}
  .rjw-simple-project-head{padding:16px}
  .rjw-simple-project-head h1{font-size:1.45rem}
  .rjw-project-head__actions{display:grid;grid-template-columns:1fr 1fr}
  .rjw-project-head__actions>.btn,.rjw-project-head__actions>.rjw-more-tools{width:100%}
  .rjw-more-tools>summary{justify-content:center}
  .rjw-more-tools__menu{width:min(330px,calc(100vw - 20px))}
  .rjw-simple-phase-nav{grid-template-columns:repeat(5,minmax(126px,1fr));margin-inline:-2px}
  .rjw-simple-phase-nav>a{grid-template-columns:auto auto minmax(0,1fr);min-height:64px;padding:9px}
  .rjw-simple-phase-nav__copy small,.rjw-simple-phase-nav__state{display:none}
  .rjw-current-task{padding:16px}
  .rjw-current-task__heading{display:grid;gap:10px}
  .rjw-current-task__status{justify-self:start}
  .rjw-current-task__detail-grid{grid-template-columns:1fr}
  .rjw-simplified-guide__actions{display:grid;grid-template-columns:1fr}
  .rjw-simplified-guide__actions .btn{width:100%}
  .rjw-simple-shell .rjw-tool-grid{grid-template-columns:1fr}
}
@media(max-width:479.98px){
  .rjw-project-head__actions{grid-template-columns:1fr}
  .rjw-simple-project-head__meta{align-items:flex-start;flex-direction:column}
  .rjw-project-stats{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .rjw-project-stats span{justify-content:center}
}
.hp28-project-card .rp-workspace-actions{position:relative;display:flex;align-items:center;gap:7px;margin-top:auto}.hp28-project-card .rp-workspace-actions>.btn{flex:1}.hp28-project-more{position:relative}.hp28-project-more>summary{display:grid;place-items:center;min-width:42px;list-style:none;cursor:pointer}.hp28-project-more>summary::-webkit-details-marker{display:none}.hp28-project-more>div{position:absolute;right:0;bottom:calc(100% + 8px);z-index:20;width:240px;display:grid;gap:3px;padding:7px;border:1px solid var(--sx-border);border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(60,64,67,.2)}.hp28-project-more a{padding:9px 10px;border-radius:8px;color:#303134;text-decoration:none;font-size:.82rem}.hp28-project-more a:hover{background:#f1f3f4}.hp28-project-filter>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.hp28-project-filter>summary::-webkit-details-marker{display:none}.hp28-project-filter>summary span{display:flex;align-items:center;gap:8px}.hp28-project-filter>summary small{color:var(--sx-muted)}
