/* CIVADELIA_INSTITUTION_WORKSPACE_V3
   Reference-inspired authenticated shell polish. Loaded after tenant-shell CSS. */

:root {
  --civ-v3-shell-bg:#f4f7f6;
  --civ-v3-sidebar:#18292f;
  --civ-v3-sidebar-deep:#122229;
  --civ-v3-border:#dfe7e3;
  --civ-v3-soft:#f8faf9;
  --civ-v3-text:#17231f;
  --civ-v3-muted:#66756f;
}

body.co-ui-v1 {
  background:var(--civ-v3-shell-bg);
}

/* White Civadelia apple tile: deliberately stronger than tenant-shell overrides. */
body.co-ui-v1 .co-brand-mark,
body.co-ui-v1 .co-brand-mark-scholark {
  background:#fff !important;
  border:1px solid rgba(255,255,255,.82) !important;
  box-shadow:0 2px 10px rgba(8,24,20,.18) !important;
  padding:3px !important;
  overflow:hidden !important;
}
body.co-ui-v1 .co-brand-mark img,
body.co-ui-v1 .co-brand-mark-scholark img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:#fff !important;
  border-radius:6px !important;
}

body.co-ui-v1 .co-sidebar {
  background:linear-gradient(180deg,var(--civ-v3-sidebar) 0%,var(--civ-v3-sidebar-deep) 100%) !important;
  box-shadow:1px 0 0 rgba(8,25,20,.12);
}
body.co-ui-v1 .co-sidebar-brand {
  min-height:68px;
  height:68px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.co-ui-v1 .co-brand-copy strong { font-size:13px; letter-spacing:.01em; }
body.co-ui-v1 .co-brand-copy small { color:rgba(255,255,255,.58); }
body.co-ui-v1 .co-side-group-label { color:rgba(255,255,255,.46); letter-spacing:.095em; }
body.co-ui-v1 .co-side-nav a {
  min-height:36px;
  border-radius:7px;
  margin:1px 7px;
  padding-inline:10px;
  color:rgba(255,255,255,.78);
}
body.co-ui-v1 .co-side-nav a:hover { background:rgba(255,255,255,.065); color:#fff; }
body.co-ui-v1 .co-side-nav a.is-active {
  background:color-mix(in srgb,var(--co-tenant-primary,#1f7a5a) 78%,#14332a 22%) !important;
  color:#fff !important;
  box-shadow:inset 3px 0 0 rgba(255,255,255,.64) !important;
}

body.co-ui-v1 .co-sidebar-institution {
  background:rgba(255,255,255,.055) !important;
  border-color:rgba(255,255,255,.10) !important;
  border-radius:9px !important;
}
body.co-ui-v1 .co-tenant-emblem,
body.co-ui-v1 .co-active-tenant-emblem {
  background:#fff !important;
  border-color:#e5ebe8 !important;
  overflow:hidden;
}
body.co-ui-v1 .co-tenant-emblem img,
body.co-ui-v1 .co-active-tenant-emblem img {
  background:#fff !important;
  object-fit:contain !important;
  padding:2px;
}

body.co-ui-v1 .co-app-frame { background:var(--civ-v3-shell-bg); }
body.co-ui-v1 .co-topbar {
  height:68px;
  background:rgba(255,255,255,.985) !important;
  border-bottom:1px solid var(--civ-v3-border) !important;
  box-shadow:0 1px 0 rgba(18,39,32,.025);
}
body.co-ui-v1 .co-context-title strong { font-size:14px; color:#1e2b27; }
body.co-ui-v1 .co-context-title small { color:#7a8782; }
body.co-ui-v1 .co-active-tenant {
  border:1px solid #e3e9e6;
  background:#fff;
  border-radius:9px;
  padding:5px 8px;
}
body.co-ui-v1 .co-active-tenant-copy small { color:#87928e; }
body.co-ui-v1 .co-active-tenant-copy strong { color:#23312c; }
body.co-ui-v1 .co-search-wrap { border-color:#e0e7e4; background:#fafcfb; border-radius:8px; }

body.co-ui-v1 .co-main { background:var(--civ-v3-shell-bg); }
body.co-ui-v1 .co-page {
  width:min(100% - 34px,1440px);
  margin:0 auto;
  padding:26px 0 46px !important;
}
body.co-ui-v1 .co-page-header {
  align-items:center;
  margin-bottom:18px;
}
body.co-ui-v1 .co-page-kicker {
  font-size:10px;
  letter-spacing:.105em;
  color:var(--co-tenant-primary,#1f7a5a);
  font-weight:800;
}
body.co-ui-v1 .co-page-header h1 {
  font-size:clamp(26px,2.45vw,34px) !important;
  font-weight:780;
  letter-spacing:-.035em;
  color:var(--civ-v3-text);
  margin-top:3px;
}
body.co-ui-v1 .co-page-header p { font-size:12px; color:var(--civ-v3-muted); }
body.co-ui-v1 .co-btn { border-radius:7px; min-height:38px; box-shadow:none; }
body.co-ui-v1 .co-btn.primary {
  background:var(--co-tenant-primary,#1f7a5a) !important;
  border-color:var(--co-tenant-primary,#1f7a5a) !important;
}

/* ManageBac-like compact action row. */
body.co-ui-v1 .co-action-strip {
  gap:10px;
  margin-bottom:12px;
}
body.co-ui-v1 .co-action-tile {
  min-height:76px;
  padding:13px 14px;
  border:1px solid var(--civ-v3-border);
  border-radius:8px !important;
  background:#fff;
  box-shadow:0 1px 3px rgba(24,44,37,.035);
}
body.co-ui-v1 .co-action-tile:hover {
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--co-tenant-primary,#1f7a5a) 28%,#dfe7e3 72%);
  box-shadow:0 5px 16px rgba(22,43,35,.07);
}
body.co-ui-v1 .co-action-icon {
  border-radius:7px !important;
  background:color-mix(in srgb,var(--co-tenant-primary,#1f7a5a) 9%,#fff 91%) !important;
  color:var(--co-tenant-primary,#1f7a5a) !important;
}
body.co-ui-v1 .co-action-tile strong { font-size:12px; }
body.co-ui-v1 .co-action-tile small { color:#7a8782; font-size:10px; }

body.co-ui-v1 .co-stat-row {
  gap:0;
  border:1px solid var(--civ-v3-border);
  border-radius:8px !important;
  box-shadow:0 1px 3px rgba(24,44,37,.025);
  margin-bottom:14px;
}
body.co-ui-v1 .co-stat {
  min-height:76px;
  padding:13px 15px;
  background:#fff;
}
body.co-ui-v1 .co-stat strong { font-size:22px; color:#1b2a25; }
body.co-ui-v1 .co-stat span { color:#68756f; }
body.co-ui-v1 .co-stat small { color:#8b9692; }

body.co-ui-v1 .co-panel {
  border:1px solid var(--civ-v3-border) !important;
  border-radius:8px !important;
  box-shadow:0 1px 4px rgba(24,44,37,.035) !important;
  background:#fff;
  overflow:hidden;
}
body.co-ui-v1 .co-panel-head {
  min-height:46px;
  border-bottom:1px solid #edf1ef;
  padding:0 15px;
}
body.co-ui-v1 .co-panel-head h2 { font-size:13px; color:#20302a; }
body.co-ui-v1 .co-panel-head > a { font-size:10px; font-weight:700; }
body.co-ui-v1 .co-panel-body { padding:14px 15px; }
body.co-ui-v1 .co-dashboard-lower { gap:12px; }
body.co-ui-v1 .co-dashboard-stack { gap:12px; }
body.co-ui-v1 .co-course-item,
body.co-ui-v1 .co-course-item-v3 {
  min-height:62px;
  border-bottom:1px solid #edf1ef;
  background:#fff;
}
body.co-ui-v1 .co-course-item:hover { background:#f8fbf9; }
body.co-ui-v1 .co-course-code {
  border-radius:6px;
  background:color-mix(in srgb,var(--co-tenant-primary,#1f7a5a) 10%,#fff 90%);
  color:var(--co-tenant-primary,#1f7a5a);
}
body.co-ui-v1 .co-snapshot-row { border-color:#edf1ef; }

/* Calendar cards inherit the same restrained workspace language. */
body.co-ui-v1 [class*="calendar"] .co-panel,
body.co-ui-v1 .co-calendar-shell,
body.co-ui-v1 .co-two-week-calendar {
  border-radius:8px !important;
}

body.co-ui-v1 .co-footer {
  background:transparent;
  border-top:1px solid #e5ebe8;
  color:#7b8782;
}

@media (max-width:980px) {
  body.co-ui-v1 .co-page { width:min(100% - 24px,1440px); }
  body.co-ui-v1 .co-topbar { height:62px; }
}
@media (max-width:640px) {
  body.co-ui-v1 .co-page { width:min(100% - 18px,1440px); padding-top:18px !important; }
  body.co-ui-v1 .co-page-header h1 { font-size:25px !important; }
  body.co-ui-v1 .co-action-strip { grid-template-columns:1fr 1fr !important; }
}
@media (max-width:430px) {
  body.co-ui-v1 .co-action-strip { grid-template-columns:1fr !important; }
}
