/*
Theme Name: OGCC Portal Shell
Theme URI: https://oceangrowncc.com/
Author: OGCC
Description: Lightweight full-width app-shell portal theme (invite-only). Designed for OGCC Core shortcodes/pages.
Version: 1.6.20
Requires at least: 6.0
Tested up to: 6.6
License: GPLv2 or later
Text Domain: ogcc-portal-shell
*/

/* ============================================================
   1) TOKENS / PALETTE
   ============================================================ */
:root{
  /* Surfaces */
  --ogcc-bg:#fff;
  --ogcc-surface:#fff;
  --ogcc-surface-2:#f6f8f7;

  /* Ink & neutrals */
  --ogcc-ink:#1c2622;
  --ogcc-muted:#5f6f67;
  --ogcc-border:rgba(28,38,34,.14);

  /* Ocean */
  --ogcc-ocean:#1f6f8b;
  --ogcc-ocean-dark:#145a72;
  --ogcc-ocean-deep:#002B4D;
  --ogcc-ocean-soft:rgba(31,111,139,.10);

  /* Green (sparingly) */
  --ogcc-grass:#3f7d4a;
  --ogcc-grass-dark:#2f6138;
  --ogcc-grass-soft:rgba(63,125,74,.10);

  /* Hero wash (shared: Timeline + global containers) */
  --ogcc-hero-wash:
    radial-gradient(1000px 440px at 10% -10%, rgba(31,111,139,.10), transparent 60%),
    radial-gradient(900px 420px at 95% -15%, rgba(0,0,0,.015), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,1));

  /* Radii / shadows */
  --ogcc-radius:18px;
  --ogcc-radius-sm:12px;
  --ogcc-shadow:0 16px 50px rgba(0,0,0,.08);
  --ogcc-shadow-sm:0 10px 28px rgba(0,0,0,.06);

  /* Shell sizing */
  --ogcc-header-h:64px;
  --ogcc-sidebar-w:270px;
  --ogcc-max:100%;

  /* Typography */
  --ogcc-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
  --ogcc-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* ============================================================
   2) BASE
   ============================================================ */
*{ box-sizing:border-box; }
html,body{ height:100%; }
html{ overflow-x:clip; }
@supports not (overflow:clip){ html,body{ overflow-x:hidden; } }

body{
  margin:0;
  font-family: var(--ogcc-font-sans);
  font-size:13px;                 /* global zoom-out baseline */
  line-height:1.45;
  background:var(--ogcc-bg);
  color:var(--ogcc-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{ color:var(--ogcc-ocean); text-decoration:none; }
a:hover{ color:var(--ogcc-ocean-dark); text-decoration:underline; }

img{ max-width:100%; height:auto; }

/* Form controls inherit typography */
button,input,select,textarea{ font:inherit; }

small,.muted{ color:var(--ogcc-muted); }

/* ============================================================
   3) APP LAYOUT
   ============================================================ */
.ogcc-app{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

/* Sticky shell: header + footer stay fixed in the app frame; only main content scrolls. */
html,body{ height:100%; }
body{ overflow:hidden; }
.ogcc-app{ height:100vh; }
.ogcc-shell{ flex:1; min-height:0; }
.ogcc-main{ overflow:auto; background:#f6f8fb; }

/* Footer lives at the bottom of the app frame, not inside the scrolling pane.
   This keeps it from colliding with modals and avoids overlay/z-index edge cases.
*/
.ogcc-footer{
  position: relative;
  bottom: auto;
  margin-top: auto;
  flex: 0 0 auto;
  z-index: 1;
}


/* ============================================================
   4) HEADER
   ============================================================ */
.ogcc-header{
  position:sticky;
  top:0;
  z-index:1000;
  height:var(--ogcc-header-h);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ogcc-border);
  overflow:visible;
}
.ogcc-header-inner{
  width:100%;
  height:100%;
  padding:8px 14px;
  display:flex;
  align-items:center;
  gap:10px;
  overflow:visible;
}

/* Mobile menu toggle (kept; desktop hidden) */
.ogcc-mobile-toggle{
  display:none !important;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.9);
  color:var(--ogcc-ink);
  box-shadow:none !important;
}
.ogcc-mobile-toggle:hover{
  border-color:rgba(31,111,139,.22);
  box-shadow:0 0 0 2px rgba(31,111,139,.10) !important;
  background:rgba(31,111,139,.06);
  color:var(--ogcc-ocean);
  transform:none !important;
}

/* Brand */
.ogcc-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  text-decoration:none;
  color:var(--ogcc-ocean);
}
.ogcc-brand:hover{ text-decoration:none; opacity:.92; }

/* Custom logo sizing (prevents huge WP logo + avoids nested link issues) */
.ogcc-brand-logo{ display:flex; align-items:center; flex:0 0 auto; }
.ogcc-brand-logo img,
.ogcc-brand-logo svg{
  height:34px;
  width:auto;
  display:block;
}
.ogcc-brand-mark{
  width:34px;
  height:34px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--ogcc-ocean),var(--ogcc-grass));
  box-shadow:0 10px 22px rgba(31,111,139,.10);
  flex:0 0 auto;
}
.ogcc-brand-name{
  font-size:13px;
  font-weight:850;
  letter-spacing:-0.01em;
  text-transform:none;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:420px;
  color:#000;
}
.ogcc-brand-sub{
  display:block;
  margin-top:2px;
  font-size:12px;
  font-weight:650;
  color:rgba(28,38,34,.62);
  letter-spacing:.02em;
}

/* Right-side tools */
.ogcc-datetime{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.92);

  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(28,38,34,.55);
  white-space:nowrap;
}

/* User dropdown */
.ogcc-user-dd{ margin-left:10px; position:relative; display:flex; align-items:center; }
.ogcc-user-dd summary{ list-style:none; }
.ogcc-user-trigger::-webkit-details-marker{ display:none; }

.ogcc-user-trigger{
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.92);
  white-space:nowrap;
  flex-shrink:0;
  text-decoration:none;
}
.ogcc-user-trigger:hover{
  border-color:rgba(31,111,139,.22);
  box-shadow:0 0 0 2px rgba(31,111,139,.10);
  text-decoration:none;
}

.ogcc-user-meta{ display:flex; align-items:flex-end; max-width:220px; }
.ogcc-user-name{
  font-size:12px;
  font-weight:650;
  letter-spacing:.10em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ogcc-avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid var(--ogcc-border);
  background:#fff;
  flex:0 0 auto;
}
.ogcc-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }

.ogcc-dd-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:220px;
  padding:6px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  box-shadow:var(--ogcc-shadow-sm);
  z-index:99999;
  max-height: 70vh;
  overflow: auto;
}
.ogcc-user-dd .ogcc-dd-menu{ display:none; }
.ogcc-user-dd[open] .ogcc-dd-menu{ display:block; }

.ogcc-dd-item{
  display:block;
  padding:12px;
  border-radius:14px;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(28,38,34,.72);
}
.ogcc-dd-item:hover{
  background:rgba(31,111,139,.06);
  color:var(--ogcc-ocean);
  text-decoration:none;
}



/* Dropdown “account card” (top-right) */
.ogcc-dd-card{
  min-width: 300px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  box-shadow: var(--ogcc-shadow-sm);
}
.ogcc-dd-section{ padding: 8px; }
.ogcc-dd-divider{
  height: 1px;
  background: rgba(28,38,34,.12);
  margin: 6px 8px;
}
.ogcc-dd-title{
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(28,38,34,.72);
  margin-bottom: 6px;
}
.ogcc-dd-minihead{
  margin-top: 10px;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(28,38,34,.50);
}
.ogcc-dd-link{
  display:flex;
  align-items:center;
  width:100%;
  padding: 8px 10px;
  border-radius: 12px;
  text-decoration:none;
  font-size: 12px;
  font-weight: 650;
  color: rgba(28,38,34,.78);
}

