/* Port of the Hub AdminConsole shell: sidebar, content gutters and mobile drawer. */
:root { --bg:#f5f8f8; --sidebar:#fff; --panel:#fff; --panel-2:#f0f6f6; --field:#fff; --line:#e0e9eb; --text:#0b3048; --muted:#4f6575; --teal:#007d7b; --blue:#007da6; color-scheme:light; font-family:Arial,Helvetica,sans-serif; }
body { --rail:324px; color:var(--text); line-height:1.5; }
[hidden] { display:none!important; }
button,input,select,textarea { font-family:inherit; font-size:14px; max-width:100%; }
button,a,input,select,summary { touch-action:manipulation; }
:is(button,a,input,select,textarea):focus-visible { outline:3px solid #0099c8; outline-offset:3px; }
h1,h2,h3,h4,strong,b,th,button { font-weight:500; }
.sidebar { position:fixed; inset:0 auto 0 0; width:var(--rail); height:100dvh; display:flex; flex-direction:column; padding:12px 14px; background:#fff; border-right:1px solid var(--line); overflow:hidden; z-index:20; }
.mast-brand { width:100%; min-height:112px; gap:8px; padding:0 0 8px; }
#product-logo { width:164px; height:104px; flex:0 0 164px; }
.impact-gauge { width:136px; height:104px; flex:0 0 136px; }
.sidebar nav { display:grid; grid-template-columns:1fr; gap:4px; }
.sidebar nav>small { padding:8px 12px 0; color:var(--muted); }
.sidebar nav button,.sidebar-foot a,.sidebar-foot button { display:flex; align-items:center; gap:14px; width:100%; min-height:40px; padding:8px 12px; border:0; border-radius:9px; color:var(--text); background:transparent; font-family:inherit; font-size:14px; font-weight:500; text-align:left; text-decoration:none; }
.sidebar nav button svg { width:22px; height:22px; flex:0 0 22px; }
.sidebar nav button.active { color:var(--teal); background:#e3f2f2; }
.sidebar nav button:hover,.sidebar-foot :is(a,button):hover { color:var(--text); background:#f0f6f6; }
.sidebar-foot { display:grid; gap:8px; padding-top:8px; margin-top:auto; }
.sidebar-foot a { border-top:1px solid var(--line); border-radius:0; }
.privacy-state { margin-top:10px; color:var(--muted); font-size:11px; }
.masthead { position:static; width:auto; margin-left:var(--rail); padding:24px 28px 12px; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"context actions" "period period"; gap:18px; background:var(--bg); border:0; }
.mast-context { display:block; grid-area:context; min-width:0; }
.mast-context h1 { margin:0; color:var(--text); font-family:inherit; font-size:28.8px; line-height:1.2; font-weight:500; }
.mast-actions { grid-area:actions; display:flex; flex-wrap:wrap; align-items:end; gap:8px; width:auto; min-width:0; }
.mast-actions #logout { width:auto; min-width:80px; }
.masthead>.period-fields { grid-area:period; display:flex; flex-wrap:wrap; justify-self:stretch; justify-content:flex-start; gap:12px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.field { color:var(--muted); }
.field input,.field select { color:var(--text); background:#fff; border:1px solid #cbdade; border-radius:8px; min-height:40px; color-scheme:light; }
.primary { color:#fff; background:#007da6; border:1px solid #007da6; border-radius:8px; }
.primary:hover { background:#006987; }
.secondary { color:var(--text); background:#fff; border:1px solid #cbdade; border-radius:8px; }
main { margin-left:var(--rail); padding:12px 28px 28px; min-width:0; max-width:none; min-height:calc(100vh - 180px); }
.panel { border:1px solid #edf1f2; border-radius:16px; box-shadow:0 3px 14px #0b304809; background:#fff; }
.view :is(h1,h2,h3,h4,strong,b),.panel-heading h3,.welcome-row h2,.view-intro h2,#report-form h2,#outcome-form h2 { color:var(--text); font-family:inherit; }
.view-intro p,.welcome-row p,.panel-heading p { color:var(--muted); }
.view a,.link-button { color:var(--teal); }
.roi-kpis :is(.featured,.featured:hover) { background:#e3f2f2; }
.roi-kpis .featured :is(small,strong,span) { color:var(--text); }
.roi-kpi-link:hover { background:#e3f2f2; }
.metric:hover,.metric:focus-visible { background:#e3f2f2; border-color:#87b9b5; }
.metric>small,.disclaimer { color:var(--muted); }
.org-status dd { color:#087970; }
.empty { color:var(--muted); background:#f0f6f6; border-color:#cbdade; }
.privacy-banner { color:#735800; background:#fff6cf; }
.data-explorer-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) minmax(180px,260px) auto; align-items:end; gap:12px; margin-bottom:12px; }
.data-explorer-toolbar label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.data-explorer-toolbar :is(input,select) { min-height:40px; padding:8px 10px; color:var(--text); background:#fff; border:1px solid #cbdade; border-radius:8px; }
.explorer-count { margin:0 0 8px; color:var(--muted); font-size:12px; }
.action-link { display:inline-flex; align-items:center; min-height:40px; padding:8px 14px; color:#fff!important; text-decoration:none; }
.collection-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:12px; background:var(--line); }
.collection-summary>div { display:grid; gap:2px; padding:14px; background:#fff; }
.collection-summary strong { font-size:24px; }
.collection-summary span,td small { display:block; color:var(--muted); font-size:12px; }
.assessment-results { min-width:1040px; }
.assessment-results td { vertical-align:top; }
.tracking-note { color:#315b75; background:#edf7fb; }
.bar-track,.readiness-track { background:#e0e9eb; }
.conversion-row div,.privacy-note { background:#f0f6f6; color:var(--muted); }
.outcome-empty { color:#735800; background:#fff6cf; }
.readiness-list span { color:#85434a; background:#fff0f1; }
table { color:var(--text); }
th { color:var(--muted); background:#f0f6f6; }
td { border-color:var(--line); }
dialog { color:var(--text); box-shadow:0 18px 50px #0b30482b; }
#report-form label,#outcome-form label { color:var(--text); }
#report-form :is(input,select,textarea),#outcome-form :is(input,select,textarea) { color-scheme:light; border-color:#cbdade; color:var(--text); background:#fff; }
.auth-gate { background:var(--bg); }
.auth-panel { background:#fff; border-color:var(--line); border-top-color:var(--teal); border-radius:16px; box-shadow:0 8px 24px #0b304818; }
.auth-panel :is(h1,label),.auth-panel input { color:var(--text); }
.auth-panel input { background:#fff; border-color:#cbdade; }

body.auth-pending .auth-gate { background:#fff; }
body.auth-pending .auth-panel { background:transparent; border:0; border-radius:0; box-shadow:none; }
body.auth-pending .auth-panel input { background:#f4f8fa; }
.auth-copy,#auth-message,#access-request-message { color:var(--muted); }
.mobile-toggle,.menu-close,.menu-backdrop { display:none; }
@media(min-width:761px) and (max-width:1100px) { body { --rail:232px; } .mast-brand { min-height:76px; gap:8px; padding-inline:4px; } #product-logo { width:112px; height:68px; flex-basis:112px; } .impact-gauge { width:92px; height:68px; flex-basis:92px; } .masthead { padding:20px 16px 12px; grid-template-columns:minmax(0,1fr); grid-template-areas:"context" "actions" "period"; } main { padding:12px 16px 24px; } }
@media(max-width:760px) {
  body { --rail:0px; }
  .sidebar { display:none; overflow-y:auto; }
  body[data-mobile-open="true"] { overflow:hidden; }
  body[data-mobile-open="true"] .sidebar { display:flex; width:min(290px,85vw); box-shadow:10px 0 40px #0b304822; }
  .mast-brand { min-height:76px; gap:8px; padding-inline:4px; }
  #product-logo { width:112px; height:68px; flex-basis:112px; }
  .impact-gauge { width:92px; height:68px; flex-basis:92px; }
  body[data-mobile-open="true"] .sidebar nav button>span,body[data-mobile-open="true"] .sidebar-foot a>span { position:static; width:auto; height:auto; overflow:visible; clip-path:none; }
  body[data-mobile-open="true"] .sidebar :is(nav button,.sidebar-foot a) { justify-content:flex-start; }
  body[data-mobile-open="true"] .sidebar nav>small { display:block; }
  .masthead { padding:20px 12px 12px; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"context menu" "actions actions" "period period"; }
  .mast-context h1 { font-size:24px; }
  .mobile-toggle { display:block; grid-area:menu; min-height:44px; }
  .menu-close { display:block; min-height:44px; margin-bottom:12px; }
  .menu-backdrop:not([hidden]) { display:block; position:fixed; inset:0; width:100%; height:100dvh; border:0; border-radius:0; background:#0b30484d; z-index:19; }
  .mast-actions { display:flex; width:100%; }
  .mast-actions .org-picker { flex:1 1 100%; width:100%; }
  .mast-actions #request-report { flex:1; width:auto; }
  .masthead>.period-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
  .period-fields #apply { grid-column:1/-1; }
  main { margin-left:0; padding:12px; }
  :is(input,select,textarea) { font-size:16px; }
  button { min-height:44px; }
  .data-explorer-toolbar { grid-template-columns:1fr; }
  .collection-summary { grid-template-columns:1fr; }
}
body.auth-pending :is(.masthead,.sidebar,.menu-backdrop) { display:none; }
