:root {
  --bg: #f4f7f9;
  --panel: #ffffff;
  --line: #d9e1e7;
  --text: #1a2632;
  --muted: #526273;
  --brand: #006d77;
  --brand-dark: #00525a;
  --header-bg: #0f1720;
  --radius: 12px;
  --container-max: 1100px;
  --container-max-effective: max(var(--container-max), 1600px);
  --font-base: "Segoe UI", Tahoma, sans-serif;
  --danger: #b42318;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-base);
  color: var(--text);
  line-height: 1.55;
  background: linear-gradient(140deg, #e9f2f8 0%, var(--bg) 45%, #eef7f5 100%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  overflow-x: clip;
}
h1, h2, h3, h4 {
  letter-spacing: -0.01em;
}
h1 { font-weight: 800; }
h2 { font-weight: 760; }
h3 { font-weight: 720; }
.muted { color: var(--muted); }
.container { width: min(var(--container-max-effective), 96vw); margin: 0 auto; }
.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.site-footer {
  margin-top: 42px;
  background: linear-gradient(180deg, #0f1f33 0%, #0b1625 100%);
  color: #d8e4f1;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.footer-cta-band {
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background:
    radial-gradient(circle at top left, rgba(11, 78, 162, .28), transparent 38%),
    radial-gradient(circle at top right, rgba(255, 122, 0, .18), transparent 34%),
    linear-gradient(90deg, rgba(11, 78, 162, .12) 0%, rgba(255, 122, 0, .10) 100%);
}
.footer-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 0;
}
.footer-cta-copy {
  display: grid;
  gap: 8px;
}
.footer-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .10);
  color: #d8e7f6;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.footer-cta-inner h2 {
  margin: 0;
  font-size: 1.28rem;
  color: #ffffff;
}
.footer-cta-inner p {
  margin: 0;
  color: #d8e7f6;
}
.footer-cta-points {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.footer-cta-points span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .06);
  color: #d8e7f6;
  font-size: .78rem;
}
.footer-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.footer-main {
  padding: 20px 0 16px;
}
.footer-role-links {
  margin-bottom: 16px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  border-color: rgba(255, 255, 255, .10);
  background: rgba(255, 255, 255, .04);
}
.site-footer .footer-role-links.card {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .12);
  box-shadow: none;
}
.site-footer .footer-role-links strong {
  color: #ffffff;
}
.site-footer .footer-role-links a {
  color: #d9e8f7;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .03);
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.site-footer .footer-role-links a:hover,
.site-footer .footer-role-links a:focus-visible {
  background: rgba(11, 78, 162, .48);
  border-color: rgba(255, 255, 255, .20);
  color: #ffffff;
  text-decoration: none;
  outline: none;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: 16px;
}
.footer-brand-card,
.footer-col {
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 18px;
  background: rgba(255, 255, 255, .04);
}
.footer-brand-card {
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.03) 100%);
}
.footer-brand-tag {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #d8e7f6;
  font-size: .76rem;
  font-weight: 800;
}
.footer-grid h4 {
  margin: 0 0 10px 0;
  color: #fff;
  font-size: 1rem;
}
.footer-grid p {
  margin: 0;
  color: #c8d8e8;
  line-height: 1.5;
}
.footer-grid ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}
.footer-grid a {
  color: #d7e4f2;
  text-decoration: none;
}
.footer-grid a:hover {
  color: #ffffff;
  text-decoration: none;
}
.footer-socials {
  margin-top: 12px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .08);
  font-size: .86rem;
  text-decoration: none;
}
.footer-trust {
  margin: 16px 0 0;
  padding: 10px 12px;
  border: 1px dashed rgba(255, 255, 255, .24);
  border-radius: 14px;
  color: #d0e0f0;
  background: rgba(255, 255, 255, .04);
}
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .10);
  background: rgba(0, 0, 0, .15);
}
.footer-bottom-inner {
  padding: 11px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: .9rem;
}
.footer-to-top {
  color: #f3b26b;
  text-decoration: none;
  font-weight: 700;
}
.footer-to-top:hover {
  text-decoration: underline;
}
.footer-col-toggle {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #ffffff;
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
.footer-col-content {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.topbar{ display:flex; align-items:center; gap:18px; padding:14px 0; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; min-width:360px; }
.brand-wrap{ display:flex; align-items:center; gap:12px; }
.brand-mark{
  width:auto;
  min-width: 64px;
  height:68px;
  border-radius:10px;
  background: transparent;
  display:grid; place-items:center;
  border: none;
}
.brand-mark svg{ width:28px; height:28px; fill:#0b4ea2; }
.brand-logo{ width:28px; height:28px; object-fit:contain; background:transparent; border-radius:0; }
.brand-logo-wide{
  width:auto;
  height:68px;
  max-width:390px;
}
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-name{ font-weight:800; letter-spacing:-.2px; font-size:20px; line-height:1.1; }
.brand-name--orange{ color:#ff7a00; }
.brand-name--blue{ color:#0b4ea2; }
.brand-name--muted{ color:#6b7280; font-weight:700; }
.brand-tagline{ font-size:12.5px; color:#64748b; margin-top:3px; line-height:1.2; }

.nav{
  display:flex;
  gap:10px;
  align-items:center;
  flex:0 1 auto;
  justify-content:flex-end;
  margin-left:auto;
}
.nav-link{
  text-decoration:none; color:#334155; font-weight:700; font-size:17px;
  padding:10px 12px; border-radius:999px; transition:background .15s ease,color .15s ease, box-shadow .15s ease;
}
.nav-link:hover{ background: rgba(13,110,253,.08); color:#0b4ea2; }
.nav-link.is-active{ color:#0b4ea2; background: rgba(13,110,253,.10); box-shadow: inset 0 0 0 1px rgba(11,78,162,.08); }

.actions{ display:flex; align-items:center; gap:10px; padding-left: 8px; border-left: 1px solid #e5edf5; }
.notif-wrap{
  position: relative;
}
.notif-btn{
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: #334155;
  font: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(15,23,42,.06);
}
.notif-btn:hover{
  background: rgba(13,110,253,.06);
  color: #0b4ea2;
}
.notif-icon{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.notif-icon svg{
  width: 18px;
  height: 18px;
}
.notif-icon path{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.notif-badge{
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #e11d48;
  color: #fff;
  font-size: 11px;
  line-height: 18px;
  text-align: center;
  font-weight: 800;
  border: 2px solid #fff;
}
.notif-menu{
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(360px, 84vw);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(15,23,42,.10);
  display: none;
  overflow: hidden;
  z-index: 30;
}
.notif-menu.is-open{
  display: block;
}
.notif-menu-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid #edf2f7;
}
.notif-menu-head strong{
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
}
.notif-menu-head a{
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  color: #0b4ea2;
}
.notif-menu-head a:hover{
  text-decoration: underline;
}
.notif-empty{
  margin: 0;
  padding: 12px;
  color: #64748b;
  font-size: 14px;
}
.notif-list{
  max-height: 320px;
  overflow: auto;
}
.notif-item{
  display: block;
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
  text-decoration: none;
  color: #0f172a;
}
.notif-item:hover{
  background: #f8fbff;
}
.notif-item.is-unread{
  border-left: 3px solid #0b6ea8;
  background: #f8fbff;
}
.notif-item-title{
  display: block;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.3;
}
.notif-item-body{
  display: block;
  margin-top: 4px;
  color: #475569;
  font-size: 12px;
  line-height: 1.35;
}
.notif-item-time{
  display: block;
  margin-top: 4px;
  color: #94a3b8;
  font-size: 11px;
}
.notif-menu-foot{
  padding: 10px 12px;
  border-top: 1px solid #edf2f7;
  background: #f8fafc;
}
.notif-menu-foot .btn{
  width: 100%;
}
.header-nav-wrap{
  display:flex;
  flex:1;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
}
.header-nav-wrap .actions{
  margin-left:0;
  flex:0 0 auto;
}
.mobile-menu-toggle{
  display:none;
  border:1px solid #d9e1e7;
  background:#fff;
  color:#1f3650;
  border-radius:10px;
  padding:8px 12px;
  font-weight:700;
  align-items:center;
  gap:8px;
  cursor:pointer;
}
.mobile-menu-icon{
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mobile-menu-icon svg{
  width: 18px;
  height: 18px;
}
.mobile-menu-icon path{
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
}
.mobile-menu-icon .icon-close{
  display:none;
}
.mobile-menu-toggle.is-open .mobile-menu-icon .icon-menu{
  display:none;
}
.mobile-menu-toggle.is-open .mobile-menu-icon .icon-close{
  display:block;
}
.link-button { text-decoration: none; background: none; border: none; cursor: pointer; font: inherit; }

.user{ position:relative; }
.user-btn{
  display:flex; align-items:center; gap:10px; border:1px solid var(--line); background:white;
  border-radius:999px; padding:7px 11px; cursor:pointer; box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.avatar{
  width:28px; height:28px; border-radius:50%;
  background: radial-gradient(circle at 35% 30%, #fff 0 25%, transparent 26%),
              radial-gradient(circle at 55% 45%, rgba(255,255,255,.8) 0 30%, transparent 31%),
              linear-gradient(135deg, rgba(13,110,253,.85), rgba(255,122,0,.75));
}
.user-name{ font-weight:700; color:#0f172a; font-size:15px; }
.chev{ color:#475569; font-size:12px; }
.user-menu{
  position:absolute; right:0; top:calc(100% + 10px); min-width:180px;
  background:white; border:1px solid var(--line); border-radius:14px;
  box-shadow:0 12px 30px rgba(15,23,42,.10); padding:8px; display:none;
}
.user-menu.is-open{ display:block; }
.menu-item{
  display:block; text-decoration:none; color:#0f172a; padding:10px 10px;
  border-radius:10px; font-weight:650; font-size:18px; width:100%; text-align:left;
}
.menu-item:hover{ background: rgba(15,23,42,.06); }
.menu-item-icon{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.menu-icon{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #4b5f73;
}
.menu-icon svg{
  width: 18px;
  height: 18px;
}
.menu-icon path{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.btn-primary{
  background: #ff7a00;
  color: #fff;
  border-color: #ff7a00;
  box-shadow: 0 10px 20px rgba(255,122,0,.22);
}
.btn-primary:hover{ filter: brightness(.97); }
.btn-outline{
  background:#fff;
  color:#0b4ea2;
  border-color: rgba(13,110,253,.35);
}
main.container { padding: 24px 0; min-height: 78vh; }
body.is-auth-page main.container{
  width: min(1320px, 95vw);
}
body.is-auth-page .layout-public .layout-content{
  max-width: 1240px;
  margin-inline: auto;
  width: 100%;
}
body.is-auth-page .layout-public .layout-content > h1{
  margin-bottom: 16px;
}
body.is-auth-page .card.form{
  max-width: none;
  margin-inline: auto;
}
body.is-auth-page .card.form:not(.two-col){
  max-width: none;
}
.auth-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(280px, .95fr);
  gap:14px;
  align-items:start;
}
.auth-shell-compact{
  max-width:1040px;
  margin:0 auto;
}
.auth-shell-form{
  max-width:1220px;
  margin:0 auto;
}
.auth-main-stack{
  display:grid;
  gap:10px;
  min-width:0;
}
.auth-main-card{
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border-color: #d6e5f3;
  box-shadow: 0 8px 24px rgba(19, 63, 103, .06);
}
.auth-hero-card{
  display:grid;
  gap:14px;
}
.auth-main-card h1{
  margin:0;
}
.auth-hero-copy{
  display:grid;
  gap:8px;
}
.auth-subtext{
  margin:8px 0 0;
  line-height:1.5;
}
.auth-hero-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.auth-hero-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid #d6e5f3;
  background:#f6fbff;
  color:#2e506f;
  font-size:.88rem;
  font-weight:700;
}
.auth-form{
  margin-top:10px;
}
.auth-submit{
  margin-top:2px;
}
.auth-inline-link{
  margin-top:-2px;
  margin-bottom:0;
}
.auth-secondary-link{
  margin-top:10px;
}
.auth-link-group{
  display:grid;
  gap:4px;
}
.auth-side-card{
  background: linear-gradient(180deg, #f8fbff 0%, #f2f8ff 100%);
  border-color: #d6e5f3;
  box-shadow: 0 8px 24px rgba(19, 63, 103, .05);
}
.auth-side-card h3{
  margin:0 0 10px;
  color:#0f3559;
}
.auth-side-list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:#3d556c;
}
.auth-side-card-sticky{
  position: sticky;
  top: 84px;
}
.auth-register-form{
  padding:16px;
}
.auth-role-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.auth-role-summary-card{
  display:grid;
  gap:6px;
  padding:12px 14px;
  border:1px solid #d8e6f3;
  border-radius:12px;
  background:#fbfdff;
}
.auth-role-summary-card strong{
  color:#0f3559;
}
.auth-role-summary-card span{
  color:#4d6278;
  line-height:1.55;
  font-size:.95rem;
}
.auth-register-form .register-submit-wrap{
  display:none;
}
.home-fullscreen{
  /* 100vw + scrollbar farkindan dogan yatay tasmayi engelle */
  width: calc(100vw - (100vw - 100%));
  margin-left: calc(50% - (50vw - ((100vw - 100%) / 2)));
  margin-right: calc(50% - (50vw - ((100vw - 100%) / 2)));
  --home-content-max: min(1600px, 96vw);
}
.home-fullscreen .hero-inner{
  width: var(--home-content-max);
}
.home-fullscreen .home-proof-grid{
  width: var(--home-content-max);
  margin-left: auto;
  margin-right: auto;
}
.home-fullscreen .home-section{
  width: var(--home-content-max);
  margin-left: auto;
  margin-right: auto;
}

.hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(1200px 380px at 30% 10%, rgba(13,110,253,.12), transparent 55%),
    radial-gradient(900px 320px at 85% 55%, rgba(13,110,253,.10), transparent 60%),
    linear-gradient(180deg, #ffffff, #f7fbff);
  border-bottom:1px solid rgba(13,110,253,.12);
  margin-bottom: 18px;
}
.home-hero-slim {
  margin-bottom: 12px;
}
.hero-merge{
  width: 100%;
  position: relative;
  left: auto;
  right: auto;
  margin-left: 0;
  margin-right: 0;
  margin-top: -24px;
}
.hero-inner{
  display:grid; grid-template-columns:1fr; gap:0;
  padding:46px clamp(20px, 2.6vw, 34px) 40px; align-items:start;
  width: min(var(--container-max), 92vw);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.hero-left{
  position: relative;
  z-index: 2;
  max-width: 54%;
  padding-right: 12px;
}
.hero-left h1{
  margin:0 0 12px; font-size:44px; line-height:1.08; letter-spacing:-.8px; color:#0b2a52;
}
.hero-left p{
  margin:0 0 22px;
  color:#64748b;
  font-size:18px;
  line-height:1.55;
  max-width: 640px;
}
.home-hero-slim .hero-inner{
  padding:30px clamp(20px, 2.3vw, 32px) 22px;
}
.home-hero-slim .hero-left{
  max-width: 48%;
}
.home-hero-slim .hero-left h1{
  margin-bottom:10px;
  font-size:38px;
}
.home-hero-slim .hero-left p{
  margin-bottom:16px;
  font-size:17px;
  max-width: 600px;
}
.home-hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.home-hero-stat{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(11, 78, 162, .18);
  background:rgba(255,255,255,.82);
  color:#274a69;
  font-size:.82rem;
  font-weight:700;
}
.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; }
.btn-lg{ padding:12px 18px; font-size:15px; }
.btn-outline{ background:white; color:#0b4ea2; border-color:rgba(13,110,253,.35); }
.btn-outline:hover{ background:rgba(13,110,253,.06); }
.hero-cta .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 198px;
  border-radius: 12px;
  font-size: 17px;
  font-weight: 700;
  padding: 14px 24px;
  box-shadow: none;
}
.hero-cta .btn-primary{
  background: #ff8200;
  border-color: #ff8200;
  color: #fff;
}
.hero-cta .btn-primary:hover{
  background: #f47700;
  border-color: #f47700;
}
.hero-cta .btn-outline{
  background: rgba(255,255,255,.55);
  border-color: #4d8fcb;
  color: #0f4c81;
}
.hero-cta .btn-outline:hover{
  background: rgba(255,255,255,.82);
}
.site-header .actions .btn-primary{
  background: #ff8200;
  border-color: #ff8200;
  color: #fff;
  border-radius: 12px;
  box-shadow: none;
}
.site-header .actions .btn-primary:hover{
  background: #f47700;
  border-color: #f47700;
}
.hero-illustration-bg{
  position:absolute;
  right:0;
  bottom:0;
  width:min(760px, 56vw);
  opacity:.98;
  z-index:1;
  pointer-events:none;
  filter: drop-shadow(0 18px 30px rgba(15,23,42,.08));
}
.hero-highlight-list{
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.hero-highlight-list li{
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(11, 78, 162, .22);
  background: rgba(255, 255, 255, .75);
  color: #274a69;
  font-size: 0.88rem;
  font-weight: 600;
}
.home-eyebrow,
.home-section-kicker{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  border: 1px solid #d5e4f1;
  color: #0f4c81;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.home-eyebrow{
  margin-bottom: 10px;
}

.home-proof-section{
  margin: 0 0 20px;
}
.home-proof-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.home-proof-card{
  display: grid;
  gap: 6px;
  background: linear-gradient(170deg, #ffffff 0%, #f7fbff 100%);
  border-color: #cfe0ec;
  min-height: 112px;
  padding: 18px 16px;
}
.home-proof-card small{
  color: #4a6176;
  font-size: .82rem;
  font-weight: 700;
}
.home-proof-card strong{
  color: #0f4c81;
  font-size: 1.5rem;
  line-height: 1.1;
}
.home-proof-card p{
  margin: 0;
  color: #5d7286;
  font-size: .88rem;
}

.card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px;
}
.grid { display: grid; gap: 14px; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.register-role-grid { margin-top: 12px; }
.register-role-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-color:#d6e5f3;
  background: #fff;
}
.register-role-head{
  display:flex;
  align-items:center;
  gap:12px;
}
.register-role-head h3{
  margin:0;
}
.role-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e9f3ff;
  color:#0f4d86;
  border:1px solid #c6dbef;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2px;
}
.register-role-card .btn {
  margin-top: auto;
  text-align: center;
}
@media (max-width: 640px){
  .register-role-head{
    align-items:flex-start;
  }
}

.cta-row { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.btn {
  display: inline-block;
  padding: 10px 14px;
  border: 1px solid var(--brand);
  color: #fff;
  background: var(--brand);
  border-radius: 10px;
  text-decoration: none;
  cursor: pointer;
}
.btn:hover { background: var(--brand-dark); }
.btn-light { color: var(--brand); background: #e6fbfc; }

.form { display: grid; gap: 12px; }
.form.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; }
.form label > span { display: inline-flex; align-items: center; gap: 4px; }
.field-feedback {
  min-height: 16px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
}
.field-feedback.success { color: #0f7a3b; }
.field-feedback.error { color: #b42318; }
.field-feedback.pending { color: #6b7280; }
.password-input-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.password-input-wrap input {
  flex: 1;
}
.password-toggle {
  border: 1px solid #c7d5e2;
  background: #f8fbff;
  color: #224966;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.password-toggle:hover {
  background: #eef5fc;
}
.required-star { color: var(--danger); margin-left: 4px; }
.form input, .form select, .form textarea {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  font: inherit;
  min-height: 42px;
}
.form input[type="hidden"] {
  display: none !important;
}
.form input[type="checkbox"] {
  min-height: auto;
  width: 18px;
  height: 18px;
  padding: 0;
}
.profile-toggle-label .profile-toggle-control {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  font-weight: 500;
}
.form input:focus, .form select:focus, .form textarea:focus {
  outline: none;
  border-color: #70a6de;
  box-shadow: 0 0 0 3px rgba(64, 132, 205, .16);
}
.form-trust-note {
  font-size: 12px;
  font-weight: 600;
  color: #5b7287;
  background: #f5f9fd;
  border: 1px dashed #cdddea;
  border-radius: 8px;
  padding: 9px 10px;
}
.register-submit-wrap {
  display: grid;
  gap: 10px;
}
.register-success-card {
  max-width: 680px;
  margin: 0 auto;
}
.form .full { grid-column: 1 / -1; }
.field-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.form-step { display: none; }
.form-step.is-active { display: block; }
.form-stepper {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.form-progress {
  border: 1px solid #dbe8f4;
  border-radius: 10px;
  background: #f8fbff;
  padding: 10px 12px;
  margin-bottom: 8px;
}
.form-progress-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  color: #2b4e6d;
}
.form-progress-text {
  font-weight: 700;
  font-size: 12px;
}
.form-progress-bar {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #e0ebf6;
  overflow: hidden;
}
.form-progress-bar > span {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #0b4ea2, #3a8be0);
  transition: width .2s ease;
}
.step-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #d6e3ef;
  background: #f4f8fc;
  color: #4b6073;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
}
.step-pill.is-active {
  border-color: #0b4ea2;
  background: #eaf3ff;
  color: #0b4ea2;
}
.step-icon {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(11, 78, 162, .10);
  font-size: 11px;
}
.form-step-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}
.hs-section {
  grid-column: 1 / -1;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px;
  background: #ffffff;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(15, 76, 129, 0.06);
}
.hs-section h3 {
  margin: 0 0 10px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.hs-section .section-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.hs-section.is-collapsed .section-grid {
  display: none;
}
.hs-section .section-grid .full {
  grid-column: 1 / -1;
}
.section-toggle {
  border: 1px solid #b7ccdd;
  background: #f7fbff;
  color: #1f4f73;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 0.85rem;
  cursor: pointer;
}
.section-toggle:hover {
  background: #edf6ff;
}
.hs-sections-end {
  display: none;
}
.hs-form-layout {
  background: transparent;
  border: none;
  padding: 0;
}
.profile-prefill-card {
  grid-column: 1 / -1;
  border: 1px solid #d6e5f3;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8fbff 0%, #f1f7ff 100%);
  padding: 14px;
}
.prefill-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #173f64;
}
.prefill-title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #2a7fd1;
  box-shadow: 0 0 0 4px rgba(42, 127, 209, 0.18);
}
.prefill-desc {
  margin: 8px 0 0;
  color: #516c82;
  font-size: 13px;
  line-height: 1.45;
}
.prefill-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}
.prefill-grid div {
  border: 1px solid #dbe8f5;
  background: #ffffff;
  border-radius: 10px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.prefill-grid span {
  font-size: 12px;
  color: #657d92;
  font-weight: 700;
}
.prefill-grid strong {
  color: #20364a;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}
.company-progress {
  border: 1px solid #d9e7f2;
  background: #f8fcff;
  border-radius: 10px;
  padding: 10px 12px;
}
.company-progress-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #1f4868;
  margin-bottom: 8px;
}
.company-progress-percent {
  font-weight: 700;
}
.company-progress-bar {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #e3edf5;
  overflow: hidden;
}
.company-progress-bar > span {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #1f7a8c, #37a5a8);
}
.company-location-preview {
  border: 1px solid #d9e7f2;
  background: #fbfdff;
  border-radius: 10px;
  padding: 10px;
}
.address-box {
  border: 1px solid #d9e7f2;
  background: #ffffff;
  border-radius: 10px;
  padding: 12px;
  display: grid;
  gap: 10px;
}
.address-box h4 {
  margin: 0;
  color: #1f4868;
}
.company-location-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.company-location-coords {
  font-weight: 600;
  color: #1f4868;
  margin-bottom: 8px;
}
.company-mini-map {
  height: 240px;
  border-radius: 10px;
}
.search-form { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; margin-bottom: 16px; }
.listing-search-page { display: grid; gap: 14px; }
.listing-search-header {
  align-items: flex-end;
  gap: 14px;
}
.listing-search-switches {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.listing-search-card {
  gap: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color: #d4e2ee;
  box-shadow: 0 12px 24px rgba(15, 76, 129, .05);
}
.listing-search-card-head {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e7eef5;
}
.listing-search-card-head strong {
  display: block;
  color: #103d6f;
  font-size: 1rem;
}
.listing-search-card-head p {
  margin: 4px 0 0;
  color: #60758a;
  font-size: .92rem;
}
.listing-search-head-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.filter-actions { justify-content: flex-end; gap: 8px; }
.filter-advanced {
  grid-column: 1 / -1;
  border: 1px solid #d6e3ed;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fbfdff;
}
.filter-advanced summary {
  cursor: pointer;
  font-weight: 700;
  color: #234056;
  margin-bottom: 12px;
}
.listing-results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.listing-results-copy {
  display: grid;
  gap: 2px;
}
.listing-results-copy strong {
  color: #123f67;
  font-size: 1rem;
}
.listing-results-copy span,
.listing-results-page {
  color: #60758a;
  font-size: .92rem;
}

.table { width: 100%; border-collapse: collapse; overflow: hidden; }
.table th, .table td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; }
.actions { display: flex; gap: 8px; align-items: center; }
.theme-preset-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.theme-preset-card {
  display: grid;
  gap: 10px;
  border: 1px solid #d9e1e7;
  border-radius: var(--radius);
  background: #fff;
  padding: 14px;
}
.theme-preset-card h4 {
  margin: 0;
}
.theme-preset-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}
.theme-preset-swatches {
  display: inline-flex;
  gap: 6px;
}
.theme-preset-swatches .swatch {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid #d1d5db;
}
.theme-preset-card .btn {
  justify-self: start;
}
.settings-section-head {
  border-top: 1px solid #dbe5ef;
  padding-top: 10px;
  margin-top: 2px;
}
.settings-section-head h3 {
  margin: 0;
  color: #16384f;
  font-size: 1rem;
}
.settings-section-head p {
  margin: 4px 0 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}
.menu-editor {
  display: grid;
  gap: 8px;
}
.menu-editor-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(180px, 1.2fr) 150px auto;
  gap: 8px;
  align-items: center;
}
.menu-editor-row .btn {
  padding: 8px 10px;
}
.logo-preview-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.inline-form { display: inline; }
.danger { color: var(--danger); }
.badge {
  display: inline-block;
  background: #e8f5ff;
  color: #0f4c81;
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 0.8rem;
  margin-bottom: 6px;
}

.app-summary-grid {
  margin-top: 6px;
}
.app-summary-card {
  display: grid;
  gap: 8px;
  align-content: center;
  min-height: 96px;
}
.app-summary-card strong {
  color: #3a546d;
  font-size: .9rem;
}
.app-summary-card span {
  color: #0f4c81;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.15;
}
.application-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.application-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  border: 1px solid #c9d9e8;
  background: #f7fbff;
  color: #214866;
  border-radius: 10px;
  padding: 9px 12px;
  font-weight: 700;
}
.application-tab:hover {
  background: #eef6ff;
}
.application-tab.is-active {
  background: #0f4c81;
  border-color: #0f4c81;
  color: #ffffff;
}
.application-status-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.application-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  border: 1px solid #d8e4f0;
  border-radius: 999px;
  padding: 7px 11px;
  color: #2d4d67;
  background: #f8fbff;
  font-weight: 600;
}
.application-status-chip strong {
  color: #0f4c81;
  font-weight: 800;
}
.application-status-chip.is-active {
  border-color: #0f4c81;
  background: #0f4c81;
  color: #ffffff;
}
.application-status-chip.is-active strong {
  color: #ffffff;
}
.application-filter-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px 12px;
  margin-bottom: 12px;
}
.application-filter-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  color: #25445f;
}
.application-filter-form input,
.application-filter-form select {
  border: 1px solid #d1deea;
  border-radius: 8px;
  padding: 8px 10px;
  width: 100%;
  box-sizing: border-box;
}
.application-filter-form .search-field {
  grid-column: span 2;
}
.application-filter-actions {
  display: inline-flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.application-filter-actions .btn {
  height: 42px;
}
.application-user-cell {
  display: grid;
  gap: 4px;
}
.application-user-head a {
  text-decoration: none;
  font-weight: 700;
}
.application-user-meta {
  color: #5f778f;
  font-size: 0.86rem;
}
.application-profile-preview > summary {
  cursor: pointer;
  color: #0f4c81;
  font-weight: 600;
  font-size: 0.83rem;
}
.application-profile-preview > summary::-webkit-details-marker {
  display: none;
}
.application-profile-card {
  margin-top: 6px;
  border: 1px solid #dbe6f1;
  border-radius: 8px;
  background: #f9fcff;
  padding: 8px 10px;
  display: grid;
  gap: 4px;
  color: #2f4c63;
  font-size: 0.88rem;
}
.application-inline-form {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.application-inline-form select {
  border: 1px solid #d1deea;
  border-radius: 8px;
  padding: 7px 8px;
  min-width: 130px;
}
.application-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  font-weight: 700;
  font-size: .82rem;
  border: 1px solid #d6e3ef;
  background: #f8fbff;
  color: #35516a;
}
.application-status-new {
  background: #eef4ff;
  border-color: #ccd8f6;
  color: #2f4b8a;
}
.application-status-reviewed {
  background: #ebf7ff;
  border-color: #bfe4f7;
  color: #1f648b;
}
.application-status-interview {
  background: #fff6e9;
  border-color: #ffd9a3;
  color: #9b5f05;
}
.application-status-rejected {
  background: #fdeeee;
  border-color: #f2bcbc;
  color: #9f2b2b;
}
.application-status-accepted {
  background: #e8f9ef;
  border-color: #bde9cd;
  color: #1f7a45;
}
.application-pagination {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  color: #4a637b;
}
.application-message-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}
.application-muted {
  color: #6b7280;
  font-size: 0.88rem;
}
.btn-xs {
  font-size: 0.82rem;
  padding: 6px 9px;
  border-radius: 8px;
}

.alert { padding: 10px 12px; border-radius: 8px; margin-bottom: 10px; }
.alert.success { background: #e8f8ec; color: #146b31; border: 1px solid #b8e7c4; }
.alert.error { background: #fdecea; color: #8e1c12; border: 1px solid #f7c6c2; }
.alert.warning { background: #fff8e7; color: #7a4d00; border: 1px solid #f3da9c; }
.alert.info { background: #e9f3ff; color: #0f3e73; border: 1px solid #bad8f7; }
.alert.info a { color: #0b63c7; font-weight: 700; text-decoration: none; }
.alert.info a:hover { text-decoration: underline; }
.verify-banner {
  position: sticky;
  top: 10px;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.verify-banner-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.verify-banner-actions form {
  margin: 0;
}
.section-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; gap: 12px; }
.layout-shell {
  display: grid;
  gap: 14px;
}
.layout-with-sidebar {
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: start;
}
.layout-sidebar {
  position: sticky;
  top: 16px;
}
.layout-content {
  min-width: 0;
}
.sidebar-menu {
  display: grid;
  gap: 6px;
}
.sidebar-menu a {
  text-decoration: none;
  color: #1f3d54;
  font-weight: 600;
  padding: 8px 10px;
  border-radius: 8px;
}
.sidebar-menu a:hover {
  background: #eef5fb;
}
.sidebar-menu a.active {
  background: #e3f0fb;
  color: #0f4c81;
}
.sidebar-accordion {
  gap: 8px;
}
.sidebar-group {
  border: 1px solid #d6e4f1;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.sidebar-group + .sidebar-group {
  margin-top: 2px;
}
.sidebar-group summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 12px;
  font-weight: 700;
  color: #1f3d54;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sidebar-group-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.sidebar-group-icon {
  width: 18px;
  display: inline-flex;
  justify-content: center;
}
.sidebar-group summary::-webkit-details-marker {
  display: none;
}
.sidebar-group summary::after {
  content: "+";
  color: #5f7f9a;
  font-size: 0.95rem;
  transition: color 0.15s ease;
}
.sidebar-group[open] summary::after {
  content: "-";
  color: #1f4f73;
}
.sidebar-group[open] summary {
  background: #f3f8fd;
}
.sidebar-submenu {
  display: grid;
  gap: 4px;
  padding: 0 8px 8px;
}
.map-page {
  display: grid;
  gap: 12px;
}
.map-mobile-section {
  display: block;
}
.map-mobile-summary {
  display: none;
}
.map-page-hero {
  display: block;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
  border-color: #d7e5f2;
  padding: 10px 14px;
}
.map-page-hero-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.map-page-hero-main--compact {
  align-items: flex-start;
  justify-content: flex-start;
}
.map-page-hero-copy {
  display: grid;
  gap: 5px;
}
.map-page-hero-copy--compact {
  gap: 2px;
}
.map-page-hero-copy h1 {
  margin: 0;
  color: #103a62;
  font-size: 1.45rem;
  line-height: 1.12;
}
.map-page-hero-copy p {
  margin: 0;
  color: #597086;
  max-width: 760px;
  line-height: 1.35;
  font-size: .88rem;
}
.map {
  height: 640px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.map-toolbar {
  display: grid;
  gap: 6px;
  border-color: #d7e5f2;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
  padding: 10px 12px;
  position: relative;
  z-index: 12;
  overflow: visible;
}
.map-toolbar-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}
.map-toolbar-group {
  display: grid;
  gap: 5px;
}
.map-toolbar-group label {
  font-size: .82rem;
  font-weight: 700;
  color: #31506a;
}
.map-toolbar-group--actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.map-toolbar-group--compact {
  min-width: 112px;
}
.map-toolbar-group--inline {
  gap: 0;
}
.map-toolbar-group--compact select {
  min-width: 112px;
  min-height: 38px;
  padding: 7px 28px 7px 12px;
  padding-right: 32px;
  border-radius: 999px;
  background: #fff;
}
.map-toolbar-group--grow {
  flex: 1 1 320px;
}
.map-location-menu {
  position: relative;
  z-index: 18;
}
.map-location-menu summary {
  list-style: none;
  cursor: pointer;
}
.map-location-menu summary::-webkit-details-marker {
  display: none;
}
.map-location-menu[open] summary {
  border-color: #0b7285;
  box-shadow: 0 0 0 3px rgba(11, 114, 133, .12);
}
.map-location-menu-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 2000;
  width: min(520px, 82vw);
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #d7e5f2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 32px rgba(16, 58, 98, .14);
}
.map-location-menu-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.map-location-menu-address {
  display: grid;
  gap: 6px;
}
.map-location-menu-address label {
  font-size: .8rem;
  font-weight: 700;
  color: #31506a;
}
.map-toolbar-group select,
.map-toolbar-group input[type="text"] {
  min-height: 38px;
  border: 1px solid #d4e0eb;
  border-radius: 10px;
  padding: 7px 12px;
  font: inherit;
  background: #fff;
}
.map-toolbar-group .btn {
  min-height: 38px;
  padding: 8px 13px;
}
.map-address-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.map-toolbar-status {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 2px;
}
.map-helper-note {
  color: #526273;
  display: inline-block;
  font-size: .78rem;
  line-height: 1.35;
}
.status-strong {
  display: inline-block;
  background: transparent;
  border: 0;
  color: #0f4c81;
  font-weight: 700;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: .8rem;
}
.status-alert-blink {
  color: #b00020;
  background: #ffecee;
  border-color: #f4a8b3;
  box-shadow: 0 1px 2px rgba(176, 0, 32, 0.12);
  border-left: 4px solid #b00020;
  font-weight: 700;
  animation: statusBlink 1s step-start infinite;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.map-layout {
  --map-panel-height: 670px;
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.map-results-panel,
.map-canvas-panel {
  padding: 14px;
  border-color: #d7e5f2;
}
.map-results-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  height: var(--map-panel-height);
  overflow: hidden;
}
.map-canvas-panel {
  height: var(--map-panel-height);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.map-canvas-panel .map {
  height: 100%;
}
.map-results-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.map-results-head h2 {
  margin: 0 0 2px 0;
  font-size: 1.18rem;
  color: #103a62;
}
.map-results-head p {
  margin: 0;
  color: #647a8f;
  font-size: .9rem;
}
.map-results-head strong {
  color: #0f4c81;
  font-size: .95rem;
  white-space: nowrap;
}
.map-results-list {
  display: grid;
  gap: 10px;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
  align-content: start;
}
.map-results-empty {
  border: 1px dashed #d7e4f0;
  border-radius: 12px;
  background: #f8fbff;
  padding: 16px;
}
.map-results-empty strong {
  display: block;
  color: #113b62;
  margin-bottom: 4px;
}
.map-results-empty p {
  margin: 0;
  color: #647b90;
}
.map-result-item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 8px;
  padding: 8px;
  border: 1px solid #d9e5ef;
  border-left: 4px solid #c9d8e6;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.map-result-item:hover {
  transform: translateY(-1px);
  border-color: #bdd5eb;
  box-shadow: 0 12px 26px rgba(15, 76, 129, .10);
}
.map-result-item.is-active {
  border-color: #0b6ea8;
  border-left-color: #0b6ea8;
  background: linear-gradient(180deg, #f7fbff 0%, #eef7ff 100%);
  box-shadow: 0 14px 28px rgba(11, 110, 168, .16);
  transform: translateY(-1px);
}
.map-result-item.type-hs {
  border-left-color: #23836b;
}
.map-result-item.type-uni {
  border-left-color: #0b6ea8;
}
.map-result-item.type-company {
  border-left-color: #ff8a00;
}
.map-result-item.type-student {
  border-left-color: #5d6fb0;
}
.map-result-media {
  width: 52px;
  height: 52px;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid #d6e3ee;
  background: #eef5fb;
}
.map-result-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.map-result-body {
  min-width: 0;
  display: grid;
  gap: 2px;
  align-content: center;
}
.map-result-top {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.map-result-badge,
.map-result-remaining {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 700;
}
.map-result-badge {
  background: #eef6ff;
  color: #0f4c81;
}
.map-result-item.type-hs .map-result-badge {
  background: #edf9f3;
  color: #1f6f57;
}
.map-result-item.type-uni .map-result-badge {
  background: #eef6ff;
  color: #0f4c81;
}
.map-result-item.type-company .map-result-badge {
  background: #fff3e6;
  color: #b85f00;
}
.map-result-item.type-student .map-result-badge {
  background: #f2efff;
  color: #5a53a6;
}
.map-result-remaining {
  background: #edf9ee;
  color: #217246;
}
.map-result-body h3 {
  margin: 0;
  font-size: .84rem;
  line-height: 1.18;
  color: #103a62;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.map-result-state-badge {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.map-result-state-badge.is-new {
  background: #eefbf3;
  color: #1e7a44;
}
.map-result-state-badge.is-near {
  background: #eef6ff;
  color: #0b5cad;
}
.map-result-state-badge.is-archived {
  background: #fff1f1;
  color: #b42318;
}
.map-result-meta-line {
  margin: 0;
}
.map-result-meta-line {
  color: #677d92;
  font-size: .73rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.map-result-actions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  align-items: center;
}
.map-result-actions a {
  text-decoration: none;
}
.map-result-action-chip,
.map-result-actions .map-result-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  min-width: 26px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 700;
}
.map-result-action-chip {
  border: 1px solid #d3e0ec;
  background: #f7fbff;
  color: #0b4ea2;
}
.map-result-action-chip:hover {
  border-color: #b7cde0;
  background: #eef6ff;
}
.map-result-actions .map-result-apply {
  background: #24a148;
  color: #ffffff;
}
.map-result-actions .map-result-apply:hover {
  background: #1e8b3d;
  color: #ffffff;
  text-decoration: none;
}
.map-popup-card {
  display: grid;
  gap: 5px;
  min-width: 190px;
  max-width: 240px;
}
.map-popup-card h3 {
  margin: 0;
  font-size: .88rem;
  line-height: 1.22;
  color: #103a62;
}
.map-popup-meta,
.map-popup-company,
.map-popup-location {
  margin: 0;
}
.map-popup-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}
.map-popup-dot {
  color: #90a2b4;
  font-size: .72rem;
}
.map-popup-company {
  color: #284760;
  font-size: .77rem;
  font-weight: 700;
}
.map-popup-location {
  color: #60758a;
  font-size: .74rem;
  line-height: 1.3;
}
.map-popup-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.map-popup-pill {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef6ff;
  color: #0f4c81;
  font-size: .67rem;
  font-weight: 700;
}
.map-popup-pill.is-danger {
  background: #fff1f1;
  color: #b42318;
}
.map-popup-pill.is-success {
  background: #eefbf3;
  color: #1e7a44;
}
.map-popup-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 1px;
}
.map-popup-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #0f4c81;
  color: #ffffff;
  text-decoration: none;
  font-size: .71rem;
  font-weight: 700;
}
.map-popup-link:hover {
  background: #0c3f6a;
  color: #ffffff;
}
.map-popup-link.is-secondary {
  background: #eef6ff;
  color: #0f4c81;
  border: 1px solid #c9dcf2;
}
.map-popup-link.is-secondary:hover {
  background: #e5f1ff;
  color: #0f4c81;
}
.leaflet-popup-content-wrapper {
  border-radius: 14px;
}
.leaflet-popup-content {
  margin: 10px 12px;
}
@keyframes statusBlink {
  50% { opacity: 0.35; }
}
.user-location-pin-wrap {
  background: transparent;
  border: 0;
}
.listing-pin-wrap {
  background: transparent;
  border: 0;
}
.listing-pin {
  width: 14px;
  height: 14px;
  display: inline-block;
  border-radius: 999px;
  border: 2px solid #ffffff;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  will-change: transform, box-shadow;
}
.listing-pin-exact {
  background: #0b63ce;
  box-shadow: 0 0 0 2px rgba(11, 99, 206, 0.28);
}
.listing-pin-approx {
  background: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.35);
}
.listing-pin.is-active {
  animation: listingPinBounce 0.52s cubic-bezier(0.2, 0.85, 0.2, 1), listingPinPulse 0.9s ease-out;
  filter: saturate(1.18) brightness(1.03);
}
.listing-pin-exact.is-active {
  box-shadow: 0 0 0 2px rgba(11, 99, 206, 0.45);
}
.listing-pin-approx.is-active {
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.5);
}
@keyframes listingPinBounce {
  0% { transform: translateY(0) scale(1); }
  25% { transform: translateY(-8px) scale(1.08); }
  48% { transform: translateY(0) scale(0.96); }
  72% { transform: translateY(-3px) scale(1.03); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes listingPinPulse {
  0% { box-shadow: 0 0 0 0 rgba(15, 76, 129, 0.35); }
  100% { box-shadow: 0 0 0 9px rgba(15, 76, 129, 0); }
}
.user-location-pin {
  width: 16px;
  height: 16px;
  display: inline-block;
  border-radius: 999px;
  background: #ef4444;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.35);
}
.admin-page-head {
  margin-bottom: 12px;
}
.admin-page-head h1 {
  margin: 0 0 4px 0;
}
.admin-page-head p {
  margin: 0;
}
.admin-form-card {
  border-color: #d4e2ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.admin-note-card {
  border-color: #d7e4f0;
  background: #f8fbff;
}
.admin-kpi-grid {
  margin-top: 0;
}
.admin-kpi-card {
  border-color: #d4e2ef;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}
.admin-kpi-card h3 {
  margin: 0 0 6px 0;
  font-size: 0.95rem;
  color: #35536b;
}
.admin-kpi-value {
  margin: 0;
  font-size: 1.7rem;
  font-weight: 800;
  line-height: 1.05;
  color: #0f4c81;
}
.admin-table-card {
  border-color: #d6e3ef;
}
.messages-page {
  display: grid;
  gap: 16px;
}
.messages-empty-card {
  display: grid;
  gap: 10px;
  justify-items: start;
}
.messages-empty-card h3 {
  margin: 0;
  color: #123f67;
}
.messages-empty-card p {
  margin: 0;
  color: #556c80;
}
.messages-thread-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.messages-thread-card {
  display: grid;
  gap: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color: #d5e3ef;
  box-shadow: 0 8px 18px rgba(15, 76, 129, .05);
}
.messages-thread-head {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.messages-thread-avatar {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(140deg, #0b4ea2 0%, #2f7ed8 100%);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(11, 78, 162, .22);
}
.messages-thread-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.messages-thread-main h3 {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.35;
}
.messages-thread-main h3 a {
  color: #123f67;
  text-decoration: none;
}
.messages-thread-main h3 a:hover {
  text-decoration: underline;
}
.messages-thread-user {
  margin: 0;
  color: #60758a;
  font-weight: 600;
}
.messages-thread-preview {
  margin: 0;
  color: #4f6579;
  line-height: 1.55;
}
.messages-thread-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.message-thread-page {
  display: grid;
  gap: 16px;
}
.message-thread-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, .95fr);
  gap: 18px;
  align-items: start;
}
.message-thread-main,
.message-thread-sidebar {
  display: grid;
  gap: 16px;
}
.message-thread-sidebar {
  position: sticky;
  top: 86px;
}
.thread-meta-card--v2 {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color: #d5e3ef;
}
.thread-meta-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.thread-meta-head h1 {
  margin: 0;
  color: #123f67;
}
.thread-meta-head p {
  margin: 4px 0 0;
  color: #5a7085;
  font-weight: 600;
}
.thread-meta-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.chat-box { display: grid; gap: 10px; max-height: 520px; overflow-y: auto; }
.chat-box--v2 {
  border-color: #d5e3ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.chat-row { display: flex; }
.chat-row.mine { justify-content: flex-end; }
.chat-row.theirs { justify-content: flex-start; }
.bubble { max-width: min(560px, 84%); background: #f1f7fb; border: 1px solid #d5e5f1; border-radius: 14px; padding: 12px; box-shadow: 0 8px 16px rgba(15, 76, 129, .04); }
.chat-row.mine .bubble { background: #e7f8f2; border-color: #c8eadf; }
.bubble p { margin: 0 0 6px 0; }
.bubble small { color: var(--muted); }
.thread-meta-card p { margin: 0 0 8px 0; }
.thread-meta-card p:last-child { margin-bottom: 0; }
.chat-message-actions {
  margin-top: 8px;
}
.interview-card { margin-bottom: 12px; }
.interview-card--v2 {
  margin-bottom: 0;
  border-color: #d5e3ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.interview-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.interview-card-head h2 { margin: 0; }
.interview-card-head p {
  margin: 4px 0 0;
  color: #60758a;
  font-size: .92rem;
}
.interview-list {
  display: grid;
  gap: 10px;
}
.interview-item {
  border: 1px solid #dbe8f3;
  border-radius: 12px;
  background: #f9fcff;
  padding: 12px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.interview-item-main h3 { margin: 0 0 4px 0; }
.interview-item-main p { margin: 0 0 4px 0; }
.interview-item-side {
  min-width: 130px;
  display: grid;
  gap: 6px;
  justify-items: end;
}
.interview-item-side small { color: var(--muted); text-align: right; }
.interview-actions {
  display: grid;
  gap: 6px;
  width: 100%;
}
.interview-actions .btn {
  min-width: 120px;
}
.message-compose-card,
.interview-plan-card {
  border-color: #d5e3ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.chat-attachments {
  display: grid;
  gap: 6px;
  margin: 6px 0;
}
.chat-attachment {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 6px 10px;
  border: 1px solid #cfe1f2;
  border-radius: 8px;
  background: #ffffff;
  color: #0f4c81;
  text-decoration: none;
}
.chat-attachment:hover {
  background: #eef6ff;
  text-decoration: none;
}
.chat-attachment-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 22px;
  border-radius: 6px;
  border: 1px solid #c9ddef;
  background: #f3f8fe;
  color: #0f4c81;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: .02em;
}
.chat-attachment-meta {
  display: grid;
  gap: 2px;
}
.chat-attachment-name {
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-attachment-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border: 1px solid #d8e6f4;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}
.chat-attachment-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.chat-attachment small {
  color: #506174;
  font-size: .8rem;
}

.listing-list {
  display: grid;
  gap: 12px;
}
.listing-list-item {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  border: 1px solid #d7e4ef;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  padding: 16px 18px;
  box-shadow: 0 10px 22px rgba(15, 76, 129, .04);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.listing-list-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(15, 76, 129, .07);
  border-color: #c7dced;
}
.listing-list-item--hs {
  background: linear-gradient(180deg, #ffffff 0%, #fbfefc 100%);
}
.listing-list-item--uni {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}
.listing-list-item--company {
  background: linear-gradient(180deg, #ffffff 0%, #fffdfa 100%);
}
.listing-list-media-wrap {
  width: 120px;
  height: 90px;
  border: 1px solid #dbe7f2;
  border-radius: 14px;
  background: #f7fbff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.listing-list-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  padding: 0;
}
.listing-list-main {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.listing-list-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.listing-list-date {
  color: #6f8599;
  font-size: .88rem;
  white-space: nowrap;
}
.listing-list-title {
  margin: 0;
  font-size: 1.14rem;
  line-height: 1.34;
}
.listing-list-company {
  margin: 0;
  font-size: 1rem;
  color: #14283d;
  font-weight: 600;
}
.listing-list-location {
  margin: 0;
  color: #6f8599;
  font-weight: 500;
}
.listing-list-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.listing-list-meta-badge {
  background: #f4f8fc;
  color: #42586f;
  border: 1px solid #d6e3ed;
}
.listing-list-side {
  display: grid;
  gap: 10px;
  justify-items: end;
}
.listing-list-cta {
  background: #49c95a;
  border-color: #49c95a;
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  padding: 12px 24px;
  white-space: nowrap;
}
.listing-list-cta,
.listing-list-expiry {
  min-width: 128px;
  text-align: center;
}
.listing-list-cta:hover {
  background: #3eb54f;
  border-color: #3eb54f;
}
.listing-list-cta.is-disabled,
.listing-list-cta.is-disabled:hover {
  background: #e8edf3;
  border-color: #c9d4e0;
  color: #6d7f92;
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
}
.listing-list-expiry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  padding: 9px 14px;
  border-radius: 999px;
  background: #f3fff5;
  border: 1px solid #98dfaa;
  color: #34a44e;
  font-weight: 700;
  white-space: nowrap;
}
.listing-list-expiry.is-expired {
  background: #fdecea;
  border-color: #f5c2c0;
  color: #a92922;
}
.listing-list-expiry.is-muted {
  background: #f7f9fc;
  border-color: #d8e1ec;
  color: #5e7388;
}

.listing-card {
  display: grid;
  gap: 12px;
  border-color: #cfe0ec;
  background: linear-gradient(152deg, #ffffff 0%, #f8fcff 60%, #f2f9f7 100%);
  border-left: 4px solid #90b5d4;
}
.listing-card--hs {
  background: linear-gradient(150deg, #ffffff 0%, #f3f8ff 62%, #edf4ff 100%);
  border-left-color: #4d8fcb;
}
.listing-card--uni {
  background: linear-gradient(150deg, #ffffff 0%, #f2fbf7 62%, #eaf7f1 100%);
  border-left-color: #31a37f;
}
.listing-card--company {
  background: linear-gradient(150deg, #ffffff 0%, #fff8ef 62%, #fff3e3 100%);
  border-left-color: #ff8a00;
}
.listing-card-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.listing-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.listing-type-icon {
  font-size: 0.95rem;
  line-height: 1;
}
.listing-card--hs .listing-type-badge {
  background: #e5f1ff;
  color: #1c5f99;
}
.listing-card--uni .listing-type-badge {
  background: #e4f7ef;
  color: #1f7a5f;
}
.listing-card--company .listing-type-badge {
  background: #fff0da;
  color: #b86500;
}
.listing-card-location {
  font-size: 0.86rem;
  color: var(--muted);
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid #d6e3ed;
  background: #fbfdff;
}
.listing-card-profile {
  display: flex;
  gap: 10px;
  align-items: center;
}
.listing-card-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #d9e1e7;
}
.listing-card-profile-text h3 { margin: 0 0 2px 0; }
.listing-title-link {
  color: inherit;
  text-decoration: none;
}
.listing-title-link:hover {
  text-decoration: underline;
}
.listing-card-profile-text p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}
.listing-card-title { margin: 0; }
.listing-card-summary { margin: 0; color: #314556; line-height: 1.45; }
.listing-card-kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.listing-card-kv p {
  margin: 0;
  border: 1px solid #e2ebf2;
  border-radius: 8px;
  background: #fbfdff;
  padding: 8px 10px;
}
.listing-card-kv span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  margin-bottom: 2px;
}
.listing-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}
.listing-card-tags .badge { margin-bottom: 0; }
.listing-card-actions {
  padding-top: 8px;
  border-top: 1px dashed #d6e3ed;
}
.section-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 10px;
}
.section-title-main {
  display: grid;
  gap: 4px;
}
.section-title-row h2{
  margin: 0;
}
.section-title-row small{
  color: #607689;
  font-weight: 600;
}
.section-more-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1593e0;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.section-more-link:hover {
  color: #0b7fca;
}
.section-more-arrow {
  font-size: 1.35rem;
  line-height: 1;
}
.section-title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.section-title-actions small {
  color: #526273;
}
.match-per-page-form {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.match-per-page-form label {
  margin: 0;
  color: #526273;
  font-size: 0.9rem;
}
.match-per-page-form select {
  width: auto;
  min-width: 72px;
  padding: 8px 10px;
}
.match-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.match-card {
  border: 1px solid #dce5ee;
  background: #fbfdff;
}
.match-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.match-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  height: 32px;
  border-radius: 999px;
  background: #eaf4ff;
  border: 1px solid #c8def7;
  color: #0f4c81;
  font-weight: 800;
}
.match-title {
  color: #0f4c81;
  text-decoration: none;
  font-weight: 700;
}
.match-title:hover { text-decoration: underline; }
.match-subtitle {
  margin: 8px 0 0 0;
  color: #526273;
}
.match-why-title {
  margin: 10px 0 4px 0;
  font-weight: 700;
  color: #35516b;
  font-size: 0.92rem;
}
.match-reasons {
  margin: 8px 0 0 0;
  padding-left: 18px;
  color: #2a3f53;
}
.match-reasons li {
  margin: 2px 0;
}
.match-pagination {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.match-pagination-status {
  color: #526273;
  font-size: 0.92rem;
}
.match-pagination .btn.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.dashboard-home {
  display: grid;
  gap: 16px;
}
.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, .72fr);
  gap: 18px;
  align-items: stretch;
  background:
    radial-gradient(620px 220px at 0% 0%, rgba(11, 78, 162, .10), transparent 62%),
    linear-gradient(145deg, #ffffff 0%, #f7fbff 62%, #eef6ff 100%);
  border-color: #cfe0ec;
  box-shadow: 0 18px 36px rgba(15, 76, 129, .08);
}
.dashboard-hero--company {
  background:
    radial-gradient(620px 220px at 0% 0%, rgba(255, 122, 0, .12), transparent 62%),
    linear-gradient(145deg, #ffffff 0%, #fffaf4 62%, #fff3e8 100%);
}
.dashboard-hero-copy {
  display: grid;
  gap: 12px;
  align-content: start;
}
.dashboard-hero-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.dashboard-hero-user {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  background: rgba(255, 255, 255, .86);
  border: 1px solid #d7e5f1;
  color: #33526d;
  font-weight: 700;
  font-size: .84rem;
}
.dashboard-hero h1 {
  margin: 0;
  color: #113d66;
  font-size: clamp(1.5rem, 2.2vw, 2.15rem);
  line-height: 1.16;
}
.dashboard-hero p {
  margin: 0;
  color: #4b6277;
  line-height: 1.65;
}
.dashboard-hero-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.dashboard-hero-summary {
  display: grid;
  gap: 12px;
}
.dashboard-hero-panel {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid #d8e6f1;
  background: rgba(255, 255, 255, .82);
}
.dashboard-hero-panel span,
.dashboard-hero-panel small {
  color: #60758a;
}
.dashboard-hero-panel strong {
  color: #123f67;
  font-size: 1.2rem;
}
.dashboard-kpi-grid {
  margin-top: 0;
}
.dashboard-kpi-card {
  display: grid;
  gap: 6px;
  min-height: 118px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color: #d4e2ee;
  box-shadow: 0 8px 18px rgba(15, 76, 129, .04);
}
.dashboard-kpi-card small {
  color: #60758a;
  font-size: .84rem;
  font-weight: 700;
}
.dashboard-kpi-card strong {
  color: #113d66;
  font-size: 1.45rem;
  line-height: 1.14;
}
.dashboard-kpi-card p {
  margin: 0;
  color: #526273;
  font-size: .92rem;
}
.dashboard-role-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-color: #d5e3ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.dashboard-role-note h3 {
  margin: 0 0 4px 0;
  color: #123f67;
}
.dashboard-role-note p {
  margin: 0;
  color: #556c80;
  line-height: 1.6;
}
.dashboard-match-section {
  border-color: #d5e3ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.dashboard-match-grid {
  margin-top: 12px;
}
.dashboard-list-page{
  display:grid;
  gap:14px;
}
.dashboard-list-head{
  align-items:end;
}
.dashboard-empty-card{
  text-align:center;
  background:linear-gradient(180deg,#fbfdff 0%,#f4f9ff 100%);
}
.dashboard-empty-card h3,
.dashboard-empty-card p{
  margin:0 0 8px;
}
.dashboard-list-grid{
  display:grid;
  gap:14px;
}
.dashboard-list-card{
  display:grid;
  gap:14px;
  border-color:#d6e4f2;
  box-shadow:0 8px 20px rgba(19,63,103,.05);
}
.dashboard-list-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.dashboard-list-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.dashboard-list-id{
  color:#6f859a;
  font-size:.88rem;
  font-weight:700;
}
.dashboard-status-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
}
.dashboard-status-badge.is-success{
  background:#dcfce7;
  color:#166534;
}
.dashboard-status-badge.is-pending{
  background:#fff7d6;
  color:#92400e;
}
.dashboard-status-badge.is-muted{
  background:#eef2f7;
  color:#475569;
}
.dashboard-list-card-body{
  display:grid;
  gap:6px;
}
.dashboard-list-card-body h3{
  margin:0;
  color:#0f3559;
}
.dashboard-list-location{
  margin:0;
  color:#5c7084;
}
.dashboard-list-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.dashboard-list-meta-card{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border:1px solid #d8e5f2;
  border-radius:12px;
  background:#fbfdff;
}
.dashboard-list-meta-card small{
  color:#6b8197;
}
.dashboard-list-meta-card strong{
  color:#0f3559;
}
.dashboard-list-meta-card span{
  color:#5d7085;
  font-size:.9rem;
  line-height:1.5;
}
.dashboard-list-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.dashboard-panel-card{
  display:grid;
  gap:14px;
  border-color:#d6e4f2;
  box-shadow:0 8px 20px rgba(19,63,103,.05);
}
.dashboard-application-grid{
  gap:14px;
}
.dashboard-application-card{
  gap:12px;
}
.dashboard-application-actions{
  display:grid;
  gap:10px;
}
.notification-bulk-bar{
  align-items:end;
}
.notification-list-grid{
  gap:14px;
}
.notification-card.is-unread{
  border-left:4px solid #0f4c81;
}
.notification-card.is-read{
  opacity:.95;
}
.dashboard-list-source{
  margin:6px 0 0;
  font-size:.88rem;
  font-weight:700;
  color:#0f4c81;
}
.notif-item-source{
  display:block;
  margin-top:2px;
  font-size:.72rem;
  font-weight:700;
  color:#0f4c81;
}
.dashboard-empty-note {
  margin: 10px 0 0 0;
  color: #526273;
}
.candidate-page {
  gap: 16px;
}
.candidate-summary-grid .app-summary-card {
  border-color: #d6e4f2;
  box-shadow: 0 8px 20px rgba(19, 63, 103, .05);
}
.candidate-filter-form {
  align-items: end;
}
.candidate-list-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.candidate-card {
  gap: 12px;
}
.candidate-card.is-shortlisted {
  border-color: rgba(14, 116, 144, .28);
  box-shadow: 0 12px 26px rgba(14, 116, 144, .10);
}
.candidate-card-top {
  align-items: center;
}
.candidate-card-body h3 {
  line-height: 1.35;
}
.candidate-meta-grid {
  grid-template-columns: 1.05fr 1.4fr;
}
.candidate-reasons {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: #54697d;
  font-size: .92rem;
}
.candidate-reasons li {
  margin: 0;
  line-height: 1.45;
}
.candidate-card-actions {
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.candidate-card-actions .btn {
  min-width: 132px;
  justify-content: center;
}
.candidate-inline-form {
  display: inline-flex;
}
.candidate-filter-check {
  display: grid;
  gap: 6px;
  align-self: center;
}
.candidate-filter-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--brand-primary);
}
.candidate-filter-check small {
  color: #698095;
  font-size: .82rem;
}
.candidate-note-form {
  display: grid;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid rgba(190, 208, 226, .55);
}
.candidate-note-form label {
  display: grid;
  gap: 6px;
}
.candidate-note-form label span {
  font-size: .85rem;
  font-weight: 800;
  color: #35506a;
}
.candidate-note-form textarea {
  min-height: 84px;
  border-radius: 14px;
  border: 1px solid #c6d8ea;
  background: #f8fbff;
  padding: 12px 14px;
  color: #19324d;
  resize: vertical;
}
.candidate-note-form textarea:focus {
  outline: none;
  border-color: rgba(14, 116, 144, .42);
  box-shadow: 0 0 0 4px rgba(14, 116, 144, .10);
}
.candidate-note-actions {
  display: flex;
  justify-content: flex-end;
}
.match-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.match-pagination-status {
  color: #5f7388;
  font-size: .95rem;
  font-weight: 700;
}
.section-title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.section-title-actions small {
  color: #60758a;
  font-weight: 700;
}
.onboarding-card {
  margin-top: 14px;
  border-color: #cfe0ec;
  background: linear-gradient(165deg, #ffffff 0%, #f4f9ff 70%, #eef6ff 100%);
}
.onboarding-card--v2 {
  margin-top: 0;
  box-shadow: 0 10px 22px rgba(15, 76, 129, .05);
}
.onboarding-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.onboarding-head h3 {
  margin: 0;
  color: #113f67;
}
.onboarding-head p {
  margin: 4px 0 0;
  color: #4c6479;
}
.onboarding-percent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid #c8dff4;
  background: #ffffff;
  color: #0b4ea2;
  font-weight: 800;
}
.onboarding-progress {
  margin-top: 10px;
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: #ddeaf7;
  overflow: hidden;
}
.onboarding-progress > span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #1b74d6 0%, #34a5ff 100%);
}
.onboarding-meta {
  margin: 10px 0 0;
  color: #37556e;
  font-weight: 700;
}
.onboarding-ok {
  margin: 8px 0 0;
  color: #0f7a3b;
  font-weight: 700;
}
.onboarding-missing {
  margin: 8px 0 0;
  color: #8e1c12;
  font-weight: 600;
}
.list-empty-card {
  grid-column: 1 / -1;
}
.list-empty-card p { margin: 0; }

.listing-detail { display: grid; gap: 16px; }
.listing-detail-v2 { margin-top: 2px; }
.listing-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: #5a7085;
  font-size: .92rem;
}
.listing-breadcrumb a {
  color: #0f4c81;
  text-decoration: none;
  font-weight: 700;
}
.listing-breadcrumb a:hover { text-decoration: underline; }
.listing-expired-alert {
  border-left: 4px solid #d64545;
  background: #fff5f5;
}
.listing-expired-alert strong { color: #8e1c12; display:block; }
.listing-expired-alert p { margin: 6px 0 0; color: #8e1c12; }

.listing-detail-shell {
  display: grid;
  grid-template-columns: minmax(0, 2.05fr) minmax(320px, .95fr);
  gap: 18px;
  align-items: start;
}
.listing-detail-main,
.listing-detail-sidebar {
  display: grid;
  gap: 16px;
}
.listing-detail-sidebar {
  position: sticky;
  top: 86px;
}

.job-hero-card {
  padding: 14px;
  background:
    radial-gradient(640px 220px at 16% 0%, rgba(11, 78, 162, .08), transparent 64%),
    linear-gradient(145deg, #ffffff 0%, #f8fcff 60%, #eef6ff 100%);
  border-color: #cfe0ec;
  overflow: hidden;
  box-shadow: 0 18px 36px rgba(15, 76, 129, .08);
}
.job-hero-card--hs {
  background:
    radial-gradient(560px 200px at 10% 0%, rgba(38, 132, 72, .09), transparent 62%),
    linear-gradient(145deg, #ffffff 0%, #f7fcf9 62%, #eef8f1 100%);
}
.job-hero-card--uni {
  background:
    radial-gradient(560px 200px at 10% 0%, rgba(11, 78, 162, .09), transparent 62%),
    linear-gradient(145deg, #ffffff 0%, #f8fbff 62%, #eef4ff 100%);
}
.job-hero-card--company {
  background:
    radial-gradient(560px 200px at 10% 0%, rgba(255, 122, 0, .12), transparent 62%),
    linear-gradient(145deg, #ffffff 0%, #fffaf4 62%, #fff3e7 100%);
}
.job-hero-card--default { border-top: 0; }

.job-hero-media-wrap {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #d5e4f0;
  background: #f3f8fd;
  box-shadow: 0 14px 28px rgba(15, 76, 129, .10);
  height: clamp(180px, 22vw, 280px);
}
.job-hero-media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.job-hero-media-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10, 27, 44, .04) 0%, rgba(10, 27, 44, .10) 42%, rgba(10, 27, 44, .34) 100%),
    linear-gradient(90deg, rgba(15, 76, 129, .14) 0%, transparent 48%, rgba(255, 122, 0, .08) 100%);
  pointer-events: none;
}
.job-hero-media-badges {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  max-width: calc(100% - 132px);
}
.job-hero-media-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(215, 229, 241, .95);
  color: #103a62;
  font-size: .78rem;
  font-weight: 800;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 16px rgba(15, 23, 42, .12);
}
.job-hero-media-chip--muted {
  background: rgba(247, 251, 255, .88);
  color: #35526d;
}
.job-hero-media-chip--accent {
  background: rgba(255, 244, 230, .94);
  color: #b35d00;
}
.job-hero-media-owner {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 210px;
  max-width: min(280px, calc(100% - 28px));
  padding: 8px 10px 8px 8px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(215, 229, 241, .95);
  box-shadow: 0 12px 22px rgba(15, 23, 42, .16);
  backdrop-filter: blur(10px);
}
.job-hero-media-owner-avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #d9e5ef;
  background: #eef5fb;
}
.job-hero-media-owner-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.job-hero-media-owner-text {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.job-hero-media-owner-text strong,
.job-hero-media-owner-text span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.job-hero-media-owner-text strong {
  color: #103a62;
  font-size: .88rem;
}
.job-hero-media-owner-text span {
  color: #5c7388;
  font-size: .76rem;
  font-weight: 700;
}

.job-hero-body {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}
.job-hero-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.job-hero-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.job-remaining {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid #bfe5cd;
  background: #ecfbf2;
  color: #10823d;
  padding: 4px 11px;
  font-size: .79rem;
  font-weight: 800;
}
.job-remaining.is-expired {
  border-color: #efc5c5;
  background: #fff0f0;
  color: #b12525;
}

.job-hero-actions {
  display: grid;
  gap: 8px;
  justify-items: end;
}
.job-apply-btn {
  background: linear-gradient(180deg, #35bb4d 0%, #26a53f 100%);
  border: 1px solid #209239;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 10px 22px rgba(39, 154, 63, .24);
}
.job-apply-btn:hover {
  background: linear-gradient(180deg, #2daf46 0%, #1f9537 100%);
  color: #fff;
}
.job-apply-btn.is-disabled,
.job-apply-btn.is-disabled:hover {
  background: #e8edf3;
  border-color: #c9d4e0;
  color: #6d7f92;
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
}
.job-apply-btn.full { width: 100%; text-align: center; }

.detail-back-btn {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid #b8d2ea;
  background: linear-gradient(180deg, #ffffff 0%, #edf6ff 100%);
  color: #0b4ea2;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(11, 78, 162, .10);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background-color .14s ease, color .14s ease;
  white-space: nowrap;
}
.detail-back-btn:hover {
  transform: translateY(-1px);
  border-color: #f47700;
  background: #f47700;
  color: #fff;
  box-shadow: 0 8px 16px rgba(255, 122, 0, .28);
}
.detail-back-btn:hover .detail-back-icon {
  background: #fff;
  color: #f47700;
}
.detail-back-icon {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0b4ea2;
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

.job-hero-copy-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(220px, .8fr);
  gap: 16px;
}
.job-hero-copy h1 {
  margin: 0 0 8px;
  color: #113d66;
  line-height: 1.16;
  font-size: clamp(1.5rem, 2.45vw, 2.2rem);
}
.job-hero-ownerline {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: #4a6076;
  font-weight: 600;
}
.job-hero-ownerline a {
  color: #0b4ea2;
  text-decoration: none;
}
.job-hero-ownerline a:hover { text-decoration: underline; }
.job-hero-summary {
  margin: 12px 0 0;
  color: #42586e;
  line-height: 1.68;
  font-size: 1rem;
}
.job-hero-quickfacts {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.job-quickfact {
  padding: 11px 12px;
  border-radius: 12px;
  border: 1px solid #d8e6f1;
  background: rgba(255, 255, 255, .72);
}
.job-quickfact span {
  display: block;
  color: #60758a;
  font-size: .79rem;
  margin-bottom: 3px;
}
.job-quickfact strong {
  color: #173f64;
  font-size: .95rem;
  line-height: 1.4;
}

.job-hero-side {
  display: grid;
  gap: 12px;
  align-content: start;
}
.job-hero-owner-card,
.job-hero-side-note {
  padding: 14px;
  border: 1px solid #d8e6f1;
  border-radius: 14px;
  background: rgba(255, 255, 255, .78);
}
.job-hero-owner-card {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}
.job-hero-owner-avatar {
  width: 62px;
  height: 62px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #d7e4f0;
  background: #fff;
}
.job-hero-owner-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.job-hero-owner-text strong {
  display: block;
  color: #173f64;
  line-height: 1.35;
}
.job-hero-owner-text span,
.job-hero-side-note span {
  display: block;
  color: #60758a;
  font-size: .84rem;
}
.job-hero-side-note strong {
  display: block;
  margin-top: 4px;
  color: #113d66;
  font-size: 1rem;
}

.job-hero-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.job-meta-item {
  margin: 0;
  padding: 12px;
  border: 1px solid #dbe8f3;
  border-radius: 12px;
  background: #fbfdff;
}
.job-meta-item span {
  display: block;
  color: #60758a;
  font-size: .82rem;
  margin-bottom: 2px;
}
.job-meta-item strong { color: #173f64; font-size: .98rem; }

.detail-block-head {
  display: grid;
  gap: 4px;
  margin-bottom: 12px;
}
.detail-block-head--tight { margin-bottom: 10px; }
.detail-block-head h2,
.detail-block-head h3 {
  margin: 0;
  color: #143f67;
}
.detail-block-head p {
  margin: 0;
  color: #60758a;
  font-size: .92rem;
}

.job-description-card,
.job-company-card,
.job-side-card {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color: #d4e2ee;
  box-shadow: 0 8px 18px rgba(15, 76, 129, .05);
}
.job-description-content {
  color: #24384a;
  line-height: 1.78;
}
.job-company-about {
  margin: 0;
  color: #2d4254;
  line-height: 1.72;
}

.company-about-card {
  background: linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
}
.company-about-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.company-about-logo {
  width: 62px;
  height: 62px;
  border-radius: 16px;
  border: 1px solid #d8e5f0;
  background: #fff;
  box-shadow: 0 8px 20px rgba(15, 76, 129, .10);
  overflow: hidden;
}
.company-about-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.company-about-head-text strong {
  display: block;
  font-size: 1.12rem;
  color: #133f66;
}
.company-about-head-text p {
  margin: 3px 0 0;
  color: #60758a;
}
.company-about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 16px 24px;
}
.company-about-main {
  display: grid;
  gap: 10px;
}
.company-about-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0a7ac5;
  font-weight: 800;
  text-decoration: none;
}
.company-about-link:hover {
  text-decoration: underline;
}
.company-about-meta {
  display: grid;
  gap: 8px;
  align-content: start;
}
.company-about-row {
  display: grid;
  grid-template-columns: 136px 1fr;
  gap: 8px;
  align-items: start;
  padding: 10px 12px;
  border: 1px solid #e1ebf4;
  border-radius: 12px;
  background: #fbfdff;
}
.company-about-row span {
  color: #253f56;
  font-weight: 700;
}
.company-about-row strong {
  margin: 0;
  color: #1c3247;
  text-align: right;
  word-break: break-word;
}
.company-about-row strong a {
  color: #0a7ac5;
  text-decoration: none;
}
.company-about-row strong a:hover {
  text-decoration: underline;
}

.detail-kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.detail-kv p {
  margin: 0;
  padding: 12px;
  border: 1px solid #e2ebf2;
  border-radius: 12px;
  background: #fbfdff;
}
.detail-kv span {
  display: block;
  color: var(--muted);
  font-size: 0.84rem;
  margin-bottom: 4px;
}
.detail-kv strong {
  color: #173f64;
  line-height: 1.45;
}
.detail-kv.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.detail-kv.one-col { grid-template-columns: 1fr; }

.job-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0;
}

.job-side-card h3 {
  margin: 0;
}
.job-side-card {
  padding: 14px;
}
.job-side-glance {
  display: grid;
  gap: 12px;
  background:
    radial-gradient(220px 110px at 0% 0%, rgba(11, 78, 162, .09), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.job-side-glance-head {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.job-side-glance-avatar {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #d7e4ef;
  background: #eef5fb;
  box-shadow: 0 8px 18px rgba(15, 76, 129, .10);
}
.job-side-glance-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.job-side-glance-copy {
  display: grid;
  gap: 2px;
}
.job-side-glance-copy strong {
  color: #143f67;
  font-size: 1rem;
  line-height: 1.25;
}
.job-side-glance-copy span {
  color: #60758a;
  font-size: .82rem;
}
.job-side-glance-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.job-side-glance-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef6ff;
  color: #0f4c81;
  border: 1px solid #d3e3f4;
  font-size: .74rem;
  font-weight: 700;
}
.job-side-glance-chip.is-expired {
  background: #fff1f1;
  color: #b42318;
  border-color: #f1c5c5;
}
.job-side-glance-summary {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid #deebf5;
  border-radius: 12px;
  background: rgba(255,255,255,.86);
}
.job-side-glance-summary span {
  color: #60758a;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.job-side-glance-summary strong {
  color: #153f65;
  line-height: 1.4;
}
.detail-kv--side p {
  padding: 10px 12px;
}
.job-side-primary {
  margin-top: 12px;
}
.job-side-action-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.job-side-secondary-btn {
  min-height: 42px;
}
.job-tools-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.job-tools-grid a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #dbe7f3;
  background: #f8fbff;
  color: #1b4366;
  font-weight: 700;
  text-decoration: none;
  padding: 8px 10px;
  text-align: center;
}
.job-tools-grid a:hover {
  background: #edf6ff;
  border-color: #bdd9ef;
}

.job-side-similar {
  display: grid;
  gap: 8px;
}
.job-side-similar-item {
  display: grid;
  gap: 4px;
  border: 1px solid #dce8f3;
  border-radius: 12px;
  background: #f9fcff;
  padding: 10px 12px;
  text-decoration: none;
  color: #173f64;
}
.job-side-similar-item strong {
  color: #143f67;
  line-height: 1.35;
  font-size: .92rem;
}
.job-side-similar-item small {
  color: #60758a;
  font-size: .78rem;
}
.job-side-similar-item:hover {
  background: #f1f8ff;
}

.detail-similar-section { margin-top: 2px; }
.detail-similar-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.detail-similar-card { gap: 10px; }
.detail-similar-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.detail-similar-score {
  background: #eef5ff;
  color: #0f4c81;
  border: 1px solid #d1e2f4;
}
.detail-similar-meta small { color: #526273; }
.detail-similar-reasons {
  margin: 0;
  color: #36536b;
  font-size: 0.9rem;
}

.home-section {
  margin: 0 0 26px 0;
}
.home-section .section-title-row {
  margin-bottom: 10px;
}
.home-section h2 {
  margin: 0;
  color: #0f3559;
  font-size: clamp(1.35rem, 1.8vw, 1.6rem);
}
.home-premium-proof{
  margin-top: 2px;
}
.home-premium-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.home-premium-stat{
  display: grid;
  gap: 6px;
  align-content: start;
  min-height: 118px;
  background:
    radial-gradient(220px 100px at 0% 0%, rgba(11, 78, 162, .08), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-color: #d5e4f1;
  box-shadow: 0 10px 24px rgba(15, 76, 129, .06);
}
.home-premium-stat small{
  color: #5a7287;
  font-weight: 700;
  font-size: .82rem;
}
.home-premium-stat strong{
  color: #0f4c81;
  font-size: 1.7rem;
  line-height: 1.05;
}
.home-premium-stat p{
  margin: 0;
  color: #4e657a;
  font-size: .9rem;
  line-height: 1.45;
}
.home-premium-features{
  margin-top: 2px;
}
.home-premium-card-grid{
  margin-top: 8px;
}
.home-premium-card{
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 190px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-color: #d8e6f1;
  box-shadow: 0 12px 28px rgba(15, 76, 129, .05);
}
.home-premium-card-eyebrow{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef6ff;
  color: #0f4c81;
  font-size: .76rem;
  font-weight: 800;
}
.home-premium-card h3{
  margin: 0;
  color: #123f67;
  font-size: 1.08rem;
  line-height: 1.35;
}
.home-premium-card p{
  margin: 0;
  color: #496074;
  line-height: 1.6;
}
.home-role-grid,
.home-module-grid {
  margin-top: 8px;
}
.home-kpi-grid,
.home-latest-grid,
.home-blog-grid {
  margin-top: 8px;
}
.home-kpi-card {
  display: grid;
  gap: 8px;
  align-content: center;
  min-height: 110px;
  background: linear-gradient(160deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 6px 14px rgba(11, 78, 162, .06);
}
.home-kpi-card strong {
  color: #36536b;
  font-size: .9rem;
}
.home-kpi-card span {
  color: #0f4c81;
  font-size: 1.7rem;
  font-weight: 800;
  line-height: 1.1;
}
.home-role-card,
.home-module-card {
  display: grid;
  gap: 10px;
  align-content: start;
  transition: transform .15s ease, box-shadow .15s ease;
}
.home-role-card {
  gap: 12px;
  border-color: #d4e2ee;
  box-shadow: 0 12px 24px rgba(15, 76, 129, .05);
}
.home-role-card--hs {
  background: linear-gradient(180deg, #ffffff 0%, #f5fcf8 100%);
}
.home-role-card--uni {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}
.home-role-card--company {
  background: linear-gradient(180deg, #ffffff 0%, #fff9f1 100%);
}
.home-role-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #edf5ff;
  color: #0f4c81;
  font-size: .75rem;
  font-weight: 800;
}
.home-role-card h3,
.home-module-card h3,
.home-flow-card h3 {
  margin: 0;
  color: #123f67;
  font-size: 1.08rem;
}
.home-role-card:hover,
.home-module-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(15, 76, 129, .08);
}
.home-role-card p,
.home-module-card p {
  margin: 0;
  color: #3f5468;
  line-height: 1.5;
}
.home-role-card .btn {
  width: fit-content;
}
.home-module-card a {
  color: #0b4ea2;
  font-weight: 700;
  text-decoration: none;
}
.home-module-card a:hover {
  text-decoration: underline;
}
.home-latest-card,
.home-blog-card {
  display: grid;
  gap: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  padding: 16px;
}
.home-card-cover {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #d6e5f2;
  background: linear-gradient(180deg, #eff6ff 0%, #f7fbff 100%);
  aspect-ratio: 16 / 8.4;
}
.home-card-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.home-latest-content {
  display: grid;
  gap: 8px;
}
.home-latest-cover {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
  background: linear-gradient(180deg, #f2f7ff 0%, #eaf3ff 100%);
}
.home-latest-cover img {
  object-fit: cover;
  object-position: center;
  padding: 0;
}
.home-blog-cover img {
  object-fit: cover;
  object-position: center top;
}
.home-blog-cover {
  aspect-ratio: 3 / 2;
}
.home-blog-card {
  gap: 12px;
  border-color: #d4e2ee;
  box-shadow: 0 12px 24px rgba(15, 76, 129, .05);
}
.home-blog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.home-blog-head small {
  color: #60758a;
}
.home-blog-footer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.home-latest-card h3,
.home-blog-card h3 {
  margin: 0;
}
.home-latest-card h3 a,
.home-blog-card h3 a {
  color: #0f3559;
  text-decoration: none;
}
.home-latest-card h3 a:hover,
.home-blog-card h3 a:hover {
  text-decoration: underline;
}
.home-latest-card p,
.home-blog-card p {
  margin: 0;
  color: #4b6073;
  line-height: 1.5;
}
.home-latest-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.home-latest-head small {
  color: #607689;
}
.home-latest-card {
  gap: 12px;
  padding: 14px;
  border-color: #d4e2ee;
  box-shadow: 0 12px 24px rgba(15, 76, 129, .05);
}
.home-latest-card h3 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-latest-owner {
  color: #26435a;
  font-weight: 700;
  font-size: .92rem;
}
.home-latest-location {
  color: #60758a;
  font-size: .88rem;
}
.home-latest-summary {
  color: #456073;
  font-size: .9rem;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-latest-footer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: 2px;
}
.home-latest-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #d3e3f2;
  background: #f7fbff;
  color: #0b4ea2;
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
}
.home-latest-link:hover {
  background: #edf6ff;
  border-color: #bfd7ec;
}
.home-blog-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #5a7084;
  font-size: .9rem;
}
.home-flow-section .grid.two {
  margin-top: 8px;
}
.home-flow-grid {
  align-items: stretch;
}
.home-flow-card {
  display: grid;
  gap: 18px;
  padding: 18px;
  border-color: #d4e2ee;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 12px 24px rgba(15, 76, 129, .05);
}
.home-flow-card--student {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.home-flow-card--company {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}
.home-flow-head {
  display: grid;
  gap: 8px;
}
.home-flow-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #edf5ff;
  color: #0f4c81;
  font-size: .76rem;
  font-weight: 800;
}
.home-flow-steps {
  display: grid;
  gap: 12px;
}
.home-flow-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-top: 1px solid #e6eff7;
}
.home-flow-step:first-child {
  padding-top: 0;
  border-top: 0;
}
.home-flow-step-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0f7d8d 0%, #0f4c81 100%);
  color: #ffffff;
  font-size: .88rem;
  font-weight: 800;
  box-shadow: 0 10px 18px rgba(15, 76, 129, .14);
}
.home-flow-step strong {
  display: block;
  margin: 0 0 4px 0;
  color: #123f67;
  font-size: .96rem;
}
.home-flow-step p {
  margin: 0;
  color: #4b6073;
  line-height: 1.55;
}
.home-quick-actions .card {
  background: linear-gradient(160deg, #ffffff 0%, #f5fbff 62%, #edf7ff 100%);
  border-color: #cfe0ec;
}
.home-quick-actions .card p {
  margin: 6px 0 0 0;
  color: #4b6073;
}
.home-my-stats-grid {
  margin-top: 12px;
}
.home-my-stat {
  display: grid;
  gap: 7px;
  align-content: center;
  border-color: #d6e5f1;
  background: #ffffff;
}
.home-my-stat strong {
  color: #37536b;
  font-size: .9rem;
}
.home-my-stat span {
  color: #0f4c81;
  font-size: 1.45rem;
  font-weight: 800;
}

@media (max-width: 980px) {
  .grid.two, .grid.three, .grid.four, .grid.five, .form.two-col, .search-form { grid-template-columns: 1fr; }
  .grid.three.home-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.is-auth-page main.container { width: 94vw; }
  .auth-shell { grid-template-columns: 1fr; }
  .auth-side-card-sticky { position: static; top: auto; }
  .auth-role-summary { grid-template-columns: 1fr; }
  .register-role-grid { grid-template-columns: 1fr; }
  .auth-main-card,
  .auth-register-form,
  .auth-side-card { padding: 16px; }
  .auth-hero-card { gap: 12px; }
  .auth-hero-points { gap: 6px; }
  .auth-hero-pill {
    min-height: 30px;
    padding: 5px 10px;
    font-size: .82rem;
  }
  .password-input-wrap {
    flex-wrap: wrap;
    gap: 6px;
  }
  .password-input-wrap input {
    width: 100%;
  }
  .password-toggle {
    width: 100%;
    min-height: 38px;
  }
  .dashboard-list-meta-grid { grid-template-columns: 1fr; }
  .candidate-meta-grid { grid-template-columns: 1fr; }
  .candidate-card-actions { align-items: stretch; }
  .match-pagination { align-items: stretch; }
  .match-pagination .btn { width: 100%; justify-content: center; }
  .candidate-inline-form,
  .candidate-inline-form .btn,
  .candidate-card-actions .btn { width: 100%; }
  .candidate-note-actions .btn { width: 100%; justify-content: center; }
  .footer-cta-inner { flex-direction: column; align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .topbar { flex-wrap: wrap; row-gap: 10px; }
  .topbar { justify-content: space-between; }
  .brand { min-width: auto; flex: 1; }
  .brand-mark { height: 56px; min-width: 56px; }
  .brand-logo-wide { height: 56px; max-width: 290px; }
  .mobile-menu-toggle { display: inline-flex; }
  .header-nav-wrap {
    display: none;
    width: 100%;
    order: 3;
    border: 1px solid #d9e1e7;
    border-radius: 12px;
    background: #fff;
    padding: 10px;
  }
  .header-nav-wrap.is-open { display: grid; gap: 10px; }
  .header-nav-wrap .nav {
    display: grid;
    justify-content: stretch;
    gap: 6px;
  }
  .header-nav-wrap .nav-link { padding: 10px 12px; }
  .nav-link { font-size: 17px; }
  .header-nav-wrap .actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .header-nav-wrap .actions .btn {
    width: auto;
    min-width: 130px;
    text-align: center;
  }
  .notif-wrap{
    width: 100%;
  }
  .notif-btn{
    width: 100%;
    border-radius: 12px;
    height: 42px;
  }
  .notif-menu{
    position: static;
    width: 100%;
    margin-top: 8px;
  }
  .hero-merge {
    margin-top: -24px;
    width: 100%;
    position: relative;
    left: auto;
    right: auto;
    margin-left: 0;
    margin-right: 0;
  }
  .hero-inner { grid-template-columns: 1fr; padding:28px 16px 22px; }
  .hero-left { max-width:100%; padding-right: 0; }
  .hero-left h1 { font-size: 32px; }
  .hero-left p { font-size: 17px; }
  .home-hero-slim .hero-left { max-width: 100%; }
  .hero-cta .btn { min-width: 132px; text-align: center; }
  .hero-highlight-list { margin-top: 12px; }
  .hero-highlight-list li { font-size: .84rem; }
  .hero-illustration-bg { position: static; width: 100%; margin-top: 14px; filter:none; }
  .home-proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-premium-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-latest-cover {
    aspect-ratio: 16 / 9;
    border-radius: 14px;
  }
  .listing-list-item {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
  }
  .listing-list-media-wrap {
    width: 92px;
    height: 72px;
  }
  .listing-list-side {
    grid-column: 1 / -1;
    justify-items: start;
    padding-left: 2px;
    grid-auto-flow: column;
    align-items: center;
  }
  .listing-search-card-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .listing-results-bar {
    align-items: flex-start;
  }
  .dashboard-hero {
    grid-template-columns: 1fr;
  }
  .dashboard-role-note {
    flex-direction: column;
    align-items: flex-start;
  }
  .messages-thread-grid,
  .message-thread-layout {
    grid-template-columns: 1fr;
  }
  .message-thread-sidebar {
    position: static;
    top: auto;
  }
  .layout-with-sidebar { grid-template-columns: 1fr; }
  .layout-sidebar { position: static; }
  .theme-preset-grid { grid-template-columns: 1fr; }
  .menu-editor-row { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; }
  .prefill-grid { grid-template-columns: 1fr; }
  .hs-section .section-grid { grid-template-columns: 1fr; }
  .listing-card-kv { grid-template-columns: 1fr; }
  .match-grid { grid-template-columns: 1fr; }
  .section-title-row { flex-direction: column; align-items: flex-start; }
  .section-more-link { margin-top: 2px; }
  .section-title-actions { justify-content: flex-start; }
  .company-directory-search-card { grid-template-columns: 1fr; }
  .company-directory-grid { grid-template-columns: 1fr; }
  .company-directory-kv,
  .company-directory-actions { grid-template-columns: 1fr; }
  .company-directory-top {
    align-items: flex-start;
    flex-direction: column;
  }
  .pagination-wrap { flex-direction: column; }
  .listing-detail-shell { grid-template-columns: 1fr; }
  .listing-detail-sidebar { position: static; top: auto; }
  .listing-breadcrumb { flex-wrap: wrap; row-gap: 4px; }
  .job-hero-topline { flex-direction: column; }
  .job-hero-actions { justify-items: stretch; }
  .job-hero-actions .btn { width: 100%; text-align: center; }
  .job-hero-copy-grid { grid-template-columns: 1fr; }
  .job-hero-quickfacts { grid-template-columns: 1fr; }
  .job-hero-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .job-side-action-row { grid-template-columns: 1fr; }
  .job-hero-media-wrap { height: clamp(170px, 42vw, 240px); }
  .job-hero-media-badges {
    max-width: calc(100% - 24px);
  }
  .job-hero-media-owner {
    right: 12px;
    left: 12px;
    bottom: 12px;
    min-width: 0;
    max-width: none;
  }
  .detail-kv,
  .detail-kv.compact { grid-template-columns: 1fr; }
  .company-about-grid { grid-template-columns: 1fr; }
  .company-about-row { grid-template-columns: 1fr; }
  .company-about-row strong { text-align: left; }
  .job-tools-grid { grid-template-columns: 1fr; }
  .detail-similar-grid { grid-template-columns: 1fr; }
  .map-page-hero {
    grid-template-columns: 1fr;
  }
  .map-layout {
    grid-template-columns: 1fr;
  }
  .map-results-panel {
    height: auto;
    overflow: visible;
  }
  .map-canvas-panel {
    height: auto;
    overflow: visible;
  }
  .map {
    height: 420px;
  }
  .map-canvas-panel .map {
    height: 420px;
  }
  .map-address-actions {
    grid-template-columns: 1fr;
  }
  .map-location-menu {
    width: 100%;
  }
  .map-location-menu summary {
    width: 100%;
    justify-content: center;
  }
  .map-location-menu-panel {
    position: static;
    width: 100%;
    margin-top: 8px;
    box-shadow: none;
  }
  .map-page-hero {
    padding: 16px;
  }
  .map-page-hero-copy h1 {
    font-size: 1.7rem;
  }
}

@media (max-width: 640px) {
  .map-page {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .map-page-hero {
    order: 1;
    padding: 12px 14px;
  }
  .map-page-hero-copy h1 {
    font-size: 1.28rem;
    line-height: 1.15;
  }
  .map-page-hero-copy p {
    font-size: .86rem;
    line-height: 1.4;
  }
  .map-mobile-section--filters {
    order: 3;
  }
  .map-layout {
    order: 2;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }
  .map-canvas-panel {
    order: 1;
    padding: 10px;
    border-radius: 14px;
    width: 100%;
    min-width: 0;
  }
  .map-canvas-panel .map,
  .map {
    width: 100%;
    height: 360px;
    min-height: 360px;
    max-height: 360px;
    background: #eef5fb;
  }
  .map-mobile-section--results {
    order: 2;
    margin: 0;
  }
  .map-mobile-summary {
    list-style: none;
    display: grid;
    gap: 2px;
    padding: 12px 14px;
    border: 1px solid #d7e5f2;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(15, 76, 129, .06);
  }
  .map-mobile-section--results > .map-mobile-summary {
    border-radius: 16px;
    padding: 10px 14px;
  }
  .map-mobile-section--filters > .map-mobile-summary {
    border-radius: 16px;
  }
  .map-mobile-summary::-webkit-details-marker {
    display: none;
  }
  .map-mobile-summary span {
    color: #103a62;
    font-weight: 800;
    font-size: .95rem;
  }
  .map-mobile-summary small {
    color: #687d92;
    font-size: .76rem;
  }
  .map-mobile-section[open] > .map-mobile-summary {
    border-color: #c7d8ea;
    background: #f8fbff;
  }
  .map-mobile-section > .card {
    margin-top: 8px;
  }
  .map-mobile-section--filters[open] > .card {
    position: static;
    max-height: none;
    overflow-y: auto;
    margin-top: 10px;
  }
  .map-mobile-section--results[open] > .card {
    position: static;
    max-height: none;
    overflow: hidden;
    margin-top: 10px;
  }
  .map-toolbar {
    padding: 9px 10px;
  }
  .map-toolbar-row {
    gap: 6px;
  }
  .map-toolbar-group--actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .map-toolbar-group--actions > .btn:first-child,
  .map-toolbar-group--actions > .map-location-menu {
    grid-column: span 1;
  }
  .map-toolbar-group--actions > .btn:last-child {
    grid-column: 1 / -1;
  }
  .map-location-menu summary {
    width: 100%;
    justify-content: center;
  }
  .map-toolbar-group--inline,
  .map-toolbar-group--compact {
    min-width: 0;
    flex: 1 1 calc(50% - 4px);
  }
  .map-toolbar-group--compact select {
    width: 100%;
    min-width: 0;
  }
  .map-toolbar-status {
    justify-content: stretch;
    gap: 6px;
  }
  .status-strong {
    width: 100%;
  }
  .map-helper-note {
    font-size: .74rem;
    line-height: 1.35;
  }
  .map-results-panel {
    height: auto;
    max-height: none;
    padding: 10px;
    width: 100%;
  }
  .map-results-head {
    display: none;
  }
  .map-results-list {
    max-height: 52vh;
    overflow-y: auto;
    padding-right: 0;
  }
  .map-result-item {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
  }
  .map-result-media {
    width: 54px;
    height: 54px;
  }
  .map-result-body h3 {
    font-size: .84rem;
  }
  .map-result-actions {
    flex-direction: row;
    justify-content: flex-start;
    grid-column: 2 / -1;
  }
  .map-result-meta-line {
    font-size: .73rem;
  }
  .map-result-actions {
    gap: 6px;
  }
  .map-result-action-chip,
  .map-result-actions .map-result-apply {
    min-height: 26px;
    min-width: 26px;
    padding: 3px 8px;
  }
  .map-result-state-badge {
    min-height: 19px;
    padding: 2px 6px;
    font-size: .64rem;
  }
  .leaflet-popup-content-wrapper {
    border-radius: 18px;
  }
  .leaflet-popup-content {
    margin: 10px;
    min-width: 200px;
  }
  .map-popup-card {
    max-width: 220px;
    gap: 6px;
  }
  .map-popup-card h3 {
    font-size: .9rem;
    line-height: 1.3;
  }
  .map-popup-meta,
  .map-popup-company,
  .map-popup-location {
    font-size: .76rem;
  }
  .map-popup-pill {
    min-height: 22px;
    padding: 3px 8px;
    font-size: .67rem;
  }
  .map-popup-link {
    min-height: 30px;
    font-size: .72rem;
    flex: 1 1 calc(50% - 4px);
  }
  .container { width: 94vw; }
  body.is-auth-page main.container{ width: 94vw; }
  body.is-auth-page .layout-public .layout-content,
  body.is-auth-page .card.form,
  body.is-auth-page .card.form:not(.two-col){
    max-width: 100%;
  }
  .auth-main-card,
  .auth-side-card,
  .auth-register-form{
    padding: 14px;
  }
  .auth-main-card h1{
    font-size: 1.9rem;
    line-height: 1.14;
  }
  .auth-subtext{
    font-size: .97rem;
    line-height: 1.55;
  }
  .auth-hero-points{
    gap: 6px;
  }
  .auth-hero-pill{
    width: 100%;
    justify-content: center;
    text-align: center;
    min-height: 32px;
    font-size: .8rem;
  }
  .auth-shell-form .auth-side-card{
    display: none;
  }
  .auth-role-summary-card{
    padding: 10px 12px;
  }
  .register-role-card{
    padding: 14px;
  }
  .register-role-head{
    align-items: center;
    gap: 10px;
  }
  .role-icon{
    width: 38px;
    height: 38px;
    font-size: 11px;
  }
  .form-progress-top{
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .step-pill{
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
    min-width: 0;
    font-size: .82rem;
  }
  .step-icon{
    width: 24px;
    height: 24px;
    font-size: .76rem;
  }
  .home-fullscreen{
    --home-content-max: 94vw;
  }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom-inner { flex-direction: column; align-items: flex-start; }
  .footer-col {
    padding: 12px 14px;
  }
  .footer-col-content {
    display: none;
  }
  .footer-col.is-open .footer-col-content {
    display: grid;
  }
  .brand-logo-wide { height: 48px; max-width: 240px; }
  .mobile-menu-toggle { padding: 7px 10px; font-size: 0.9rem; }
  .hero-left h1 { font-size: 28px; line-height: 1.12; }
  .hero-left p { font-size: 16px; margin-bottom: 16px; }
  .home-hero-slim .hero-inner { padding: 22px 16px 18px; }
  .home-hero-slim .hero-left h1 { font-size: 29px; }
  .home-hero-stats { gap: 6px; }
  .home-hero-stat { font-size: .76rem; }
  .hero-cta { gap: 8px; }
  .hero-cta .btn { width: 100%; min-width: 0; padding: 10px 12px; font-size: 16px; }
  .hero-highlight-list li { width: 100%; justify-content: center; }
  .home-proof-grid { grid-template-columns: 1fr; }
  .home-premium-grid { grid-template-columns: 1fr; }
  .grid.three.home-blog-grid { grid-template-columns: 1fr; }
  .home-latest-cover {
    aspect-ratio: 16 / 10;
    border-radius: 12px;
  }
  .listing-list-item {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }
  .listing-list-media-wrap {
    width: 100%;
    height: 138px;
  }
  .listing-list-side {
    grid-auto-flow: row;
    justify-items: stretch;
    gap: 8px;
  }
  .listing-list-cta {
    padding: 10px 16px;
  }
  .listing-list-expiry {
    min-width: 0;
    padding: 8px 12px;
  }
  .map-result-item {
    grid-template-columns: 1fr;
  }
  .map-result-media {
    width: 100%;
    height: 148px;
  }
  .map-results-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .job-hero-owner-card {
    grid-template-columns: 54px minmax(0, 1fr);
  }
  .job-hero-owner-avatar {
    width: 54px;
    height: 54px;
  }
  .job-hero-media-badges {
    left: 10px;
    right: 10px;
    bottom: 78px;
    max-width: none;
  }
  .job-hero-media-owner {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 8px;
    padding: 7px 8px;
  }
  .job-hero-media-owner-avatar {
    width: 40px;
    height: 40px;
  }
  .job-hero-media-chip {
    min-height: 28px;
    padding: 5px 9px;
    font-size: .72rem;
  }
  .dashboard-hero-actions .btn {
    width: 100%;
    text-align: center;
  }
  .messages-thread-head {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .messages-thread-head .application-status {
    grid-column: 1 / -1;
    justify-self: start;
  }
  .thread-meta-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .thread-meta-actions .btn,
  .messages-thread-actions .btn {
    width: 100%;
    text-align: center;
  }
  .interview-item {
    flex-direction: column;
  }
  .interview-item-side {
    width: 100%;
    justify-items: start;
  }
  .interview-item-side small {
    text-align: left;
  }
  .onboarding-head { flex-direction: column; }
  .field-row { grid-template-columns: 1fr; }
  .form-stepper { flex-wrap: wrap; }
  .form-step-actions{
    grid-template-columns: 1fr;
  }
  .form-step-actions .btn{
    width: 100%;
    text-align: center;
  }
  .auth-inline-link,
  .auth-secondary-link{
    font-size: .92rem;
  }
  .register-submit-wrap .btn{
    min-height: 44px;
  }
}


/* Blog */
.blog-page{
  display:grid;
  gap:14px;
}
.blog-hero-card{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 48%,#f8fbff 100%);
  border-color:#d6e4f2;
}
.blog-hero-copy{
  display:grid;
  gap:8px;
}
.blog-hero-copy h1{
  margin:0;
}
.blog-hero-copy p{
  margin:0;
  max-width:760px;
  color:#4d6278;
  line-height:1.6;
}
.blog-hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.blog-layout{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(260px,1fr);
  gap:14px;
  align-items:start;
}
.blog-main,
.blog-sidebar{
  display:grid;
  gap:12px;
}
.blog-search-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.blog-featured{
  display:grid;
  grid-template-columns:minmax(220px,340px) minmax(0,1fr);
  gap:12px;
  align-items:stretch;
}
.blog-featured-top{
  display:grid;
  gap:8px;
}
.blog-featured-cover img,
.blog-card-cover img{
  width:100%;
  height:100%;
  max-height:260px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid #dce7f2;
}
.blog-post-cover{
  margin: 8px 0 14px;
}
.blog-post-cover img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  border-radius:10px;
  border:1px solid #dce7f2;
  background:transparent;
  display:block;
}
.blog-show-page{
  gap: 16px;
}
.blog-layout--show{
  align-items: start;
}
.blog-post--premium{
  display: grid;
  gap: 18px;
  padding: 20px;
  border-color: #d7e4ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 16px 32px rgba(15, 76, 129, .06);
}
.blog-post-head{
  display: grid;
  gap: 14px;
}
.blog-post-head-copy{
  display: grid;
  gap: 10px;
}
.blog-meta--premium{
  gap: 10px 12px;
  font-size: .88rem;
}
.blog-post-cover--premium{
  margin: 0;
}
.blog-post-cover--premium img{
  border-radius: 16px;
  border: 1px solid #d8e4ef;
  box-shadow: 0 10px 24px rgba(15, 76, 129, .05);
}
.blog-featured-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.blog-featured-body h2,
.blog-card-body h3{
  margin:6px 0;
}
.blog-featured-body h2 a,
.blog-card-body h3 a,
.blog-post h1{
  color:#0f3559;
  text-decoration:none;
}
.blog-featured-body h2 a:hover,
.blog-card-body h3 a:hover{
  text-decoration:underline;
}
.blog-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:#5d7085;
  font-size:.9rem;
}
.blog-meta-category{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.blog-meta-category .blog-category-icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
}
.blog-meta a{
  color:#0b4ea2;
  text-decoration:none;
}
.blog-meta a:hover{
  text-decoration:underline;
}
.blog-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:4px 0 10px;
}
.blog-tag{
  display:inline-flex;
  align-items:center;
  border:1px solid #d5e3f0;
  background:#f5f9ff;
  color:#2f4f6e;
  border-radius:999px;
  padding:4px 10px;
  font-size:.85rem;
  line-height:1;
  text-decoration:none;
}
.blog-tag:hover{
  background:#eaf2ff;
  border-color:#bfd3ea;
}
.blog-tags-block{
  margin-top: 8px;
}
.blog-tags-block h3{
  margin: 0 0 8px 0;
  font-size: 1rem;
  color: #0f3559;
}
.blog-empty-state{
  text-align:center;
  background:linear-gradient(180deg,#fbfdff 0%,#f4f9ff 100%);
}
.blog-empty-state h3,
.blog-empty-state p{
  margin:0 0 8px;
}
.blog-grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.blog-card{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:10px;
}
.blog-card-body{
  display:grid;
  gap:8px;
}
.blog-card-body p{
  margin:0;
  color:#42586e;
  line-height:1.55;
}
.blog-read-more{
  color:#0b4ea2;
  font-weight:700;
  text-decoration:none;
}
.blog-read-more:hover{
  text-decoration:underline;
}
.blog-side-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.blog-side-list li{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  border-bottom:1px dashed #d9e5ef;
  padding-bottom:7px;
}
.blog-side-list li:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.blog-side-list a{
  color:#0f3559;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.blog-side-list a:hover{
  text-decoration:underline;
}
.blog-category-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  flex:0 0 18px;
}
.blog-side-list span{
  color:#6f859a;
  font-size:.88rem;
}
.blog-side-list-compact li{
  align-items:center;
}
.blog-toc-card h3{
  margin:0 0 8px 0;
}
.blog-toc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:4px;
}
.blog-toc-item a{
  display:block;
  color:#1d3e5e;
  text-decoration:none;
  font-size:.92rem;
  padding:6px 8px;
  border-radius:8px;
}
.blog-toc-item a:hover{
  background:#eef5ff;
}
.blog-toc-item a.is-active{
  background:#e4efff;
  color:#0b4ea2;
  font-weight:700;
}
.blog-toc-item.level-h3 a{
  padding-left:18px;
  font-size:.88rem;
  color:#35516a;
}
.blog-toc-item.level-h4 a{
  padding-left:28px;
  font-size:.84rem;
  color:#4b6378;
}
.blog-toc-empty{
  margin:0;
  color:#6f859a;
  font-size:.88rem;
}
.blog-post h1{
  margin: 0;
  font-size: 2.45rem;
  line-height: 1.12;
  letter-spacing: -.02em;
}
.blog-post-lead{
  margin: 0;
  color:#486078;
  font-size:1.08rem;
  line-height:1.8;
}
.blog-content{
  color:#1f3144;
  line-height:1.7;
  font-size:1.03rem;
  display:grid;
  gap:12px;
}
.blog-content h2,
.blog-content h3,
.blog-content h4{
  margin: 18px 0 2px;
  color:#0f3559;
}
.blog-content p,
.blog-content ul,
.blog-content ol,
.blog-content blockquote,
.blog-content pre{
  margin:0;
}
.blog-content ul,
.blog-content ol{
  padding-left:18px;
}
.blog-content blockquote{
  border-left: 4px solid #b7cde5;
  background: linear-gradient(180deg, #f5f9ff 0%, #eef5ff 100%);
  padding: 14px 16px;
  border-radius: 0 12px 12px 0;
}
.blog-content pre{
  background:#0f172a;
  color:#e2e8f0;
  padding:10px 12px;
  border-radius:8px;
  overflow:auto;
}
.blog-post-cta{
  margin-top:14px;
  background: linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%);
  border-color:#d2e3f5;
}
.blog-post-cta h3{
  margin:0 0 6px;
}
.blog-post-cta p{
  margin:0 0 10px;
}
.blog-post-nav--premium,
.blog-similar-card{
  padding: 18px;
  border-color: #d7e4ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.blog-related-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.blog-related-list li{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.blog-post-nav h3{
  margin: 0 0 10px 0;
}
.blog-post-nav-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.blog-post-nav-item{
  border:1px solid #d9e5ef;
  border-radius:14px;
  background:#fbfdff;
  padding:12px 14px;
  display:grid;
  gap:6px;
}
.blog-post-nav-label{
  color:#5d7085;
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.blog-post-nav-item a{
  color:#0f3559;
  text-decoration:none;
  font-weight:700;
}
.blog-post-nav-item a:hover{
  text-decoration:underline;
}
.blog-post-nav-item small{
  color:#6f859a;
}
.blog-post-nav-empty{
  color:#7a8ea2;
}
.blog-post-nav-entry{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.blog-post-nav-thumb{
  display:block;
  border:1px solid #d7e5f1;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.blog-post-nav-thumb img{
  width:100%;
  height:56px;
  object-fit:cover;
  display:block;
}
.blog-post-nav-content{
  display:grid;
  gap:4px;
}
.blog-similar-grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.blog-similar-item{
  border:1px solid #d9e5ef;
  border-radius:14px;
  background:#fbfdff;
  padding:12px 14px;
}
.blog-similar-entry--premium{
  display:grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}
.blog-similar-thumb--premium{
  display:block;
  border:1px solid #d7e5f1;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.blog-similar-thumb--premium img{
  width:100%;
  height:84px;
  object-fit:cover;
  display:block;
}
.blog-similar-item--premium p{
  margin: 0;
  color: #4b6073;
  line-height: 1.5;
}
.blog-side-head{
  display:grid;
  gap:6px;
  margin-bottom: 10px;
}
.blog-side-kicker{
  display:inline-flex;
  width: fit-content;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #edf5ff;
  color: #0f4c81;
  font-size: .74rem;
  font-weight: 800;
}
.blog-side-head h3{
  margin: 0;
}
.blog-side-card--compact,
.blog-toc-card{
  padding: 16px;
  border-color: #d8e4ef;
}
.blog-similar-entry{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.blog-similar-thumb{
  display:block;
  border:1px solid #d7e5f1;
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}
.blog-similar-thumb img{
  width:100%;
  height:62px;
  object-fit:cover;
  display:block;
}
.blog-similar-content{
  display:grid;
  gap:6px;
}
.blog-similar-title{
  color:#0f3559;
  text-decoration:none;
  font-weight:700;
}
.blog-similar-title:hover{
  text-decoration:underline;
}
.blog-similar-item p{
  margin:0;
  color:#42586e;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.9em;
}
.blog-similar-item small{
  color:#6f859a;
}
.blog-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.blog-pagination p{
  margin:0;
  color:#50657a;
}
.blog-side-card h3{
  margin:0 0 10px;
}
.blog-side-cta{
  background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
}
.blog-side-cta p{
  margin:0 0 12px;
  color:#4f647a;
  line-height:1.6;
}
.blog-admin-filter{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  align-items:end;
  margin-bottom:12px;
}
.blog-cover-preview{
  display:grid;
  gap:8px;
}
.blog-cover-preview img{
  width:100%;
  max-height:180px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #d9e1e7;
}
.blog-cat-list{
  display:grid;
  gap:10px;
}
.blog-cat-item{
  border:1px solid #d9e1e7;
  border-radius:10px;
  padding:10px;
  background:#fbfdff;
}
.blog-category-icon-preview{
  display:flex;
  align-items:center;
  gap:10px;
}
.blog-category-icon-preview img{
  width:26px;
  height:26px;
  object-fit:contain;
  border:1px solid #d9e1e7;
  background:#fff;
  border-radius:6px;
  padding:3px;
}
.blog-media-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 10px;
  font-size:13px;
  font-weight:700;
  background:#edf3f9;
  border:1px solid #d6e2ee;
  color:#224864;
}
.status-pending{
  background:#fff6db;
  color:#8a6a00;
  border:1px solid #f5e7a8;
}
.status-ok{
  background:#e8f7ee;
  color:#1e7240;
  border:1px solid #bde3cb;
}
.blog-media-item{
  display:grid;
  gap:8px;
}
.blog-media-url{
  max-width:100%;
  overflow:auto;
}
.blog-media-url code{
  display:block;
  white-space:nowrap;
}
.blog-media-post-list{
  margin:0;
  padding-left:18px;
  color:#4c6278;
}
.blog-media-post-list a{
  color:#0f4d88;
  text-decoration:none;
}
.blog-media-post-list a:hover{
  text-decoration:underline;
}
.checkbox-field{
  display:flex;
  align-items:center;
  gap:8px;
}
.checkbox-field input[type="checkbox"]{
  width:18px;
  height:18px;
}
@media (max-width: 980px){
  .blog-hero-card{
    flex-direction:column;
    align-items:flex-start;
  }
  .blog-layout{
    grid-template-columns:1fr;
  }
  .blog-grid{
    grid-template-columns:1fr;
  }
  .blog-featured{
    grid-template-columns:1fr;
  }
  .blog-admin-filter{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .blog-post-nav-grid,
  .blog-similar-grid{
    grid-template-columns:1fr;
  }
  .blog-post-nav-entry{
    grid-template-columns:64px minmax(0,1fr);
  }
  .blog-post-nav-thumb img{
    height:50px;
  }
  .blog-post h1{
    font-size: 2rem;
  }
  .blog-similar-entry--premium{
    grid-template-columns: 84px minmax(0, 1fr);
  }
  .blog-similar-thumb--premium img{
    height: 68px;
  }
  .blog-similar-entry{
    grid-template-columns:64px minmax(0,1fr);
  }
  .blog-similar-thumb img{
    height:50px;
  }
}
@media (max-width: 640px){
  .blog-post--premium,
  .blog-post-nav--premium,
  .blog-similar-card,
  .blog-side-card--compact,
  .blog-toc-card{
    padding: 14px;
  }
  .blog-post h1{
    font-size: 1.8rem;
  }
  .blog-post-lead{
    font-size: 1rem;
  }
  .blog-search-form{
    grid-template-columns:1fr;
  }
  .blog-admin-filter{
    grid-template-columns:1fr;
  }
}

.listing-quality-box {
    border: 1px solid #c9d8ea;
    background: #f7fbff;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 2px 0 8px 0;
}

.listing-quality-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.listing-quality-header strong {
    font-size: 15px;
    color: #103d6f;
}

#listing_quality_score {
    font-weight: 700;
    color: #0b4f8a;
}

.listing-quality-bar {
    width: 100%;
    height: 8px;
    background: #e4edf8;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 8px;
}

#listing_quality_fill {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, #ef4444 0%, #f59e0b 50%, #10b981 100%);
    transition: width .25s ease;
}

.listing-quality-summary {
    margin: 0 0 8px 0;
    color: #355574;
    font-size: 13px;
}

.listing-quality-tips {
    margin: 0;
    padding-left: 18px;
    color: #2d4b66;
    font-size: 13px;
}

.listing-quality-box.score-low {
    border-color: #f5c2c2;
    background: #fff8f8;
}

.listing-quality-box.score-mid {
    border-color: #f1d5a8;
    background: #fffaf3;
}

.listing-quality-box.score-high {
    border-color: #b6e2c5;
    background: #f3fff7;
}

.wait-overlay {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(12, 22, 36, 0.38);
  backdrop-filter: blur(1.5px);
}

.wait-overlay.is-visible {
  display: flex;
}

.wait-overlay-card {
  width: min(460px, 94vw);
  border-radius: 14px;
  border: 1px solid #d7e3ef;
  background: #ffffff;
  box-shadow: 0 24px 44px rgba(15, 23, 42, 0.24);
  padding: 20px 18px;
  text-align: center;
}

.wait-overlay-card strong {
  display: block;
  font-size: 18px;
  color: #123a63;
  margin-bottom: 6px;
}

.wait-overlay-card p {
  margin: 0;
  color: #415a73;
  font-size: 14px;
}

.wait-overlay-spinner {
  width: 40px;
  height: 40px;
  margin: 0 auto 12px;
  border-radius: 999px;
  border: 4px solid #d4e3f3;
  border-top-color: #0b4ea2;
  animation: waitOverlaySpin .8s linear infinite;
}

@keyframes waitOverlaySpin {
  to { transform: rotate(360deg); }
}

body.is-waiting {
  cursor: progress;
}

.dashboard-profile-page {
  display: grid;
  gap: 18px;
}

.dashboard-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.9fr);
  align-items: stretch;
}

.dashboard-profile-hero-side {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-profile-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(140, 178, 214, .3);
}

.dashboard-profile-stat strong {
  font-size: 1.5rem;
  color: #0b3f73;
}

.dashboard-profile-stat span {
  font-size: .92rem;
  color: #587088;
}

.dashboard-profile-stat.is-complete {
  background: linear-gradient(135deg, rgba(32, 167, 99, 0.14), rgba(255,255,255,.85));
  border-color: rgba(32, 167, 99, .28);
}

.dashboard-profile-completion {
  margin-top: -2px;
}

.dashboard-profile-form {
  display: grid;
  gap: 18px;
}

.dashboard-profile-section {
  display: grid;
  gap: 14px;
}

.dashboard-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-section-head h3 {
  margin: 4px 0 0;
  font-size: 1.18rem;
}

.dashboard-section-note {
  margin: -4px 0 2px;
  color: #5b7085;
  font-size: .96rem;
}

.dashboard-profile-photo-row {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.dashboard-profile-photo-preview {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #d7e3ee;
  box-shadow: 0 10px 24px rgba(12, 58, 99, .08);
}

.dashboard-inline-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #355068;
  font-size: .95rem;
}

.dashboard-profile-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.dashboard-profile-actions .btn {
  min-width: 220px;
}

.dashboard-profile-form .dashboard-panel-card {
  border-radius: 22px;
}

.dashboard-profile-form .field-row.full {
  margin: 0;
}

.dashboard-profile-form label small {
  display: block;
  margin-top: 6px;
  color: #5a7289;
}

@media (max-width: 1100px) {
  .dashboard-profile-hero {
    grid-template-columns: 1fr;
  }

  .dashboard-profile-hero-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .dashboard-profile-hero-side {
    grid-template-columns: 1fr;
  }

  .dashboard-profile-actions {
    justify-content: stretch;
  }

  .dashboard-profile-actions .btn {
    width: 100%;
    min-width: 0;
  }
}

.dashboard-password-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.75fr);
  gap: 18px;
}

.dashboard-password-form {
  gap: 14px;
}

.dashboard-password-hint {
  display: block;
  margin-top: 6px;
  color: #5b7389;
  font-size: .93rem;
}

.dashboard-password-hint.is-success {
  color: #0f7a3b;
}

.dashboard-password-hint.is-error {
  color: #b42318;
}

.dashboard-password-tips {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 10px;
  color: #304a62;
}

.dashboard-password-tips li {
  line-height: 1.55;
}

@media (max-width: 980px) {
  .dashboard-password-grid {
    grid-template-columns: 1fr;
  }
}

.admin-dashboard-head,
.admin-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.admin-dashboard-head-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-kpi-grid--xl .admin-kpi-card {
  box-shadow: 0 10px 22px rgba(15, 76, 129, .06);
}

.admin-kpi-card--warning .admin-kpi-value { color: #b45309; }
.admin-kpi-card--success .admin-kpi-value { color: #15803d; }
.admin-kpi-card--danger .admin-kpi-value { color: #b91c1c; }

.admin-kpi-meta {
  margin: 6px 0 0;
  color: #62778b;
  font-size: .92rem;
}

.admin-section-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.admin-section-row h2 {
  margin: 0 0 4px;
}

.admin-section-row p {
  margin: 0;
  color: #60778a;
}

.admin-empty-copy {
  margin: 10px 0 0;
  color: #5d7387;
}

.admin-ops-card {
  margin-top: 14px;
}

.admin-ops-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

.admin-ops-grid .full {
  grid-column: 1 / -1;
}

.admin-toolbar-card {
  border-radius: 18px;
}

.admin-toolbar-grid {
  display: grid;
  gap: 12px;
  align-items: end;
}

.admin-toolbar-grid--users {
  grid-template-columns: 2fr 1fr 1fr 1fr auto;
}

.admin-toolbar-grid--moderation {
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr auto;
}

.admin-toolbar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-list-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.admin-bulk-bar {
  border-color: #d7e3ef;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.admin-table-spaced {
  margin-top: 10px;
}

.admin-pagination-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.admin-list-status-tabs {
  margin-bottom: 12px;
}

.wp-list-status-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.wp-list-status-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  text-decoration: none;
  color: #35536b;
  background: #f3f7fb;
  border: 1px solid #d5e2ef;
  font-weight: 700;
}

.wp-list-status-tabs a.active {
  color: #0f4c81;
  background: #e7f2ff;
  border-color: #b8d2ec;
}

.wp-list-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.wp-list-toolbar-left,
.wp-list-toolbar-right {
  display: flex;
  gap: 10px;
  align-items: end;
  flex-wrap: wrap;
}

.wp-list-toolbar-right input {
  min-width: 280px;
}

.wp-bulk-bar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.wp-bulk-bar-left,
.wp-bulk-bar-right {
  display: flex;
  gap: 10px;
  align-items: end;
  flex-wrap: wrap;
}

.wp-pagination-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.wp-pagination {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.wp-pagination-dots {
  color: #678096;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .admin-toolbar-grid--users,
  .admin-toolbar-grid--moderation {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 780px) {
  .admin-ops-grid {
    grid-template-columns: 1fr;
  }

  .admin-toolbar-grid--users,
  .admin-toolbar-grid--moderation {
    grid-template-columns: 1fr;
  }

  .admin-list-summary,
  .wp-pagination-card,
  .admin-pagination-card,
  .wp-bulk-bar,
  .wp-list-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .wp-list-toolbar-right input {
    min-width: 0;
    width: 100%;
  }
}
.admin-settings-kpi-grid {
  margin-bottom: 14px;
}
.admin-settings-form {
  margin-bottom: 16px;
}
.admin-settings-tabs {
  margin-bottom: 14px;
}
.admin-password-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  gap: 16px;
  align-items: start;
}
.admin-password-form {
  gap: 14px;
}
.admin-password-match {
  min-height: 22px;
  font-size: 0.92rem;
  color: #617588;
}
.admin-password-match.is-ok {
  color: #17824f;
  font-weight: 700;
}
.admin-password-match.is-error {
  color: #c74848;
  font-weight: 700;
}
.admin-password-tips ul {
  margin: 0;
  padding-left: 18px;
  color: #4c6275;
}
.admin-password-tips li + li {
  margin-top: 8px;
}
@media (max-width: 980px) {
  .admin-password-layout {
    grid-template-columns: 1fr;
  }
}

.member-profile-shell { align-items: start; }
.member-profile-hero-card { margin-bottom: 0; }
.member-profile-kv { margin-top: 0; }
.member-profile-about-card { margin-top: 0; }
.member-section-head { margin-bottom: 14px; }
.member-profile-about-text { margin: 0; }
.member-profile-sidebar { gap: 16px; }
.member-profile-sidebar .compact-list { display: grid; gap: 10px; }
.company-directory-search-card {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: end;
}
.company-directory-search-card .company-directory-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
}
.company-directory-search-card .company-directory-toggle input {
  width: 18px;
  height: 18px;
}
.company-directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.company-directory-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid #d7e3ee;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 14px 30px rgba(15, 38, 63, 0.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.company-directory-card.is-verified {
  box-shadow: 0 20px 40px rgba(11, 60, 108, 0.12);
}
.company-directory-card:hover {
  transform: translateY(-3px);
  border-color: #bfd4e6;
  box-shadow: 0 22px 42px rgba(15, 38, 63, 0.1);
}
.company-directory-media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid rgba(11, 60, 108, 0.08);
  background: linear-gradient(135deg, #f6f9fc 0%, #eef4f9 100%);
}
.company-directory-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .24s ease;
}
.company-directory-card:hover .company-directory-media img {
  transform: scale(1.02);
}
.company-directory-body {
  display: grid;
  gap: 16px;
  padding: 20px;
}
.company-directory-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.company-directory-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.company-directory-date {
  color: #5d7287;
  font-size: .84rem;
  font-weight: 700;
  white-space: nowrap;
}
.company-directory-badge-verified {
  background: rgba(18, 143, 77, 0.14);
  color: #128f4d;
}
.company-directory-badge-active {
  background: rgba(15, 93, 166, 0.12);
  color: #0f5da6;
}
.company-directory-brand {
  display: grid;
  gap: 6px;
}
.company-directory-title {
  margin: 0;
}
.company-directory-title a {
  color: #17324a;
}
.company-directory-sector {
  margin: 0;
  color: #48627a;
  font-weight: 700;
}
.company-directory-highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.company-directory-highlight {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid #dbe6ef;
  border-radius: 16px;
  background: #f8fbfe;
}
.company-directory-highlight strong {
  color: #17324a;
  font-size: .98rem;
  line-height: 1.35;
}
.company-directory-highlight small {
  color: #678096;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.company-directory-summary {
  margin: 0;
  color: #3e556a;
  line-height: 1.72;
  min-height: 4.9em;
}
.company-directory-kv {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.company-directory-kv p {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #dbe6ef;
  border-radius: 16px;
  background: #ffffff;
}
.company-directory-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
}
.company-directory-actions .btn {
  min-height: 46px;
  justify-content: center;
}
.pagination-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.pagination-info {
  color: #3c5672;
  font-weight: 700;
}
@media (max-width: 980px) {
  .member-profile-shell { grid-template-columns: 1fr; }
  .company-directory-search-card { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .company-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-directory-highlights,
  .company-directory-kv,
  .company-directory-actions {
    grid-template-columns: 1fr;
  }
}


.public-page-shell { display:grid; gap:20px; }
.public-page-hero { display:grid; gap:14px; padding:24px 26px; background:linear-gradient(160deg,#ffffff 0%,#f8fcff 58%,#eef7ff 100%); border-color:#d6e5f0; }
.public-page-hero-copy h1 { margin:0 0 8px; }
.public-page-hero-pills { display:flex; flex-wrap:wrap; gap:8px; }
.public-page-layout { display:grid; gap:18px; }
.public-page-layout.has-sidebar { grid-template-columns:minmax(0,1.25fr) 360px; align-items:start; }
.public-page-content-card { padding:24px 26px; }
.public-page-content { color:#243341; line-height:1.78; }
.public-page-form-card, .public-page-side-card { padding:22px; }
.public-page-section-head { margin-bottom:14px; }
.public-page-section-head h2, .public-page-side-card h3 { margin:0 0 6px; }
.public-page-section-head p { margin:0; color:var(--muted); }
.public-page-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.public-page-form-span { grid-column:1 / -1; }
.public-page-form-grid > div,
.public-page-form-span {
  display: grid;
  gap: 8px;
}
.public-page-form-grid label {
  color: #16374f;
  font-weight: 700;
  font-size: 0.96rem;
}
.public-page-form-grid input,
.public-page-form-grid select,
.public-page-form-grid textarea {
  width: 100%;
  border: 1px solid #d3e1ec;
  border-radius: 12px;
  padding: 12px 14px;
  font: inherit;
  color: #18354a;
  background: #fbfdff;
  min-height: 48px;
  display: block;
  box-sizing: border-box;
}
.public-page-form-grid textarea {
  min-height: 180px;
  resize: vertical;
}
.public-page-form-grid input:focus,
.public-page-form-grid select:focus,
.public-page-form-grid textarea:focus {
  outline: none;
  border-color: #0c7a83;
  box-shadow: 0 0 0 4px rgba(12, 122, 131, 0.12);
}
.public-page-side-list { display:grid; gap:12px; }
.public-page-side-list p { margin:0; display:grid; gap:4px; padding:12px 14px; border:1px solid #dbe7ef; border-radius:12px; background:#fbfdff; }
.public-page-side-list strong { color:var(--primary); }
.public-page-side-list span { color:#314556; }
.public-page-alert { border:1px solid #ffd699; background:#fff8ea; border-radius:14px; padding:16px; display:grid; gap:12px; }
.public-page-alert p { margin:0; color:#6c4a09; }
.public-page-action-row { display:flex; gap:10px; flex-wrap:wrap; }
.public-page-hero--contact {
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  align-items: end;
  padding: 28px 30px;
  background:
    radial-gradient(circle at top right, rgba(12, 122, 131, 0.14), transparent 34%),
    linear-gradient(150deg, #ffffff 0%, #f8fcff 55%, #eef6ff 100%);
}
.contact-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: 18px;
  align-items: start;
}
.contact-page-primary,
.contact-form-shell {
  padding: 24px;
}
.contact-page-section-head {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}
.contact-page-section-head h2,
.contact-page-story-copy h3 {
  margin: 0;
}
.contact-page-section-head p,
.contact-page-story-copy p {
  margin: 0;
  color: #4a6072;
  line-height: 1.7;
}
.contact-page-highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.contact-page-highlight-card {
  padding: 16px;
  border: 1px solid #dbe7ef;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  display: grid;
  gap: 8px;
}
.contact-page-highlight-card strong {
  color: #123d5c;
}
.contact-page-highlight-card p {
  margin: 0;
  color: #4b6172;
  line-height: 1.6;
}
.contact-page-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.7fr);
  gap: 18px;
  padding: 20px;
  margin-bottom: 16px;
  border-color: #d9e7ef;
  background: linear-gradient(145deg, #ffffff 0%, #f7fbff 100%);
}
.contact-page-list {
  margin: 12px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: #294153;
}
.contact-page-insight {
  margin-top: 16px;
  padding: 16px 18px;
  border: 1px solid #dbe7ef;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  color: #294153;
  line-height: 1.72;
}
.contact-page-insight > *:first-child {
  margin-top: 0;
}
.contact-page-insight > *:last-child {
  margin-bottom: 0;
}
.contact-page-story-meta {
  display: grid;
  gap: 12px;
}
.contact-page-metric {
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid #dbe7ef;
  background: #fbfdff;
  display: grid;
  gap: 4px;
}
.contact-page-metric span {
  color: #6a7f90;
  font-size: 0.9rem;
}
.contact-page-metric strong {
  color: #123d5c;
}
.contact-page-channel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.contact-page-ops-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.contact-page-op-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px;
  border: 1px solid #dbe7ef;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
}
.contact-page-op-no {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0c7a83;
  color: #ffffff;
  font-weight: 800;
  flex: 0 0 34px;
}
.contact-page-op-card strong {
  display: block;
  margin-bottom: 4px;
  color: #123d5c;
}
.contact-page-op-card p {
  margin: 0;
  color: #4a6072;
  line-height: 1.55;
}
.contact-page-faq-grid {
  margin-bottom: 0;
}
.contact-page-faq-card {
  min-height: 100%;
}
.contact-channel-card {
  display: flex;
  gap: 12px;
  align-items: start;
  padding: 16px;
  border: 1px solid #dbe7ef;
  border-radius: 16px;
  background: #ffffff;
}
.contact-channel-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(12, 122, 131, 0.12);
  color: #0c7a83;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex: 0 0 42px;
}
.contact-channel-card strong {
  display: block;
  margin-bottom: 4px;
  color: #123d5c;
}
.contact-channel-card p {
  margin: 0;
  color: #4a6072;
  line-height: 1.5;
}
.contact-form-shell {
  display: grid;
  gap: 16px;
  position: static;
  top: auto;
  padding: 24px;
  align-self: start;
  height: auto;
  max-height: none;
  overflow: visible;
  border-color: #d7e5ef;
  background:
    radial-gradient(circle at top right, rgba(12, 122, 131, 0.10), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
  box-shadow: 0 18px 34px rgba(15, 76, 129, 0.08);
}
.contact-form-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.contact-form-badge,
.contact-form-meta,
.contact-form-footer-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
}
.contact-form-badge {
  background: rgba(12, 122, 131, 0.12);
  color: #0c7a83;
}
.contact-form-meta {
  background: #eef6ff;
  color: #29506b;
}
.contact-form-trust {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #dbe7ef;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
}
.contact-form-trust-item {
  display: grid;
  gap: 4px;
}
.contact-form-trust-item strong {
  color: #123d5c;
}
.contact-form-trust-item span {
  color: #4a6072;
  line-height: 1.5;
}
.contact-page-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.contact-page-field,
.contact-page-form-grid .public-page-form-span {
  display: grid;
  gap: 8px;
}
.contact-page-field label,
.contact-page-form-grid .public-page-form-span label {
  color: #16374f;
  font-weight: 700;
  font-size: 0.96rem;
}
.contact-page-form-grid input,
.contact-page-form-grid textarea {
  width: 100%;
  min-height: 48px;
  display: block;
  box-sizing: border-box;
  background: #fbfdff;
  border-color: #d6e4ee;
}
.contact-page-form-grid textarea {
  min-height: 180px;
  resize: vertical;
}
.contact-page-form-grid input:focus,
.contact-page-form-grid textarea:focus {
  outline: none;
  border-color: #0c7a83;
  box-shadow: 0 0 0 4px rgba(12, 122, 131, 0.12);
}
.contact-page-form-note {
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(12, 122, 131, 0.08);
  color: #284255;
  line-height: 1.6;
}
.contact-page-submit {
  width: 100%;
  justify-content: center;
  min-height: 50px;
}
.contact-form-footer-note {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.contact-form-footer-pill {
  border: 1px solid #d8e4ee;
  background: #fbfdff;
  color: #35526a;
}
.public-page-hero--report {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  align-items: end;
  padding: 28px 30px;
  background:
    radial-gradient(circle at top right, rgba(255, 162, 0, 0.12), transparent 34%),
    linear-gradient(150deg, #ffffff 0%, #fffaf3 52%, #f5f9ff 100%);
}
.report-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: 18px;
  align-items: start;
}
.report-page-primary,
.report-form-shell {
  padding: 24px;
}
.report-page-section-head {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}
.report-page-section-head h2,
.report-page-story-copy h3 {
  margin: 0;
}
.report-page-section-head p,
.report-page-story-copy p {
  margin: 0;
  color: #4a6072;
  line-height: 1.7;
}
.report-page-highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.report-page-highlight-card {
  padding: 16px;
  border: 1px solid #e6ddcf;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf3 100%);
  display: grid;
  gap: 8px;
}
.report-page-highlight-card strong {
  color: #123d5c;
}
.report-page-highlight-card p {
  margin: 0;
  color: #4b6172;
  line-height: 1.6;
}
.report-page-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.7fr);
  gap: 18px;
  padding: 20px;
  margin-bottom: 16px;
  border-color: #e3ddcf;
  background: linear-gradient(145deg, #ffffff 0%, #fffaf4 100%);
}
.report-page-list {
  margin: 12px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: #294153;
}
.report-page-story-meta {
  display: grid;
  gap: 12px;
}
.report-page-metric {
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid #e8decb;
  background: #fffdf9;
  display: grid;
  gap: 4px;
}
.report-page-metric span {
  color: #7b836f;
  font-size: 0.9rem;
}
.report-page-metric strong {
  color: #123d5c;
}
.report-form-shell {
  display: grid;
  gap: 16px;
  position: sticky;
  top: 110px;
  background: linear-gradient(180deg, #ffffff 0%, #fffdf9 100%);
}
.report-page-form-grid {
  gap: 16px;
}
.report-page-form-grid input,
.report-page-form-grid textarea,
.report-page-form-grid select {
  background: #fffdf9;
  border-color: #e1ddd3;
}
.report-page-form-note {
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 162, 0, 0.1);
  color: #5c4420;
  line-height: 1.6;
}
.report-page-submit {
  width: 100%;
  justify-content: center;
  min-height: 50px;
}
.public-page-hero--features {
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  align-items: end;
  padding: 28px 30px;
  background:
    radial-gradient(circle at top right, rgba(12, 122, 131, 0.11), transparent 34%),
    linear-gradient(150deg, #ffffff 0%, #f6fbff 52%, #eef7ff 100%);
}
.features-showcase-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 18px;
  align-items: start;
}
.features-showcase-main,
.features-showcase-side {
  padding: 24px;
}
.features-showcase-head {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}
.features-showcase-head h2 {
  margin: 0;
}
.features-showcase-head p {
  margin: 0;
  color: #4a6072;
  line-height: 1.7;
}
.features-showcase-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.features-showcase-stat {
  padding: 16px;
  border: 1px solid #dbe7ef;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
  display: grid;
  gap: 6px;
}
.features-showcase-stat strong {
  font-size: 1.05rem;
  color: #123d5c;
}
.features-showcase-stat span {
  color: #52687a;
  line-height: 1.5;
}
.features-group-list {
  display: grid;
  gap: 12px;
}
.features-group-card {
  padding: 16px;
  border: 1px solid #dbe7ef;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.features-group-card h3 {
  margin: 0 0 10px;
  color: #123d5c;
}
.features-group-card ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: #314556;
}
.features-outcome-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.features-outcome-card {
  padding: 20px;
  background: linear-gradient(160deg, #ffffff 0%, #f7fbff 100%);
  border-color: #dce8f1;
}
.features-outcome-card h3 {
  margin: 0 0 10px;
}
.features-outcome-card p {
  margin: 0;
  color: #4a6072;
  line-height: 1.7;
}
@media (max-width: 980px) {
  .public-page-layout.has-sidebar { grid-template-columns:1fr; }
  .public-page-hero--contact,
  .public-page-hero--report,
  .public-page-hero--features,
  .contact-page-grid,
  .contact-page-story,
  .contact-page-highlight-grid,
  .contact-page-ops-grid,
  .contact-page-channel-grid,
  .report-page-grid,
  .report-page-story,
  .report-page-highlight-grid,
  .features-showcase-grid,
  .features-showcase-stats,
  .features-outcome-grid {
    grid-template-columns: 1fr;
  }
  .contact-form-shell {
    position: static;
  }
  .report-form-shell {
    position: static;
  }
}
@media (max-width: 640px) {
  .public-page-hero, .public-page-content-card, .public-page-form-card, .public-page-side-card { padding:18px; }
  .public-page-form-grid { grid-template-columns:1fr; }
  .contact-page-form-grid { grid-template-columns:1fr; }
  .public-page-hero--contact,
  .public-page-hero--report,
  .public-page-hero--features,
  .contact-page-primary,
  .contact-form-shell,
  .report-page-primary,
  .report-form-shell,
  .features-showcase-main,
  .features-showcase-side {
    padding: 20px 18px;
  }
  .contact-channel-card,
  .contact-page-highlight-card,
  .contact-page-metric,
  .report-page-highlight-card,
  .report-page-metric,
  .features-showcase-stat,
  .features-group-card,
  .features-outcome-card {
    padding: 14px;
  }
}


.public-page-layout.is-features { grid-template-columns:1fr; }
.public-features-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:18px; }
.public-feature-card { padding:18px; border-color:#dbe8f1; background:linear-gradient(155deg,#ffffff 0%,#f8fcff 58%,#f1f8ff 100%); }
.public-feature-pill { margin-bottom:10px; }
.public-feature-card h3 { margin:0 0 8px; font-size:1.05rem; }
.public-feature-card p { margin:0; color:#314556; line-height:1.6; }
.public-feature-flow-card { margin-top:18px; padding:22px; }
.public-feature-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.public-feature-step { display:flex; gap:12px; align-items:flex-start; padding:16px; border:1px solid #dbe7ef; border-radius:14px; background:#fbfdff; }
.public-feature-step-no { width:32px; height:32px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:#0c7a83; color:#fff; font-weight:800; flex:0 0 32px; }
.public-feature-step strong { display:block; margin-bottom:4px; color:#123d5c; }
.public-feature-step p { margin:0; color:#455a6b; line-height:1.55; }
@media (max-width: 980px) {
  .public-features-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-feature-steps { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .public-features-grid { grid-template-columns:1fr; }
}


.features-page-shell .home-kpi-grid,
.features-page-shell .home-module-grid,
.features-page-shell .feature-stack-grid {
  margin-top: 8px;
}
.material-symbols-rounded {
  font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
  line-height: 1;
}
.features-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 22px;
  align-items: end;
  padding: 28px 30px;
  background:
    radial-gradient(circle at top right, rgba(12, 122, 131, 0.14), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f8fcff 55%, #eef6ff 100%);
  border-color: #d8e7f1;
}
.features-hero-card h1 {
  margin: 0 0 10px;
  font-size: clamp(2rem, 2.8vw, 3.1rem);
  line-height: 1.08;
  color: #0d2f54;
}
.features-hero-card p {
  margin: 0;
  color: #496175;
  font-size: 1.03rem;
  line-height: 1.72;
  max-width: 760px;
}
.features-hero-copy {
  display: grid;
  gap: 12px;
}
.features-hero-points {
  display: grid;
  gap: 10px;
}
.features-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid #d8e7f1;
  background: rgba(255, 255, 255, 0.84);
  color: #21455f;
  font-weight: 700;
}
.features-hero-points .material-symbols-rounded {
  font-size: 22px;
  color: #0c7a83;
}
.features-kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.features-kpi-card {
  position: relative;
  overflow: hidden;
  gap: 8px;
  min-height: 150px;
  padding: 20px 18px;
  border-color: #d8e7f1;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.features-kpi-card::after {
  content: "";
  position: absolute;
  inset: auto -24px -24px auto;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(12, 122, 131, 0.10) 0%, rgba(12, 122, 131, 0) 68%);
}
.features-kpi-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(12, 122, 131, 0.12);
  color: #0c7a83;
}
.features-kpi-icon .material-symbols-rounded {
  font-size: 24px;
}
.feature-stack-card {
  display: grid;
  gap: 12px;
  padding: 20px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.feature-stack-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.feature-stack-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(11, 78, 162, 0.10);
  color: #0b4ea2;
  font-size: 24px;
}
.feature-stack-list {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #284255;
  display: grid;
  gap: 10px;
}
.feature-stack-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.55;
}
.feature-stack-list .material-symbols-rounded {
  color: #148457;
  font-size: 20px;
  margin-top: 1px;
}
.features-module-card {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border-color: #d8e7f1;
  background: linear-gradient(160deg, #ffffff 0%, #f8fcff 100%);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.features-module-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #0c7a83 0%, #0b4ea2 100%);
}
.features-module-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  background: rgba(12, 122, 131, 0.10);
  color: #0c7a83;
}
.features-module-icon .material-symbols-rounded {
  font-size: 28px;
}
.features-module-card--teal::before { background: linear-gradient(90deg, #0c7a83 0%, #11a39f 100%); }
.features-module-card--blue::before { background: linear-gradient(90deg, #0b4ea2 0%, #3b82f6 100%); }
.features-module-card--violet::before { background: linear-gradient(90deg, #6d28d9 0%, #8b5cf6 100%); }
.features-module-card--amber::before { background: linear-gradient(90deg, #d97706 0%, #f59e0b 100%); }
.features-module-card--emerald::before { background: linear-gradient(90deg, #047857 0%, #10b981 100%); }
.features-module-card--rose::before { background: linear-gradient(90deg, #be185d 0%, #f43f5e 100%); }
.features-module-card--slate::before { background: linear-gradient(90deg, #334155 0%, #64748b 100%); }

.features-module-icon--teal { background: rgba(12, 122, 131, 0.12); color: #0c7a83; }
.features-module-icon--blue { background: rgba(59, 130, 246, 0.12); color: #2563eb; }
.features-module-icon--violet { background: rgba(139, 92, 246, 0.14); color: #7c3aed; }
.features-module-icon--amber { background: rgba(245, 158, 11, 0.14); color: #d97706; }
.features-module-icon--emerald { background: rgba(16, 185, 129, 0.14); color: #059669; }
.features-module-icon--rose { background: rgba(244, 63, 94, 0.14); color: #e11d48; }
.features-module-icon--slate { background: rgba(100, 116, 139, 0.14); color: #475569; }

.features-module-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  transition: gap .18s ease, color .18s ease;
}
.features-module-card a::after {
  content: "→";
  font-size: 1rem;
  line-height: 1;
}
.features-journey-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.features-journey-card {
  padding: 20px;
  border-color: #dbe7ef;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.features-journey-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.features-journey-head .material-symbols-rounded {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 122, 0, 0.10);
  color: #ff7a00;
  font-size: 24px;
}
.features-journey-head h3 {
  margin: 0;
}
.features-journey-list {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 10px;
  color: #32495b;
}
.features-journey-list li::marker {
  font-weight: 800;
  color: #0c7a83;
}
.features-kpi-card:hover,
.features-kpi-card:focus-within,
.feature-stack-card:hover,
.feature-stack-card:focus-within,
.features-module-card:hover,
.features-module-card:focus-within,
.features-journey-card:hover,
.features-journey-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 18px 34px rgba(15, 76, 129, 0.10);
  border-color: #c8dceb;
}
.feature-stack-card:hover .feature-stack-icon,
.feature-stack-card:focus-within .feature-stack-icon {
  transform: scale(1.04);
}
.features-module-card:hover a,
.features-module-card:focus-within a {
  gap: 12px;
}
.features-module-card:hover .features-module-icon,
.features-module-card:focus-within .features-module-icon,
.features-journey-card:hover .features-journey-head .material-symbols-rounded,
.features-journey-card:focus-within .features-journey-head .material-symbols-rounded {
  transform: translateY(-2px);
}
.feature-stack-icon,
.features-module-icon,
.features-journey-head .material-symbols-rounded {
  transition: transform .18s ease;
}

@media (max-width: 980px) {
  .features-hero-card,
  .features-journey-grid {
    grid-template-columns: 1fr;
  }
  .features-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .features-hero-card,
  .features-kpi-card,
  .feature-stack-card,
  .features-module-card,
  .features-journey-card {
    padding: 18px;
  }
  .features-kpi-grid {
    grid-template-columns: 1fr;
  }
}


.error-page-shell { gap: 18px; }
.error-page-hero { text-align: left; }
.error-page-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.error-page-card { display: grid; gap: 12px; }
.error-page-card .btn { width: fit-content; }
@media (max-width: 980px) {
  .error-page-grid { grid-template-columns: 1fr; }
}


@media (max-width: 980px) {
  .grid.three.home-latest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .grid.three.home-latest-grid { grid-template-columns: 1fr; }
}
