/* Corporate CSS that preserves old homepage completely */
:root {
  --corp-ink: #0F172A;
  --corp-ink-2: #334155;
  --corp-slate: #64748B;
  --corp-slate-light: #94A3B8;
  --corp-border: #E2E8F0;
  --corp-border-strong: #CBD5E1;
  --corp-bg: #F8FAFC;
  --corp-card: #FFFFFF;
  --corp-blue: #2563EB;
  --corp-blue-dark: #1D4ED8;
  --corp-blue-light: #EFF6FF;
  --corp-blue-border: #BFDBFE;
  --corp-radius: 12px;
  --corp-radius-lg: 16px;
  --corp-shadow-sm: 0 1px 2px rgba(15,23,42,.05), 0 1px 3px rgba(15,23,42,.05);
  --corp-shadow: 0 4px 6px -1px rgba(15,23,42,.06), 0 2px 4px -2px rgba(15,23,42,.06);
  --corp-shadow-lg: 0 10px 15px -3px rgba(15,23,42,.08), 0 4px 6px -4px rgba(15,23,42,.05);
  --corp-max: 1280px;
}

/* Only apply corporate background to non-homepage */
body.corp-layout:not(.is-home) {
  background: var(--corp-bg) !important;
}

/* Topbar corporate for all pages */
body.corp-layout .topbar {
  height: 64px !important;
  background: var(--corp-card) !important;
  border-bottom: 1px solid var(--corp-border) !important;
  box-shadow: var(--corp-shadow-sm) !important;
}

/* Hide rail for all */
body.corp-layout .rail { display: none !important; }

/* Corporate frame ONLY for non-homepage */
body.corp-layout:not(.is-home) .frame {
  display: block !important;
  max-width: var(--corp-max) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  min-height: calc(100vh - 64px) !important;
}
body.corp-layout:not(.is-home) .main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 24px 0 40px !important;
}
@media (max-width: 768px) {
  body.corp-layout:not(.is-home) .frame { padding: 0 16px !important; }
  body.corp-layout:not(.is-home) .main { padding: 16px 0 80px !important; }
}

/* Homepage keeps 100% original - no overrides */
body.corp-layout.is-home .frame,
body.corp-layout.is-home .main,
body.corp-layout.is-home .mhome,
body.corp-layout.is-home .dhero,
body.corp-layout.is-home .listwrap,
body.corp-layout.is-home .resultbar,
body.corp-layout.is-home .filterbar,
body.corp-layout.is-home .jh-card,
body.corp-layout.is-home .jh-rail,
body.corp-layout.is-home .co-rail,
body.corp-layout.is-home .catgrid,
body.corp-layout.is-home .sidecard {
  /* Revert to original app.css - no corporate override */
}

/* ----- Corporate Components - Only for corporate pages ----- */
.corp-filter-bar {
  background: var(--corp-card);
  border: 1px solid var(--corp-border);
  border-radius: var(--corp-radius);
  padding: 16px 20px;
  margin-bottom: 24px;
  box-shadow: var(--corp-shadow-sm);
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}
.corp-filter-bar__label {
  font-size: 12px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--corp-slate-light); white-space: nowrap;
}
.corp-filter-pills { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; flex: 1; padding-bottom: 2px; }
.corp-filter-pills::-webkit-scrollbar { display: none; }
.corp-filter-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; background: var(--corp-bg); border: 1px solid var(--corp-border);
  border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--corp-ink-2);
  white-space: nowrap; text-decoration: none !important; transition: all .15s ease;
}
.corp-filter-pill:hover { border-color: var(--corp-border-strong); background: var(--corp-card); color: var(--corp-ink); transform: translateY(-1px); }
.corp-filter-pill.is-active { background: var(--corp-ink); color: white; border-color: var(--corp-ink); }
.corp-filter-pill__count {
  background: rgba(255,255,255,.15); border-radius: 999px; padding: 1px 7px;
  font-size: 11px; font-weight: 700; min-width: 20px; text-align: center;
}
.corp-filter-pill.is-active .corp-filter-pill__count { background: rgba(255,255,255,.2); }
.corp-filter-pill:not(.is-active) .corp-filter-pill__count { background: var(--corp-bg); color: var(--corp-slate); border: 1px solid var(--corp-border); }