/* Iconized dropdown links */
.ogcc-dd-link--icon{ gap: 10px; }
.ogcc-dd-ico{
  width: 18px;
  height: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 18px;
  /* slightly stronger so icons read clearly */
  color: rgba(28,38,34,.72);
}
.ogcc-dd-ico svg{
  display:block;
  width: 16px;
  height: 16px;
  /* force icon stroke visibility even if global SVG rules exist */
  stroke: currentColor;
  fill: none;
}
.ogcc-dd-ico svg *{
  stroke: currentColor;
}
.ogcc-dd-link:hover{
  background: rgba(31,111,139,.06);
  color: var(--ogcc-ocean);
  text-decoration:none;
}
.ogcc-dd-row{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
}
.ogcc-dd-sub{
  padding: 0 2px;
  color: rgba(28,38,34,.65);
  font-size: 12px;
}
.ogcc-dd-actions{ margin-top: 10px; display:flex; gap:8px; }

/* Google quick links in account dropdown */
.ogcc-dd-links{
  display:flex;
  flex-direction:column;
  gap: 2px;
  margin-top: 10px;
}

.ogcc-dd-email{
  display:inline-block;
  max-width: 220px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  font-weight: 800;
  color: rgba(28,38,34,.80);
}

.ogcc-dd-link--danger{
  margin-top: 10px;
  font-weight: 750;
  color: #b42318;
  /* align text with icon links (no disconnect icon) */
  padding-left: 38px;
}
.ogcc-dd-link--danger:hover{
  background: rgba(180,35,24,.08);
  color: #8a1a12;
}

/* Status pills */
.ogcc-pill{
  display:inline-flex;
  align-items:center;
  height: 22px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid transparent;
}
.ogcc-pill--good{
  color:#145a2a;
  background: rgba(63,125,74,.14);
  border-color: rgba(63,125,74,.35);
}
.ogcc-pill--bad{
  color:#7a1e1e;
  background: rgba(210,60,60,.12);
  border-color: rgba(210,60,60,.30);
}

/* Compact buttons inside dropdown */
.ogcc-btn--sm{
  padding: 7px 10px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  border-radius: 10px !important;
}


/* Web Admin: WP toolbar toggle button (icon-only) */
.ogcc-adminbar-toggle-icon{
  font-weight: 800;
  letter-spacing: .5px;
  height:34px;
  padding: 0 10px !important;
  min-width: 38px !important;
  border-radius:999px !important;
  margin-left: 10px;
}
/* Portal links grid (keeps it tidy) */
.ogcc-dd-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

/* ============================================================
   5) SHELL (sidebar + main)
   ============================================================ */
.ogcc-shell{
  flex:1;
  display:flex;
  min-height:0;
}

.ogcc-sidebar{
  width:var(--ogcc-sidebar-w);
  background:rgba(255,255,255,.75);
  backdrop-filter:blur(8px);
  border-right:1px solid var(--ogcc-border);
}
.ogcc-sidebar-inner{
  position:sticky;
  top:var(--ogcc-header-h);
  height:calc(100vh - var(--ogcc-header-h));
  padding:8px 6px 12px;
  overflow:auto;
}

.ogcc-main{ flex:1; min-width:0; }
body.ogcc-portal-shell .ogcc-main-inner{
  max-width:var(--ogcc-max);
  margin:0 auto;
  padding:10px 14px 14px;
}

/* ============================================================
   6) SIDEBAR MENU (OGCC native nav)
   ============================================================ */
.ogcc-nav-title{
  font-weight:800;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(28,38,34,.58);
  margin:3px 8px 2px;
}

.ogcc-nav-section{ margin:3px 0; }
.ogcc-nav-section__toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px 8px 4px;
  border:0;
  background:transparent;
  cursor:pointer;

  font-weight:800;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(28,38,34,.58);
}
.ogcc-nav-section__toggle:hover{ color:rgba(28,38,34,.88); }
.ogcc-nav-section__chev{ opacity:.65; font-size:14px; line-height:1; transform:translateY(-1px); }
.ogcc-nav-section.is-collapsed .ogcc-nav-section__chev{ transform:rotate(-90deg) translateX(1px); }
.ogcc-nav-section__content{ padding:0 0 2px; }
.ogcc-nav-section.is-collapsed .ogcc-nav-section__content{ display:none; }

.ogcc-nav{
  display:flex;
  flex-direction:column;
  gap:0;
}

/* “OGCC nav link” base (used by portal + google links) */
.ogcc-nav a,
.ogcc-nav-link,
.ogcc-google-svc{
  display:flex;
  align-items:center;
  gap:8px;
  padding:4px 8px;
  border-radius:10px;
  font-weight:500;
  color:var(--ogcc-ink);
  border:1px solid transparent;
  text-decoration:none;
}

.ogcc-nav a:hover,
.ogcc-nav-link:hover,
.ogcc-google-svc:hover{
  background:rgba(31,111,139,.08);
  border-color:rgba(31,111,139,.10);
  text-decoration:none;
}

.ogcc-nav a.is-active{
  background:rgba(31,111,139,.06);
  border-color:rgba(31,111,139,.26);
}

.ogcc-nav-text{
  display:flex;
  flex-direction:column;
  gap:1px;
  line-height:1.15;
}
.ogcc-nav-sub{
  font-size:11px;
  color:rgba(28,38,34,.60);
}

.ogcc-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(28,38,34,.22);
}
.ogcc-nav a.is-active .ogcc-dot{
  background:linear-gradient(135deg,var(--ogcc-ocean),var(--ogcc-grass));
}

/* Badge (single definition; removed duplicate “calm badge” version) */
.ogcc-nav-badge{
  margin-left:auto;
  min-width:22px;
  height:20px;
  padding:0 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  background:linear-gradient(135deg,var(--ogcc-ocean),var(--ogcc-grass));
  color:#fff;
  border:1px solid rgba(0,0,0,.08);
}

/* Google section meta (kept once) */
.ogcc-status-dot{
  width:9px;height:9px;border-radius:999px;
  display:inline-block;
  margin-right:8px;
  border:1px solid rgba(28,38,34,.18);
  vertical-align:middle;
}
.ogcc-status-dot.is-ok{ background:#2fbf71; }
.ogcc-status-dot.is-bad{ background:#e64b3c; }

.ogcc-nav-title--google{ display:flex; align-items:center; gap:0; }
.ogcc-nav-section--google .ogcc-nav-section__content{ padding:4px 10px 10px; }

.ogcc-google-meta{ margin-top:4px; line-height:1.25; font-size:12px; }
.ogcc-google-meta .ogcc-google-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:11px;
  color:rgba(28,38,34,.55);
}
.ogcc-google-meta .ogcc-google-status.is-on{ color:rgba(31,111,139,.95); }
.ogcc-google-meta .ogcc-google-email{
  display:block;
  margin-top:4px;
  font-weight:500;
  color:rgba(28,38,34,.92);
  word-break:break-word;
}
.ogcc-google-meta .ogcc-google-note{
  display:block;
  margin-top:3px;
  color:rgba(28,38,34,.55);
  font-size:12px;
}

/* Optional Google icon chip in nav */
.ogcc-google-svc__icon{
  width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;
  background:rgba(31,111,139,.08);
  font-size:13px;
  flex:0 0 auto;
  opacity:.9;
}
.ogcc-google-svc__label{ flex:1; min-width:0; }
.ogcc-google-svc__meta{
  display:block;
  margin-top:1px;
  font-size:11px;
  font-weight:600;
  color:rgba(28,38,34,.55);
}

/* Connect/Disconnect “link variants” */
.ogcc-nav-link--success{ color:rgba(24,102,61,.95); }
.ogcc-nav-link--success:hover{ background:rgba(24,102,61,.08); }

.ogcc-nav-link--danger{ color:rgba(165,48,48,.95); }
.ogcc-nav-link--danger:hover{ background:rgba(165,48,48,.08); }

/* ============================================================
   7) CONTENT PRIMITIVES
   ============================================================ */
.ogcc-card{
  background:#fff;
  border:1px solid var(--ogcc-border);
  border-radius:var(--ogcc-radius);
  box-shadow:var(--ogcc-shadow-sm);
  padding:14px;
}

/* Main container card (portal-wide)
   - uses hero wash from Timeline plugin
   - consistent intensity across pages: wash only in a fixed top band
   - scoped to the 'main' card per module to avoid washing every sub-card */
body.ogcc-portal-shell .ogcc-content-card,
body.ogcc-portal-shell .ogcc-main-inner > .ogcc-card,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-dash-wrap .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-account-wrap .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-users-wrap .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-sub-cardui .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-login-wrap .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-docs-card,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-docs-wrap .ogcc-card:first-of-type{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08);
  border-radius:var(--ogcc-radius);
  box-shadow:0 18px 60px rgba(0,0,0,.08), inset 0 -1px 0 rgba(0,0,0,.06);
  position:relative;
  overflow:hidden;
}

