/* G78O — Recovery visual organization, stage 2.
   NAVIGATION / WORKSPACE ORGANIZATION ONLY.
   Does not style, select, open, close, or observe modal/dialog/overlay elements. */
:root{
  --g78o-line:#dce6ed;
  --g78o-soft:#f7fafc;
  --g78o-soft2:#eef4f8;
  --g78o-ink:#173149;
  --g78o-muted:#6d8192;
  --g78o-accent:#315f7f;
}

/* Organization context / breadcrumb rail */
.g78o-contextbar{
  max-width:1440px;
  margin:0 auto 16px;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:9px 13px;
  border:1px solid var(--g78o-line);
  border-radius:13px;
  background:rgba(255,255,255,.92);
  box-shadow:0 3px 12px rgba(18,50,74,.035);
}
.g78o-context-left{display:flex;align-items:center;gap:9px;min-width:0}
.g78o-context-home{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--g78o-soft2);font-size:15px;flex:0 0 auto}
.g78o-context-copy{display:flex;align-items:center;gap:7px;min-width:0;font-size:.73rem;color:var(--g78o-muted);white-space:nowrap;overflow:hidden}
.g78o-context-copy strong{color:var(--g78o-ink);font-weight:850;overflow:hidden;text-overflow:ellipsis}
.g78o-context-copy .sep{color:#a7b6c1}
.g78o-context-tag{flex:0 0 auto;border:1px solid #d7e4ec;background:#f7fafc;border-radius:999px;padding:6px 9px;font-size:.63rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#52738a}

/* Sidebar gets stronger workspace hierarchy without changing any nav DOM or click handlers. */
#portalSidebar nav{padding-bottom:8px}
#portalSidebar .nav-group{position:relative;padding:5px 0 8px;margin:0 0 7px}
#portalSidebar .nav-group + .nav-group{border-top:1px solid rgba(255,255,255,.085);padding-top:10px}
#portalSidebar .nav-label{display:flex;align-items:center;gap:7px;min-height:25px}
#portalSidebar .nav-label::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(255,255,255,.13),transparent)}
#portalSidebar .nav-btn{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;line-height:1.2}
#portalSidebar .nav-btn::after{content:"›";position:absolute;right:10px;opacity:0;transform:translateX(-3px);transition:.14s ease;color:#dceaf1}
#portalSidebar .nav-btn:hover::after,#portalSidebar .nav-btn.active::after{opacity:.72;transform:none}
#portalSidebar .nav-btn.active{padding-right:27px}
#portalSidebar .sidebar-footer{margin-top:8px;padding-top:15px}

/* Course sidebar: same visual hierarchy, no behavior changes. */
#sidebar nav{padding-bottom:8px}
#sidebar .nav-group{position:relative;padding:5px 0 8px;margin:0 0 7px}
#sidebar .nav-group + .nav-group{border-top:1px solid rgba(255,255,255,.085);padding-top:10px}
#sidebar .nav-label{display:flex;align-items:center;gap:7px}
#sidebar .nav-label::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(255,255,255,.13),transparent)}

/* Organization home becomes a clearer workspace directory. */
.portal-content #portalPageBody>.page-head:first-child{margin-bottom:15px}
.portal-content .portal-hero{
  padding:25px 27px;
  margin-bottom:15px;
  border-radius:18px;
  background:linear-gradient(135deg,#14364f 0%,#204f6e 100%);
}
.portal-content .portal-hero h3{font-size:1.72rem;letter-spacing:-.025em}
.portal-content .portal-hero-badge{background:rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.portal-content .portal-home-grid{gap:12px}
.portal-content .portal-home-grid .portal-module-card{min-height:105px;border-radius:14px;padding:16px 17px}
.portal-content .portal-home-grid .portal-card-icon{width:45px;height:45px;border-radius:12px;font-size:1.2rem}
.portal-content .portal-home-grid .portal-module-card h3{font-size:.94rem;margin-bottom:5px}
.portal-content .portal-home-grid .portal-module-card p{font-size:.74rem;line-height:1.42}
.portal-content .portal-home-grid .portal-module-card:hover{border-color:#9fb8c9;box-shadow:0 9px 24px rgba(18,50,74,.075)}

/* Page framing makes each area read as a workspace rather than one long app page. */
.portal-content #portalPageBody>.info-banner:first-of-type{border-radius:12px;border-color:#d9e5ed;background:#f5f9fb}
.portal-content .page-head + .panel,
.portal-content .page-head + .course-grid,
.portal-content .page-head + .portal-card-grid{margin-top:2px}
.portal-content .page-head h2{font-weight:850}
.portal-content .page-head{border-bottom:1px solid #e8eef2;padding-bottom:13px}
.portal-content .head-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Topbar reads more like a command bar while keeping every existing control. */
.portal-topbar{padding-right:20px}
.portal-top-actions{gap:8px}
.portal-org-select{min-width:190px;max-width:270px;border-radius:10px;background:#f8fafc}
.portal-topbar .btn.compact{min-height:36px}

/* Better responsive organization without moving or hiding features. */
@media(max-width:1100px){
  .g78o-context-tag{display:none}
  .portal-content .portal-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .g78o-contextbar{padding:8px 10px;margin-bottom:12px}
  .g78o-context-copy{font-size:.69rem}
  .portal-content .portal-home-grid{grid-template-columns:1fr}
  .portal-content .portal-hero{padding:20px;align-items:flex-start;flex-direction:column}
}