.co-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; margin: 0 !important; }
@media (max-width: 1200px) { .co-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 900px) { .co-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .co-grid { grid-template-columns: 1fr !important; } }

.co-card {
  background: var(--corp-card) !important; border: 1px solid var(--corp-border) !important;
  border-radius: var(--corp-radius) !important; padding: 20px !important;
  display: flex !important; flex-direction: column !important; gap: 14px !important;
  text-decoration: none !important; transition: all .2s cubic-bezier(.2,.8,.2,1) !important;
  box-shadow: var(--corp-shadow-sm) !important; height: auto !important; min-height: 168px !important;
}
.co-card:hover { border-color: var(--corp-blue-border) !important; box-shadow: var(--corp-shadow-lg) !important; transform: translateY(-2px) !important; }

/* Corporate Header */
.corp-header, .corp-jobs-header {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
  border-radius: var(--corp-radius-lg); padding: 32px 32px 28px; margin-bottom: 24px;
  color: white; position: relative; overflow: hidden;
}
.corp-header::before, .corp-jobs-header::before {
  content: ""; position: absolute; top: -50%; right: -20%; width: 60%; height: 200%;
  background: radial-gradient(circle, rgba(37,99,235,.15) 0%, transparent 70%); pointer-events: none;
}
.corp-header__main, .corp-jobs-header__main { position:relative; z-index:1; }
.corp-header__eyebrow, .corp-jobs-header__eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #93C5FD; margin-bottom: 10px; }
.corp-header__title, .corp-jobs-header__title { font-size: 30px; font-weight: 800; letter-spacing: -.03em; line-height: 1.1; margin:0 0 10px; color:white; }
.corp-header__sub, .corp-jobs-header__sub { font-size: 14.5px; line-height: 1.6; color: #CBD5E1; max-width: 640px; margin:0; }
.corp-header__stats, .corp-jobs-header__actions { display:flex; gap:12px; margin-top:18px; flex-wrap:wrap; }
.corp-stat { background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius: 10px; padding:10px 14px; backdrop-filter: blur(8px); }
.corp-stat b { display:block; font-size:20px; font-weight:800; line-height:1; color:white; }
.corp-stat span { font-size:11.5px; color:#94A3B8; font-weight:600; }

.corp-companies-toolbar {
  display:flex; gap:12px; align-items:center; flex-wrap:wrap;
  background: var(--corp-card); border:1px solid var(--corp-border); border-radius:12px;
  padding:14px 18px; margin-bottom:16px; box-shadow: var(--corp-shadow-sm);
}
.corp-search {
  flex:1; min-width:240px; display:flex; align-items:center; gap:10px;
  background: var(--corp-bg); border:1px solid var(--corp-border); border-radius:10px;
  padding:0 14px; height:44px; transition:.15s;
}
.corp-search:focus-within { border-color: var(--corp-blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); background:white; }
.corp-search input { flex:1; border:0; background:transparent; outline:0; font-size:14px; font-weight:500; }
.corp-co-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
@media(max-width:1200px){ .corp-co-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:900px){ .corp-co-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .corp-co-grid{grid-template-columns:1fr;} }
.corp-co-card {
  background: var(--corp-card); border:1px solid var(--corp-border); border-radius:12px;
  padding:20px; display:flex; flex-direction:column; gap:14px; text-decoration:none !important;
  box-shadow: var(--corp-shadow-sm); transition: all .2s cubic-bezier(.2,.8,.2,1); min-height:168px;
}
.corp-co-card:hover { border-color: var(--corp-blue-border); box-shadow: var(--corp-shadow-lg); transform: translateY(-2px); }
.corp-co-card__top { display:flex; gap:12px; align-items:flex-start; }
.corp-co-card__logo { width:44px; height:44px; border-radius:10px; background: var(--corp-bg); border:1px solid var(--corp-border); display:grid; place-items:center; font-weight:800; font-size:14px; color: var(--corp-slate); flex-shrink:0; }
.corp-co-card__name { font-size:14.5px; font-weight:700; line-height:1.3; color:var(--corp-ink); letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.corp-co-card__meta { font-size:12.5px; font-weight:500; color:var(--corp-slate); display:flex; align-items:center; gap:5px; margin-top:3px; }
.corp-co-card__tags { display:flex; flex-wrap:wrap; gap:6px; }
.corp-co-card__tags span { padding:4px 10px; background:var(--corp-bg); border:1px solid var(--corp-border); border-radius:999px; font-size:11.5px; font-weight:600; color:var(--corp-ink-2); white-space:nowrap; }
.corp-co-card__foot { margin-top:auto; padding-top:12px; border-top:1px solid var(--corp-border); display:flex; justify-content:space-between; align-items:center; font-size:13px; font-weight:600; color:var(--corp-blue); }
.corp-co-card__foot::after { content:"→"; transition:transform .15s; }
.corp-co-card:hover .corp-co-card__foot::after { transform:translateX(3px); }

.corp-jobs-page { display:flex; flex-direction:column; gap:0; }
.corp-jobs-search { background: var(--corp-card); border:1px solid var(--corp-border); border-radius:12px; padding:14px 18px; margin-bottom:16px; box-shadow: var(--corp-shadow-sm); }
.corp-jobs-search__fields { display:grid; grid-template-columns:1fr 180px 160px auto; gap:10px; }
@media(max-width:900px){ .corp-jobs-search__fields{grid-template-columns:1fr; } }
.corp-jobs-search__field { display:flex; align-items:center; gap:10px; background:var(--corp-bg); border:1px solid var(--corp-border); border-radius:10px; padding:0 14px; height:46px; }
.corp-jobs-search__field:focus-within { border-color:var(--corp-blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); background:white; }
.corp-jobs-search__field input, .corp-jobs-search__field select { flex:1; border:0; background:transparent; outline:0; font-size:14px; font-weight:500; }
.corp-jobs-search__btn { height:46px; padding:0 22px; background:var(--corp-ink); color:white; border:0; border-radius:10px; font-weight:700; font-size:14px; cursor:pointer; transition:.15s; }
.corp-jobs-search__btn:hover { background:var(--corp-blue); }
.corp-jobs-filters { background:var(--corp-card); border:1px solid var(--corp-border); border-radius:12px; padding:16px 20px; margin-bottom:20px; box-shadow:var(--corp-shadow-sm); display:flex; flex-direction:column; gap:12px; }
.corp-jobs-filters__row { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.corp-jobs-filters__label { font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--corp-slate-light); white-space:nowrap; min-width:110px; }
.corp-results-bar { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; padding:0 2px; }
.corp-results-bar__left { font-size:13.5px; color:var(--corp-slate); font-weight:500; }
.corp-results-bar__left b { color:var(--corp-ink); font-weight:700; }
.corp-jobs-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
@media(max-width:900px){ .corp-jobs-grid{grid-template-columns:1fr;} }
.corp-job-card {
  background:var(--corp-card); border:1px solid var(--corp-border); border-radius:12px;
  padding:20px; display:flex; flex-direction:column; gap:12px; text-decoration:none !important;
  box-shadow:var(--corp-shadow-sm); transition:all .2s ease;
}
.corp-job-card:hover { border-color:var(--corp-blue-border); box-shadow:var(--corp-shadow); transform:translateY(-1px); }

.corp-hub-page { display:flex; flex-direction:column; }
.corp-hubgrid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
@media(max-width:1000px){ .corp-hubgrid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .corp-hubgrid{grid-template-columns:1fr;} }
.corp-hubcard {
  background:var(--corp-card); border:1px solid var(--corp-border); border-radius:12px; padding:20px;
  box-shadow:var(--corp-shadow-sm); transition:all .2s; text-decoration:none !important; display:block;
}
.corp-hubcard:hover { border-color:var(--corp-blue-border); box-shadow:var(--corp-shadow); transform:translateY(-2px); }
.corp-hubcard b { display:block; font-size:15px; font-weight:700; color:var(--corp-ink); margin-bottom:6px; }
.corp-hubcard span { font-size:13px; color:var(--corp-slate); line-height:1.5; }
.corp-hubcard em { font-style:normal; display:inline-flex; margin-top:10px; font-size:12px; font-weight:700; color:var(--corp-blue); background:var(--corp-blue-light); border:1px solid var(--corp-blue-border); padding:4px 10px; border-radius:999px; }

.foot { background:var(--corp-card) !important; border-top:1px solid var(--corp-border) !important; }
.foot__in { max-width:var(--corp-max) !important; }