/* The wash itself lives on a pseudo-element so it never scales with page length */
body.ogcc-portal-shell .ogcc-content-card::before,
body.ogcc-portal-shell .ogcc-main-inner > .ogcc-card::before,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-dash-wrap .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-account-wrap .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-users-wrap .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-sub-cardui .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-login-wrap .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-docs-card::before,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-docs-wrap .ogcc-card:first-of-type::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:110px;
  background:var(--ogcc-hero-wash);
  opacity:.55;
  pointer-events:none;
  border-radius:var(--ogcc-radius) var(--ogcc-radius) 0 0;
  z-index:0;
}

/* Keep the actual content above the wash layer */
body.ogcc-portal-shell .ogcc-content-card > *,
body.ogcc-portal-shell .ogcc-main-inner > .ogcc-card > *,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-dash-wrap .ogcc-card:first-of-type > *,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-account-wrap .ogcc-card:first-of-type > *,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-users-wrap .ogcc-card:first-of-type > *,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-sub-cardui .ogcc-card:first-of-type > *,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-login-wrap .ogcc-card:first-of-type > *,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-docs-card > *,
body.ogcc-portal-shell .ogcc-main-inner .ogcc-docs-wrap .ogcc-card:first-of-type > *{
  position:relative;
  z-index:1;
}

/* If a module uses header/body regions, keep body readable */
.ogcc-content-card{ padding:0; }
.ogcc-content-card .ogcc-card-header{
  background:transparent;
  border-radius:var(--ogcc-radius) var(--ogcc-radius) 0 0;
  padding:16px;
}
.ogcc-content-card .ogcc-card-body{
  background:#fff;
  border-radius:0 0 var(--ogcc-radius) var(--ogcc-radius);
  padding:16px;
}
.ogcc-page-head{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:14px;
}

/* Page head separator inside main module card (title/breadcrumb -> content) */
body.ogcc-portal-shell .ogcc-main-inner .ogcc-card .ogcc-page-head{
  border-bottom:1px solid rgba(0,0,0,.06);
  padding-bottom:10px;
  margin-bottom:12px;
}

/* Single source of truth for title */
.ogcc-page-title{
  margin:0;
  font-size:14px;
  line-height:1.1;
  letter-spacing:.08em;
  color:var(--ogcc-ocean-deep);

  text-transform:uppercase;
}
@media (max-width:720px){
  .ogcc-page-title{ font-size:16px; }
}

.ogcc-page-sub,
.ogcc-page-desc{
  margin:0;
  color:rgba(28,38,34,.62);
  font-size:12px;
  line-height:1.45;
}

/* Breadcrumbs (one system; removed multiple competing blocks) */
.ogcc-breadcrumbs{ margin:2px 0 0; padding:0 0 0 2px; }
.ogcc-breadcrumbs .ogcc-crumbs{
  display:inline-block;
  font-size:12px;
  line-height:1.2;
  color:rgba(28,38,34,.65);
}
.ogcc-breadcrumbs .ogcc-crumbs a{
  color:inherit !important;
  text-decoration:none;
}
.ogcc-breadcrumbs .ogcc-crumbs a:hover{ text-decoration:underline; }

/* If plugin content renders its own H1, hide the first one so we don't get doubles */
.ogcc-page-head + .ogcc-page-content > h1:first-child,
.ogcc-page-head + .ogcc-page-content > .wp-block-heading:first-child{
  display:none;
}

/* Notices */
.ogcc-notice{
  border:1px solid rgba(28,38,34,.10);
  padding:10px 12px;
  border-radius:12px;
  margin-bottom:12px;
  font-size:13px;
}
.ogcc-notice--ok{ background:rgba(63,125,74,.08); }
.ogcc-notice--bad{ background:rgba(210,50,50,.06); }

.ogcc-help{ display:block; margin-top:6px; font-size:12px; color:rgba(28,38,34,.60); }







/* ============================================================
   8) FORMS — CONDENSED GLOBAL SYSTEM
   Replace old form sections with this single block
   ============================================================ */

.ogcc-form,
.ogcc-form *{
  box-sizing:border-box;
}

.ogcc-form{
  margin:0;
}

/* ---- Labels ---- */
label,
.ogcc-form label{
  display:block;
  margin:0 0 3px;
  color:var(--ogcc-ink);
  font-weight:600;
  font-size:11px;
  line-height:1.15;
  letter-spacing:.01em;
}

/* ---- Help / description text ---- */
.ogcc-form .ogcc-help,
.ogcc-form .description,
.ogcc-form small{
  display:block;
  margin:3px 0 0;
  font-size:10.5px;
  line-height:1.25;
  opacity:.72;
}

/* ---- Field wrappers ---- */
.ogcc-field{
  margin:0 0 7px;
}

.ogcc-field:last-child{
  margin-bottom:0;
}

/* ---- Text-like controls ---- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
textarea{
  width:100%;
  max-width:100%;
  display:block;
  min-height:29px;
  padding:5px 8px;
  border:1px solid var(--ogcc-border);
  border-radius:8px;
  background:#fff;
  color:var(--ogcc-ink);
  font-size:12px;
  line-height:1.15;
  box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

/* ---- Smaller dropdowns ---- */
select{
  width:100%;
  max-width:100%;
  display:block;
  min-height:26px;
  height:26px;
  padding:2px 24px 2px 7px;
  border:1px solid var(--ogcc-border);
  border-radius:7px;
  background:#fff;
  color:var(--ogcc-ink);
  font-size:11px;
  line-height:1.1;
  box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

/* ---- Textareas ---- */
textarea{
  min-height:68px;
  padding-top:6px;
  padding-bottom:6px;
  resize:vertical;
}

/* ---- Placeholders ---- */
input::placeholder,
textarea::placeholder{
  color:rgba(28,38,34,.42);
}

/* ---- Focus ---- */
input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:var(--ogcc-ocean);
  box-shadow:0 0 0 2px var(--ogcc-ocean-soft);
  background:#fff;
}

/* ---- Disabled / readonly ---- */
input:disabled,
select:disabled,
textarea:disabled,
input[readonly],
textarea[readonly]{
  opacity:.65;
  background:rgba(0,0,0,.03);
  cursor:not-allowed;
}

/* ---- Checkbox / radio ---- */
input[type="checkbox"],
input[type="radio"]{
  width:14px;
  height:14px;
  margin:1px 0 0;
  accent-color:var(--ogcc-grass);
}

.ogcc-form .ogcc-checkrow{
  display:flex;
  gap:7px;
  align-items:flex-start;
  margin:3px 0 0;
}

/* ---- Inline rows ---- */
.ogcc-form .ogcc-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ogcc-form .ogcc-col{
  flex:1 1 220px;
  min-width:220px;
}

.ogcc-form .ogcc-col.is-small{
  flex:0 0 130px;
  min-width:130px;
}

.ogcc-form .ogcc-col.is-medium{
  flex:0 0 190px;
  min-width:190px;
}

.ogcc-form-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

@media (max-width:780px){
  .ogcc-form-grid-2{
    grid-template-columns:1fr;
  }
}

/* ---- Error state ---- */
.ogcc-form .has-error input,
.ogcc-form .has-error select,
.ogcc-form .has-error textarea{
  border-color:rgba(180,0,0,.35);
  box-shadow:0 0 0 2px rgba(180,0,0,.08);
}

.ogcc-form .ogcc-error{
  display:block;
  margin:3px 0 0;
  font-size:10.5px;
  line-height:1.25;
  color:rgba(180,0,0,.85);
}

/* ---- Action row only (no button styling here) ---- */
.ogcc-form .ogcc-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:8px;
}

/* ---- Dense controls inside tables ---- */
.ogcc-table input[type="text"],
.ogcc-table input[type="number"],
.ogcc-table input[type="email"],
.ogcc-table input[type="date"],
.ogcc-table input[type="time"]{
  min-height:24px;
  padding:3px 6px;
  font-size:11px;
  border-radius:6px;
}

.ogcc-table select{
  min-height:22px;
  height:22px;
  padding:1px 18px 1px 5px;
  font-size:10px;
  border-radius:6px;
}

/* ---- Nearby text spacing ---- */
.ogcc-card p{
  margin:0 0 7px;
}









/* ============================================================
   9) BUTTON SYSTEM (single source of truth)
   ============================================================ */
.ogcc-btn,
.ogcc-dash-btn,
button,
input[type="submit"]{
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:12px;
  font-weight:800;
  line-height:1.1;
}

.ogcc-btn,
.ogcc-dash-btn,
button.ogcc-btn,
a.ogcc-btn,
input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:linear-gradient(135deg,var(--ogcc-ocean),var(--ogcc-ocean-dark));
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, filter .2s ease;
}

.ogcc-btn:hover,
.ogcc-dash-btn:hover,
button.ogcc-btn:hover,
a.ogcc-btn:hover,
input[type="submit"]:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(0,0,0,.14);
  text-decoration:none;
}

.ogcc-btn:active,
.ogcc-dash-btn:active{
  transform:translateY(0);
  filter:brightness(.98);
}

/* Outline variant */
.ogcc-btn.subtle,
.ogcc-dash-btn.subtle{
  background:transparent;
  color:var(--ogcc-ink);
  border:1px solid var(--ogcc-border);
  box-shadow:none;
}
.ogcc-btn.subtle:hover,
.ogcc-dash-btn.subtle:hover{
  border-color:var(--ogcc-ocean);
  color:var(--ogcc-ocean);
  background:rgba(31,111,139,.06);
  box-shadow:0 0 0 2px rgba(31,111,139,.10);
  transform:none;
}

/* Grass / success / danger */
.ogcc-btn.grass,
.ogcc-dash-btn.grass,
.ogcc-btn--success{
  background:linear-gradient(135deg,var(--ogcc-grass),var(--ogcc-grass-dark));
  color:#fff;
  border-color:rgba(0,0,0,.08);
}

.ogcc-btn--danger{
  background:rgba(180,35,24,.10);
  color:rgba(180,35,24,1);
  border:1px solid rgba(180,35,24,.22);
  box-shadow:none;
}
.ogcc-btn--danger:hover{
  background:rgba(180,35,24,.14);
  border-color:rgba(180,35,24,.30);
  box-shadow:none;
  transform:none;
}

.ogcc-btn[disabled],
.ogcc-btn:disabled,
input[type="submit"][disabled]{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

/* Link-style button */
.ogcc-linkbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid var(--ogcc-border);
  background:rgba(31,111,139,.06);
  color:var(--ogcc-ocean);
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.ogcc-linkbtn:hover{
  background:rgba(31,111,139,.10);
  border-color:rgba(31,111,139,.22);
  text-decoration:none;
}
.ogcc-linkbtn--compact{ padding:5px 10px; }
.ogcc-linkbtn--danger{
  border-color:rgba(180,40,40,.35);
  color:rgba(180,40,40,.95);
  background:rgba(180,40,40,.06);
}
.ogcc-linkbtn--danger:hover{
  border-color:rgba(180,40,40,.55);
  background:rgba(180,40,40,.10);
}

/* ============================================================
   10) TABLES
   ============================================================ */
.ogcc-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 8px;
  min-width:760px;
}
.ogcc-table th{
  text-align:left;
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(28,38,34,.55);
  padding:6px 8px;
}
.ogcc-table td{
  padding:10px 8px;
  background:#fff;
  border-top:1px solid var(--ogcc-border);
  border-bottom:1px solid var(--ogcc-border);
}
.ogcc-table td:first-child{
  border-left:1px solid var(--ogcc-border);
  border-radius:12px 0 0 12px;
}
.ogcc-table td:last-child{
  border-right:1px solid var(--ogcc-border);
  border-radius:0 12px 12px 0;
}

.ogcc-pill{
  display:inline-flex;
  align-items:center;
  padding:2px 10px;
  border-radius:999px;
  border:1px solid rgba(28,38,34,.10);
  background:rgba(31,111,139,.06);
  color:rgba(28,38,34,.78);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* ============================================================
   11) RESET / AUTH WRAP
   ============================================================ */
.ogcc-reset-wrap{
  max-width:420px;
  margin:clamp(40px,8vh,96px) auto;
  padding:28px 28px 22px;
  position:relative;
  overflow:hidden;
}
.ogcc-reset-wrap::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:6px;
  background:linear-gradient(90deg,var(--ogcc-ocean),var(--ogcc-ocean-dark));
}
.ogcc-reset-title{ margin:10px 0 6px; font-size:20px; font-weight:800; letter-spacing:-0.2px; }
.ogcc-reset-sub{ margin:0 0 14px; font-size:13px; color:rgba(28,38,34,.65); }
.ogcc-reset-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:10px;
}

/* ============================================================
   12) MOBILE SIDEBAR
   ============================================================ */
.ogcc-scrim{ display:none; }

@media (max-width:980px){
  :root{ --ogcc-sidebar-w:300px; }

  .ogcc-mobile-toggle{ display:inline-flex !important; }
  .ogcc-user-meta{ display:none; }

  .ogcc-sidebar{
    position:fixed;
    top:var(--ogcc-header-h);
    left:0;
    height:calc(100vh - var(--ogcc-header-h));
    transform:translateX(-110%);
    transition:transform .18s ease;
    z-index:1200;
    box-shadow:0 26px 60px rgba(0,0,0,.16);
  }
  body.ogcc-sidebar-open .ogcc-sidebar{ transform:translateX(0); }

  .ogcc-scrim{
    position:fixed;
    inset:var(--ogcc-header-h) 0 0 0;
    background:rgba(0,0,0,.28);
    z-index:1100;
  }
  body.ogcc-sidebar-open .ogcc-scrim{ display:block; }
}

/* ============================================================
   13) FOOTER
   ============================================================ */
.ogcc-footer{
  border-top:1px solid var(--ogcc-border);
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(6px);
}
.ogcc-footer-inner{
  padding:8px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  text-align:center;
  font-size:11px;
  color:rgba(28,38,34,.62);
}

.ogcc-footer-meta{
  font-weight:600;
  letter-spacing:.02em;
  color:rgba(28,38,34,.64);
}

/* ============================================================
   FULL-WIDTH CONTENT OVERRIDES (Portal)
   ============================================================ */
.ogcc-dash-wrap,
.ogcc-docs-wrap,
.ogcc-account-wrap,
.ogcc-sub-cardui{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.ogcc-docs-card,
.ogcc-login-wrap,
.ogcc-account-wrap .ogcc-card,
.ogcc-dash-wrap .ogcc-card{
  width:100%;
}

/* OGCC core pages: reduce top padding in main */
body.ogcc-portal-shell .ogcc-main-inner:has(.ogcc-dash-wrap),
body.ogcc-portal-shell .ogcc-main-inner:has(.ogcc-docs-wrap),
body.ogcc-portal-shell .ogcc-main-inner:has(.ogcc-account-wrap),
body.ogcc-portal-shell .ogcc-main-inner:has(.ogcc-users-wrap),
body.ogcc-portal-shell .ogcc-main-inner:has(.ogcc-sub-cardui){
  padding-top:8px;
}
@supports not selector(:has(*)){
  .ogcc-main-inner.ogcc-core-tight{ padding-top:8px; }
}

/* ============================================================
   Brand color lock (prevents regressions)
   ============================================================ */
.ogcc-shell .ogcc-brand,
.ogcc-shell .ogcc-brand:visited{
  color:var(--ogcc-ocean) !important;
}

/* ============================================================
   Sidebar (WP menu) – Clean / Lightweight / App-style
   - keeps your “left bar active” approach, without duplicates
   ============================================================ */
.ogcc-sidebar a,
.ogcc-sidebar nav a{
  font-weight:500 !important;
  font-size:14px;
  color:var(--ogcc-ink);
}

.ogcc-sidebar nav a,
.ogcc-sidebar .menu a{
  background:transparent !important;
  border-radius:6px !important;
  padding:7px 8px !important;
  margin:2px 0;
}

.ogcc-sidebar nav a:hover{
  background:rgba(31,111,139,.06) !important;
}

/* Active item: left bar */
.ogcc-sidebar .current-menu-item > a,
.ogcc-sidebar .current_page_item > a,
.ogcc-sidebar a[aria-current="page"]{
  background:transparent !important;
  font-weight:600 !important;
  position:relative;
}
.ogcc-sidebar .current-menu-item > a::before,
.ogcc-sidebar .current_page_item > a::before,
.ogcc-sidebar a[aria-current="page"]::before{
  content:'';
  position:absolute;
  left:-8px;
  top:6px;
  bottom:6px;
  width:3px;
  border-radius:2px;
  background:var(--ogcc-ocean);
}

/* Section headers (single definition) */
.ogcc-sidebar .ogcc-nav-section-title{
  margin:20px 0 8px;
  padding-left:2px;
  font-size:10.5px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(28,38,34,.45);
}

/* Google sub-links slightly secondary */
.ogcc-sidebar .ogcc-nav-google a{
  font-size:13.5px;
  color:rgba(28,38,34,.90);
}



/* ============================================================
   Sidebar cleanup: stronger header vs smaller links + dividers
   ============================================================ */
.ogcc-nav-section__toggle{
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
  color:rgba(28,38,34,.50);
  padding:10px 10px 6px;
}
.ogcc-nav-section__toggle::after{
  content:'';
  display:block;
  height:1px;
  margin-top:6px;
  background:rgba(28,38,34,.10);
}
.ogcc-nav a,
.ogcc-nav-link,
.ogcc-google-svc{
  font-size:12.5px;
  font-weight:600;
  padding:5px 10px;
  border-radius:10px;
}
.ogcc-nav-sub{ font-size:10.5px; }
.ogcc-nav-section{ margin:10px 0; }



/* =========================================
   NAV TYPOGRAPHY + DENSITY (v1.5.3)
   - smaller, uppercase, not bold
   - indented “cards” style for all submenu links
   ========================================= */
.ogcc-nav-link,
.ogcc-google-svc{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-weight:500;
}

.ogcc-nav-link span,
.ogcc-google-svc span{
  font-weight:inherit;
}

/* tighter line spacing */
.ogcc-nav-link,
.ogcc-google-svc{
  padding:4px 10px;
  line-height:1.15;
}

/* indent all links inside sections to match “Google cards” feel */
.ogcc-nav-section__content .ogcc-nav{
  padding-left:8px;
  padding-right:2px;
}

/* Google status badge on right */
.ogcc-nav-status{
  margin-left:auto;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(28,38,34,.60);
}
.ogcc-nav-status.is-ok{ color:rgba(31,111,139,.90); }
.ogcc-nav-status.is-off{ color:rgba(28,38,34,.55); }

/* Toggle chevron always pinned to far right */
.ogcc-nav-section__label{ flex:1; }
.ogcc-nav-section__chev{ margin-left:auto; }


/* ============================================================
   NAV DENSITY + TYPOGRAPHY (v1.5.4)
   Goals:
   - Links: smaller, uppercase, not bold
   - Section headers: clearly distinct (smaller + muted + letter-spaced)
   - Indentation: ONLY for children (not all links)
   - Consistent left alignment + toggle chevron pinned right
   ============================================================ */

/* Link styling */
.ogcc-nav a{
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 5px 10px;
}

/* Ensure section headers look different than links */
.ogcc-nav-title{
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 10px;
  font-weight: 700;
  color: rgba(28,38,34,.55);
  margin: 6px 10px 4px;
  text-align: left;
}

/* If section headers are buttons/summary rows */
.ogcc-nav-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 7px 10px;
}
.ogcc-nav-summary .ogcc-nav-summary__label{
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 10px;
  font-weight: 700;
  color: rgba(28,38,34,.55);
}
.ogcc-nav-summary .ogcc-nav-summary__chev{
  margin-left:auto;
  opacity:.65;
}

/* Remove accidental global indentation; indent only nested lists */
.ogcc-nav ul,
.ogcc-nav li{ margin:0; padding:0; list-style:none; }

.ogcc-nav > ul > li > a{ padding-left: 10px; }
.ogcc-nav ul ul > li > a{ padding-left: 22px; } /* children */
.ogcc-nav ul ul ul > li > a{ padding-left: 34px; } /* grandchildren */

/* Make left-side dots/icons not push the whole row */
.ogcc-nav .ogcc-nav-ico{
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  opacity: .75;
}

/* Google status pill on right (used for "GOOGLE" row) */
.ogcc-nav-status{
  margin-left:auto;
  font-size:10px;
  letter-spacing:.12em;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(28,38,34,.06);
  color: rgba(28,38,34,.70);
}

/* Keep google service rows consistent with other links */
.ogcc-nav .google-meta{
  font-size: 11px;
  color: rgba(28,38,34,.60);
  margin-top: 2px;
  letter-spacing: 0;
  text-transform:none;
}

/* Tighten vertical rhythm overall */
.ogcc-nav{ gap:0; }
.ogcc-sidebar-inner{ padding:10px; }


/* ============================================================
   NAV: small caps links + distinct section headers (v1.5.6)
   ============================================================ */

/* Section header button (PORTAL / FACILITY / FINANCIALS / GOOGLE) */
.ogcc-nav-section__toggle{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100%;
  gap:10px;
  padding: 6px 10px !important;
}

.ogcc-nav-section__label{
  display:flex;
  align-items:center;
  gap:8px;
  text-transform: uppercase !important;
  letter-spacing: .22em !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  color: rgba(28,38,34,.55) !important;
}

/* Right-side status pill (Google) */
.ogcc-nav-status{
  margin-left:auto;
  font-size: 9px !important;
  letter-spacing: .14em !important;
  padding: 2px 6px !important;
  border-radius: 999px;
  background: rgba(28,38,34,.06);
  color: rgba(28,38,34,.70);
}
.ogcc-nav-status.is-ok{ background: rgba(63,125,74,.14); color: rgba(20,90,114,.95); }
.ogcc-nav-status.is-off{ background: rgba(180,35,24,.10); color: rgba(180,35,24,.95); }

.ogcc-nav-section__chev{
  margin-left:10px;
  opacity:.65;
}

/* Links */
.ogcc-nav a{
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
  padding: 4px 10px !important;
}

/* Ensure labels inside links stay readable */
.ogcc-nav-label{
  letter-spacing: .10em;
}

/* Spacing: tighter between rows */
.ogcc-nav{ gap:0 !important; }
.ogcc-sidebar-inner{ padding:10px !important; }

/* Only indent nested lists (keep top-level aligned) */
.ogcc-nav ul ul a{ padding-left: 22px !important; }
.ogcc-nav ul ul ul a{ padding-left: 34px !important; }


/* ============================================================
   SECTION TOGGLE ALIGNMENT (v1.5.7)
   - Status pill on RIGHT
   - Chevron pinned far right
   - Label takes remaining width
   ============================================================ */
.ogcc-nav-section__toggle{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.ogcc-nav-section__label{
  flex: 1 1 auto;
  text-align:left;
}
.ogcc-nav-section__chev{ margin-left: 8px; }

.ogcc-nav-section__toggle .ogcc-nav-status{ margin-left:auto; }


/* ============================================================
   GOOGLE HEADER DOT (v1.5.8)
   - Remove LEFT indicator dot on GOOGLE header
   - Show RIGHT dot status (no OFF/ON pill text)
   - Keep links unchanged
   ============================================================ */

/* Hide the left dot ONLY for Google section header */
.ogcc-nav-section--google .ogcc-nav-section__dot{
  display:none !important;
}

/* Right-side status dot (replaces OFF pill) */
.ogcc-nav-status--dot{
  width:10px;
  height:10px;
  padding:0 !important;
  border-radius:999px;
  display:inline-block;
  background: rgba(28,38,34,.20);
}
.ogcc-nav-status--dot.is-ok{ background: rgba(63,125,74,.85) !important; }
.ogcc-nav-status--dot.is-off{ background: rgba(180,35,24,.85) !important; }

/* Headers bigger than links */
.ogcc-nav-title,
.ogcc-nav-section__label{
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
}


/* ============================================================
   NAV ALIGNMENT NORMALIZATION (v1.5.9)
   Fix: GOOGLE + PORTAL link rows offset vs other sections.
   - Remove section content left padding/margins
   - Standardize left dot/icon gutter widths so labels align
   - Do NOT change typography or link padding rules
   ============================================================ */
.ogcc-nav-section__content{ padding-left:0 !important; margin-left:0 !important; }
.ogcc-nav-section__content ul{ padding-left:0 !important; margin-left:0 !important; }
.ogcc-nav-section__content li{ margin-left:0 !important; }

/* Ensure every nav row uses the same flex layout */
.ogcc-nav-item,
.ogcc-nav a{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
}

/* Standardize any dot/icon element width so text starts at same x */
.ogcc-nav-section__dot,
.ogcc-status-dot,
.ogcc-nav-ico{
  width:12px !important;
  height:12px !important;
  flex:0 0 12px !important;
  margin:0 8px 0 0 !important;
}

/* If some sections wrap links in a padded container (Google/Portal), flatten it */
.ogcc-nav .ogcc-nav-section__content > div{
  padding-left:0 !important;
  margin-left:0 !important;
}



/* Dropdown footer actions (Disconnect | Log Out) */
.ogcc-dd-footer{
  margin-top: 6px;
  padding: 10px 12px 6px;
  border-top: 1px solid var(--ogcc-border, rgba(28,38,34,.14));
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  align-items: center;
}

.ogcc-dd-footlink{
  font-size: 12px;
  font-weight: 700;
  color: var(--ogcc-muted, #5f6f67);
  text-decoration: none;
  padding: 6px 6px;
  border-radius: 10px;
}

.ogcc-dd-footlink:hover{
  background: rgba(31,111,139,.10);
  color: var(--ogcc-ink, #1c2622);
}

.ogcc-dd-sep{
  color: var(--ogcc-border, rgba(28,38,34,.30));
  font-weight: 700;
  user-select: none;
}


/* === Dropdown polish (safe for <details>) === */
.ogcc-dd-card{
  transform: translateY(-6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
  transform-origin: top right;
  border-radius: 16px;
  box-shadow: 0 14px 36px rgba(0,0,0,.14);
}
.ogcc-user-dd[open] .ogcc-dd-card{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}


  
  
  

  /* =========================================================
   OGCC GLOBAL MODEL TABS COMPONENT
   Source of Truth: Portal Core / Portal Shell
   Class Contract:
     Container: .ogcc-model-tabs
     Tab:       .ogcc-model-tab
   ========================================================= */

.ogcc-model-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:6px;
  margin:8px 0 12px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:999px;
  background:rgba(255,255,255,.65);
  backdrop-filter:saturate(1.1) blur(6px);
  -webkit-backdrop-filter:saturate(1.1) blur(6px);
}

.ogcc-model-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid transparent;
  text-decoration:none;
  white-space:nowrap;
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--ogcc-ocean, #0b4ea2);
  background:transparent;
  opacity:.88;
  transition:background .12s ease, border-color .12s ease, opacity .12s ease, transform .12s ease;
}

.ogcc-model-tab:hover{
  opacity:1;
  border-color:rgba(11,78,162,.28);
  background:rgba(11,78,162,.06);
  transform:translateY(-1px);
}

.ogcc-model-tab.active,
.ogcc-model-tab[aria-selected="true"]{
  opacity:1;
  border-color:rgba(11,78,162,.38);
  background:#ffffff;
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 24px rgba(0,0,0,.06);
}

.ogcc-model-tab:focus{
  outline:none;
}

.ogcc-model-tab:focus-visible{
  outline:2px solid rgba(11,78,162,.35);
  outline-offset:2px;
}

@media (max-width:680px){
  .ogcc-model-tabs{gap:6px;padding:5px;}
  .ogcc-model-tab{height:28px;padding:0 10px;font-size:10px;}
}







/* Global KPI Layout */

.ogcc-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}

.ogcc-kpi {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ogcc-kpi .v {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
}

.ogcc-kpi .k {
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .6;
}

.ogcc-kpi .s {
  font-size: 12px;
  opacity: .5;
}


/* Harvest specific 5-wide KPI layout */
.ogcc-kpis-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

@media (max-width: 1400px) {
  .ogcc-kpis-5 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .ogcc-kpis-5 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .ogcc-kpis-5 {
    grid-template-columns: 1fr;
  }
}



/* ---- Table-embedded inputs (common in OGCC pages) ---- */
.ogcc-table input[type="text"],
.ogcc-table input[type="number"],
.ogcc-table select{
  width:100%;
  padding:7px 10px;
  font-size:13px;
  border-radius:10px;
}

/* ---- WordPress admin-ish notices inside front-end cards ---- */
.ogcc-form .notice,
.ogcc-form .updated,
.ogcc-form .error{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.85);
  

  
/* WIZARD STYLE */


/* =========================================================
   OGCC WIZARD (HARVEST)
========================================================= */

/* =========================
   OGCC HARVEST WIZARD
========================= */

.ogcc-wizard-nav{
  display:flex;
  gap:32px;
  margin-bottom:18px;
}

.ogcc-wizard-link{
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  color:#6b7280;
  background:none !important;
  border:none !important;
  padding:0 !important;
}

.ogcc-wizard-link.active{
  color:#0d3b66;
}

.wizard-step-num{
  display:inline-block;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#e5e7eb;
  text-align:center;
  line-height:22px;
  font-size:12px;
  margin-right:6px;
}

.ogcc-wizard-link.active .wizard-step-num{
  background:#0d3b66;
  color:#fff;
}

.ogcc-wizard-divider{
  height:1px;
  background:rgba(0,0,0,.06);
  margin-bottom:20px;
}

.wizard-guide{
  margin-bottom:18px;
  color:#6b7280;
  font-size:14px;
}

.wizard-checkbox{
  display:block;
  margin-bottom:8px;
}

.wizard-field{
  margin-bottom:14px;
}

.wizard-field label{
  display:block;
  font-weight:600;
  margin-bottom:4px;
}

.wizard-actions{
  display:flex;
  justify-content:space-between;
  margin-top:24px;
}

.wizard-back{
  text-decoration:none;
  color:#6b7280;
}

.wizard-next{
  background:#0d3b66;
  color:#fff;
  border:none;
  padding:10px 18px;
  border-radius:6px;
  cursor:pointer;
}





.ogcc-section-header h2{
  margin-bottom:6px;
}

.ogcc-section-sub{
  opacity:.75;
  font-size:14px;
  margin-bottom:18px;
}

.ogcc-info-box{
  background:#f4f7fa;
  border-left:4px solid var(--ogcc-ocean);
  padding:14px 16px;
  border-radius:6px;
  margin-bottom:20px;
  font-size:14px;
}

.ogcc-room-selector{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.ogcc-room-card{
  display:flex;
  gap:14px;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:10px;
  cursor:pointer;
  transition:.2s ease;
  align-items:flex-start;
}

.ogcc-room-card:hover{
  background:#fafcff;
  border-color:rgba(0,0,0,.18);
}

.ogcc-room-card input{
  margin-top:4px;
}

.ogcc-room-title{
  font-weight:600;
  font-size:16px;
  margin-bottom:4px;
}

.ogcc-room-meta{
  display:flex;
  gap:16px;
  font-size:13px;
  opacity:.7;
}

.ogcc-form-actions{
  margin-top:20px;
}


/* Wizard Progress Bar */

.ogcc-wizard-progress{
  display:flex;
  gap:12px;
  margin-bottom:20px;
}

.ogcc-wizard-step{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  text-decoration:none;
  font-size:13px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:inherit;
  transition:.2s ease;
}

.ogcc-wizard-step:hover{
  border-color:rgba(0,0,0,.18);
}

.ogcc-wizard-step.is-active{
  background:var(--ogcc-ocean);
  color:#fff;
  border-color:var(--ogcc-ocean);
}

.ogcc-wizard-step.is-complete{
  background:rgba(0,0,0,.05);
}

.ogcc-step-number{
  width:22px;
  height:22px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:600;
  background:rgba(0,0,0,.08);
}

.ogcc-wizard-step.is-active .ogcc-step-number{
  background:#fff;
  color:var(--ogcc-ocean);
}

/* =========================================================
   COMPACT PORTAL RESET (v1.6.2)
   Shell-only density pass scoped to the app wrapper so plugin
   layouts are not restyled page by page.
   ========================================================= */
.ogcc-app--compact{
  --ogcc-header-h:50px;
  --ogcc-sidebar-w:196px;
  --ogcc-radius:14px;
  --ogcc-radius-sm:10px;
  --ogcc-shadow-sm:0 8px 22px rgba(15,23,42,.06);
  --ogcc-shadow:0 16px 40px rgba(15,23,42,.08);
}

.ogcc-app--compact,
.ogcc-app--compact button,
.ogcc-app--compact input,
.ogcc-app--compact select,
.ogcc-app--compact textarea{
  font-size:14px;
}

.ogcc-app--compact .ogcc-header{
  background:rgba(255,255,255,.96);
}

.ogcc-app--compact .ogcc-header-inner{
  padding:5px 12px;
  gap:8px;
}

.ogcc-app--compact .ogcc-brand-logo img,
.ogcc-app--compact .ogcc-brand-logo svg{
  height:28px;
  width:auto;
}

.ogcc-app--compact .ogcc-brand-mark{
  width:28px;
  height:28px;
}

.ogcc-app--compact .ogcc-brand-name{
  font-size:11px;
  letter-spacing:.04em;
  max-width:300px;
}

.ogcc-app--compact .ogcc-datetime,
.ogcc-app--compact .ogcc-user-trigger,
.ogcc-app--compact .ogcc-adminbar-toggle-icon{
  height:30px;
}

.ogcc-app--compact .ogcc-datetime{
  padding:0 8px;
  font-size:10px;
  letter-spacing:.12em;
}

.ogcc-app--compact .ogcc-user-trigger{
  gap:8px;
  padding:0 10px 0 12px;
}

.ogcc-app--compact .ogcc-user-name{
  font-size:10px;
  letter-spacing:.12em;
}

.ogcc-app--compact .ogcc-avatar{
  width:30px;
  height:30px;
}

.ogcc-app--compact .ogcc-sidebar{
  width:var(--ogcc-sidebar-w);
}

.ogcc-app--compact .ogcc-sidebar-inner{
  padding:6px 4px 10px;
}

.ogcc-app--compact .ogcc-main{
  background:#f4f6f7;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner{
  padding:8px 10px 12px;
}

.ogcc-app--compact .ogcc-card{
  padding:12px 14px;
  border-radius:12px;
  box-shadow:var(--ogcc-shadow-sm);
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-content-card,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner > .ogcc-card,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-dash-wrap .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-account-wrap .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-users-wrap .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-sub-cardui .ogcc-card:first-of-type,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-docs-card,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-docs-wrap .ogcc-card:first-of-type{
  box-shadow:var(--ogcc-shadow-sm);
  border-color:rgba(15,23,42,.08);
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-content-card::before,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner > .ogcc-card::before,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-dash-wrap .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-account-wrap .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-users-wrap .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-sub-cardui .ogcc-card:first-of-type::before,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-docs-card::before,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner .ogcc-docs-wrap .ogcc-card:first-of-type::before{
  display:none;
}

.ogcc-app--compact .ogcc-page-head{
  margin:0 0 10px;
  padding:0 0 8px;
  border-bottom:1px solid rgba(15,23,42,.08);
}

.ogcc-app--compact .ogcc-page-title{
  margin:0 0 3px;
  font-size:24px;
  line-height:1.04;
}

.ogcc-app--compact .ogcc-breadcrumbs{
  font-size:11px;
  line-height:1.3;
}

.ogcc-app--compact .ogcc-page-desc{
  margin-top:4px;
  font-size:12px;
  color:rgba(28,38,34,.66);
}

.ogcc-app--compact .ogcc-nav-section{
  margin:0 0 6px;
}

.ogcc-app--compact .ogcc-nav-section__toggle{
  padding:3px 6px 3px !important;
}

.ogcc-app--compact .ogcc-nav-section__label{
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  color:rgba(28,38,34,.52) !important;
}

.ogcc-app--compact .ogcc-nav-section__toggle::after{
  margin-top:4px;
}

.ogcc-app--compact .ogcc-nav{
  gap:2px !important;
}

.ogcc-app--compact .ogcc-nav-link,
.ogcc-app--compact .ogcc-nav a{
  min-height:28px;
  padding:4px 6px !important;
  gap:8px;
  border-radius:10px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:650 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
}

.ogcc-app--compact .ogcc-nav-link.is-active,
.ogcc-app--compact .ogcc-nav a.is-active{
  background:rgba(31,111,139,.09) !important;
  border-color:rgba(31,111,139,.22) !important;
}

.ogcc-app--compact .ogcc-dot{
  width:7px !important;
  height:7px !important;
  flex:0 0 7px !important;
  margin-right:0 !important;
}

.ogcc-app--compact .ogcc-nav-prefix{
  flex:0 0 auto;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  color:rgba(28,38,34,.52);
}

.ogcc-app--compact .ogcc-nav-label{
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ogcc-app--compact .ogcc-nav-launch{
  flex:0 0 auto;
  font-size:10px;
  color:rgba(28,38,34,.46);
}

.ogcc-app--compact .ogcc-nav-link[data-readiness="waiting_on_upstream"] .ogcc-dot{
  background:#c9a227;
}

.ogcc-app--compact .ogcc-nav-link[data-readiness="in_progress"] .ogcc-dot{
  background:#1f6f8b;
}

.ogcc-app--compact .ogcc-nav-link[data-readiness="ready"] .ogcc-dot,
.ogcc-app--compact .ogcc-nav-link[data-readiness="complete"] .ogcc-dot{
  background:#3f7d4a;
}

.ogcc-app--compact .ogcc-model-tabs{
  gap:4px;
  padding:4px;
  margin:4px 0 8px;
}

.ogcc-app--compact .ogcc-model-tab{
  height:26px;
  padding:0 9px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.08em;
}

.ogcc-app--compact .ogcc-btn,
.ogcc-app--compact .ogcc-dash-btn{
  padding:8px 13px;
  font-size:10px;
  letter-spacing:.12em;
}

.ogcc-app--compact .ogcc-pill{
  height:18px;
  padding:0 7px;
  font-size:10px;
}

.ogcc-app--document .ogcc-shell{
  display:block;
}

.ogcc-app--document .ogcc-header{
  border-bottom:1px solid rgba(15,23,42,.06);
  backdrop-filter:blur(8px);
}

body.ogcc-portal-shell .ogcc-app--document .ogcc-main-inner{
  max-width:1180px;
  padding:20px 28px 32px;
}

.ogcc-app--document .ogcc-page-content--document{
  width:100%;
}

.ogcc-app--document .ogcc-main--document{
  background:#fbfbfa;
}

@media (max-width: 980px){
  .ogcc-app--compact{
    --ogcc-sidebar-w:188px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner{
    padding:8px 10px 12px;
  }

  .ogcc-app--compact .ogcc-brand-name{
    max-width:220px;
  }

  body.ogcc-portal-shell .ogcc-app--document .ogcc-main-inner{
    padding:14px 16px 24px;
  }
}

/* =========================================================
   DASHBOARD DENSITY OVERRIDES (Shell-owned)
   Pushes the dashboard toward a true "zoomed out" operating
   console without editing the dashboard plugin files.
   ========================================================= */
body.ogcc-portal-shell .ogcc-app--compact{
  --ogcc-header-h:48px;
  --ogcc-sidebar-w:184px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-header-inner{
  padding:4px 10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-sidebar-inner{
  padding:5px 4px 10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-link,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav a{
  min-height:26px;
  padding:3px 6px !important;
  font-size:10.5px !important;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-section{
  margin:0 0 5px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-section__label{
  font-size:8.5px !important;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner{
  padding:6px 8px 10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-card{
  padding:10px 12px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-dashboard--command-center{
  border-radius:12px;
  box-shadow:0 6px 18px rgba(11,33,43,.05);
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-command{
  gap:8px;
  padding:8px 10px 10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero{
  grid-template-columns:minmax(0, 1.8fr) minmax(220px, .8fr);
  gap:8px;
  padding:10px 12px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero::after{
  inset:auto 12px 0;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-kicker,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-section-kicker{
  font-size:10px;
  letter-spacing:.14em;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-title{
  margin:1px 0 3px;
  font-size:clamp(16px, 1.45vw, 19px);
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-section-title{
  margin:3px 0 4px;
  font-size:clamp(16px, 1.4vw, 20px);
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-text,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-section-copy,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-meta,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-note,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-purpose,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-line,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-next p,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-tile-kpi,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-tile-sub{
  font-size:11px;
  line-height:1.32;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-meta{
  gap:5px;
  margin-top:6px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-chip{
  padding:3px 8px;
  font-size:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-cta{
  gap:6px;
  padding:9px 11px;
  border-radius:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-cta-label,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-next span,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-line span,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-progress-step-status{
  font-size:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-cta-title{
  font-size:14px;
  line-height:1.12;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-cta-meta{
  font-size:11px;
  line-height:1.3;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero-cta-button,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-button{
  min-height:30px;
  padding:0 10px;
  font-size:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-grid{
  gap:6px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-grid--compact{
  grid-template-columns:repeat(7, minmax(0, 1fr));
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-card{
  gap:3px;
  min-height:60px;
  padding:8px 9px;
  border-radius:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-card--scenario{
  min-height:60px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-title{
  font-size:9px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-value,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-card--scenario .ogcc-home-summary-value,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-card--scenario .ogcc-scenario-switcher__active-name{
  font-size:11px;
  line-height:1.2;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-card--scenario .ogcc-scenario-switcher__toggle{
  min-height:32px;
  padding:6px 8px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-progress-flow{
  gap:6px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-progress-step{
  gap:5px;
  padding:7px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-progress-step-num{
  flex:0 0 22px;
  width:22px;
  height:22px;
  font-size:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-progress-step-title{
  font-size:11px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-progress-step-meta{
  font-size:10px;
  line-height:1.35;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-tiles-grid--pages{
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:8px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-tile{
  gap:8px;
  min-height:72px;
  padding:10px;
  border-radius:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-tile-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:9px;
  font-size:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile{
  gap:5px;
  min-height:112px;
  padding:9px;
  border-radius:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-step,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-status{
  min-height:21px;
  padding:0 7px;
  font-size:10px;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-title{
  font-size:14px;
  line-height:1.08;
}

body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-summary,
body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-tile-next-inline{
  font-size:10px;
  line-height:1.35;
}

@media (max-width: 1500px){
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-summary-grid--compact{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-tiles-grid--pages{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-workflow-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1100px){
  body.ogcc-portal-shell .ogcc-app--compact{
    --ogcc-sidebar-w:176px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-home-hero{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   ULTRA COMPACT DESKTOP PASS (v1.6.5)
   A stronger desktop-only density step for the portal shell.
   ========================================================= */
@media (min-width: 1101px){
  body.ogcc-portal-shell .ogcc-app--compact{
    --ogcc-header-h:44px;
    --ogcc-sidebar-w:166px;
    --ogcc-radius:11px;
    --ogcc-radius-sm:8px;
  }

  body.ogcc-portal-shell .ogcc-app--compact,
  body.ogcc-portal-shell .ogcc-app--compact button,
  body.ogcc-portal-shell .ogcc-app--compact input,
  body.ogcc-portal-shell .ogcc-app--compact select,
  body.ogcc-portal-shell .ogcc-app--compact textarea{
    font-size:13px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-header-inner{
    padding:3px 8px;
    gap:6px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-brand-logo img,
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-brand-logo svg,
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-brand-mark{
    height:24px;
    width:auto;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-brand-mark{
    width:24px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-brand-name{
    font-size:10px;
    max-width:250px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-datetime,
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-user-trigger,
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-adminbar-toggle-icon{
    height:26px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-datetime{
    padding:0 7px;
    font-size:9px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-user-trigger{
    padding:0 8px;
    gap:6px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-user-name{
    font-size:9px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-avatar{
    width:26px;
    height:26px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-sidebar-inner{
    padding:4px 3px 8px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-main-inner{
    padding:4px 6px 8px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-card{
    padding:8px 9px;
    border-radius:11px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-page-head{
    margin:0 0 8px;
    padding:0 0 6px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-page-title{
    font-size:20px;
    line-height:1;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-page-desc,
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-breadcrumbs{
    font-size:10px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-section{
    margin:0 0 4px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-section__toggle{
    padding:2px 5px 2px !important;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-section__label{
    font-size:8px !important;
    letter-spacing:.15em !important;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-link,
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav a{
    min-height:24px;
    padding:2px 5px !important;
    gap:6px;
    border-radius:8px !important;
    font-size:9.5px !important;
    line-height:1.1 !important;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-dot{
    width:6px !important;
    height:6px !important;
    flex:0 0 6px !important;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-prefix,
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-nav-launch{
    font-size:9px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-model-tabs{
    gap:3px;
    padding:3px;
    margin:3px 0 6px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-model-tab{
    height:24px;
    padding:0 8px;
    font-size:10px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-btn,
  body.ogcc-portal-shell .ogcc-app--compact .ogcc-dash-btn{
    padding:7px 11px;
    font-size:9px;
  }

  body.ogcc-portal-shell .ogcc-app--compact .ogcc-pill{
    height:16px;
    padding:0 6px;
    font-size:9px;
  }
}
